(57)【要約】  事象に基づくベイジアン推論および学習を行う方法は、各ノードにおいて入力事象を受信することを含む。方法は、中間値を得るために入力事象にバイアス重みおよび／または結合重みを加えることも含む。方法は、中間値に基づいてノード状態を決定することをさらに含む。さらに、方法は、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算することを含む。
2017509978.tif 000002
【特許請求の範囲】
【請求項１】
事象に基づくベイジアン推論および学習を行う方法であって、
複数のノードのうちの各々において入力事象を受信することと、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えることと、
前記中間値に少なくとも部分的に基づいてノード状態を決定することと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算することと、を備える、方法。
【請求項２】
前記入力事象をパルスに変換するために前記入力事象をフィルタリングすることをさらに備える、
請求項１に記載の方法。
【請求項３】
前記入力事象は、入力分布からのサンプルに対応する、
請求項１に記載の方法。
【請求項４】
前記バイアス重みは、事前確率に対応し、前記結合重みは、対数尤度を表す、
請求項１に記載の方法。
【請求項５】
前記ノードは、正規化される、
請求項１に記載の方法。
【請求項６】
前記ノードは、ニューロンを備える、
請求項１に記載の方法。
【請求項７】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１に記載の方法。
【請求項８】
前記点過程は、前記出力事象率に対応する強度関数を備える、
請求項１に記載の方法。
【請求項９】
前記計算することは、時間に基づいて行われる、
請求項１に記載の方法。
【請求項１０】
前記計算することは、事象に基づいて行われる、
請求項１に記載の方法。
【請求項１１】
前記決定することは、前記ノード状態を形成するために前記中間値を合計することを備える、
請求項１に記載の方法。
【請求項１２】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１に記載の方法。
【請求項１３】
前記入力事象は、少なくとも１つのセンサから供給される、
請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つのセンサは、アドレス事象表現カメラである、
請求項１３に記載の方法。
【請求項１５】
追加の入力事象を提供するためのフィードバックとして前記出力事象を供給することと、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加えることと、
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算することと、をさらに備える、
請求項１に記載の方法。
【請求項１６】
前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングすることをさらに備える、
請求項１５に記載の方法。
【請求項１７】
前記結合重みは、出力確率行列を備え、前記第２の組の結合重みは、遷移確率行列を備える、
請求項１５に記載の方法。
【請求項１８】
事象に基づくベイジアン推論および学習を行うための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサを備え、前記少なくとも１つのプロセッサは、
複数のノードのうちの各々において入力事象を受信し、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加え、
前記中間値に少なくとも部分的に基づいてノード状態を決定し、および
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するように構成される、装置。
【請求項１９】
前記少なくとも１つのプロセッサは、前記入力事象をパルスに変換するために前記入力事象をフィルタリングするようにさらに構成される、
請求項１８に記載の装置。
【請求項２０】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１８に記載の装置。
【請求項２１】
前記少なくとも１つのプロセッサは、時間に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサは、事象に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサは、前記ノード状態を形成するために前記中間値を合計することによって前記ノード状態を決定するようにさらに構成される、
請求項１８に記載の装置。
【請求項２４】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１８に記載の装置。
【請求項２５】
前記入力事象を供給するための少なくとも１つのセンサをさらに備える、
請求項２４に記載の装置。
【請求項２６】
前記少なくとも１つのプロセッサは、追加の入力事象を提供するためのフィードバックとして前記出力事象を供給し、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加え、および
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２７】
前記少なくとも１つのプロセッサは、前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングするようにさらに構成される、
請求項２６に記載の装置。
【請求項２８】
前記結合重みは、出力確率行列を備え、前記第２の組の結合重みは、遷移確率行列を備える、
請求項２７に記載の装置。
【請求項２９】
事象に基づくベイジアン推論および学習を行うための装置であって、
複数のノードのうちの各々において入力事象を受信するための手段と、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えるための手段と、
前記中間値に少なくとも部分的に基づいてノード状態を決定するための手段と、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するための手段と、を備える、装置。
【請求項３０】
事象に基づくベイジアン推論および学習を行うためのコンピュータプログラム製品であって、
プログラムコードを符号化した非一時的なコンピュータ読み取り可能媒体を備え、前記プログラムコードは、
複数のノードのうちの各々において入力事象を受信するためのプログラムコードと、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えるためのプログラムコードと、
前記中間値に少なくとも部分的に基づいてノード状態を決定するためのプログラムコードと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するためのプログラムコードと、を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]  本出願は、２０１４年２月２１日に出願された米国仮特許出願第６１／９４３，１４７号、および２０１４年３月６日に出願された米国仮特許出願第６１／９４９，１５４号の利益を主張するものであり、それらの開示は、ここにおける引用によってそれらの全体が明示で組み入れられている。
【技術分野】
【０００２】
[0002]  本開示の幾つかの態様は、概して、ニューラルシステム工学に関するものであり、より具体的には、確率論的スパイキングベイジアンネットワークに関する事象に基づく推論および学習のためのシステムおよび方法に関するものである。
【背景技術】
【０００３】
[0003]  相互に結合された人工ニューロンのグループ（すなわち、ニューロンモデル）を備えることができる人工的なニューラルネットワークは、計算デバイスであるかまたは計算デバイスによって実行される方法を表す。人工的なニューラルネットワークは、生物学上のニューラルネットワークにおける対応する構造および／または機能を有することができる。しかしながら、人工的なニューラルネットワークは、伝統的な計算技法が厄介である、非実際的である、または不適切である幾つかの用途に関する革新的で有用な計算技法を提供することができる。人工的なニューラルネットワークは、観測から機能を推論することができるため、該ネットワークは、タスクまたはデータの複雑さが従来の技法を負担のかかるものにする用途において特に有用である。
【発明の概要】
【０００４】
[0004] 本開示の一態様において、方法は、事象に基づくベイジアン推論および学習を行う。方法は、１つのグループのノードの各々において入力事象を受信することを含む。方法は、中間値を得るために入力事象にバイアス重みおよび／または結合重みを加えることも含む。さらに、方法は、中間値に基づいてノード状態を決定することを含む。方法は、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算することをさらに備える。
[0005]  本開示の他の態様において、装置は、事象に基づくベイジアン推論および学習を行う。装置は、メモリと、１つ以上のプロセッサと、を含む。プロセッサは、メモリに結合される。プロセッサは、一組のノードの各々において入力事象を受信するように構成される。プロセッサは、中間値を得るために入力事象にバイアス重みおよび／または結合重みを加えるようにも構成される。さらに、プロセッサは、中間値に基づいてノード状態を決定するように構成される。プロセッサは、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するようにさらに構成される。
[0006] さらに他の態様において、事象に基づくベイジアン推論および学習を行うための装置が開示される。装置は、一組のノードの各々において入力事象を受信するための手段を有する。装置は、中間値を得るために入力事象にバイアス重みおよび／または結合重みを加えるための手段も有する。さらに、装置は、中間値に基づいてノード状態を決定するための手段を有する。さらに、装置は、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するための手段を有する。
[0007] 本開示のさらに他の態様において、事象に基づくベイジアン推論および学習を行うためのコンピュータプログラム製品が開示される。コンピュータプログラム製品は、プログラムコードを符号化（encode）している非一時的なコンピュータ読み取り可能媒体を含む。プログラムコードは、一組のノードの各々において入力事象を受信するためのプログラムコードを含む。プログラムコードは、中間値を得るために入力事象にバイアス重みおよび／または結合重みを加えるためのプログラムコードも含む。さらに、プログラムコードは、中間値に基づいてノード状態を決定するためのプログラムコードを含む。プログラムコードは、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するためのプログラムコードをさらに含む。
[0008]  これは、後続する詳細な説明をより良く理解することができるようにするために本開示の特徴および技術上の利点をかなりおおまかに概説している。本開示の追加の特徴および利点が以下において説明される。この開示は、本開示の同じ目的を実行するためのその他の構造を変更または設計するための基礎として容易に利用できることが当業者によって認識されるべきである。該同等の構造は、添付される請求項において示される本開示の教示から逸脱するものではないことも当業者によって自覚されるべきである。その構成および動作方法の両方に関して、本開示の特徴を表すと確信される新規の特徴は、さらなる目的および利点とともに、添付される図と関係させて検討されたときに以下の説明からより良く理解されるであろう。しかしながら、各々の図は、例示および説明のみを目的として提供されるものであり、本開示の限界を定義するものであることは意図されないことが明示で理解されるべきである。
【図面の簡単な説明】
【０００５】
[0009]  本開示の特徴、性質、および利点は、同様の参照文字が全体を通じて相応に識別する図面と関連させたときに以下の詳細な説明からより明確になるであろう。
【図１】[0010]  図１は、本開示の幾つかの態様によるニューロンネットワーク例を示す。
【図２】[0011]  図２は、本開示の幾つかの態様による計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）の処理ユニット（ニューロン）の例を示す。
【図３】[0012]  図３は、本開示の幾つかの態様によるスパイク−タイミング依存可塑性（ＳＴＤＰ）の例を示す。
【図４】[0013]  図４は、本開示の幾つかの態様によるニューロンモデルの挙動を定義するための正領域および負領域の例を示す。
【図５】[0014]  図５は、本開示の幾つかの態様による汎用プロセッサを用いてニューラルネットワークを設計する実装例を示す。
【図６】[0015]  図６は、本開示の幾つかの態様によるメモリが個々の分散された処理ユニットとインタフェースすることができるニューラルネットワークを設計する実装例を示す。
【図７】[0016]  図７は、本開示の幾つかの態様による分散されたメモリおよび分散された処理ユニットに基づいてニューラルネットワークを設計する実装例を示す。
【図８】[0017]  図８は、本開示の幾つかの態様によるニューラルネットワークの実装例を示す。
【図９】[0018]  図９は、本開示の幾つかの態様によるベイジアンネットワークを例示したブロック図である。
【図１０】[0019]  図１０は、本開示の幾つかの態様による事象に基づくベイジアン推論および学習を行うための例示的なアーキテクチャを示したブロック図である。
【図１１】[0020]  図１１は、本開示の幾つかの態様による事象に基づくベイジアン推論および学習を行うための例示的なモジュールを示したブロック図である。
【図１２】[0021]  図１２は、本開示の幾つかの態様による事象に基づくベイジアン推論および学習を行うためのモジュールを用いたアドレス事象表現（ＡＥＲ）センサのための例示的なアーキテクチャを示したブロック図である。
【図１３Ａ】[0022]  図１３Ａは、本開示の幾つかの態様によるＡＥＲ検知アーキテクチャに関する例示的な用途を示す。
【図１３Ｂ】[0022]  図１３Ｂは、本開示の幾つかの態様によるＡＥＲ検知アーキテクチャに関する例示的な用途を示す。
【図１３Ｃ】[0022]  図１３Ｃは、本開示の幾つかの態様によるＡＥＲ検知アーキテクチャに関する例示的な用途を示す。
【図１４Ａ】[0023]  図１４Ａは、隠れマルコフモデル（ＨＭＭ）を例示した概略図である。
【図１４Ｂ】[0024]  図１４Ｂは、本開示の幾つかの態様によるＨＭＭに関する事象に基づく推論および学習のための例示的なアーキテクチャを示した高位ブロック図である。
【図１５】[0025]  図１５は、本開示の幾つかの態様によるＨＭＭに関する事象に基づく推論および学習のための例示的なアーキテクチャを示したブロック図である。
【図１６】[0026]  図１６は、本開示の幾つかの態様による事象に基づくベイジアン推論および学習を行うための方法を例示する。
【発明を実施するための形態】
【０００６】
[0027]  添付される図面と関係させて以下において示される詳細な説明は、様々な構成に関する説明であることが意図されており、ここにおいて説明される概念を実施することができる唯一の構成を表すことは意図されていない。詳細な説明は、様々な概念に関する徹底的な理解を提供することを目的とする具体的な詳細を含む。しかしながら、これらの概念は、これらの具体的な詳細なしに実施可能であることが当業者にとって明らかになるであろう。幾つかの例において、よく知られた構造およびコンポーネントは、該概念を曖昧にすることを避けるためにブロック図の形態で示される。
[0028]  教示に基づき、本開示の適用範囲は、独立して実装されるかまたは本開示のいずれかのその他の態様と組み合わされているかにかかわらず、本開示のあらゆる態様を網羅することが意図されることを当業者は認識すべきである。例えば、装置は、示される態様のうちのあらゆる数を用いて実装することができ、方法は、示される態様のうちのあらゆる数を用いて実行することができる。さらに、本開示の適用範囲は、該装置または示される本開示の様々な態様に加えてのまたは示される本開示の様々な態様以外のその他の構造、機能、または構造と機能を用いて実行される方法を網羅することが意図される。開示される本開示のいずれの態様も、請求項の１つ以上の要素によって具現化することができることが理解されるべきである。
[0029]  単語“例示的な”は、ここでは、“例、実例、または例示”を意味するために使用される。ここにおいて“例示的な”として説明されるいずれの態様も、必ずしもその他の態様よりも好ましいまたは有利であると解釈されるべきでない。
[0030]  ここにおいては特定の態様が説明されるが、これらの態様の数多くの変形および置換が本開示の適用範囲内にある。好ましい態様の幾つかの利益および利点が述べられているが、本開示の適用範囲は、特定の利益、用途または目標に限定されることは意図されない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワークおよびプロトコルに対して広範囲にわたって適用可能であることが意図され、それらのうちの一部は、図内におけるおよび好ましい態様に関する以下の説明内における例として示される。詳細な説明および図面は、限定するのではなく本開示を単に例示するものであり、本開示適用範囲は、添付される請求項およびそれらの同等物によって定められる。
ニューラルシステム例、訓練および動作
[0031]  図１は、本開示の幾つかの態様による複数のレベルのニューロンを有する人工的なニューラルシステム例１００を示す。ニューラルシステム１００は、シナプス結合（すなわち、フィードフォワード結合）１０４のネットワークを通じて他のレベルのニューロンに結合された１つのレベルのニューロン１０２を有することができる。単純化を目的として、図１には２つのレベルのニューロンのみが例示されるが、ニューラルシステムにはそれよりも少ない又は多いレベルのニューロンが存在することができる。ニューロンのうちの一部は、側方結合を通じて同じ層のその他のニューロンに結合することができることが注目されるべきである。さらに、ニューロンのうちの一部は、フィードバック結合を通じて前層のニューロンに結合することができる。
[0032]  図１において例示されるように、レベル１０２内の各ニューロンは、前レベル（図１に示されていない）のニューロンによって生成することができる入力信号１０８を受信することができる。信号１０８は、レベル１０２ニューロンの入力電流を表すことができる。この電流は、膜電位を充電するためにニューロン膜上に蓄積することができる。膜電位がそれの閾値に達したときに、ニューロンは、発火し、次のニューロンレベル（例えば、レベル１０６）に伝達されるべき出力スパイクを生成することができる。幾つかのモデル化アプローチ法において、ニューロンは、次のニューロンレベルに信号を連続的に伝達することができる。この信号は、典型的には、膜電位の関数である。該挙動は、ハードウェアおよび／またはソフトウェアにおいてエミュレートまたはシミュレーションすることができ、以下において説明されるようなアナログおよびデジタル実装を含む。
[0033]  生物のニューロンにおいては、ニューロンが発火したときに生成される出力スパイクは、活動電位と呼ばれる。この電気信号は、相対的に高速で、過渡的な神経インパルスであり、約１００ｍＶの振幅および約１ｍｓの持続時間を有する。一連の結合されたニューロンを有するニューラルシステムの特定の実施形態において（例えば、図１における１つのニューロンレベルから他へのスパイクの伝達）、すべての活動電位は、基本的には、同じ振幅および持続時間を有し、従って、信号内の情報は、振幅ではなく、周波数およびスパイク数、またはスパイク時間のみによって表すことができる。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、およびその他のスパイクまたはスパイク（複数）に対するスパイク時間によって決定することができる。スパイクの重要性は、以下において説明されるように、ニューロン間の結合に加えられる重みによって決定することができる。
[0034]  １つのニューロンレベルから他へのスパイクの伝達は、図１において例示されるように、シナプス結合（または単に“シナプス”）１０４のネットワークを通じて達成することができる。シナプス１０４に対して、レベル１０２のニューロンは、シナプス前ニューロンとみなすことができ、レベル１０６のニューロンは、シナプス後ニューロンとみなすことができる。シナプス１０４は、レベル１０２のニューロンから出力信号（すなわち、スパイク）を受信し、調整可能なシナプス荷重ｗ１（ｉ，ｉ＋１）、．．．、ｗＰ（ｉ，ｉ＋１）によりそれらの信号をスケーリングすることができ、ここで、Ｐは、レベル１０２のニューロンとレベル１０６のニューロンと間のシナプス結合の総数であり、ｉは、ニューロンレベルのインジケータである。図１の例において、ｉは、ニューロンレベル１０２を表し、ｉ＋１は、ニューロンレベル１０６を表す。さらに、スケーリングされた信号は、レベル１０６における各ニューロンの入力信号として結合することができる。レベル１０６におけるすべてのニューロンは、対応する結合された入力信号に基づいて出力スパイク１１０を生成することができる。出力スパイク１１０は、（図１には示されていない）他のシナプス結合ネットワークを用いて他のニューロンレベルに伝達することができる。
[0035]  生物のシナプスは、シナプス後ニューロンでの興奮性または抑制性（過分極）活動のいずれも調停することができ、および、ニューロン信号を増幅する働きをすることもできる。興奮性信号は、膜電位を脱分極する（すなわち、静止電位に関する膜電位を高くする）。ある閾値を超えて膜電位を脱分極するためにある一定の期間内に十分な興奮性信号が受信される場合は、シナプス後ニューロンにおいて活動電位が発生する。対照的に、抑制性信号は、概して、膜電位を過分極する（すなわち、引き下げる）。抑制性信号は、十分に強い場合は、興奮性信号の和に対抗し、膜電位が閾値に達するのを防止する。シナプス興奮に対抗することに加えて、シナプス抑制は、自発的に能動的なニューロンを強力に制御することができる。自発的に能動的なニューロンとは、例えば、それの力学またはフィードバックに起因して、さらなる入力なしでスパイクするニューロンを意味する。これらのニューロンにおける活動電位の自発的な発生を抑制することによって、シナプス抑制は、ニューロンにおける発火パターンを形成することができ、そのことは、概してスカルプチャリング（ｓｃｕｌｐｔｕｒｉｎｇ）と呼ばれる。様々なシナプス１０４は、希望される挙動に依存して、興奮性シナプスまたは抑制性シナプスの組み合わせとして働くことができる。
[0036]  ニューラルシステム１００は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはその他のプログラマブルロジックデバイス（ＰＬＤ）、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネントと、プロセッサによって実行されるソフトウェアモジュール、またはそれらの何らかの組み合わせによってエミュレートすることができる。ニューラルシステム１００は、広範な用途、例えば、画像およびパターン認識、機械学習、モーター制御、等、において利用することができる。ニューラルシステム１００内の各ニューロンは、ニューロン回路として実装することができる。出力スパイクを開始させる閾値まで荷電されたニューロン膜は、例えば、内部を流れる電流を積分するコンデンサとして実装することができる。
[0037]  一態様において、コンデンサは、ニューロン回路の電流積分デバイスとして取り除くことができ、および、より小型のメムリスタ（memristor）素子をその代わりに使用することができる。このアプローチ法は、ニューロン回路において、および、かさばるコンデンサが電流積分器として利用される様々なその他の用途において適用することができる。さらに、シナプス１０４の各々は、メムリスタ素子に基づいて実装することができ、ここで、シナプス荷重の変化は、メムリスタ抵抗の変化に関連することができる。ナノメートル規模のサイズのメムリスタを用いることで、ニューロン回路の面積を実質的に縮小し、シナプスを実質的に減少させることができ、大規模なニューラルシステムハードウェアの実装をより実用的にすることができる。
[0038]  ニューラルシステム１００をエミュレートするニューラルプロセッサの機能は、ニューロン間の結合の強度を制御することができるシナプス結合荷重に依存することができる。シナプス荷重は、プロセッサがパワーダウンされた後にプロセッサの機能を保存するために非揮発性メモリに格納することができる。一態様において、シナプス荷重メモリは、主ニューラルプロセッサチップから分離された外部のチップに実装することができる。シナプス荷重メモリは、交換可能なメモリカードとしてニューラルプロセッサとは別個にパッケージングすることができる。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに格納されたシナプス荷重に基づくことができる。
[0039]  図２は、本開示の幾つかの態様による計算ネットワーク（例えば、ニューラルシステムまたはニューラルネットワーク）の処理ユニット（例えば、ニューロンまたはニューロン回路）２０２の例示的な概略図２００を示す。例えば、ニューロン２０２は、図１からのレベル１０２および１０６のニューロンのうちのいずれかに対応することができる。ニューロン２０２は、複数の入力信号２０４１乃至２０４Ｎを受信することができ、入力信号２０４１乃至２０４Ｎは、ニューラルシステムの外部の信号、または、同じニューラルシステムのその他のニューロンによって生成された信号、または両方であることができる。入力信号は、電流、コンダクタンス、電圧、実数値、および／または複素数値であることができる。入力信号は、固定小数点または浮動小数点表現を有する数値を備えることができる。これらの入力信号は、調整可能なシナプス荷重２０６１乃至２０６Ｎ（Ｗ１乃至ＷＮ）により信号をスケーリングするシナプス結合を通じてニューロン２０２に引き渡すことができ、ここで、Ｎは、ニューロン２０２の入力結合の総数であることができる。
[0040]  ニューロン２０２は、出力信号２０８（すなわち、信号Ｙ）を生成するために、スケーリングされた入力信号を結合し、結合されたスケーリングされた入力を使用することができる。出力信号２０８は、電流、コンダクタンス、電圧、実数値、および／または複素数値であることができる。出力信号は、固定小数点または浮動小数点表現を有する数値であることができる。次に、出力信号２０８は、同じニューラルシステムのその他のニューロンへの入力信号として、または、同じニューロン２０２への入力信号として、またはニューラルシステムの出力として、伝達することができる。
[0041]  処理ユニット（ニューロン）２０２は、電気回路によってエミュレートすることができ、それの入力および出力接続は、シナプス回路との電気的接続によってエミュレートすることができる。処理ユニット２０２およびそれの入力接続および出力接続は、ソフトウェアコードによってエミュレートすることができる。処理ユニット２０２は、電気回路によってエミュレートすることもでき、それの入力接続および出力接続は、ソフトウェアコードによってエミュレートすることができる。一態様において、計算ネットワーク内の処理ユニット２０２は、アナログ電気回路であることができる。他の態様において、処理ユニット２０２は、デジタル電気回路であることができる。さらに他の態様において、処理ユニット２０２は、アナログおよびデジタル構成要素を有する混合信号電気回路であることができる。計算ネットワークは、上記のいずれかの形態の処理ユニットを含むことができる。該処理ユニットを使用する計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）は、広範な用途、例えば、画像およびパターン認識、機械学習、モーター制御、等、において利用することができる。
[0042]  ニューラルネットワークの訓練中に、シナプス荷重（例えば、図１からの荷重ｗ１（ｉ，ｉ＋ｉ）、．．．、ｗＰ（ｉ，ｉ＋ｉ）および／または図２からの荷重２０６１乃至２０６Ｎ）は、学習則に従ってランダム値を用いて初期化し、増加または減少させることができる。学習則の例は、スパイク−タイミング依存可塑性（ＳＴＤＰ）学習則、Ｈｅｂｂ則、Ｏｊａ則、Ｂｉｅｎｅｎｓｔｏｃｋ−Ｃｏｐｐｅｒ−Ｍｕｎｒｏ（ＢＣＭ）則、等を含むが、スパイク−タイミング依存可塑性（ＳＴＤＰ）学習則、Ｈｅｂｂ則、Ｏｊａ則、Ｂｉｅｎｅｎｓｔｏｃｋ−Ｃｏｐｐｅｒ−Ｍｕｎｒｏ（ＢＣＭ）則、等に限定されないことを当業者は認識するであろう。幾つかの態様において、荷重は、２つの値のうちの１つに落ち着くまたは収束することができる（すなわち、荷重の２モード分布）。この効果は、各シナプス荷重に関するビット数を減少させるために、シナプス荷重を格納しているメモリからの読み取り速度およびメモリへの書き込み速度を上昇させるために、および、シナプスメモリの電力および／またはプロセッサ消費量を低減させるために利用することができる。
シナプスのタイプ
[0043]  ニューラルネットワークのハードウェアモデルおよびソフトウェアモデルにおいて、シナプス関連機能の処理は、シナプスのタイプに基づくことができる。シナプスのタイプは、非可塑性シナプス（荷重および遅延の変化なし）、可塑性シナプス（荷重が変化することがある）、構造上の遅延可塑性シナプス（荷重および遅延が変化することがある）、完全可塑性シナプス（荷重、遅延および結合性が変化することがある）、およびそれらの変形（例えば、遅延が変化することがあるが、荷重および結合性の変化なし）であることができる。複数のタイプの利点は、処理を細分できることである。例えば、非可塑性シナプスは、実行されるべき可塑性関数を使用することができない（または、該
関数が完了するのを待つ）。同様に、遅延および荷重可塑性を、まとめてまたは別々に、順次にまたは平行して、行うことができる動作に細分することができる。異なるタイプのシナプスは、適用される異なる可塑性のタイプの各々に関して異なるルックアップテーブルまたは公式およびパラメータを有することができる。このように、方法は、シナプスのタイプに関して該当するテーブル、公式、およびパラメータにアクセスする。
【０００７】
[0044]  スパイク−タイミングに依存する構造上の可塑性をシナプスの可塑性から独立して実行することができるという事実にはさらなる意味合いが存在する。構造上の可塑性は、荷重規模に変化がない場合でも実行することができる（例えば、荷重が最小値または最大値に達している、または何らかのその他の理由で変化されない場合、構造上の可塑性（すなわち、遅延変化量）は、スパイク前−後時間差の直接的な関数であることができる）。代替として、構造上の可塑性は、荷重変化量の関数としてまたは荷重または荷重の変化の限度に関連する条件に基づいて設定することができる。例えば、シナプス遅延は、荷重変化が生じたときのみまたは荷重がゼロに達している場合に変化することができ、ただし、荷重が最大値である場合は変化することができない。しかしながら、これらのプロセスを並行させてメモリアクセス数および重複を低減させることができるようにするために独立した機能を有するのが有利であることができる。
シナプス可塑性の決定
[0045]  ニューロ可塑性（または、単に“可塑性”）は、脳内のニューロンおよびニューラルネットワークが新しい情報、感覚の刺激、発達、損傷、または機能不良に応答してそれらのシナプス結合および挙動を変えることができることである。可塑性は、生物学における学習と記憶、および計算上の神経科学およびニューラルネットワークにとって重要である。様々な形の可塑性、例えば、（例えば、Ｈｅｂｂｉａｎ理論による）シナプス可塑性、スパイク−タイミング依存可塑性（ＳＴＤＰ）、非シナプス可塑性、活動依存可塑性、構造上の可塑性、およびホメオスタティック可塑性、について研究されてきている。
【０００８】
[0046]  ＳＴＤＰは、ニューロン間のシナプス結合の強度を調整する学習プロセスである。結合強度は、特定のニューロンの出力および受信された入力スパイク（すなわち、活動電位）の相対的タイミングに基づいて調整される。ＳＴＤＰプロセス下では、ある一定のニューロンへの入力スパイクが平均してそのニューロンの出力スパイク直前に発生する傾向がある場合に長期増強（ＬＴＰ）が生じることができる。次に、その特定の入力は、多少より強くされる。他方、入力スパイクが平均して出力スパイクの直後に発生する傾向がある場合は長期抑圧（ＬＴＤ）が生じることができる。次に、その特定の入力は多少より弱くされ、従って、“スパイク−タイミング依存可塑性”と呼ばれる。従って、シナプス後ニューロンの興奮の原因であると思われる入力は、将来貢献する可能性がさらにより高くなり、シナプス後スパイクの原因でない入力は、将来貢献する可能性が低くなる。このプロセスは、最初の組の結合の部分組が残り、他方すべてのその他の影響が意味のないレベルまで低下するまで継続する。
【０００９】
[0047]  ニューロンは、概して、それの入力のうちの多くが短い期間（すなわち、出力を引き起こす上で十分に累積する）内に発生したときに出力スパイクを生成するため、典型的に残っている入力の部分組は、時間の点で相関する傾向があったそれらを含む。さらに、出力スパイクの前に発生する入力は強化されるため、最も早期の十分に累積的な相関関係の指示を提供する入力が、最終的には、ニューロンへの最後の入力になる。
【００１０】
[0048]  ＳＴＤＰ学習則は、シナプス前ニューロンのスパイク時間ｔｐｒｅとシナプス後ニューロンのスパイク時間ｔｐｏｓｔとの間の時間差（すなわち、ｔ＝ｔｐｏｓｔ−ｔｐｒｅ）の関数としてシナプス後ニューロンにシナプス前ニューロンを結合するシナプスのシナプス荷重を有効に好適化することができる。ＳＴＤＰの典型的な仕組みは、時間差が正である（シナプス前ニューロンがシナプス後ニューロンの前に発火する）場合はシナプス荷重を増大させ（すなわち、シナプスを増強し）、時間差が負である（シナプス後ニューロンがシナプス前ニューロンの前に発火する）場合はシナプス荷重を低減させる（すなわち、シナプスを抑圧する）ことである。
【００１１】
[0049]  ＳＴＤＰプロセスにおいて、経時でのシナプス荷重の変化は、典型的には、以下によって与えられるように、指数的減衰を用いて達成することができる。
【００１２】
【数１】
2017509978.tif 000003
【００１３】
ここで、ｋ＋およびｋ−τｓｉｇｎ（Δｔ）は、正および負のそれぞれの時間差に関する時定数であり、ａ＋およびａ−は、対応するスケーリングの大きさであり、μは、正の時間差および／または負の時間差に対して適用することができるオフセットである。
【００１４】
[0050]  図３は、ＳＴＤＰによるシナプス前スパイクおよびシナプス後スパイクの相対的タイミングの関数としてのシナプス荷重変化の例示的な概略図３００を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合は、グラフ３００の一部分３０２において例示されるように、対応するシナプス荷重を増大させることができる。この荷重増大は、シナプスのＬＴＰと呼ぶことができる。ＬＴＰの量は、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差の関数としてほぼ指数的に低減することがグラフ部分３０２から観察することができる。逆の発火順序は、グラフ３００の一部分３０４において例示されるように、シナプス荷重を低減させ、シナプスのＬＴＤを引き起こすことができる。
【００１５】
[0051]  図３のグラフ３００において例示されるように、負のオフセットμは、ＳＴＤＰグラフのＬＴＰ（原因）部分３０２に対して適用することができる。ｘ軸（ｙ＝０）の交差点（ｐｏｉｎｔ  ｏｆ  ｃｒｏｓｓ−ｏｖｅｒ）３０６は、層ｉ−１からの原因入力に関する相関関係を考慮するために最大の時間のずれと一致するように構成することができる。フレームに基づく入力（すなわち、スパイクまたはパルスを備える特定の持続時間のフレームの形態である入力）の場合は、オフセット値μは、フレーム境界を反映させるように計算することができる。フレーム内の第１の入力スパイク（パルス）は、シナプス後電位によって直接モデル化されるようにまたはニューラル状態に対する影響の点で経時で減衰するとみなすことができる。フレーム内の第２の入力スパイク（パルス）が特定の時間フレームと相関関係にあるかまたは該当するとみなされる場合は、フレーム前後の該当する時間は、その時間フレーム境界で分離し、ＳＴＤＰ曲線の１つ以上の部分をオフセットすることによって可塑性の点で異なる形で取り扱うことができ、従って、該当時間内の値は、異なることができる（例えば、１つのフレームよりも大きい場合は正、１つのフレームよりも小さい場合は負）。例えば、負のオフセットμは、オフセットＬＴＰに設定することができ、従って、曲線は、実際には、フレーム時間よりも大きい前−後時間においてはゼロを下回り、従って、ＬＴＰではなくＬＴＤの一部である。
ニューロンモデルおよび動作
[0052]  役に立つスパイキングニューロンモデルの設計に関しては幾つかの一般的な原則が存在する。良いニューロンモデルは、２つの計算領域、すなわち、一致検出（ｃｏｉｎｃｉｄｅｎｃｅ  ｄｅｔｅｃｔｉｏｎ）および関数計算、の点で豊富な電位挙動を有することができる。さらに、良いニューロンモデルは、時間的コーディングを可能にするための２つの要素を有するべきである。すなわち、入力の到着時間は出力時間に影響を与え、一致検出は、狭い時間ウィンドウを有することができる。最後に、計算的に魅力的であるようにするために、良いニューロンモデルは、連続時間における閉形式解（ｃｌｏｓｅｄ  ｆｏｒｍ  ｓｏｌｕｔｉｏｎ）および安定した挙動を有することができ、ニアアトラクタ（ｎｅａｒ  ａｔｔｒａｃｔｏｒ）と鞍点とを含む。換言すると、役に立つニューロンモデルは、実際的であり、豊富で、現実的で、生物学的に矛盾しない挙動をモデル化するために使用することができ、および、神経回路をエンジニアリングおよびリバースエンジニアリングするために使用することができるモデルである。
【００１６】
[0053]  ニューロンモデルは、事象、例えば、入力の到着、出力スパイクまたはその他の事象、例えば、内部であるかまたは外部であるか、に依存することができる。豊富な挙動上のレパートリーを達成するために、複雑な挙動を呈することができるステートマシンマシンを望むことができる。入力による貢献（存在する場合）とは別個に、事象の発生自体がステートマシンに影響を及ぼし、事象に後続する力学を制約する可能性がある場合は、システムの将来の状態は、状態および入力の関数であるだけでなく、状態、事象、および入力の関数でもある。
【００１７】
[0054]  一態様において、ニューロンｎは、次の力学によって決定される膜電圧ｖｎ（ｔ）を有するｓｐｉｋｉｎｇ  ｌｅａｋｙ−ｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ（リークを有する積分発火スパイキング） ニューロンとしてモデル化することができる。
【００１８】
【数２】
2017509978.tif 000004
【００１９】
ここで、αおよびβは、パラメータであり、ｗｍ，ｎは、シナプス後ニューロンｎにシナプス前ニューロンｍを結合するシナプスに関するシナプス荷重であり、ｙｍ（ｔ）は、ニューロンｎの細胞体における到着までのΔｔｍ，ｎに従って樹状突起または軸索遅延によって遅延させることができるニューロンのスパイキング出力である。
【００２０】
[0055]  シナプス後ニューロンへの十分な入力が確立される時からシナプス後ニューロンが実際に発火する時までの遅延が存在することが注目されるべきである。力学的スパイキングニューロンモデル、例えば、Ｉｚｈｉｋｅｖｉｃｈの単純モデル、では、脱分極閾値ｖｔとピークスパイク電圧ｖｐｅａｋとの間に差がある場合に時間遅延を被ることがある。例えば、単純モデルにおいて、ニューロン細胞体力学は、電圧および回収に関する微分方程式の対によって決定することができる。
すなわち、
【００２１】
【数３】
2017509978.tif 000005
【００２２】
ここで、ｖは、膜電位であり、ｕは、膜回収変数であり、ｋは、膜電圧ｖのタイムスケールを示すパラメータであり、ａは、回収変数ｕのタイムスケールを示すパラメータであり、ｂは、膜電位ｖの閾下変動に対する回収変数ｕの感度を示すパラメータであり、ｖは、膜静止電位であり、Ｉは、シナプス電流であり、Ｃは、膜のキャパシタンスである。このモデルにより、ニューロンは、ｖ＞ｖｐｅａｋであるときにスパイクすると定義される。
Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄモデル
[0056]  Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄニューロンモデルは、非常に様々な神経挙動を複製することができる最小デュアル領域（ｒｅｇｉｍｅ）スパイキング線形力学的モデルである。モデルの一次元または二次元線形力学は、２つの領域を有することができ、時定数（およびカップリング）は、領域に依存することができる。閾下領域では、時定数は、規約により負であり、概して生物学的に一致する線形方法で細胞を静止状態に戻す働きをする漏洩チャネル力学を表す。閾上領域における時定数は、規約により正であり、スパイク生成の際にレーテンシーを引き起こす一方で概して細胞をスパイクさせる耐漏洩（ａｎｔｉ−ｌｅａｋｙ）チャネル力学を反映する。
[0057]  図４において例示されるように、モデル４００の力学は、２つ（またはそれよりも多い）領域に分割することができる。これらの領域は、負領域４０２（互換可能な形でｌｅａｋｙ−ｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ（ＬＩＦ）領域とも呼ばれ、ＬＩＦニューロンモデルと混同しないこと）および正領域４０４（互換可能な形でａｎｔｉ−ｌｅａｋｙ−ｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ（ＬＩＦ）領域とも呼ばれ、ＬＩＦニューロンモデルと混同しないこと）と呼ぶことができる。負領域４０２においては、状態は、将来の事象時に静止に向かう傾向がある（ｖ）。この負領域において、モデルは、概して、時間的入力検出プロパティおよびその他の閾下挙動を呈する。正領域４０４においては、状態は、スパイキング事象に向かう傾向がある（ｖｓ）。この正領域において、モデルは、計算プロパティ、例えば、後続する入力事象に依存してスパイクすることのレーテンシーを引き起こす、を呈する。事象に関する力学の公式化およびこれらの２つの領域への力学の分離は、モデルの基本的な特徴である。
[0058]  線形デュアル領域二次元力学（状態ｖおよびｕ）は、規約によって以下のように定義することができる。
【００２３】
【数４】
2017509978.tif 000006
【００２４】
ここで、ｑρおよびｒは、カップリングに関する線形変換変数である。
[0059]  記号ρは、ここにおいては、特定の領域に関する関係について論じるまたは特定の領域に関する関係を表現するときには、記号ρを負領域および正領域のそれぞれに関する符号“−”または“＋”に代える規約を有する力学領域を表すために使用される。
[0060]  モデル状態は、膜電位（電圧）ｖおよび回復電流ｕによって定義される。基本形では、領域は、基本的にはモデル状態によって決定される。正確かつ一般的な定義に関して微妙であるが重要である側面が存在するが、当面は、モデルは、電圧ｖが閾値（ｖ＋）を上回る場合は正領域にあり、そうでない場合は負領域４０２にあるとみなすこと。
[0061]  領域に依存する時定数は、負領域時定数であるτ−と、正領域時定数であるτ＋と、を含む。回復電流時定数τｕは、典型的には、領域から独立している。便宜上、負領域時定数τ−は、典型的には、τｕがそうであるように、指数およびτ＋が概して正になる正領域に関する場合と同じ電圧展開式を使用することができるように減衰を反映させるために負の量として指定される。
[0062]  ２つの状態要素の力学は、ヌルクラインから状態をオフセットする変換によって事象時に結合することができ、ここで、変換変数は以下の通りである。
【００２５】
【数５】
2017509978.tif 000007
【００２６】
ここで、δ、ε、βおよびｖ−、ｖ＋はパラメータである。ｖρに関する２つの値は、２つの領域に関する基準電圧に関する基礎である。パラメータｖ−は、負領域に関する基礎電圧であり、膜電位は、概して、負領域ではｖ−に向かって減衰する。パラメータｖ＋は、正領域に関する基礎電圧であり、膜電位は、概して、正領域ではｖ＋から離れる傾向がある。
[0063]  ｖおよびｕに関するヌルクラインは、変換変数ｑρおよびｒの負によってそれぞれ与えられる。パラメータδは、ｕヌルクラインの傾きを制御するスケールファクタである。パラメータεは、典型的には、−ｖ−に設定される。パラメータβは、両方の領域におけるｖヌルクラインの傾きを制御する抵抗値である。τρ時定数パラメータは、各領域において、指数減衰だけでなくヌルクラインの傾きも制御する。
[0064]  モデルは、電圧ｖが値ｖｓに達したときにスパイクすると定義することができる。後続して、状態は、（スパイク事象と同じであることができる）リセット事象時にリセットすることができる。
【００２７】
【数６】
2017509978.tif 000008
【００２８】
[0065]  モーメントカップリング（ｍｏｍｅｎｔａｒｙ  ｃｏｕｐｌｉｎｇ）の原理により、状態（および、単一の指数項を有する）に関してだけでなく、特定の状態に達する時間に関しても閉形式解が可能である。閉形式状態解は以下の通りである。
【００２９】
【数７】
2017509978.tif 000009
【００３０】
[0066]  従って、モデル状態は、事象、例えば、入力（シナプス前スパイク）または出力（シナプス後スパイク）、の時点のみに更新することができる。動作は、いずれの特定の時点でも行うことができる（入力または出力が存在するかどうかを問わない）。
【００３１】
[0067]  さらに、モーメントカップリング原理により、シナプス後スパイクの時間を予想することができ、従って、特定の状態に達する時間を反復法または数値法（例えば、オイラー数値法）なしで事前に決定することができる。前の電圧状態ｖ０が与えられている場合、電圧状態ｖｆに達するまでの時間遅延は以下によって与えられる。
【００３２】
【数８】
2017509978.tif 000010
【００３３】
[0068]  スパイクは電圧状態ｖがｖｓに達する時間に発生すると定義される場合は、電圧がある所定の状態ｖにある時間から測定した場合のスパイクが発生するまでの時間量、または相対的遅延、に関する閉形式解は以下のようになる。
【００３４】
【数９】
2017509978.tif 000011
【００３５】
[0069]  モデル力学に関する上の定義は、モデルが正領域にあるかまたは負領域にあるかに依存する。述べられるように、カップリングおよび領域ρは、事象の時点で計算することができる。状態伝播の目的上、領域およびカップリング（変換）変数は、最後の（前の）事象の時点での状態に基づいて定義することができる。スパイク出力時間を後続して予想する目的上、領域およびカップリング変数は、次の（現在の）事象時点での状態に基づいて定義することができる。
【００３６】
[0070]  Ｃｏｌｄモデルの可能な実装は幾つか存在し、時間の点でのシミュレーション、エミュレーションまたはモデル化を行う。これは、例えば、事象更新モードと、ステップ−事象更新モードと、ステップ−更新モードと、を含む。事象更新は、状態が（特定の時点の）事象または“事象更新”に基づいて更新される更新である。ステップ更新は、モデルがある間隔（例えば、１ｍｓ）で更新される更新である。これは、反復法または数値法を必ずしも利用しない。事象に基づく実装は、ステップにおいてまたはステップ間で事象が発生した場合のみにモデルを更新することによってまたは“ステップ−事象”更新によってステップに基づくシミュレータ内での時間が限定された解決時にも可能である。
確率論的スパイキングニューラルネットワークに関する事象に基づく推論および学習
[0071]  本開示の態様は、事象に基づくベイジアン推論および学習を行うことが対象である。
【００３７】
[0072]  幾つかの態様において、スパイキングニューラルネットワークは、一般的なスパイク応答モデル（ＳＲＭ）に準拠することができ、および、事象に基づくスパイクタイミング依存可塑性規則を学習のために使用することができる。これらは、神経形態学的ハードウェア設計において実装することができる。提案されるプロセスは完全に事象に基づくため、例えば、アドレス−事象表現に基づいて、センサからの事象ストリームを処理するのに役立つことができる。
【００３８】
[0073]  図５は、本開示の幾つかの態様による汎用プロセッサ５０２を用いた上記の事象に基づくベイジアン推論および学習の実装例５００を示す。メモリブロック５０４には変数（神経信号）、シナプス荷重、計算ネットワーク（ニューラルネットワーク）に関連するシステムパラメータ、遅延、周波数ビン情報、ノード状態情報、バイアス重み情報、結合重み情報、および／または発火率情報を格納することができ、他方、汎用プロセッサ５０２で実行される命令は、プログラムメモリ５０６からロードすることができる。本開示の一態様において、汎用プロセッサ５０２にロードされた命令は、ノードにおいて入力事象を受信し、中間値に基づいてノード状態を決定し、および、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するためのコードを備えることができる。
【００３９】
[0074]  図６は、本開示の幾つかの態様による計算ネットワーク（ニューラルネットワーク）の個々の（分散された）処理ユニット（ニューラルプロセッサ）６０６と相互接続ネットワーク６０４を介してインタフェースすることができる前記の事象に基づくベイジアン推論および学習の実装例６００を示す。メモリ６０２には変数（神経信号）、シナプス荷重、計算ネットワーク（ニューラルネットワーク）に関連するシステムパラメータ、遅延、周波数ビン情報、ノード状態情報、バイアス重み情報、結合重み情報、および／または発火率情報を格納することができ、および、メモリ６０２から相互接続ネットワーク６０４の接続を介して各処理ユニット（ニューラルプロセッサ）６０６内にロードすることができる。本開示の一態様において、処理ユニット６０６は、ノードにおいて入力事象を受信し、中間値を得るために入力事象にバイアス重みおよび結合重みを加え、中間値に基づいてノード状態を決定し、および、確率論的点過程に従って出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するように構成することができる。
[0075]  図７は、上記の事象に基づくベイジアン推論および学習の実装例７００を示す。図７において例示されるように、１つのメモリバンク７０２を計算ネットワーク（ニューラルネットワーク）の１つの処理ユニット７０４と直接インタフェースすることができる。各メモリバンク７０２は、変数（神経信号）、シナプス荷重、および／または対応する処理ユニット（ニューラルプロセッサ７０４に関連するシステムパラメータ、遅延、周波数ビン情報、ノード状態情報、バイアス重み情報、結合重み情報、および／または発火率情報を格納することができる。本開示の一態様において、処理ユニット７０４は、ノードにおいて入力事象を受信し、中間値を得るために入力事象にバイアス重みおよび結合重みを加え、中間値に基づいてノード状態を決定し、および、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するように構成することができる。
[0076]  図８は、本開示の幾つかの態様によるニューラルネットワーク８００の実装例を示す。図８において例示されるように、ニューラルネットワーク８００は、ここにおいて説明される方法の様々な動作を実行することができる複数のローカル処理ユニット８０２を有することができる。各ローカル処理ユニット８０２は、ニューラルネットワークのパラメータを格納するローカル状態メモリ８０４とローカルパラメータメモリ８０６とを備えることができる。さらに、ローカル処理ユニット８０２は、ローカルモデルプログラムを格納するためのローカル（ニューロン）モデルプログラム（ＬＭＰ）メモリ８０８、ローカル学習プログラムを格納するためのローカル学習プログラムを格納するためのローカル学習プログラム（ＬＬＰ）メモリ８１０、およびローカル結合メモリ８１２を有することができる。さらに、図８において例示されるように、各ローカル処理ユニット８０２は、ローカル処理ユニットのローカルメモリに関する構成を提供するための構成プロセッサユニット８１４と、および、ローカル処理ユニット８０２間でのルーティングを提供するルーティングユニット８１６と、インタフェースすることができる。
[0077]  一構成において、ニューロンモデルは、ノードにおいて入力事象を受信し、中間値を得るために入力事象にバイアス重みおよび結合重みを加え、中間値に少なくとも部分的に基づいてノード状態を決定し、および、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するように構成される。ニューロンモデルは、受信する手段と、加える手段と、決定する手段と、計算する手段と、を含む。一態様において、受信する手段、加える手段、決定する手段、および／または計算する手段は、示される機能を果たすように構成された汎用プロセッサ５０２、プログラムメモリ５０６、メモリブロック５０４、メモリ６０２、相互接続ネットワーク６０４、処理ユニット６０６、処理ユニット７０４、ローカル処理ユニット８０２、および／またはルーティング接続処理素子８１６であることができる。他の構成において、上記の手段は、上記の手段によって示される機能を果たすように構成されたいずれかのモジュールまたはいずれかの装置であることができる。
[0078]  本開示の幾つかの態様により、各ローカル処理ユニット８０２は、ニューラルネットワークの希望される１つ以上の機能上の特徴に基づいてニューラルネットワークのパラメータを決定し、および、決定されたパラメータがさらに好適化、チューニングおよび更新されるのに応じて希望される機能上の特徴に向けて１つ以上の機能上の特徴を発展させるように構成することができる。
[0079]  図９は、本開示の態様によるベイジアンネットワークを例示したブロック図９００である。ベイジアンネットワークは、推理における確率変数の相互依存性の自然な表現を提供することができる。図９を参照し、ノードＸおよびＹが示される。ノードＸ（９０２）およびＹ（９０４）は、確率変数を備えることができ、および、ＸおよびＹのある一定の相互依存性を有する有限の一組の状態の離散状態にあることができる。ノードおよびそれらの間での相互依存性は、幾つかの態様においては、スパイキングニューラルネットワークを介して表すことができる。例えば、スパイキングニューラルネットワークは、Ｎ個の観測可能な確率変数Ｙ∈｛１，．．．Ｎ｝を受信することができる。本開示の態様により、観測された変数Ｙに関する遠因（ｕｎｄｅｒｌｙｉｎｇ  ｃａｕｓｅ）Ｘ∈｛１，．．．Ｋ｝を決定することができる。
[0080]  図１０は、本開示の幾つかの態様による事象に基づくベイジアン推論および学習を行うための例示的なアーキテクチャ１０００を示したブロック図である。図１０を参照し、入力事象ストリーム１００２を受け取り、入力トレース（例えば、１００６ａ乃至１００６Ｎ）を生成するために使用することができる。入力事象ストリーム１００２は、１本以上の（例えば、Ｎ本の）入力ラインを介して供給することができる。幾つかの態様において、入力ストリームは、入力の配列として構成することができる。例えば、配列の各入力、従って、各入力ライン、は、ディスプレイのピクセルに対応することができる。
[0081]  入力事象ストリーム１００２は、スパイクまたはスパイク事象を備えることができる。入力事象ストリーム内の各スパイクまたはスパイク事象は、観測された変数Ｙのサンプルに対応することができる。幾つかの態様において、入力事象ストリーム１００２は、例えば、時間の持続性（ｔｉｍｅ  ｐｅｒｓｉｓｔｅｎｃｅ）を提供するためにフィルタ１００４ａ乃至１００４Ｎを介してフィルタリングすることができる。フィルタ１００４ａ乃至１００４Ｎは、例えば、方形パルスフィルタ、興奮性シナプス後電位（ＥＰＳＰ）フィルタ、またはいずれかのその他のフィルタであることができる。１つの例示的な態様において、フィルタ（例えば、１００４ａ乃至１００４Ｎ）は、以下のように表すことができる。
【００４０】
【数１０】
2017509978.tif 000012
【００４１】
ここで、εは、入力カーネル関数であり、ｔεは、入力カーネル関数のタイムサポート（ｔｉｍｅ  ｓｕｐｐｏｒｔ）である。
【００４２】
[0082]  入力スパイク事象は、次のように、入力トレース１００６ａ乃至１００６Ｎを形成するためにフィルタ１００４ａ乃至１００４Ｎと畳み込んで積分することができる。
【００４３】
【数１１】
2017509978.tif 000013
【００４４】
ここで、ρｎは、Ｎ個の観測が行われるｙ（ｎ）のスパイク応答関数である。
[0083]  バイアス重み（１００８の最上行）および／または結合おもみ（１００８の残りの行）は、重みが付けられた入力を形成するために入力トレース１００６に加えることができる。バイアス項を指定してバイアス重みの各々に適用することができる。図１０の例示的なアーキテクチャにおいて、バイアス項は１である（図１５、要素１５０６を参照）。しかしながら、これは単に例示的であるにすぎず、設計上の選好に従って他のバイアス項に置き換えることができる。
[0084]  幾つかの態様において、バイアス重みおよび／または結合重み（１００８）の各々は、対応する行内の入力トレース（例えば、１００６ａ乃至１００６Ｎ）に加えることができる。例えば、結合重みｗ１１、ｗ１ｋ、およびｗ１Ｋを入力トレースｕ１に加えることができる。
[0085]  ノード状態１０１０（例えば、ｖ１、ｖｋ、およびｖＫ）を決定するために各列内の重み付き入力を合計することができる。幾つかの態様において、ノード状態１０１０は、膜電位を備えることができる。ノード状態１０１０は、次のように表すことができる。
【００４５】
【数１２】
2017509978.tif 000014
【００４６】
ここで、ｋは、間隔であり、ｗ０ｋは、間隔ｋに関するバイアス重みである。
【００４７】
[0087]  幾つかの態様において、ノード状態は、例えば、ウィナー・テーク・オール（ＷＴＡ）またはソフトＷＴＡ方式で正規化を用いて決定することができる。１つの例示的な態様において、ノード状態１０１０は、次の正規化式によって正規化することができる。
【００４８】
【数１３】
2017509978.tif 000015
【００４９】
[0088]  
ここで、λｘは、平均合計発火率に対応する定数である。
[0089]  ノード状態１０１０は、出力ノード（例えば、１０１２ａ、１０１２ｋ、１０１２Ｋ）を介して出力事象ストリーム１０１６を生成するために確率論的過程（例えば、ポワソン過程）の対象となることができる。幾つかの態様において、確率論的過程または点過程は、出力事象率に対応する強度関数を備えることができる。出力事象率は、ノード状態１０１０に基づく事後確率を表すことができる。幾つかの態様において、出力事象率は、時間に基づいて計算することができる。代替として、幾つかの態様において、出力事象率は、事象に基づいて計算することができる。
[0090]  幾つかの態様において、出力ノード１０１２ａ乃至１０１２Ｋを介しての出力は、フィルタ１０１４ａ乃至１０１４Ｎを介してフィルタリングすることができる。１つの例示的な態様において、フィルタ１０１４ａ乃至１０１４Ｎは、デジタル出力を提供するためのデジタルフィルタを備えることができる。
[0091]  幾つかの態様において、ノードは、ニューロンであることができる。従って、出力事象ストリーム１０１６は、事後確率を表す出力発火率を有するスパイク事象であることができる。すなわち、ニューロンは、ニューロン状態（例えば、膜電位）の関数である発火の確率を有するスパイクを発火させることができる。例えば、出力ノード（例えば、１０１２ａ乃至１０１２Ｋ）（そして、従って、出力事象ストリーム）に関する発火率は以下によって与えることができる。
[0092]
【００５０】
【数１４】
2017509978.tif 000016
【００５１】
[0093]  幾つかの態様において、出力スパイク事象時間は、次のように出力発火率から計算することができる。
[0094]
【００５２】
【数１５】
2017509978.tif 000017
【００５３】
ここで、ξ〜Ｅｘｐ（１）は、率パラメータ１を有する指数分布から導き出された乱数である。
【００５４】
[0095]  幾つかの態様において、学習を実装するためにスパイクタイミング依存可塑性（ＳＴＤＰ）規則を適用することができる。例えば、バイアス重みおよび／または結合重み（１００８）の各々は、出力事象ストリーム１０１６（例えば、事後分布からの出力サンプル）に基づいて更新することができる。例えば、ＳＴＤＰ規則は、次のように適用することができる。
【００５５】
[0096]
[0097]
【００５６】
【数１６】
2017509978.tif 000018
【００５７】
ここで、τ＝ｒ−１Δｔおよびτ０＝ｒ０−１Δｔは、学習率ｒを制御し、ｃ０は、定数である。
【００５８】
[0098]  当然のことであるが、これは、単なる例示であるにすぎず、その他の学習則および／または学習モデルが学習を実装することができる。ＳＴＤＰ学習則を用いることで、バイアスおよび／または結合重みを事象に基づいて更新することができる。例えば、幾つかの態様において、バイアスおよび／または結合重み１００８は、スパイク事象が発生したときに更新することができる。
【００５９】
[0099]  １つの例示的な態様において、アーキテクチャは、事象を検出するように動作させることができる。入力事象の場合は、入力トレース（例えば、入力トレース１００６ａ乃至１００６Ｎ）は、入力電流とみなすことができる受け取られた入力事象または事象（複数）に基づいて決定することができる。幾つかの態様において、入力電流は、例えば、受け取られた入力事象のタイミングに基づいて決定することができる入力事象オフセットに基づいて増減させることができる。
【００６０】
[00100]  バイアス重みおよび／または結合重み１００８は、入力電流に加えることができる。入力電流は、ニューロン状態１０１０を計算（または更新）するために合計することができる。次に、更新されたニューロン状態１０１０は、出力ニューロン１０１２ａ乃至１０１２Ｋに関する発火率を計算するために使用することができる。計算された発火率は、予想される出力事象タイミングを調整または更新することもできる。すなわち、出力ニューロン１０１２ａ乃至１０１２Ｋを介して出力される各事象またはスパイクに関して、更新された発火率に基づいて事象またはスパイクに関する予想されるタイミングを計算および更新することができる。予想される出力事象ｔｏｕｔｐｕｔの前のｔｉｎｐｕｔの時点で入力事象が発生した場合は、ニューロンの瞬間的スパイクレートをλｏｌｄからλｎｅｗに変化させ、予想される出力事象時間を次のように更新することができる。
【００６１】
【数１７】
2017509978.tif 000019
【００６２】
[00102]  出力事象またはスパイクの場合、バイアス重みおよび／または結合重み（１００８）は、例えば、上述されるＳＴＤＰ規則を用いて更新することができる。これで、次の出力事象（例えば、スパイク）を推定することができる。
【００６３】
[00103]  このように、図９を参照し、Ｙ（９０４）をサンプリングすることによって、Ｘ（９０２）の事前状態を推論することができる。さらに、Ｙの尤度が与えられている場合は、ある一定のＸを与えることができる（例えば、出力ニューロンによって表すことができる）。
【００６４】
[00104]  従って、例示的なアーキテクチャ１０００を用いて数多くの用途を実現することができる。該用途は、パターン認識、空間的パターンの時間的系列の学習を含むことができ、ただし、パターン認識、空間的パターンの時間的系列の学習に限定されない。
【００６５】
[00105]  幾つかの態様において、図１０のアーキテクチャは、モジュール化することができる。図１１は、本開示の態様による事象に基づくベイジアン推論および学習を行うための例示的な推論エンジンモジュール１１００を示したブロック図である。幾つかの態様において、推論エンジンモジュール１１００の構成は、図１０のアーキテクチャ１０００のそれに対応することができる。
【００６６】
[00106]  図１１を参照し、推論エンジンモジュール１１００は、入力ブロック１１０２と、入力トレースブロック１００６と、バイアスおよび結合重みブロック１００８と、結合と、出力ブロック１１１０と、を含む。出力ブロックは、図１０を参照して上述されるようにノード１０１０および１０１２ａ乃至１０１２Ｋを含むように構成することができる。推論エンジンモジュール１１００は、より大型でより複雑なシステムを構築するために使用することができる。
【００６７】
[00107]  図１２は、本開示の態様による事象に基づくベイジアン推論おび学習を行うためのモジュール１１００を用いるアドレス事象表現（ＡＥＲ）センサのための例示的なアーキテクチャ１２００を示したブロック図である。図１２において示されるように、ＡＥＲセンサ１２０２ａおよび１２０２ｂ（総じてＡＥＲセンサ１２０２と呼ばれる）は、事象をキャプチャすることができる。２つのＡＥＲセンサが示されているが、これは単なる例示であるにすぎず、１つ以上の入力を採用することができる。
【００６８】
[00108]  キャプチャされた事象は、フィーチャーモジュール（ｆｅａｔｕｒｅ  ｍｏｄｕｌｅ）１２０４に供給することができる。フィーチャーモジュール１２０４は、図１１の推論エンジンモジュール１１００の形と同様のそれで構成および機能を有することができる。フィーチャーモジュール１２０４は、ＡＥＲセンサ１２０２ａ−１２０２ｂから入力事象ストリームを受け取り、ＡＥＲセンサ１２０２ａ−１２０２ｂの環境の観測されない特徴に対応する出力事象ストリームを生成することができる。観測されない特徴に関連する追加情報を決定するためにさらなる推論エンジンモジュール（例えば、１２０６ａ、１２０６ｂ、および１２０６ｃであり、総じて推論エンジンモジュール１２０６と呼ぶことができる）を組み入れることができる。
【００６９】
[00109]  一例において、ＡＥＲセンサ１２０２ａ−１２０２ｂは、カメラを備えることができる。カメラは、例えば、ある所定の空間におけるオブジェクトの存在をキャプチャするように構成することができる。一例において、カメラは、所定の空間内のオブジェクトの位置に関する２Ｄ事象情報を提供することができる。フィーチャーモジュールの出力は、推論エンジンモジュール１２０６ａ、１２０６ｂ、１２０６ｃに供給することができ、推論エンジンモジュール１２０６ａ、１２０６ｂ、１２０６ｃは、所定の空間内のオブジェクトの３Ｄ座標の一部分を推論することができる。
【００７０】
[00110]  推論エンジンモジュール１２０６ａ乃至１２０６ｃは、モジュール１２０６ａ乃至１２０６ｃの推論を向上させるためにスーパバイザ１２０８を介して訓練することができる。本例において、推論エンジンモジュール１２０６ａ乃至１２０６ｃの推論された座標（Ｘ、Ｙ、Ｚ）を、所定の空間内のオブジェクトの実際のまたは真の位置と比較することができる。幾つかの態様において、バイアスおよび／または結合重みは、モジュール１２０６ａ乃至１２０６ｃの各々からの推論の精度を向上させるために真の位置の情報に基づいて更新することができる。
【００７１】
[00111]  図１３Ａは、空間１３００を示し、空間内の幾つかの位置に配置された様々なオブジェクトを含む。カメラ（ＣＡＭ１およびＣＡＭ２）は、ある所定の３Ｄ空間内のオブジェクトの存在を検出することができる。すなわち、幾つかの態様において、カメラによって所定の空間内においてオブジェクトが検出されたときには、カメラは、事象（例えば、スパイク事象）を生成することができる。図１３Ｂおよび１３Ｃにおいて、カメラ（例えば、ＣＡＭ１およびＣＡＭ２）によって検出されたオブジェクト１３０２がそれぞれ示される。各々のカメラは、検出されたオブジェクト１３０２に対応する事象ストリームを生成することができる。図１３Ｂおよび１３Ｃにおいて示されるように、３Ｄオブジェクト１３０２の２Ｄ（例えば、ｘおよびｙ座標のみ）表現（１３１０および１３２０）が事象ストリーム内で表現される。従って、所定の空間内のオブジェクトの各々を正確に表現するために、第３の座標（例えば、ｚ座標）を決定するのが有益であろう。
【００７２】
[00112]  図１２を参照し、ＡＥＲセンサ１２０２ａおよび１２０２ｂは、カメラ、例えば、図１３のＣＡＭ１およびＣＡＭ２、を備えることができる。従って、カメラを介してキャプチャされた事象は、上述されるように事象に基づくベイジアン推論および学習を行うためのモジュール内に入力することができる。ベイジアン推論および学習のためのモジュール（例えば、推論エンジンモジュール１１００）を用いて、図１３Ａにおいて示される所定の空間内のオブジェクトの位置（例えば、ｘ、ｙおよびｚ座標）は、カメラ（例えば、ＣＡＭ１およびＣＡＭ２）を介して提供された入力ストリームから決定することができる。
【００７３】
[00113]  例えば、ＣＡＭ１およびＣＡＭ２は、各々、６４×６４入力（例えば、図１３Ｂおよび１３Ｃにおいて示される１３０２の表現）をフィーチャーモジュール１２０４に提供することができ、フィーチャーモジュール１２０４は、例えば、スパイキングニューラルネットワークの隠れ層を備えることができる。入力は、例えば、４×４格子に分割された空間内でカメラ（ＣＡＭ１およびＣＡＭ２）が検知する物に基づくことができる。フィーチャーモジュール１２０４は、２つの６４×６４入力を６４の３Ｄ空間出力に変換することができ、６４の３Ｄ空間出力は、上述されるように推論および学習によって、推論エンジンモジュール１２０６ａ乃至２０６ｃによって受信される。推論エンジンモジュール１２０６ａ乃至２０６ｃは、上述されるように推論および学習によって、幾つかの座標、例えば、各次元において４つ、に出力を量子化することができる。このようにして、２Ｄ  ＡＥＲカメラ（例えば、図１３のＣＡＭ１およびＣＡＭ２）のみを用いて３Ｄビジョンを実現することができる。各座標に関する６４×６４入力、６４の特徴および４つの出力が説明されるが、本開示は、その数には限定されない。本３Ｄビジョン例においては、モジュールの各々でバイアス重みブロックは使用されない。
【００７４】
[00114]  幾つかの態様において、モジュールは、オブジェクトの真の位置（例えば、ｘ、ｙおよびｚ座標）を訓練するためにスーパバイザ１２０８（例えば、ＳＸ、ＳＹおよびＳＺ）を介して提供することができる実際のオブジェクト位置を用いて訓練することができる。推論エンジンモジュール１２０６ａ乃至２０６ｃが訓練された時点で、スーパバイザをディスエーブルにすることができ、推論エンジンモジュール１２０６ａ乃至２０６ｃは、スーパバイザ１２０８なしで操作することができる。
【００７５】
[00115]  幾つかの態様において、事象に基づく推論および学習のためのアーキテクチャは、隠れマルコフモデルの学習のために構成することができる。マルコフモデルは、状態が非決定論的な方法で前の状態に依存するプロセスをモデル化する確率論的モデルである。隠れマルコフモデル（ＨＭＭ）では、状態は、部分的のみに観測可能である。
【００７６】
[00116]  図１４Ａは、隠れマルコフモデルを例示した概略図１４００である。図１４Ａを参照し、確率変数Ｘｔ∈｛１，．．．，Ｋ｝が隠されており、確率変数Ｙｔ∈｛１，．．．，Ｎ｝が可視である。｛Ｘｔ｝および｛Ｙｔ｝は、次の依存性を有する。
Ｘｔ→Ｙｔ  出力確率行列Ｐ（Ｙｔ＝ｎ｜Ｘｔ＝ｋ）に基づく
Ｘｔ−１→Ｘｔ  遷移確率行列Ｐ（Ｙｔ＝ｋ｜Ｘｔ−１＝ｋ’）に基づく
[00117]  出力確率は、ある特定の時間における隠れ変数（Ｘｔ）の状態が与えられている場合にその時間における観測された変数（Ｙｔ）の分布を決定する。他方、遷移確率は、時間ｔ−１における隠された状態が与えられている場合に時間ｔにおける隠された状態をどのようにして選択することができるかを制御する。
[00118]  図１４Ｂは、本開示の態様による隠れマルコフモデルに関する事象に基づく推論および学習のための例示的なアーキテクチャを示した高位ブロック図である。図１４Ｂにおいて示されるように、アーキテクチャは、推論エンジンモジュール１４５２を含むことができ、推論エンジンモジュール１４５２は、理解および説明を容易にすることを目的として、Ｙをモジュール入力としておよびＸ＾をモジュール出力として示す（Ｘ＾は、Ｘの推定値である）。幾つかの態様において、ＹからＸ＾への入力は瞬間的であることができる。Ｘ＾出力は、フィードバック経路または反復結合１４５８を介してのモジュールへの入力であることもできる。フィードバック経路１４５８は、遅延が生じることがある。図１４Ｂにおいて示されるように、遅延は、１つの期間であることができる。当然のことであるが、これは単なる例示であるにすぎず、限定するものではない。ＹからＸ＾への結合は、バックワード結合（ｂａｃｋｗａｒｄ  ｃｏｎｎｅｃｔｉｏｎ）であり、Ｘ＾からのフィードバック結合１４５８は、フォワード結合（ｆｏｒｗａｒｄ  ｃｏｎｎｅｃｔｉｏｎ）であることが注目される。
[00119]  図１５は、本開示の態様による隠れマルコフモデルに関する事象に基づく推論および学習のための例示的なアーキテクチャ１５００を示したブロック図である。図１５を参照し、例示的なアーキテクチャ１５００は、図１０に関して上述されるコンポーネントに類似するコンポーネントを含む。
[00120]  入力事象ストリーム１５０２は、入力であり（図１５の左上を参照）、入力トレース｛ｕｎ｝（例えば、１５０６ａ、１５０６ｎ、１５０６Ｎ）を生成するために使用することができる。ノード１５１０に関するノード状態を決定するためにバイアス重みおよび／または結合重みを入力トレースに加えて合計することができる。他方、ノード状態は、出力ノード１５１２ａ乃至１５１２Ｋに関する発火率を計算するためにおよび出力事象ストリーム１５１６を生成するために使用することができる。図１４Ｂと同様に、出力事象ストリーム１５１６は、フィードバック経路１５１８を介して入力として供給することができる。
[00121]  幾つかの態様において、入力フィルタη（τ）を出力事象ストリーム１５１６に適用することができる。入力トレース｛ｕｎ｝（例えば、１５０６ａ、１５０６ｎ、１５０６Ｎ）は、図１４Ａにおいて示されるようにＹからの入力に対応することができる。幾つかの態様において、結合重み｛ｗｍｋ｝は、全体で、出力確率行列として働くことができる。幾つかの態様において、結合重み｛ｗｎｋ｝は、以下によって与えることができる対数出力確率を備えることができる。
【００７７】
【数１８】
2017509978.tif 000020
【００７８】
ここで、Ｃは定数である。
[00122]  出力は、Ｘに対応することができ（図１４Ａ参照）、フィードバック経路１５１８を介して供給し、入力トレース｛ｕｋ｝（例えば、１５０６ｚ、１５０６ｋ、１５０６Ｋ）を生成するために使用することができる。幾つかの態様において、入力フィルタη（τ）（例えば、１５０４ｚ、１５０４ｋ、および１５０４Ｋ）は、ε（τ）の時間遅延バージョンとして構成することができ、従って、η（τ−１）＝ε（τ）である。従って、入力トレース｛ｕｋ｝（例えば、１５０６ｚ、１５０６ｋ、１５０６Ｋ）は、入力トレース｛ｕｎ｝（例えば、１５０６ａ、１５０６ｎ、１５０６Ｎ）と対照的に１つの時間ステップだけ遅延されることがある。
[00123]  幾つかの態様において、結合重み｛ｗｋｋ’｝（１５０８の最下部の３つの行）は、全体として、遷移確率行列として働くことができる。幾つかの態様において、結合重み｛ｗｋｋ’｝は、以下によって与えることができる対数遷移確率を備えることができる。
【００７９】
【数１９】
2017509978.tif 000021
【００８０】
ここで、Ｃは定数である。
[00124]  このようにして、事象に基づく推論および学習のためのアーキテクチャは、隠れ変数の状態を決定するように構成することができ、従って、隠れマルコフモデルを解くために動作させることができる。
[00125]  図１６は、本開示の態様による事象に基づくベイジアン推論および学習を行うための方法１６００を例示する。ブロック１６０２において、プロセスは、ノードにおいて入力事象を受け取る。ノードは、ソフトウェアオブジェクト、ニューロン、ハードウェアモジュール、プロセッサで動作するソフトウェア、スパイキングニューラルネットワーク、等であることができる。
[00126]  幾つかの態様において、入力事象は、入力分布からのサンプルに対応することができる。さらに、幾つかの態様において、入力事象は、それらをパルスに変換するためにフィルタリングすることができる。例えば、入力事象は、方形パルスフィルタを用いてフィルタリングすることができる。
[00127]  ブロック１６０４において、プロセスは、中間値を得るために入力事象にバイアス重みおよび結合重みを加える。ブロック１６０６において、プロセスは、中間値に基づいてノード状態を決定する。幾つかの態様において、ノード状態は、中間値を合計することによって決定することができる。
[00128]  ブロック１６０８において、プロセスは、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算する。
[00129]  さらに、ブロック１６１０において、プロセスは、対数尤度を表すバイアス重みおよび／または結合重みを更新するためにＳＴＤＰ規則を適用する。幾つかの態様において、バイアス重みは、事後確率に対応することができ、結合重みは、対数尤度を表すことができる。
[00130]  幾つかの態様において、プロセスは、隠れマルコフモデルをさらに解くことができる。例えば、プロセスは、追加の入力事象を提供するためのフィードバックとして出力事象を供給することをさらに含むことができる。プロセスは、第２の組の中間値を得るために追加の入力事象に第２の組の結合重みを加えることを含むこともできる。プロセスは、ノード状態および中間値の第２の組に基づいて隠れノード状態を計算することをさらに含むことができる。幾つかの態様において、追加の入力事象は、追加の入力事象が時間的に遅延されるようにするためにフィルタリングすることができる。
[00131]  上述される方法の様々な動作は、対応する機能を実行することが可能なあらゆる適切な手段によって行うことができる。手段は、様々なハードウェアおよび／またはソフトウェアコンポーネントおよび／またはモジュールを含むことができ、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含み、ただし、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサに限定されない。概して、図において例示される動作が存在する場合は、それらの動作は、同様の数字を有する対応する手段プラス機能（ｍｅａｎｓ−ｐｌｕｓ−ｆｕｎｃｔｉｏｎ）コンポーネントを有することができる。
[00132]  ここで使用される場合において、用語“決定する”は、非常に様々な行動を包含する。例えば、“決定する”は、計算すること、演算すること、処理すること、導き出すこと、調査すること、検索すること（例えば、テーブル、データベース又は他のデータ構造における検索）、確認すること、等を含むことができる。さらに、“決定する”は、受信すること（例えば、情報を受信する）、アクセスすること（例えば、メモリ内のデータにアクセス）、等を含むことができる。さらに、“決定する”は、解決すること、選抜すること、選択すること、確立すること、等を含むことができる。  
[00133]  ここで使用されるばあいにおいて、項目のリストのうちの“少なくとも１つの”を指す句は、それらの項目のあらゆる組み合わせを意味し、単数を含む。一例として、“ａ、ｂ、またはｃのうちの少なくとも１つの”は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃを網羅することが意図される。
[00134] 本開示と関係させて説明される様々な例示的な論理ブロック、モジュール、および回路は、ここにおいて説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）、その他のプログラマブル論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネント、又はそれらのあらゆる組合せ、を用いて実装又は実行することが可能である。汎用プロセッサはマイクロプロセッサであることができるが、代替においては、プロセッサは、市販のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと関連する１つ以上のマイクロプロセッサとの組合せ、又はあらゆるその他の構成、として実装することもできる。
[00135]  本開示と関係させて説明される方法又はアルゴリズムのステップは、直接ハードウェア内において、プロセッサによって実行されるソフトウェアモジュール内において、又はそれらの２つの組み合わせ内において具現化することができる。ソフトウェアモジュールは、当業界において知られるあらゆる形態の記憶媒体において常駐することができる。使用することができる記憶媒体の幾つかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、等を含む。ソフトウェアモジュールは、単一の命令、または数多くの命令を備えることができ、および、幾つかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって分散させることができる。記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと及び記憶媒体に情報を書き込むことができるような形でプロセッサに結合することができる。代替においては、記憶媒体は、プロセッサと一体化することができる。
[00136]  ここにおいて開示される方法は、説明される方法を達成するための１つ以上のステップまたは行動を備える。方法のステップおよび／または行動は、請求項の範囲から逸脱することなしに互換可能である。換言すると、ステップまたは行動の特定の順序が指定されないかぎり、特定のステップおよび／または行動の順序および／または使用は、請求項の範囲から逸脱せずに変更することができる。
[00137]  ここにおいて説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいずれかの組み合わせにおいて実装することができる。ハードウェアにおいて実装される場合は、ハードウェア構成例は、デバイス内の処理システムを備えることができる。処理システムは、バスアーキテクチャで実装することができる。バスは、処理システムの特定の用途および全体的なシステム上の制約事項に依存してあらゆる数の相互接続バスおよびブリッジを含むことができる。バスは、プロセッサと、機械読み取り可能媒体と、バスインタフェースと、を含む様々な回路をひとつにリンクすることができる。バスインタフェースは、とりわけ、バスを介して処理システムにネットワークアダプタを接続するために使用することができる。ネットワークアダプタは、信号処理機能を実装するために使用することができる。幾つかの態様に関して、ユーザインタフェース（例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等）もバスに接続することができる。バスは、様々なその他の回路、例えば、タイミングソース、周辺機器、電圧調整器、電力管理回路、等、もひとつにリンクすることができ、それらは当業者界においてよく知られており、従って、これ以上は説明されない。
[00138]  プロセッサは、バスおよび一般的な処理を管理するのを担当することができ、機械読み取り可能媒体に格納されたソフトウェアの実行を含む。プロセッサは、１つ以上の汎用および／または専用プロセッサとともに実装することができる。例は、マイクロプロセッサと、マイクロコントローラと、ＤＳＰプロセッサと、ソフトウェアを実行することができるその他の回路と、を含む。ソフトウェアとは、命令、データ、またはそれらのあらゆる組み合わせ
を意味すると広義で解釈するものとし、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他のいずれとして呼ばれるかを問わない。機械読み取り可能媒体は、例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、またはあらゆるその他の適切な記憶媒体、またはそれらのあらゆる組み合わせを含むことができる。機械読み取り可能媒体は、コンピュータプログラム製品において具現化することができる。コンピュータプログラム製品は、パッケージング材料を備えることができる。
【００８１】
[00139]  ハードウェア実装において、機械読み取り可能媒体は、プロセッサから分離された処理システムの一部であることができる。しかしながら、当業者が容易に認識するように、機械読み取り可能媒体、またはそれのいずれかの部分は、処理システムの外部に存在することができる。例として、機械読み取り可能媒体は、送信ライン、データによって変調されるキャリア、および／またはデバイスから分離されたコンピュータ製品を含むことができ、それらのすべては、バスインタフェースを通じてプロセッサによってアクセスすることができる。代替として、またはさらに加えて、機械読み取り可能媒体、またはそれのいずれかの部分は、キャッシュおよび／または汎用レジスタファイルの場合のように、プロセッサと一体化することができる。論じられる様々なコンポーネント、例えば、ローカルコンポーネント、は、特定の場所を有するとして説明することができるが、それらは、様々な形で構成することもでき、例えば、幾つかのコンポーネントは、分散型コンピューティングシステムの一部として構成される。
【００８２】
[00140]  処理システムは、プロセッサ機能を提供する１つ以上のマイクロプロセッサおよび機械読み取り可能媒体の少なくとも一部分を提供する外部メモリを有する汎用処理システムとして構成することができ、すべては、外部のバスアーキテクチャを通じてその他の支援回路とひとつにリンクされる。代替として、処理システムは、ここにおいて説明されるニューロンモデルおよびニューラルシステムモデルを実装するための１つ以上の神経形態学的プロセッサを備えることができる。他の代替として、処理システムは、プロセッサ、バスインタフェース、ユーザインタフェース、支援回路、および単一のチップ内に組み入れられた機械読み取り可能媒体の少なくとも一部分を有する特定用途向け集積回路（ＡＳＩＣ）とともに、または、１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックデバイス（ＰＬＤ）、コントローラ、ステートマシン、ゲーテッド（ｇａｔｅｄ）ロジック、ディスクリートハードウェアコンポーネント、または、この開示全体を通じて説明される様々な機能を実行することができる回路のあらゆる組み合わせとともに、実装することができる。当業者は、特定の用途および全体的なシステムに対して課せられた全体的な設計上の制約事項に依存して処理システムに関する説明される機能を実装するための最良の方法を認識するであろう。
【００８３】
[00141] 機械読み取り可能媒体は、幾つかのソフトウェアモジュールを備えることができる。ソフトウェアモジュールは、プロセッサによって実行されたときに、様々な機能を実行することを処理システムに行わせる命令を含む。ソフトウェアモジュールは、送信モジュールと、受信モジュールと、を含むことができる。各ソフトウェアモジュールは、単一の記憶デバイス内に常駐することまたは複数の記憶デバイスにわたって分散させることができる。例として、ソフトウェアモジュールは、トリガリング事象が発生したときにハードドライブからＲＡＭ内にロードすることができる。ソフトウェアモジュールの実行中には、プロセッサは、アクセス速度を上げるために命令の一部をキャッシュ内にロードすることができる。次に、１つ以上のキャッシュラインをプロセッサによる実行のために一般的レジスタファイル内にロードすることができる。以下のソフトウェアモジュールの機能を参照するときに、該機能は、そのソフトウェアモジュールからの命令を実行するときにプロセッサによって実装される。
【００８４】
[00142]  ソフトウェアにおいて実装される場合は、これらの機能は、コンピュータ読み取り可能媒体において１つ以上の命令またはコードとして格納することまたは送信することができる。コンピュータ読み取り可能媒体は、コンピュータ記憶媒体と、１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体と、の両方を含む。記憶媒体は、コンピュータによってアクセス可能なあらゆる利用可能な媒体であることができる。一例として、および限定することなしに、該コンピュータ読み取り可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または、希望されるプログラムコードを命令またはデータ構造の形態で搬送または格納するために用いることができおよびコンピュータによってアクセス可能なその他の媒体、を備えることができる。さらに、いずれの接続も、コンピュータ読み取り可能媒体であると適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、その同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、または無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザーディスク（登録商標）（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、ブルーレイディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。従って、幾つかの態様において、コンピュータ読み取り可能媒体は、非一時的なコンピュータ読み取り可能媒体（例えば、有形の媒体）を備えることができる。さらに、その他の態様に関して、コンピュータ読み取り可能媒体は、一時的なコンピュータ読み取り可能媒体（例えば、信号）を備えることができる。上記の組み合わせも、コンピュータ読み取り可能媒体の適用範囲内に含められるべきである。
【００８５】
[00143]  従って、幾つかの態様は、ここにおいて提示される動作を行うためのコンピュータプログラム製品を備えることができる。例えば、該コンピュータプログラム製品は、命令が格納されている（および／または符号化されている）コンピュータ読み取り可能媒体を備えることができ、命令は、ここにおいて説明される動作を行うために１つ以上のプロセッサによって実行可能である。幾つかの態様に関して、コンピュータプログラム製品は、パッケージング材料を含むことができる。
【００８６】
[00144]  さらに、ここにおいて説明される方法および技法を実行するためのモジュールおよび／またはその他の該当する手段は、ユーザ端末および／または基地局によって適宜ダウンロードすることおよび／または別の方法で入手することができることが認識されるべきである。例えば、該デバイスは、ここにおいて説明される方法を実行するための手段の移動を容易にするためにサーバに結合することができる。代替として、ここにおいて説明される様々な方法は、記憶手段（例えば、ＲＡＭ、ＲＯＭ、物理的記憶媒体、例えば、コンパクトディスク（ＣＤ）またはフロッピーディスク、等）を介して提供することができ、従って、ユーザ端末および／または基地局は、デバイスに記憶手段を結合または提供した時点で様々な方法を入手することができる。さらに、ここにおいて説明される方法および技法をデバイスに提供するためのあらゆるその他の適切な技法を利用することができる。
【００８７】
[00145]  請求項は、上記の正確な構成およびコンポーネントに限定されないことが理解されるべきである。請求項の範囲から逸脱することなしに上述される方法および装置の配置、動作、および詳細の様々な修正、変更および変形を行うことができる。
【図１】
2017509978.tif 000022
【図２】
2017509978.tif 000023
【図３】
2017509978.tif 000024
【図４】
2017509978.tif 000025
【図５】
2017509978.tif 000026
【図６】
2017509978.tif 000027
【図７】
2017509978.tif 000028
【図８】
2017509978.tif 000029
【図９】
2017509978.tif 000030
【図１０】
2017509978.tif 000031
【図１１】
2017509978.tif 000032
【図１２】
2017509978.tif 000033
【図１３Ａ】
2017509978.tif 000034
【図１３Ｂ】
2017509978.tif 000035
【図１３Ｃ】
2017509978.tif 000036
【図１４Ａ】
2017509978.tif 000037
【図１４Ｂ】
2017509978.tif 000038
【図１５】
2017509978.tif 000039
【図１６】
2017509978.tif 000040
【手続補正書】
【提出日】平成28年11月4日(2016.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
事象に基づくベイジアン推論を行う、コンピュータ実装される方法であって、
複数のノードのうちの各々において入力事象を受信することと、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えることと、
前記中間値に少なくとも部分的に基づいてノード状態を決定することと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算することと、
を備える、方法。
【請求項２】
前記入力事象をパルスに変換するために前記入力事象をフィルタリングすることをさらに備える、
請求項１に記載の方法。
【請求項３】
前記入力事象は、入力分布からのサンプルに対応する、
請求項１に記載の方法。
【請求項４】
前記バイアス重みは、事前確率に対応し、前記結合重みは、対数尤度を表す、
請求項１に記載の方法。
【請求項５】
前記ノード状態は、正規化される、
請求項１に記載の方法。
【請求項６】
前記ノードは、ニューロンを備える、
請求項１に記載の方法。
【請求項７】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１に記載の方法。
【請求項８】
前記点過程は、前記出力事象率に対応する強度関数を備える、
請求項１に記載の方法。
【請求項９】
前記計算することは、時間に基づいて行われる、
請求項１に記載の方法。
【請求項１０】
前記計算することは、事象に基づいて行われる、
請求項１に記載の方法。
【請求項１１】
前記決定することは、前記ノード状態を形成するために前記中間値を合計することを備える、
請求項１に記載の方法。
【請求項１２】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１に記載の方法。
【請求項１３】
前記入力事象は、少なくとも１つのセンサから供給される、
請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つのセンサは、アドレス事象表現カメラである、
請求項１３に記載の方法。
【請求項１５】
追加の入力事象を提供するためのフィードバックとして前記出力事象を供給することと、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加えることと、
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算することと、をさらに備える、
請求項１に記載の方法。
【請求項１６】
前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングすることをさらに備える、
請求項１５に記載の方法。
【請求項１７】
前記結合重みは、出力確率を備え、前記第２の組の結合重みは、遷移確率を備える、
請求項１５に記載の方法。
【請求項１８】
事象に基づくベイジアン推論を行うための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサを備え、前記少なくとも１つのプロセッサは、
複数のノードのうちの各々において入力事象を受信し、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加え、
前記中間値に少なくとも部分的に基づいてノード状態を決定し、および
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するように構成される、装置。
【請求項１９】
前記少なくとも１つのプロセッサは、前記入力事象をパルスに変換するために前記入力事象をフィルタリングするようにさらに構成される、
請求項１８に記載の装置。
【請求項２０】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１８に記載の装置。
【請求項２１】
前記少なくとも１つのプロセッサは、時間に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサは、事象に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサは、前記ノード状態を形成するために前記中間値を合計することによって前記ノード状態を決定するようにさらに構成される、
請求項１８に記載の装置。
【請求項２４】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１８に記載の装置。
【請求項２５】
前記入力事象を供給するための少なくとも１つのセンサをさらに備える、
請求項２４に記載の装置。
【請求項２６】
前記少なくとも１つのプロセッサは、追加の入力事象を提供するためのフィードバックとして前記出力事象を供給し、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加え、および
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２７】
前記少なくとも１つのプロセッサは、前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングするようにさらに構成される、
請求項２６に記載の装置。
【請求項２８】
前記結合重みは、出力確率を備え、前記第２の組の結合重みは、遷移確率を備える、
請求項２７に記載の装置。
【請求項２９】
事象に基づくベイジアン推論を行うための装置であって、
複数のノードのうちの各々において入力事象を受信するための手段と、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えるための手段と、
前記中間値に少なくとも部分的に基づいてノード状態を決定するための手段と、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するための手段と、を備える、装置。
【請求項３０】
事象に基づくベイジアン推論を行うためのプログラムコードを符号化した非一時的なコンピュータ読み取り可能媒体を備え、前記プログラムコードは、
複数のノードのうちの各々において入力事象を受信するためのプログラムコードと、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えるためのプログラムコードと、
前記中間値に少なくとも部分的に基づいてノード状態を決定するためのプログラムコードと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するためのプログラムコードと、を備える、非一時的なコンピュータ読み取り可能媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
[0073]  図５は、本開示の幾つかの態様による汎用プロセッサ５０２を用いた上記の事象に基づくベイジアン推論および学習の実装例５００を示す。メモリブロック５０４には変数（神経信号）、シナプス荷重、計算ネットワーク（ニューラルネットワーク）に関連するシステムパラメータ、遅延、周波数ビン情報、ノード状態情報、バイアス重み情報、結合重み情報、および／または発火率情報を格納することができ、他方、汎用プロセッサ５０２で実行される命令は、プログラムメモリ５０６からロードすることができる。本開示の一態様において、汎用プロセッサ５０２にロードされた命令は、ノードにおいて入力事象を受信し、中間値を得るために入力事象にバイアス重みおよび結合重みを加え、中間値に基づいてノード状態を決定し、および、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算するためのコードを備えることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
ここで、Ｃは定数である。
[00122]  出力は、Ｘに対応することができ（図１４Ａ参照）、フィードバック経路１５１８を介して供給し、入力トレース｛ｕｋ｝（例えば、１５０６ｚ、１５０６ｋ、１５０６Ｋ）を生成するために使用することができる。幾つかの態様において、入力フィルタη（τ）（例えば、１５０４ｚ、１５０４ｋ、および１５０４Ｋ）は、出力事象ストリーム１５１６に適用されることができる。入力フィルタη（τ）（例えば、１５０４ｚ、１５０４ｋ、および１５０４Ｋ）は、ε（τ）の時間遅延バージョンとして構成することができ、従って、η（τ−１）＝ε（τ）である。従って、入力トレース｛ｕｋ｝（例えば、１５０６ｚ、１５０６ｋ、１５０６Ｋ）は、入力トレース｛ｕｎ｝（例えば、１５０６ａ、１５０６ｎ、１５０６Ｎ）と対照的に１つの時間ステップだけ遅延されることがある。
[00123]  幾つかの態様において、結合重み｛ｗｋｋ’｝（１５０８の最下部の３つの行）は、全体として、遷移確率行列として働くことができる。幾つかの態様において、結合重み｛ｗｋｋ’｝は、以下によって与えることができる対数遷移確率を備えることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
ここで、Ｃは定数である。
[00124]  このようにして、事象に基づく推論および学習のためのアーキテクチャは、隠れ変数の状態を決定するように構成することができ、従って、隠れマルコフモデルを解くために動作させることができる。
[00125]  図１６は、本開示の態様による事象に基づくベイジアン推論および学習を行うための方法１６００を例示する。ブロック１６０２において、プロセスは、ノードにおいて入力事象を受け取る。ノードは、ソフトウェアオブジェクト、ニューロン、ハードウェアモジュール、プロセッサで動作するソフトウェア、スパイキングニューラルネットワーク、等であることができる。
[00126]  幾つかの態様において、入力事象は、入力分布からのサンプルに対応することができる。さらに、幾つかの態様において、入力事象は、それらをパルスに変換するためにフィルタリングすることができる。例えば、入力事象は、方形パルスフィルタを用いてフィルタリングすることができる。
[00127]  ブロック１６０４において、プロセスは、中間値を得るために入力事象にバイアス重みおよび結合重みを加える。ブロック１６０６において、プロセスは、中間値に基づいてノード状態を決定する。幾つかの態様において、ノード状態は、中間値を合計することによって決定することができる。
[00128]  ブロック１６０８において、プロセスは、確率論的点過程により出力事象を生成するためにノード状態に基づいて事後確率を表す出力事象率を計算する。
[00129]  さらに、ブロック１６１０において、プロセスは、対数尤度を表すバイアス重みおよび／または結合重みを更新するためにＳＴＤＰ規則を適用する。幾つかの態様において、バイアス重みは、事前確率に対応することができ、結合重みは、対数尤度を表すことができる。
[00130]  幾つかの態様において、プロセスは、隠れマルコフモデルをさらに解くことができる。例えば、プロセスは、追加の入力事象を提供するためのフィードバックとして出力事象を供給することをさらに含むことができる。プロセスは、第２の組の中間値を得るために追加の入力事象に第２の組の結合重みを加えることを含むこともできる。プロセスは、ノード状態および中間値の第２の組に基づいて隠れノード状態を計算することをさらに含むことができる。幾つかの態様において、追加の入力事象は、追加の入力事象が時間的に遅延されるようにするためにフィルタリングすることができる。
[00131]  上述される方法の様々な動作は、対応する機能を実行することが可能なあらゆる適切な手段によって行うことができる。手段は、様々なハードウェアおよび／またはソフトウェアコンポーネントおよび／またはモジュールを含むことができ、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含み、ただし、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサに限定されない。概して、図において例示される動作が存在する場合は、それらの動作は、同様の数字を有する対応する手段プラス機能（ｍｅａｎｓ−ｐｌｕｓ−ｆｕｎｃｔｉｏｎ）コンポーネントを有することができる。
[00132]  ここで使用される場合において、用語“決定する”は、非常に様々な行動を包含する。例えば、“決定する”は、計算すること、演算すること、処理すること、導き出すこと、調査すること、検索すること（例えば、テーブル、データベース又は他のデータ構造における検索）、確認すること、等を含むことができる。さらに、“決定する”は、受信すること（例えば、情報を受信する）、アクセスすること（例えば、メモリ内のデータにアクセス）、等を含むことができる。さらに、“決定する”は、解決すること、選抜すること、選択すること、確立すること、等を含むことができる。  
[00133]  ここで使用されるばあいにおいて、項目のリストのうちの“少なくとも１つの”を指す句は、それらの項目のあらゆる組み合わせを意味し、単数を含む。一例として、“ａ、ｂ、またはｃのうちの少なくとも１つの”は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃを網羅することが意図される。
[00134] 本開示と関係させて説明される様々な例示的な論理ブロック、モジュール、および回路は、ここにおいて説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）、その他のプログラマブル論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネント、又はそれらのあらゆる組合せ、を用いて実装又は実行することが可能である。汎用プロセッサはマイクロプロセッサであることができるが、代替においては、プロセッサは、市販のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと関連する１つ以上のマイクロプロセッサとの組合せ、又はあらゆるその他の構成、として実装することもできる。
[00135]  本開示と関係させて説明される方法又はアルゴリズムのステップは、直接ハードウェア内において、プロセッサによって実行されるソフトウェアモジュール内において、又はそれらの２つの組み合わせ内において具現化することができる。ソフトウェアモジュールは、当業界において知られるあらゆる形態の記憶媒体において常駐することができる。使用することができる記憶媒体の幾つかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、等を含む。ソフトウェアモジュールは、単一の命令、または数多くの命令を備えることができ、および、幾つかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって分散させることができる。記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと及び記憶媒体に情報を書き込むことができるような形でプロセッサに結合することができる。代替においては、記憶媒体は、プロセッサと一体化することができる。
[00136]  ここにおいて開示される方法は、説明される方法を達成するための１つ以上のステップまたは行動を備える。方法のステップおよび／または行動は、請求項の範囲から逸脱することなしに互換可能である。換言すると、ステップまたは行動の特定の順序が指定されないかぎり、特定のステップおよび／または行動の順序および／または使用は、請求項の範囲から逸脱せずに変更することができる。
[00137]  ここにおいて説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいずれかの組み合わせにおいて実装することができる。ハードウェアにおいて実装される場合は、ハードウェア構成例は、デバイス内の処理システムを備えることができる。処理システムは、バスアーキテクチャで実装することができる。バスは、処理システムの特定の用途および全体的なシステム上の制約事項に依存してあらゆる数の相互接続バスおよびブリッジを含むことができる。バスは、プロセッサと、機械読み取り可能媒体と、バスインタフェースと、を含む様々な回路をひとつにリンクすることができる。バスインタフェースは、とりわけ、バスを介して処理システムにネットワークアダプタを接続するために使用することができる。ネットワークアダプタは、信号処理機能を実装するために使用することができる。幾つかの態様に関して、ユーザインタフェース（例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等）もバスに接続することができる。バスは、様々なその他の回路、例えば、タイミングソース、周辺機器、電圧調整器、電力管理回路、等、もひとつにリンクすることができ、それらは当業者界においてよく知られており、従って、これ以上は説明されない。
[00138]  プロセッサは、バスおよび一般的な処理を管理するのを担当することができ、機械読み取り可能媒体に格納されたソフトウェアの実行を含む。プロセッサは、１つ以上の汎用および／または専用プロセッサとともに実装することができる。例は、マイクロプロセッサと、マイクロコントローラと、ＤＳＰプロセッサと、ソフトウェアを実行することができるその他の回路と、を含む。ソフトウェアとは、命令、データ、またはそれらのあらゆる組み合わせを意味すると広義で解釈するものとし、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他のいずれとして呼ばれるかを問わない。機械読み取り可能媒体は、例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、またはあらゆるその他の適切な記憶媒体、またはそれらのあらゆる組み合わせを含むことができる。機械読み取り可能媒体は、コンピュータプログラム製品において具現化することができる。コンピュータプログラム製品は、パッケージング材料を備えることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
[00145]  請求項は、上記の正確な構成およびコンポーネントに限定されないことが理解されるべきである。請求項の範囲から逸脱することなしに上述される方法および装置の配置、動作、および詳細の様々な修正、変更および変形を行うことができる。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
事象に基づくベイジアン推論および学習を行う方法であって、
複数のノードのうちの各々において入力事象を受信することと、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えることと、
前記中間値に少なくとも部分的に基づいてノード状態を決定することと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算することと、を備える、方法。
［Ｃ２］
前記入力事象をパルスに変換するために前記入力事象をフィルタリングすることをさらに備える、
Ｃ１に記載の方法。
［Ｃ３］
前記入力事象は、入力分布からのサンプルに対応する、
Ｃ１に記載の方法。
［Ｃ４］
前記バイアス重みは、事前確率に対応し、前記結合重みは、対数尤度を表す、
Ｃ１に記載の方法。
［Ｃ５］
前記ノードは、正規化される、
Ｃ１に記載の方法。
［Ｃ６］
前記ノードは、ニューロンを備える、
Ｃ１に記載の方法。
［Ｃ７］
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
Ｃ１に記載の方法。
［Ｃ８］
前記点過程は、前記出力事象率に対応する強度関数を備える、
Ｃ１に記載の方法。
［Ｃ９］
前記計算することは、時間に基づいて行われる、
Ｃ１に記載の方法。
［Ｃ１０］
前記計算することは、事象に基づいて行われる、
Ｃ１に記載の方法。
［Ｃ１１］
前記決定することは、前記ノード状態を形成するために前記中間値を合計することを備える、
Ｃ１に記載の方法。
［Ｃ１２］
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
Ｃ１に記載の方法。
［Ｃ１３］
前記入力事象は、少なくとも１つのセンサから供給される、
Ｃ１２に記載の方法。
［Ｃ１４］
前記少なくとも１つのセンサは、アドレス事象表現カメラである、
Ｃ１３に記載の方法。
［Ｃ１５］
追加の入力事象を提供するためのフィードバックとして前記出力事象を供給することと、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加えることと、
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算することと、をさらに備える、
Ｃ１に記載の方法。
［Ｃ１６］
前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングすることをさらに備える、
Ｃ１５に記載の方法。
［Ｃ１７］
前記結合重みは、出力確率行列を備え、前記第２の組の結合重みは、遷移確率行列を備える、
Ｃ１５に記載の方法。
［Ｃ１８］
事象に基づくベイジアン推論および学習を行うための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサを備え、前記少なくとも１つのプロセッサは、
複数のノードのうちの各々において入力事象を受信し、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加え、
前記中間値に少なくとも部分的に基づいてノード状態を決定し、および
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するように構成される、装置。
［Ｃ１９］
前記少なくとも１つのプロセッサは、前記入力事象をパルスに変換するために前記入力事象をフィルタリングするようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２０］
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
Ｃ１８に記載の装置。
［Ｃ２１］
前記少なくとも１つのプロセッサは、時間に基づいて前記出力事象率を計算するようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２２］
前記少なくとも１つのプロセッサは、事象に基づいて前記出力事象率を計算するようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２３］
前記少なくとも１つのプロセッサは、前記ノード状態を形成するために前記中間値を合計することによって前記ノード状態を決定するようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２４］
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
Ｃ１８に記載の装置。
［Ｃ２５］
前記入力事象を供給するための少なくとも１つのセンサをさらに備える、
Ｃ２４に記載の装置。
［Ｃ２６］
前記少なくとも１つのプロセッサは、追加の入力事象を提供するためのフィードバックとして前記出力事象を供給し、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加え、および
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算するようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２７］
前記少なくとも１つのプロセッサは、前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングするようにさらに構成される、
Ｃ２６に記載の装置。
［Ｃ２８］
前記結合重みは、出力確率行列を備え、前記第２の組の結合重みは、遷移確率行列を備える、
Ｃ２７に記載の装置。
［Ｃ２９］
事象に基づくベイジアン推論および学習を行うための装置であって、
複数のノードのうちの各々において入力事象を受信するための手段と、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えるための手段と、
前記中間値に少なくとも部分的に基づいてノード状態を決定するための手段と、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するための手段と、を備える、装置。
［Ｃ３０］
事象に基づくベイジアン推論および学習を行うためのコンピュータプログラム製品であって、
プログラムコードを符号化した非一時的なコンピュータ読み取り可能媒体を備え、前記プログラムコードは、
複数のノードのうちの各々において入力事象を受信するためのプログラムコードと、
中間値を得るために前記入力事象にバイアス重みおよび／または結合重みを加えるためのプログラムコードと、
前記中間値に少なくとも部分的に基づいてノード状態を決定するためのプログラムコードと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するためのプログラムコードと、を備える、コンピュータプログラム製品。
【手続補正書】
【提出日】平成28年11月7日(2016.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
計算ネットワークにおいて事象に基づくベイジアン推論を行う、コンピュータ実装される方法であって、
複数の計算ノードのうちの各々において入力事象を受信することと、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えることと、
前記中間値に少なくとも部分的に基づいてノード状態を決定することと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算することと、
を備える、方法。
【請求項２】
前記入力事象をパルスに変換するために前記入力事象をフィルタリングすることをさらに備える、
請求項１に記載の方法。
【請求項３】
前記入力事象は、入力分布からのサンプルに対応する、
請求項１に記載の方法。
【請求項４】
前記バイアス重みは、事前確率に対応し、前記結合重みは、対数尤度を表す、
請求項１に記載の方法。
【請求項５】
前記ノード状態は、正規化される、
請求項１に記載の方法。
【請求項６】
前記計算ノードは、ニューロンを備える、
請求項１に記載の方法。
【請求項７】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１に記載の方法。
【請求項８】
前記点過程は、前記出力事象率を定義する強度関数を備える、
請求項１に記載の方法。
【請求項９】
前記計算することは、時間に基づいて行われる、
請求項１に記載の方法。
【請求項１０】
前記計算することは、事象に基づいて行われる、
請求項１に記載の方法。
【請求項１１】
前記決定することは、前記ノード状態を形成するために前記中間値を合計することを備える、
請求項１に記載の方法。
【請求項１２】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１に記載の方法。
【請求項１３】
前記入力事象は、少なくとも１つのセンサから供給される、
請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つのセンサは、アドレス事象表現カメラである、
請求項１３に記載の方法。
【請求項１５】
追加の入力事象を提供するためのフィードバックとして前記出力事象を供給することと、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加えることと、
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算することと、をさらに備える、
請求項１に記載の方法。
【請求項１６】
前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングすることをさらに備える、
請求項１５に記載の方法。
【請求項１７】
前記結合重みは、出力確率を備え、前記第２の組の結合重みは、遷移確率を備える、
請求項１５に記載の方法。
【請求項１８】
計算ネットワークにおいて事象に基づくベイジアン推論を行うための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサを備え、前記少なくとも１つのプロセッサは、
複数の計算ノードのうちの各々において入力事象を受信し、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加え、
前記中間値に少なくとも部分的に基づいてノード状態を決定し、および
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するように構成される、装置。
【請求項１９】
前記少なくとも１つのプロセッサは、前記入力事象をパルスに変換するために前記入力事象をフィルタリングするようにさらに構成される、
請求項１８に記載の装置。
【請求項２０】
前記入力事象は、スパイクトレーンを備え、前記出力事象率は、発火率を備える、
請求項１８に記載の装置。
【請求項２１】
前記少なくとも１つのプロセッサは、時間に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサは、事象に基づいて前記出力事象率を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサは、前記ノード状態を形成するために前記中間値を合計することによって前記ノード状態を決定するようにさらに構成される、
請求項１８に記載の装置。
【請求項２４】
前記入力事象は、定義された空間における三次元（３Ｄ）オブジェクトの二次元（２Ｄ）表現を備え、前記出力事象は、前記定義された空間における前記３Ｄオブジェクトの第３の座標を備える、
請求項１８に記載の装置。
【請求項２５】
前記入力事象を供給するための少なくとも１つのセンサをさらに備える、
請求項２４に記載の装置。
【請求項２６】
前記少なくとも１つのプロセッサは、追加の入力事象を提供するためのフィードバックとして前記出力事象を供給し、
第２の組の中間値を得るために前記追加の入力事象に第２の組の結合重みを加え、および
前記ノード状態および前記第２の組の中間値に少なくとも部分的に基づいて少なくとも１つの隠れノード状態を計算するようにさらに構成される、
請求項１８に記載の装置。
【請求項２７】
前記少なくとも１つのプロセッサは、前記追加の入力事象が時間遅延されるように前記追加の入力事象をフィルタリングするようにさらに構成される、
請求項２６に記載の装置。
【請求項２８】
前記結合重みは、出力確率を備え、前記第２の組の結合重みは、遷移確率を備える、
請求項２７に記載の装置。
【請求項２９】
計算ネットワークにおいて事象に基づくベイジアン推論を行うための装置であって、
複数の計算ノードのうちの各々において入力事象を受信するための手段と、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えるための手段と、
前記中間値に少なくとも部分的に基づいてノード状態を決定するための手段と、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するための手段と、を備える、装置。
【請求項３０】
計算ネットワークにおいて事象に基づくベイジアン推論を行うためのプログラムコードを符号化した非一時的なコンピュータ読み取り可能媒体を備え、前記プログラムコードは、
複数の計算ノードのうちの各々において入力事象を受信するためのプログラムコードと、
中間値を得るために前記入力事象にバイアス重みまたは結合重みのうちの少なくとも１つを加えるためのプログラムコードと、
前記中間値に少なくとも部分的に基づいてノード状態を決定するためのプログラムコードと、
確率論的点過程により出力事象を生成するために前記ノード状態に少なくとも部分的に基づいて事後確率を表す出力事象率を計算するためのプログラムコードと、を備える、非一時的なコンピュータ読み取り可能媒体。
【国際調査報告】
2017509978.tif 000041
2017509978.tif 000042
2017509978.tif 000043