(57)【要約】      （修正有）【課題】スケーラブルでエネルギー効率が良く、学習に関する複数のモードをサポートする、改良されたニューロモーィックコンピューティングプラットフォームを提供する。【解決手段】スパイクタイミング依存可塑性（ＳＴＤＰ）ルールが、スパイキングニューラルネットワーク（ＳＮＮ）に適用され、物理環境内の位置をモデル化する。第１のニューロンが活性化され、第１のニューロンから他のニューロンへのスパイク波の伝搬によって、シナプスのサブセットのシナプス荷重がＳＴＤＰルールに基づいて増加し、スパイク波の伝搬後に第２のニューロンが活性化されることで、スパイクチェーンが、シナプス荷重の変化に基づいて、第２のニューロンから第１のニューロンへの経路に沿って伝搬する。物理経路が、スパイクチェーンに基づいて、第２のニューロンから第１のニューロンへと決定され、物理経路をナビゲートさせるために、信号をコントローラに送信する。【選択図】図１３Ａ
2018136918.tif 000002
【特許請求の範囲】
【請求項１】
格納された命令を有する、機械がアクセス可能な少なくとも１つの記憶媒体であって、前記命令は機械に対して実行された場合、前記機械に、
スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義させることであって、前記ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義させることと、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信させることであって、前記第１の信号は、前記複数の位置の第１の位置をデスティネーション位置に指定し、前記第１のニューロンを活性化することで、スパイク波が前記第１のニューロンから前記複数の人工ニューロンの他のニューロンに伝搬することになり、前記スパイク波の伝搬によって、前記複数の人工シナプスのサブセットのシナプス荷重が前記ＳＴＤＰルールに基づいて増加することになり、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含む、送信させることと、
前記複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信させることであって、前記第２の信号は前記スパイク波の伝搬後に送信され、前記複数の位置の第２の位置を開始位置に指定し、前記第２のニューロンの活性化によって、スパイクチェーンが前記第２のニューロンから前記第１のニューロンへの経路に沿って伝搬することになる、送信させることと、
前記開始位置から前記デスティネーション位置への物理経路を前記経路に基づいて自律型装置にナビゲートさせる第３の信号を、前記自律型装置のコントローラへ送信させることと
を含む、記憶媒体。
【請求項２】
前記複数の人工ニューロンのそれぞれは、前記複数の位置のそれぞれの位置に対応し、前記第１のニューロンは前記第１の位置に対応するように定義されており、前記第２のニューロンは前記第２の位置に対応するように定義されている、請求項１に記載の記憶媒体。
【請求項３】
前記スパイクチェーンは、前記複数の人工シナプスの前記サブセットの一部によって、前記複数の人工ニューロンのサブセットに伝搬し、前記経路は、前記複数の人工ニューロンのサブセットにより表された位置に沿った経路を含む、請求項２に記載の記憶媒体。
【請求項４】
前記ＳＮＮは、前記物理環境の座標に対応する格子型ネットワークをモデル化するように定義されている、請求項１から３のいずれか一項に記載の記憶媒体。
【請求項５】
前記格子型ネットワークは、２次元物理空間をモデル化する２次元格子、及び３次元物理空間をモデル化する３次元格子のうち一方を含む、請求項４に記載の記憶媒体。
【請求項６】
前記命令はさらに、実行された場合、前記スパイク波の伝搬後に神経調節信号を機械に送信させて、前記複数の人工ニューロンのそれぞれについてスパイキング閾値電位パラメータの増加をもたらす、請求項１から５のいずれか一項に記載の記憶媒体。
【請求項７】
前記命令は実行された場合、さらに機械に、
前記第１の信号及び前記第２の信号の後に第４の信号を送信させることであって、前記第４の信号は前記複数の人工ニューロンのうち第３のニューロンを活性化させ、前記第４の信号は第３の位置に対応する第３の位置を異なる開始位置に指定し、前記第３のニューロンの活性化によって、別のスパイクチェーンが前記第３のニューロンから前記第１のニューロンへの特定の経路に沿って伝搬することになる、送信させることと、
前記第３の位置から前記デスティネーション位置への経路を、前記特定の経路に機械基づいて決定させることと
を含む、請求項１から６のいずれか一項に記載の記憶媒体。
【請求項８】
スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義する段階であって、前記ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義する段階と、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信する段階であって、前記第１の信号は、前記複数の位置の第１の位置をデスティネーション位置に指定し、前記第１のニューロンを活性化することで、スパイク波が前記第１のニューロンから前記複数の人工ニューロンの他のニューロンに伝搬することになり、前記スパイク波の伝搬によって、前記複数の人工シナプスのサブセットのシナプス荷重が前記ＳＴＤＰルールに基づいて増加することになり、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含む、送信する段階と、
前記複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信する段階であって、前記第２の信号は前記スパイク波の伝搬後に送信され、前記複数の位置の第２の位置を開始位置に指定し、前記第２のニューロンの活性化によって、スパイクチェーンが前記第２のニューロンから前記第１のニューロンへの経路に沿って伝搬することになる、送信する段階と、
前記開始位置から前記デスティネーション位置への物理経路を前記経路に基づいて自律型装置にナビゲートさせる第３の信号を、前記自律型装置のコントローラへ送信する段階と
を備える方法。
【請求項９】
ルーティングファブリックと
複数のニューロモーフィックコアであって、前記複数のニューロモーフィックコアの少なくとも１つのサブセットが、スパイキングニューラルネットワーク（ＳＮＮ）内の複数の人工ニューロンのうち１つ又は複数をそれぞれ実装して物理環境をモデル化し、前記ＳＮＮ内の各ニューロンは前記物理環境内の複数の位置のそれぞれの位置をモデル化する、複数のニューロモーフィックコアと
を含むニューロモーフィックコンピューティングデバイスを備え、
前記ニューロモーフィックコンピューティングデバイスは、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号をルーティングし、前記第１のニューロンは前記複数の位置のうち第１の位置に対応し、
前記第１のニューロンの活性化に応答して前記第１のニューロンにより送信されるスパイクの第１のセットを生成し、前記スパイクの第１のセットによって、前記ＳＮＮ内にスパイク波がもたらされ、
前記ＳＮＮ内の複数の人工シナプスによって前記複数の人工ニューロンの他のニューロンに前記スパイク波を伝搬し、前記複数の人工シナプスは前記ルーティングファブリックを用いて実装され、
前記複数の人工シナプスのサブセットのシナプス荷重を、前記スパイク波の伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいて調整し、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含み、
前記複数の人工ニューロンの第２のニューロンを活性化する第２の信号をルーティングし、前記第２のニューロンは前記複数の位置のうち第２の位置に対応し、
前記第２のニューロンの活性化に応答して前記第２のニューロンにより送信されるスパイクの第２のセットを生成し、
前記複数の人工シナプスの前記サブセットの一部を横断してスパイクチェーンを伝搬し、前記スパイクチェーンは前記スパイクの第２のセットにより引き起こされ、前記スパイクチェーンは、前記複数の人工シナプスの前記サブセットの前記一部により定義された経路に沿って、前記ＳＮＮ内の前記第２のニューロンから前記第１のニューロンに伝搬する、
装置。
【請求項１０】
前記ニューロモーフィックコンピューティングデバイスはさらに、前記経路を表すデータを生成するためのロジックを備え、前記経路は、前記複数の人工ニューロンのサブセットを含み、前記複数の人工ニューロンの前記サブセットによりモデル化された位置を含む物理環境内の経路に対応する、請求項９に記載の装置。
【請求項１１】
前記ニューロモーフィックコンピューティングデバイスはさらに、前記ＳＮＮ内の前記複数の人工ニューロンのうち少なくとも１つをハザードニューロンとして実装し、前記物理環境内のハザード位置をモデル化する、請求項９又は１０に記載の装置。
【請求項１２】
前記ハザード位置は絶対ハザードを含み、前記ハザードニューロンは、前記ＳＮＮ内の他のニューロンから切り離されるように実装されており、前記スパイク波を受信することがない、請求項１１に記載の装置。
【請求項１３】
前記ニューロモーフィックコンピューティングデバイスは前記ハザードニューロンを実装し、これにより、前記ハザードニューロンは、前記ハザードニューロンで受信されるシナプス前スパイクに応答して、シナプス後スパイクの送信を遅延させることになる、請求項１１に記載の装置。
【請求項１４】
前記遅延は、前記ハザードニューロンの軸索遅延パラメータを増加させることで実施される、請求項１３に記載の装置。
【請求項１５】
前記遅延は、前記ハザードニューロンに対応する抑制性介在ニューロンを提供し、前記ハザードニューロンで神経抑制をモデル化することで実施される、請求項１３に記載の装置。
【請求項１６】
前記遅延の長さが、前記ハザード位置の重大度に対応する、請求項１３に記載の装置。
【請求項１７】
前記第１の信号は複数の第１の信号を含み、前記複数の第１の信号は、前記第１のニューロン及び少なくとも第３のニューロンを含むデスティネーションニューロンのセットにルーティングされ、前記スパイク波はデスティネーションニューロンの前記セットの各ニューロンで生成されたスパイクによって引き起こされる、請求項９から１６のいずれか一項に記載の装置。
【請求項１８】
デスティネーションニューロンの前記セットの第２の部分より優れたデスティネーションニューロンの前記セットの第１の部分の相対的な望ましさをモデル化するために、前記スパイク波を引き起こす前記スパイクの第１の部分が、前記スパイク波を引き起こす前記スパイクの第２の部分の前の時間に送信され、前記スパイクの前記第１の部分はデスティネーションニューロンの前記第１の部分により送信され、前記スパイクの前記第２の部分は前記デスティネーションニューロンの前記第２の部分により送信される、請求項１７に記載の装置。
【請求項１９】
前記時間の長さが、前記相対的な望ましさの差異の度合いに対応する、請求項１８に記載の装置。
【請求項２０】
前記経路はＳＮＮ経路を含み、前記装置はさらに特定のデバイスを備え、
前記特定のデバイスは、
前記ＳＮＮ経路に基づく入力を受け取り、
前記入力に基づいて、前記物理環境内の物理経路に沿って前記特定のデバイスの運動を方向づける
ための運動制御装置を含む、請求項９から１９のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概してコンピュータシステムの分野に関し、より詳細にはニューロモーフィックコンピューティングに関する。
【背景技術】
【０００２】
人工ニューラルネットワーク（ＡＮＮ）は一般に、入力から値を計算することができる「ニューロン」を相互接続したシステムとして提示される。ＡＮＮは、パターンを学習して認識するのに用いられる最も適切で広く知られた技術の１つを表す。その結果として、ＡＮＮはユーザエクスペリエンスを改善する、人と装置との直観的な対話の効果的な解決方法として登場した。これが、「コグニティブコンピューティング」として知られる新たな計算パラダイムである。ＡＮＮは、いくつかある使用法の中でも特に、画像処理、音声認識及び物体認識、又は自然言語処理に用いることができる。畳み込みニューラルネットワーク（ＣＮＮ）及びディープビリーフネットワーク（ＤＢＮ）は、ＡＮＮアルゴリズムを利用する計算パラダイムのほんのいくつかの例である。
【図面の簡単な説明】
【０００３】
【図１】ニューロモーフィックコンピューティングシステムを含むシステムの一実施形態を示す。
【０００４】
【図２Ａ】ハードウェア実装されたニューロモーフィックコアのネットワークを利用する、例示的なニューロモーフィックコンピューティングデバイスの簡略ブロック図を示す。
【０００５】
【図２Ｂ】１つ又は複数のルータによって相互接続されたニューロモーフィックコアのネットワークの一部を示す簡略ブロック図を示す。
【０００６】
【図２Ｃ】例示的なニューロモーフィックコンピューティングデバイスに実装された複数のニューロモーフィックコアのうち、例示的な１つに関する簡略ブロック図を示す。
【０００７】
【図３Ａ】例示的なニューロモーフィックコンピューティングデバイスを用いて実装することができる例示的なニューラルネットワークの一部に関する簡略ブロック図である。
【図３Ｂ】例示的なニューロモーフィックコンピューティングデバイスを用いて実装することができる例示的なニューラルネットワークの一部に関する簡略ブロック図である。
【０００８】
【図４Ａ】例示的なスパイキングニューラルネットワーク（ＳＮＮ）の一部において、スパイク伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）を示す簡略ブロック図である。
【図４Ｂ】例示的なスパイキングニューラルネットワーク（ＳＮＮ）の一部において、スパイク伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）を示す簡略ブロック図である。
【０００９】
【図５Ａ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｂ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｃ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｄ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｅ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｆ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｇ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【図５Ｈ】ネットワーク内の経路を決定するための、例示的なＳＮＮの使用を示すブロック図である。
【００１０】
【図６Ａ】ニューロモーフィックコンピューティングデバイスを含むシステムの例示的な実装を示す簡略ブロック図である。
【図６Ｂ】ニューロモーフィックコンピューティングデバイスを含むシステムの例示的な実装を示す簡略ブロック図である。
【００１１】
【図７】例示的なＳＮＮを用いた物理経路計画のモデル化を示す簡略ブロック図である。
【００１２】
【図８Ａ】例示的なＳＮＮ内の例示的なスパイク波の影響を示すブロック図である。
【図８Ｂ】例示的なＳＮＮ内の例示的なスパイク波の影響を示すブロック図である。
【００１３】
【図９Ａ】例示的なＳＮＮにおいて、２つ又はそれより多くのデスティネーションニューロンにより引き起こされた例示的なスパイク波の影響を示すブロック図である。
【図９Ｂ】例示的なＳＮＮにおいて、２つ又はそれより多くのデスティネーションニューロンにより引き起こされた例示的なスパイク波の影響を示すブロック図である。
【００１４】
【図１０Ａ】例示的なＳＮＮ内の複数のデスティネーションニューロンにより引き起こされたスパイク波において、複数のデスティネーションニューロンに関する差別的報酬の影響を示すブロック図である。
【図１０Ｂ】例示的なＳＮＮ内の複数のデスティネーションニューロンにより引き起こされたスパイク波において、複数のデスティネーションニューロンに関する差別的報酬の影響を示すブロック図である。
【図１０Ｃ】例示的なＳＮＮ内の複数のデスティネーションニューロンにより引き起こされたスパイク波において、複数のデスティネーションニューロンに関する差別的報酬の影響を示すブロック図である。
【００１５】
【図１１Ａ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【図１１Ｂ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【図１１Ｃ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【図１１Ｄ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【図１１Ｅ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【図１１Ｆ】例示的なＳＮＮ内のハザードニューロンの定義及び影響を示すブロック図である。
【００１６】
【図１２】物理環境をモデル化する例示的なＳＮＮを用いて、自律型エージェントの例示的な制御を示す簡略ブロック図である。
【００１７】
【図１３Ａ】様々なトポロジのネットワーク内で経路を決定するための、スパイキングニューラルネットワーク（ＳＮＮ）を含めた例示的な技術を示すフローチャートである。
【図１３Ｂ】様々なトポロジのネットワーク内で経路を決定するための、スパイキングニューラルネットワーク（ＳＮＮ）を含めた例示的な技術を示すフローチャートである。
【図１３Ｃ】様々なトポロジのネットワーク内で経路を決定するための、スパイキングニューラルネットワーク（ＳＮＮ）を含めた例示的な技術を示すフローチャートである。
【００１８】
【図１４】１つの実施形態による例示的なプロセッサのブロック図である。
【００１９】
【図１５】１つの実施形態による例示的なコンピューティングシステムのブロック図である。
【００２０】
様々な図面内の同様の参照番号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【００２１】
図１は、ニューロモーフィックコンピューティングシステム１０５を含む例示的なコンピューティングシステムを示し、ニューロモーフィックコンピューティングシステム１０５は、１つ又は様々なソースからデータを入力として受け取ることができる。例えば、これらのソースには、センサデバイス（例えば、１１０ａ〜ｃ）が含まれてよい。そのようなデバイス１１０ａ〜ｃは、環境の属性を検出及び／又は測定することができ、環境の特性を表す又は取り込むセンサデータを生成することができる。例えば、所与のセンサが、いくつかある例の中でも特に、運動、重量、物理的接触、温度、風、雑音、光、コンピュータ通信、無線信号、湿度、放射線又は特定の化学化合物の存在などの特性を検出するように構成されてよい。センサは、いくつかあるセンサデータの中でも特に、これらの属性、音声データ、写真画像、映像を表す数値データを生成することができる。これらのソースは追加的に、１つ又は複数のコンピューティングシステムのデータベース（例えば、１１５）などのデータ記憶装置を含むことができ、これにより、政府、企業、科学関連、又は他のエンティティ若しくはプロジェクトなどと関連した、データを集約する及び／又は（例えば、集約したデータを後処理することで）追加のデータを生成することができる。１つ又は複数のソース（例えば、１１０ａ〜ｃ、１１５など）からのデータが、機械学習及び深層学習並びにデータにカプセル化された情報に関する他のタスクを実行するために、ニューロモーフィックコンピューティングシステム１０５に提供されてよい。ニューロモーフィックコンピューティングシステム１０５により生み出される結果が、例えば、１つ又は複数の他のプロセス、プログラム、又はアプリケーションをホストするアプリケーションシステム１２０により、追加的に用いられてよい。パーソナルコンピュータ、モバイルデバイスなどのユーザエンドポイントデバイス（例えば、１４０、１４５）が、ユーザデバイス（例えば、１４０、１４５）によりホストされる１つ又は複数のアプリケーションによる結果の使用を通じるなどして、ニューロモーフィックコンピューティングシステム１０５から生成された、又はニューロモーフィックコンピューティングシステム１０５に関連して生成された結果を追加的に活用し、ユーザデバイスのグラフィカルユーザインタフェースに結果を示すことができる。さらに他の例において、ニューロモーフィックコンピューティングシステム１０５の機械学習機能が、いくつかある例の中でも特に、ロボット、自律走行車両、自律型装置により用いられてよい。
【００２２】
場合によっては、図１に示される例が暗示するように、ニューロモーフィックコンピューティングシステム１０５が、１つ又は複数の他のシステム（例えば、１２０、１４０、１４５）に（例えば、ネットワーク１３０を通じて）サービスとして提供されてよい。ニューロモーフィックコンピューティングシステム１０５は、リモートシステム（例えば、複数のセンサデバイス（例えば、１１０ａ〜ｃ）から構成されるモノのインターネット（ＩｏＴ）ネットワーク）により生成された入力を追加的に利用することができる。他の例では、ニューロモーフィックコンピューティングシステム１０５の機能が、その他の例示的なシステム（例えば、１１０ａ〜ｃ、１１５、１２０、１３０、１４０、１４５など）のうちいずれか１つに統合されてよく、またその逆も当てはまる。例えば、自律型装置（ロボットなど）に、（例えば、位置を決定するために）センサが設けられてよく、デバイスのセンサにより生成された入力を直接処理するために、さらにニューロモーフィックコンピューティングリソースが設けられてよい。別の例として、アプリケーション又はサービスが、（例えば、アプリケーションサーバシステム１２０により）提供されてよく、様々な他の例及びユースケースの中でも特に、アプリケーション又はサービスは、ニューロモーフィックコンピューティングリソースを含み、これらを活用する。一般に、例示的なコンピューティング環境１００における「サーバ」、「クライアント」、「コンピューティングデバイス」、「ネットワーク要素」、「ホスト」、「システム型システムエンティティ」、「ユーザデバイス」、「センサデバイス」、及び「システム」（例えば、１０５、１１０ａ〜ｃ、１１５、１２０、１３０、１４０、１４５など）は、コンピューティング環境１００に関連したデータ及び情報を受信、送信、処理、格納、又は管理するように動作可能な電子コンピューティングデバイスを含むことができる。本文書で用いられるとき、「コンピュータ」、「プロセッサ」、「プロセッサデバイス」、又は「処理デバイス」という用語は、任意の好適な処理装置を包含することが意図されている。例えば、コンピューティング環境１００内の単一のデバイスとして示される要素が、複数のサーバコンピュータを含むサーバプールなど、複数のコンピューティングデバイス及びプロセッサを用いて実装されてよい。さらに、複数のコンピューティングデバイスのうちいずれか、全て、又は一部が、Ｌｉｎｕｘ（登録商標）、ＵＮＩＸ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ａｐｐｌｅ  ＯＳ、Ａｐｐｌｅ  ｉＯＳ、Ｇｏｏｇｌｅ  Ａｎｄｒｏｉｄ（登録商標）、Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ（登録商標）などを含む任意のオペレーティングシステム、並びにカスタマイズした独自のオペレーティングシステムを含む特定のオペレーティングシステムの実行を仮想化するように適合された仮想マシンを、実行するように適合されてよい。
【００２３】
図１は、複数の要素を含む又はこれらの要素に関連しているように説明されているが、図１のコンピューティング環境１００内に示される要素の全てが、本開示のそれぞれの代替的な実装に利用されなくてよい。さらに、図１の例に関連して説明される要素のうち１つ又は複数が、コンピューティング環境１００の外部に位置してよく、他の例において、その他の説明された要素及び示された実装において説明されていない他の要素のうち１つ又は複数の一部の中に、又は一部として、特定の要素が含まれてよい。さらに、図１に示される特定の要素が、他のコンポーネントと組み合わされてよく、また本明細書で説明されるこれらの目的に加えて、代替的又は追加的な目的に用いられてよい。
【００２４】
ニューロモーフィックコンピューティングには、コンピューティングシステムに「インテリジェンス」を与えるために、神経系に存在する神経生物学的アーキテクチャを模倣した電子回路を含む超大規模集積回路（ＶＬＳＩ）システムの使用が含まれてよい。ニューロモーフィックコンピューティングの望ましい特徴とは、学習中のシステムの基本的な物理的性質を明らかにすることができる高次元の時空間的特徴を生のデータストリームから自律的に引き出す能力、したがって、これらのデータストリームを高速認識のために扱いやすくする能力である。そのような特徴は、ビッグデータに有益となり得る。
【００２５】
実装態様によっては、スケーラブルで且つエネルギー効率のよい脳から発想を得たエネルギー効率のよいアーキテクチャを採用し、またオンチップ学習に関する複数のモードをサポートする、改良されたニューロモーフィックコンピューティングプラットフォームが提供されてよい。さらに、そのようなニューロモーフィックコンピューティングハードウェアが、広範な従来のワークロード、並びに、動的なパターン学習及びパターン適合、単一の計算プラットフォームを用いた制約の充足及びスパースコーディングなど、従来と異なるワークロードをサポートするために、一般的なコンピューティングハードウェア（例えば、ＣＰＵ）に接続されても、これと統合されても、又は別の方法でこれと共に用いられてもよい。そのような解決方法は、いくつかある例示的な特徴及び考慮すべき問題の中でも特に、教師なし学習、教師あり学習、並びにスパイクタイミング及び非同期計算を用いた強化学習など、様々な学習モードを活用することによるシステムレベルの性能改善に関して、生物神経科学の知識を活用することができる。
【００２６】
１つの実装態様において、マルチコアアーキテクチャを採用するニューロモーフィックコンピューティングシステムが提供され、それぞれのコアは、ニューロン、オンチップ学習能力を備えたシナプス、並びにシナプス荷重及びルーティングテーブルを格納するローカルメモリを含むコンピューティング要素を実装する。図２Ａは、そのようなニューロモーフィックコンピューティングデバイス２０５の少なくとも一部の一例を示す簡略ブロック図の２００である。この例に示されるように、ニューロモーフィックコンピューティングデバイス２０５には、場合によっては複数の異なる接続によってコア間を規定できるように、オンデバイスネットワークにより相互接続された複数のニューラルネットワークコア（例えば、２１５）からなるネットワーク２１０を設けることができる。例えば、スパイキングニューラルネットワークコアからなるネットワーク２１０が装置２０５に設けられてよく、ネットワークチャネルを通じてコアからコアへ送信されるパケット化された短いスパイクメッセージを介してそれぞれ通信することができる。各コア（例えば、２１５）は、処理リソース及びメモリリソース、並びにニューロモーフィックコアを用いて１つ又は複数のニューロンを実装するいくつかのプリミティブな非線形一時的コンピューティング要素を実装するためのロジックを備えることができる。例えば、各ニューロモーフィックコア（例えば、２１５）は、（例えば、その処理リソースの時間多重化を通じて）複数の（例えば、１０００個を超える）別個の人工ニューロン（本明細書では「ニューロン」と呼ばれる）を同時に実装することができる。例えば、各コア（例えば、２１５）は、ニューロモーフィックコアの集合がデバイスを用いて多数のニューロンを実装できるように、複数のニューロンを同時に実装することが可能であってよい。
【００２７】
図２Ａの例を続けると、ニューロモーフィックコンピューティングデバイス２０５は、ニューロモーフィックコンピューティングデバイス２０５の機能を管理し提供するロジック及び１つ又は複数のコンポーネントを実装するために、プロセッサ２２５及びシステムメモリ２３０を追加的に含むことができる。ニューロモーフィックコンピューティングデバイスのマルチコアアーキテクチャは、様々な異なるニューラルネットワークのうちいずれか１つが、デバイス２０５を用いて実装されることを可能にし得る。例えば、１つの例において、ニューロモーフィックコンピューティングデバイスは、特定のネットワークトポロジを定義するデータを受け取るために、プログラミングインタフェース２３５を含むことができ、このデータには、いくつかある構成可能な属性の中でも特に、ニューラルネットワークに実装するニューロンの数、ニューロンを相互接続するのに用いられるシナプス、シナプスのそれぞれのシナプス荷重、ニューロモーフィックコンピューティングデバイスに実装されるニューロンの個々のパラメータが含まれる。プログラミングインタフェース２３５は、プログラマの入力データを受け取って、ニューロモーフィックコンピューティングデバイス２０５のニューロモーフィックコア上での様々なニューロンの形成を促進することができ、また対応するルーティングテーブルを生成し、個々のニューロモーフィックコア（例えば、２１５）のローカルメモリに、指定されたパラメータを追加して、ニューロモーフィックコアにより実装された人工ニューロンの対応するカスタマイズされたネットワークを実装することができる。プログラミングインタフェース２３５は、ユーザプログラマが、場合によってはユーザが望む任意のスパイキングニューラルネットワーク（ＳＮＮ）を定義することを可能にしてよい（所望のＳＮＮの範囲をサポートするニューロモーフィックコンピューティングデバイス２０５のプロセッサ及びメモリリソースに左右される）。実装態様によっては、ネットワーク定義データが、外部のコンピューティングシステムを通じて受信されてよい。
【００２８】
いくつかある例の中でも特に、１つの例において、（異なるシステム又はニューロモーフィックコンピューティングデバイスと同じシステム（又はニューロモーフィックコンピューティングデバイスそのもの）上でホストされるハードウェア及び／又はソフトウェアを基にしたロジックに実装される）１つ又は複数のシステムマネージャ２２４が、ニューロモーフィックコンピューティングデバイス２０５のロジックとインタフェースをとり、ニューロモーフィックコンピューティングデバイス２０５を用いる特定のＳＮＮの定義及び実装を含むニューロモーフィックコンピューティングデバイス２０５の機能及び構成を管理し、ニューロモーフィックコンピューティングデバイス２０５上に実装されたＳＮＮに（例えば、特定のアルゴリズム又は手順に関連して）入力を供給するために提供されてよい。ＳＮＮの定義には、いくつかある潜在的な機能の中でも特に、（例えば、ＳＮＮにおいて定義されたシナプスに対応する）ネットワーク２１０内の様々なルータに関する特定のルーティングテーブルの定義及びプロビジョニング、ネットワーク内で適用されるネットワーク定義及び属性（例えば、荷重、減衰率など）のオーケストレーション、コアの同期及び時間多重化の管理、適切なコアへの入力データのルーティングが含まれてよい。場合によっては、システムマネージャ２２４の機能は、いくつかある例の中でも特に、ニューロモーフィックコンピューティングデバイスの内部若しくは外部のシステム、又はニューロモーフィックコンピューティングデバイスが実装されているシステムを含む、場合によっては複数の異なるシステムに分割されてよい。
【００２９】
実装態様によっては、ニューロモーフィックコンピューティングデバイス２０５には、人工ニューロン、人工シナプス、細胞体、軸索などの様々な特徴及びモデルを実装し、ニューロモーフィックコンピューティングデバイス２０５を用いて実装されるＳＮＮの任意の追加機能を提供するために、追加のロジックが設けられてよい。例えば、１つの例では、ニューロモーフィックコンピューティングデバイス２０５は、ニューロモーフィックコンピューティングデバイス２０５を用いて実装されたＳＮＮ内に、スパイクタイミング依存可塑性（ＳＴＤＰ）をサポートするロジック２４０を含むことができる。場合によっては、ＳＴＤＰロジック２４０は、ニューロモーフィックコンピューティングデバイス２０５のニューロモーフィックコア（例えば、２１５）のそれぞれ（又は一部）に分散されて実装されてよい。生体ニューロン内のＳＴＤＰをモデル化するＳＴＤＰロジック２４０は、ニューロンの実装を可能にし得る。神経科学では、ＳＴＤＰは、特定のニューロンの出力と、特定のニューロンによって他のニューロンから受信された入力活動電位（又はスパイク）との相対的タイミングに基づいて、生体ニューロン間の接続強度を調整する生物学的プロセスを指してよい。具体的には、ＳＴＤＰによれば、第２のニューロンが出力スパイクを送信する直前に、第１のニューロンから第２のニューロンへの入力スパイクが発生しやすい場合、第１のニューロンから第２のニューロンへの入力又はシナプスは、出力スパイクと入力スパイクとが正相関であるとの示唆に基づいて強化されてよい。これに対して、第１のニューロンから第２のニューロンへの入力スパイクが、第２のニューロンによる出力スパイクの直後に発生しやすい場合、（言い換えれば、第１のニューロンからの着信スパイクと第２のニューロンの次の発信スパイクとの間に、より大きい遅延が観察される場合）、第１のニューロンからのこの特定の入力は、ＳＴＤＰに基づいていくらか弱くなることがある。入力又はシナプスは、ＳＴＤＰに基づいてシナプスのシナプス荷重を調整することで、より強くなるか、又はより弱くなることがある。ＳＴＤＰは、第１のニューロンのスパイクから第２のニューロンへのスパイクと、第２のニューロンの次の発信スパイクとの間の可能性の高い因果関係を決定することに基づいて、ニューロン間接続の強化をもたらすことができる。ＳＴＤＰロジック２４０は、あるニューロンで受信された特定のスパイクと、そのニューロンにより送信される次の発信スパイクとの平均時間差を追跡及び／又は決定することで、人工ニューロン及びシナプスがこの挙動をモデル化することを可能にし得る。実装態様によっては、ＳＴＤＰロジックが、受信側ニューロンの次のスパイクに対して強い相関を有する送信スパイクに関連するシナプスに報酬を与え、そうではないシナプスにペナルティを課すことができる。ＳＴＤＰロジック２４０は、ニューロモーフィックコンピューティングデバイス２０５に実装されたＳＮＮに基づいて、より高性能の学習アプリケーションを促進することができる。
【００３０】
追加のロジックが、例示的なニューロモーフィックコンピューティングデバイス（又はニューロモーフィックコンピューティングデバイス内の個々のニューロモーフィックコア）に提供されてよい。例えば、ニューロモーフィックコンピューティングデバイスが、不応モデル（ｒｅｆｒａｃｔｏｒｙ  ｍｏｄｅｌｉｎｇ）ロジック２４５を含むことができる。不応モデルロジック２４５は、定義された（例えば、ニューロンの不応期パラメータに定義された）不応期の終了まで、人工ニューロンが次の出力スパイクを送信しない不応期を強制する挙動を含む人工ニューロンを実装するのに、ニューロモーフィックコアによって用いられてよい。この特徴は、フィードバックループがＳＮＮ内で起こらないようにするのに有益である場合がある。さらに、ニューロンに不応期を強制することで、本明細書で説明されるアプリケーションを含むネットワーク経路発見アプリケーションなどにおいて、ＳＴＤＰの有用性を高めることができる。ニューロモーフィックコンピューティングデバイス２０５は、排他的選択ロジック２５０も含むことができ、これは、ＳＴＤＰと関連して競合解消を行うのに用いられてよく、これにより、２つのスパイクが同時に（例えば、ニューロモーフィックコンピューティングデバイス２０５を用いてそのように実装されたデジタルＳＮＮの同じ時間ステップ内で）受信された場合、同時に起こったスパイクを伝達するシナプスのうち一方のみが報酬を与えられて強化される。
【００３１】
例示的なニューロモーフィックコンピューティングデバイス２０５はさらに、ニューロモーフィックコンピューティングデバイス内の複数のニューロモーフィックコアに送信される広域信号が、ニューロモーフィックコンピューティングデバイス２０５内の複数の異なるコア上に実装された複数の（又は全ての）ニューロンに変化をもたらすことを可能にする神経調節シグナリングロジック２５５を含むことができる。複数の異なる神経調節信号が、ニューロモーフィックコンピューティングデバイスにより実装されたＳＮＮに様々な変化をもたらすように定義されてよい。そのような信号は、（例えば、ＳＮＮを利用する特定のアプリケーション又はアルゴリズムに関連して）ニューロモーフィックコンピューティングデバイスの内部又は外部にあるコントローラ（例えば、２２４）によって提供されてよい。外部インタフェース２６０が設けられてよく、それを通じて外部システムがデータ（例えば、ニューロモーフィックコンピューティングデバイスを用いて実装されるニューロン間のスパイクメッセージを表す、ニューロモーフィックコンピューティングデバイスのルータ上のトラフィック）を受信、検査、又は別の方法でデータにアクセスすることができる。一例として、（例えば、ＳＮＮの出力レイヤ内のニューロン、又はコンシューマシステムのコントローラに接続された特定のニューロンからの）ＳＮＮの出力が、ニューロモーフィックコンピューティングデバイスの外部インタフェース２６０を介して外部のシステムに提供されてよい。場合によっては、ニューロモーフィックコンピューティングデバイス２０５が、特定の用途及びユースケースを実現するために、汎用コンピューティングデバイスを含む他のデバイスと有利にインタフェースをとって相互運用することができる。したがって、いくつかある例示的な特徴及び使用法の中でも特に、（例えば、１つ又は複数の定義された通信プロトコルを介して）１つ又は複数の他のデバイスと通信するために、場合によっては外部インタフェースロジック２６０が提供されてよい。
【００３２】
図２Ｂに示されるように、複数のニューロモーフィックコア（例えば、２１５ａ〜ｄ）を相互接続するネットワークファブリックの一部を示すブロック図の２００ｂが示されている。例えば、複数のニューロモーフィックコア（例えば、２１５ａ〜ｄ）がメッシュ状に設けられてよく、各コアが複数のルータ（例えば、２２０）を含むネットワークにより相互接続されている。１つの実装態様において、各ニューロモーフィックコア（例えば、２１５ａ〜ｄ）は、複数のルータのうち１つだけ（例えば、２２０）に接続されてよく、それぞれのルータが（図２Ａの２１０で示されるように）少なくとも１つの他のルータに接続されてよい。一例として、１つの特定の実装態様では、４つのニューロモーフィックコア（例えば、２１５ａ〜ｄ）が単一のルータ（例えば、２２０）に接続されてよく、また複数のルータのそれぞれが、２つ又はそれより多くの他のルータに接続されてメニーコアメッシュを形成してよく、その結果、それぞれのニューロモーフィックコアがデバイス内の他のニューロモーフィックコアのそれぞれと互いに相互接続することが可能になる。さらに、各ニューロモーフィックコアが、複数の別個のニューロンを実装するように構成されてよいので、デバイスのルータネットワークは同様に、ニューロモーフィックコンピューティングデバイスに設けられたニューロモーフィックコアのネットワークを用いて定義された潜在的に多数の（例えば、３０，０００個を超える）ニューロンのうち任意の２つの間に定義される、接続又は人工シナプス（若しくは単に「シナプス」）を可能にし得る。
【００３３】
図２Ｃは、ニューロモーフィックコア２１５の１つの例示的な実装態様の内部コンポーネントを示すブロック図の２００ｃを示す。１つの例では、単一のニューロモーフィックコアが、ニューロモーフィックコアのアーキテクチャリソースを時間多重化方式で共有するいくつかのニューロン（例えば、１０２４個）を実装することができる。１つの例では、各ニューロモーフィックコア２１５は、本明細書で説明されるように、デジタル方式で実装された人工ニューロンの実現に関連して、演算機能を実行しルーティングすることができるプロセッサブロック２６５を含むことができる。各ニューロモーフィックコア２１５は、いくつかあるデータ及び使用法の中でも特に、内部にルーティングテーブルが格納されてよく、ニューラルネットワークのためにアクセスされてよいローカルメモリを追加的に設けることができ、コアを用いて実装された各ニューロンの各細胞体の蓄積電位が追跡されてよく、コアにより実装された各ニューロンのパラメータが記録されてよい。ニューロモーフィックコア２１５のコンポーネント、又はアーキテクチャリソースはさらに、他のニューロモーフィックコア上の他のニューロンにより生成された入力スパイクメッセージを受け取るための入力インタフェース２７５と、スパイクメッセージを他のニューロモーフィックコアにメッシュネットワークを介して送信するための出力インタフェース２８０とを含むことができる。場合によっては、ニューロモーフィックコア２１５用のルーティングロジックが、出力インタフェース２８０を用いて少なくとも部分的に実装されてよい。
【００３４】
各ニューロモーフィックコアは、人工樹状突起２９０及び人工細胞体２９５（本明細書ではそれぞれ、単に「樹状突起」及び「細胞体」と呼ばれる）を、ニューロン２８５ごとに実装するロジックを追加的に含むことができる。ネットワークからスパイクを受信する樹状突起２９０は、ハードウェア実装されたプロセスであってよい。各樹状突起の蓄積神経伝達物質量を現時間の間に受信し、各樹状突起及び細胞体の電位状態を導き出して、適切な時間に発信スパイクメッセージを生成する細胞体２９５は、ハードウェア実装されたプロセスであってよい。樹状突起２９０は、別のソース（例えば、別のニューロン）から入力を受信する接続ごとに定義されてよい。１つの実装態様において、樹状突起プロセス２９０は、スパイクメッセージが時間多重化方式でネットワークから連続的に到達するので、スパイクメッセージを受信して処理することができる。スパイクが受信されると、（細胞体２９５（及びローカルメモリ２７０）を用いて追跡される）ニューロンの活性化が増大し得る。ニューロンの活性化がニューロン２８５用に設定された閾値を超えた場合、ニューロンは、出力インタフェース２８０を介して、固定セットのファンアウトニューロンに伝搬されるスパイクメッセージを生成することができる。実際の生物学的ニューラルネットワークにおいてみられるように、ネットワークは、スパイクメッセージを全てのデスティネーションニューロンに配信し、それに応じて、これらのニューロンは、それぞれの活性化を一時的方式、時間依存方式などで順に更新し、場合によっては、これらのデスティネーションニューロンのいくつかの活性化を引き起こして、対応する閾値も超えて、さらなるスパイクメッセージをトリガする。
【００３５】
上述されたように、ニューロモーフィックコンピューティングデバイスは、スパイクを基にしたニューラルコンピューテーションのモデルを確実に実装することができる。そのようなモデルは、スパイキングニューラルネットワーク（ＳＮＮ）とも呼ばれることがある。ニューロンの状態及びシナプスの状態に加えて、ＳＮＮは時間の概念も組み込んでいる。例えばＳＮＮでは、スパイク時間以外の明示的な情報を伝達せず、スパイクの送信に対応する暗黙のソースニューロン・デスティネーションニューロン対を伝達するイベント駆動型活動電位又はスパイクを通じて通信が発生する。重み付けされたスパイク入力を動的に非線形に集積した結果として、計算が各ニューロンにおいて発生する。実装態様によっては、再帰的及び動的なフィードバックが、ＳＮＮ計算モデルに組み込まれてよい。さらに、様々なネットワーク接続モデルが、いくつかある例の中でも特に、完全接続（オールツーオール）ネットワーク、フィードフォワードツリー、完全ランダムプロジェクション、「スモールワールド」ネットワークを含む様々な現実世界のネットワーク又は関係をモデル化するために採用されてよい。図２Ａ〜図２Ｃの例に示されるような、ニューロモーフィックコアの同種の２次元ネットワークが、これらのネットワークモデル全てを有利にサポートすることができる。デバイスの全てのコアが接続されるので、その結果、コア内に定義される全てのニューロンも、いくつかのルータホップを通じて完全に接続される。各コアのニューロンが自身のスパイクをメッシュ内の任意の数のコアに配信して、完全に任意の連結性グラフを実現することを可能にすることで、デバイスはさらに、様々な異なるニューラルネットワークを定義する完全に構成可能なルーティングテーブルを含むことができる。
【００３６】
ＳＮＮをサポートすることができるシステムの改良された実装態様では、図２Ａ〜図２Ｃの例に示される超大規模集積回路（ＶＬＳＩ）ハードウェアデバイスなど、高速で信頼性のある回路が、脳が利用するような情報処理アルゴリズムをよりプログラマブルな方式でモデル化するＳＮＮを実装するために設けられてよい。例えば、生物の脳は、定義された特定のセットの挙動しか実装できないが、ニューロモーフィックプロセッサデバイスは、何年にもわたる開発で調整されたように、全てのニューラルパラメータを速やかに再プログラミングする能力を提供することができる。したがって、単一のニューロモーフィックプロセッサが、一片の生物脳組織により提供されるものより広範囲の挙動を実現するのに利用されてよい。この相違は、自然界で見られる神経回路のものとは明らかに異なるニューロモーフィック設計を実現したニューロモーフィックプロセッサを採用することで実現され得る。
【００３７】
一例として、ニューロモーフィックプロセッサは、スパイク通信ネットワーク及びＳＮＮを実装するデバイスのニューロン機構の両方で、時間多重化計算を利用することができる。したがって、より高いニューロン密度を実現するために、プロセッサデバイスの同じ物理回路が多数のニューロンの間で共有されてよい。時間多重化を用いると、ネットワークはＮ個のコアをＯ（Ｎ）の総配線長で接続することができるのに対して、別々のポイントツーポイント配線であればＯ（Ｎ２）に拡大することになり、その結果、いくつかある例の中でも特に、プレーナ型で非塑性のＶＬＳＩ配線技術に対応する配線リソースの著しい削減が実現される。ニューロモーフィックコアでは、高密度のメモリ割り当てを通じて時間多重化が実施されてよく、これは、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）を、共有バス、アドレス復号化ロジック、及び他の多重化ロジック要素と共に用いて行われる。各ニューロンの状態は、いくつかある例示的な情報（構成及び他の情報など）の中でも特に、各ニューロンの集合シナプスの状態、その膜にかかる全ての電流及び電圧を含め、各ニューロン状態を表すデータと共にプロセッサのメモリに格納されてよい。
【００３８】
１つの例示的な実装態様において、より「アナログ」又は「同形」のニューロモーフィック手法を採用する他のプロセッサから転じたニューロモーフィックプロセッサは、「デジタル」の実装態様を採用することができる。例えば、デジタルの実装態様は、デジタルの加算器回路及び乗算器回路を用いてシナプス電流の集積を実装することができるが、これは、ニューロンがシナプス電荷を自身の脂質膜に蓄積する方法と電気的に類似の方式で、キャパシタに電荷を蓄積するアナログの同形ニューロモーフィック手法とは対照的である。蓄積されたシナプス電荷は、例えば、対応するコアのローカルメモリ内のニューロンごとに格納されてよい。さらに、例示的なデジタルニューロモーフィックプロセッサのアーキテクチャレベルでは、信頼性のある決定的な動作が、コアのネットワーク全体にわたって時間を同期することで実現されてよく、その結果、同じ初期条件及び構成を与えられると、設計の任意の２つの実行が同一の結果をもたらすことになる。個々のコアが可能な限り高速且つ自由に動作することを可能にするために、非同期性が回路レベルで維持されてよいが、システムレベルでは決定性を維持する。したがって、一時変数としての時間の概念は、ニューラルコンピューテーションでは取り除かれてよく、ハードウェアが計算を実行するのに利用した「実測」時間からこれを分離する。したがって、実装態様によっては、別々の時間間隔でニューロモーフィックコアを全体的に同期させる時間同期化メカニズムが設けられてよい。この同期メカニズムは、実行時間とニューロモーフィックシステムがモデル化する生物学的時間との間に相違がある状態で、回路が許す限り高速に、システムがニューラルコンピューテーションを完了することを可能にする。
【００３９】
動作にあたっては、ニューロモーフィックメッシュデバイスは、全てのニューロモーフィックコアが不活性となるアイドル状態で開始することができる。各コアが自身のニューロンを通じて非同期にサイクル動作するので、全てのデスティネーションニューロンを含む適切なデスティネーションコアにメッシュ相互接続がルーティングするスパイクメッセージを、各コアは生成する。単一のニューロモーフィックコアにおける複数のニューロンの実装は時間多重化され得るので、複数のニューロンを含む全てのスパイクが、対応するコアの共有リソースを用いて処理され検討され得る時間ステップが定義されてよい。各コアが、それぞれの時間ステップの間に自身のニューロンの処理を終了するので、コアは、実装態様によっては、同期メッセージを用いる隣接コアと（例えば、ハンドシェイクを用いて）通信して、全てのスパイクメッセージのメッシュをインフライトでフラッシュすることができ、全てのスパイクがこの時間ステップの間に処理されたと、コアが安全に判定することが可能になる。その時点で、全てのコアが同期しているとみなされてよく、これらのコアが、自身の時間ステップを進め、次の時間ステップを開始するために初期状態に戻ることを可能にする。
【００４０】
この文脈を仮定すると、上述されたように、相互接続されたニューロモーフィックコアのメッシュ２１０を実装するデバイス（例えば、２０５）が提供されてよく、場合によっては複数の人工ニューロンを実装するコアは、ＳＮＮを実装するために相互接続されることが可能である。各ニューロモーフィックコア（例えば、２１５）は、２つの緩く結合された非同期プロセスを提供することができる。すなわち、ネットワークからスパイクを受信し、これらのスパイクを今後の適切な時間において適切なデスティネーション樹状突起コンパートメントに適用する入力樹状突起プロセス（例えば、２９０）と、各樹状突起コンパートメントの蓄積神経伝達物質量を現時間に間に受信し、各樹状突起及び細胞体の膜電位状態を導き出し、適切な時間に（例えば、細胞体の閾値電位に達したときに）発信スパイクメッセージを生成する出力細胞体プロセス（例えば、２９５）とである。ここで用いられる樹状突起及び細胞体の名称は、生物学的見地から、単にこれらの機能の役割を模倣しているにすぎず、文字通りに解釈しすぎるべきではないことに留意されたい。
【００４１】
スパイクメッセージは、コア内の樹状突起の特定のディストリビューションセットを識別することができる。ディストリビューションセットの各要素は、モデル化されたニューロンのシナプスを表すことができ、場合によってはいくつかある属性の中でも特に、樹状突起数、接続強度（例えば、荷重Ｗ）、遅延オフセットＤ、シナプスの種類で定義される。場合によっては、今後の時間ステップＴ＋Ｄｉにおいて処理するためにスケジューリングされた、デスティネーション樹状突起δｉの総神経伝達物質量（ＷｅｉｇｈｔＳｕｍ）に、各荷重Ｗｉが加えられてよい。樹状突起プロセスは、入力スパイクを処理しないが、全ての樹状突起δｉを連続的に順次処理することができ、総蓄積神経伝達物質量を時間Ｔの間に細胞体段階に伝達する。細胞体プロセスは、各時間ステップにおいて、細胞体の特定の樹状突起コンパートメントに位置付けられたシナプスを介して受信された、総スパイク荷重の蓄積（ＷｅｉｇｈｔＳｕｍ）を受信する。最も簡単な場合には、各樹状突起コンパートメントは、単一のニューロン細胞体にマッピングする。他の例では、ニューロモーフィックコアメッシュアーキテクチャはさらに、マルチコンパートメントニューロンモデルをサポートすることができる。コアメモリは、細胞体の構成された属性及び細胞体の状態、細胞体での総蓄積電位などを格納することができる。場合によっては、シナプス入力応答が、いくつかある例示的な特徴の中でも特に、単一時間ステップ電流インパルスを有するコア、線形減衰を伴う低状態変数分解能、ゼロ時間軸索遅延でモデル化されてよい。場合によっては、コアのニューロンモデルがより複雑になることがあり、いくつかある例示的な特徴の中でも特に、指数関数的な減衰を伴う高分解能の状態変数、イオンチャネル種別ごとの複数の静止電位、より高度なスパイキングダイナミクス向けの追加のニューロン状態変数、ホメオスタシス効果を実装する動的閾値、並びに、正確なバーストモデリング及び大きい軸索遅延用の複数の出力スパイクタイマ状態を実装することがある。１つの例において、ニューロモーフィックコアのそれぞれによって実装された細胞体プロセスは、電流を基にした簡単なリーキー積分発火型（ＬＩＦ）ニューロンモデルを実装することができる。
【００４２】
上記の例において導入されたようなニューロモーフィックコンピューティングデバイスが、スパースコーディング問題の階層を効果的に解決することができるスパイキングニューラルネットワークアーキテクチャの抽象概念を定義するために提供されてよい。上述のように、このアーキテクチャにおける基本計算単位はニューロンであってよく、またニューロンはシナプスによって接続されてよく、これらによって、ニューラルネットワークのトポロジが定義される。シナプスは指向性があり、シナプスが存在するならば、ニューロンは互いに通信することができる。図３Ａは、簡単な例示的なニューラルネットワークを示す簡略ブロック図の３００ａであり、シナプスで接続されたニューロン３０５、３１０、３１５、３２０が含まれる。シナプスは、スパイクメッセージがニューロン間で送信されることを可能にする。例えば、ニューロン３０５は、ニューロン３１５、３２０により生成されたスパイクメッセージを受信することができる。ニューロン３０５が、自身が接続されているその他のニューロンからスパイクメッセージを受信すると、ニューロン３０５の電位が、ニューロン３０５用に定義された（例えば、ニューロン３０５の細胞体プロセスに関して定義された）閾値を超え、これによりニューロン３０５自身がスパイクメッセージを生成、送信することになり得る。言及されたように、シナプスには指向性があってよい。場合によっては、ネットワーク及び対応するシナプスは、いくつかある例の中でも特に、あるニューロン（例えば、３１５）がその他のニューロンの一部（例えば、３０５）とだけ受信又は送信するように定義されてよく、ニューロンを他のニューロンと双方向に接続して（例えば、ニューロン３１５と３２０との間）フィードバックループを作成するシナプスが定義されてよい。
【００４３】
例示的なニューロモーフィックコンピューティングデバイスが、リーキー積分発火型ニューロン及びコンダクタンスを基にしたシナプスを採用することができる。したがって、ネットワークのダイナミクスは、各ニューロンにおける状態変数の進展によって推進されてよい。１つの例において、各ニューロンは２種類の状態変数、すなわち１つの膜電位ｖ（ｔ）と、１つ又は複数の樹状突起電流ｕ１（ｔ）、…ｕｓ（ｔ）とを有する。個々のニューロンのダイナミクスが、以下の連続時間微分方程式（１）〜（３）によって定義されてよい。
【数１】
2018136918.tif 000003
【数２】
2018136918.tif 000004
【数３】
2018136918.tif 000005
【００４４】
方程式（１）は、樹状突起電流のダイナミクスを示す。各樹状突起電流の変数は、それぞれの減衰時定数τｋｓに従って、時間と共に指数関数的に減衰するように定義されてよい。樹状突起電流は、（方程式（２）に示されるように）膜電位の集積を制御するために、線形に加算されてよい。樹状突起電流と同様に、膜電位も別個の膜電位時定数τｍで指数関数的な減衰の影響を受けることがある。方程式（３）は、ニューロンのスパイキングイベントを定義することができる。ニューロンの膜電位がニューロン用に定義された特定の閾値電位θに達した場合、ニューロンは（例えば、その細胞体プロセスを通じて）膜電位をゼロにリセットし、対応するシナプスにより接続された隣接ニューロンにスパイクを送出する。各ニューロンの樹状突起プロセスは、スパイク到着によって樹状突起電流に変化がもたらされるように定義されてよい。そのようなニューロン間の相互作用が、ネットワークの複雑なダイナミクスをもたらす。スパイクがシナプスに沿って送信され、着信シナプスは、例えば樹状突起コンパートメントを用いて、１つの樹状突起電流変数と関連するように定義されてよい。そのような実装態様では、スパイク到着ごとに、１つの樹状突起電流ｕｋ（ｔ）だけが変更される。この変化は、方程式（４）で定義されるように、シナプス荷重Ｗｉｊの大きさに基づいて、即時ジャンプとしてｕｋ（ｔ）に現れるように定義されてよい。
【数４】
2018136918.tif 000006
【００４５】
したがって実装態様によっては、ニューロンの状態変数に加えて、いくつかの他の構成可能なパラメータが存在し、これらのパラメータは、個々の樹状突起コンパートメントの時定数τｓ１、…、τｓｓ、各ニューロン用の単一のτｍ、θ、Ｉｂｉａｓ、各シナプス用のニューロンｊからｉまでの構成可能な荷重値ｗｉｊを含み、特定のネットワークをモデル化するように定義され構成されてよい。
【００４６】
例えば図３Ｂは、ネットワークにおけるニューロンの個々の樹状突起間のシナプス結合と、これらのニューロン及びシナプス用に定義され得るパラメータを示している一例を示す。一例として図３Ｂには、例示的なニューロモーフィックコンピューティングデバイスのコアにより実装されたニューロン３２５、３３０、３３５が、ニューロン３２５、３３０、３３５を用いて実装されたニューラルネットワーク内の相互接続のために（例えば、ルーティングテーブルを用いて）定義されたシナプスと共に示されている。各ニューロンには、１つ又は複数の樹状突起（プロセス）（例えば、３４０、３６０、３７５、３８０）と、それぞれの細胞体（プロセス）（例えば、３４５、３６５、３８５）とが含まれてよい。それぞれのニューロンの樹状突起のそれぞれで受信されたスパイクメッセージは、細胞体の活性化電位に寄与することができ、細胞体固有の電位閾値に達すると、細胞体がスパイクメッセージを発火する。シナプスによって２つのニューロンが接続される。シナプスは、送信側ニューロンの細胞体を、受信側ニューロンの複数の樹状突起のうち１つに効果的に接続することができる。さらに、各シナプスには、それぞれの荷重（例えば、３５０、３５５，３７０）が割り当てられてよい。図３Ｂの例では、第１の荷重３５０を有するシナプスが、ニューロン３２５の細胞体３４５を、ニューロン３３０の樹状突起３６０に接続することができる。ニューロン３２５の細胞体３４５はさらに、（場合によっては異なる荷重３５５を有する）別のシナプスを介してニューロン３８０に接続することができる。ニューロン３３０の細胞体３６５も、それぞれのシナプス３７０を介してニューロン３８０に接続することができる。場合によっては、複数のニューロンが、特定のニューロンの同じ樹状突起において、特定のニューロンに接続することができる。そのような例では、この１つの樹状突起用に定義されたパラメータが、接続されたニューロンのそれぞれからの着信スパイクメッセージの作用を決定する。他の場合では、図３Ｂなどに示されるように、異なるニューロン（例えば、３２５、３３０）が、同じニューロン（例えば、３３５）に、異なる樹状突起（例えばそれぞれ、３７５、３８０）で接続することができ、（これらの樹状突起（例えば、３７５、３８０）のそれぞれに定義された）異なるパラメータが、これらの異なるニューロン（例えば、３２５、３３０）のそれぞれから到達するそれぞれのスパイクに作用することを可能にする。同様に、これらのパラメータが、ネットワークに定義される様々なニューロン（例えば、３２５、３３０、３３５）のそれぞれの細胞体（例えば、３４５、３６５、３８５）ごとに定義されてよく、これらのパラメータが同様に、いくつかある例の中でも特に、ニューロモーフィックコンピューティングデバイスを用いて実装されたニューラルネットワークの全体的なコンフィギュアビリティに寄与することを可能にする。
【００４７】
要約すると、ニューロンパラメータは、シナプス減衰時定数τｓ、バイアス電流Ｉｂ、発火電位閾値θ、及びニューロンからニューロンへの（すなわち、ニューロンｊからニューロンｉへの）シナプス荷重ｗｉｊといった例を含むことができる。これらのパラメータは、例えば、実際のネットワーク、マトリックス、又は他のエンティティをモデル化するようにネットワークを構成するために、ニューラルネットワークのプログラマによって設定されてよい。さらに、ニューロンの状態変数が、時間で変動する電流ｕ（ｔ）、及び電位、つまり電圧ｖ（ｔ）を含むように定義されてよく、対応する通常の微分方程式で表されてよい。
【００４８】
上述されたように、方程式（１）〜（４）がスパイキングニューラルネットワークのダイナミクスを継続時間で定義する。デジタルニューロモーフィックコンピューティングデバイスでは、ニューロモーフィックコアのネットワークが（図２Ａ〜図２Ｃに関連して示され論じられたように）設けられており、プロセッサリソースを有するニューロモーフィックコア及びロジックのそれぞれは、別々の時間ステップを用いてＳＮＮダイナミクスを模倣するなどによる一次技術を用いて、継続的なネットワークダイナミクスを解決するように実行可能である。１つの例において、それぞれのコアにおいて個々のニューロンの時間ステップの更新を調整するために、仮想のグローバルクロックがニューロモーフィックコンピューティングデバイスに設けられている。時間ステップの中で、コアのネットワークにより実装された全てのニューロンは（例えば、時間多重化方式で）それぞれの状態変数を調整することができ、時間ステップごとに１度だけ調整することになる。さらに、ＳＮＮ内のニューロンにより生成された各スパイクメッセージは、対応する時間ステップ内に伝達されることが保証されてよい。そのようなデジタル近似は、以下のように実現されてよい。時間ｔ１において状態変数の値が与えられると、固定時間間隔Δｔ後のｔ２（ｔ２＝ｔ１＋Δｔ）における状態変数の値は、方程式（５）〜（８）を用いて求めることができる。
【数５】
2018136918.tif 000007
【数６】
2018136918.tif 000008
【数７】
2018136918.tif 000009
【数８】
2018136918.tif 000010
要約すると、所与のニューロンのパラメータとＳＮＮ内の他のニューロンを所与のニューロンに接続する様々なシナプスの荷重とに基づいて、スパイクメッセージがニューロンにより受信されると、各スパイクを通じてもたらされた電流は、所与のニューロンの膜電位を、そのニューロン用に設定されたスパイキング閾値が満たされるまで増加させることができ、これにより、ニューロンはＳＮＮ内の１つ又は複数の他の隣接ニューロンに発信スパイクメッセージを送信することになる。ＳＴＤＰが特定のＳＮＮ内に適用されるように構成されている場合（又は、ＳＴＤＰ内の特定のシナプスだけに適用されるように構成されている場合）、スパイクメッセージが送信される対応するシナプスのシナプス荷重に、様々なスパイクメッセージがどれほど影響を与えるかを規定する追加のパラメータが提供されてよい。１つのモデルでは、シナプス前ニューロン又はシナプス後ニューロンにスパイクが存在するときにはいつでも、関連シナプスでの荷重が方程式（９）に従って変更されるように、ニューロモーフィックコンピューティングデバイス内のＳＴＤＰが実装されてよい。
【数９】
2018136918.tif 000011
ここで、Δｗはシナプス前ニューロンとシナプス後ニューロンとの間のシナプスに適用される荷重の変化分であり、ｔｐｏｓｔはシナプス後ニューロンのスパイクの最後の時間であり、ｔｐｒｅはシナプス前ニューロンのスパイクの最後の時間であり、δ１及びδ２は学習のレート及び方向を設定する調整可能なパラメータであり、ｄは、シナプス前スパイク及びシナプス後スパイクを共起させることで、シナプス荷重に変化がもたらされ得る時間ウィンドウを設定する別の調整可能なパラメータである。ｔｐｏｓｔ−ｔｐｒｅが方程式（９）の２つの基準のどちらも満たさない場合、荷重は変更されない（すなわち、Δｗ＝０）。
【００４９】
実装態様によっては、例示的なニューロモーフィックコンピューティングデバイスに実装されたＳＴＤＰが、ニューロモーフィックコンピューティングデバイスを用いて実装されたＳＮＮを用いる様々なアプリケーションを実行するのに活用されてよい。例えば、図４Ａ〜図４Ｂの例では、例示的なＳＮＮの部分４００が図４Ａに示されており、この部分は、特定のグラフ又はネットワークトポロジに従って接続された複数の人工ニューロン（例えば、４０１〜４０６）を含むように定義され実装される。各ニューロンは、ネットワークトポロジ内のノードに対応することができる。さらに、例示的なＳＮＮの少なくともこの部分は、隣接ニューロン間の各接続が双方向であるように定義され実装されてよく、これにより各接続は、第１のニューロン（例えば、４０１）から第２のニューロン（例えば、４０２）へのスパイクをサポートするシナプス（例えば、４０７）と、第２のニューロン（例えば、４０２）から第１のニューロン（例えば、４０１）へのスパイクをサポートするシナプス（例えば、４０８）との両方で実装されるなどである。双方向に接続されたニューロンを有し、ＳＴＤＰをサポートするＳＮＮでは、図４Ａの例に見られるように、最初に任意のスパイクが受信側ニューロンによって次のスパイクを引き起こすことを可能にするニューロン（例えば、４０１〜４０６）及びシナプス（例えば、４０７、４０８など）が（例えば、スパイキング閾値及びシナプス荷重を用いて）構成されてよい。そのようなＳＮＮは、単一のニューロンでの単一の活性化を可能にすることができ、それに応じて、スパイクの波、チェーン、又はシーケンスがＳＮＮのこの部分（又は全体）にわたって送信されることになる。例えば、表現４０５では、スパイクメッセージのシーケンス４１５が、ニューロン４０６から始まり、ニューロン４０５、４０４、４０３、４０２、及び４０１に（この順序で）伝搬しながら送信されてよい。スパイクメッセージのシーケンス４１５は、（例えば、コントローラ又は別のニューロンなどから受信された）電流又はスパイクメッセージなどの信号（例えば、４２０）により活性化されたニューロンのうち１つ（例えば、４０６）から生じてよい。
【００５０】
図４Ａ〜図４Ｂの例を続けると、ニューロモーフィックコンピューティングデバイスは、ＳＴＤＰをモデル化するＳＮＮの実装をサポートすることができる。実装態様によっては、ＳＴＤＰが所与のＳＮＮにどのように実装されるかを決定する属性を、ＳＮＮのプログラマがプログラムで定義することができる。例えば、ＳＴＤＰ挙動が、方程式（９）の例で利用されるパラメータδ１、δ２、及びｄのうち１つ又は複数を設定することで定義されてよい。図４Ａの例において、ブロック図の４１０に示されるように、スパイクメッセージのシーケンス４１５においてスパイクを伝えたこれらのシナプスのシナプス荷重が減少し、このシーケンスでスパイクメッセージを伝えなかったその他のシナプスが、４１０に表されているように、自身のそれぞれのシナプス荷重を増加させることになるように、ＳＮＮのＳＴＤＰモデリングが定義されてよい。例えばこの挙動は、δ１を負の値に、δ２を正の値に設定することで実現することができる。このＳＮＮにおけるＳＴＤＰモデリングのそのような構成は、入力スパイクと出力スパイクの負相関に基づいて増加するシナプス荷重を提供することができる。ＳＴＤＰは、そのような構成を用いて、例示的なＳＮＮのこの部分にある任意の２つのニューロンを接続する２つの方向のうち１つに、荷重の非対称性を引き起こすように活用されてよい。したがって、スパイクメッセージの初期シーケンス４１５をトリガしたニューロン（例えば、４０６）の上流にあるニューロン（例えば、４０１〜４０５）でスパイク又は活性化が発生した場合、荷重の非対称性は、スパイクメッセージの初期シーケンス４１５の方向と逆方向にチェーンをさかのぼるスパイクのシーケンスを伝搬するために、送信側ニューロンをバイアスすることができる。
【００５１】
図４Ｂを参照すると、図４Ａに導入されたＳＴＤＰメカニズムの１つの例示的な実装態様を示すブロック図のセットが示されている。１つの例において、シナプス前スパイクが、シナプス後スパイクを（例えば、別のニューロンから）受信するそのニューロンの時間の１単位（例えば、時間ステップ１つ分、１ｍｓなど）内に、ニューロンによりそのシナプスで送信される場合、シナプスが、所与のシナプスのシナプス荷重を増えるように変化させるように、ＳＴＤＰ学習ルールが特定のＳＮＮのために構成されてよい。言い換えれば、ＳＮＮは、シナプス前スパイクと先行するシナプス後スパイクの相関を識別して、シナプス後スパイクに続く相関のあるシナプス前スパイクの荷重を増加させ、図４Ａに示されるＳＴＤＰ効果を実現するように構成されてよい。図４Ｂは、これがＳＮＮ内でどのように展開できるかについての一例を示す。例えば、時間ｔ＝０で、ニューロン４０６が活性化されてよく、これによって、ニューロン４０６がそのアウトバウンドシナプス（４３５、４４０）でスパイクをニューロン４０５及び４２５に送信することになる。ニューロン４０５及び４２５で受信されたスパイクにより、ニューロン４０５及び４２５はｔ＝１で、自身のアウトバウンドシナプス（例えば、４４５、４５０、４５５、４６０）の全てにスパイクを順に送信することになり得る。ｔ＝１で、ニューロン４０５及び４２５は、ニューロン４０６への双方向接続によって、（それぞれシナプス４４５、４６０で）スパイクをニューロン４０６へエコーバックすることに留意されたい。ｔ＝１で、ニューロン４０５、４２５でシナプス４４５、４６０により送信されたシナプス前スパイクが、ｔ＝０で、ニューロン４０６により送信されたシナプス後スパイクに続いたという点で、このＳＮＮのＳＴＤＰルールはシナプス４４５、４６０に満たされており、これらのシナプスのそれぞれの荷重は（例えば、Δｗの値だけ）増加してよい。スパイク波は、ｔ＝１で、ニューロン４０４及び４３０がニューロン４０５及び４２５から受信されたスパイクに応答し、ｔ＝２で、シナプス前スパイクがニューロン４０４及び４３０によってシナプス４６５、４７０をそれぞれ用いて送信されて、ｔ＝２で継続することができる。ニューロン４０６（及び例示的なＳＮＮの少なくともこの部分のニューロン全て）で強制された、先行するアウトバウンドスパイクの送信に続く定められた期間の間にニューロンが任意の次のスパイクを送信することを防ぐ不応期が与えられると、ニューロン４０６は、ｔ＝１でニューロン４０５及び４２５によりエコーバックされたスパイクに応答して、ｔ＝２で別のスパイクを送信することはない。さらに、ｔ＝２で、ニューロン４０４および４３０によりシナプス４６５、４７０でニューロン４０５、４２５に送信されたシナプス前スパイクが、ｔ＝１で、ニューロン４０５、４２５により送信されたシナプス後スパイクに続いたので、シナプス４６５、４７０のシナプス荷重は同様に、ＳＴＤＰ学習ルールに基づいて調整されてよく、結果として、図の４８０により表される強化型学習後の荷重を有するＳＮＮになる。
【００５２】
図４Ａ〜図４Ｂに示される例に導入された原理を基に、ネットワークトポロジをモデル化するＳＮＮに適用されるような、図４Ａ〜図４Ｂの例に導入された原理及びＳＴＤＰ学習ルールを利用するネットワークトポロジ内の任意の２つのノード間で、最短経路又は最も効率のよい経路が決定されてよい。ＳＮＮが、（本明細書で説明されるなどの）例示的なニューロモーフィックコンピューティングデバイス上に構成、実装され、いくつかある例の中でも特に、通常のネットワーク（例えば、リング型、格子型など）、ランダムネットワーク、スモールワールドネットワーク、スケールフリーネットワーク、階層ネットワークなどの任意の構造を備えた複合ネットワークをモデル化してよい。複合ネットワークは、様々なユースケース及び例に関連して存在してよい。表１は、現実世界のネットワーク及びそれぞれのネットワーク構造の例を提供しており、これらは、例示的なＳＮＮを用いて実装され得る例示的なネットワークの中に（場合によっては多数の他の例の中に）あってよい。
【表１】
2018136918.tif 000012
【００５３】
上述されたこれらの例示的なネットワークを含む、ネットワーク内の任意の２つのノード間の経路を決定することが望ましい場合がある。さらに、２つのノード間の最短経路、最も効率のよい経路、又は最も好ましい経路を計算することが望ましい場合がある。大きな複合ネットワークでは、そのような経路を決定することが、重大且つ困難な問題である場合がある。例えば、数十万又は数百万のノードを有するソーシャルネットワークにおいて、２人の人物間の最短経路を決定することが望ましい場合がある。別の例として、いくつかある例の中でも特に、物理環境がネットワーク（例えば、２次元又は３次元物理空間の格子グリッドネットワーク）としてモデル化されてよく、最短経路が（例えば、ロボット又はドローンが用いるために）決定されてよい。
【００５４】
図５Ａ〜図５Ｇは、ＳＮＮによりモデル化されたネットワークにおいて任意の２つのノード間の最短経路を決定するために、例示的なＳＮＮのＳＴＤＰを利用する一例を示す簡略ブロック図、５００ａ〜ｇを示す。図５Ａに示されるように、図５Ｂ〜図５Ｇの例に図式的に表された各接続要素（例えば、５０２）が、ＳＮＮ内の（例えば、２つの逆方向性の人工シナプスを通じて実装された）ニューロン間に定められた双方向接続を表す。図５Ｂのブロック図、５００ｂは、１０個の双方向に接続されたニューロンを含む簡略化されたＳＮＮを示しており、各ニューロンは、特定のネットワーク内のそれぞれのノードを表す。特定のネットワーク内の隣接ノード又はノード間接続が、ＳＮＮ内のノードをモデル化する人工ニューロン間の接続又はシナプスを通じてモデル化されてよい。特定のネットワーク内の任意の２つのノード間の最短経路を求めるために、ＳＮＮは、図４Ａについて上述された構成に類似したＳＴＤＰをモデル化するように構成されてよい。
【００５５】
さらに、ＳＮＮは、ＳＮＮ内のシナプスの各荷重と、各ニューロンのスパイキング閾値とが等しくなるように初期化されてよい。これにより、ニューロンで受信された任意のスパイクが、それに応じて、ニューロンにアウトバウンドスパイクを送信させることを可能にすることができる。さらに、ＳＮＮは、各ニューロンが不応期に従ってスパイクを送信するために（ニューロモーフィックコンピューティングデバイス及びそれを構成するニューロモーフィックコアにより）モデル化されるように構成されてよい。具体的には、最後のアウトバウンドスパイクの送信に続くある期間（すなわち、不応期）に、アウトバウンドスパイクの送信及び／又は着信スパイクの処理が許されないように、例示的なＳＮＮ内の各ニューロンが構成されてよい。図５Ｃを参照すると、ＳＮＮ内の複数のニューロンのうち特定の１つ（例えば、ニューロン６）が、（例えば、ニューロンに入力を与えることで、又はニューロンを（ニューロモーフィックコンピューティングデバイスの内部又は外部のコントローラを通じて）外部から駆動することで）活性化５０５されてよく、これにより、ニューロンが自身の隣接ニューロン（例えば、ニューロン４、８、及び９）にスパイクを送信することになる。実際に図５Ｃの例では、ニューロン６が（５０５で）活性化されてよく、第１の時間又は時間ステップ（すなわち、ｔ＝０）において、ニューロン６をニューロン４、８、及び９にそれぞれ接続するアウトバウンドシナプスで、スパイクメッセージをニューロン４、８、及び９に送信することになる。
【００５６】
ＳＮＮの初期構成が与えられると、ｔ＝０でニューロン６からニューロン４、８、及び９に送信されたスパイクによって、ニューロン４、８、及び９はこれらのアウトバウンドシナプスの全てにスパイクを送信することになる。この例では、ニューロン４及び８が、時間ｔ＝１でそれぞれニューロン２及び７にスパイクを送信することになる。しかし、ニューロン４、８、及び９もそれぞれ、ニューロン６へのアウトバウンドシナプス結合を持っているので、図４Ｂで論じて示した例に見られるように、これらのニューロンもｔ＝１でニューロン６にスパイクを返信することになる。これらの「エコー」スパイクは、この例に関連して論じられる概念を表す際の説明を分かりやすくするために、図５Ｃの説明図には含まれていない。その代わり、図５Ｃは、単一のニューロン（例えば、ニューロン６）の活性化によって、スパイクの波がそれに応じて、活性化されたニューロンから外側にネットワーク全体にわたって伝搬することになり得るように、ＳＮＮがどのように構成され得るかを示す。スパイク波のそのような外側への伝搬には、ｔ＝１でニューロン４、８、及び９により送信されたスパイクだけでなく、ｔ＝２で応答スパイクをニューロン１及び５に送信するニューロン２及び７、ｔ＝３で応答スパイクをニューロン３に送信するニューロン１及び５、並びに、ｔ＝４で応答スパイクをニューロン１０に送信するニューロン３も含まれてよい。
【００５７】
図４Ａ〜図４Ｂで論じられた例に見られるように、ニューロンのインバウンドシナプスの荷重が、そのニューロンでのシナプス後スパイクの送信に続く時間ウィンドウ（例えば、単一の時間ステップ）内で、（隣接ニューロンからの）シナプス前スパイクの受信に応答して変化するように、ＳＴＤＰルールが図５Ｂ〜図５ＧのＳＮＮ内で定義されてよい。受信側ニューロン（例えば、ニューロン４）が、すぐ前を先行するスパイクが（例えば、ｔ＝０で）送信されたニューロン（例えば、ニューロン６）に（例えば、ｔ＝１で）返信することになるエコースパイクが与えられると、例示的なＳＮＮのＳＴＤＰルールが、図４Ｂに関連して示され説明された例に類似して、活性化されたニューロン（例えば、ニューロン６）から外側に進む波と逆方向に、（ニューロン間の双方向接続において）シナプスの強化をもたらすことができる。図５Ｄは、例示的なＳＮＮ内の個々のシナプスの表現を示しており、これらのシナプスは、図５Ｃに示されたスパイク波に基づくＳＴＤＰに従って強化された荷重を有する。図５Ｄの例において結果として得られたシナプス荷重の強化は、エコースパイクによりトリガされてよく、さらに、例示的なＳＮＮのニューロンにおいてモデル化された不応期の強制に基づいて実現されてよい。例えば、図５Ｃに示されるように、ニューロン２は、時間ｔ＝１でニューロン４からスパイクを受信することができ、ニューロン２は次に、スパイク波を伝搬するためにニューロン１にスパイクを送信することができ、スパイク波の伝搬から上流の方向にニューロン４へエコースパイクを送信することもできる（全て時間ｔ＝２で実行）。ニューロン４が、（例えば、ｔ＝１でニューロン２に）スパイクを送信するニューロン４から１つの時間ステップ隔てられたエコースパイクを受信すると、追加の例の中で、ニューロン４によって、ニューロン２からニューロン４へのシナプスの荷重が強化されることになる。実際に、代替メカニズム及びＳＴＤＰルールが、双方向に接続されたＳＮＮにおいて同じ効果を実現するのに利用されてよい。
【００５８】
上述されたように、ニューロンは自身のシナプスのシナプス荷重を、シナプスで受信された及び／又は送信されたスパイクに基づいて強化する（又はその代わりに弱くする）ように構成されてよい。ＳＮＮの実装態様によっては、ニューロンは、所与の時間ステップ又は他の単位間隔において、自身のシナプスのうち１つだけを強化してよい。ニューロンは、複数のシナプス前スパイクを同時に受信するニューロンに関する稀なケースに対処するために、そのようなルールを強制するように構成されてよく、それぞれが、（特定のＳＴＤＰルールに応じて、受信されたスパイクに続く、又はそれに先行する）シナプス後スパイクとのこれらの受信されたスパイクの対応に基づいて、ＳＴＤＰルールを満たすのに十分である。例えば、図５Ｃに示されるように、単一のニューロン（例えば、ニューロン３）が、複数のニューロンのうち１つだけ（例えば、ニューロン６）を活性化することで生じたスパイクの波において、２つの（又はそれより多くの）スパイクを同時に受信することができる。例によっては、ニューロモーフィックコンピューティングデバイスにより実装されたニューロンが、受信側ニューロンにより送信された発信スパイクメッセージに対応するように、同時に受信されたスパイクメッセージのうち１つだけをニューロンが（例えば、任意で）選択するように排他的選択を強制することでＳＴＤＰを実装することができ、複数のスパイクのうち選択されていない１つが無視されることにつながり、その結果、複数の着信シナプス経路のうち１つだけの荷重がＳＴＤＰに従って調整されることになる。したがって、図５Ｄの例に示されるように、ニューロン３から（ニューロン５へ）のシナプスのみが、図５Ｃに示される例示的なスパイク波に応答して強化される。
【００５９】
機械学習の用語では、図５Ｃの例は、特定のネットワークトポグラフィをモデル化する例示的なＳＮＮのトレーニング段階に対応することができ、図５Ｄは、結果として得られるトレーニングされたＳＮＮを反映することができる。双方向に接続されたニューロンのシナプス荷重が、ＳＮＮに定義されたＳＴＤＰルールに従って、複数のニューロンのうち１つ（例えば、ニューロン６）により生成されたスパイク波の方向と逆方向に強化されると、調整されたシナプス荷重は、複数のニューロンのうちいずれか１つから、スパイク波が生じたニューロン（例えば、ニューロン６）への最短経路を決定するのに活用されてよい。実装態様によっては、図５Ｅに示されるように、ＳＮＮ内のニューロンの１つ又は複数の他のパラメータを調整することで、ＳＮＮはさらに、ネットワークトラバーサル計算を容易にするように拡大されてよい。例えば、ニューロモーフィックコンピューティングデバイス（及び／又はＳＮＮにニューロンを実装するニューロモーフィックコアのそれぞれ）に、ＳＮＮ内のニューロンの全て（又は、ニューロンの特定のサブセット）に変更を適用するように、全体的に命令するために神経調節信号（例えば、５１０）が送信されてよい。例えば図５Ｅでは、（図５Ｃ〜図５Ｄに導入されたように）ＳＮＮ内の初期スパイク波及び結果として得られるシナプス荷重の調整に続いて神経調節信号５１０が送信されてよく、これにより、シナプス前スパイクが、増加した荷重を有するシナプスのうち１つに送信された場合、単一のシナプス前スパイクがシナプス後スパイクだけを確実にトリガできる値に、各ニューロンの膜電位又はスパイキング閾値電位（例えば、θ）が増加することになる。他のニューロンパラメータはまた（又は代替的に）、特定の広域神経調節信号に基づいて調整され、ＳＮＮ内の特定のニューロン（例えば、ニューロン６）と任意の他のニューロンとの間の経路を決定する際に使用するために、ＳＮＮをトレーニング又は準備するのに役立つことができる。
【００６０】
図５Ｆを参照すると、ＳＮＮの表現が、ＳＴＤＰルールに基づき、またニューロン６により生成されたスパイク波に応答して調整されたシナプス荷重で示されている。図５Ｆの例で表されたＳＮＮは、神経調節信号を受信し処理した後のＳＮＮも反映することができ、これにより、（図５Ｃにおいて）スパイク波の伝搬中に用いられた値を超えてスパイキング閾値電位が増加した。初期スパイク波を生成する特定のニューロン（例えば、ニューロン６）の活性化は、ＳＮＮを用いて決定される特定のネットワークトラバーサル経路内のデスティネーションノードとして、特定のニューロンを指定することに基づいてよい。さらに、ＳＮＮ内の複数のニューロンのうち別の１つが、ネットワーク内のソースノードに対応して選択されてよく、ソースノードがネットワークトラバーサル経路の開始を表し、デスティネーションノードが終了を表す。図５Ｆの例では、ニューロン１が選択され、対応するノードをソースノードに指定して問題ステートメントを定義する。すなわち、ニューロン１により表されるノードから（この例では）ニューロン６により表されるデスティネーションノードまでの、特定のネットワークにおける経路を決定する。他の処理では、複数のニューロンのうち異なる１つ（すなわち、ニューロン６以外）がデスティネーションに指定されてよく、他のニューロンがソースに指定されるなどであってよい。（例えば、初期スパイク波及び対応するＳＴＤＰの調整、並びに（図５Ｃ〜図５Ｅに論じられたような）ＳＮＮ内のスパイキング閾値の増加を通じて）ＳＮＮをトレーニングした後にソースニューロン（例えば、ニューロン１）を指定するために、指定されたソースニューロンが、（例えば、図５Ｃにおける）デスティネーションニューロンの活性化（例えば、５１０）と同様の方式で（例えば、５１５で）活性化されてよい。シナプス荷重及びニューロンのスパイキング閾値電位の一部に変化を与えると、ソースニューロン（例えば、ニューロン１）の活性化５１５の効果がさらにもっと限定されることがある。例えば、図５Ｆの例に示されるように、ニューロン１がＳＮＮのトレーニングの後に活性化されてよく、これにより、スパイクが時間ｔ＝０でニューロン１からニューロン２に送信されることになる。ニューロン１によってスパイクが他の隣接ニューロン（例えば、ニューロン３）に送信されてもよいが、ＳＮＮ全体にわたって適用される閾値電位の増加に起因して、ニューロン１をこれらの他の隣接ニューロン（例えば、ニューロン３）に接続するシナプスが、ＳＴＤＰに従ってトレーニング中に強化されなかった場合、スパイクは、受信側ニューロンの新たに増加したスパイキング閾値電位を満たすには不十分であり、スパイクはこれ以上先に伝搬することはないであろう。実際に、図５Ｆの表現では、ソースニューロンの活性化５１５に起因するスパイクのチェーンにおいて次のスパイクをトリガするのに作用するスパイクだけが示されている（とはいえ実際には、示されていないその他のスパイクが依然として、図５Ｆに示されるフロー内で送信されることを理解されたい）。
【００６１】
図５Ｆの例を続けると、時間ｔ＝１では、（例えば、図５Ｃ〜図５Ｄに示されるように）ニューロン１からニューロン２へのシナプスの荷重がトレーニング中に強化されたと仮定すると、ニューロン１からのスパイクの受信によってニューロン２も発火し、自身の隣接ニューロンにスパイクを送信することになる。例えば、時間ｔ＝１において、ニューロン２はニューロン１及び４にスパイクを送信できるが、ニューロン２とニューロン４を接続するシナプスだけが（例えば、ｔ＝２でニューロン４により）シナプス後スパイクを引き起こすのに十分に（ＳＴＤＰを通じて）強化されている。この例では、時間ｔ＝２でニューロン４がニューロン２及び６にスパイクを送信し、ニューロン２へのスパイクが「弱い」シナプスで送信され、ニューロン６（デスティネーションニューロン）へのスパイクが「強化された」シナプスで送信される。ニューロン６に送信されるスパイクは、これによりニューロン６が自身の隣接ニューロンに追加のスパイクを送信することになるのに十分であってよいが、ＳＮＮのトレーニングが、デスティネーションであるニューロン６に基づいていたため、また双方向のＳＮＮ内のシナプスがニューロン６に「向かう」方向又はニューロン６への方向にだけ強化されたため、ニューロン６のアウトバウンドシナプスはどれもトレーニング中に強化されておらず、この例においてニューロン１の活性化５１５を通じて始まったスパイクチェーンの伝搬は、ニューロン６で終了する。
【００６２】
この例を続けると、ソースニューロン１からニューロン２、ニューロン４を経て、デスティネーションニューロン６へのスパイクチェーンは、ソースニューロン１とデスティネーションニューロン６の間の最短経路を表すと解釈されてよい。監視ロジック及び／又は報告ロジックが、スパイクのこのチェーンで送信されるスパイクの順序及びソースを識別するのに提供されてよい。例えば、ＳＮＮのトレーニング後にニューロン１を活性化することで生じるスパイクメッセージを識別して、指定されたデスティネーションノードまでのネットワークを横断する最短経路を決定するニューロモーフィックコンピューティングデバイスのルータが、１つ又は複数のニューロモーフィックコア間（又は内）のトラフィックを識別するために監視されてよい。（ニューロモーフィックコンピューティングデバイスの内部又は外部の）コントローラユーティリティが、ＳＮＮ内のトラフィックの監視と関連してよく、これにより監視が、ＳＮＮのトレーニング及び指定されたソースニューロンの活性化（及びトレーニング中の指定されたデスティネーションニューロンの活性化）に関連してオーケストレートされる。さらに、ネットワーク内の特定のノード（及び対応するニューロン）への最短経路を決定するためのＳＮＮのトレーニングの後に、（特定のノード（例えば、ニューロン６）をデスティネーションノードに指定することに対応して、ＳＮＮのトレーニングを効果的に再利用しながら）追加の代替的なソースノードも、これらの他のソースノードからの最短経路を決定するのにテストされてよい。例えば、図５Ｇに示されるように、ニューロン１とニューロン６との間の経路を決定する図５Ｆの例示的な手順の実行の後に、（また、この手順の結果の観察、記録、報告など（すなわち、トレーニングに基づいてニューロン１からニューロン６にＳＮＮを横断して伝搬されたスパイクチェーンに基づく経路の識別）を許可しながら）、複数のニューロンのうち別の１つ（例えば、ニューロン７）が、ニューロン７を活性化５２０することでトレーニングされたＳＮＮを用いて第２の経路計算において、ソースに指定される可能性がある。これにより、図５Ｆの例に見られるように、ニューロン７からデスティネーションニューロンであるニューロン６に送信されるスパイクのチェーンをもたらすことができる。この例では、スパイクのこのチェーンが、ニューロン７からニューロン８を介してニューロン６で終了するネットワークを通じた最短経路に対応し得る。このスパイクチェーンも、ニューロン７により表されるノードからニューロン６により表されるノードまでのネットワークトポロジなどにおいて経路を表すために、観察又は記録され用いられてよい。［Ｎａｂｉｌ：私は上記段落の詳細を読み通す機会がなかったが、まだそこに言及されていないならば、最短経路を表す（及び記録／監視される）スパイクのシーケンスが、再度ＳＴＤＰを通じて荷重を変更してしまわないように、神経調節信号を有効にすることでＳＴＤＰを無効にすることを述べなければならない。この「ＳＴＤＰを無効にする」ことは、上述したような代替的なソースノードからの最短経路を見つけるために、「トレーニング段階」で学習された荷重を再利用する場合には必要となるであろう］。
【００６３】
実装態様によっては、特定のネットワークトポロジをモデル化して、１つ又は複数のソースノードから別のデスティネーションノードへの最短経路を決定するために実装されたＳＮＮを用いることが望ましい場合がある。例えば、モデル化されたネットワーク内の任意の他の例示的な経路の中で、ニューロン４により表されたノードからニューロン１０により表されたデスティネーションノードまでのネットワーク経路の計算を、ユーザが望む場合がある。そのような経路計算において、異なるニューロンをデスティネーションニューロンとして指定するのを容易にするために、ＳＮＮは、新たなデスティネーションニューロンに従って再トレーニングされる必要があり得る。これにはまず、ＳＮＮをその初期パラメータ及び初期特性にリセットすることが含まれてよい。例えば、図５Ｈの例に示されるように、別の神経調節信号５２５が送信され、ＳＮＮ内に定義されたそれぞれのニューロン及びシナプスを（例えば、全てのシナプス荷重及びスパイキング閾値電位の値をＳＮＮ全体にわたって等価に設定することで）初期値に設定させてよい。ＳＮＮをリセットすると、別のニューロンが、（図５Ｃの例に見られるように）そのニューロンを活性化することでデスティネーションニューロンとして指定され、（例えば、図５Ｄの例に見られるように）スパイク波の伝搬に基づいて、ＳＮＮ内のシナプスの相対的な強化及び弱化を（ＳＴＤＰルールを通じて）引き起こすことができるスパイク波をもたらすことができる。次に、ニューロンのスパイキング閾値電位の値は（図５Ｅの例に見られるように）再度増加してよく、ソースノードがニューロンを活性化することで指定され、ＳＮＮの新たなトレーニングに基づいて、ソースニューロンからデスティネーションに送信される別のスパイクチェーンを引き起こし、このスパイクチェーンがソースからデスティネーションへの最短経路などを表してよい。
【００６４】
トレーニング及び（上記の例にあるような）例示的なＳＮＮとの相互作用から導出されたネットワークトラバーサル経路の結果が、さらなる処置、計算、及び結果を実現するために、コンシューマシステムにより利用されてよい。図６Ａの簡略ブロック図の６００ａを参照すると、１つの特定の例において、（上述されたように）様々なネットワークトポロジのモデル化に用いることができ、ネットワーク内のノード間の最短経路を導出することができるプログラマブルニューロモーフィックコンピューティングデバイス（例えば、２０５）とインタフェースをとる管理システム２２４が提供されてよい。管理システム２２４は、例示的なコンシューマシステム６０５と追加的にインタフェースをとることができ、これは、ニューロモーフィックコンピューティングデバイス２０５により実装されたＳＮＮを用いて生成されるネットワーク経路結果を活用することができる。例えば、管理システム２２４のネットワークマネージャ６１０が、ネットワーク定義６２５をニューロモーフィックコンピューティングデバイス２０５に提供し、コンシューマシステム６０５を含む１つ又は複数の活動に対応する特定のＳＮＮを実装するようにニューロモーフィックコンピューティングデバイス２０５に命令することができる。実装態様によっては、ネットワーク定義データ６２５は、コンシューマシステム６０５により管理システム２２４に提供される要求又は他の情報に応答してよい。実装態様によっては、管理システム２２４は、コンシューマシステム６０５上に実装されても、これと統合されてもよく、管理システム２２４は次に、いくつかある例示的な実装態様の中でも特に、ニューロモーフィックコンピューティングデバイス２０５と相互作用することができる（又はこれを組み込むことさえできる）。
【００６５】
図６Ａの例を続けると、ネットワーク定義データ６２５が、特定のネットワークトポロジに対応する双方向に接続されたＳＮＮを実装するようにニューロモーフィックコンピューティングデバイス２０５に要求することができ、さらに、ＳＮＮ内のニューロン間の経路を決定する際に用いることを目的に、ＳＮＮが構成されるよう要求することができる。例えば、ネットワーク定義データ６２５は、（シナプスがそれぞれの隣接ニューロンに、及びそれぞれの隣接ニューロンから実装されるという点で）ニューロンが双方向に接続されるようにＳＮＮが実装されていること、特定のＳＴＤＰルールが適用されていること、並びに全てのニューロンが特定のスパイキング閾値電位の値を有すること、及び全てのシナプス荷重が同じ値に設定されることを示すことができ、これにより、ネットワークに最初に送信された任意のスパイクがネットワーク全体にわたって伝搬することになる。
【００６６】
実装態様によっては、管理システム２２４の経路マネージャ６１５が、特定のネットワーク内のソースノード及びデスティネーションノードを識別するロジックを含むことができ、これらのノードの経路が、ニューロモーフィックコンピューティングデバイス２０５上に実装されたＳＮＮを用いて決定される。場合によっては、コンシューマシステム６０５は、ソースノード及びデスティネーションノードのうち一方又は両方に識別子を提供することができる。他の例において、経路マネージャ６１５はコンシューマシステムに代わって、いくつかある例示的な実装態様の中でも特に、ソースノード及びデスティネーションノードのうち一方又は両方を判定することができる（例えば、コンシューマシステムが自身でそのような判定をするための機能又はリソースを欠いている場合）。１つの実装態様において、経路マネージャ６１５は、デスティネーションノードをモデル化するＳＮＮ内の特定のニューロンを活性化させる信号をニューロモーフィックコンピューティングデバイス２０５に送信することで、ニューロモーフィックコンピューティングデバイス２０５にデスティネーションノードを示すことができる。図５Ｂ〜図５Ｈの例に詳述されるように、デスティネーションニューロンを活性化することで、スパイク波が、デスティネーションニューロンからネットワークのその他の部分全体にわたって伝搬することになる。さらに、ＳＮＮに設定されたＳＴＤＰルールによって、スパイク波の伝搬と逆方向のシナプスが上方に調整されることになり得る（但し、活性化されたニューロンから外側に向かうスパイク波（すなわち、エコースパイクを含まない）を伝えるシナプスの荷重は、増加も減少もしない）。実装態様によっては、経路マネージャ６１５はさらに、ＳＮＮ内の全てのニューロンのスパイキング閾値電位を全体的に変更して（例えば、増大させて）、ネットワーク内の指定されたデスティネーションノードへの経路を決定することに備えたＳＮＮのトレーニングを終了するために、ニューロモーフィックコンピューティングデバイスに神経調節信号を送信させることができる。実装態様によっては、ニューロモーフィックコンピューティングデバイスは、例示的な管理システム２２４が特定の神経調節信号を送信することができるピン又は別のインタフェースを含むことができ、この信号は、ニューロモーフィックコンピューティングデバイス２０５内の全てのニューロモーフィックコア及びそれらのニューロンに配信されることになる。
【００６７】
ＳＮＮをトレーニングすると、次に例示的な経路マネージャ６１５は、ニューロモーフィックコンピューティングデバイス２０５に信号を送信することができ、これにより、複数のニューロンのうち、所望のネットワーク経路計算のソースノード又は開始ノードに対応する別のニューロンが活性化されることになる。ソースニューロンを活性化することで、ニューロモーフィックコンピューティングデバイス内のソースニューロンは、自身の隣接ニューロンにスパイクを送出することになってよく、このスパイクは、ＳＮＮのトレーニングに基づいて、ソースニューロンからデスティネーションニューロンへの経路に沿って送信されるスパイクメッセージのチェーンを通じて伝搬することになる。ソースニューロンの活性化に関連して、経路マネージャ６１５は、１つの例において、トラフィックモニタ６２０と通信６４０し、ソースニューロンの活性化と関連するニューロモーフィックコンピューティングデバイス２０５に対してトラフィックの監視６３４を開始することができる。監視されたトラフィックは、ニューロモーフィックコンピューティングデバイス２０５上に実装されたニューロン用のニューロモーフィックコア間に送信されるスパイクチェーンのスパイクメッセージに対応してよい。１つの例において、トラフィックモニタ６２０は、ニューロモーフィックコンピューティングデバイス上で観察されたトラフィックを経路マネージャ６１５に報告６４０することができる。経路マネージャ６１５（又は別のモジュール、若しくは管理システム２２４のサブシステム）は、特定のネットワークにおけるソースノードからデスティネーションノードまでの最短経路を表す、監視されたトラフィックに対応するネットワーク経路データを生成することができる。このネットワーク経路データは次に、（例えば、コンシューマシステムの特定の機能に関連して）コンシューマシステムによってさらに使用し処理するために、コンシューマシステム６０５に伝達６４５されてよい。例えば、コンシューマシステムは、ソーシャルネットワークの２人の会員間の最短経路を識別し、その最短経路に基づいて１つ又は複数のサービス又は処置を提供するために、ニューロモーフィックコンピューティングデバイスを利用するソーシャルネットワーキングプラットフォームであってよい。別の例として、コンシューマシステムは、いくつかある例の中でも特に、生物学的ネットワーク又は神経学的ネットワーク内で決定される最短ネットワーク経路に基づいて、生物学的解析又は神経学的解析を実行するように適合されたコンピューティングシステムであってよい。
【００６８】
図６Ｂの例を参照すると、上述されたように、（図６Ａの例で論じられたような）管理システムロジックが、ニューロモーフィックコンピューティングデバイス２０５上に実装されてよく、ＳＮＮを用いる実装、トレーニング、及び経路決定のオーケストレーションがニューロモーフィックコンピューティングデバイス２０５上で全体的に（又は少なくとも部分的に）発生することを可能にしてよい。さらに、場合によっては、ニューロモーフィックコンピューティングデバイス２０５は、ニューロモーフィックコンピューティングデバイス上に実装されたＳＮＮを用いることによって生成されたネットワーク経路結果を用いるように構成された、コンシューマシステム又はロジックと直接インタフェースをとることができる。一例として、図６Ｂは、特定のネットワークをモデル化するように実装されたＳＮＮの一部の表現を示す簡略ブロック図の６００ｂを示す。この例では、「ネットワーク」は自身で物理環境をモデル化することができ、ネットワーク内のノード間の経路を決定することは、２次元又は３次元物理空間において２つのポイント間の最適経路を決定することに対応してよい。図６Ｂの例は、ニューロモーフィックコンピューティングデバイスを用いて生成された経路データを用いるロジック（例えば、６５０）と、直接インタフェースをとるニューロモーフィックコンピューティングデバイスの例を示す。この例では、（ＳＮＮに関する前述のトレーニングを通じて強化されたシナプス（例えば、６５７〜６６１）上のソースニューロン（例えば、６５２）の活性化を通じて生成されたスパイクチェーンによって）ネットワーク内のポイント間の経路をモデル化するのに用いられるＳＮＮのニューロン（例えば、６５１〜６５６）が、出力スパイク（例えば、６６５）を運動制御ロジック６５０に送信し、自律型乗用車両、ドローン、ロボットなどを方向づけて、ＳＮＮに対応する物理空間をナビゲートするために、さらなるシナプスを含むことができる。例えば、スパイクチェーンにより、受信側ニューロン（例えば、６５３）がスパイクチェーンを（例えば、シナプス６５９上の）経路で次のニューロン（例えば、６５４）に伝搬することになり得るだけでなく、出力スパイク６６５を運動制御６５０にもたらすこともでき、これにより、いくつかある例の中でも特に、運動制御がデバイス（例えば、ドローン、ロボット、など）を対応する経路に沿って方向づける方向を、運動制御が示すものと解釈することができる。
【００６９】
図６Ｂの例を基に、特定のネットワークトポロジのノード間の経路を決定するための構成可能なＳＮＮを用いることが、ハードウェアを基にした経路計画を物理空間に実現するためのＳＮＮを実装するのに活用されてよい。例えば、図７の簡略ブロック図の７００に示されるように、経路計画が、物理環境における特定の開始ポイント（例えば、７０５）で、ナビゲーション判断を行うことを含んでよく、ここで、ナビゲーションの目標は、所望のデスティネーション又は報酬位置（例えば、７１０）への最適経路を見つけることである。そのような例では、ＳＮＮがニューロモーフィックコンピューティングデバイスを用いて実装されてよく、ＳＮＮ内の各ニューロンは物理環境内のポイントに対応するように割り当てられる。図４Ａ〜図５Ｈの例に見られるように、（物理デスティネーションに対応する）デスティネーションニューロンが選択され活性化され、ＳＮＮをトレーニングし、次のスパイクチェーンをデスティネーションに対する最短経路に沿って方向づけられるようにバイアスしてよい。例えば、報酬位置（例えば、配達用ドローンの飛行の目的地、ロボット装置の充電ステーション、自律型ツールにより検索された対象の位置など）に対応するデスティネーションニューロンが活性化されてよく、ＳＮＮ内のデスティネーションニューロン７１０から全ての他のニューロンに伝搬するスパイク波（例えば、７１５）がもたらされる。図５Ｂ〜図５Ｈの例に見られるように、デスティネーションニューロンに対して方向づけられたシナプスをスパイク波に基づいて強化させるために、ＳＴＤＰルールがＳＮＮに適用されてよい。さらに、スパイキング閾値電位が、トレーニングされたＳＮＮをさらにバイアスするために調整されてよい。デバイス（又はデバイスを装着又は搬送する個人）の現在位置が決定されてよく、この位置は、ＳＮＮ内の複数のニューロンのうち別の１つを経路内のソースニューロンとして活性化する基準であってよい。上述されたように、トレーニングされたＳＮＮ内のソースニューロンを活性化することで、スパイクチェーンがＳＮＮを通じてデスティネーションまで最短経路に沿って伝搬することになり得る。物理デスティネーション環境への最短経路を（例えば、スパイクチェーン内のニューロン（例えば、ニューロンＡ〜Ｆ）に対応する位置の１つ１つを通じて順にナビゲートすることで）決定するために、スパイクチェーンでスパイクを送信するニューロンごとに対応する物理位置が決定されてよい。
【００７０】
場合によっては、デバイスのナビゲーション中に、デバイスがデスティネーションに達する前に複数のソースニューロンが活性化される場合がある。特定のニューロンを活性化し、デスティネーションとして特定のニューロンについて解くようにＳＮＮをトレーニングすることで、トレーニングされたＳＮＮが、ＳＮＮ内の任意の他のニューロンから特定のデスティネーションニューロンへの最短経路を決定するのに複数回用いられてよい。１つの例では、ロボットがニューロモーフィックコンピューティングデバイスを組み込むことができ、ビジュアルコンピューティング、全地球測位、ロボットの位置を追跡するサードパーティシステムによる測位などの技術を用いて、ロボットの現在位置を周期的に判定することができる。ロボットが自身の現在位置を判定すると、これにより、ニューロモーフィックコンピューティングデバイスのトレーニングされたＳＮＮ内の対応するニューロンが活性化され、特定のデスティネーションへの更新された経路を決定することになり得る。ソースニューロンの活性化により生成されたスパイクチェーンに基づいて返される経路結果から、ロボットは、対応する経路に沿った自身の運動を調整又は継続することができる。しばらくしてから、ロボットは自身の位置を再計算して、最新の計算位置に対応するニューロンを活性化し、ロボットが前に計算された経路上にとどまっているかどうか、デスティネーションに達したかどうか、又は新たな位置に対応するニューロンの活性化から決定される経路に基づいて自身の方向を調整する必要があるかどうかを判定することができる。ロボットは自身の位置の再計算を継続して、ロボットがデスティネーションに達するまで、ニューロモーフィックコンピューティングデバイスにデスティネーションへの更新された最短経路を提供させることができる。
【００７１】
図８Ａを参照すると、８０５、８１０、８１５、８２０の各図が、２次元（２Ｄ）物理環境をモデル化するＳＮＮにおいて、デスティネーションニューロン８２５の活性化により生成されたスパイク波の伝搬を示す。８０５、８１０、８１５、８２０の各図には、格子型ネットワークのノードを表すポイントの格子が含まれており、各ノードが物理環境内のポイント（例えば、座標、緯度／経度など）に位置付けられている。１つの例では、格子型ネットワークの各ノードが、自身のすぐ上／下及び左／右にある隣接ノードに双方向に接続されてよい。他の実装態様では、各ノードが自身のすぐ左／右の隣接ノードに、さらに双方向に接続されてよい。３次元（３Ｄ）物理空間が、３Ｄ格子型ネットワーク及び他の例を用いて、同様にモデル化されてよい。
【００７２】
８０５の図では、デスティネーション又は報酬デスティネーションとして対応する位置の指定に対応して、特定のニューロンが時間（例えば、時間ステップ）ｔ＝０で活性化される。特定のニューロンの活性化によって、アウトバウンドスパイク信号の波が引き起こされ、（デスティネーションノード８２５から放射上に外側に位置するノードの一部（例えば、８３０）を表す）ニューロンの第１のサブセットが、時間ｔ＝１０でスパイク波のスパイクメッセージを受信すると活性化されることになる。８１５及び８２０の図は同様に、物理空間内のデスティネーションノードから放射上に延在するノードを表すニューロンを通じた、スパイク波の伝搬の経過を示す。ニューロモーフィックコアの物理方向又はアーキテクチャは、ニューロモーフィックコアにより実装されたニューロンによって表される物理位置に対応する必要がないことを理解されたい。実際に、ニューロモーフィックコアは、物理空間において互いから遠く離れた物理位置を表す２つ又はそれより多くのニューロンを含む複数の（又は多数の）ニューロンを、ＳＮＮ内に同時に実装することができる。しかし、実装態様によっては、いくつかのニューロンが他のニューロンと（すなわち、スパイクメッセージを通じて）より通信しやすいという可能性に基づいて、ノード間トラフィックを最適化するために、ニューロンがそれぞれのニューロモーフィックコア上に実装されてよい。例えば、すぐ近くの位置を表すニューロンが、いくつかある例の中でも特に、ニューロモーフィックコンピューティングデバイスのメニーコアネットワーク内にごく近接して存在するコア上に実装されてよい。
【００７３】
図８Ａに示されるように、スパイク波がニューロンのネットワークを通じて伝搬することができる。さらに、上述されたように、ＳＮＮに適用されたＳＴＤＰルールにより、外側に伝搬する波の方向と反対に方向づけられたシナプスの荷重が増加して、選択されたデスティネーションノードへの経路を計算するためにＳＮＮをトレーニングすることになり得る。図８Ｂは、図８Ａの例で指定されたデスティネーションノード８２５から伝搬された波に基づいて、格子型ネットワーク内の各ノードからデスティネーションノードへの最短経路について一般化された方向を表すベクトル場の表現８４０である。各ノードに対応するベクトル又は矢印図（例えば、８４５）によって示された方向は、ネットワーク内の様々なノードのシナプスがターゲットノードに対して強化された方向を示す。結果として、ソースノードの選択により、図８Ｂに示されるトレーニングされたＳＮＮの表現において矢印図で示された方向をたどる経路が、（ソースニューロンを活性化することで生成されたスパイクチェーンに対応するように）決定されることになる。図９Ｂ、図１０Ａ、図１０Ｃ、及び図１１Ｂ〜図１１Ｅが、そのそれぞれの例に基づいて類似の表現を利用している。
【００７４】
上記各例では、単一のデスティネーションノードが選択されており、対応するニューロンが活性化されて、選択されたノードへの経路を決定するためにＳＮＮをトレーニングする。他の例では、図９Ａ〜図９Ｂに示されるように、複数の代替のデスティネーションが選択されてよく、ＳＮＮ内の対応するニューロンが活性化されて、複数のノードのうち１つへの経路を決定するときに用いるためにＳＮＮをトレーニングしてよい。そのような例は、自律型装置が複数のターゲットのうちいずれか１つにナビゲートするユースケース（例えば、低バッテリ状態の検出に応答して、複数の充電ステーションのうちいずれか１つにナビゲートするドローン）にとって適切な場合がある。例えば、９０５の図は（例えば、物理環境における座標に対応する）複数のノードからなる格子型ネットワークを示しており、このうち４つ（例えば、９２０ａ〜ｄ）が、ネットワーク内のターゲット又はデスティネーションとして指定されている。４つのデスティネーションノードの各ニューロンは同時に活性化されてよく、これにより、対応するスパイク波が４つのニューロンのそれぞれから伝搬することになる。デジタルＳＮＮが形成され、（全ての発信スパイク及び着信スパイクが処理される）別々の時間ステップ又はウィンドウを通じて同期が実現される実装態様において、複数のデスティネーションニューロンにより生成されたスパイク及びスパイク波は、一時的な時間に同時に発火しなくてよいが、同時とみなされてよい理由は、これらのスパイク及びスパイク波が、ＳＮＮに定義された同じ時間ステップ内でニューロモーフィックコンピューティングデバイスにより処理されるからである。
【００７５】
図９Ａの例を続けると、９１０〜９１５の図は、複数のデスティネーションニューロンにより生成された複数のスパイク波が、どのようにして最終的に収束し、単一の波としてＳＮＮ内のニューロンの一部に伝搬することができるかを示している。図９Ｂは、図９Ａに示されるスパイク波トレーニングに基づいて、ネットワーク内の潜在的なソースノードのそれぞれに対して、結果として得られる経路方向を例示するベクトル場を示す。複数のデスティネーションニューロンがスパイク波を引き起こした場合、２つの異なるデスティネーションニューロンが同時に（例えば、同じ時間ステップで）引き起こした波を、少なくとも１つの他のニューロンが受信することが可能である。そのような例は、２つの異なるスパイク波を同時に受信する潜在的なソースニューロンが、スパイクを引き起こす２つのデスティネーションニューロンから等距離に事実上位置するように、ＳＮＮによる位置のモデル化に基づいて、複数のデスティネーション間の境界を形成することができる。上述されたように、ノードが複数のスパイク波のどれを認識して、どれを無視するかを選択できるように排他的選択が利用されてよく、こうして、そのソースノードが経路決定において選択された場合、どの経路が選択されるかを決める。そのような境界ノードが図９Ｂに、例えば領域９２５、９３０、９３５に示されており、これらの領域の潜在的なソースノードには、図９Ａの例にあるトレーニングに基づいて、指定されたデスティネーションノードのうち特定の１つに対して明確な方向が特定されていない。
【００７６】
複数のデスティネーションニューロンが指定されて活性化され、複数のスパイク波を用いて対応するＳＮＮのトレーニングを引き起こす例において、図９Ｂに関連して上述されたような境界が形成されてよい。場合によっては、どのソースノードが、選択された場合に、複数の可能なデスティネーションのうちどれに方向づけられるかを判定するのに、そのような境界が用いられてよい。例えば、図１０Ａを参照すると、複数の潜在的なデスティネーションノード（例えば、１００５、１０１０）を有するネットワークの別の例に関するベクトル図の１０００ａが示されており、ノード１００５及び１０１０に対応するニューロンを活性化して、２つの別個のスパイク波の伝搬をもたらすことで、ＳＮＮのトレーニング中に対応するＳＮＮに与えるＳＴＤＰルールの影響を表している。マルチデスティネーションネットワークのトレーニングで定められた境界を示すために、１０１５ａのラインがベクトル表現に追加されている。境界１０１５ａの一方の側又は他方の側に位置するノードが選択された場合、スパイクチェーンが（対応ソースニューロンの活性化によって）生じ、複数のデスティネーションニューロンのうち対応する１つへの経路を定めることが予測されてよい。例えば、図１０Ａの例では、ソースノードＡ（１０２０）が選択され、対応するニューロンがＳＮＮのトレーニング（例えば、複数のデスティネーションニューロンのうち１つに向けて（対応するニューロンにより最初に受信されたスパイク波と逆方向に）方向づけられたシナプスの荷重を増加させ、ＳＮＮ内のニューロンのスパイキング閾値を増加させる）の後に発火する。活性化されたソースニューロンは、自身の隣接ニューロンの全てに送信されるスパイクを送信することになるが、他の例に見られるように、複数のデスティネーションニューロンにより生成されたスパイク波に基づいて、ＳＴＤＰを通じて強化されたシナプスにスパイクが送信される場合、そのスパイクは、さらなるスパイクを引き起こすのに十分なだけの強さになる。図１０Ａの例では、ソースノードＡ（１０２０）に対応するニューロンが、デスティネーションノード１００５に対応するニューロンの活性化により生じたスパイク波のスパイクを、別のデスティネーションのスパイク波がノードＡのニューロンの達する前に受信した。したがって、ノードＡ（１０２０）からノード１００５に通じるシナプスが強化されており、これにより、ノードＡ１０２０により送信される次のスパイクが、ノード１００５に送信されるスパイクで最終的に終結するシナプスでスパイクのチェーンを開始することになり、その結果、ノードＡからネットワーク内の複数の指定されたデスティネーションのうち最も近い１つへの経路が定められる。
【００７７】
図９Ａ、９Ｂ、及び１０Ａの例では、所与のネットワーク内で指定された複数のデスティネーションが等価にみなされるべきであると仮定された。言い換えれば、指定されたデスティネーションノードは、デスティネーションが代替可能、又は等価に好適である現実世界のネットワークをモデル化することができる。他の場合では、いくつかのデスティネーションが他より望ましくてよく、ソースからの経路がそのデスティネーションノードで終結するのか、別のデスティネーションノードで終結するのかを判定する際に、デスティネーションノードの望ましさが、デスティネーションに達するための距離と比較検討される。一例として、物理環境の経路をモデル化するのにＳＮＮを用いる場合、配達用ドローンが、配達のために複数の荷物のうち１つを拾い上げる仕事を課されてよい。しかし、複数の荷物のうちの１つが、より高い優先順位を持つ場合がある。あるターゲットの別のターゲットにまさる優先度をモデル化するために、ＳＮＮを用いる経路計画が、そのような優先度をモデル化するように拡大されてよい。
【００７８】
例えば、図１０Ｂに示される１０００ｂ〜ｅの図を参照すると、指定されたデスティネーションノードのうち１つ（例えば、１０１０）がその他のデスティネーションノード（例えば、１００５）に対して優先される又はバイアスされるように、図１０Ａの例が拡大されている。優先されたデスティネーションノードをモデル化するために、その他の（優先されていない）デスティネーションニューロン（例えば、１００５）の活性化を通じて引き起こされるスパイク波の開始のいくらか（例えば、いくつかの時間ステップ）前に、優先されたノードと関連するニューロンにそのスパイク波を開始させるように、ＳＮＮが構成されてよい。例えば、図１０Ｂの１０００ｃの図に示されるように、（例えば、位置を表している）優先されたノードと関連するニューロンが発火して、その他のニューロンによってスパイクが送信される前に、ネットワークを通じてスパイク波の送信を開始することができる。しばらくしてから（例えば、Ｔ＝２０で）、より低い優先度のデスティネーションノードを表す他のノードが、追加のスパイク波をネットワーク内に伝搬させるためにスパイクを送信することができる。例によっては、ＳＴＤＰ及び不応期がＳＮＮに適用されてよく、これによりシナプス荷重が、双方向に接続されたニューロン間に送信された第１のスパイク波に対応するように調整される。したがって、１０００ｅの図に示されるように、２つのスパイク波が最終的に合流して、刺激されていないノードにスパイクを伝搬することができる。しかし、ＳＮＮのトレーニング中に他のスパイク波の前に送信されるスパイク波により、このスパイク波が、トレーニング中にスパイク波が他のスパイク波と同時に送信されたとしたら発生すると考えられるより多くの他のニューロンによって受信されることになり得る。こうして、結果として得られるトレーニングされたＳＮＮは、優先されたデスティネーションで終了する経路を決定する方へバイアスされてよい。
【００７９】
例えば、図１０Ｃの１０００ｆの図は、図１０Ｂに示されるスパイク波によりトレーニングされたＳＮＮの、結果として得られるベクトル場表現を示す。スパイク波がニューロン１００５及び１０１０により同時に送信されるトレーニング段階に対応する、図１０Ａに示されるベクトル場と比較すると、図１０Ｃに示されるベクトル場は、ニューロン１００５により送信されるスパイク波のいくらか前に、ニューロン１０１０でスパイク波を送信する影響を示している。さらに、図１０Ａの表現と比較すると、異なる境界（例えば、１０１５ｂ）が、１つのデスティネーションノードを他方よりバイアスすることで現れてよい。例えばここで、同じソースノード１０２０が、境界１０１５ｂの、デスティネーションノード１０１０に対応する側に位置することができ、これにより、ソースノード１０２０から、図１０Ａの例にあるようなデスティネーションノード１００５の代わりにデスティネーションノード１０１０への経路が決定されることになる。ネットワークにおいて、デスティネーションノード１００５の方が、デスティネーションノード１０１０よりソースノード１０２０に近くても、この例でデスティネーションノード１０１０に与えられる優先度によって、トレーニングされたＳＮＮは、デスティネーション１０１０に対する経路計画をバイアスすることになる。いくつかある例の中でも特に、デスティネーションノード１００５のさらに近くに位置する他のソースノード（例えば、１０２５）の場合、デスティネーションノード１００５に近接していることが、優先されたデスティネーションノード１０１０に対するバイアスより勝ることがあり、その結果、その他のソースノード１０２５から、デスティネーションノード１０１０の代わりにデスティネーションノード１００５への経路が決定されることになる。
【００８０】
実装態様によっては、複数の指定されたデスティネーションノードの他と異なる望ましさ又は報酬に関するモデル化を実装するために、複数のデスティネーションノードの活性化が、各ノードの相対的な望ましさをモデル化するようにタイミングを調節されてよい。例えば、複数のデスティネーションノードのうち第１のデスティネーションノードに対応する第１のニューロンが、ｔ＝０で活性化されてよく、複数のデスティネーションノードのうち第２のデスティネーションノードがその後、時間ｔ＝ｔ１で活性化される。活性化の遅延は、ニューロモーフィックコンピューティングデバイス上に常駐するロジックを用いてオーケストレートされてよく、又はニューロモーフィックコンピューティングデバイスに送信される信号のタイミングを調節するシステムマネージャによりオーケストレートされてよく、これにより、特定のＳＮＮのトレーニングにおいてデスティネーションニューロンに指定された複数のニューロンの活性化の間に遅延が生じる。他の実装態様では、複数の指定されたノードの相対的な望ましさをモデル化するのに用いられるスパイク遅延が、ニューロンレベルで構成されてよく、これにより、デスティネーションニューロンの全てが同時に活性化され、あまり望ましくないノードをモデル化するニューロンのパラメータが、これらのニューロンに自身のスパイクの送信を遅延させて、スパイク波の間に所望の遅延を実現させるように調整される。
【００８１】
第１のデスティネーションノードが第２のデスティネーションノードに優先するという望ましさをモデル化するための、第１及び第２のデスティネーションニューロンによるスパイク波の送信間の遅延量は、第１のノードが第２のノードに優先するという優先度又は望ましさの相対的な度合いに対応してよい。言い換えれば、第１のニューロンによる第１のスパイク波の開始と、第２のニューロンによる第２のスパイク波の開始との間のより長い遅延が、第１のニューロンにより表されたネットワークノードの、第２のニューロンにより表された第２のノードより優れた相対的な望ましさが、より高いことを示している。同様に、より短い遅延は、１つのノードの別のノードより優れた相対的な望ましさがより小さいことを示す。
【００８２】
実例として、物理空間を表す複数のネットワークノードが、（図９Ａ〜図１０Ｃの例に見られるように）デスティネーションノードとして同時に指定されてよく、複数の再充電ステーション又は燃料補給ステーションの位置に対応してよく、ドローン又は自律走行車両は、低電力状態又は低燃料状態の際にそこに向かってナビゲートする。複数の燃料補給ステーションのうち１つが、再充電／燃料補給と関連する財務コストがより高い、需要がより高いステーションである、充電がより遅い又は非効率なステーションである、特定の自律型装置マネージャにより制御されていない又は所有されていないステーションであるという点などで、他のステーションより「高価」であると識別されてよい。場合によっては、１つのステーションを他のステーションより高価にしている状態が動的であってよく、変化してもよい。結果として、１つのステーションの他方より優れた相対的な望ましさが同様に、時間と共に変化してよい。各ステーションの相対的な望ましさに基づいて、望ましさを測る基準が定義されてよく、対応するＳＮＮのトレーニング中に送信されるスパイクメッセージが、現在の望ましさを測る基準に関する相対的な値を反映するためにタイミングを調節されてよい。望ましさを測る基準が変化することになる場合、それに応じて、望ましさを測る基準の新たな差異に従ってタイミングを調節されたスパイク波を再送信することで、ＳＮＮが再トレーニングされてよい。トレーニング後、自律型装置は、自身の現在位置を識別することができ、デバイスの現在位置に対応するニューロンでスパイクを送信することができる。ＳＮＮが、より望ましい位置を優先してバイアスするようにトレーニングされると、いくつかある例の中でも特に、現在位置から複数のデスティネーションのうち特定の１つまでの決定された経路は、複数のデスティネーション位置のうちいずれか１つに対するデバイスの相対的な近さに基づくだけでなく、デスティネーションの望ましさにも基づいてよい。
【００８３】
いくつかのデスティネーションノードが他のデスティネーションノードより望ましい（すなわち、より高い度合いの「報酬」を有する）ことに加えて、いくつかの経路が「ハザード」と指定されたネットワークノードの存在によって推奨されない場合がある。場合によっては、ノードが絶対ハザード又は通行不能ハザードと指定されてよく、これにより、ハザードノードを横断するネットワーク経路が決定されないことになる。他の場合では、ハザード評価が絶対を下回るハザードとしてノードが指定されてよく、これにより、これらの経路は推奨されなくてよいが、そのノード上を横断することを禁止されることはない。図１１Ａを参照すると、ネットワーク内にハザードノード１１０５の集合を導入したことを示す１１００ａ〜ｄの図が示されている。実装態様によっては、ネットワークは物理環境内の座標をモデル化してよく、ハザードノードは物理ハザード（例えば、壁、水域、家具、特定のデバイスの立ち入り禁止領域など）の位置に対応してよい。
【００８４】
図１１Ａの例では、単一のデスティネーションノード１１１０が、ネットワークに指定されている（しかし、複数のデスティネーションノード（異なるレベルの望ましさを有する複数のデスティネーションノードを含む）が、他の例において指定されてよい）。他の例に見られるように、（例えば、時間ｔ＝０での）デスティネーションノード１１１０に対応するニューロンの活性化により、（例えば、１１００ｂの図に示されるように）スパイク波が伝搬して、活性化されたニューロン１１１０から放射上に配置された隣接ニューロンを活性化することになり得る。この例では、ハザードノード１１０５は絶対ハザードノードとして構成されてよく、これは（ノード１１１０に対応する）デスティネーションニューロンから生じたスパイク波が、これらのノードに対応するニューロンを活性化しないことを意味する。スパイク波は、１１００ｃ、１１００ｄの図に示されるように進行して、可能な限りハザードノードの周囲を伝搬し、最終的にＳＮＮ内の全てのノードのニューロンに伝搬することになる。他の例に見られるように、スパイク波により活性化されたニューロンが、ＳＴＤＰルールに従って自身のシナプスの１つを（スパイク波の伝搬と逆方向に）調整し、ＳＮＮをトレーニングしてよい。場合によっては、トレーニングはさらに、ＳＮＮ内の全ニューロンのスパイキング閾値電位を調整することを含んでよい。場合によっては、スパイキング閾値電位の調整は、非ハザードニューロンに限定されてもよく、又は、ニューロンのノードのハザードレベルに基づいて調整されてよい。
【００８５】
図１１Ｂは、図１１Ａの例に示されたスパイク波に基づいて、任意の潜在的なソースノードがデスティネーションノード１１１０（及びハザードノード場１１０５の周囲）に向かって移動しやすい方向を示すベクトル場１１００ｅの図を示す。図１１Ｂの例に示されるように、ＳＮＮのトレーニングにより、ソースノードから次のハザードノード又は近くのハザードノードへの決定された経路が、指定されたデスティネーションノード１１１０に向けて方向づけされる前に、ハザードから離れてその周囲に方向づけられることになり得る。
【００８６】
図１１Ａ〜図１１Ｂの例は、ネットワーク内の単一の矩形ハザードに関する定義を示すが、ＳＮＮは、様々なサイズ、形状、及び数の潜在的なあらゆるハザードをモデル化するように構成可能であってよいことを理解されたい。例えば、図１１Ｃの例は、５つの異なるサイズのハザードノード場を有する例示的な格子型ネットワークを示す。図１１Ｃの１１００ｆの図はさらに、デスティネーションノード１１２０及び本明細書の他の箇所で論じられるようなＳＴＤＰルールの適用によってトリガされたスパイク波を仮定して、そのようなハザードを有するネットワークをモデル化するＳＮＮのトレーニングによって生じるベクトル場を示す。ハザードノードは、非矩形状であってよく、（例えば、物理環境をモデル化するネットワーク内の）物理的な物体に対応してよいことを理解されたい。実際に、他の無数の例の中でも特に、ハザードノードは分離して指定されてよく、これにより、単一のノードがハザードに指定されてよいが、その隣接ノードの全てはハザードに指定されない。
【００８７】
上述されたように、ハザードノードは、様々な度合いのハザードをモデル化するように構成されてよい。図１１Ｄ〜図１１Ｅを参照すると、絶対を下回るハザードノードが定義されたネットワークの例が示されている。例えば、図１１Ｄの例では、低ハザード特性で構成されたハザードノードの集合を示す１１００ｇの図が示されている。スパイク波がハザードノードを通じて活性化し伝搬することを可能にするように、低ハザードノードが構成されてよいが、ハザードノードは、スパイク波に非ハザードノード上よりも遅くハザードノード上を伝搬させることで、スパイク波の伝搬を遅らせることができる。図１１Ｄは、デスティネーションノードに対応するニューロンで引き起こされたスパイク波に基づいて、ベクトル場１１００ｇの図を示しており、このスパイクは、低ハザードノード上をより遅く伝搬する。ベクトル場の図が示唆することは、トレーニングされたＳＮＮを用いて決定されたいくつかの経路が、ハザードノードを組み込む経路（例えば、ハザードノードの近くに位置する潜在的なソースノードの経路）をもたらすことができるが、ハザードノードの存在により、ハザードノード上の横断を避けるか又は最小化しようとするように経路をバイアスするということである。
【００８８】
図１１Ｅを参照すると、高ハザードノードの一例が示されている。高ハザードノードにより、トレーニングスパイク波は高ハザードノード上をさらに遅く横断することになるという点で、高ハザードノードは低ハザードノードと異なってよい。結果として、ベクトル場の図の１１００ｈに示されるように、ノードが有するように構成されるハザードが高ければ高いほど、それによって、そのハザード（絶対ハザードノードの可能性がある）を避ける経路がより多く生じる。ネットワーク内の異なるハザードノードが、異なる度合いのハザードを割り当てられてよいことを理解されたい。ネットワークが物理環境をモデル化する例では、それらの物理座標に関連付けられたハザードの度合いを指定するために、ノードがハザードの度合いを割り当てられてよく、いくつかの障害又はハザードは他のものより重大である。割り当てられたハザードの度合いは、ハザードを避けるために経路がどれほどバイアスされるかに影響を与えることができ、ハザードを越える又は通る使いやすい経路は、より低レベルのハザードに使用可能であるが、対応するノードにより高いハザードレベルを割り当てることで、より強く推奨されない。
【００８９】
１つの実例では、地上のロボットが、ロボットの物理環境をモデル化するＳＮＮを利用することができる。ハザードが物理環境内で検出されると、これらのハザードの座標に対応するニューロンがハザードを表すように構成されてよく、これにより、ＳＮＮを用いて行われる経路決定がこれらのハザードを説明する。場合によっては、（例えば、ビジュアルコンピューティング、レーダ、サードパーティのシステム（例えば、ハザードに遭遇した他のロボット、環境を監視して様々なハザードを認識するビジュアルコンピューティングシステムなど）から受信された通信、及び、対応するニューロンを、検出されたハザード（それぞれのハザードの度合い又は深刻さ（例えば、低い、高い、絶対など）を含む）を表すように構成させるＳＮＮを実装するニューロモーフィックコンピューティングデバイスを用いて）、ロボットが自身の現在位置を判定することができ、さらにすぐ近くのハザードを識別することができる。ＳＮＮにおいて発見された又は知られている（例えば、常設又は固定の）ハザードをモデル化することで、ロボットの現在判定された位置に基づく、指定されたデスティネーションへの経路決定は、ハザードの存在を説明するようにトレーニングされたＳＮＮに基づいてよい。
【００９０】
ＳＮＮによりモデル化されたネットワーク（及び／又はネットワークによりモデル化された物理環境）に応じて、ハザードの性質、数、及び重大度が、ハザードに対応するニューロンをＳＮＮに構成することでモデル化されてよい。１つの実装態様では、対応する人工ニューロンによってハザードをモデル化することは、ニューロンが遅延方式でシナプス前スパイクに応答することになるように、ニューロンの１つ又は複数のパラメータを調整することを含んでよい。トレーニング前に、ニューロンで受信された任意のスパイクにより、ニューロンのスパイキング閾値電位が満たされ、ニューロンが追加のスパイクを自身の隣接ニューロンに送信する（すなわち、ＳＮＮをトレーニングするのに用いられるスパイク波を伝搬する）ことになるように、特定のネットワーク内の経路発見及び経路計画のために構成されたＳＮＮ内の非ハザードニューロンが構成されてよい。非ハザードニューロンの応答は、（ニューロンが、前に受信されたスパイクに応答してスパイクを送信した後に、その不応期になっていないという条件で）任意の受信されたスパイクに直接応答して発生するように構成されてよい。例えば、非ハザードニューロンは、シナプス前スパイクが受信される時間ステップの直後の時間ステップで、シナプス後スパイクを送信することができる。ハザードノードに対応するとして指定されたニューロン（又は「ハザードニューロン」）が代わりに、ハザードニューロンにおいて（スパイク波で）受信されたシナプス前スパイクに応答して、遅れて（又は全く遅れずに）シナプス後スパイクを送信するように構成されてよい。
【００９１】
絶対ハザードの場合では、ハザードをモデル化するニューロン、又はニューロンにつながるシナプスが、ニューロンを残りのＳＮＮから効果的に分離するように無効にされてよく、これにより、着信スパイクによる無効ニューロンの活性化が制限され、スパイク波が、無効ニューロンを回避して、ＳＮＮ内の残りのニューロンへのあまり直接的ではない経路に沿って伝搬するように強いられる。絶対を下回るハザードの場合では、ニューロンのパラメータが、対応するノード（又は位置）の相対的なハザードレベルと相関するように調整されてよい。これらのパラメータは、ハザードレベルが大きければ大きいほど、対応するニューロンが着信スパイクに対するシナプス後応答をより長く遅らせるように調整されてよい。言い換えれば、ニューロンが、（例えば、スパイク波に含まれた）着信スパイクに応答して発信スパイクを送信するのに時間が長くかかればかかるほど、対応するノードに関連付けられたハザードレベルがより高くなる。
【００９２】
１つの例では、ニューロンの応答遅延が、着信スパイクをニューロンに供給するシナプスの軸索遅延パラメータを調整することで、構成されてよい。軸索遅延パラメータは、（例えば、その細胞体プロセスを用いて）着信スパイクを処理するニューロンに遅延を引き起こすように調整されてよく、これにより、着信スパイクに対するニューロンの応答に、対応する遅延がもたらされる。パラメータは、それぞれのニューロンの相対的なハザードレベルに対応するように調整されてよく、軸索遅延パラメータは、受信されたスパイクに応答して、より長い遅延を有する高ハザードをモデル化するように増加し、より低い軸索遅延値がより低い重大度のハザードに対応する。
【００９３】
別の例では、様々なレベルのハザードが、ネットワーク（又は物理環境）内のハザードノードをモデル化するニューロンに神経抑制を導入するパラメータを調整することで、追加的に又は代替的に実装されてよい。場合によっては、神経抑制によっても、スパイクがニューロンに到達する時間と、この着信スパイクが、ニューロンの膜電位又はスパイキング閾値電位をニューロンによるアウトバウンドシナプス後スパイクの送信を引き起こす状態に到達させるのに要する時間との間に、さらなる遅延をもたらすことができる。１つの例では、各ハザードニューロンは追加の抑制性ニューロンに関連付けられてよい。ハザードニューロン及びその関連する抑制性ニューロンは、同じシナプス前ニューロンを共有することができ、これにより、そのシナプス前ニューロンがスパイクを発火すると、スパイクは、ハザードニューロン及びその関連した抑制性介在ニューロンの両方に送信される。このシナプス前ニューロン及びハザードニューロンの間のシナプス荷重は、シナプス前ニューロン及び抑制性介在ニューロンの間のシナプス荷重と比較してより低くなるように構成されてよい。結果として、抑制性介在ニューロンは、その関連したハザードニューロンがスパイクを発火できる前に、スパイクを発火することになる。抑制性介在ニューロンのスパイクは、その関連したハザードニューロンに送信されてよい。このシナプス結合での荷重は、負（抑制性）の値を持つように構成され、これにより、このシナプスに到達するスパイクが、ハザードニューロンの膜電圧を減少させることになる。それに応じて、この段階でのハザードニューロンは、２つの着信シナプス電流を有し、一方が正（ハザードニューロン及び関連した抑制性介在ニューロンの両方によって共有されたシナプス前ニューロンのスパイクに起因）であり、他方が負（抑制性介在ニューロンからのスパイクに起因）である。任意の所与の時間において、負のシナプス電流は正のシナプス電流より小さいが、その効果は、ハザードノードが遅延時間でスパイキング閾値に達するように、ハザードノードによる正のシナプス電流の集積を減速することである。こうして、この（抑制によって引き起こされた）遅延は、ハザードノードを表すニューロンのスパイク伝搬に、遅延の基準を提供することができる。
【００９４】
実装態様によっては、ハザードニューロンのハザードレベルが、神経調節信号を用いて調節されてよい。これにより、（ＳＮＮによりモデル化された）対応する物理位置をナビゲートする自律型エージェント（例えば、ロボット）が、フィードバックを提供して、その内部挙動状態に基づいて、計画された経路に影響を与えることが可能になり得る。例えば、非常に低い充電状態で動いているロボットが、非常に「緊急」の挙動状態に対応してよい。この状態は、ネットワーク内の全てのハザードノードのハザードレベルを下げて、より短い経路が高ハザード領域を通過するとしても、より長い経路の代わりにより短い経路を選択するように経路計画処理をバイアスすることがある。ハザードの軸索遅延の実装態様では、広域の神経調節信号が、ネットワーク内の全てのハザードノードにおいて、軸索遅延を増やす又は減らすのに用いられることがある。ハザードの抑制性介在ニューロンを基にした実装態様では、広域の神経調節信号が、ネットワーク内の全ての抑制性介在ニューロンに送信されることがある。抑制性介在ニューロンは、神経調節信号を受信すると、自身の興奮性を表す（各ニューロンの内部にある）パラメータを調節することになる。この興奮性パラメータは、介在ニューロンがスパイキング閾値を超えたときに、介在ニューロンがその対応するハザードニューロンにいくつのスパイクを送信するかを設定する。したがって、神経調節信号は、抑制性介在ニューロンによってその関連したハザードニューロンに送信されるスパイクの数を変化させることができ、これにより、ハザードニューロンのスパイク生成において遅延量が調節される。したがって、自律型エージェントは、高度の緊急性を示す信号を提供されてよく、これにより、（図１１Ｆの１１００ｉの図に示されるように）ハザードに関連したベクトル場が変更される。実際に、図１１Ｅの例に示されるベクトル場においてモデル化されたより低い緊急性と比較すると、図１１Ｆの例は、（ハザードニューロンと組み合わされた抑制性介在ニューロンの興奮性パラメータによってモデル化された）緊急性の変化の影響を示す。ベクトル場は、ハザード位置の周囲のほぼ全ての経路をバイアスするが、いくつかある例の中でも特に、図１１Ｆの例においてモデル化されたより高い緊急性は、より多くの経路がハザード位置を通るコースをとることを可能にしてよい。
【００９５】
（図１０Ａ〜図１０Ｃの例で論じられたような）潜在的に変化する望ましさのデスティネーションをモデル化することができるニューロンを定義し、潜在的に変化するハザードレベルを有する他のニューロンを定義することで、ＳＮＮは（例えば、本明細書で説明される特徴に類似の特徴を有するニューロモーフィックコンピューティングデバイスを用いて）、物理空間において座標をモデル化するネットワークを含む複合ネットワークをモデル化するように定義され実装されてよい。例えば、ランドスケープは、図１０Ｂ〜図１１Ｅの例に示され説明された特徴（例えば、相対的な報酬位置及びハザード）を単一のネットワーク又は物理空間において組み合わせることで、及び、様々な報酬デスティネーション及びハザードを物理空間においてモデル化するＳＮＮを開発することで、モデル化されてよい。さらに、ニューロモーフィックコンピューティングデバイスのコンフィギュアビリティはさらに、環境内の変化を（場合によっては、リアルタイムで）説明するために、環境をモデル化するＳＮＮにおいてニューロンに対して行われる調整を可能にすることができる。例えば、デスティネーションニューロンが定義されてよく、対応するデスティネーションの相対的な望ましさが、デスティネーションの相対的な望ましさの変化を示唆する情報に基づいて（例えば、環境から収集された情報、又は環境内で経路計画を実行するためのニューロモーフィックコンピューティングデバイスを用いる装置、ドローン、若しくはロボットから収集された情報に基づいて）調整されてよい。例えば、相対的な報酬位置をモデル化するデスティネーションニューロンのうち１つ又は複数のパラメータを、状態の変化を反映させるように変更させるために、ニューロモーフィック信号がニューロモーフィックコンピューティングデバイス内に（例えば、ニューロモーフィックコンピューティングデバイスに送信された要求又は信号に基づいて）送信されてよい。
【００９６】
同様に、例示的なＳＮＮ内のニューロンが動的に構成されてよく、これらのニューロンのパラメータは調整され、ニューロンにハザード位置をモデル化させる、又はシステムにより取得された追加情報に基づいて位置に関連したハザードレベルを調整させる。例えば、既知の経路（例えば、地上のドローン又はロボット用）に対応する位置をモデル化するニューロンが、非ハザードニューロンとして構成されてよく、経路から外れた座標をモデル化する他のニューロンが低ハザードニューロンとしてモデル化され、壁、樹木、又は他の障害物が発見され得る位置をモデル化するニューロンが、高ハザードニューロン又は絶対ハザードニューロンとして構成されてよい。ハザードが除去された場合、再配置された場合、又は環境に導入された場合、ニューロンのパラメータを変更して、対応する位置のハザード状態（又はその欠如）をより適切にモデル化させるために、対応する位置をモデル化するニューロンが（例えば、神経調節信号を用いて）拡大されてよい。
【００９７】
上述されたように、特定のデスティネーションノードに対する経路発見のために特定のＳＮＮをトレーニングすると、特定のソースノードに関連したニューロンを活性化することで、特定のソースノードとデスティネーションノードとの間に経路が発見され得る。ネットワークの状態が変化せず、デスティネーションが同じままである場合、トレーニングされたＳＮＮが、任意のソースから指定されたデスティネーションへの経路を発見するのに再利用されてよい。場合によっては、トレーニングされたＳＮＮを用いて特定のソースから特定のデスティネーションへの経路が決定された場合、経路決定の結果はキャッシュされてよく、これにより、決定された経路は、次回その経路が要求されたときに、キャッシュから検索されてよい（すなわち、ＳＮＮ内の経路シミュレーションを再実行するのではない）。ＳＮＮ及びそのニューロンに対して変更が行われると（例えば、ハザードレベルの変更、デスティネーション及びそれらの相対的な望ましさに対する変更など）、いくつかある例の中でも特に、指定されたデスティネーションニューロンを再活性化して、ＳＮＮに対する変更に従ってＳＮＮを通じて新たなスパイク波を伝搬させることで、ＳＮＮは、ニューロンパラメータに対する調整の後に、再トレーニングされてよい。
【００９８】
物理環境をモデル化するＳＮＮを用いて決定された経路により、コントローラが、物理環境内で、車両、玩具、ロボット、ドローンなどの自律型エージェント装置の運動を方向づけることになり得る。上述されたように、ネットワークトラバーサルが、対応するネットワーク内の経路に対応するＳＮＮ内の経路を生成し読み出すために、ＳＮＮを利用することができる。例えば、ターゲットノードを表すニューロンが刺激されてネットワークを通じて広がるスパイク波を引き起こしてよく、これにより、スパイク波伝搬の方向に対して負に相関したシナプスのシナプス荷重に変化が引き起こされる。次に、ニューロン閾値が神経調節信号によって増加してよく、ネットワーク内のソースノードに対応するニューロンが刺激されて、ソースニューロンからターゲットまでのスパイクチェーンを生成してよい。実装態様によっては、ＳＮＮが物理環境をモデル化することができ、経路計画が、物理環境における経路の計画に対応することができる。経路計画は、文脈によっては、自律型ナビゲーションを容易にするために利用されてよい。したがって、ＳＮＮ内で発見された経路を用いることができる、又はその経路を、対応する経路を通って自律型エージェントをガイドし得る実際の運動コマンド及び／又は操縦コマンドに変換することができる制御ロジックが提供されてよい。そうする１つの方法は、ニューロモーフィックシステムの外部にある装置（例えば、経路マネージャ）を用いることである。
【００９９】
１つの例では、ＳＮＮを通じて識別された経路を表すデータを受け入れることができる制御ロジックが提供されてよい。例えば、制御ロジックは、ＳＮＮにおいてモデル化された任意の２つの位置のノード間の移動方向（例えば、北、南、東、西など）に関するマッピングを格納し、そのマッピングにアクセスすることができる。したがって、制御ロジックは、ＳＮＮを通じて識別された経路を表す経路データを受信して、経路データを処理し、対応する物理経路を決定して、ソースノードからデスティネーションノードに進むための運動コマンドの関連シーケンスを生成することができる。
【０１００】
他の例では、リアルタイムのセンサと運動の相互作用が、運動ニューロンを直接ＳＮＮに実装することで提供されてよい。運動ニューロンは、物理環境内の場所を表す位置ニューロンに加えて存在してよい。図１２を参照すると、そのようなネットワークの簡略された例を示す簡略ブロック図の１２００が示されている。この例では、位置ニューロンＡ（１２０５）、Ｂ（１２１０）、Ｃ（１２１５）が与えられ、それぞれが物理空間内のそれぞれの場所をモデル化する。本明細書で論じられた上記各例に見られるように、位置ニューロン（例えば、１２０５、１２１０、１２１５）は空間内の物理的な場所（例えば、位置Ａ、Ｂ、Ｃ、Ｄなど）を表し、双方向に接続され、特定のターゲットノードへの経路計画のトレーニングを容易にするように構成されている。例えば、それぞれの位置ニューロンは最初に、単一のシナプス前スパイクに応答してスパイクするように構成されてよい。運動ニューロン（例えば、１２２０、１２２５、１２３０、１２３５）は一般的に、特定の方向（例えば、右、左、前方、後方、上、下、東、西、北、南など）、又は、場合によっては、任意の２つの位置の間の移動又は運動に対応する相対的な方向に位置することができる。例えば、位置Ａから位置Ｂへの移動がニューロン１２２０により表されてよく、位置Ｂから位置Ａへの移動がニューロン１２２５により表されてよく、位置Ｂから位置Ｃへの移動がニューロン１２３０により表されてよく、位置Ｃから位置Ｂへの移動がニューロン１２３５により表されてよい、などである。各運動ニューロン（例えば、１２２０、１２２５、１２３０、１２３５）は、ＳＮＮの位置ニューロン（例えば、１２０５、１２１０、１２１５）を用いて決定する経路に従って、対応する駆動メカニズム又は操縦メカニズムに自律型エージェントを直接に方向づけさせるために、出力スパイクを生成するように構成されてよい。例えば、ニューロンＢ→Ａ（１２２５）のスパイクは、システムによって「西へ進め」と解釈されて（エージェントを自動的に東方に方向づけさせて）よく、ニューロンＢ→Ｃ（１２３０）のスパイクは、「東へ進め」と解釈されて（エージェントを自動的に西方に方向づけさせて）よい、などである。
【０１０１】
１つの例では、ＳＮＮは、２つのシナプス前スパイクを（例えば、同時に又は順次に）受信して、運動ニューロン用に設定されたスパイキング閾値に達すると、運動ニューロン（例えば、１２２０、１２２５、１２３０、１２３５）のうちいずれか１つだけが活性化される（及び自律型エージェントを制御するための出力スパイクを発火する）ように構成されてよい。さらに、ＳＮＮは、運動ニューロン（例えば、１２２０、１２２５、１２３０、１２３５）が活性化されて（又はＳＮＮの位置ニューロンに接続されて）よく、例えば、神経調節信号を通じて不活性化されて（又は位置ニューロンに接続されて）よいように構成されてよい。その結果として、１つの例では、トレーニング中に（すなわち、デスティネーションニューロンの活性化から）放出されたスパイク波が運動ニューロンに影響を与えないように、運動ニューロンが、位置ニューロンのサブネットワークのトレーニング中に不活性化されてよい。位置ニューロンのサブネットワークがスパイク波に基づいてトレーニングされることで、運動ニューロンは（例えば、別の神経調節信号を通じて）再活性化されてよく、これにより、ソースの位置ニューロンが活性化され、スパイクチェーンが生成されると、経路に沿った位置ニューロンの活性化により、結果として、スパイクメッセージが対応する運動ニューロンに送信されることになってもよい。
【０１０２】
図１２に示された１つの例として、（ニューロン１２１５で表される）ノードＣがターゲット位置に指定され、時間ｔ＝０で活性化されてよい。次に、以下の活動パターンが生成されてよい。
Ｔ＝１：位置ニューロンＣがスパイクする。
Ｔ＝２：位置ニューロンＢがスパイクする。
Ｔ＝３：運動ニューロンＢ→Ｃがスパイクし、位置ニューロンＡがスパイクする。
Ｔ＝４：運動ニューロンＡ→Ｂがスパイクする。
この例では、運動ニューロンＣ→Ｂ、及びＢ→Ａはスパイクしない。なぜならば、設定された軸索遅延によって、これらの運動ニューロンが２つのシナプス前スパイクを同時に受信できないからである。さらに、この例では、ＳＴＤＰが特定のシナプスに対して選択的に有効及び無効になってよい。例えば、図１２に示されるように、ネットワーク内の特定のシナプスでのみ、ＳＴＤＰが有効にされてよい。したがって、ＳＴＤＰが有効になったこれらのシナプスでのみ、ＳＴＤＰ学習ルールに基づいて、荷重が変化することになる。図１２の特定の例では、上記の活動パターンにより、ニューロンＢ（１２１０）からニューロンＢ→Ｃ（１２３０）へのシナプス、及びニューロンＡ（１２０５）からニューロンＡ→Ｂ（１２２０）へのシナプスで（ＳＴＤＰを介して）荷重が増加する。次の段階では、この荷重の増加で、ニューロンＢ（１２１０）からのスパイクが、ニューロンＣ（１２１５）において共起スパイクを必要とせずに、ニューロンＢ→Ｃ（１２３０）を、スパイキング閾値を超えた状態にすることができるようになる。同様に、ニューロンＡ→Ｂ（１２２０）は、ニューロンＢ（１２１０）からの共起スパイクなしで、ニューロンＡ（１２０５）からのスパイクだけによって、スパイキング閾値を超えた状態にされてよい。
【０１０３】
この例を続けると、実装態様によっては、ＳＮＮ内の全ての位置ニューロンのスパイキング閾値を上げるために、神経調節信号が送信されてよい。この信号が送信されると、位置ニューロン（例えば、１２０５、１２１０、１２１５）は、隣接する場所のニューロンにおけるシナプス前スパイクによって、スパイキング閾値を超えた状態にされなくてよい。指定されたターゲット位置への経路を発見するためのＳＮＮのトレーニングの後に、ニューロモーフィックコンピューティングデバイスに結合された自律型エージェントは、例えば、ＧＰＳモジュール、ビジュアルシーン認識エンジンなどの何らかの位置測定ロジックを通じて、環境から継続的に測定値を取得することで、自身の現在位置を判定することができる。これらの測定値は、システムによって、その現在位置を継続的に追跡するのに用いられてよい。一例として、自律型エージェント（すなわち、装置）は、自身が位置ニューロンＡ（１２０５）により表された特定の位置にいると判定することができる。エージェントがその特定の位置にいる限り、ニューロンＡ（１２０５）は、自身を、スパイキング閾値を超えた状態にする刺激を（例えば、位置測定ロジックから）受信することができる。本明細書で論じられた前述の例に見られるように、ニューロンＡの刺激がニューロンＡを活性化し、これにより、スパイクチェーンがニューロンＡからデスティネーションニューロン（例えば、ニューロンＣ）に送信されることになり得る。この例では、ニューロンＡからの（その刺激に基づく）あらゆるスパイクの後に、ニューロンＡ→Ｂ（１２２０）のスパイクが続くことになる。ニューロンＡ→Ｂ（１２２０）は事前に設定された移動方向（例えば、東の方へ）に対応するので、ニューロンＡ→Ｂ（１２２０）の活性化により、出力スパイクが、自律型エージェントの運動コントローラ又は他の方向コントローラに対して直接発火することになり得る。例えば、コントローラは、ニューロンＡ→Ｂ（１２２０）からスパイク信号を受信することができ、この移動方向及び（例えば、コンパスによって測定される）エージェントの現在の方向に基づいて、コントローラは対応する運動コマンドを生成することになる。エージェントは、ニューロンＢ（１２１０）により表された場所に達するまで、この方向に移動し続けることになる。この段階で、ニューロンＢ（１２１０）が、ニューロンＡ（１２０５）の代わりに（例えば、位置測定ロジックからの）外部信号によって刺激されてよく、これにより、ニューロンＢ→Ｃ（１２３０）が活性化されて、方向制御ロジックに信号を送信することになる。したがって、自律型エージェントは、ニューロンＢにより表された場所からニューロンＣにより表された場所の方へ移動させられてよい。ＳＮＮのロケーションサブネットを用いて、物理環境内の経路を定義するスパイクチェーンによって駆動されるこのシーケンスは、位置測定ロジックが、デスティネーションニューロン（例えば、この例ではニューロンＣ）に対応する位置内に現在位置していると判定するまで、繰り返されてよい。自律型エージェントがデスティネーションに達したと判定すると、全てのスパイキング閾値及び全てのシナプス荷重をそれらの初期値に戻すために、位置測定ロジックが、第２の神経調節信号を送信させるようにニューロモーフィックコンピューティングデバイスを促すことができる。いくつかある例の中でも特に、神経調節信号は無効になってよく、システムは、別の物理的な経路計算（及び、自律型エージェント装置による対応する移動）のためにリセットされてよい。
【０１０４】
図１３Ａ〜図１３Ｃは、様々なトポロジのネットワーク内の経路を決定するための、スパイキングニューラルネットワーク（ＳＮＮ）を含む例示的な技術を示すフローチャート１３００ａ〜ｃである。例えば、図１３Ａの例では、所与のネットワークトポロジを横断する最適経路を、ＳＮＮを用いて決定するための技術が示されている。例えば、特定のＳＮＮが（例えば、構成可能なニューロンパラメータ及びスパイクタイミング依存可塑性（ＳＴＤＰ）ルールを用いて、様々なＳＮＮのうちいずれか１つを実装することができる構成可能ニューロモーフィックコンピューティングデバイスをプログラムすることで）実装１３０５されてよい。ＳＮＮは、特定のネットワークトポロジをモデル化するように実装されてよい。さらに、ＳＮＮの構成及びパラメータが、ネットワークトポロジ内のノード間の最短経路又は最適経路を決定する際に用いる目的に、ＳＮＮを適合させるように設定されてよい。例えば、２つのノード間の各接続が、それぞれ１対のシナプス、つまり、ノードをモデル化するニューロン間の各方向に１つのシナプスを用いて実装されてよい。さらに、ＳＮＮ内のニューロンを相互接続するシナプスの各荷重は同じ荷重に設定されてよく、この荷重は最初に、任意の着信（シナプス前）スパイクが、それに応じて受信側ニューロンに発信（シナプス後）スパイクを生成させることを可能にすることができる。ＳＴＤＰルールが、各ニューロンにおいて、スパイク送信に不応期を強制するパラメータと共に定義されてよい。ＳＴＤＰルールと不応期の組み合わせにより、スパイク波が発生元ニューロンから外へ向かう特定の方向に（例えば、放射上に）伝搬し、ＳＴＤＰルールに従って、各シナプス対においてスパイク波でスパイクを伝える最初のシナプスでなかったこれらのシナプスの荷重を増やすことで、ＳＮＮをトレーニングすることになってよい。
【０１０５】
図１３Ａの例を続けると、ＳＮＮ内の複数のニューロンのうち第１のニューロンが活性化１３１０され、第１のニューロンによりモデル化されたネットワークノードをデスティネーションノードに指定してよい。第１のニューロンの活性化により、第１のニューロンは、そのすぐ隣のニューロンの全てにスパイクを送信することになり得、これにより、スパイクがさらに順に送信され、全てのニューロン（例えば、ＳＮＮで別のニューロンに接続されたニューロン（例えば、絶対ハザードノードをモデル化するニューロンなど、切り離されたニューロンを除く））がＳＮＮ内で接続されるまで伝搬し得るスパイク波を形成することになる。ＳＮＮの構成ごとに、ＳＴＤＰルールにより、ＳＮＮのシナプスの一部のシナプス荷重が調整１３１５されることになってよく、これにより、スパイク波の伝搬と逆方向に方向づけられたシナプス（すなわち、スパイク波の伝搬方向にスパイク波のスパイクを伝えたシナプス以外のシナプス）の荷重が増加する。これにより、ＳＮＮは、指定されたデスティネーションノード（及びその対応するニューロン）への経路を発見するように「トレーニング」されることになり得る。ＳＮＮはさらに、各ニューロンのスパイキング閾値パラメータの値を増やすことによりＳＮＮ内のニューロンの全てに影響を与える神経調節信号を送信１３２０することでトレーニングされてよい。スパイク電位増大の結果として、増加したシナプス荷重を有するシナプスで送信されたスパイクだけが、受信側ニューロンの増加したスパイキング閾値を満たせるのに十分な電位を供給することができ、これにより、ニューロンがニューロン自身のスパイクを送信することで、スパイクを伝搬することになる。
【０１０６】
ＳＮＮがトレーニングされると、第２のニューロンが活性化１３２５されてよく、第２のニューロンは、ソースノードを表すネットワークノードに対応する。第２のニューロンの活性化で、ＳＮＮ内に結果として生じるスパイクチェーンによってモデル化されるように、ソースノードからデスティネーションノードへの経路の計算を開始することができる。具体的には、ソースニューロンを活性化１３２５することで、トレーニングされたＳＮＮにスパイクが送信されることになり、スパイクが、ソースニューロンからデスティネーションニューロンへのシナプス（及びニューロン）の経路に沿って、スパイクチェーンの伝搬を引き起こす。スパイクチェーンの経路は、モデル化されたネットワークを横断する最短経路を表すことができる（その経路は、第２のニューロンの活性化１３２５により引き起こされたスパイクチェーンの伝搬に加わるニューロンによりモデル化されたノードを横断する）。例によっては、スパイクチェーンの経路の検出に基づいてネットワーク経路を表すデータが、生成１３３０されてよい。所与の経路の決定の後に、同じデスティネーションノードへの異なる経路が、異なるソースノードに対応する異なるニューロンを単に活性化することで、決定されてよい。異なるデスティネーションへの経路を決定することが望まれる場合、ネットワークをモデル化するＳＮＮは、最初にＳＮＮをリセットすることで（例えば、シナプス荷重をそれらの共通の初期値にリセットするために１つ又は複数の神経調節信号を送信して、ＳＮＮ内のニューロンの発火閾値をリセットすることで）再トレーニングされてよい。異なるデスティネーションノードに対応する別のニューロンを活性化することで、新たなデスティネーションが選択されてよく、これにより、この新たなデスティネーションノードへ向かう経路の決定などのためにＳＮＮが再トレーニングされる。
【０１０７】
図１３Ｂの例では、ＳＮＮが図１３Ａの例に類似した方式で実装１３４０されてよく、ＳＮＮは所与のネットワーク内の経路を測定する際に用いるために構成される。しかし図１３Ｂの例では、ＳＮＮによりモデル化されたネットワークは、物理的な２Ｄ環境又は３Ｄ環境を自身でモデル化するネットワークであってよい。図１３Ａの例に見られるように、環境内の物理位置（例えば、環境内の２Ｄ座標又は３Ｄ座標）のうち１つをモデル化する第１のニューロンが活性化１３４５され、対応する位置を所望のデスティネーションに指定して、デスティネーション位置への経路を決定する際に用いるため、スパイク波にＳＮＮをトレーニングさせてよい。スパイク波の伝搬方向と、図１３Ｂの例に見られるように、ＳＮＮの実装１３４０中に設定されたＳＴＤＰルールとに基づいて、シナプス荷重がＳＮＮの一部に対して調整１３５０されてよい。ＳＮＮ内のニューロンのスパイキング閾値電位パラメータを増大させるために、神経調節信号１３５５が設定されてもよい。次に、デスティネーション位置が、対応するニューロンを活性化１３６０することで指定され、活性化されたソースニューロンからその前に活性化されたデスティネーションニューロンへの経路に沿ってスパイクチェーンを伝搬させてよい。場合によっては、自律型装置の現在位置として識別されるデータが受信されてよく、このデータは、この位置に対応するソースニューロンを識別して活性化するのに用いられてよい。経路データが、生成１３６５され、スパイクチェーンの伝搬経路を表し、スパイクチェーンが伝搬したニューロンをニューロンによりモデル化された物理位置にマッピングしてよい。あるいは、経路データが、経路を横断するのに用いられる位置の相対的な変化を示すことができる。経路データは、コントローラがＳＮＮを用いて決定された経路に沿って物理環境を通る自律型装置の運動を追って方向づける際に用いるために、コントローラに送信１３７０されてよい。
【０１０８】
図１３Ｃの例では、ニューロモーフィックコンピューティングデバイスが、ＳＮＮを構成するために、１つ又は複数の人工ニューロンを実装し、人工ニューロン間のシナプスを定義するのにそれぞれ用いられ得るニューロモーフィック処理コア（例えば、各処理コアがそれぞれの演算処理装置及びローカルメモリを有する）のネットワークを含むことができる。図１３Ｃの例では、ニューロモーフィックコンピューティングデバイスの単一のコアが、ＳＮＮ内に複数のニューロンを実装することができ、複数のニューロンのそれぞれを実装するのに用いられるプロセス（例えば、樹状突起及び細胞体のモデル化プロセス）によって、コアのリソース（例えば、プロセッサリソース）に時間多重方式でアクセスすることができる。例示的なＳＮＮを用いて様々なニューロンを実装する複数のコアの様々なプロセスを同期するために、時間ステップが定義され、ニューロモーフィックコンピューティングデバイスと共に利用されてよい。例えば、時間ステップを開始するために、ニューロモーフィックコアが、（例えば、あらかじめ受信されたシナプス前スパイクに基づいて）送信されることになるスパイクを送信するニューロンを提供することができる。実装態様によっては、前の時間ステップにスケジューリングされた全てのスパイクが、次の時間ステップに移る前に伝達されていることを保証するために、時間同期化バリアプロセスが、ニューロモーフィックコンピューティングデバイスにより利用されてよい。これらのスパイクは、ＳＮＮ内のニューロンに任意の順番で到達し、（例えば、全て同じ時間ステップにおいて）受信側ニューロンで次の樹状突起及び細胞体のプロセスを引き起こしてよい。例えば、コアによって同時に実装された複数のニューロンのうち第１のニューロンが、送信することになる任意のスパイクを最初に送信してよい。次に、（例えば、入力ベクトルの一部又はスパイクメッセージとして、ニューロンに別の接続されたニューロンから提供された）入力が受信１３８０され、処理されてよい。例えば、時間ステップｎ＝０の間に、入力が第１のニューロンで受信１３８０されてよく、（例えば、ニューロンの発火電位閾値が増加して、その時間ステップの間に満たされた場合）対応するニューロモーフィックコアが（例えば、あらかじめ受信されたスパイクから、第１のニューロン用に構成されたパラメータに基づいて）、時間ステップｎ＝０の間に受信された入力に応答して、スパイクが第１のニューロンにより送信されるべきかを判定１３８２してよい。次に、コアが時間多重化を用いて、同じ時間ステップｎ＝０の間に（すなわち、時間ステップの別の部分で）コアによって実装されたニューロンのうち別の第２のニューロンに変わり、任意の入力（例えば、ＳＮＮ内の他のニューロンからの外部入力電流又はスパイクメッセージ）を処理１３８４し、任意のそのような入力により、ニューロンの電位がその発火閾値を満たすか、又は超えることになったかを判定して（（ＳＮＮの構成に応じて、同じ時間ステップ又は直後の時間ステップで）スパイクを送信させて）よい。任意の受信されたシナプス前スパイクを識別して、結果として生じる任意のシナプス後スパイクを判定するために、コアがＳＮＮ内に実装するニューロンの全てが処理されるまで、コアは、継続して時間ステップを分割し、その処理リソースを時間多重化することができる。場合によっては、スパイクの処理は、ＳＮＮに適用されたＳＴＤＰルールが、関連シナプスの荷重が調整されるべきと規定しているかを判定することを含んでよい。１つ又は複数のＳＴＤＰルールによるシナプス荷重の調整は、影響を受けたシナプスによりＳＮＮ内で接続されたニューロンを実装するニューロモーフィックコアにおいて、ニューロモーフィックコンピューティングデバイスによりニューロンレベルで実行されてよい。他の場合では、シナプス荷重の変更が、各時間ステップにおいて、ニューロモーフィックコンピューティングデバイス上にロジックを集中化することで、全体的に決定されてよい。全てのスパイクが処理されて（例えば、１３８８）、送信又は受信されると判定されると（また該当する場合は、シナプス荷重が調整されると）、ニューロモーフィックコンピューティングデバイスの仮想クロックが、先行する時間ステップを閉じて、次の時間ステップ（例えば、ｎ＋＋、又はこの例ではｎ＝１）を開く又はそこに進む１３９０ことができる。先行する時間ステップにおいても同様であるが、ニューロモーフィックコンピューティングデバイスのコアは、ニューロモーフィックコンピューティングデバイスにより実装されたニューロンごとにスパイクを送信及び受信し、ＳＮＮの実行が終了するまで、これらの時間ステップのそれぞれの中でコアリソースを時間多重化することができる。
【０１０９】
図１４〜図１５は、本明細書で開示された実施形態に従って用いられ得る例示的なコンピュータアーキテクチャのブロック図である。プロセッサ及びコンピューティングシステムに関して、当技術分野で知られる他のコンピュータアーキテクチャ設計も用いられてよい。概して、本明細書で開示された実施形態に関する好適なコンピュータアーキテクチャは、限定されないが、図１４〜図１５に示される構成を含むことができる。
【０１１０】
図１４は、一実施形態によるプロセッサの例示的な説明図である。プロセッサ１４００は、上記の実装態様に関連して用いられ得るハードウェアデバイスの種類に関する一例である。プロセッサ１４００は、マイクロプロセッサ、組み込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、マルチコアプロセッサ、シングルコアプロセッサ、又はコードを実行する他のデバイスなど、任意のタイプのプロセッサであってよい。１つのプロセッサ１４００だけが図１４に示されているが、処理要素は代替的に、図１４に示されるプロセッサ１４００を１つより多く含むことができる。プロセッサ１４００は、シングルスレッドコアであってよく、少なくとも１つの実施形態では、プロセッサ１４００は、１つより多くのハードウェアスレッドコンテキスト（又は「論理プロセッサ」）をコアごとに含むことができるという点で、マルチスレッドであってよい。
【０１１１】
図１４は、一実施形態に従って、プロセッサ１４００に結合されたメモリ１４０２も示す。メモリ１４０２は、当業者に知られているか、そうでなければ当業者に利用可能な、幅広い種類のメモリ（メモリ階層の様々なレイヤを含む）のうちいずれかであってよい。そのようなメモリ素子には、限定されないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のロジックブロック、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、及び電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）が含まれてよい。
【０１１２】
プロセッサ１４００は、本明細書で詳述されたアルゴリズム、プロセス、又は動作に関連した任意のタイプの命令を実行することができる。概して、プロセッサ１４００は、要素又は物品（例えば、データ）を、ある状態又は物から別の状態又は物に変えることができる。
【０１１３】
プロセッサ１４００によって実行される１つ又は複数の命令であってよいコード１４０４が、メモリ１４０２に格納されてよく、あるいは、ソフトウェア、ハードウェア、ファームウェア、若しくはこれらの任意の好適な組み合わせに、又は必要に応じて特定のニーズに基づき、任意の他の内部又は外部のコンポーネント、デバイス、要素、若しくはオブジェクトに格納されてよい。１つの例では、プロセッサ１４００が、コード１４０４により示される命令のプログラムシーケンスに従うことができる。各命令が、フロントエンドロジック１４０６に入り、１つ又は複数のデコーダ１４０８により処理される。デコーダは、その出力として、固定幅のマイクロオペレーションなどのマイクロオペレーションを、予め定義されたフォーマットで生成することができるか、又は他の命令、マイクロ命令、若しくは元のコード命令を反映する制御信号を生成することができる。フロントエンドロジック１４０６は、レジスタリネーミングロジック１４１０及びスケジューリングロジック１４１２も含み、これらは一般に、リソースを割り当て、命令に対応するオペレーションを実行のためにキューに入れる。
【０１１４】
プロセッサ１４００は、実行ユニット１４１６ａ、１４１６ｂ、１４１６ｎなどのセットを有する実行ロジック１４１４も含むことができる。実施形態によっては、特定の機能又は機能のセットに専用の複数の実行ユニットを含むことができる。他の実施形態は、１つの実行ユニットだけ、又は特定の機能を実行することができる１つの実行ユニットを含むことができる。実行ロジック１４１４は、コード命令により指定されたオペレーションを実行する。
【０１１５】
コード命令により指定されたオペレーションの実行が完了した後、バックエンドロジック１４１８がコード１４０４の命令をリタイアすることができる。１つの実施形態では、プロセッサ１４００は、アウトオブオーダ実行を可能にするが、命令のインオーダリタイアメントを必要とする。リタイアメントロジック１４２０は、様々な知られた形態（例えば、リオーダバッファなど）を取ることができる。この方式では、プロセッサ１４００は、少なくともデコーダにより生成された出力、レジスタリネーミングロジック１４１０により利用されたハードウェアレジスタ及びテーブル、並びに実行ロジック１４１４により変更された任意のレジスタ（不図示）の観点で、コード１４０４の実行中に変化する。
【０１１６】
図１４には示されていないが、処理要素が、プロセッサ１４００を備えたチップ上に他の要素を含むことができる。例えば、処理要素は、プロセッサ１４００と共にメモリ制御ロジックを含むことができる。処理要素は、Ｉ／Ｏ制御ロジックを含むことができ、及び／又は、メモリ制御ロジックに統合されたＩ／Ｏ制御ロジックを含むことができる。処理要素は、１つ又は複数のキャッシュも含むことができる。実施形態によっては、不揮発性メモリ（フラッシュメモリ又はヒューズなど）も、プロセッサ１４００を備えたチップ上に含まれてよい。
【０１１７】
図１５は、一実施形態によるポイントツーポイント（ＰｔＰ）構成で配置されたコンピューティングシステム１５００を示す。特に、図１５は、プロセッサ、メモリ、及び入力／出力装置が複数のポイントツーポイントインタフェースにより相互接続されているシステムを示す。概して、本明細書で説明されるコンピューティングシステムのうち１つ又は複数は、コンピューティングシステム１５００と同じ方式又は類似の方式で構成されてよい。
【０１１８】
プロセッサ１５７０及び１５８０はそれぞれ、メモリ素子１５３２及び１５３４と通信するための統合メモリコントローラロジック（ＭＣ）１５７２及び１５８２も含むことができる。代替的な実施形態では、メモリコントローラロジック１５７２及び１５８２は、プロセッサ１５７０及び１５８０から分離した別々のロジックであってよい。メモリ素子１５３２及び／又は１５３４は、本明細書で概説されたオペレーション及び機能を実現する際にプロセッサ１５７０及び１５８０により用いられる様々なデータを格納することができる。
【０１１９】
プロセッサ１５７０及び１５８０は、他の図に関連して論じられたプロセッサなど、任意のタイプのプロセッサであってよい。プロセッサ１５７０及び１５８０は、ポイントツーポイント（ＰｔＰ）インタフェース１５５０を介し、それぞれポイントツーポイントインタフェース回路１５７８及び１５８８を用いてデータを交換することができる。プロセッサ１５７０及び１５８０はそれぞれ、個々のポイントツーポイントインタフェース１５５２および１５５４を介し、ポイントツーポイントインタフェース回路１５７６、１５８６、１５９４、及び１５９８を用いて、チップセット１５９０とデータを交換することができる。チップセット１５９０も、高性能グラフィクスインタフェース１５３９を介し、ＰｔＰインタフェース回路であってよいインタフェース回路１５９２を用いて、高性能グラフィクス回路１５３８とデータを交換することができる。代替的な実施形態では、図１５に示されるＰｔＰリンクのいずれか又は全てが、ＰｔＰリンクではなくマルチドロップバスとして実装されることがある。
【０１２０】
チップセット１５９０は、インタフェース回路１５９６を介してバス１５２０と通信状態にあってよい。バス１５２０は、バスブリッジ１５１８及びＩ／Ｏデバイス１５１６など、バス１５２０を介して通信する１つ又は複数のデバイスを有することができる。バスブリッジ１５１８は、バス１５１０を介して、ユーザインタフェース１５１２（キーボード、マウス、タッチスクリーン、又は他の入力デバイスなど）、通信デバイス１５２６（モデム、ネットワークインタフェースデバイス、又はコンピュータネットワーク１５６０を通じて通信することができる他の種類の通信デバイスなど）、オーディオＩ／Ｏデバイス１５１４、及び／又はデータストレージデバイス１５２８などの他のデバイスと通信状態にあってよい。データストレージデバイス１５２８は、プロセッサ１５７０及び／又は１５８０により実行されてよいコード１５３０を格納することができる。代替的な実施形態では、バスアーキテクチャのあらゆる部分が、１つ又は複数のＰｔＰリンクで実装されてよい。
【０１２１】
図１５に示されるコンピュータシステムは、本明細書で論じられる様々な実施形態を実装するのに利用され得るコンピューティングシステムの一実施形態に関する概略説明図である。図１５に示されるシステムの様々なコンポーネントが、システムオンチップ（ＳｏＣ）アーキテクチャ、又は本明細書で提供された例及び実装態様の機能及び特徴を実現することができる任意の他の好適な構成に、組み合わされてよいことが理解されよう。例えば、そのようなシステムは、システム上の他の要素と相互接続された１つ又は複数のニューロモーフィックコンピューティングデバイスを含むことができる。
【０１２２】
本開示は、特定の実装態様及び概ね関連した方法の観点で説明されたが、これらの実装態様及び方法の変更例及び置換例が、当業者には明らかであろう。例えば、本明細書で説明された処置は説明されたものと異なる順序で実行することができ、それでもなお望ましい結果を実現することができる。１つの例として、添付図面に示されたプロセスは、所望の結果を実現するために、示された特定の順序又は順番を必ずしも必要としない。特定の実装態様では、マルチタスク及び並列処理が有利となる場合がある。さらに、他のユーザインタフェースのレイアウト及び機能がサポートされてよい。他の変形例は、以下の特許請求の範囲内に含まれる。
【０１２３】
本明細書は多数の特定の実装態様の詳細を含むが、これらは、あらゆる発明の範囲及び特許請求され得ることの範囲を限定するものと解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有の特徴を説明するものと解釈されるべきである。別個の実施形態の文脈で本明細書に説明される特定の特徴が、単一の実施形態に組み合わせて実装されてもよい。反対に、単一の実施形態の文脈で説明される様々な特徴が、複数の実施形態に別個に実装されるか、又は任意の好適なサブコンビネーションに実装されてもよい。さらに、これらの特徴が、特定の組み合わせで作用するように上述され、まさに最初にそのように特許請求される場合があるが、請求された組み合わせによる１つ又は複数の特徴が、場合によっては、その組み合わせから削除されてよく、請求された組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてよい。
【０１２４】
同様に、複数の動作が特定の順序で図面に示されているが、これによって、望ましい結果を実現するために、そのような動作が示された特定の順序で実行される、若しくは順番に実行されること、又は示された全ての動作が実行されることが必要とされていると理解されるべきではない。特定の状況では、マルチタスク及び並列処理が有利となる場合がある。さらに、上述された実施形態の様々なシステムコンポーネントの分離が、全ての実施形態においてそのような分離を必要としていると理解されるべきではなく、説明されたプログラムコンポーネント及びシステムは一般に、単一のソフトウェア製品に共に統合されてよく、又は複数のソフトウェア製品に組み合わされてよいことが理解されるべきである。
【０１２５】
以下の例は、本明細書による実施形態に関する。例１は、格納された命令を有する、機械がアクセス可能な記憶媒体であり、命令は機械に対して実行された場合、機械に、スパイキングニューラルネットワーク（ＳＮＮ）をニューロモーフィックコンピューティングデバイス上に実装されるように定義させることであって、ＳＮＮは、複数の人工ニューロン及び複数のニューロンを双方向に接続する複数の人工シナプスを含み、特定のネットワークをモデル化する、定義させることと、複数のニューロンのうち第１のニューロンへ第１の信号を送信させることであって、第１の信号によって、第１のニューロンは１つ又は複数の第１のスパイクをＳＮＮ内の隣接ニューロンに放出することになり、またスパイク波がネットワークを通じて伝搬することになり、複数のシナプスの一部の荷重がスパイク波に応答して、ＳＮＮ用に定義されたスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいて増加する、送信させることと、複数のニューロンのうち第２のニューロンへ第２の信号を送信させることであって、第２の信号によって、第２のニューロンは１つ又は複数の第２のスパイクメッセージをネットワーク内の隣接ニューロンに放出することになり、第２のスパイクメッセージによって、スパイクメッセージのチェーンが、シナプスの一部の荷重の増加に基づいて、シナプスの一部のサブセットを含む経路で第１のニューロンを伝搬することになる、送信させることと、経路が、第２のニューロンにより表された第１のネットワークノードから第１のニューロンにより表された第２のネットワークノードへの特定のネットワークにおける最短経路を含むと判定させることとを含む。
【０１２６】
例２は例１の主題を含んでよく、命令は実行された場合、さらに機械に、神経調節信号を複数のニューロンへ送信させ、複数のニューロンのそれぞれのスパイク電位閾値を増加させ、神経調節信号は第１の信号を送信した後に送信され、シナプスのサブセットによるスパイクメッセージのチェーンの伝搬はさらに、スパイク電位閾値の増加に基づいている。
【０１２７】
例３は例１から２のうちいずれか１つの主題を含んでよく、シナプスのサブセットは、スパイク波の伝搬と逆方向にスパイクを送信する。
【０１２８】
例４は例１から３のうちいずれか１つの主題を含んでよく、複数のニューロンにおける２つの隣接ニューロン間の各双方向接続がそれぞれのシナプス対を含み、２つの隣接ニューロンを接続する各シナプス対は、２つの隣接ニューロンのうち第１のニューロンから２つの隣接ニューロンのうち第２のニューロンへのそれぞれの第１のシナプスと、第２の隣接ニューロンから第１の隣接ニューロンへのそれぞれの第２のシナプスとを含む。
【０１２９】
例５は例４の主題を含んでよく、スパイク波のスパイクが、複数のシナプスのうち少なくとも１つによってＳＮＮ内の各シナプス対に送信され、スパイク波のスパイクのうち１つを最初に送信したシナプス対のシナプス以外のシナプス対のシナプスに対してだけ、ＳＴＤＰルールに従って荷重が増加する。
【０１３０】
例６は例５の主題を含んでよく、ＳＴＤＰルールは、所与のニューロンのシナプス後シナプスでスパイクが送信された後の持続時間内に、シナプス前シナプスにスパイクが到達した場合に、所与のニューロンのシナプス前シナプスの荷重が増加することを規定する。
【０１３１】
例７は例１から６のうちいずれか１つの主題を含んでよく、複数のシナプスの荷重は、スパイク波の開始前に共通の値に設定されている。
【０１３２】
例８は例７の主題を含んでよく、スパイク波のスパイクを受信することで、複数のニューロンのうちいずれか１つが活性化され、ニューロンが不応期に入っていない限り、ＳＮＮ内の１つ又は複数のそれぞれの隣接ニューロンに発信スパイクを送信することになり、不応期は複数のニューロンのそれぞれに対して実装されている。
【０１３３】
例９は例７から８のうちいずれか１つの主題を含んでよく、命令は実行された場合、さらに機械に、スパイクチェーンの伝搬後に神経調節信号を送信させ、複数のシナプスの荷重をリセットする。
【０１３４】
例１０は例９の主題を含んでよく、命令は実行された場合、さらに機械に、複数のニューロンのうち第３のニューロンを活性化する別の信号を送信させ、第３のニューロンの活性化によって、第３のニューロンから外へ向かう別のスパイク波の伝搬をＳＮＮにもたらし、複数のシナプスの異なるサブセットの荷重が、その他のスパイク波の伝搬に基づいて増加する。
【０１３５】
例１１は、スパイキングニューラルネットワーク（ＳＮＮ）をニューロモーフィックコンピューティングデバイス上に実装されるように定義する段階であって、ＳＮＮは、複数の人工ニューロン及び複数のニューロンを双方向に接続する複数の人工シナプスを含み、特定のネットワークをモデル化する、定義する段階と、複数のニューロンのうち第１のニューロンへ第１の信号を送信する段階であって、第１の信号によって、第１のニューロンは１つ又は複数の第１のスパイクをＳＮＮ内の隣接ニューロンに放出することになり、またスパイク波がネットワークを通じて伝搬することになり、複数のシナプスの一部の荷重がスパイク波に応答して、ＳＮＮ用に定義されたスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいて増加する、送信する段階と、複数のニューロンのうち第２のニューロンへ第２の信号を送信する段階であって、第２の信号によって、第２のニューロンは１つ又は複数の第２のスパイクメッセージをネットワーク内の隣接ニューロンに放出することになり、第２のスパイクメッセージによって、スパイクメッセージのチェーンが、シナプスの一部の荷重の増加に基づいて、シナプスの一部のサブセットを含む経路で第１のニューロンを伝搬することになる、送信する段階と、経路が、第２のニューロンにより表された第１のネットワークノードから第１のニューロンにより表された第２のネットワークノードへの特定のネットワークにおける最短経路を含むと判定する段階とを含む方法である。
【０１３６】
例１２は例１１の主題を含んでよく、さらに、神経調節信号を複数のニューロンに送信し、複数のニューロンのそれぞれのスパイク電位閾値を増加させる段階を含み、神経調節信号は第１の信号を送信した後に送信され、シナプスのサブセットによるスパイクメッセージのチェーンの伝搬はさらに、スパイク電位閾値の増加に基づいている。例１３は例１１から１２のうちいずれか１つの主題を含んでよく、シナプスのサブセットは、スパイク波の伝搬と逆方向にスパイクを送信する。
【０１３７】
例１４は例１１から１３のうちいずれか１つの主題を含んでよく、複数のニューロンにおける２つの隣接ニューロン間の各双方向接続がそれぞれのシナプス対を含み、２つの隣接ニューロンを接続する各シナプス対は、２つの隣接ニューロンのうち第１のニューロンから２つの隣接ニューロンのうち第２のニューロンへのそれぞれの第１のシナプスと、第２の隣接ニューロンから第１の隣接ニューロンへのそれぞれの第２のシナプスとを含む。
【０１３８】
例１５は例１４の主題を含んでよく、スパイク波のスパイクが、複数のシナプスのうち少なくとも１つによってＳＮＮ内の各シナプス対に送信され、スパイク波のスパイクのうち１つを最初に送信したシナプス対のシナプス以外のシナプス対のシナプスに対してだけ、ＳＴＤＰルールに従って荷重が増加する。
【０１３９】
例１６は例１５の主題を含んでよく、ＳＴＤＰルールは、所与のニューロンのシナプス後シナプスでスパイクが送信された後の持続時間内に、シナプス前シナプスにスパイクが到達した場合に、所与のニューロンのシナプス前シナプスの荷重が増加することを規定する。
【０１４０】
例１７は例１１から１６のうちいずれか１つの主題を含んでよく、複数のシナプスの荷重は、スパイク波の開始前に共通の値に設定されている。
【０１４１】
例１８は例１７の主題を含んでよく、スパイク波のスパイクを受信することで、複数のニューロンのうちいずれか１つが活性化され、ニューロンが不応期に入っていない限り、ＳＮＮ内の１つ又は複数のそれぞれの隣接ニューロンに発信スパイクを送信することになり、不応期は複数のニューロンのそれぞれに対して実装されている。
【０１４２】
例１９は例１７から１８のうちいずれか１つの主題を含んでよく、さらに、スパイクチェーンの伝搬後に神経調節信号を送信し、複数のシナプスの荷重をリセットする段階を含む。
【０１４３】
例２０は例１９の主題を含んでよく、さらに、複数のニューロンのうち第３のニューロンを活性化する別の信号を送信する段階を含み、第３のニューロンの活性化によって、第３のニューロンから外へ向かう別のスパイク波の伝搬をＳＮＮにもたらし、複数のシナプスの異なるサブセットの荷重が、その他のスパイク波の伝搬に基づいて増加する。
【０１４４】
例２１は、ルーティングファブリック及び複数のニューロモーフィックコアを含むニューロモーフィックコンピューティングデバイスを含んだ装置であり、複数のニューロモーフィックコアの少なくとも１つのサブセットがそれぞれ、複数の人工ニューロンのうち１つ又は複数をスパイキングニューラルネットワーク（ＳＮＮ）に実装して、特定のネットワークトポロジをモデル化し、ＳＮＮ内の各ニューロンが、特定のネットワークトポロジ内の複数のノードのそれぞれのノードをモデル化する。ニューロモーフィックコンピューティングデバイスはさらに、複数のニューロンのうち第１のニューロンを活性化するために第１の信号をルーティングすることであって、第１のニューロンは複数のノードのうち第１のノードに対応し、第１のニューロンの活性化に基づいてスパイク波を生成し、スパイク波は第１のニューロンから伝搬して、ＳＮＮ内の人工シナプスの第１のサブセットで複数のニューロンの他のニューロンに伝搬し、人工シナプスはルーティングファブリックを用いて実装される、ルーティングすること、スパイク波の伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいてシナプスの第２のサブセットのシナプス荷重を調整することであって、シナプスの第２のサブセットはシナプスの第１のサブセット以外のＳＮＮ内のシナプスを含む、調整することと、複数の人工ニューロンのうち第２のニューロンを活性化するために第２の信号をルーティングすることであって、第２のニューロンは複数のノードのうち第２のノードに対応する、ルーティングすること、第２の信号に基づいて、第２のニューロンから生じるスパイクチェーンを生成することであって、スパイクチェーンは、第２のニューロンから第１のニューロンへの経路に沿って伝搬し、経路は、シナプスの第２のサブセットの一部を含む、生成することとを含む。
【０１４５】
例２２は例２１の主題を含んでよく、特定のネットワークトポロジは、ランダムネットワークトポロジ、スモールワールドネットワークトポロジ、スケールフリーネットワークトポロジ、階層ネットワークトポロジ、及び空間組み込みネットワークトポロジのうち１つである。
【０１４６】
例２３は例２１から２２のうちいずれか１つの主題を含んでよく、特定のネットワークトポロジは物理環境をモデル化する。
【０１４７】
例２４は例２１から２３のうちいずれか１つの主題を含んでよく、ニューロモーフィックコンピューティングデバイスはさらに、経路を表す経路データを生成するためのロジックを含む。
【０１４８】
例２５は例２４の主題を含んでよく、ニューロモーフィックコンピューティングデバイスはさらに、経路データを別のシステムに出力するためのインタフェースを含む。
【０１４９】
例２６は例２１から２５のうちいずれか１つの主題を含んでよく、複数のニューロモーフィックコアは、ニューロモーフィックコアのメッシュとして、ルーティングファブリックにより相互接続されている。
【０１５０】
例２７は例２１から２６のうちいずれか１つの主題を含んでよく、ニューロモーフィックコンピューティングデバイスは、１つ又は複数のルーティングテーブルを格納するための１つ又は複数のメモリ素子を含み、ＳＮＮのシナプスの少なくとも一部は、１つ又は複数のルーティングテーブルを用いて定義されている。
【０１５１】
例２８は例２１から２７のうちいずれか１つの主題を含んでよく、複数のニューロモーフィックコアの各ニューロモーフィックコアは、それぞれの処理リソースと、１つ又は複数の人工ニューロンを実装するためのロジックとを含む。
【０１５２】
例２９は例２８の主題を含んでよく、１つ又は複数のニューロンをＳＮＮに実装するためのロジックは、それぞれのニューロモーフィックコアにより実装されるニューロンごとに、細胞体プロセスと１つ又は複数の樹状突起プロセスとを含む。
【０１５３】
例３０は例２８から２９のうちいずれか１つの主題を含んでよく、各ニューロモーフィックコアは、複数の人工ニューロンのうち２つ又はそれより多くを実装する。
【０１５４】
例３１は例３０の主題を含んでよく、ニューロモーフィックコアは、それぞれのニューロモーフィックコアの処理リソースに時間多重方式でアクセスし、２つ又はそれより多くの人工ニューロンを同時に実装する。
【０１５５】
例３２は、例１１から２０のうちいずれか１つの方法を実行する手段を含むシステムである。
【０１５６】
例３３は、格納された命令を有する、機械がアクセス可能な記憶媒体であり、命令は機械に対して実行された場合、機械に、スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義させることであって、ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義させることと、複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信させることであって、第１の信号は、複数の位置の第１の位置をデスティネーション位置に指定し、第１のニューロンを活性化することで、スパイク波が第１のニューロンから複数のニューロンの他のニューロンに伝搬することになり、スパイク波の伝搬によって、複数のシナプスのサブセットのシナプス荷重がＳＴＤＰルールに基づいて増加することになり、複数のシナプスのサブセットは、スパイク波の伝搬と反対の方向にスパイクを送信するシナプスを含む、送信させることと、複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信させることであって、第２の信号はスパイク波の伝搬後に送信され、複数の位置の第２の位置を開始位置に指定し、第２のニューロンの活性化によって、スパイクチェーンが第２のニューロンから第１のニューロンへの経路に沿って伝搬することになる、送信させることと、開始位置からデスティネーション位置への物理経路を経路に基づいて自律型装置にナビゲートさせる第３の信号を、自律型装置のコントローラへ送信させることとを含む。
【０１５７】
例３４は例３３の主題を含んでよく、複数のニューロンのそれぞれは、複数の位置のそれぞれの位置に対応し、第１のニューロンは第１の位置に対応するように定義されており、第２のニューロンは第２の位置に対応するように定義されている。
【０１５８】
例３５は例３４の主題を含んでよく、スパイクチェーンは、複数のシナプスのサブセットの一部によって、複数のニューロンのサブセットに伝搬し、経路は、複数のニューロンのサブセットにより表された位置に沿った経路を含む。
【０１５９】
例３６は例３３から３５のうちいずれか１つの主題を含んでよく、ＳＮＮは、物理環境内の座標に対応する格子型ネットワークをモデル化するように定義されている。
【０１６０】
例３７は例３６の主題を含んでよく、格子型ネットワークは、２次元物理空間をモデル化する２次元格子、及び３次元物理空間をモデル化する３次元格子のうち一方を含む。
【０１６１】
例３８は例３３から３７のうちいずれか１つの主題を含んでよく、命令は実行された場合、さらに機械に、スパイク波の伝搬後に神経調節信号を送信させ、複数のニューロンのそれぞれについてスパイキング閾値電位パラメータの増加をもたらす。
【０１６２】
例３９は例３３から３８のうちいずれか１つの主題を含んでよく、命令は実行された場合、さらに機械に、第１の信号及び第２の信号の後に第４の信号を送信させることであって、第４の信号は複数の人工ニューロンのうち第３のニューロンを活性化させ、第４の信号は第３の位置に対応する第３の位置を異なる開始位置に指定し、第３のニューロンの活性化によって、別のスパイクチェーンが第３のニューロンから第１のニューロンへの特定の経路に沿って伝搬することになる、送信させることと、第３の位置からデスティネーション位置への経路を、特定の経路に基づいて決定させることとを含む。
【０１６３】
例４０は例３３から３９のうちいずれか１つの主題を含んでよく、複数のニューロンにおける２つの隣接ニューロン間の各双方向接続がそれぞれのシナプス対を含み、２つの隣接ニューロンを接続する各シナプス対は、２つの隣接ニューロンのうち第１のニューロンから２つの隣接ニューロンのうち第２のニューロンへのそれぞれの第１のシナプスと、第２の隣接ニューロンから第１の隣接ニューロンへのそれぞれの第２のシナプスとを含む。
【０１６４】
例４１は例４０の主題を含んでよく、スパイク波のスパイクが、複数のシナプスのうち少なくとも１つによってＳＮＮ内の各シナプス対に送信され、スパイク波のスパイクのうち１つを最初に送信したシナプス対のシナプス以外のシナプス対のシナプスに対してだけ、ＳＴＤＰルールに従って荷重が増加する。
【０１６５】
例４２は例４１の主題を含んでよく、ＳＴＤＰルールは、所与のニューロンのシナプス後シナプスでスパイクが送信された後の持続時間内に、シナプス前シナプスにスパイクが到達した場合に、所与のニューロンのシナプス前シナプスの荷重が増加することを規定する。
【０１６６】
例４３は例３３から４２のうちいずれか１つの主題を含んでよく、複数のシナプスの荷重は、スパイク波の開始前に共通の値に設定されている。
【０１６７】
例４４は例４３の主題を含んでよく、スパイク波のスパイクを受信することで、複数のニューロンのうちいずれか１つが活性化され、ニューロンが不応期に入っていない限り、ＳＮＮ内の１つ又は複数のそれぞれの隣接ニューロンに発信スパイクを送信することになり、不応期は複数のニューロンのそれぞれに対して実装されている。
【０１６８】
例４５は、スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義する段階であって、ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義する段階と、複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信する段階であって、第１の信号は、複数の位置の第１の位置をデスティネーション位置に指定し、第１のニューロンを活性化することで、スパイク波が第１のニューロンから複数のニューロンの他のニューロンに伝搬することになり、スパイク波の伝搬によって、複数のシナプスのサブセットのシナプス荷重がＳＴＤＰルールに基づいて増加することになり、複数のシナプスのサブセットは、スパイク波の伝搬と反対の方向にスパイクを送信するシナプスを含む、送信する段階と、複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信する段階であって、第２の信号はスパイク波の伝搬後に送信され、複数の位置の第２の位置を開始位置に指定し、第２のニューロンの活性化によって、スパイクチェーンが第２のニューロンから第１のニューロンへの経路に沿って伝搬することになる、送信する段階と、開始位置からデスティネーション位置への物理経路を経路に基づいて自律型装置にナビゲートさせる第３の信号を、自律型装置のコントローラへ送信する段階とを含む方法である。
【０１６９】
例４６は例４５の主題を含んでよく、複数のニューロンのそれぞれは、複数の位置のそれぞれの位置に対応し、第１のニューロンは第１の位置に対応するように定義されており、第２のニューロンは第２の位置に対応するように定義されている。
【０１７０】
例４７は例４６の主題を含んでよく、スパイクチェーンは、複数のシナプスのサブセットの一部によって、複数のニューロンのサブセットに伝搬し、経路は、複数のニューロンのサブセットにより表された位置に沿った経路を含む。
【０１７１】
例４８は例４５から４７のうちいずれか１つの主題を含んでよく、ＳＮＮは、物理環境内の座標に対応する格子型ネットワークをモデル化するように定義されている。
【０１７２】
例４９は例４８の主題を含んでよく、格子型ネットワークは、２次元物理空間をモデル化する２次元格子、及び３次元物理空間をモデル化する３次元格子のうち一方を含む。
【０１７３】
例５０は例４５から４９のうちいずれか１つの主題を含んでよく、さらに、スパイク波の伝搬後に神経調節信号を送信し、複数のニューロンのそれぞれについてスパイキング閾値電位パラメータの増加をもたらす段階を含む。
【０１７４】
例５１は例４５から５０のうちいずれか１つの主題を含んでよく、さらに、第１の信号及び第２の信号の後に第３の信号を送信する段階であって、第３の信号は複数の人工ニューロンのうち第３のニューロンを活性化させ、第３の信号は第３の位置に対応する第３の位置を異なる開始位置に指定し、第３のニューロンの活性化によって、別のスパイクチェーンが第３のニューロンから第１のニューロンへの特定の経路に沿って伝搬することになる、送信する段階と、第３の位置からデスティネーション位置への経路を、特定の経路に基づいて決定する段階とを含む。
【０１７５】
例５２は、ルーティングファブリック及び複数のニューロモーフィックコアを含むニューロモーフィックコンピューティングデバイスを含んだ装置であり、複数のニューロモーフィックコアの少なくとも１つのサブセットがそれぞれ、複数の人工ニューロンのうち１つ又は複数をスパイキングニューラルネットワーク（ＳＮＮ）に実装して、物理環境をモデル化し、ＳＮＮ内の各ニューロンが、物理環境内の複数の位置のそれぞれの位置をモデル化する。ニューロモーフィックコンピューティングデバイスはさらに、複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号をルーティングし、第１のニューロンは複数の位置のうち第１の位置に対応し、第１のニューロンの活性化に応答して第１のニューロンにより送信されるスパイクの第１のセットを生成し、スパイクの第１のセットによって、ＳＮＮ内にスパイク波がもたらされ、ＳＮＮ内の複数の人工シナプスによって複数のニューロンの他のニューロンにスパイク波を伝搬し、複数の人工シナプスはルーティングファブリックを用いて実装され、複数のシナプスのサブセットのシナプス荷重を、スパイク波の伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいて調整し、複数のシナプスのサブセットは、スパイク波の伝搬と反対の方向にスパイクを送信するシナプスを含み、複数の人工ニューロンの第２のニューロンを活性化する第２の信号をルーティングし、第２のニューロンは複数の位置のうち第２の位置に対応し、第２のニューロンの活性化に応答して第２のニューロンにより送信されるスパイクの第２のセットを生成し、複数のシナプスのサブセットの一部を横断してスパイクチェーンを伝搬し、スパイクチェーンはスパイクの第２のセットにより引き起こされ、スパイクチェーンは、複数のシナプスのサブセットの一部により定義された経路に沿って、ＳＮＮ内の第２のニューロンから第１のニューロンに伝搬する。
【０１７６】
例５３は例５２の主題を含んでよく、ニューロモーフィックコンピューティングデバイスはさらに、経路を表すデータを生成するためのロジックを含み、経路は、複数のニューロンのサブセットを含み、複数のニューロンサブセットによりモデル化された位置を含む物理環境内の経路に対応する。
【０１７７】
例５４は例５２から５３のうちいずれか１つの主題を含んでよく、ニューロモーフィックコンピューティングデバイスはさらに、ＳＮＮ内の複数のニューロンのうち少なくとも１つをハザードニューロンとして実装し、物理環境内のハザード位置をモデル化する。
【０１７８】
例５５は例５４の主題を含んでよく、ハザード位置は絶対ハザードを含み、ハザードニューロンは、ＳＮＮ内の他のニューロンから切り離されるように実装されており、スパイク波を受信することがない。
【０１７９】
例５６は例５４の主題を含んでよく、ニューロモーフィックコンピューティングデバイスはハザードニューロンを実装し、これにより、ハザードニューロンは、ハザードニューロンで受信されるシナプス前スパイクに応答して、シナプス後スパイクの送信を遅延させることになる。
【０１８０】
例５７は例５６の主題を含んでよく、遅延は、ハザードニューロンの軸索遅延パラメータを増加させることで実施される。
【０１８１】
例５８は例５６の主題を含んでよく、遅延は、ハザードニューロンに対応する抑制性介在ニューロンを提供し、ハザードニューロンで神経抑制をモデル化することで実施される。
【０１８２】
例５９は例５６から５８のうちいずれか１つの主題を含んでよく、遅延の長さは、ハザード位置の重大度に対応する。
【０１８３】
例６０は例５２から５９のうちいずれか１つの主題を含んでよく、第１の信号は複数の第１の信号を含み、複数の第１の信号は、第１のニューロン及び少なくとも第３のニューロンを含むデスティネーションニューロンのセットにルーティングされ、スパイク波はデスティネーションニューロンのセットの各ニューロンで生成されたスパイクによって引き起こされる。
【０１８４】
例６１は例６０の主題を含んでよく、デスティネーションニューロンのセットの第２の部分より優れたデスティネーションニューロンのセットの第１の部分の相対的な望ましさをモデル化するために、スパイク波を引き起こすスパイクの第１の部分が、スパイク波を引き起こすスパイクの第２の部分の前の時間に送信され、スパイクの第１の部分はデスティネーションニューロンの第１の部分により送信され、スパイクの第２の部分はデスティネーションニューロンの第２の部分により送信される。
【０１８５】
例６２は例６１の主題を含んでよく、時間の長さは、相対的な望ましさの差異の度合いに対応する。
【０１８６】
例６３は例５２から６２のうちいずれか１つの主題を含んでよく、経路はＳＮＮ経路を含み、装置はさらに特定のデバイスを含み、特定のデバイスは、ＳＮＮ経路に基づく入力を受け取り、この入力に基づいて、物理環境内の物理経路に沿って特定のデバイスの運動を方向づけるための運動制御装置を含む。
【０１８７】
例６４は例６３の主題を含んでよく、特定のデバイスはロボットを含む。
【０１８８】
例６５は例６３の主題を含んでよく、特定のデバイスはドローンを含む。
【０１８９】
例６６は例６３の主題を含んでよく、特定のデバイスは自律走行車両を含む。
【０１９０】
例６７は例６３から６６のうちいずれか１つの主題を含んでよく、特定のデバイスは、第２の信号を第２のニューロンにルーティングさせるために、開始位置を決定して、ニューロモーフィックコンピューティングデバイスにデータを提供するためのロジックを含む。
【０１９１】
例６８は、例５２から６７のうちいずれか１つの主題を含んでよく、スパイク波を引き起こすスパイクの第１のセットは、特定の時間ステップにおいて共に送信される。
【０１９２】
例６９は、例５２から６８のうちいずれか１つの主題を含んでよく、スパイキングニューラルネットワークは、ニューロモーフィックコアのネットワークを含むニューロモーフィックコンピューティングデバイスを用いて実装される。
【０１９３】
例７０は例６９の主題を含んでよく、ニューロモーフィックコアのネットワークは、複数のニューロモーフィックコアであって、複数のニューロモーフィックコアの各ニューロモーフィックコアは、それぞれの処理リソース、及び１つ又は複数の人工ニューロンを実装するためのロジックを含む、複数のニューロモーフィックコアと、複数のニューロモーフィックコアを用いて実装された人工ニューロン間にスパイキングメッセージをルーティングする１つ又は複数のルータと、スパイキングニューラルネットワーク内の複数の人工ニューロンの相互接続を定義するデータを含むメモリとを含む。
【０１９４】
例７１は例７０の主題を含んでよく、各ニューロモーフィックコアは、複数の人工ニューロンのうち２つ又はそれより多くを実装する。
【０１９５】
例７２は例７１の主題を含んでよく、ニューロモーフィックコアは、それぞれのニューロモーフィックコアの処理リソースに時間多重方式でアクセスし、２つ又はそれより多くの人工ニューロンを同時に実装する。
【０１９６】
例７３は、例４５から５１のうちいずれか１つの方法を実行する手段を含むシステムである。
【０１９７】
こうして、主題に関する特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲内に含まれる。場合によっては、特許請求の範囲に記載の処置が異なる順序で実行されてよく、それでもなお望ましい結果を実現することができる。さらに、添付図面に示されたプロセスは、望ましい結果を実現するために、示された特定の順序又は順番を必ずしも必要としない。
【図１】
2018136918.tif 000013
【図２Ａ】
2018136918.tif 000014
【図２Ｂ】
2018136918.tif 000015
【図２Ｃ】
2018136918.tif 000016
【図３Ａ】
2018136918.tif 000017
【図３Ｂ】
2018136918.tif 000018
【図４Ａ】
2018136918.tif 000019
【図４Ｂ】
2018136918.tif 000020
【図５Ａ】
2018136918.tif 000021
【図５Ｂ】
2018136918.tif 000022
【図５Ｃ】
2018136918.tif 000023
【図５Ｄ】
2018136918.tif 000024
【図５Ｅ】
2018136918.tif 000025
【図５Ｆ】
2018136918.tif 000026
【図５Ｇ】
2018136918.tif 000027
【図５Ｈ】
2018136918.tif 000028
【図６Ａ】
2018136918.tif 000029
【図６Ｂ】
2018136918.tif 000030
【図７】
2018136918.tif 000031
【図８Ａ】
2018136918.tif 000032
【図８Ｂ】
2018136918.tif 000033
【図９Ａ】
2018136918.tif 000034
【図９Ｂ】
2018136918.tif 000035
【図１０Ａ】
2018136918.tif 000036
【図１０Ｂ】
2018136918.tif 000037
【図１０Ｃ】
2018136918.tif 000038
【図１１Ａ】
2018136918.tif 000039
【図１１Ｂ】
2018136918.tif 000040
【図１１Ｃ】
2018136918.tif 000041
【図１１Ｄ】
2018136918.tif 000042
【図１１Ｅ】
2018136918.tif 000043
【図１１Ｆ】
2018136918.tif 000044
【図１２】
2018136918.tif 000045
【図１３Ａ】
2018136918.tif 000046
【図１３Ｂ】
2018136918.tif 000047
【図１３Ｃ】
2018136918.tif 000048
【図１４】
2018136918.tif 000049
【図１５】
2018136918.tif 000050
【手続補正書】
【提出日】平成30年4月16日(2018.4.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義する手順であって、前記ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義する手順と、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信する手順であって、前記第１の信号は、前記複数の位置の第１の位置をデスティネーション位置に指定し、前記第１のニューロンを活性化することで、スパイク波が前記第１のニューロンから前記複数の人工ニューロンの他のニューロンに伝搬することになり、前記スパイク波の伝搬によって、前記複数の人工シナプスのサブセットのシナプス荷重が前記ＳＴＤＰルールに基づいて増加することになり、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含む、送信する手順と、
前記複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信する手順であって、前記第２の信号は前記スパイク波の伝搬後に送信され、前記複数の位置の第２の位置を開始位置に指定し、前記第２のニューロンの活性化によって、スパイクチェーンが前記第２のニューロンから前記第１のニューロンへの経路に沿って伝搬することになる、送信する手順と、
前記開始位置から前記デスティネーション位置への物理経路を前記経路に基づいて自律型装置にナビゲートさせる第３の信号を、前記自律型装置のコントローラへ送信する手順と
を機械に実行させるためのプログラム。
【請求項２】
前記複数の人工ニューロンのそれぞれは、前記複数の位置のそれぞれの位置に対応し、前記第１のニューロンは前記第１の位置に対応するように定義されており、前記第２のニューロンは前記第２の位置に対応するように定義されている、請求項１に記載のプログラム。
【請求項３】
前記スパイクチェーンは、前記複数の人工シナプスの前記サブセットの一部によって、前記複数の人工ニューロンのサブセットに伝搬し、前記経路は、前記複数の人工ニューロンのサブセットにより表された位置に沿った経路を含む、請求項２に記載のプログラム。
【請求項４】
前記ＳＮＮは、前記物理環境の座標に対応する格子型ネットワークをモデル化するように定義されている、請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
前記格子型ネットワークは、２次元物理空間をモデル化する２次元格子、及び３次元物理空間をモデル化する３次元格子のうち一方を含む、請求項４に記載のプログラム。
【請求項６】
前記スパイク波の伝搬後にさらに神経調節信号を機械に送信させて、前記複数の人工ニューロンのそれぞれについてスパイキング閾値電位パラメータの増加をもたらす、請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
前記第１の信号及び前記第２の信号の後に第４の信号を送信する手順であって、前記第４の信号は前記複数の人工ニューロンのうち第３のニューロンを活性化させ、前記第４の信号は第３の位置に対応する第３の位置を異なる開始位置に指定し、前記第３のニューロンの活性化によって、別のスパイクチェーンが前記第３のニューロンから前記第１のニューロンへの特定の経路に沿って伝搬することになる、送信する手順と、
前記第３の位置から前記デスティネーション位置への経路を、前記特定の経路に機械基づいて決定する手順と
をさらに機械に実行させる、請求項１から６のいずれか一項に記載のプログラム。
【請求項８】
スパイクタイミング依存可塑性（ＳＴＤＰ）ルールをスパイキングニューラルネットワーク（ＳＮＮ）に適用されるように定義する段階であって、前記ＳＮＮは、複数のニューロンの各ニューロンを双方向に接続して、物理環境内の複数の位置をモデル化するための複数の人工シナプスを含む、定義する段階と、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号を送信する段階であって、前記第１の信号は、前記複数の位置の第１の位置をデスティネーション位置に指定し、前記第１のニューロンを活性化することで、スパイク波が前記第１のニューロンから前記複数の人工ニューロンの他のニューロンに伝搬することになり、前記スパイク波の伝搬によって、前記複数の人工シナプスのサブセットのシナプス荷重が前記ＳＴＤＰルールに基づいて増加することになり、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含む、送信する段階と、
前記複数の人工ニューロンのうち第２のニューロンを活性化する第２の信号を送信する段階であって、前記第２の信号は前記スパイク波の伝搬後に送信され、前記複数の位置の第２の位置を開始位置に指定し、前記第２のニューロンの活性化によって、スパイクチェーンが前記第２のニューロンから前記第１のニューロンへの経路に沿って伝搬することになる、送信する段階と、
前記開始位置から前記デスティネーション位置への物理経路を前記経路に基づいて自律型装置にナビゲートさせる第３の信号を、前記自律型装置のコントローラへ送信する段階と
を備える方法。
【請求項９】
ルーティングファブリックと
複数のニューロモーフィックコアであって、前記複数のニューロモーフィックコアの少なくとも１つのサブセットが、スパイキングニューラルネットワーク（ＳＮＮ）内の複数の人工ニューロンのうち１つ又は複数をそれぞれ実装して物理環境をモデル化し、前記ＳＮＮ内の各ニューロンは前記物理環境内の複数の位置のそれぞれの位置をモデル化する、複数のニューロモーフィックコアと
を含むニューロモーフィックコンピューティングデバイスを備え、
前記ニューロモーフィックコンピューティングデバイスは、
複数の人工ニューロンのうち第１のニューロンを活性化する第１の信号をルーティングし、前記第１のニューロンは前記複数の位置のうち第１の位置に対応し、
前記第１のニューロンの活性化に応答して前記第１のニューロンにより送信されるスパイクの第１のセットを生成し、前記スパイクの第１のセットによって、前記ＳＮＮ内にスパイク波がもたらされ、
前記ＳＮＮ内の複数の人工シナプスによって前記複数の人工ニューロンの他のニューロンに前記スパイク波を伝搬し、前記複数の人工シナプスは前記ルーティングファブリックを用いて実装され、
前記複数の人工シナプスのサブセットのシナプス荷重を、前記スパイク波の伝搬及びスパイクタイミング依存可塑性（ＳＴＤＰ）ルールに基づいて調整し、前記複数の人工シナプスの前記サブセットは、前記スパイク波の前記伝搬と反対の方向にスパイクを送信するシナプスを含み、
前記複数の人工ニューロンの第２のニューロンを活性化する第２の信号をルーティングし、前記第２のニューロンは前記複数の位置のうち第２の位置に対応し、
前記第２のニューロンの活性化に応答して前記第２のニューロンにより送信されるスパイクの第２のセットを生成し、
前記複数の人工シナプスの前記サブセットの一部を横断してスパイクチェーンを伝搬し、前記スパイクチェーンは前記スパイクの第２のセットにより引き起こされ、前記スパイクチェーンは、前記複数の人工シナプスの前記サブセットの前記一部により定義された経路に沿って、前記ＳＮＮ内の前記第２のニューロンから前記第１のニューロンに伝搬する、
装置。
【請求項１０】
前記ニューロモーフィックコンピューティングデバイスはさらに、前記経路を表すデータを生成するためのロジックを備え、前記経路は、前記複数の人工ニューロンのサブセットを含み、前記複数の人工ニューロンの前記サブセットによりモデル化された位置を含む物理環境内の経路に対応する、請求項９に記載の装置。
【請求項１１】
前記ニューロモーフィックコンピューティングデバイスはさらに、前記ＳＮＮ内の前記複数の人工ニューロンのうち少なくとも１つをハザードニューロンとして実装し、前記物理環境内のハザード位置をモデル化する、請求項９又は１０に記載の装置。
【請求項１２】
前記ハザード位置は絶対ハザードを含み、前記ハザードニューロンは、前記ＳＮＮ内の他のニューロンから切り離されるように実装されており、前記スパイク波を受信することがない、請求項１１に記載の装置。
【請求項１３】
前記ニューロモーフィックコンピューティングデバイスは前記ハザードニューロンを実装し、これにより、前記ハザードニューロンは、前記ハザードニューロンで受信されるシナプス前スパイクに応答して、シナプス後スパイクの送信を遅延させることになる、請求項１１に記載の装置。
【請求項１４】
前記遅延は、前記ハザードニューロンの軸索遅延パラメータを増加させることで実施される、請求項１３に記載の装置。
【請求項１５】
前記遅延は、前記ハザードニューロンに対応する抑制性介在ニューロンを提供し、前記ハザードニューロンで神経抑制をモデル化することで実施される、請求項１３に記載の装置。
【請求項１６】
前記遅延の長さが、前記ハザード位置の重大度に対応する、請求項１３に記載の装置。
【請求項１７】
前記第１の信号は複数の第１の信号を含み、前記複数の第１の信号は、前記第１のニューロン及び少なくとも第３のニューロンを含むデスティネーションニューロンのセットにルーティングされ、前記スパイク波はデスティネーションニューロンの前記セットの各ニューロンで生成されたスパイクによって引き起こされる、請求項９から１６のいずれか一項に記載の装置。
【請求項１８】
デスティネーションニューロンの前記セットの第２の部分より優れたデスティネーションニューロンの前記セットの第１の部分の相対的な望ましさをモデル化するために、前記スパイク波を引き起こす前記スパイクの第１の部分が、前記スパイク波を引き起こす前記スパイクの第２の部分の前の時間に送信され、前記スパイクの前記第１の部分はデスティネーションニューロンの前記第１の部分により送信され、前記スパイクの前記第２の部分は前記デスティネーションニューロンの前記第２の部分により送信される、請求項１７に記載の装置。
【請求項１９】
前記時間の長さが、前記相対的な望ましさの差異の度合いに対応する、請求項１８に記載の装置。
【請求項２０】
前記経路はＳＮＮ経路を含み、前記装置はさらに特定のデバイスを備え、
前記特定のデバイスは、
前記ＳＮＮ経路に基づく入力を受け取り、
前記入力に基づいて、前記物理環境内の物理経路に沿って前記特定のデバイスの運動を方向づける
ための運動制御装置を含む、請求項９から１９のいずれか一項に記載の装置。
【請求項２１】
請求項１から７のいずれか一項に記載のプログラムを格納する、
コンピュータ可読記憶媒体。
【外国語明細書】
2018136918000001.pdf