JP7104481B2 - 人工ニューラル・ネットワークにおける時間プーリングおよび相関 - Google Patents

人工ニューラル・ネットワークにおける時間プーリングおよび相関 Download PDF

Info

Publication number
JP7104481B2
JP7104481B2 JP2020514515A JP2020514515A JP7104481B2 JP 7104481 B2 JP7104481 B2 JP 7104481B2 JP 2020514515 A JP2020514515 A JP 2020514515A JP 2020514515 A JP2020514515 A JP 2020514515A JP 7104481 B2 JP7104481 B2 JP 7104481B2
Authority
JP
Japan
Prior art keywords
feed
correlator
input
inputs
forward inputs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020514515A
Other languages
English (en)
Other versions
JP2020534595A (ja
JP2020534595A5 (ja
Inventor
スコット、ジョン、キャンプベル
イマイノ、ウェイン、イサミ
オズカン、アーメット、セルカン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020534595A publication Critical patent/JP2020534595A/ja
Publication of JP2020534595A5 publication Critical patent/JP2020534595A5/ja
Application granted granted Critical
Publication of JP7104481B2 publication Critical patent/JP7104481B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明は、包括的には、人工ニューラル・ネットワークの分野に関する。より詳細には、本発明は、人工ニューラル・ネットワークにおける時間プーリングおよび相関のための計算方法に関する。
人工ニューラル・ネットワーク(ANN)は、人工知能における問題、特に、処理に大量のデータおよび長時間を要する問題に対処するのにますます成功を収めている。そのようなネットワークは、通常、階層形式で編成され、データは、階層の下位レベルから上位レベルまでフィード・フォワードされる。図1は、3つのレベルにおける7つの領域からなる階層ネットワークの例を示し、ここで、実線の矢印は、下位レベルから上位レベルへのデータのフィード・フォワード経路を示し、受信側の領域は、下位から到来するデータをプールし、相関付ける(互いに関係付ける)。最も単純な事例では、データは静的な特徴を表し、ネットワークの役割は、特定の特徴または特徴のセットが存在することをシグナリングすることである。任意選択により、信号は、階層の下方にフィードバックし(図1における点線の矢印)、下位領域が入力を処理する際に、下位領域に追加のコンテキストを与えることができる。
特定の例として、いくつかのピクセルからなる静止画像を検討する。各ピクセル、色および(相対)位置に関するデータが「プール」され、すなわち、組み合わされて複合データセットとされ、階層の最下位レベルにフィードされる。本発明の記載において、異なるソースからのデータのマージまたは組合せを示すために、プール、プールされる、プーリング等の用語を用いる。
特定のピクセルが黒であり、その上下のピクセルも黒であるが、3つ全ての左右のピクセルが白である場合、3つのピクセルは合わせて垂直線(の一部)を示す。これが頻繁に発生するパターンであるという意味で、9つ全てのピクセル(3つの黒および6つの白)が相関付けられる。階層内の最下位領域は、それらのプールされたデータを相関付けて、各特定の特徴の(新たな)表現を形成する。垂直線の表現は、階層の次のレベルに上方に渡され、ここで、例えば水平線と組み合わせることができる。それらの相対ロケーションに依拠して、これらの2つの特徴は合わせて、L字型角部、+符号のような交差、T字形状またはおそらくは文字Eの一部等の、より複雑な特徴の一部を形成することができる。そのような合成の連続ステップによって、階層ネットワークのより上位レベルにおいて、ますます複雑な特徴が表される。
ほとんどの場合のようにデータが時間的に連続している場合、ネットワークは、物体を認識するのみでなく、物体がどのように動いているか、したがって次にどこに行く可能性が高いかも認識するべきである。ボールが観察者に向かって投げられる事例を検討する。静的表現は非常に単純であり、単なる円である。しかしながら、時間が経過すると、円が大きくなり、視野内のその位置が変化するか、もしくは背景に対する位置が変化するか、または双方が変化する可能性がより高い。観察者は、この連続した入力データからボールの動きを特定し、ボールが観察者にいつ到達するかを推定することができ、おそらくは、ボールを回避する、ボールをキャッチする、ボールを打つ等のために行わなくてはならないことを特定する。
この時間依存データを処理するネットワークは、より複雑な表現を形成しなくてはならない。最下位レベルにおいて、特徴は依然として円のみとして表すことができるが、その円の属性(そのサイズおよび位置)が変化しており、時間的に連続した観測がまとめられて、「ボール接近中」が示される。
簡潔に言うと、ANNは、幾分脳のニューロンのように機能するようにプログラムされた複数の「ノード」を含む。各ノードは、シナプスとして機能する接続を通じて多くの他のノードに接続される。各ノードの活性は、そのシナプスの各々に軸索を介して渡される。シナプスは、活性のどれ位が目標ノードの樹状突起に渡されるかを示す特定の重みを割り当てられる。数学的に、これは積xijとして表され、ここで、xは、レベルxにおけるノードiの活性であり、wijは、ノードiおよびjを接続するシナプスの重みであり、ここで、jは、ノードyを有する階層の異なるレベルのインデックスである。各ノードの基本動作は、そのノードが接続されている全てのノードからの重み付けされた入力を合算し、次に、非線形(「スカッシング」または閾値)関数(σ)を適用して自身の活性、すなわちy=σ(Σij)を特定することである。誤差またはコスト関数を最小化するために、重み(w)を調整することによって学習が達成される。
静的ANNは、単に、階層を通じてデータを上方にフィードする。リカレント・ニューラル・ネットワーク(RNN)において、時間依存の挙動は、ネットワーク内の各ノードの時点tにおける出力活性を取り、これを(潜在的に)任意の他のノードの時点t+1における入力にルーティングすることによって処理される。時間と共に変動する出力がどこにルーティングされるかに依拠して、RNNの多くの変形形態が存在する。RNNは、時間と共に変動するデータの分析において有用であることが証明されたが、「ボール接近中」等の明確な意味論的意味を有する表現を形成するようには設計されていない。
HawkinsおよびNumenta社における彼の同僚によって、非常に異なるタイプの階層ネットワークが説明されている。基本的に、彼らは複数のネットワークからなるネットワークについて説明している。「領域」と呼ぶサブネットワーク(図1を参照)は、哺乳類の大脳皮質の層およびミニ円柱に対応する構造で配置された多くのニューロンを含む。ニューロンの各層は、認知機能の特定の組を担当する。特に、脳の皮層4(L4)に関して、その樹状突起が階層の下位レベルおよび視床のコア細胞からボトムアップ・データを受け取るニューロンが存在する。L4樹状突起のシナプスの重みを変更するヘッブの学習法則により、入力間の相関が導かれ、すなわち、同時に活性である複数の軸索が、同じL4ニューロンに接続する傾向がある。逆に、そのニューロンの発火により、その接続された軸索間の活性の相関がシグナリングされる。L4は相関器である。
L4ニューロンが発火するとき、これらは、上位の層2および3のミニ円柱内のニューロンのうちのいくつかを活性化する。(層2と層3との間の従来の区別は、現代のニューロサイエンスではもはや行われず、大脳皮質のこの部分は、単にL2/3として識別される。)L2/3は、シーケンス・メモリとして機能する。異なるミニ円柱におけるニューロン間の横方向の接続は、即時の発火を引き起こすのではなく、挙動が変調しており、受信側のニューロンは、ミニ円柱の最下部のL4ニューロンからの入力を受信するとき、より発火しやすくなる状態に入る。これは、「予測」と称することができ、生物学的脱分極に類似している。そして、円柱がその後実際に活性になる場合、学習法則は、正しい予測に寄与したシナプスの重みを強化する。各ミニ円柱内に複数の細胞が存在するため、そのうちの僅かな数のみがL4入力に応答して発火し、正しく予測された細胞の特定の組が、予測に貢献した以前に活性であったセルに関する情報を符号化する。換言すれば、以前に活性であった細胞は、現在活性である細胞にコンテキストを与え、時間を遡って以下同様である。L2/3は発火パターンのシーケンスを学習する。
しかしながら、シーケンスにおける任意の単一の発火パターンの意味論的意味が僅かしか存在せず、シーケンス全体の新たな表現を形成するために更なる処理が必要とされる。これは、L2/3ニューロンの発火活性の時間的相関により達成され、本発明の主題である。
ニューロンの組の発火パターンをスパース分散表現(SDR)と呼ぶことが慣例である。これは、1およびゼロの大きなバイナリアレイ、ほとんどの場合ベクトルにすぎない。アレイ内の各要素は、単一のニューロンを表す。ニューロンが活性であるとき、そのビットは1であり、そうでない場合、0である。ビットの僅かな部分、20%未満、より一般的には5%未満のみが同時にオンであるため、ベクトルは「スパース」である。ベクトルは、活性ビットがベクトル全体にわたって拡散しているため、「分散している」。
ウェブサイトにおいて、Numenta社は、階層的時間的記憶(HTM)の実施に関する時間プーラ(pooler)について記載している。Numenta社のプーラは本発明とはかなり異なり、はるかに複雑である。このプーラは、2つの別個のSDRのフィード・フォワード(FF、階層を上方へ)を必要とする。FF入力は、別個に処理され、加重和として組み合わされ、そして閾値処理関数に渡される。結果は「持続性」を与えられ、持続性は活性が継続する場合に増大し、そうでない場合に減衰する。最も持続性のある結果が第2のプーラにフィードされる。このアルゴリズムは多くのステップを有するのみでなく、多くの調整可能なパラメータ、すなわち、合算和、閾値、持続性の減衰率、継続した活性の増大、および第2のプーラのパラメータが存在する。
Theyel他は、1つの大脳皮質領域から別の大脳皮質領域への、直接のまたは視床を通じて間接的なフィード・フォワードのための2つの経路が存在することを示す、神経生理学的研究からのデータを提供している。このため、受信側の皮質領域は、同じデータの(少なくとも)2つのバージョンを受信する。経視床の経路がより多くの中間ニューロンを通過し、したがって、目的地に到達するのにより長くかかる(と推定される)。この理解が本発明のインスピレーションを形成する。
本発明の実施形態は、従来技術の方法を上回る改善を提供しようとするものである。
1つの実施形態において、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法であって、単一の相関器が、単一の時間ステップ中に、1つまたは複数の下位レベルの、以前に予測されたニューロンおよび現在活性であるニューロンからの2つ以上の連続するフィード・フォワード入力をプールする、方法を提供する。
別の実施形態において、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法であって、本方法は、(a)全ての時間tについて、2つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)および時間ステップt-1からのS(t-1)を相関付けることと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習することであって、t’は、2以上の正の整数であることと、(c)(a)および(b)において学習された相関を出力することとを含む、方法を提供する。
更に別の実施形態において、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法であって、本方法は、(a)全ての時間tについて、3つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)、時間ステップt-1からのS(t-1)および時間ステップt-2からのS(t-2)を相関付けることと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習することであって、t’は、3以上の正の整数であることと、(c)(a)および(b)において学習された相関を出力することとを含む、方法を提供する。
別の実施形態において、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法を実施するコンピュータ可読プログラム・コードを記憶する製造品を提供し、この媒体は、(a)全ての時間tについて、2つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)および時間ステップt-1からのS(t-1)を相関付けるコンピュータ可読プログラム・コードと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習するコンピュータ可読プログラム・コードであって、t’は、2以上の正の整数である、コンピュータ可読プログラム・コードと、(c)(a)および(b)において学習された相関を出力するコンピュータ可読プログラム・コードとを備える、製造品を提供する。
更に別の実施形態において、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法を実施するコンピュータ可読プログラム・コードを記憶する製造品を提供し、この媒体は、(a)全ての時間tについて、3つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)、時間ステップt-1からのS(t-1)および時間ステップt-2からのS(t-2)を相関付けるコンピュータ可読プログラム・コードと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習するコンピュータ可読プログラム・コードであって、t’は、3以上の正の整数である、コンピュータ可読プログラム・コードと、(c)(a)および(b)において学習された相関を出力するコンピュータ可読プログラム・コードとを備える、製造品を提供する。
本開示は、1つまたは複数の様々な例に従って、以下の図を参照して詳細に説明される。図面は説明のためにのみ提供され、単に本開示の例を表す。これらの図面は、本開示の読み手の理解を促すために提供されるものであり、本開示の広さ、範囲または適用可能性を限定するものとみなされるべきでない。説明を明確かつ容易にするために、これらの図面は必ずしも縮尺どおりに作成されていないことに留意するべきである。
3つのレベルにおける7つの領域からなる階層ネットワークの例を示す。 階層ネットワークの各領域内の2つのコンポーネント、すなわち、相関器およびシーケンス・メモリを示す。 本発明の時間プーリングおよび相関を実施するサンプル擬似コードを示す。 領域R1から領域R2への単一のフィード・フォワード入力のみを用いた、すなわち、時間プーリングを用いない、2つのみの領域R1およびR2の単純化されたネットワークのための学習メトリックを示す。 領域R1から領域R2への単一のフィード・フォワード入力のみを用いた、単純化された2領域ネットワークの領域R2における相関器出力のための持続性(persistence)メトリックを示す。 領域R1から領域R2への2つの連続するフィード・フォワード入力のプーリングを用いた、領域R2における相関器出力のための学習メトリックを示す。 領域R1から領域R2への2つの連続するフィード・フォワード入力のプーリングを用いた、領域R2における相関器出力のための持続性メトリックを示す。 領域R1から領域2への3つの連続するフィード・フォワード入力のプーリングを用いた、双方の領域のための学習メトリックを示す。 領域R1から領域2への3つの連続するフィード・フォワード入力のプーリングを用いた、領域R2における相関器出力のための持続性メトリックを示す。 本発明の方法を実施するためのシステムを示す。
本発明は、好ましい実施形態に関して例示および説明されるが、本発明は、多数の異なる構成で生成されてもよい。本発明の好ましい実施形態が図面に示され、本明細書において詳細に説明されるが、本開示は、本発明の原理およびその構造の関連する機能的仕様の例示とみなされ、本発明を示される実施形態に限定することは意図されないことが理解される。当業者であれば、本発明の範囲内の多数の他の可能な変形形態を想定するであろう。
本明細書において、「1つの実施形態」または「一実施形態」への言及は、言及される特徴が本発明の少なくとも1つの実施形態に含まれることを意味することに留意されたい。更に、本明細書における「1つの実施形態」への別個の言及は、必ずしも同じ実施形態に言及しているわけではないが、そのような実施形態は、互いに排他的であると述べられない限り、当業者に容易に明らかである場合を除いて、互いに排他的ではない。このため、本発明は、本明細書に記載の実施形態の任意の多岐にわたる組合せまたは統合あるいはその両方を含むことができる。
本発明は、入力データのシーケンスの表現(SDR)を形成することに関する。これは、下位レベルからの2つ以上の連続するフィード・フォワード入力をプーリングし、相関付けることによって動作する。結果として得られる表現は、異なる入力シーケンスについて直交性が高く、高容量をもたらす。更に、この表現は、下位レベルが学習するにつれて安定化する傾向があり、より正確により長いシーケンスを予測する。
階層ニューラル・ネットワークを実行するアルゴリズムは、以下のように動作する。ネットワーク内の各領域が、その下の1つまたは複数の領域からデータを受信する。最下位レベルにおける領域が、例えばセンサから、カメラから、テキスト文字として等、(符号化された)入力データを受信する。各領域は、別個のタスクを実行する少なくとも2つのコンポーネント、すなわち、相関器およびシーケンス・メモリを含む。図2は、各領域の2つのコンポーネントを示すサンプルアーキテクチャを示す。例えば、下位レベルの領域1のコンポーネントは、(1)入力データストリームを受信し、それらの間の相関として特徴を識別する第1の相関器と、(2)第1の相関器から出力Sを受信し、これを領域1に関連付けられた第1のメモリに記憶する第1のシーケンス・メモリとを含む。同様に、上位レベルの領域2のコンポーネントは、(1)下位の第1のシーケンス・メモリから渡された入力Vを受信し、受信した入力間で特徴を識別する第2の相関器と、(2)第2の相関器から出力Sを受信し、これを領域2に関連付けられた第2のメモリに記憶する第2のシーケンス・メモリとを含む。したがって、各領域内の相関器は、下位から到来する異なるデータストリームをプールし、特徴を、それらの間の相関として、すなわち、同じ時間ステップ中にオンになる傾向があるビットとして識別する。
階層の最下位レベルは、通常、静的(または空間)相関器を有する。この相関器は、単一の時間ステップに関する特徴を見つけ、これらの特徴を表すSDRを形成し、これをシーケンス・メモリに渡し、シーケンス・メモリは、その名称が示すように、特徴のシーケンスを識別するように学習する。例えば、最低レベルへの入力が、文字「d」の画像を形成するピクセルである場合があり、「d」の全ての発生は、空間相関器によって同じSDRとして符号化された同じ特徴として識別される。しかしながら、「and」における「d」は、「bland」または「brand」におけるものと同じではない。したがって、シーケンス・メモリは、文字「d」のためのこれらの3つの異なるコンテキストについて、ニューロンの異なる組(すなわち、異なるSDR)を活性化する。次に、シーケンス、例えば「blan」が、「d」細胞の適切な組の予測を生成する。次の文字が実際に「d」である場合、予測された細胞が活性化される。これらの検証された細胞(例えば、V、V等)が、階層の次のレベルに供給されるシーケンス・メモリの出力である。
階層の上位領域は、その下の1つまたは複数の領域から、軸索を介してFFデータを受信する。各軸索は、下位レベルにおける特定のニューロンを起点とするため、これらの入力データは、SDRの形態で、下位レベルにおける活性の近時の履歴、すなわち、先行するものが何であれ、それとの関連における現在の活性を表す。本発明において、時間的相関は、例えば、論理ORを介して、2つ以上の連続するFF入力をプールすることによって達成される。例において検討したように、2つの入力は十分であり、第3の入力は本方法の性能を改善する。3つを超える更なる入力がもたらす改善は順次少なくなる。
本発明は、以下のように動作する。簡単にするために、プールされた入力が2つのみである事例を検討する。この実施形態では、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法を提供する。ここで、本方法は、(a)全ての時間tについて、2つのプールされたフィード・フォワード入力である時間ステップtからのS(t)と時間ステップt-1からのS(t-1)とを相関付ける(互いに関係付ける)ステップと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習するステップであって、ここで、t’は、2以上の正の整数である、ステップと、(c)(a)および(b)において学習した相関を出力するステップとを含む。これは、任意の長時間にわたって持続する相関が見つかり、相関器の出力SDRにおいて反映されることを意味する。最も重要なことには、下位レベルから到来するパターンが予測可能な方式で変化していることに反映されているように、シーケンスがシステムに「既知」であるとき、時間相関器の出力は安定し、下位階層のものよりもはるかに低速に変化する。
同じ概念は、3つのプールされた入力に拡張することができ、以下同様である。例えば、3つのプールされた入力が存在するシナリオでは、本発明は、階層型人工ニューラル・ネットワーク(ANN)のシミュレーションのための計算方法を提供し、この方法は、(a)全ての時間tについて、3つのプールされたフィード・フォワード入力である、時間ステップtからのS(t)と、時間ステップt-1からのS(t-1)と、時間ステップt-2からのS(t-2)とを相関付けるステップと、(b)入力S(t)とS(t-t’)との間の相関を間接的に学習するステップであって、ここで、t’は、3以上の正の整数である、ステップと、(c)(a)および(b)において学習した相関を出力するステップと、を含む。
図3は、時間プーリングおよび相関のための擬似コードの例を示す。擬似コードは、本発明において用いられる計算手順の1つの例を要約する。反復的であり、連続的に学習することが意図されるこの実施形態において、各手順は、全ての時間ステップ(t)について繰り返され、ここで、各時間ステップ(t)において、ネットワークの全ての領域(R)内の到来するデータに対し、手順の厳密に同じシーケンスが実行される。
データは、相関器と呼ばれるセクション内の各領域に入る。階層の下位領域からの各時間ステップにおける入力データは、ネットワーク設計中に設定された既知の長さのベクトルの形態をとる。複数の下位領域からのデータは、結果として得られる入力ベクトル(I、ここで、ゼロの下付き文字は、現在の入力を示す;図2を参照されたい)の長さが、下位領域の全ての出力ベクトルの長さの和になるように、連結により組み合わされる。連結の順序により、各入力データからのベクトル要素の入力ベクトルにおける位置が決まる。擬似コードはバイナリ・ベクトルに関係する。連結は、実数のベクトルにも適用することができることが明らかである。連結によるそのようなデータの組合せは、「空間プーリング」と呼ばれる。
本発明の特徴は、「時間プーリング」と呼ばれる手順である。領域が、時間プーリングを用いるように選択される場合(通例、階層の第1のレベルの上の領域)、連続した入力ベクトルが組み合わされる。この実施形態において、時間プーリングまたは組合せ手順は、適切なプーリング手順が和集合(論理ORとしても知られる)であるバイナリ・ベクトルを用いて示される。より一般的には、加重和または(平坦化された)外積等の連続した入力ベクトルを組み合わせる他のベクトル演算が用いられてもよい。このように組み合わされる連続した(連結された)ベクトルの数は、2つ以上とすることができる。2つの入力が組み合わされる場合、結果はI=OR(I,I-1)であり、ここで、-1の下付き文字は、前回の入力時間ステップを指す。ORの結合特性を用いて、更なる前の時間ステップが同様に組み合わされてもよい。手順は、次の時間ステップにおける時間プーリングに必要な数の入力をメモリに保存し、それに応じて下付き文字を変更する。
このため、相関器への入力ベクトルは、階層内の下位の1つまたは複数の領域からの1つの(プーリングなし)入力、または2つ以上の連続した(時間的にプールされた)入力の時間プーリングである。相関器は、シナプス重みの行列であり、入力(軸索または行列の行)と出力(樹状突起または行列の列)との間の接続の強度を示す。出力は、既知の乗算、累算および閾値メカニズムを用いて活性化される。乗算および累算は、シナプス重み行列による入力ベクトルの行列乗算によって達成される。バイナリ・ベクトルおよび行列の場合、この結果として、出力列ごとに整数値が得られる。その値は、(例えば、ヘビサイドステップ)閾値と比較され、列が活性であるか否かが判断される。アナログ入力、アナログ重みおよび連続閾値関数を用いた他の非バイナリの実施態様も明らかとなろう。出力活性である別のバイナリ・ベクトルSが領域のシーケンス・メモリへの入力である。
入力および出力のニューラル活性が知られている場合、例えば、ヘッブの学習法則を用いてシナプス更新が決定される。所与のシナプスについて、入力ニューロンおよび出力ニューロンが共に活性である場合、シナプスが強化または作成される。入力のみまたは出力のみが活性である場合、シナプスは弱められる。入力も出力も活性でない場合、シナプス強度は変化しない。
シーケンス・メモリは、ニューロンのミニ円柱からなり、各ミニ円柱は、(永続的)シナプスによって相関器の出力ニューロンに接続されている。相関器出力ニューロンが活性である場合、ミニ円柱は活性となり、これは、ミニ円柱内の1つまたは複数のニューロンが発火することを意味する。発火の規則は、ミニ円柱内の任意のニューロンが予測される場合(以下の検討を参照)、発火するというものである。ニューロンが予測されない場合、ミニ円柱内の全ての細胞が発火する。
ミニ円柱内のニューロンは、シーケンス・メモリ内の他のニューロンとシナプスを(電位的に)形成する。すなわち、領域内の全てのニューロンの軸索と樹状突起との間に横方向の接続のアレイが存在する。現在の実施態様において、ニューロンの発火パターンは、バイナリ・ベクトル(A)によって表され、シナプス重みはバイナリ行列によって表される。重み行列と活性ベクトルとの積は別のベクトルであり、その要素は、閾値と比較され、各樹状突起出力が活性であるか否かが判断される。活性樹状突起のニューロンは、即時に発火するのではなく、次のまたは後の時間ステップにおいて相関器から入力を受信する場合に発火することが予測される。この変調された挙動は、ニューロンの入力信号に対する感度を高め、ニューロンが発火する可能性をより高くする、生物学的脱分極と類似している。予測される細胞は、バイナリ・ベクトルPによって表される。
前の時間ステップにおいて予測された細胞(例えば、ベクトルP-1)、相関器の出力によって現在活性化されている細胞(A)が「検証される」、すなわち、V=AND(A,P-1)である。下位領域の検証されたニューロンのベクトル(V)は、上位領域への入力を提供する。
通例のヘッブの法則に従ってシナプスが更新される。以前に活性であった細胞(A-1)を検証された細胞(V)に接続するシナプス、すなわち、正しい予測に寄与したシナプスが強化される。検証されなかった予測に寄与したシナプス、または発火しているが予測されていなかった細胞の樹状突起上のシナプスは弱められる。
最終的に、現在の活性ベクトル(A)および予測ベクトル(P)が、次の時間ステップの準備においてA-1、P-1として保存される。
例えば、2つの連続した入力をプールすることによって、検証されたシーケンス「...and」が、1つの事例では、前の検証されたシーケンス「...ran」と相関付けられ、別の事例では、「...lan」と相関付けられる。このため、「brand」および「bland」の表現は完全に異なる。スパースなバイナリ・ベクトルの特性に起因して、これらの表現は互いに容易に区別することができる。
人工ニューラル・ネットワークにおいて、連続した入力の数を2つのみに限定する理由がない。3つ以上の入力により学習が高速になる。実際に、2つの入力からなる識別可能なシーケンスは存在しない。「b」が常に「a」の後に続く場合、「b」の後に続くものは何か?別の文字、またはピリオドもしくはスペース等の、シーケンスの終了を示すものである。いずれの場合も、シーケンスは少なくとも3つの時間ステップである。
シーケンスを表すためにSDRを形成するための相関器を用いる更なる利点は、データの次元を同時に低減することである。各シーケンス・メモリの出力は、全ての時間ステップにおいて変化するのみでなく、シーケンス・メモリが機能する方式に起因して、非常に大きく過度にスパースなベクトルである。通常、約10000ビット(各々がニューロンに対応する)を有することができ、そのうちの100個未満が(活性ニューロンを示す)1に設定される。しかしながら、ここでもシーケンス・メモリの動作に起因して、約1060~1070の異なる値「しか」とることができない。この入力を受信する相関器において、同じ容量は、1024ビットのみの出力SDRにおいて到達することができ、そのうちの32ビットが活性である。相関プロセスは、ベクトルの長さを1桁低減する。
実施例
以下に説明する3つ全ての例において、下位レベル1における領域1(R1)、および上位レベル2における領域2(R2)の2つの領域のみからなるネットワークがセット・アップされた。3つの任意のセンテンスを有する試験データが生成された。センテンスは各々が約40~50文字からなり、3つのうちの1つがランダムに選ばれ、これらを一続きにして10000文字の長さのシーケンスが作成された。文字ごとに、ASCIIコードがスパースにされ、一度に1文字ずつR1内にフィードされた。数百回の反復(時間ステップあたり1文字)後、R1のシーケンス・メモリは、シーケンス内の次の文字の正しい予測を行い始めた。正しく予測された(検証された)ニューロンによって形成されたスパース分散表現(SDR)が、論理ORによる連続ステップのプーリングを用いてR2の相関器内にフィード・フォワードされる。R1内の検証されたニューロンは幾分相関しており、同じニューロンが同じシーケンス内の同じ文字について活性である傾向にある。
各例において、ネットワークの性能は、学習メトリックの計算によって評価された。統計学的シーケンスを扱う際の一般的慣例であるように、予測がランダムな機会によってなされ得た確率が使用される。特に、入力SDRと予測SDRとの重複(交差)が計算される。ランダムなSDRの場合、重複は、超幾何学的分布に従うことが既知である。ランダムな確率のとり得る値の極端な範囲(1または2ビットの重なり合いの場合の約0.1から、10~20ビットの場合の指数関数的小ささまで)に起因して、確率の負の対数を用いることが好都合である。これを、負の対数尤度すなわちNLL(Negative Log Likelihood)と呼ぶ。確率は1未満であるため、これは正の数である。異なるサイズのネットワークを比較するために、NLLは、可能なSDRの総数(H)の対数によって除算することにより正規化される。最後に、数回の反復にわたって実行平均を計算することによって、データを「平滑化」することが好都合であり得る。このとき、学習メトリックは以下となる。
Figure 0007104481000001
他の学習メトリックも用いられ得るが、理想的には、これらはシステムが任意の正確な予想を行うよう学習する前の第1の反復時にゼロ付近で開始し、全ての入力が正しく予測されたときに既知の最大値(ここでのように1等)に近づくべきである。
加えて、複数の反復が完了すると、領域2の相関器によって生成された表現の安定性(または「持続性」)を評価することが望ましい。これは、連続した反復において活性のままであるカラムの数を、活性であるカラムの数に対し正規化したものをカウントすることによって行われる。結果は、いくつかの反復にわたって平均をとられる。
実施例1:プーリングなし
連続した入力の相関がとられなかった。すなわち、各現在の入力のみを用いて相関器をトレーニングした。R2の相関器は、検証されたニューロン間の相関を、下位の次元の別のSDRに符号化し、そしてこれがR2のシーケンス・メモリに渡される。数千回の反復(各センテンスの概ね100回の観測に対応する)後、R2のシーケンス・メモリは、その入力SDRの各々の正しい予測を行い始める。双方の領域のシーケンス・メモリ内の予測SDRおよび実際のSDR間の重複に学習メトリックが適用される。
10000回の反復の後、R1およびR2における平均学習はそれぞれ0.41および0.32に達した(図4を参照)。上位領域(R2)における学習は、4000回の反復において開始した。平均持続性は0.016で終了した(図5を参照されたい)。
実施例2:2つの連続入力のプーリング
この例では、R2相関器は、各ステップにおいて2つの連続した入力、すなわち、現在のフィード・フォワードSDRおよび前の時間ステップからの入力をプールするようにプログラムされた。
10000回の反復後、R1およびR2における平均学習はそれぞれ0.44および0.46に達した(図6を参照)。予期されるように、下位領域の挙動に大きな変化はない。上位領域は、かなり正確な学習を示す。また、上位領域(R2)における学習は、より早期に、3000回の反復で開始する。平均持続性は0.46に達した(図7を参照)。これらの結果は、プーリングに起因したネットワークの改善された性能を、上位領域の学習の速度および正確性の観点において、ならびに生成された表現の安定性の観点において明確に示す。
実施例3:3つの連続入力のプーリング
この例において、領域2の相関器は、各ステップにおいて3つの連続入力、すなわち現在のフィード・フォワードSDRおよび2つの以前の時間ステップからの入力をプールするようにプログラムされた。
10000回の反復後、R1およびR2における平均学習はそれぞれ0.42(実施例2に対する僅かな変化)および0.51(改善された)に達した(図8を参照)。上位領域(領域2)における学習は、2000回の反復において開始した。平均持続性は0.63において終了した(図9を参照)。ここでも、これらの結果は、プーリングに起因したネットワークの改善された性能を、上位領域の学習の速度および正確性の観点において、ならびに生成された表現の安定性の観点において示す。
4つ以上の連続入力がプールされてもよいことが当業者には明らかとなろう。示される例に加えて、4つおよび5つの連続入力のプーリングがそれぞれ同じデータおよびネットワークに適用された。4つの場合の性能は3つの場合より僅かに増大したが、学習の急な開始を除いて、5つの場合と4つの場合との間の差は非常に僅かであった。これらの例は、階層ニューラル・ネットワークの時間相関器における複数の連続した入力のプーリングの効果を実証する。
様々な実施形態の論理演算は以下のように実施される:(1)汎用コンピュータ内のプログラマブル回路上で実行される、一連のコンピュータにより実施されるステップ、動作もしくは手順、(2)専用プログラマブル回路上で実行される、一連のコンピュータにより実施されるステップ、動作もしくは手順、または(3)プログラマブル回路内の相互接続されたマシン・モジュールもしくはプログラム・エンジン、あるいはその組合せとして実施される。図10に示すシステム1000は、挙げられた方法の全てもしくは一部を実施することができるか、挙げられたシステムの一部とすることができるか、または挙げられた非一過性コンピュータ可読ストレージ媒体における命令に従って動作することができるか、あるいはその組合せである。図10を参照すると、例示的なシステムは、処理ユニット(例えば、CPU)1002と、読み出し専用・メモリ(ROM)516およびランダム・アクセス・メモリ(RAM)1012等のシステム・メモリを含む様々なシステム・コンポーネントを処理ユニット1002に結合するシステム・バス1026とを含む、汎用コンピューティング・デバイス1000を含む。他のシステム・メモリ1014も利用可能である。本発明は、2つ以上の処理ユニット1002を有するコンピューティング・デバイス、またはより優れた処理能力を提供するように共にネットワーク化されたコンピューティング・デバイスのグループもしくはクラスタに対し動作することができることを理解することができる。処理ユニット1002は、ソフトウェアによって制御される汎用CPUおよび専用プロセッサを含むことができる。
コンピューティング・デバイス1000は、ストレージ・デバイス1004(限定ではないが、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブ等)等のストレージ・デバイスを更に含む。ストレージ・デバイス1004は、ドライブ・インタフェースによってシステム・バス1026に接続することができる。ドライブおよび関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、およびコンピューティング・デバイス1000のための他のデータの不揮発性ストレージを提供する。1つの態様において、特定の機能を実行するハードウェア・モジュールは、CPU、バス、ディスプレイ等のような必要なハードウェア・コンポーネントと接続して機能を実行するための、有形コンピュータ可読媒体に記憶されたソフトウェア
・コンポーネントを含む。基本的なコンポーネントは当業者に既知であり、デバイスが小さなハンドヘルド・コンピューティング・デバイスであるか、デスクトップ・コンピュータであるか、またはコンピュータ・サーバであるか等のデバイスのタイプに依拠して、適切な変形が予期される。
本明細書に記載の例示的な環境はハード・ディスクを用いるが、磁気カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、カートリッジ、ランダム・アクセス・メモリ(RAM)、読み出し専用・メモリ(ROM)、ケーブル、またはビットストリームを含む無線信号等のような、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も例示的な動作環境において用いることができることが当業者には理解されるべきである。
コンピューティング・デバイス1000とのユーザ・インタラクションを可能にするために、入力デバイス1020は、発話用のマイクロフォン、ジェスチャまたはグラフィック入力用のタッチセンサー式スクリーン、キーボード、マウス、動き入力、発話等のような任意の数の入力メカニズムを表す。出力デバイス1022は、当業者に既知の複数の出力メカニズムのうちの1つまたは複数も含むことができる。いくつかの例では、マルチモード・システムが、ユーザがコンピューティング・デバイス1000と通信するために複数のタイプの入力を提供することを可能にする。通信インタフェース1024は、通例、ユーザ入力およびシステム出力を管轄および管理する。発明に対し、いかなる特定のハードウェア構成で動作する制限もなく、したがって、ここでの基本的特徴は、開発される際に、改善されたハードウェアまたはファームウェア構成と容易に置き換えることができる。
プロセッサ1002を、モジュールのプログラミングに従って特定の機能を実行するように制御するように構成されたモジュールとして論理演算を実装することができる。図10は、プロセッサ1002を、特定のステップまたは一連のステップを実行するように制御するモジュールである、3つのモジュールMOD1 1006、MOD2 1008およびMOD3 1010も示す。これらのモジュールは、ストレージ・デバイス1004上に記憶することができ、実行時にRAM1012またはメモリ1014にロードすることができるか、または当業者に既知のように他のコンピュータ可読メモリ・ロケーションに記憶することができる。
1つの実施形態では、モジュールMOD1 1006、MOD2 1008およびMOD3 1010は、例えば、プロセッサ502を、以下のステップ、すなわち、単一の時間ステップ中に、1つまたは複数の下位レベルの以前に予測されたニューロンおよび現在活性であるニューロンからの2つ以上の連続するフィード・フォワード入力をプールする単一の相関器を実装するステップを実行ように制御するモジュールとすることができる。
別の実施形態では、モジュールMOD1 1006、MOD2 1008およびMOD3 1010は、例えば、プロセッサ1002を、以下のステップ、すなわち、(a)全ての時間tについて、2つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)および時間ステップt-1からのS(t-1)を相関付けるステップと、(b)コンピュータ可読プログラム・コードが、入力S(t)とS(t-t’)との間の相関を間接的に学習するステップであって、t’は、2以上の正の整数である、ステップと、(c)コンピュータ可読プログラム・コードが、(a)および(b)において学習された相関を出力するステップとを実行するように制御するモジュールとすることができる。
別の実施形態では、モジュールMOD1 1006、MOD2 1008およびMOD3 1010は、例えば、プロセッサ1002を、以下のステップ、すなわち、(a)全ての時間tについて、3つのプールされたフィード・フォワード入力、すなわち、時間ステップtからのS(t)、時間ステップt-1からのS(t-1)および時間ステップt-2からのS(t-2)を相関付けるステップと、(b)コードが、入力S(t)とS(t-t’)との間の相関を間接的に学習するステップであって、t’は、3以上の正の整数である、ステップと、(c)コンピュータ可読プログラム・コードが、(a)および(b)において学習された相関を出力するステップとを実行するように制御するモジュールとすることができる。
上記で説明した特徴および応用は、コンピュータ可読ストレージ媒体(コンピュータ可読媒体とも呼ばれる)に記録された命令セットとして指定されたソフトウェア・プロセスとして実施することができる。これらの命令が1つまたは複数の処理ユニット(例えば、1つまたは複数のプロセッサ、プロセッサのコアまたは他の処理ユニット)によって実行されるとき、これらは、処理ユニットに、命令において示された動作を実行させる。本開示の範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造を搬送するかまたはそれらが記憶された有形または非一過性あるいはその両方のコンピュータ可読ストレージ媒体も含むことができる。そのような非一過性コンピュータ可読ストレージ媒体は、任意の専用プロセッサの機能的設計を含む、汎用または専用コンピュータによってアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、そのような非一過性コンピュータ可読媒体は、フラッシュ・メモリ、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク・ストレージ、磁気ディスク・ストレージもしくは他の磁気ストレージ・デバイス、またはコンピュータ実行可能命令、データ構造、もしくはプロセッサ・チップ設計の形態の所望のプログラム・コード手段を搬送または記憶するのに用いることができる任意の他の媒体を含むことができる。コンピュータ可読媒体は、無線でまたは有線接続を介して渡される搬送波および電子信号を含まない。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータまたは専用処理デバイスに特定の機能または機能のグループを実行させる命令およびデータを含む。コンピュータ実行可能命令は、コンピュータによってスタンドアローンでまたはネットワーク環境内で実行されるプログラム・モジュールも含む。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ・タイプを実装する、専用プロセッサ等の設計において固有のルーチン、プログラム、コンポーネント、データ構造、オブジェクトおよび機能を含む。コンピュータ実行可能命令、関連データ構造、およびプログラム・モジュールは、本明細書において開示される方法のステップを実行するためのプログラム・コード手段の例を表す。そのような実行可能命令または関連データ構造の特定のシーケンスは、そのようなステップにおいて記載される機能を実施するための対応する動作の例を表す。
本明細書において、「ソフトウェア」という用語は、プロセッサによる処理のためにメモリ内に読み込むことができる、磁気ストレージまたはフラッシュ・ストレージ、例えばソリッドステート・ドライブに記憶された読み出し専用メモリまたはアプリケーション内に存在するファームウェアを含むように意図される。また、いくつかの実施態様において、複数のソフトウェア技術を、別個のソフトウェア技術を保ちながら、より大きなプログラムのサブ部分として実施することができる。いくつかの実施態様では、複数のソフトウェア技術を別個のプログラムとして実施することもできる。最終的に、合わせて本明細書に記載のソフトウェア技術を実施する別個のプログラムの任意の組合せが、主題技術の範囲内にある。いくつかの実施態様では、ソフトウェア・プログラムは、1つまたは複数の電子システム上で動作するようにインストールされると、ソフトウェア・プログラムの動作を実行および実施する1つまたは複数の特定のマシン実施態様を定義する。
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプトまたはコードとしても知られる)は、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含むプログラム言語の任意の形態で書くことができ、またコンピュータ・プログラムは、スタンドアロン・プログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに適した他のユニットとしてを含む任意の形態で展開することができる。コンピュータ・プログラムは、ファイル・システムにおけるファイルに対応することができるが、その必要はない。プログラムは、他のプログラムまたはデータ(例えばマークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に、当該プログラムに専用の単一ファイルに、または複数の協調ファイル(coordinated file)(例えば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイル)に記憶することができる。コンピュータ・プログラムは、1つのサイトに位置するか、または複数のサイトにわたって分散し、通信ネットワークによって相互接続される、1つまたは複数のコンピュータ上で実行されるように展開することができる。
上記で説明したこれらの機能は、デジタル電子回路部で、コンピュータ・ソフトウェア、ファームウェアまたはハードウェアにおいて実施することができる。技法は、1つまたは複数のコンピュータ・プログラム製品を用いて実施することができる。プログラマブル・プロセッサおよびコンピュータは、モバイル・デバイスに含めるか、またはモバイル・デバイスにパッケージングすることができる。プロセスおよび論理フローは、1つまたは複数のプログラマブル・プロセッサおよび1つまたは複数のプログラマブル論理回路部によって行うことができる。専用および汎用コンピューティング・デバイスおよびストレージ・デバイスを、通信ネットワークを通じて相互接続することができる。
いくつかの実施態様は、コンピュータ・プログラム命令をマシン可読またはコンピュータ可読媒体(代替的に、コンピュータ可読ストレージ媒体、マシン可読媒体またはマシン可読ストレージ媒体とも呼ぶ)に記憶する電子コンポーネント、例えばマイクロプロセッサ、ストレージおよびメモリを含む。そのようなコンピュータ可読媒体のいくつかの例は、RAM、ROM、読み出し専用コンパクト・ディスク(CD-ROM)、記録可能コンパクト・ディスク(CD-R)、再書き込み可能コンパクト・ディスク(CD-RW)、読み出し専用デジタル多用途ディスク(例えば、DVD-ROM、二重層DVD-ROM)、多岐にわたる記録可能/再書き込み可能DVD(例えば、DVD-RAM、DVD-RW、DVD+RW等)、フラッシュ・メモリ(例えば、SDカード、ミニSDカード、マイクロSDカード等)、磁気またはソリッド・ステート・ハード・ドライブ、読み出し専用および記録可能Blu-Ray(登録商標)ディスク、ウルトラ・デンシティ光ディスク、任意の他の光または磁気媒体、およびフロッピー(R)・ディスクを含む。コンピュータ可読媒体は、少なくとも1つの処理ユニットによって実行可能なコンピュータ・プログラムを記憶することができ、様々な動作を実行するための命令のセットを含む。コンピュータ・プログラムまたはコンピュータ・コードの例は、例えば、コンパイラによって生成されるマシン・コード、およびインタープリタを用いてコンピュータ、電子コンポーネントまたはマイクロプロセッサによって実行される高レベル・コードを含むファイルを含む。
上記の検討は、主に、ソフトウェアを実行するマイクロプロセッサまたはマルチコア・プロセッサを指すが、いくつかの実施態様は、1つまたは複数の集積回路、例えば特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲートアレイ(FPGA)によって行われる。いくつかの実施態様において、そのような集積回路は、回路自体に記憶された命令を実行する。
開示されたプロセスにおけるステップの任意の特定の順序または階層が、例示的手法を示すことを理解されたい。設計選好に基づいて、プロセスにおけるステップの特定の順序または階層を再配置することができるか、または全ての示されたステップを実行することができることを理解されたい。ステップのいくつかは、同時に実行されてもよい。例えば、特定の環境において、マルチタスクおよび並列処理が有利であり得る。更に、上記で示された様々なシステム・コンポーネントの分離は、そのような分離を要求するものと解釈されるべきでなく、説明されたプログラム・コンポーネントおよびシステムは、通常、合わせて単一のソフトウェア製品に統合するか、複数のソフトウェア製品にパッケージングすることができることが理解されるべきである。
本発明は、米国国防高等研究計画局(DARPA)によって与えられた契約第N66001-15-C-4034の下で米国政府の援助によって行われた。米国政府は本発明における一定の権利を有する。
上記で説明した様々な実施形態は、説明のためにのみ提供され、本開示の範囲を限定するものと解釈されるべきでない。当業者は、本明細書に示され説明された例示的な実施形態および応用に従うことなく、また添付の特許請求の範囲において定義される本発明の範囲から逸脱することなく、本明細書に記載の原理に対し行うことができる様々な変更および変形を容易に認識するであろう。

Claims (15)

  1. コンピュータが実行する、階層型人工ニューラル・ネットワーク(ANN)を動作させるための方法であって、
    前記ANNは、第1のレベルと、前記第1のレベルより下位の1つまたは複数の下位レベルとを含み、前記第1のレベルが第1の相関器を含み、
    前記1つまたは複数の下位レベルが前記第1のレベルにフィード・フォワード入力を提供するように構成されていて、
    前記第1の相関器が、単一の時間ステップ中に、前記1つまたは複数の下位レベルの以前に予測されたニューロンおよび現在活性であるニューロンからの2つ以上の連続するフィード・フォワード入力をプールする、方法。
  2. 前記第1の相関器は、静的相関器である、請求項1に記載の方法。
  3. 前記フィード・フォワード入力をプールすることは、前記連続するフィード・フォワード入力の論理ORによって行われる、請求項1に記載の方法。
  4. 前記フィード・フォワード入力をプールすることは、前記連続するフィード・フォワード入力を連結することによって行われる、請求項1に記載の方法。
  5. 前記プールすることの前に、変換演算が前記フィード・フォワード入力の各々に適用される、請求項1に記載の方法。
  6. 前記変換演算は、置換演算、論理XOR演算または論理AND演算のうちのいずれかである、請求項5に記載の方法。
  7. コンピュータが実行する、階層型人工ニューラル・ネットワーク(ANN)を動作させるための方法であって、
    前記ANNは、第1のレベルと、前記第1のレベルより下位の1つまたは複数の下位レベルとを含み、前記第1のレベルが第1の相関器と該第1の相関器からの出力を受信する第1のシーケンス・メモリとを含み、
    前記1つまたは複数の下位レベルが、前記第1のレベルにフィード・フォワード入力を提供するように構成されていて、
    前記方法は、前記第1の相関器によって、
    (a)全ての時間tについて、2つのプールされたフィード・フォワード入力である時間ステップtからの入力S(t)と時間ステップt-1からの入力S(t-1)とを相関付けるステップと、
    (b)入力S(t)と入力S(t-t’)との間の相関学習するステップであって、t’は、2以上の正の整数である、ステップと、
    (c)(a)および(b)において学習された相関を出力するステップと、
    を含む、方法。
  8. 前記相関付けるステップ(a)は、全ての時間tについて、3つのプールされたフィード・フォワード入力である時間ステップtからの入力S(t)と、時間ステップt-1からの入力S(t-1)と、時間ステップt-2からの入力S(t-2)と、を相関付けることを含み、t’は、3以上の正の整数である、請求項7に記載の方法。
  9. 前記出力は、スパース分散表現(SDR)行列である、請求項7または8に記載の方法。
  10. 前記相関付けるステップ(a)は、静的相関器によって行われる、請求項7または8に記載の方法。
  11. 前記フィード・フォワード入力をプールすることは、前記連続するフィード・フォワード入力の論理ORによって行われる、請求項7または8に記載の方法。
  12. 前記フィード・フォワード入力をプールすることは、前記連続するフィード・フォワード入力を連結することによって行われる、請求項7または8に記載の方法。
  13. 前記プールすることの前に、前記フィード・フォワード入力の各々に変換演算が適用される、請求項7または8に記載の方法。
  14. 前記変換演算は、置換演算、論理XOR演算または論理AND演算のうちのいずれかである、請求項13に記載の方法。
  15. 階層型人工ニューラル・ネットワーク(ANN)を動作させるためのコンピュータ・プログラムであって、コンピュータに、請求項7ないし14のいずれかに記載のステップを実行させる、コンピュータ・プログラム。
JP2020514515A 2017-09-22 2018-09-11 人工ニューラル・ネットワークにおける時間プーリングおよび相関 Active JP7104481B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/713,041 US11556343B2 (en) 2017-09-22 2017-09-22 Computational method for temporal pooling and correlation
US15/713,041 2017-09-22
PCT/EP2018/074458 WO2019057552A1 (en) 2017-09-22 2018-09-11 TIME REGROUP AND CORRELATION IN AN ARTIFICIAL NEURAL NETWORK

Publications (3)

Publication Number Publication Date
JP2020534595A JP2020534595A (ja) 2020-11-26
JP2020534595A5 JP2020534595A5 (ja) 2021-03-18
JP7104481B2 true JP7104481B2 (ja) 2022-07-21

Family

ID=63556350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020514515A Active JP7104481B2 (ja) 2017-09-22 2018-09-11 人工ニューラル・ネットワークにおける時間プーリングおよび相関

Country Status (5)

Country Link
US (1) US11556343B2 (ja)
EP (1) EP3685318A1 (ja)
JP (1) JP7104481B2 (ja)
CN (1) CN111133451A (ja)
WO (1) WO2019057552A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556343B2 (en) * 2017-09-22 2023-01-17 International Business Machines Corporation Computational method for temporal pooling and correlation
US11138493B2 (en) * 2017-12-22 2021-10-05 International Business Machines Corporation Approaching homeostasis in a binary neural network
KR20210014902A (ko) 2019-07-31 2021-02-10 삼성전자주식회사 프로세서 및 그 제어 방법
CN114387030B (zh) * 2022-01-13 2024-03-15 瑞祥全球购超市有限公司 一种面向网络购物平台的在线用户量的智能分析方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225108A1 (en) 2010-03-15 2011-09-15 Numenta, Inc. Temporal memory using sparse distributed representation
US20170255861A1 (en) 2016-03-03 2017-09-07 Numenta, Inc. Union processing of sequences of patterns

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3219507A (en) 1961-02-20 1965-11-23 Magee Carpet Co Method of applying plastic sheet to pile fabric backing
EP0433414A1 (en) 1989-06-16 1991-06-26 Martingale Research Corpn. Continuous bayesian estimation with a neural network architecture
DE19537010C2 (de) 1995-10-04 1997-10-02 Siemens Ag Lernverfahren und -anordnung zur Nachbildung eines dynamischen Prozesses
US7430546B1 (en) 2003-06-07 2008-09-30 Roland Erwin Suri Applications of an algorithm that mimics cortical processing
US7739208B2 (en) 2005-06-06 2010-06-15 Numenta, Inc. Trainable hierarchical memory system and method
US7937342B2 (en) 2006-11-28 2011-05-03 Numenta, Inc. Method and apparatus for detecting spatial patterns
EP2162853A1 (en) 2007-06-29 2010-03-17 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
JP5369744B2 (ja) 2009-02-13 2013-12-18 三菱電機株式会社 情報収集システム、端末装置、情報収集用プログラム、端末用プログラム
EP2259214B1 (en) 2009-06-04 2013-02-27 Honda Research Institute Europe GmbH Implementing a neural associative memory based on non-linear learning of discrete synapses
US20100312736A1 (en) 2009-06-05 2010-12-09 The Regents Of The University Of California Critical Branching Neural Computation Apparatus and Methods
US8983884B2 (en) 2009-07-31 2015-03-17 Gerard J. Rinkus Overcoding-and-paring: a bufferless chunking process and uses thereof
US8874498B2 (en) 2011-09-16 2014-10-28 International Business Machines Corporation Unsupervised, supervised, and reinforced learning via spiking computation
US9111222B2 (en) 2011-11-09 2015-08-18 Qualcomm Incorporated Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
US9208430B2 (en) 2011-12-13 2015-12-08 Simigence, Inc. Computer-implemented simulated intelligence capabilities by neuroanatomically-based system architecture
US20130297539A1 (en) 2012-05-07 2013-11-07 Filip Piekniewski Spiking neural network object recognition apparatus and methods
US9373085B1 (en) * 2012-05-15 2016-06-21 Vicarious Fpc, Inc. System and method for a recursive cortical network
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US9311594B1 (en) 2012-09-20 2016-04-12 Brain Corporation Spiking neuron network apparatus and methods for encoding of sensory data
US9183493B2 (en) 2012-10-25 2015-11-10 Brain Corporation Adaptive plasticity apparatus and methods for spiking neuron network
US9330355B2 (en) 2013-08-06 2016-05-03 Qualcomm Incorporated Computed synapses for neuromorphic systems
US9753959B2 (en) 2013-10-16 2017-09-05 University Of Tennessee Research Foundation Method and apparatus for constructing a neuroscience-inspired artificial neural network with visualization of neural pathways
US20160267380A1 (en) 2015-03-13 2016-09-15 Nuance Communications, Inc. Method and System for Training a Neural Network
US10528863B2 (en) * 2016-04-01 2020-01-07 Numenta, Inc. Feedback mechanisms in sequence learning systems with temporal processing capability
US11087202B2 (en) * 2017-02-28 2021-08-10 Fujifilm Business Innovation Corp. System and method for using deep learning to identify purchase stages from a microblog post
US11556343B2 (en) * 2017-09-22 2023-01-17 International Business Machines Corporation Computational method for temporal pooling and correlation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225108A1 (en) 2010-03-15 2011-09-15 Numenta, Inc. Temporal memory using sparse distributed representation
US20170255861A1 (en) 2016-03-03 2017-09-07 Numenta, Inc. Union processing of sequences of patterns

Also Published As

Publication number Publication date
JP2020534595A (ja) 2020-11-26
EP3685318A1 (en) 2020-07-29
US11556343B2 (en) 2023-01-17
WO2019057552A1 (en) 2019-03-28
CN111133451A (zh) 2020-05-08
US20190095211A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
JP7104481B2 (ja) 人工ニューラル・ネットワークにおける時間プーリングおよび相関
Spoerer et al. Recurrent convolutional neural networks: a better model of biological object recognition
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US11610131B2 (en) Ensembling of neural network models
US11797826B2 (en) Machine learning model for analysis of instruction sequences
Salaj et al. Spike frequency adaptation supports network computations on temporally dispersed information
Tobiyama et al. Malware detection with deep neural network using process behavior
US11087086B2 (en) Named-entity recognition through sequence of classification using a deep learning neural network
US20180197076A1 (en) Spiking neural network system for dynamic control of flexible, stable and hybrid memory storage
US20180075349A1 (en) Training a machine learning model for analysis of instruction sequences
US10902311B2 (en) Regularization of neural networks
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
US10817669B2 (en) Automatic classification of adverse event text fragments
Liang et al. An end-to-end model for android malware detection
Jie et al. Anytime recognition with routing convolutional networks
Allred et al. Unsupervised incremental stdp learning using forced firing of dormant or idle neurons
US9864834B2 (en) High-resolution melt curve classification using neural networks
Longpre et al. A way out of the odyssey: Analyzing and combining recent insights for lstms
KR20210116640A (ko) 피라미드 계층의 아키텍처를 생성하기 위한 시스템 및 방법
KR20210094324A (ko) 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치
US11593569B2 (en) Enhanced input for text analytics
Therhaag Introduction to neural networks in high energy physics
US20210133556A1 (en) Feature-separated neural network processing of tabular data
Gunes et al. Detecting Direction of Pepper Stem by Using CUDA‐Based Accelerated Hybrid Intuitionistic Fuzzy Edge Detection and ANN
US11182673B2 (en) Temporal memory adapted for single-shot learning and disambiguation of multiple predictions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220408

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220628

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220706

R150 Certificate of patent or registration of utility model

Ref document number: 7104481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150