(57)【要約】  スパイキングニューラルネットワークのシナプスに関連付けられる荷重の値を決定する技術及び機構が開示される。一実施形態において、第１のスパイク列及び第２のスパイク列は、それぞれ、スパイキングニューラルネットワークの第１のノード及び第２のノードによって出力され、これらのノード間にシナプスが結合される。シナプスを介して伝達されるシグナリングに荷重が適用される。荷重の値は、第１の値と第２の値との積に基づいて更新され、第１の値は、第１のスパイク列による第１のスパイクレートに基づき、第２の値は、第２のスパイク列による第２のスパイクレートに基づく。他の一実施形態において、荷重は、第１のスパイクレートの導関数と第２のスパイクレートの導関数との積に基づいて更新される。
2021515283.tif 000002
【特許請求の範囲】
【請求項１】
データタイプを認識するようスパイキングニューラルネットワークを訓練するコンピュータ装置であって、
スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、
スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合され、
前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、
シナプス荷重の前記第１の値に適用する変化を信号伝達する回路を含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく、
ための回路を有するコンピュータ装置。
【請求項２】
前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、請求項１に記載のコンピュータ装置。
【請求項３】
前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、請求項２に記載のコンピュータ装置。
【請求項４】
前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、請求項１乃至３のいずれかに記載のコンピュータ装置。
【請求項５】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、請求項１乃至３のいずれかに記載のコンピュータ装置。
【請求項６】
前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、請求項１乃至３のいずれかに記載のコンピュータ装置。
【請求項７】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、請求項１乃至３のいずれかに記載のコンピュータ装置。
【請求項８】
前記スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する回路、を更に有する請求項１乃至３のいずれかに記載のコンピュータ装置。
【請求項９】
前記スパイキングニューラルネットワークのノードのうち第２のサブセットを選択し、第２の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する回路、を更に有する請求項８に記載のコンピュータ装置。
【請求項１０】
命令を含んだコンピュータプログラムであって、前記命令は、機械によって実行されるときに前記機械に、データタイプを認識するようスパイキングニューラルネットワークを訓練する処理を実行させ、前記処理は、
スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、
スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合され、
前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、
シナプス荷重の前記第１の値に適用する変化を信号伝達することを含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく、
ことを有する、コンピュータプログラム。
【請求項１１】
前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、請求項１０乃至１２のいずれかに記載のコンピュータプログラム。
【請求項１４】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、請求項１０乃至１２のいずれかに記載のコンピュータプログラム。
【請求項１５】
前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、請求項１０乃至１２のいずれかに記載のコンピュータプログラム。
【請求項１６】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、請求項１０乃至１２のいずれかに記載のコンピュータプログラム。
【請求項１７】
前記処理は更に、前記スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する、ことを有する、請求項１０乃至１２のいずれかに記載のコンピュータプログラム。
【請求項１８】
前記処理は更に、前記スパイキングニューラルネットワークのノードのうち第２のサブセットを選択し、第２の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する、ことを有する、請求項１７に記載のコンピュータプログラム。
【請求項１９】
データタイプを認識するようスパイキングニューラルネットワークを訓練する方法であって、
スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、
スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合され、
前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、
シナプス荷重の前記第１の値に適用する変化を信号伝達することを含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく、
ことを有する、方法。
【請求項２０】
前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、請求項１９に記載の方法。
【請求項２１】
前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、請求項２０に記載の方法。
【請求項２２】
前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、請求項１９乃至２１のいずれかに記載の方法。
【請求項２３】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、請求項１９乃至２１のいずれかに記載の方法。
【請求項２４】
前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、請求項１９乃至２１のいずれかに記載の方法。
【請求項２５】
前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、請求項１９乃至２１のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記載される実施形態は、概してスパイキングニューラルネットワークに関し、より具体的には、他を排するものではないが、シナプス荷重値を決定する技術に関する。
【背景技術】
【０００２】
コンピューティングシステムにニューラルネットワークを実装するために、現在、多様なアプローチが使用されている。一般に“人工ニューラルネットワーク”と呼ばれるそのようなニューラルネットワークの実装は、一般に、有機的な脳と同様の挙動を示す多数の高度に相互接続された処理要素（プロセッシングエレメント）を含む。そのような処理要素は、特殊化されたハードウェアで実装され、ソフトウェアでモデル化され、又はそれら双方の組み合わせであり得る。
【０００３】
様々な用途のための次世代ソリューションを提供するために、スパイキングニューラルネットワーク（又は“ＳＮＮ”）がますます適応されつつある。ＳＮＮは、信号スパイク間の時間ベースの関係を用いて情報が通信されるシグナリング技術に様々に依存する。例えば畳み込みニューラルネットワーク（ＣＮＮ）又は再帰型ニューラルネットワーク（ＲＮＮ）を備えるものなどの典型的なディープラーニングアーキテクチャと比較して、ＳＮＮは通信の経済性を提供し、代わってそれが電力効率の桁違いの改善を可能にする。
【０００４】
ニューラルネットワークは、“学習”の機能を実装するように構成され、一般的にそれを用いて、ニューラルネットワーク内の特定の経路及び処理結果を提供する処理要素間のそれぞれの接続の荷重が調節される。ニューラルネットワークにて学習を実装するための既存のアプローチは、様々な態様の、教師なし学習（例えば、クラスタリング又は異常検出などを通じて未分類の訓練データから可能性ある解を推測する技術）、教師あり学習（例えば、分類済みの訓練データから可能性ある解を推測する技術）、及び強化学習（例えば、報酬を最大化することに基づいて可能性ある解を特定する技術）を伴ってきた。しかしながら、これらの学習技術は各々、実装するのが複雑であり、ニューラルネットワーク内で生じる変化の正確性を保証するために、広範な教師付け又は検証が必要とされることが多い。
【図面の簡単な説明】
【０００５】
以下を含む添付の図面の図に、本発明の様々な実施形態を、限定ではなく例として示す。
【図１】一実施形態に従った単純化したニューラルネットワークの機構を各々が例示する図を示している。
【図２】一実施形態に従ったシナプス荷重の値を決定するためのスパイキングニューラルネットワークにおける方法の要素を例示するフロー図である。
【図３Ａ】図３Ａ及び３Ｂは、一実施形態に従ったシナプス荷重の値を決定するための信号及びパラメータのそれぞれの値を様々に例示するタイミング図を示している。
【図３Ｂ】図３Ａ及び３Ｂは、一実施形態に従ったシナプス荷重の値を決定するための信号及びパラメータのそれぞれの値を様々に例示するタイミング図を示している。
【図４】一実施形態に従ったスパイキングニューラルネットワークを用いて画像認識機能を提供するシステムの要素を例示する機能ブロック図である。
【図５】一実施形態に従ったシナプス荷重の値を決定するスパイキングニューラルネットワークの状態遷移を例示するタイミング図を示している。
【図６】一実施形態に従ったコンピューティング装置を例示する機能ブロック図である。
【図７】一実施形態に従った例示的なコンピューティング装置を示す機能ブロック図である。
【発明を実施するための形態】
【０００６】
ここに記載される実施形態は、スパイキングニューラルネットワークの１つ以上のシナプス荷重のそれぞれの値を更新する又は他の方法で決定する技術及び機構を様々に提供する。このような決定は、例えばスパイク列のそれぞれのスパイクレート間の関係に基づき、オートエンコーダとしてスパイキングニューラルネットワークの動作を支援し得る。スパイキングニューラルネットワークは“オートエンコーダ”として機能することができ、異なる参照パターンに基づく訓練が、スパイキングニューラルネットワークの一部又は全てのノード（又は“ニューロン”）を含み、各ノードが、対応するそれぞれのフィールドを、提示されたパターンのうちのそれぞれの部分でエンコードする。オートエンコーダは、ラベル付けられたデータセットが限られる又は存在しないために教師なし学習のみが利用可能な選択肢である数多くの用途において重要な機能を提供する。教師あり学習の一部ケースでも、オートエンコーダはシナプス荷重を初期設定するための事前訓練プロセスに有用であり得る。
【０００７】
伝統的に、種々のタイプのオートエンコーダに関する訓練プロセスは、時間がかかり、又はその他の理由で非効率である。例えば、一部の従来型のニューラルネットワーク学習はシナプス時間依存可塑性（Synaptic  Time  Dependent  Plasticity；ＳＴＤＰ）則を様々に適用する。ＳＴＤＰベースの学習の１つの欠点は、例えばネットワーク学習及び学習解除を伴う多くの処理サイクルに起因して、極めてゆっくりと収束する傾向にあることである。このようなサイクルは非常に無駄である傾向にあるが、多くの標準的なＳＴＤＰスキームでは避けられないものである。異なるスパイク列のそれぞれのスパイクレートに少なくとも部分的に基づいて、例えば、そのようなスパイクレートの比に基づいて、シナプス荷重値計算を実行することによって、一部の実施形態は、ここではウェーブベース（Wave-based）ＳＴＤＰ（ＷＳＴＤＰ）と称する改良されたＳＴＤＰベースの学習を様々に可能にする。
【０００８】
画像タイプを認識するためのスパイキングニューラルネットワークの訓練を参照して、様々な実施形態の特定の特徴をここに記載する。このような画像認識機能は、対応するオブジェクト認識機能を実装することができ、参照画像の画像タイプを認識するための訓練は、参照画像に表現されているオブジェクトのオブジェクトタイプを認識するための訓練を含む。しかしながら、一部の実施形態において、スパイキングニューラルネットワークは、加えて、あるいは代わりに、多様な他のデータタイプ（例えば、異なる画像タイプ、及び／又は画像タイプ以外の１つ以上のデータタイプを含む）のうちのいずれかを認識するように訓練されてもよい。例えば、スパイキングニューラルネットワークは、参照ビデオシーケンスに基づいて、特定のビデオシーケンスタイプ（及び／又は、それに対応した、参照ビデオシーケンスに表現されているアクションのアクションタイプ）を認識するように訓練されてもよい。他の実施形態において、参照オーディオに基づく訓練が、スパイキングニューラルネットワークを用いて特定のオーディオタイプの認識を支援するように適応されてもよい。
【０００９】
ここに記載される技術は、１つ以上のエレクトロニクス装置に実装され得る。ここに記載される技術を利用し得るエレクトロニクス装置の非限定的な例は、例えばカメラ、携帯電話、コンピュータ端末、デスクトップコンピュータ、電子リーダ、ファクシミリ、キオスク端末、ネットブックコンピュータ、ノートブックコンピュータ、インターネット機器、決済端末、携帯情報端末、メディアプレーヤ及び／又はレコーダ、サーバ（例えば、ブレードサーバ、ラックマウントサーバ、それらの組み合わせなど）、セットトップボックス、スマートフォン、タブレットパーソナルコンピュータ、ウルトラモバイルパーソナルコンピュータ、有線電話、これらの組み合わせ、及びこれらに類するものなどの、あらゆる種類のモバイル装置及び／又は据え置き装置を含む。このような装置は、可搬式であってもよいし、固定式であってもよい。一部の実施形態において、ここに記載される技術は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ノートブックコンピュータ、携帯情報端末、サーバ、これらの組み合わせ、及びこれらに類するものにおいて使用され得る。より一般的には、ここに記載される技術は、スパイキングニューラルネットワークを提供するハードウェア及び／又は実行ソフトウェアを含む多様なエレクトロニクス装置のいずれで使用されてもよい。
【００１０】
図１は、第１セットのノード１１０（例えば、ニューロン）と第２セットのノード１３０（例えば、ニューロン）との間の接続１２０の例示を提供するスパイキングニューラルネットワーク１００の例示図を示している。ニューラルネットワーク（例えばスパイキングニューラルネットワーク１００など）の一部又は全てが、例えば入力層及び出力層を含んだ、複数のレイヤに編成され得る。理解されることには、スパイキングニューラルネットワーク１００は２つのレイヤ及び少数のノードのみを示しているが、他の形態のニューラルネットワークは、多数の様々に構成されたノード、レイヤ、接続、経路、及び／又はこれらに類するものを含み得る。
【００１１】
ニューラルネットワーク１００に提供されるデータは、先ず、入力ノードのシナプスによって処理され得る。入力、ノードのシナプス、ノード自体の間の相互作用が、軸索を介して別ノードのシナプスに出力が提供されるかを支配する。シナプス、ニューロン、軸索などをモデル化することは、多様な手法で遂行され得る。一例において、神経形態学的ハードウェアが、合成ニューロン（例えば、ニューロコア）内の個々の処理要素と、他のニューロンに出力を伝達するためのメッセージングファブリックとを含む。特定のノードが、接続された更なるノードにデータを提供するために“発火”するかの決定は、ノードによって適用される活性化機能と、ノードｉ（例えば、第１セットのノード１１０のレイヤに位置する）からノードｊ（例えば、第２セットのノード１３０のレイヤに位置する）へのシナプス接続の荷重（例えば、ｗｉｊ）とに依存する。ノードｉによって受け取られる入力は値ｘｉとして表され、ノードｊから生成される出力は値ｙｊとして表される。従って、ニューラルネットワークで行われる処理は、ニューロン、シナプス、及びニューラルネットワークの他の要素の間で行われる重み付けされた接続、閾値、及び評価に基づく。
【００１２】
一例において、ニューラルネットワーク１００は、スパイキングニューラルネットワークコアのネットワークから確立され、ニューラルネットワークコアは、コアからコアへ送られる短いパケット化されたスパイクメッセージを介して通信する。例えば、各ニューラルネットワークコアは、ノードの活性化が閾レベルを超えるとスパイクメッセージを生成し、該スパイクメッセージが、宛先コアに含まれる固定された一組のファンアウトノードに伝搬されるように、幾つかの原始的非線形時間計算要素をノードとして実装することができる。ネットワークは、すべての宛先ノードにスパイクメッセージを配布することができ、それに応答して、それらのノードは、過渡的で時間依存的にそれらの活性化を更新する。
【００１３】
ニューラルネットワーク１００は更に、第１セットのノードのうちのノードｉ（例えば、第１セットのノード１１０のうちのあるノード）における、値ｘｉにて表されるスパイクの受信を示している。ニューラルネットワーク１００の出力も、値ｙｊによって表されるスパイクとして示されており、これは、接続１２０によって確立された経路を介して第２セットのノードのうちのノードｊ（例えば、第１セットのノード１１０のうちのあるノード）に到達するものである。スパイキングニューラルネットワークでは、全ての通信が、イベントドリブンな活動電位すなわちスパイク上で行われる。一例において、スパイクは、スパイク時間並びに起点・宛先ノードペアの他には如何なる情報も伝えない。計算は、それぞれのノード各々において、実数値の状態変数を用いた荷重スパイク入力の動的な非線形積分の結果として様々に行われ得る。特定のノードによって生成される又は特定のノードのために生成されるスパイクの時間シーケンスは、その“スパイク列”として参照され得る。
【００１４】
スパイキングニューラルネットワークの一例において、活性化機能はスパイク列を介して発生し、これが意味することは、時間は考慮しなければならない要因であるということである。また、スパイキングニューラルネットワークでは、人工ノードが１つ以上の“樹状突起”（生物学的ノードの物理構造の一部）へのシナプス結合を介して入力を受け取り、そして、その入力が人工ニューロン“体細胞”（細胞体）の内部の膜電位に影響を与えるので、各ノードが生物学的ノードと同様の機能を提供することができる。スパイキングニューラルネットワークにおいて、人工ニューロンは、その膜電位が発火閾値を超えるときに“発火”する（例えば、出力スパイクを生成する）。従って、スパイキングニューラルネットワークノードに対する入力の影響が、その内部の膜電位を増加又は低下させるように作用し、そのノードを発火しやすい又は発火しにくいものとする。さらに、スパイキングニューラルネットワークにおいて、入力接続は、刺激性又は抑制性のいずれともなり得る。ノードの膜電位はまた、そのノード自身の内部状態の変化（“漏出”）によって影響され得る。
【００１５】
図１はまた、例えばニューラルネットワーク１００の形態又は他の形態のニューラルネットワークによって実装され得るものなどの、スパイキングニューラルネットワークにおける推論経路１４０の一例を示している。ノードの推論経路１４０は、スパイク入力を表すシナプス前スパイク列ｘｉを生成するように構成されるものであるシナプス前ノード１４２を含む。スパイク列は、離散的なスパイクイベントの時間シーケンスであり、ノードがどの時点で発火するかを指定する時点のセットを提供するものである。
【００１６】
図示のように、スパイク列ｘｉは、シナプスの前のノード（例えば、ノード１４２）によって生成され、スパイク列ｘｉは、シナプス１４４の特性に従って処理のために評価される。例えば、シナプスは、スパイク列ｘｉからのデータを評価する際に使用される例えば荷重ｗｉｊといった１つ以上の荷重を適用し得る。スパイク列ｘｉからの入力スパイクが、例えば荷重ｗｉｊを持つシナプス１４４などのシナプスに入る。この荷重は、シナプス前スパイクがシナプス後ノード（例えば、ノード１４６）対してどれだけ影響を持つかを増減する。あるシナプス後ノードへの全ての入力接続の積分的な寄与が閾値を超えると、そのシナプス後ノード１４６は発火してスパイクを生成することになる。図示のように、ｙｊは、幾つかの入力接続に応答してシナプス後のノード（例えば、ノード１４６）によって生成されるシナプス後スパイク列である。図示のように、シナプス後スパイク列ｙｊは、ノード１４６から１つ以上の他のシナプス後ノードに配布される。
【００１７】
一部の実施形態は、例えば荷重ｗｉｊの値といったシナプス荷重の値が、１つのノードで生成された信号によるものと、異なるノードで生成された別の信号によるものとの、それぞれの位相変化の間の相関（存在すれば）とともに変化し得る処理を様々に含み又は他の方法で支援する。その荷重は、これらの２つのノードの間に結合されたシナプスに適用されることができ、また、一部の実施形態において、そのシナプスを介して伝達されるスパイク列に部分的に基づき得る。例えば、シナプス荷重の値の変化は、シナプス前スパイク列及びシナプス後スパイク列（この文脈において、“前”及び“後”は同一シナプスを基準にしている）のそれぞれのタイミングに依存し得る。シナプス前スパイクの後にシナプス後スパイクが続く場合、この“前に次いで後（pre-then-post）”の信号スパイクペアの近い時間的近接さは、因果関係を指し示すことがあり、これは、一部の実施形態において、シナプス荷重の値の増加に寄与することになる。対照的に、シナプス後スパイクがシナプス前スパイクに先行する場合には、この“後に次いで前（post-then-pre）”の信号スパイクペアの近い時間的近接さは、非因果（又は反因果）関係を指し示すことがあり、従って、シナプス荷重値が減少されることに寄与し得る。
【００１８】
一部の実施態様は、シナプス前ノード及びシナプス後ノードがそれらそれぞれのスパイクレートを同時に増加（又は同時に減少）させることに基づいて、増加されたシナプス荷重を様々に提供する。一部の実施形態において、シナプス荷重は更に、そのようなシナプス前ノード及びシナプス後ノードが互いに位相を揃えてスパイクしている量に基づいてもよい。一部の実施形態は、シナプス荷重の値を更新する又は他の方法で決定するための効率的な技術及び／又は機構を様々に提供し、例えば、シナプス荷重に適用する変化が、スパイキングニューラルネットワークのノードによるスパイクのレート変化に基づいて決定される。
【００１９】
例えば、再び図１を参照するに、ノード１４２は、シナプス１４４を介して、又は一部の実施形態ではスパイキングニューラルネットワーク１００の別のノードを介して、スパイク列Ｉｉを出力し得る。スパイク列Ｉｉと並行して、ノード１４６は、スパイキングニューラルネットワーク１００の１つ以上の他のノードに別のスパイク列Ｉｊを出力し得る。このような一実施形態において、スパイク列Ｉｉは、スパイクのレート（すなわち、“スパイクレート”）ｒｉを呈することができる（スパイクレートは、例えば、ヘルツ（Ｈｚ）単位で、又は単位時間当たりの信号スパイク数を表す様々な単位のうちのいずれかで示される）。スパイクレートｒｉは、時間に沿って動く固定サイズの時間ウィンドウ内での、ノード１４２における膜電位の信号スパイクのカウント数を表し得る。同様に、スパイク列Ｉｊはスパイクレートｒｊを呈することができ、例えば、スパイクレートｒｊは、ノード１４６における膜電位の信号スパイクの別のカウント数（やはり時間に沿って動く何らかの固定サイズの時間ウィンドウ内での）を表す。スパイキングニューラルネットワーク１００の動作中の所与の時点において、レートｒｉ、ｒｊは様々に、変化していなかったり、増加していたり、又は減少したりし得る。
【００２０】
一部の実施形態は、例えば、φｉがスパイク列Ｉｉの位相であり、φｊがスパイク列Ｉｊの位相であり、そして、位相差Δφｉｊが差（φｊ−φｉ）に等しいとして、シナプス１４４に割り当てられた荷重Ｗｉｊがスパイク列Ｉｉ、Ｉｊ間の位相差Δφｉｊと共に変化することを可能にする。一部の実施形態において、変化する荷重Ｗｉｊの値は、変化する位相差Δφｉｊ（ただし、０≦φｉ，φｊ≦２π）と一致する又はその他で対応し得る。
【００２１】
荷重Ｗｉｊを変化させることは、ｗｉｊに適用されることになる変化Δｗｉｊを、スパイクレートｒｉ、ｒｊの関数として決定することを含み得る。そのようなスパイクレートｒｉ、ｒｊの関数は、位相差Δφｉｊに伴うｗｉｊの変化に類似するものとして作用し得る。例えば、ΔＷｉｊは、それぞれレートｒｉの導関数ｄｒｉ／ｄｔ及びレートｒｊの導関数ｄｒｊ／ｄｔに基づく第１の値と第２の値との積に少なくとも部分的に基づいて計算され得る。
【００２２】
限定ではなく例示として、Δｗｉｊの値は、次式：
【数１】
2021515283.tif 000003
によって与えられることができ、ここで、Ａ０はスケーリングパラメータである。Ａ０が正の数である実施形態において、ｗｉｊの値は、レートｒｉ、ｒｊがどちらも同時に増加すること又はどちらも同時に減少することに応答して増加され得る。このｗｉｊの増加は、スパイク列Ｉｉ、Ｉｊが互いに同相のままであること、位相差Δφｉｊが一定のままであること、又はｄｒｉ／ｄｔ及びｄｒｊ／ｄｔのうちの一方が、さもなければｄｒｉ／ｄｔ及びｄｒｊ／ｄｔのうちの他方から生じるΔφｉｊへの変化を緩和していることを考慮に入れるものである。それに代えて、あるいは加えて、レートｒｉ、ｒｊの一方又は双方が増加しながらレートｒｉ、ｒｊの他方が減少することに応答して、ｗｉｊの値が減少され得る。一部の実施形態において、ｄｒｉ／ｄｔ及びｄｒｊ／ｄｔのうち少なくとも一方が変化していないとき、Δｗｉｊはゼロ（“０”）に設定される。
【００２３】
荷重ｗｉｊを更新することは、期間ｔの間に取られるΔｗｉｊのサンプルΔｗｉｊ（ｔ）に基づき得る。期間ｔは、例えば各々が同じ長さである一連の期間（期間のシーケンス）のうちの１つとし得る。このシーケンスは、期間ｔのすぐ後に続く次期間（ｔ＋１）を含むとし得る。そして、サンプルΔｗｉｊ（ｔ）は、時間ｔの間に各々が取られるｄｒｉ／ｄｔ及びｄｒｉ／ｄｔのそれぞれのサンプルに基づくことができ、例えば、Δｗｉｊ（ｔ）は、次式：
【数２】
2021515283.tif 000004
に従って決定される。
【００２４】
１つのこのような実施形態において、期間ｔに対応する荷重値ｗｉｊ（ｔ）が、例えば、期間ｔの間にサンプリングされた又は期間ｔに関してその他の方法で計算された変化値Δｗｉｊ（ｔ）を加算することによって、次期間（ｔ＋１）についての荷重値ｗｉｊ（ｔ＋１）へと更新され得る。このような荷重値の更新は、次式；
【数３】
2021515283.tif 000005
に従い得る。しかしながら、実施形態は、一般に以下の形式：
【数４】
2021515283.tif 000006
の多様な他の荷重更新計算のうちのいずれを提供してもよい。
【００２５】
一部の実施形態は、この点に関して限定されるわけではないが、スパイキングニューラルネットワーク１００のノードが、ＬＩＦ（Leaky  Integrate-and-Fire）タイプの改良版であってもよく、例えば、所与のノードｊで受け取られる１つ以上のスパイク信号に基づき、そのノードｊの膜電位ｖｍの値がスパイクし、次いで、時間をかけて減衰し得る。このような膜電位ｖｍのスパイク及び減衰挙動は、例えば、次式：
【数５】
2021515283.tif 000007
に従うことができ、ここで、ｖｒｅｓｔは膜電位ｖｍが安定することになる静止電位であり、τｍは膜電位ｖｍの指数関数的減衰の時定数であり、ｗｉｊは別ノードｉからノードｊへのシナプスのシナプス荷重であり、Ｉｉｊはそのシナプスを介してノードｊに伝達されるスパイク信号（又は“スパイク列”）であり、そして、Ｊｂは、例えば、何らかの外部ノード／ソースからノードｊに提供されるバイアス電流又は他の信号に基づく値である。スパイキングニューラルネットワークは、所定の閾値電圧Ｖｔｈｒｅｓｈｏｌｄに基づいて動作することができ、ノードｊは、その膜電位ｖｍがＶｔｈｒｅｓｈｏｌｄよりも大きいことに応答して信号スパイクを出力するように構成される。加えて、あるいは代わりに、荷重Ｗｉｊの荷重Ｗｉｊ計算の値を更新することは、さらに減衰成分に基づくことができ、例えば、期間（ｔ＋１）についてのＷｉｊ（ｔ＋１）が、次式：
【数６】
2021515283.tif 000008
に従って決定され、ここで、τｇは荷重ｗｉｊの減衰の時定数である。
【００２６】
図２は、一実施形態に従ったスパイキングニューラルネットワークでシナプス荷重の値を決定する方法２００の特徴を示している。方法２００は、例えば、参照画像内に表される画像タイプなどのデータタイプを認識するようにスパイキングニューラルネットワークを訓練するために、ニューラルネットワーク１００を用いて実行され得る。方法２００は、各々が２つのノードのうち異なるそれぞれの一方で提供されるスパイク列の間の位相差に伴ってシナプス荷重値が変化するようにするプロセスの一例である。このシナプス荷重値が、これら２つのノードの間に結合されたシナプスに適用され得る。
【００２７】
図２に示すように、方法２００は、（２１０にて）スパイキングニューラルネットワークの第１のノードから、第１の生成スパイク列を伝達することを含み得る。第１の生成スパイク列は、第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づくことができ、第１の生成スパイク列は、第１のスパイクレートを示す。一実施形態例において、第１の受信スパイク列は、例えば外部のエンコーダ回路又は他のそのようなロジックによってスパイキングニューラルネットワークに伝達された別のスパイク列（“入力スパイク列”として参照する）に基づく。入力スパイク列は（単独で、又は１つ以上の他のスパイク列と組み合わさって）、画像の少なくとも一部のピクセルのエンコード版を表し得る。限定ではなく例示として、入力スパイク列は、少なくともある期間にわたって一定レートの信号スパイク及び時間変化する振幅を持つ周期的な成分を有し得る。そのような一実施形態において、１つピクセルの強度値が、周期成分の最大振幅によって表され得る。
【００２８】
方法２００は更に、（２２０にて）スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達することを有することができ、第２の生成スパイク列は、第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づく。第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合される。例えば、第２の生成スパイク列は、第２のノードで第１の生成スパイク列に基づいて決定されることができ、例えば、第１のノードが、シナプスを介して第１の生成スパイク列を第２のノードに送る。それに代えて、第１の生成スパイク列及び第２の生成スパイク列が各々、このシナプスとは独立のそれぞれの経路を介して伝達されてもよい。一部の実施態様において、第１の生成スパイク列及び第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される。
【００２９】
一部の実施形態において、方法２００は更に、（２３０にて）第１のノード及び第２のノードの各々に直に結合されたシナプスを介して伝達される少なくとも１つの信号スパイクに、シナプス荷重の第１の値を適用することを含む。２３０での適用は、第１のノード及び第２のノードのうちの一方で行われることができ、例えば、第２のノードにおける第１の生成スパイク列の受信に応答して、第２のノードで行われ得る。
【００３０】
方法２００は更に、（２４０にて）シナプス荷重の第１の値に適用する変化を信号伝達することを含んで、シナプス荷重の第２の値を決定することを有し得る。この変化は、２４０にて、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づいて決定され得る。２４０での決定は、一部の実施形態において、第１のノード及び第２のノードのち、２３０での適用を行うのと同じ一方によって行われ得る。データタイプを認識するためのスパイキングニューラルネットワークの訓練は、この変化がシナプス荷重の第１の値に適用されることに基づき得る。
【００３１】
一実施形態において、２４０で決定される変化は、第１のスパイクレートの第１の導関数と第２のスパイクレートの第２の導関数との積に基づく。第１の導関数及び第２の導関数は各々、（例えば、時間に関する）一次導関数及び二次導関数のそれぞれの一方を含み得る。例えば、第１のスパイクレート及び第２のスパイクレートのうちの一方がレートｒである場合、第１の導関数及び第２の導関数のうちの対応する一方は、時間ｔに関するレートｒの一次導関数ｄｒ／ｄｔ、又は時間ｔに関するレートｒの二次導関数ｄ２ｒ／ｄｔ２とし得る。
【００３２】
一部の実施形態において、方法２００は、加えて、あるいは代わりに、各々が異なるそれぞれの期間の間にスパイキングニューラルネットワークの様々な構成を提供する１つ以上の他の処理（図示せず）を含む。そのような構成のうちの複数のものが各々、スパイキングニューラルネットワークのノードのうち異なるそれぞれのサブセットがシナプス荷重決定プロセスを実行することを可能にし、例えば、他のノードは各々、それぞれのシナプス荷重決定プロセスを同様に実行することを妨げられる。そのような構成のうちの所与の１つで、それぞれのサブセットのノードの各ノードが、処理２３０、２４０に従ってシナプス荷重更新を実行することを可能にされ得る。
【００３３】
例えば、方法２００の追加の又は代替の処理（図示せず）は、スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定することを有し得る。そのような一実施形態において、１つ以上の他の処理は更に、スパイキングニューラルネットワークのノードのうち（第１のサブセットとは異なる）第２のサブセットを選択し、第２の期間において、スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する他の更新を決定することを有し得る。スパイキングニューラルネットワークの異なる構成を経時的に順次に実装することによって、一部の実施形態は、後に学習知識を捨て（アンラーニングされ）なければならないスパイキングニューラルネットワーク訓練の可能性を様々に制限する。
【００３４】
図３Ａ及び３Ｂは、タイミング図３００、３１０、３２０、３３０を示しており、これらは、各々時間軸３０１に対して、一実施形態に従ったスパイキングニューラルネットワークで伝達されるそれぞれの信号を示している。例えばタイミング図３００、３１０、３２０、３３０に示されるものなどの信号伝達は、ニューラルネットワーク１００を用いて提供されることができ、例えば、方法２００の処理がこのような信号伝達を含む又はその他の方法で生じさせる。
【００３５】
タイミング図３００は、スパイキングニューラルネットワークの第１のノードによって生成されるスパイク列Ｉｘ３０２を示している。タイミング図３１０は、スパイキングニューラルネットワークの第２のノードによって生成されるスパイク列Ｉｙ３１２を示しており、第１のノードと第２のノードとの間には（及びこれらの各々に直接的に）シナプスが結合されている。スパイク列Ｉｘ３０２、Ｉｙ３１２の値は、各々、電圧ｖの倍数（ｖは、例えば、１００ｍＶに等しい）に対して示されているが、一部の実施形態は、スパイク列Ｉｘ３０２、Ｉｙ３１２のうちの１つ又はいずれかによるスパイクの特定の振幅に限定されない。タイミング図３２０は、周波数軸３２２において、スパイク列Ｉｘ３０２による第１のスパイクレートのプロット３２４と、スパイク列Ｉｙ３１２による第２のスパイクレートの別のプロット３２６とを示している。スパイク列Ｉｘ３０２、Ｉｙ３１２の値は各々、周波数ｈの倍数（ｈは、例えば、４ＭＨｚに等しい）に対して示されているが、一部の実施形態は、スパイク列Ｉｘ３０２、Ｉｙ３１２のうちの１つ又はいずれかによる特定の範囲のスパイク周波数に限定されない。タイミング図３３０は、それぞれのスパイク列Ｉｘ３０２、Ｉｙ３１２を生成するノードの各々に結合されたシナプスの荷重ｗに適用され得る変化Δｗ３３２の、時間に依存した値を示している。このようなシナプスは、スパイク列Ｉｘ３０２、Ｉｙ３１２のうちの一方を伝達し得るが、一部の実施形態は、この点に関して限定されない。
【００３６】
スパイク列Ｉｘ３０２、Ｉｙ３１２のそれぞれのスパイクレートは、例えば図示した時間ｔ０から時間ｔ８までの期間において、異なる時間に様々に減少したり、増加したり、あるいは不変であったりし得る。タイミング図３００、３１０、３２０、３３０によって様々に例示されるシナリオ例において、スパイク列Ｉｘ３０２、Ｉｙ３１２のそれぞれのスパイクレートは各々、期間［ｔ０−ｔ１］の間は、そして期間［ｔ７−ｔ８］の間も、いくぶん安定している（すなわち、もしあったとしても、ほとんど傾きを持っていない）。スパイク列Ｉｙ３１２のスパイクレートはまた、期間［ｔ２−ｔ３］の間も安定であり、パイク列Ｉｘ３０２のスパイクレートは期間［ｔ２−ｔ３］及び［ｔ３−ｔ４］の間に安定である。スパイク列Ｉｘ３０２、Ｉｙ３１２のそれぞれのスパイクレートはまた、期間［ｔ５−ｔ６］の間に同時に増加して期間［ｔ６−ｔ７］の間に同時に減少しており、また、期間［ｔ１−ｔ２］の間は反対の符号の傾きで変化している。
【００３７】
タイミング図３３０のプロット３３４によって示すように、Δｗ３３２の値は、プロット３２４、３２６のそれぞれの傾き同士の積との関係で経時的に変化し得る。変化Δｗ３３２の値は、何らかのスカラー値Ｗの倍数に対して示されているが、そのようなスカラー値の意味は、例えば、使用されるシナプス荷重スケール、スパイク列Ｉｘ３０２、Ｉｙ３１２を生成する特定のノード、スパイク列Ｉｘ３０２、Ｉｙ３１２によって表される情報、及び変化に対して特定のシナプスが持つ感度を含め、実装特有の詳細に全体的に依存し得る。
【００３８】
図示した例示シナリオでは、プロット３３４は、プロット３２４、３２６のうちの少なくとも一方がゼロの傾きを持つ期間の間、すなわち、スパイク列Ｉｘ３０２、Ｉｙ３１２のうちの少なくとも一方が安定したスパイクレートを持つ期間の間、ゼロ（“０”）に等しい又は略ゼロである。プロット３２４、３２６が両方とも増加している又は両方とも減少している期間の間、プロット３３４は、そのような同時増加（又は同時減少）の速さ同士の積に比例する正の値を有し得る。プロット３２４、３２６が反対の符号の傾きで変化している期間の間、プロット３３４は、そのような同時増加（又は同時減少）の速さ同士の積に比例する負の値を有し得る。タイミング図３３０はまた、プロット３３４のそれぞれのサンプル３３６が取られる時点の一例を示しており、例えば、対応する時間ｔにおける各サンプル３３６が、シナプス荷重に順次に適用される一連の変化におけるそれぞれの変化Δｗ（ｔ）を決定する。
【００３９】
図４は、一実施形態に従ったスパイキングニューラルネットワークを用いて画像情報を評価するシステム４００の特徴を示している。システム４００は用途の一例であり、一実施形態において、スパイキングニューラルネットワークのシナプス荷重値が、それぞれ、２つの対応するスパイク列のそれぞれのスパイクレートに基づいて各々更新される。このようなシナプス荷重の更新は、方法２００に従うことが、例えば、システム４００はスパイキングニューラルネットワーク１００の特徴を含む。
【００４０】
図４に示すように、システム４００のスパイキングニューラルネットワークは、第１セットのノード４１０と、それに結合された第２セットのノード４２０とを含み得る。一実施形態例において、第１セットのノード４１０及び第２セットのノード４２０は、それぞれ、ｎ個のノード及びｍ個のノード（ｎ及びｍは正の整数である）を含む。第１セットのノード４１０を第２セットのノードに結合するシナプスは、次元（ｎ×ｍ）の接続行列Ｆを提供することができ、例えば、第１セットのノード４１０のｎ個のノードの各々が、第２セットのノード４２０のｍ個のノードの各々に、マトリックスＦの異なるそれぞれのシナプスを介して結合される。それに代えて、あるいは加えて、第２セットのノード４２０が次元（ｍ×ｍ）を持つ接続行列Ｗを含み、それによって、第２セットのノード４２０の各々が、第２セットのノード４２０の他のノードの各々に結合されてもよい。しかしながら、異なる実施形態では、スパイク列のそれぞれのスパイクレートに基づくシナプス荷重の更新を可能にするために、様々な他のスパイキングニューラルネットワークトポロジのいずれが使用されてもよい。
【００４１】
第１セットのノード４１０は、スパイキングニューラルネットワークを訓練するための情報を表す入力信号（例えば、図示の例示的な信号Ｉ１、Ｉ２、…、Ｉｎ）を様々に受信する求心性ノードとして機能し得る。第１セットのノード４１０のノードは、信号Ｉ１、Ｉ２、…、Ｉｎのうちのそれぞれの１つをエンコード（符号化）し得るとともに、対応するスパイク列を第２セットのノード４２０に様々に提供し得る。第１セットのノード４１０からのスパイク列は、各々が第２セットのノード４２０のそれぞれのノードとの間での様々な他のスパイク列の伝達を生じさせ得る。そして、そのような伝達が、第２セットのノード４２０の訓練をもたらすことができ、例えば、第２セットのノード４２０のシナプス荷重が、ここに記載されるようにして様々に更新される。この訓練は、第１セットのノード４１０によって提供される符号化スキームによって支援されることができ、それが、第２セットのノード４２０で伝達される少なくとも一部のスパイク列の間のスパイク周波数関係及び／又は位相関係（例えば、位相変化関係を含む）の検出を促進する又はその他の方法で可能にする。
【００４２】
例えば、この符号化スキームは、同様の又はその他で相関したスパイク周波数を持つ第２セットのノード４２０のスパイク列をもたらし得る。結果として、このようなスパイクレート周波数に対する変化が、シナプス荷重を更新する目的で、スパイク列間の因果関係が示されるのか又はどのように示されるのかを検出するための基礎として使用され得る。ランダムな又は不規則に揺れ動くスパイクレートに寄与するのではなく、この符号化スキームは、各々がより共振的（周期的）な特性を呈するスパイク列を生じさせ得る。このようなスパイク列の位相は、別のスパイク列との関係で、シナプス荷重が更新されるのか又はどのように更新されるのかを反映し得る。
【００４３】
信号Ｉ１、Ｉ２、…、Ｉｎは、それに関してスパイキングニューラルネットワークが訓練されるべき様々なタイプの情報のいずれかを表すことができ、例えば、信号Ｉ１、Ｉ２、…、Ｉｎは、スパイキングニューラルネットワークが認識するように訓練されている静止画像、オーディオクリップ、ビデオシーケンス、又は他の情報を表す。一実施形態例において、信号Ｉ１、Ｉ２、…、Ｉｎは、静止画像（例えば、記号、形状、顔、又はこれらに類するもの）を様々に表現するために使用され、スパイキングニューラルネットワークは、それらの画像を認識するように訓練される。限定ではなく例示として、信号Ｉ１、Ｉ２、…、Ｉｎは、それぞれ、異なるそれぞれの画像（又は画像の異なるそれぞれの行）に対応し得る。そのような一実施形態において、信号Ｉ１、Ｉ２、…、Ｉｎのうちの所与の信号Ｉｘは、第１セットのノード４１０のうちの対応するノードＮｘに、例えば画像の所与の行内のピクセルを含んだ、一連のピクセルに関するピクセル値を伝達し得る。代わってノードＮｘは、第２セットのノード４２０のうちの１つ以上のノードに、該一連のピクセルを表すスパイク列を出力し得る。
【００４４】
第１セットのノード４１０によって提供される符号化スキームは、一実施形態例において、各々が発振信号の対応する振幅を有するピクセルのそれぞれの強度値を表し得る。例えば、第１セットのノード４１０のうちの所与のノードＮｘは、所与の時間に次式：
【数７】
2021515283.tif 000009
に従って画像ピクセルｐの強度を表すバイアス電流Ｊｂに基づいて生成又は動作することができ、ここで、ｔは時間であり、ｂ１は正の固定バイアス値であり、ω１及びφ１は（それぞれ）電流Ｊｂの周波数及び位相であり、そして、Ａｐはピクセルｐの強度である。周波数ωの値は、複数の期間（例えば、各々が、Ｊｂを受け取るノードの膜時定数（τｍ）に等しい）にわたって、ノードが受け取った刺激を積分するための信号処理を容易にし得る。それに代えて、あるいは加えて、ノード４２０のセットの一部又は全てのノードが各々、それぞれの振動するバイアス信号を与えられてもよく、例えば、ノードｑは、
【数８】
2021515283.tif 000010
として表されるバイアス信号Ｊｑを得ることができ、ここで、ｔは時間であり、また、Ｊ０、ωｑ、及びψｑは（それぞれ）バイアス信号Ｊｑの振幅、周波数、及び位相である。少なくとも最初において、ψｑは例えば範囲［０，２π］からランダムに選ばれ得る。それに代えて、あるいは加えて、ωｑは、第１セットのノード４１０によって使用される周波数（例えば、ω１）と同じとし得る。
【００４５】
画像データ又は他の訓練情報を、共振する信号スパイク特性を呈するスパイク列で表すことによって、一部の実施形態は、１つのノードによる信号スパイクと別のノードの信号スパイクとの間の因果関係を検出するための基礎としての、スパイク周波数情報の使用を様々に可能にする。異なる実施形態では、（ここに記載されるものに加えて）様々な符号化スキーム及び／又はバイアススキームのいずれかを使用して、スパイキングニューラルネットワークにおけるスパイクレートに基づくシナプス荷重の更新を可能にしてもよい。
【００４６】
システム４００のスパイキングニューラルネットワークは、信号Ｉ１、Ｉ２、…、Ｉｎに基づいて、特定のタイプの画像（“画像タイプ”）に対応する（例えば、指し示す）ように予め割り当てられている特定のタイプの出力信号を生成するように訓練され得る。例えば、信号Ｉ１、Ｉ２、…、Ｉｎは、複数の参照画像を表すことができ、各々が、スパイキングニューラルネットワークがそれらを認識するように訓練される複数の画像タイプのうちのそれぞれの１つのものであるとし得る。それに代えて、あるいは加えて、信号Ｉ１、Ｉ２、…、Ｉｎは、既に訓練済みのスパイキングニューラルネットワークに対して、スパイキングニューラルネットワークによる画像認識処理にかけられる１つ以上のテスト画像（例えば、実世界画像）を表してもよい。このような処理に基づいて、スパイキングニューラルネットワークは、所与のテスト画像が、スパイキングニューラルネットワークがそれを認識するように訓練される画像タイプのインスタンスを表しているか、を指し示す１つ以上の出力スパイク列を（例えば、図示の例示的なシナプス４３０を介して）伝達し得る。
【００４７】
限定ではなく例示として、システム４００は更に、シナプス４３０を介して１つ以上の出力スパイク列を受け取るハードウェア及び／又は実行ソフトウェア（例えば、図示の例示的なセレクタロジック４４０など）を有する又はそれに結合されることができる。セレクタロジック４４０は、種々のプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及び／又は１つ以上の出力スパイク列に対応するとして画像タイプを識別するように構成される他の回路、のうちのいずれかを含むことができ、例えば、そのような識別は、スパイキングニューラルネットワークが認識するように訓練された複数の画像タイプから１つの画像タイプを選択することを含む。図示した実施形態例において、セレクタロジック４４０は、所与の画像タイプを指し示すものとして１つ以上の基準信号特性を特定する基準データ４４２を有する又はそれに結合されることができる。セレクタロジック４４０は、そのような１つ以上の基準特性に基づいて１つ以上の出力スパイク列を評価して、該１つ以上の出力スパイク列によって特定の画像タイプが指し示されるか（否か）を決定し得る。セレクタロジック４４０は、そのような決定の結果を表す信号４４４を出力し得る。
【００４８】
図５は、一実施形態に従った、スパイキングニューラルネットワークのシナプス荷重値を決定するために使用される構成シーケンスを例示するタイミング図５００を示している。タイミング図５００は、例えばスパイキングニューラルネットワーク１００又はシステム４００を用いて実行され得るシーケンスを示している。
【００４９】
タイミング図５００に示すように、スパイキングニューラルネットワークの異なる構成のシーケンスは、図示の例示的な構成５１０、５２０、５３０を含み得る。このような構成５１０、５２０、５３０のうちの幾つもの構成が各々、スパイキングニューラルネットワークのノードのうちの異なるそれぞれの組み合わせが、それぞれのシナプス荷重決定プロセスを実行することを可能にすることができ、例えば、他のノードは各々、それぞれのシナプス荷重決定プロセスを同様に実行することを阻まれる。一部の組み合わせの各々が、シナプス荷重決定プロセスを行うことを可能にされた同一のノードを含んでもよい。
【００５０】
凡例５４０に示すように、“含められるノード”記号は、現時においてシナプス荷重更新が可能にされているノードを表し、“除外されるノード”記号は、現時においてシナプス荷重更新が可能にされていないノードを表す。一例のシナリオにおいて、図示のスパイキングニューラルネットワークの構成５１０（時間５０１の期間Ｔ１における構成）は、ノード５１２の各々に対して可能にされているシナプス荷重更新を含んでいる。時間５０１の次の期間Ｔ２において、スパイキングニューラルネットワークの異なる構成５２０は、シナプス荷重更新を可能にされた他のノード５２２を含み得る。続いて、期間Ｔ３において、スパイキングニューラルネットワークの次の構成５３０は、シナプス荷重更新を可能にされた更に別の組み合わせのノード５３２を含み得る。
【００５１】
スパイキングニューラルネットワークの異なる構成５１０、５２０、５３０を経時的に順次に実装することによって、一部の実施形態は、後に学習知識を捨てなければならないスパイキングニューラルネットワーク訓練の可能性を様々に制限する。一部の実施形態において、シナプス荷重更新プロセスに参加する（又はそれから除外される）ように異なる組み合わせのノードを選択的に構成することは、ネットワーク訓練プロセスの異なる段階の間での信号干渉の可能性を軽減する。さもなければ、画像認識プロセスの所与のフェーズ（特定の画像に関する又は画像のうち少なくとも１つ以上のピクセルに関するフェーズ）における信号伝達が、例えば、ニューラルネットワーク訓練の時間的に以前のフェーズ（例えば、異なる画像に関する又は同一画像のうち異なる１つ以上のピクセルに関する）の結果である他の信号伝達によって不適切に影響され得る。
【００５２】
図６は、一実施形態に従ったコンピューティング装置６００を例示している。コンピューティング装置６００は、ボード６０２を収容している。ボード６０２は、以下に限られないがプロセッサ６０４及び少なくとも１つの通信チップ６０６を含む多数のコンポーネントを含み得る。プロセッサ６０４は、ボード６０２に物理的及び電気的に結合され得る。一部の実装形態において、上記少なくとも通信チップ６０６も、ボード６０２に物理的及び電気的に結合される。更なる実装形態において、通信チップ６０６は、プロセッサ６０４の一部である。
【００５３】
コンピューティング装置６００は、その用途に応じて、他のコンポーネントを含むことができ、それら他のコンポーネントは、ボード６０２に物理的及び電気的に結合されたものであってもよいし、結合されていないものであってもよい。それら他のコンポーネントは、以下に限られないが、揮発性メモリ（例えば、ＤＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ）、フラッシュメモリ、グラフィックスプロセッサ、デジタル信号プロセッサ、暗号プロセッサ、チップセット、アンテナ、ディスプレイ、タッチスクリーンディスプレイ、タッチスクリーンコントローラ、バッテリー、オーディオコーデック、ビデオコーディック、電力増幅器、グローバル・ポジショニング・システム（ＧＰＳ）デバイス、方位計、加速度計、ジャイロスコープ、スピーカ、カメラ、及び大容量記憶装置（例えば、ハードディスクドライブ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、等々を含む。
【００５４】
通信チップ６０６は、コンピューティング装置６００への、及びそれからのデータの伝送のための無線通信を可能にし得る。用語“無線（ワイヤレス）”及びその派生形は、変調された電磁放射線を用いて非固体媒体を介してデータを伝達し得る回路、装置、システム、方法、技術、通信チャネルなどを記述するために使用され得る。この用語は、関連する装置が如何なるワイヤをも含まないことを意味するものではない（一部の実施形態では、如何なるワイヤをも含まないことがあり得る）。通信チップ６０６は、数多くある無線規格又はプロトコルのうちの何れを実装してもよい。それらの規格又はプロトコルは、以下に限られないが、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２．１１ファミリ）、ＷｉＭＡＸ（ＩＥＥＥ８０２．１６ファミリ）、ＩＥＥＥ８０２．２０、ロングタームエボリューション（ＬＴＥ）、Ｅｖ−ＤＯ、ＨＳＰＡ＋、ＨＳＤＰＡ＋、ＨＳＵＰＡ＋、ＥＤＧＥ、ＧＳＭ（登録商標）、ＧＰＲＳ、ＣＤＭＡ、ＴＤＭＡ、ＤＥＣＴ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、これらの派生形、並びに、３Ｇ、４Ｇ、５Ｇ及びそれ以降として指定されるその他の無線プロトコルを含む。コンピューティング装置６００は複数の通信チップ６０６を含み得る。例えば、第１の通信チップ６０６は、例えばＷｉ−Ｆｉ及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）など、より短距離の無線通信用にされ、第２の通信チップ６０６は、例えばＧＰＳ、ＥＤＧＥ、ＧＰＲＳ、ＣＤＭＡ、ＷｉＭＡＸ、ＬＴＥ、Ｅｖ−ＤＯ及び／又はその他など、より長距離の無線通信用にされ得る。
【００５５】
コンピューティング装置６００のプロセッサ６０４は、プロセッサ６０４内にパッケージングされた集積回路ダイを含む。用語“プロセッサ”は、レジスタ及び／又はメモリからの電子データを処理して、該電子データをレジスタ及び／又はメモリに格納され得る他の電子データへと変換する如何なるデバイス又はデバイス部分をも意味し得る。通信チップ６０６も、通信チップ６０６内にパッケージングされた集積回路ダイを含んでいる。
【００５６】
様々な実装において、コンピューティング装置６００は、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、タブレット、携帯情報端末（ＰＤＡ）、ウルトラモバイルＰＣ、携帯電話、デスクトップコンピュータ、サーバ、プリンタ、スキャナ、モニタ、セットトップボックス、娯楽制御ユニット、デジタルカメラ、ポータブル音楽プレーヤ、又はデジタルビデオレコーダとし得る。更なる実装において、コンピューティング装置６００は、データを処理するその他の如何なるエレクトロニクス装置であってもよい。
【００５７】
一部の実施形態は、一実施形態に従ったプロセスを実行するようにコンピュータシステム（又は他のエレクトロニクス装置）をプログラムするために使用され得る命令を格納した機械読み取り可能媒体を含み得るコンピュータプログラムプロダクト、すなわち、ソフトウェアとして提供され得る。機械読み取り可能媒体は、機械（例えば、コンピュータ）によって読み取り可能な形態で情報を記憶又は伝送するための何らかの機構を含む。例えば、機械読み取り可能（例えば、コンピュータ読み取り可能）媒体は、機械（例えば、コンピュータ）読み取り可能記憶媒体（例えば、読み出し専用メモリ（“ＲＯＭ”）、ランダムアクセスメモリ（“ＲＡＭ”）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなど）、機械（例えば、コンピュータ）読み取り可能伝送媒体（例えば、電気、光、音響、又は他の形態の伝播信号（例えば、赤外線信号、デジタル信号など））などを含む。
【００５８】
図７は、ここで説明された方法のうちのいずれか１つ以上を機械（マシン）に実行させる命令のセットがその中で実行され得る、コンピュータシステム７００の例示的な一形態での、マシンの図形描写を示している。代わりの実施形態において、このマシンは、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、エクストラネット、又はインターネットにて、その他の機械に接続（例えば、ネットワーク化）されてもよい。このマシンは、クライアント−サーバネットワーク環境においてサーバ又はクライアントの能力で動作し、あるいは、ピアツーピア（若しくは分散）ネットワーク環境においてピアマシンとして動作し得る。このマシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブ機器、サーバ、ネットワークルータ、交換機若しくはブリッジ回路、又は、マシンによって行われるべきアクションを規定する命令のセット（シーケンシャル若しくはその他）を実行可能な何らかのマシンとし得る。また、単一のマシンのみが図示されているが、用語“機械”（“マシン”）はまた、ここに説明された方法のうちのいずれか１つ以上を実行すべく、命令のセット（又は複数のセット）を個別にあるいは連帯して実行する複数のマシンの集合を含むように解されるべきである。
【００５９】
この例示的なコンピュータシステム７００は、プロセッサ７０２と、メインメモリ７０４（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）（例えば、同期式ＤＲＡＭ（ＳＤＲＡＭ）若しくはラムバスＤＲＡＭ（ＲＤＲＡＭ）など））と、スタティックメモリ７０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）など）と、二次メモリ７１８（例えば、データストレージ装置）とを含んでおり、これらはバス７３０を介して互いに通信する。
【００６０】
プロセッサ７０２は、例えばマイクロプロセッサ、中央演算処理ユニット、又はこれらに類するものなどの１つ以上の汎用プロセッシングデバイスを表す。より具体的には、プロセッサ７０２は、複数命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、若しくは他の命令セットを実装するプロセッサ、又は複数の命令セットの組み合わせを実装する複数のプロセッサとし得る。プロセッサ７０２はまた、例えば特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、又はこれらに類するものなどの、１つ以上の専用プロセッシングデバイスであってもよい。プロセッサ７０２は、ここに記載された処理を実行するための処理ロジック７２６を実行するように構成される。
【００６１】
コンピュータシステム７００は更に、ネットワークインタフェース装置７０８を含み得る。コンピュータシステム７００はまた、ビデオ表示ユニット７１０（例えば、液晶ディスプレイ（ＬＣＤ）、発光ダイオードディスプレイ（ＬＥＤ）、又は陰極線管（ＣＲＴ））、英数字入力装置７１２（例えば、キーボード）、カーソル制御装置７１４（例えば、マウス）、及び信号生成装置７１６（例えば、スピーカ）を含み得る。
【００６２】
二次メモリ７１８は、ここに記載された方法又は機能のうちの何れか１つ以上を具現化する一組以上の命令（例えば、ソフトウェア７２２）を格納した機械アクセス可能記憶媒体（又は、それ具体的には、コンピュータ読み取り可能記憶媒体）７３２を含む。ソフトウェア７２２はまた、全体として又は少なくとも部分的に、メインメモリ７０４内にあることができ、及び／又はコンピュータシステム７００によるその実行中にプロセッサ７０２内にあることができ、メインメモリ７０４及びプロセッサ７０２も機械読み取り可能記憶媒体を構成し得る。ソフトウェア７２２は更に、ネットワークインタフェース装置７０８を介してネットワーク７２０上で送信又は受信されてもよい。
【００６３】
機械アクセス可能記憶媒体７３２は、例示的な一実施形態において、単一の媒体であるとして示されるが、用語“機械読み取り可能記憶媒体”は、一組以上の命令を格納する単一の媒体又は複数の媒体（例えば、集中型若しくは分散型データベース、及び／又は関連するキャッシュやサーバ）を含みように解されるべきである。用語“機械読み取り可能記憶媒体”はまた、機械による実行のために命令を格納又はエンコードすることができ且つ機械に１つ以上の実施形態のうちのいずれかを実行させる如何なる媒体をも含むように解されるべきである。用語“機械読み取り可能記憶媒体”は、従って、以下に限られないが、ソリッドステートメモリ、並びに光学媒体及び磁気媒体を含むように解されるべきである。
【００６４】
例１は、データタイプを認識するようスパイキングニューラルネットワークを訓練するコンピュータ装置であって、当該コンピュータ装置は回路を有し、この回路は、スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、また、スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合される。この回路は更に、前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、そして、シナプス荷重の前記第１の値に適用する変化を信号伝達する回路を含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく。
【００６５】
例２において、例１に係る事項は、オプションで、前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、ことを含む。
【００６６】
例３において、例１乃至２のいずれか１つ以上に係る事項は、オプションで、前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、ことを含む。
【００６７】
例４において、例１乃至３のいずれか１つ以上に係る事項は、オプションで、前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、ことを含む。
【００６８】
例５において、例１乃至４のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、ことを含む。
【００６９】
例６において、例１乃至５のいずれか１つ以上に係る事項は、オプションで、前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、ことを含む。
【００７０】
例７において、例１乃至６のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、ことを含む。
【００７１】
例８において、例１乃至７のいずれか１つ以上に係る事項は、オプションで、当該コンピュータ装置は更に、前記スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する回路を有する、ことを含む。
【００７２】
例９において、例８に係る事項は、オプションで、当該コンピュータ装置は更に、前記スパイキングニューラルネットワークのノードのうち第２のサブセットを選択し、第２の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定する回路を有する、ことを含む。
【００７３】
例１０は、命令を含んだ少なくとも１つの機械読み取り可能媒体であって、前記命令は、機械によって実行されるときに前記機械に、データタイプを認識するようスパイキングニューラルネットワークを訓練する処理を実行させ、前記処理は、スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、また、スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合される、ことを有する。前記処理は更に、前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、そして、シナプス荷重の前記第１の値に適用する変化を信号伝達することを含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく、ことを有する。
【００７４】
例１１において、例１０に係る事項は、オプションで、前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、ことを含む。
【００７５】
例１２において、例１０乃至１１のいずれか１つ以上に係る事項は、オプションで、前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、ことを含む。
【００７６】
例１３において、例１０乃至１２のいずれか１つ以上に係る事項は、オプションで、前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、ことを含む。
【００７７】
例１４において、例１０乃至１３のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、ことを含む。
【００７８】
例１５において、例１０乃至１４のいずれか１つ以上に係る事項は、オプションで、前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、ことを含む。
【００７９】
例１６において、例１０乃至１５のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、ことを含む。
【００８０】
例１７において、例１０乃至１６のいずれか１つ以上に係る事項は、オプションで、前記処理は更に、前記スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定することを有する、ことを含む。
【００８１】
例１８において、例１７に係る事項は、オプションで、前記処理は更に、前記スパイキングニューラルネットワークのノードのうち第２のサブセットを選択し、第２の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定することを有する、ことを含む。
【００８２】
例１９は、データタイプを認識するようスパイキングニューラルネットワークを訓練する方法であって、当該方法は、スパイキングニューラルネットワークの第１のノードから第１の生成スパイク列を伝達し、前記第１の生成スパイク列は、前記第１のノードに提供された第１の受信スパイク列の１つ以上の信号スパイクに基づき、前記第１の生成スパイク列は、第１のスパイクレートを示し、スパイキングニューラルネットワークの第２のノードから第２の生成スパイク列を伝達し、前記第２の生成スパイク列は、前記第２のノードに提供された第２の受信スパイク列の１つ以上の信号スパイクに基づき、前記第２の生成スパイク列は、第２のスパイクレートを示し、第１のノード及び第２のノードの各々に直接的にシナプスが結合される、ことを有する。当該方法は更に、前記シナプスを介して伝達される少なくとも１つの信号スパイクにシナプス荷重の第１の値を適用し、そして、シナプス荷重の前記第１の値に適用する変化を信号伝達することを含んで、シナプス荷重の第２の値を決定し、前記変化は、前記第１のスパイクレートに基づく第１の値と前記第２のスパイクレートに基づく第２の値との積に基づき、前記スパイキングニューラルネットワークの訓練は、前記変化が前記第１の値に適用されることに基づく、ことを有する。
【００８３】
例２０において、例１９に係る事項は、オプションで、前記変化は、前記第１のスパイクレートの第１の導関数と、前記第２のスパイクレートの第２の導関数との積に基づく、ことを含む。
【００８４】
例２１において、例１９乃至２０のいずれか１つ以上に係る事項は、オプションで、前記第１の導関数及び前記第２の導関数は各々、一次導関数及び二次導関数のそれぞれの一方を含む、ことを含む。
【００８５】
例２２において、例１９乃至２１のいずれか１つ以上に係る事項は、オプションで、前記第１のノードは、前記シナプスを介して前記第１の生成スパイク列を前記第２のノードに送る、ことを含む。
【００８６】
例２３において、例１９乃至２２のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、前記シナプスとは独立のそれぞれの経路を介して伝達される、ことを含む。
【００８７】
例２４において、例１９乃至２３のいずれか１つ以上に係る事項は、オプションで、前記第２の生成スパイク列は、前記第１の生成スパイク列に基づいて決定される、ことを含む。
【００８８】
例２５において、例１９乃至２４のいずれか１つ以上に係る事項は、オプションで、前記第１の生成スパイク列及び前記第２の生成スパイク列は各々、異なるそれぞれのスパイク列に基づいて決定される、ことを含む。
【００８９】
例２６において、例１９乃至２５のいずれか１つ以上に係る事項は、オプションで、当該方法は更に、前記スパイキングニューラルネットワークのノードのうち第１のサブセットを選択し、第１の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定することを有する、ことを含む。
【００９０】
例２７において、例２６に係る事項は、オプションで、当該方法は更に、前記スパイキングニューラルネットワークのノードのうち第２のサブセットを選択し、第２の期間において、前記スパイキングニューラルネットワークを訓練して、それぞれのシナプスの荷重に対する更新を決定することを有する、ことを含む。
【００９１】
スパイキングニューラルネットワークを用いてシナプス荷重の値を決定する技術及びアーキテクチャがここに記載されている。以上の記述では、説明の目的で、特定の実施形態の完全なる理解を提供するために数多くの具体的詳細事項が記述されている。しかしながら、当業者に明らかなことには、特定の実施形態は、これら具体的詳細事項を用いなくても実施されることができる。また、説明を不明瞭にすることを避けるために、構造及び装置をブロック図の形式で示している。
【００９２】
本明細書における“一実施形態”又は“或る実施形態”への言及は、その実施形態に関連して説明される特定の機構、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。故に、本明細書の様々な箇所に“一実施形態において”という言い回しが現れることは、必ずしも全てが同一の実施形態について言及しているわけではない。
【００９３】
ここでの詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットについての処理のアルゴリズム及び記号表現に関して提示されている。これらのアルゴリズム的記述及び表現は、コンピューティング技術における当業者が自身の仕事の内容を他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、ここでは、また一般的に、所望の結果をもたらす首尾一貫した一連のステップであると考えられる。それらのステップは、物理量の物理的な操作を必要とするものである。通常、必ずしもそうではないが、それらの量は、格納され、伝送され、結合され、比較され、そしてその他の方法で操作されることが可能な電気的あるいは磁気的な信号の形態をとる。主に一般的用法という理由から、これらの信号をビット、値、エレメント、シンボル、文字、用語、数字、又はこれらに類するものとして参照することは、往々にして好都合であることがわかっている。
【００９４】
しかしながら、留意すべきことには、これら及び同様の用語は全て、適当な物理量に関連付けられるものであり、それらの量に付された簡便なラベルに過ぎない。特に断らない限り、ここでの説明から明らかなように、記載全体を通して、例えば“処理する”、“計算する”、“演算する”、“決定する”、“表示する”又はこれらに類するものなどの用語を用いた説明は、コンピュータシステムのレジスタ及びメモリの内部で物理（電子）量として表されるデータを、コンピュータシステムメモリ若しくはレジスタ若しくはその他のそのような情報ストレージ、伝送装置、又は表示装置の内部で同様に物理量として表される他のデータへと、操作・変換するコンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を意味することが認識される。
【００９５】
特定の実施形態はまた、ここでの処理を実行する装置に関する。この装置は、要求される目的に合わせて特別に構築されてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動あるいは再構成される汎用コンピュータを有していてもよい。そのようなコンピュータプログラムは、以下に限られないが例えば、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ及び磁気光ディスクを含む何らかの種類のディスク、読み出し専用メモリ（ＲＯＭ）、例えばダイナミックＲＡＭ（ＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード若しくは光カード、又は、電子的な命令を格納するのに好適であり且つコンピュータシステムバスに結合された何らかの種類のメディアなどの、コンピュータ読み取り可能記憶媒体に格納され得る。
【００９６】
ここに提示されたアルゴリズム及びディスプレイは、如何なる特定のコンピュータ又はその他の装置にも本質的に関連付けられるものではない。様々な汎用システムが、ここでの教示に従ったプログラムとともに使用されてもよいし、より専用化された装置を構築して必要な方法ステップを実行することが都合がよいと判明することもある。多様なこれらシステムに必要な構造は、ここでの説明から見えてくるであろう。また、特定の実施形態は、特定のプログラミング言語を参照して説明されていない。認識されるように、ここに記載されたそのような実施形態の教示を実装することには、多様なプログラミング言語が使用され得る。
【００９７】
ここに記載されたものの他にも、開示された実施形態及びその実装には、それらの範囲から逸脱することなく、様々な変更が為され得る。従って、ここでの説明及び例は、限定的な意味ではなく、例示的な意味で解釈されるべきである。本発明の範囲は、もっぱら、以下の特許請求の範囲を参照することによって測られるべきである。
【図１】
2021515283.tif 000011
【図２】
2021515283.tif 000012
【図３Ａ】
2021515283.tif 000013
【図３Ｂ】
2021515283.tif 000014
【図４】
2021515283.tif 000015
【図５】
2021515283.tif 000016
【図６】
2021515283.tif 000017
【図７】
2021515283.tif 000018
【国際調査報告】
2021515283.tif 000019
2021515283.tif 000020
2021515283.tif 000021
2021515283.tif 000022