小さな紹介
![画像](https://habrastorage.org/getpro/habr/post_images/2d2/71e/397/2d271e397c51cbf3f2301e0fcd901d80.png)
Sense Cognitionは革新的な新興企業であり、2013年9月末にのみ設立されました。 しかし、開発は強力な人工知能の分野での15年以上の研究に基づいています。
認識の分野では、ますます進歩が進んでいますが、残念ながら、コンピューターはまだ何を、なぜ認識するのか理解していません。
今日、おそらくパターン認識に興味のある人なら誰でも「祖母のニューロン」について聞いたことがあり、一般化問題とそれを解決するいくつかのアプローチについて知らない人をトピックで見つけるのは困難です。
この記事のフレームワーク内では、既存のアプローチを検討することは意図されていませんが、著者のアプローチのみが提案されます。
なぜ一般化する必要があり、意味の認識はそれと何の関係があるのでしょうか?
![](https://habrastorage.org/getpro/habr/post_images/ac2/b16/2f6/ac2b162f65e3dba0da5350a1804d3fde.jpg)
質問の最初の部分(なぜ一般化すべきか)は、純粋に技術的に最もよく答えられます。一般化は認識の複雑さを大幅に減らします。 汎化をマルチレベル構造として提示する場合、高レベルでは、認識された状況の最も一般的なコンテキストが得られます。 そして、このコンテキストは通常、最も揮発性が低いです。 彼の変更は、階層の下位レベルからの可変特性のかなり薄いストリームであることが判明しました。
そしてここで、この階層は意味の階層であるため、質問の2番目の部分(意味の認識はそれとどう関係するのか)に対する答えも生じます。
はい、意味は、この言葉にどんな種類のアイデアやアイデアが埋め込まれていても、その洗練された本質には、状況の階層的なアイデアしかありません。
言語は意識の反映です
人間の心は継続的に分類されるメカニズムであり、その目的は、さまざまな状況、それらの間の移行、およびこれらすべての状況の最も一定したコンポーネントの理解を向上させることです。 結局のところ、人々が人生の意味をとても心配しているのは、何のためでもありません。 人生の意味は、人生のさまざまな状況全体を最もよくカバーするようなアイデアのサポートを見つけたいという願望です。
人間はすでに意味の階層の非常に優れたモデルを作成しており、このモデルは言語です。 より具体的には、思考の表現の書面形式。 書き言葉を作成する前は、この構造はそれほど明確かつ正確に定式化および表現されていませんでした。
書くことは、最低レベルの意味で別々の文字を持ちます。
これらの文字は単語になります。
単語は基本的なフレーズに追加されます(サブジェクトレベル-述語)
フレーズは文と段落全体を追加します
段落は章またはパーツに追加されます
チャプターとパーツはボリュームに、ボリュームはシリーズに、シリーズはライブラリに追加されます
このモデルはさまざまな方法で分類できますが、階層の概念はよく保存されています。 さまざまな組織化手法を導入できます(トピック別、著者別、キャラクター別など)。これはすべて、一般化メカニズムが人間の心の中でどのように機能するかを反映しています。
ここでは、人間の意識に関していくつかの点を明確にするだけで済みます。 人工知能のインスタンスとして個々の人格をシミュレートしようとするとき、研究者はしばしば同じ間違いをします。 タスク自体は非常に正しいですが、それを解決するために、研究者は検討中の領域-意識-を個人の意識のはかない考えに絞り込みます。 しかし、そのような現実は見つかりません。
意識は、その起源全体を考慮すべきです。 この完全性には、各個人のコミュニケーションの発散する円と、生まれたときから多くの思考を知覚するプロセスが含まれます。 それから、意味の基本単位は心の別のインスタンスに属さず、多くの世代をカバーし、社会における独自のかなり複雑な形態を持っていることがわかります。
しかし、哲学を深く見すぎないようにしましょう。
この改良の目的は、別の脳で生じるような未知の何かとしての意味の考えを、知覚および認識できる何かとしての意味の考えに切り替えることだけです。 私たちの周りの意味とコミュニケーションは、意味の認識と表現です。
もっと言いましょう。私たちは、コミュニケーションに役立つ正確な意味に興味があります。 なぜこれがそうであるかは、生命が一般的にどのように現れたか(例えば、真核生物の形成におけるオルガネラの共生)と、このプロセスにおけるコミュニケーションの役割についての別の大きな議論の問題です。
実際、意味をどのように認識するのでしょうか?
良い知らせから始めたいと思います。 テキストファイルを使用する場合は、意味を認識するのにすでに素晴らしい仕事をしています。 テキストファイルは文字で構成され、すべての文字は適切にエンコードされ、このエンコードは干渉に対して非常に堅牢です。
これらのまさにテキストで、これらのまさにシンボルから始めて、一般化のタスクしかありません。
最初のシンボルを取得した場合、2番目のレベルの意味を想像してください。
もちろん、これらは言葉です。 言葉は明らかに非常に安定した意味を持っています。 ここでは、単語の部分(ルート、前置詞、接尾辞、語尾など)に関してかなり深刻な議論が生じる場合があります。
はい、単語の形成は間違いなく分析の別のタスクですが、この場合、分類子にとっては、それらの適用の実践における類似の単語の安定した意味が重要です。 そのため、ここではこの議論を省略し、単語の意味、検出方法、句読点がどのように有害であるか、特に文字を単語に一般化するタスクのスペースについて考えます。
そもそも、純粋に統計的には、単語は文字の頻繁な組み合わせです。 これらの組み合わせは非常に安定しており、シンボルのわずかに異なる組み合わせよりもはるかに頻繁に見つかります。
そして、ここでモデリングで考慮しなければならない重要なポイントがあります。 テキストファイルのテキストには明確な区切り文字が含まれていますが、人が出生時から非常に長い間遭遇する話し言葉の意味の単位は、明示的な区切り文字のないフレーズ全体です。 連続的なスピーチは、単に認識を困難にするだけではありません。 また、知覚の仕事で重要なものが含まれています。書かれたテキストだけで作業する場合、この重要なことは気づかれず、実装されず、次のステップですでに単語をフレーズに要約するためのアルゴリズムを考え出す必要があります。 そして、これはハックです。
したがって、最初から、一般化アルゴリズムには、テキストの出現に関する自律的および相互統計を除き、シンボルに関するその他の情報はありません。
相互統計には、アルゴリズムの主要なメカニズムがあります。 特定のシンボルが表示される場合、他のシンボルは異なる確率でその近傍に期待されます。
この例を単純化するために、バイナリツリーを構築できます。 MOTHER SOAP FRAMEの行では、キャラクターのペアごとに、確認と反論の相互統計を決定できます。
たとえば、M ... Aは2回確認され、Mから3回、Aから2回反論されます。
各ペアにインデックスを割り当ててから、トリプルおよび4倍の文字の統計を収集できます。 2つのペアで1つの文字が一致する場合、トリプルが取得されます。たとえば、RAがAMに、R.MがR ... Uになります。
したがって、遷移の統計は、十分に大きな汎化まで構築されます。
遷移スキームをX [レベル+ 1] [インデックスK] =遷移(X [レベル] [インデックスM]、X [レベル] [インデックスN])として指定できます。このような遷移ごとに、確認の数と数の2つの追加値があります反論。
その結果、テキストおよびテキストのフラグメントは、特定のX [A] [i]として定義されます。
それぞれの瞬間に、新しく研究されたテキストは、それが特定の一般化候補のセットを参照しているとすぐに仮説を立てます。
簡単に言えば、新しいテキストは文字ごとに読み取られるのではなく、関連するこれらの候補の最も速いチェックによって決定された順序で文字が選択されます。
したがって、分類器にどのテキストを入力しても、関連する一般化の候補の絶えず変化するセットからコンテキストを取得します。 同時に、分類器はテキスト処理で非常に特定の動作を表現し、既知のテキストからこのテキストに適用できる一般化を推測しようとします。
アルゴリズム推定
最初にすべてのペア、次にすべてのトリプルフォース、次にすべての6-7セブンのレベルごとに単純に統計を収集した場合、そのようなアルゴリズムは、テキストの先頭からの距離で文字の各ペアをカウントして、すでに第2レベルで数兆のペアを生成しますそして最後まで。
しかし、私たちのアルゴリズムは貪欲であり、すでに最初の数百の文字で数百レベルの一般化を構築し、このため、可能なすべての文字ペアの連続的な構築はありません。
アルゴリズムの実際の複雑さを評価することは、現在の研究の主要なタスクです。
これについては年末年始の後に話します。