(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】スパイキングニューラルネットワーク
(51)【国際特許分類】
G06N 3/08 20230101AFI20240930BHJP
G06N 3/049 20230101ALI20240930BHJP
【FI】
G06N3/08
G06N3/049
(21)【出願番号】P 2021527165
(86)(22)【出願日】2019-11-14
(86)【国際出願番号】 EP2019081373
(87)【国際公開番号】W WO2020099583
(87)【国際公開日】2020-05-22
【審査請求日】2022-10-25
(32)【優先日】2018-11-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521211620
【氏名又は名称】インナテラ・ナノシステムズ・ビー.ブイ.
【氏名又は名称原語表記】INNATERA NANOSYSTEMS B.V.
【住所又は居所原語表記】Patrijsweg 20,2289 EX,RIJSWIJK,Netherlands
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】クマール、スメート・スシェール
(72)【発明者】
【氏名】ズジャージョ、アミール
【審査官】児玉 崇晶
(56)【参考文献】
【文献】米国特許出願公開第2017/0236027(US,A1)
【文献】米国特許出願公開第2017/0316310(US,A1)
【文献】特開平04-007660(JP,A)
【文献】特表2016-539407(JP,A)
【文献】特開平08-212329(JP,A)
【文献】特開2013-065336(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/049
(57)【特許請求の範囲】
【請求項1】
入力パターン信号を分類するためのスパイキングニューラルネットワーク(100、400、1100、1200)であって、ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロン(1)と、前記ネットワークを形成するために前記スパイキングニューロン(1)を相互接続する複数のシナプス素子(2)とを備え、
各シナプス素子(2)は、シナプス入力信号を受信し、前記シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、前記シナプス素子(2)は、各シナプス素子(2)によって印加された前記重みを調整するように構成可能であり、
前記スパイキングニューロン(1)の各々は、前記シナプス素子(2)のうちの1つ以上から前記シナプス出力信号のうちの1つ以上を受信し、前記受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号を生成するように適合され、
前記スパイキングニューラルネットワークは、前記シナプス素子(2)の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロン(1)の第1のサブセットを備える第1のサブネットワークを備え、
前記第1のサブネットワークは、シナプス素子(2)の前記第1のサブセットに印加されたサブネットワーク入力パターン信号に応答して、スパイキングニューロン(1)の前記第1のサブセットからサブネットワーク出力パターン信号を生成するように適合され、 シナプス素子(2)の前記第1のサブセットの前記重みは、前記サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に一意であるように、サブネットワーク入力パターン信号の前記訓練セット上で前記サブネットワークを訓練することによって構成され、一意性の程度は、スパイキングニューロン及び/又はシナプス素子の前記第1のサブセットの動作パラメータを通じて制御可能である、スパイキングニューラルネットワーク。
【請求項2】
各一意のサブネットワーク出力パターン信号間のそれぞれの距離は、所定の閾値よりも大きく、前記距離は、出力パターンメトリックによって測定される、請求項1に記載のスパイキングニューラルネットワーク。
【請求項3】
前記スパイキングニューロン(1)及びシナプス素子(2)は、2つのそれぞれの異なるサブネットワーク入力パターン信号に応答して生成された前記サブネットワークの2つの出力パターン信号間の、出力パターンメトリックによって測定されたそれぞれの距離が前記訓練セットの全てのサブネットワーク入力パターン信号に対して最大化されるように構成され、各それぞれの距離は、前記出力パターン信号が前記入力パターン信号の特徴間を区別するために必要とされる少なくとも第1の最小感度閾値を満たすまで最大化される、請求項1又は2に記載のスパイキングニューラルネットワーク。
【請求項4】
シナプス素子の前記第1のサブセットの前記重みは、特定の時間に所望の出力ニューロンにおいて、及びサブネットワーク入力パターン信号の前記印加に付随して同時に他のニューロンにおいてスパイクを誘発することによって、半教師あり訓練方法を使用して前記サブネットワーク入力パターン信号の訓練セット上で前記サブネットワークを訓練することによって構成され、前記サブネットワークは、所望の前記サブネットワーク出力パターン信号で応答するように構成され、所望のスパイクは、ある特定の入力パターンに対する一意の応答を取得するために、特定の時間に人工的に誘発される、請求項1~3のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項5】
所望の時間に前記サブネットワークのニューロンnにおいて人工的にスパイクを誘発することによって、前記サブネットワークの先行する層におけるニューロンと前記ニューロンnとの間の関係の性質は、因果的、反因果的、又は非因果的として確立される、請求項4に記載のスパイキングニューラルネットワーク。
【請求項6】
シナプス素子の前記第1のサブセットの前記重みは、因果連鎖スパイクタイミング依存可塑性(CC-STDP)学習規則を使用して構成され、前記CC-STDP学習規則は、所望の出力ニューロンと前記サブネットワークの先行する層におけるニューロンとの間の因果関係の識別を可能にし、因果関係のこの経路に沿った介在シナプス素子の前記重みを調整させ、前記CC-STDP学習規則を使用して、前記サブネットワーク出力パターン信号は、特定のサブネットワーク出力パターン信号に到達するために、特定のサブネットワーク入力パターン信号に応答して発火した前記サブネットワークの出力ニューロンの異なる母集団と、それらの正確な発火時間に向かってステアリングされる、請求項1~5のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項7】
前記CC-STDP学習規則は、発火イベントが前記サブネットワークの後続の層におけるニューロンの発火に寄与する場合にのみ、前記発火イベントに基づいてシナプス素子の前記第1のサブセットの重みを調整する、請求項6に記載のスパイキングニューラルネットワーク。
【請求項8】
前記CC-STDP学習規則を使用して前記訓練することは、特定の時間にスパイキングニューロンの前記第1のサブセットのニューロンにおけるスパイク生成を誘発及び/又は抑制することを備え、好ましくは、
ニューロンにおけるスパイク生成を誘発することは、バイアス電圧入力によって、膜の発火閾値を超える電圧まで前記ニューロンの前記膜を駆動し、それによってスパイクの前記生成を誘発するか、又は前記特定の時間に前記ニューロンの出力に人工スパイクを注入することを備える、及び/又は、
ニューロンにおけるスパイク生成を抑制することは、その不応電圧又は最低可能電圧まで前記ニューロンの膜を駆動し、スパイクの前記生成を防止するか、又は前記ニューロンにおけるスパイク生成を無効にすることを備える、請求項6又は7に記載のスパイキングニューラルネットワーク。
【請求項9】
前記CC-STDP学習規則は、以下の規則に従ってニューロンiとニューロンjとの間に位置するシナプス素子の重みw
i,jを変化させ、
【数1】
ここで、Δw
i,jは、ニューロンiとニューロンjとの間のシナプス素子に対する有効な重み変化であり、w
j,kは、ニューロンjと後続の層のニューロンkとの間のシナプス素子の重みであり、t
spike i、t
spike j及びt
spike kは、それぞれニューロンi、j及びkのための第2の学習規則の基本パラメータであり、δw
i,jは、スパイキングのそれらの相対時間による、ニューロンiとニューロンjとの間のシナプス素子における重み変化であり、前記第2の学習規則を使用して計算される、請求項6~8のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項10】
前記第2の学習規則は、前記STDP学習規則であり、t
spike i、t
spike j及びt
spike kは、ニューロンi、j及びkがそれぞれスパイクする正確な時間を指す、請求項9に記載のスパイキングニューラルネットワーク。
【請求項11】
前記スパイキングニューロンの各々は、前記ニューロンの応答を前記受信された1つ以上のシナプス出力信号に合うように調整するように構成可能である、請求項1~10のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項12】
スパイクは、1つ以上の発火時間に前記スパイキングニューロンによって生成され、シナプス素子の前記サブセット及び/又はニューロンの前記サブセットは、2つの一意のサブネットワーク入力パターン信号に対して発火するニューロンの前記サブセットの発火時間の2つのセットの和集合が前記訓練セットの全てのサブネットワーク入力パターン信号に対して最小化されるように構成される、請求項1~11のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項13】
各和集合は、前記出力パターン信号が前記入力パターン信号の特徴間を区別するために必要とされる少なくとも第2の最小感度閾値を満たすまで最小化される、請求項12に記載のスパイキングニューラルネットワーク。
【請求項14】
前記ネットワークは、前記シナプス素子(2)の第2のサブセットからシナプス出力を受信するために接続された前記スパイキングニューロン(1)の第2のサブセットを備える第2のサブネットワークを備え、
前記第2のサブネットワークは、シナプス素子(2)の前記第2のサブセットに印加された第2のサブネットワーク入力パターン信号を受信し、ニューロン(1)の前記第2のサブセットから対応する第2のサブネットワーク出力パターン信号を生成するように適合され、
シナプス素子(2)の前記第2のサブセットの構成は、前記第2のサブネットワーク出力パターン信号が前記第2のサブネットワーク入力パターン信号中の一意の特徴毎に一意であるように調整され、
前記ネットワークは、前記シナプス素子(2)の第3のサブセットからシナプス出力を受信するために接続された前記スパイキングニューロン(1)の第3のサブセットを備える第3のサブネットワークを備え、
前記第1及び第2のサブネットワーク出力パターン信号は、前記第3のサブネットワークの入力パターン信号であり、
シナプス素子(2)の前記第3のサブセットの構成は、前記第3のサブネットワーク出力パターン信号が前記第1及び第2のサブネットワークの両方からの前記入力パターン信号中の一意の特徴、並びにそれらの一意の組み合わせ毎に一意であるように調整され、そのため、前記第1及び第2のサブネットワークの両方からの前記入力パターン信号中に存在する前記特徴は、前記第3のサブネットワークによって符号化される、請求項1~13のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項15】
前記ネットワークは、シナプス素子(2)及びスパイキングニューロン(1)の複数のサブネットワークを備え、それについて、前記サブネットワーク出力パターン信号は、前記サブネットワーク入力パターン信号中の一意の特徴毎に一意であり、
前記ネットワークは、前記ネットワーク中で特定のシーケンシャルな順序を有する複数の層に分割されることができ、
前記複数のサブネットワークは、各それぞれのサブネットワークが属する前記複数の層の前記特定のシーケンシャルな順序でインスタンス化される、請求項1~14のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項16】
ニューロン(1)のセットは、ニューロンの1つ以上の複数のテンプレートネットワーク中に配置され、ニューロンの特定のテンプレートネットワークの前記ニューロン(1)は、前記ニューラルネットワークのサブネットワークを形成し、
前記サブネットワーク出力パターン信号は、前記サブネットワーク入力パターン信号中の一意の特徴毎に一意であり、
前記ニューラルネットワーク中の各テンプレートネットワークは、2つの一意のサブネットワーク入力パターン信号に対して発火するニューロンの前記サブセットの発火時間の2つのセットの和集合が前記訓練セットの全てのサブネットワーク入力パターン信号に対して最小化されるように構成された事前訓練されたサブネットワークとしてインスタンス化される、請求項1~15のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項17】
前記ニューラルネットワークは、入力として1つ以上のサンプリングされたアナログ又はデジタル入力信号を取り、前記入力信号をスパイキングニューラルネットワーク入力パターン信号の代表セットに変換するように構成される、請求項1~16のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項18】
ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロン(1)と、スパイキングニューラルネットワークを形成するために前記スパイキングニューロン(1)を相互接続する複数のシナプス素子(2)とを備えるスパイキングニューラルネットワーク(100、400、1100、1200)を使用して入力パターン信号を分類するための方法であって、
前記シナプス素子(2)の各々は、シナプス入力信号を受信し、前記シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、前記シナプス素子(2)は、各シナプス素子(2)によって印加された前記重みを調整するように構成可能であり、
前記スパイキングニューロン(1)の各々は、前記シナプス素子(2)のうちの1つ以上から前記シナプス出力信号のうちの1つ以上を受信し、前記受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号を生成するように適合され、
前記方法は、
前記スパイキングニューラルネットワークの第1のサブネットワークを定義することと、前記第1のサブネットワークは、前記シナプス素子(2)の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロン(1)の第1のサブセットを備える、
前記サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に一意であるように、サブネットワーク入力パターン信号の前記訓練セット上で前記サブネットワークを訓練することによってシナプス素子(2)の前記第1のサブセットの前記重みを構成することと、ここにおいて、一意性の程度は、スパイキングニューロン(1)及び/又はシナプス素子(2)の前記第1のサブセットの動作パラメータを通じて制御可能である、
前記スパイキングニューラルネットワークの第1のサブネットワークにサブネットワーク入力パターン信号を印加することと、前記第1のサブネットワークは、前記シナプス素子(2)の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロン(1)の第1のサブセットを備える、
前記サブネットワーク入力パターン信号に応答してスパイキングニューロン(1)の前記第1のサブセットによって生成されたサブネットワーク出力パターン信号を受信することと、ここにおいて、前記出力パターン信号は、前記入力パターン信号の1つ以上の特徴を識別する、
を備える、方法。
【請求項19】
システムによって実行されるスパイキングニューラルネットワーク(100、400、1100、1200)を構成する方法であって、前記方法は、
メモリデバイスに備えられたテンプレートライブラリから1つ以上のテンプレートネットワーク又は1つ以上のテンプレートネットワークの構成に関する情報を取得することと、
ここにおいて、前記メモリデバイスは、記憶されたテンプレートライブラリを備えるメモリデバイスであって、前記テンプレートライブラリは、前記スパイキングニューラルネットワーク(100、400、1100、1200)のサブネットワークとして使用するためのスパイキングニューロン(1)及びシナプス素子(2)の1つ以上のテンプレートネットワークの構成に関する情報を備え、各テンプレートネットワークは、前記シナプス素子(2)のセットからシナプス出力を受信するために接続された、ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された前記スパイキングニューロン(1)のセットを備え、各テンプレートネットワークは、シナプス素子(2)の前記セットに印加されたテンプレートネットワーク入力パターン信号を受信し、ニューロン(1)の前記セットから対応するテンプレートネットワーク出力パターン信号を生成するように適合され、シナプス素子(2)の前記セットの構成は、前記テンプレートネットワーク出力パターン信号が訓練セットの一意のテンプレートネットワーク入力パターン信号毎に一意であるように、テンプレートネットワーク入力パターン信号の前記訓練セット上で前記テンプレートネットワークを訓練することによって調整され、一意性の程度は、前記テンプレートネットワークのスパイキングニューロン(1)及び/又はシナプス素子(2)の動作パラメータを通じて制御可能であり、前記訓練セットは、特定のタスクを実行するために前記テンプレートネットワークを訓練するために使用され、そのため、前記スパイキングニューラルネットワークの前記サブネットワークは、前記特定のタスクを実行するために事前訓練された形で前記テンプレートネットワークの構成に関する前記情報に基づいてインスタンス化されることができる、
前記テンプレートネットワークが実行するために事前訓練された前記特定のタスクを前記スパイキングニューラルネットワークの
前記サブネットワークが実行することが可能であるように、前記スパイキングニューラルネットワークの前記サブネットワークとして前記1つ以上のテンプレートネットワークをインスタンス化することと、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本開示は、一般に、スパイキングニューラルネットワークを構成することに関する。より詳細には、限定するものではないが、本開示は、スパイキングニューロンから構築されたパターン認識装置を構成することと、一意の応答方法を使用して構成的な形でスパイキングニューラルネットワークを構築するためのシステム及び方法とに関する。
【背景技術】
【0002】
[0002]自動信号認識(ASR)とは、信号の構成特徴の識別を通じた信号の認識を指す。ASRは、例えば、とりわけ、音声/発話認識システムにおいて話者の音声及び発声された単語を認識するために、心電図(ECG)において不整脈を認識するために、動き制御システムにおいてジェスチャの形状を決定するために、幅広い用途において利用される。ASRは、典型的には、入力信号の短いサンプル中に存在するパターンを特徴付けることによって実行され、このことから、正確なパターン認識能力が、効果的なASRシステムにとって基本である。
【0003】
[0003]ASRシステムのための入力信号を導出するためにいくつかの物理量を測定することは、複数のタイプのセンサからのデータの融合を必要とし得る。例えば、ハンドヘルド入力デバイスを使用して手のジェスチャを認識することは、動きを測定するための加速度計からのデータと、向きを測定するためのジャイロスコープからのデータとの融合を必要とし得る。両方のセンサからのデータを組み合わせることは、3次元空間中でのジェスチャの検出を可能にする。
【0004】
[0004]一般に、データ融合は、それらの個々のソースからのデータの解釈における不確実性を低下させるために、異なる潜在的に異種のソースから収集されたデータの統合を指す。融合プロセス中に、異なる入力信号中の本質的な特徴が融合された信号中で適切に表されることが重要である。
【0005】
[0005]パターン認識及び融合は、典型的には、マイクロプロセッサ及び/又はデジタル信号プロセッサを使用して実行され、それらの両方が、記憶されたプログラムアーキテクチャを実装する。このアーキテクチャは、ストリーミングデータの分析にとって本質的に非効率的である。単一のプロセッサ上で、パターンの抽出及び認識が逐次( sequentially)実行される。これは、パターン抽出及び識別が、一般的な単純化した命令セット(例えば、RISC又はCISC命令セット)に関して実現され、信号サンプル中の全てのパターンに対して長い実行シーケンスをもたらすからである。入力信号中の複雑なパターンは、より複雑な信号処理アルゴリズムの使用を必要とし、それは、パターン認識エンジンからのリアルタイム応答を必要とするシステムでは、プロセッサのためのより高いクロック周波数の使用を更に必要とする。(ポータブル電子デバイス、ウェアラブルデバイス、等などの)電力制約デバイスでは、これは実現可能ではない。更に、逐次実行パラダイム(sequential execution paradigm)に起因して、マイクロプロセッサ上でのパターン認識動作のレイテンシ及び電力損失は、パターンの複雑さ及びレパートリーが増大するにつれて大幅に増大する。入力信号中の雑音の存在は、分析の複雑さを更に増大させ、性能及び効率に悪影響を及ぼす。
【0006】
[0006]データ融合は、マイクロプロセッサのための非ネイティブ動作である。これは、入力信号又はデータストリームが融合されることができる前に、それらの情報コンテンツが抽出されなければならず、その後、他のストリームからの対応するコンテンツと組み合わされなければならないことを意味する。その結果として、マイクロプロセッサ実装では、融合のための各入力信号/データソースは、独立したパターン認識パイプラインによって別々に処理され、その後に規則ベースのフレームワークが続き、異なるパターン認識結果を組み合わせる。このアプローチは、各入力信号又はデータストリームに対してパターン認識インフラストラクチャの複数の呼び出しを必要とし、電力損失の増大につながる。更に、パターン認識のためのロードストアアーキテクチャマイクロプロセッサ(load-store architecture microprocessors)及びデジタルシグナルプロセッサ(DSP)の制限は、パターンの複雑さが増大するにつれて、これらのパターンを認識する電力及びレイテンシコストも増大することを意味する。レイテンシコストは、クロック周波数を増大させることによって軽減されることができるが、これは、更に増大した電力損失を犠牲にして達成される。同様に、融合の品質は、入力信号に対して実行される処理及びASRの複雑さ、融合される信号の数、及びマイクロプロセッサ又はDSPの計算能力によって制限される。処理のシーケンシャルな性質は、融合ベースのASRのスループットを低減し、このことから、信号中のパターンの複雑さが増大するにつれて、マイクロプロセッサ又はDSPを使用して融合されることができる入力信号の数は減少する。
【0007】
[0007]人工ニューラルネットワークは、マイクロプロセッサ実装の代替として提案されている。スパイキングニューラルネットワーク(SNN)は、多くの異なる用途のためのASRを実現する有望な手段である。SNNは、整数又は実数値ベクトルとしてではなく、1つ以上の正確に時間指定された(電圧)スパイクの形態で情報を符号化する。パターン分類のための計算は、アナログドメイン及び時間ドメイン中で効果的に実行される。この理由のために、SNNは、典型的には、フルカスタム混合信号集積回路(full-custom mixed signal integrated circuits)としてハードウェアで実現される。これは、それらが、より小さいネットワークサイズを有することに加えて、それらの人工ニューラルネットワーク対応物よりも数桁低いエネルギー消費でパターン分類を実行することを可能にする。
【0008】
[0008]SNNは、スパイキングニューロン間の接続の強度を決定付けるシナプスによって相互接続されたスパイキングニューロンのネットワークから成る。この強度は重みとして表され、それは、シナプス後ニューロンへの入力に対するシナプス前ニューロンの出力の影響を緩和する。典型的には、これらの重みは、ネットワークを大量のラベル付けされた入力データに曝し、所望のネットワーク出力が達成されるまでシナプスの重みを徐々に調整することを伴う訓練プロセスにおいて設定される。しかしながら、実際には、これらの量のラベル付きデータは、単に存在しない場合がある。
【0009】
[0009]更に、モノリシック方式で大きい多層ネットワークを訓練することは、ネットワークのいくつかの層にわたって誤差を逆伝搬させる必要があることに起因して、その解が計算コストの高い複雑な最適化問題をネットワークサイズがもたらすので、時間が掛かる。
【0010】
[0010]スパイキングニューラルネットワークは、典型的には、誤差を決定するために、シナプスによって接続された2つのニューロンの相対発火時間に基づく学習規則に依拠する。一般的な学習規則は、スパイクタイミング依存可塑性(spike timing dependent plasticity)又はSTDPと呼ばれる。この方法は、シナプスの重みを設定するために、SNNの潜在的に教師なし訓練を可能にするが、本質的に不安定である。これは、STDPが個々のシナプスにおける重み調整をターゲットとし、ネットワークレベルでシナプス重みを平衡させるための機構を欠いているからである。結果として、STDPプロセスは不安定であり得、発散シナプス重み構成(divergent synaptic weight configuration)をもたらす可能性がある。ネットワーク中のシナプスによって形成される興奮性及び抑制性接続の大きさ及び分布を平衡させることによってこの問題を軽減することが可能であり得るが、このプロセスは、実装することが困難であり、安定した収束重み構成(convergent weight configuration)をもたらすために網羅的探索を必要とする。スパイキングニューラルネットワークはまた、従来の逆伝播方法で訓練され得る。しかしながら、これらの技法は、ネットワークの異なる層にわたるニューロン間の複雑な因果関係に起因して、深い多層ネットワークに適用されるとき、計算コストが高い。
【発明の概要】
【0011】
[0011]先行技術の上述された欠点に対処するために、本開示の態様によると、入力パターン信号を分類するためのスパイキングニューラルネットワークが提案され、ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロンと、ネットワークを形成するためにスパイキングニューロンを相互接続する複数のシナプス素子とを備える。各シナプス素子は、シナプス入力信号を受信し、シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、シナプス素子は、各シナプス素子によって印加された重みを調整するように構成可能であり、スパイキングニューロンの各々は、シナプス素子のうちの1つ以上からシナプス出力信号のうちの1つ以上を受信し、受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号(spatio-temporal spike train output signal)を生成するように適合される。
【0012】
[0012]スパイキングニューラルネットワークは、シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続されたスパイキングニューロンの第1のサブセットを備える第1のサブネットワークを備える。第1のサブネットワークは、シナプス素子の第1のサブセットに印加されたサブネットワーク入力パターン信号に応答して、スパイキングニューロンの第1のサブセットからサブネットワーク出力パターン信号を生成するように適合され、シナプス素子の第1のサブセットの重みは、サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に異なるように、サブネットワーク入力パターン信号の訓練セット上でサブネットワークを訓練することによって構成される。
【0013】
[0013]一実施形態では、各異なるサブネットワーク出力パターン信号間の距離は、所定の閾値よりも大きく、距離は、出力パターンメトリックによって測定される。スパイキングニューロン及びシナプス素子は、2つのそれぞれの異なるサブネットワーク入力パターン信号に応答して生成されたサブネットワークの2つの出力パターン信号間の、出力パターンメトリックによって測定されたそれぞれの距離が訓練セットの全てのサブネットワーク入力パターン信号に対して最大化されるように構成され得る。各それぞれの距離は、出力パターン信号が入力パターン信号の特徴間を区別するために必要とされる少なくとも第1の最小感度閾値を満たすまで最大化され得る。
【0014】
[0014]特徴は、その信号及び/又はその信号内の対象のパターンの識別を可能にする入力パターン信号の任意の特性である。パターンは、1つ以上の特徴から構成され得る。例えば、ECG入力信号中の関連する特徴は、心拍の異なる段階を特徴付ける様々な時間変動振幅であり得、オーディオ入力信号については、関連する特徴は、オーディオ信号がサンプリングされる各離散時間間隔内の信号の周波数コンテンツであり得、又は画像入力信号については、関連する特徴は、画像中に存在する基本形状及び線であり得る。追加の例が本明細書に提供される。
【0015】
[0015]スパイキングニューラルネットワークでは、スパイキングニューロンの各々は、ニューロンの応答を受信された1つ以上のシナプス出力信号に合うように調整するように構成可能であり得る。スパイクは、1つ以上の発火時間にスパイキングニューロンによって生成され得、シナプス素子のサブセット及び/又はニューロンのサブセットは、2つの異なるサブネットワーク入力パターン信号に対して発火するニューロンのサブセットの発火時間の2つのセットの和集合が訓練セットの全てのサブネットワーク入力パターン信号に対して最小化されるように構成され得る。各和集合は、出力パターン信号が入力パターン信号の特徴間を区別するために必要とされる少なくとも第2の最小感度閾値を満たすまで最小化され得る。
【0016】
[0016]スパイキングニューラルネットワークは、シナプス素子の第2のサブセットからシナプス出力を受信するために接続されたスパイキングニューロンの第2のサブセットを備える第2のサブネットワークを備え得、第2のサブネットワークは、シナプス素子の第2のサブセットに印加された第2のサブネットワーク入力パターン信号を受信し、ニューロンの第2のサブセットから対応する第2のサブネットワーク出力パターン信号を生成するように適合され、シナプス素子の第2のサブセットの構成は、第2のサブネットワーク出力パターン信号が第2のサブネットワーク入力パターン信号中の一意の特徴毎に異なるように調整され、ネットワークは、シナプス素子の第3のサブセットからシナプス出力を受信するために接続されたスパイキングニューロンの第3のサブセットを備える第3のサブネットワークを備え、第1及び第2のサブネットワーク出力パターン信号は、第3のサブネットワークの入力パターン信号であり、シナプス素子の第3のサブセットの構成は、第3のサブネットワーク出力パターン信号が第1及び第2のサブネットワークの両方からの入力パターン信号中の一意の特徴、並びにそれらの一意の組み合わせ毎に異なるように調整され、そのため、第1及び第2のサブネットワークの両方からの入力パターン信号中に存在する特徴は、第3のサブネットワークによって符号化される。
【0017】
[0017]第3のサブネットワークのシナプス素子は、第1及び第2のサブネットワークからの入力パターン信号が特定の入力パターンの重要性に従って重み付けされるように構成され得る。ネットワークは、シナプス素子及びスパイキングニューロンの複数のサブネットワークを備え得、それについて、サブネットワーク出力パターン信号は、サブネットワーク入力パターン信号中の一意の特徴毎に異なり、ネットワークは、ネットワーク中で特定のシーケンシャルな順序を有する複数の層に分割されることができ、複数のサブネットワークは、各それぞれのサブネットワークが属する複数の層の特定のシーケンシャルな順序でインスタンス化される。
【0018】
[0018]スパイキングニューラルネットワークでは、シナプス素子は、構成可能なスイッチマトリクスとして配置され得る。
【0019】
[0019]ニューロン、シナプス素子の構成情報、ニューロン及びシナプス素子の相互接続トポロジ、並びに/又はニューラルネットワークの出力構成は、構成メモリ上に保存され得、構成情報は、ニューラルネットワークが初期化状態にされたときに構成メモリからロードされ得る。
【0020】
[0020]ニューロンのセットは、ニューロンの1つ以上の複数のテンプレートネットワーク中に配置され得、ニューロンの特定のテンプレートネットワークのニューロンは、ニューラルネットワークのサブネットワークを形成し、サブネットワーク出力パターン信号は、サブネットワーク入力パターン信号中の一意の特徴毎に異なり、ニューラルネットワーク中の各テンプレートネットワークは、事前訓練された形でインスタンス化された。
【0021】
[0021]ニューラルネットワークは、入力として1つ以上のサンプリングされた入力信号を取り、入力信号をニューラルネットワーク入力パターン信号の代表セットに変換するように構成され得る。ニューラルネットワークの出力パターン信号は、1つ以上の出力クラスに分類され得る。
【0022】
[0022]本発明の態様によると、ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロンと、ネットワークを形成するためにスパイキングニューロンを相互接続する複数のシナプス素子とを備えるスパイキングニューラルネットワークを使用して入力パターン信号を分類するための方法が提案され、シナプス素子の各々は、シナプス入力信号を受信し、シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、シナプス素子は、各シナプス素子によって印加された重みを調整するように構成可能であり、スパイキングニューロンの各々は、シナプス素子のうちの1つ以上からシナプス出力信号のうちの1つ以上を受信し、受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号を生成するように適合される。方法は、スパイキングニューラルネットワークの第1のサブネットワークを定義することと、第1のサブネットワークは、シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続されたスパイキングニューロンの第1のサブセットを備える、 サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に異なるように、サブネットワーク入力パターン信号の訓練セット上でサブネットワークを訓練することによってシナプス素子の第1のサブセットの重みを構成することと、 スパイキングニューラルネットワークの第1のサブネットワークにサブネットワーク入力パターン信号を印加することと、第1のサブネットワークは、シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続されたスパイキングニューロンの第1のサブセットを備える、 サブネットワーク入力パターン信号に応答してスパイキングニューロンの第1のサブセットによって生成されたサブネットワーク出力パターン信号を受信することと、ここにおいて、出力パターン信号は、入力パターン信号の1つ以上の特徴を識別する、 を行うステップを備える。
【0023】
[0023]本発明の別の態様によると、入力信号中の所定の特徴の分類のための方法が提案される。方法は、上述されたニューラルネットワークを構築及び訓練することと、ニューラルネットワークに少なくとも1つのサンプリングされた入力信号をサブミットすることと、ニューラルネットワークの1つ以上の出力クラスに、少なくとも1つのサンプリングされた入力信号中の特徴を分類することと、を備える。
【0024】
[0024]本発明の更に別の態様によると、スパイキングニューラルネットワークのサブネットワークとして使用するためのスパイキングニューロンの1つ以上のテンプレートネットワーク又はその構成に関する情報を備えるテンプレートライブラリが提供され、各テンプレートネットワークは、シナプス素子のセットからシナプス出力を受信するために接続されたスパイキングニューロンのセットを備える。各テンプレートネットワークは、シナプス素子のセットに印加されたテンプレートネットワーク入力パターン信号を受信し、ニューロンのセットから対応するテンプレートネットワーク出力パターン信号を生成するように適合される。シナプス素子のセットの構成は、テンプレートネットワーク入力パターン信号の訓練セット上でテンプレートネットワークを訓練することによって調整され、そのため、テンプレートネットワーク出力パターン信号は、訓練セットの一意のテンプレートネットワーク入力パターン信号毎に異なり、訓練セットは、特定のタスクを実行するためにテンプレートネットワークを訓練するために使用され、そのため、各テンプレートネットワークは、特定のタスクを実行するために事前訓練された形でスパイキングニューラルネットワークのサブネットワークとして使用されることができるか、又はそのため、スパイキングニューラルネットワークのサブネットワークは、特定のタスクを実行するために事前訓練された形でテンプレートネットワークの構成に関する情報に基づいてインスタンス化されることができる。
【0025】
[0025]本発明の更に別の態様によると、スパイキングニューラルネットワークを構成するための方法が提案され、方法は、上述されたテンプレートライブラリから1つ以上のテンプレートネットワーク又は1つ以上のテンプレートネットワークの構成に関する情報を取得することと、テンプレートネットワークが実行するために事前訓練された特定のタスクをスパイキングニューラルネットワークのサブネットワークが実行することが可能であるように、スパイキングニューラルネットワークのサブネットワークとして1つ以上のテンプレートネットワークをインスタンス化することと、を備える。
【0026】
[0026]本発明は、別々に訓練されたより小さいネットワーク段を使用して、ボトムアップ方式でパターン分類器を実現するための方法から成る。パターン分類器の各段は、共通の方法を使用してその特定の機能について訓練され、実現されている機能に固有の異なる訓練目的(training objectives)が適用される。訓練プロセスは、重みを適合させるときのシナプスの長距離因果影響を考慮する方法によって支援され、このことから、STDPが直面する不安定性の問題を克服する。3つの方法は、他の方法から独立して使用され得る。方法は、異なる信号タイプに適用可能であり、複数の信号にわたってパターンを認識及び相関させることができる、低レイテンシパターン認識装置の実現を可能にする。方法は、実装が柔軟なままであることを付随的に保証しながら、パターン認識装置の訓練及び展開時間を簡略化し、以前に訓練されたパターン認識ネットワークの再使用を容易にする。
【0027】
[0027]ここで、実施形態が、例としてのみ、添付の概略図を参照して説明され、添付の概略図において対応する参照符号は、対応する部分を示す。
【図面の簡単な説明】
【0028】
【
図1】[0028]ニューロン及びシナプス素子から成る例証的なニューラルネットワークを示す。
【
図2】[0029]各々が別々に訓練され、後続の段中でインスタンス化された、データ変換器、入力符号化器、及びパターン分類器段の統合を通じたパターン認識装置の構成を示す。
【
図3A】[0030]どのように入力符号化器がサンプリングされた入力信号を時空間スパイク列に変換するかを概略的に示す。
【
図3B】[0031]スパイクタプル(spike tuples)の形態で記述された3つの入力パターンについての所望のスパイク応答の例を示す。
【
図4】[0032]シナプス後ニューロンと後続のネットワーク層におけるニューロンとの間の深い因果関係、反因果関係、及び非因果関係を識別するための因果連鎖STDPの原理を示す。
【
図5A】[0033]2つの別個のスパイクコーディングされたデータストリームの融合を通じたセンサ融合パターン認識装置の構成と、融合されたスパイク列を使用する後続のパターン分類とを示す。
【
図5B】[0034]複数の時間スパイク列がどのように単一の融合されたスパイク列に融合されるかを概略的に示す。
【
図6】[0035]スパイキングニューロンのネットワークを使用して、複数のデータストリームを融合し、融合されたストリームに対して自動信号認識を実行することができるシステムを示す。
【
図7A】[0036]入力信号をどのようにニューロンにインターフェースするかの例を示す。
【
図7B】[0037]入力信号をどのようにニューロンにインターフェースするかの例を示す。
【
図8】[0038]リセットパルスをどのように生成するかの例を示す。
【
図9】[0039]スパイキングニューロンのネットワークを使用して、複数のデータストリームを融合し、結果として生じる融合されたストリームに対して自動信号認識を実行するための方法を示す。
【
図10】[0040]構成可能なスイッチマトリクスを通じて相互接続されたニューロン及びシナプス素子のアレイを示す。
【
図11】[0041]ニューロン及びシナプス素子上へのASRパイプライン段の実例的なマッピングを例示する、構成されたアレイの例を示す。
【0029】
[0042]図面は、例示的な目的のみを意図され、特許請求の範囲によって規定される範囲又は保護の制限としての役割を果たすものではない。
【発明を実施するための形態】
【0030】
[0043]以下、ある特定の実施形態が、更に詳細に説明される。しかしながら、これらの実施形態は、本開示についての保護の範囲を限定するものとして解釈されない場合があることが理解されるべきである。
【0031】
[0044]
図1は、ニューラルネットワーク100の簡略図である。ニューロン1は、シナプス素子2を介して互いに接続されている。画像を混乱させないために、少数のニューロン及びシナプス素子のみが示されている(一部のみに参照番号が付されている)。
図1に示された接続トポロジ、即ち、シナプス素子2がニューロン1を互いに接続する方法は、単なる例に過ぎず、多くの他のトポロジが用いられ得る。各シナプス素子2は、ニューロン1の入力に信号を送信することができ、信号を受信する各ニューロン1は、信号を処理することができ、その後出力を生成することができ、出力は、更なるシナプス素子2を介して他のニューロン1に送信される。各シナプス素子2は、重み付けされたシナプス出力信号を生成するために、シナプス素子が受信及び送信する各シナプス入力信号に印加されるある特定の重みを割り当てられる。シナプス素子の重みは、このことから、シナプス素子2によって接続される2つのニューロン1間の因果関係の種類の尺度である。関係は、因果的(正の重み)、反因果的(負の重み)、又は非存在(0重み)であり得る。
【0032】
[0045]ニューロン1及びシナプス素子2は、例えばアナログ回路素子又はデジタルハードワイヤード論理回路を使用して、ハードウェアで実装されることができる。それらはまた、部分的にハードウェアで、及び部分的にソフトウェアで、又は完全にソフトウェアで実装されることができる。ハードウェアでの実装は、例えば遙かにより高速なパターン認識を可能にするより高速な処理と、ニューロン及びシナプス素子のブロックが必要なときにのみ起動されるイベント駆動型処理とを達成するために好ましい。
【0033】
[0046]ニューラルネットワーク100は、スパイキングニューラルネットワークであり得る。ニューロン1は、従って、スパイキングニューロンであり、スパイキングニューロンは、1つ以上のスパイクの形態でニューロン出力信号を生成する。スパイキングニューロン1は、ニューロン内の膜電位(例えば、エネルギー電位、又は電圧若しくは電流レベル)が所定の閾値に到達したときにのみ発火する(即ち、出力スパイクを生成する)ように構成され得る。スパイキングニューロンの膜電位は、受信された入力信号の結果として変化し、即ち、シナプス素子からニューロンによって受信されたシナプス出力信号は、膜電位を変えるために蓄積され、積分され、又は別様に処理される。シナプス素子2の重みが正である場合、そのシナプス素子から受信されたシナプス出力信号は、信号を受信するスパイキングニューロン1を興奮させ、それらの膜電位を上昇させる。シナプス素子2の重みが負であるとき、そのシナプス素子から受信されたシナプス出力信号は、信号を受信するスパイキングニューロン1を抑制し、それらの膜電位を低下させる。シナプス素子2の重みが0であるとき、そのシナプス素子から受信されたシナプス出力信号は、信号を受信するスパイキングニューロン1に何ら影響を有さない。
【0034】
[0047]スパイキングニューロン1の膜電位が閾値に達すると、ニューロンが発火し、発火時にスパイクを生成し、発火の結果として膜電位が低減される。膜電位がその後再び閾値に達した場合、ニューロンは再び発火し、第2のスパイクを生成する。各スパイキングニューロン1は、このことから、接続されたシナプス素子2から受信された入力信号に応答して1つ以上のスパイクを生成するように構成され、スパイクは、時空間スパイク列を形成する。スパイキングニューロン1は、その膜電位が所定の閾値に到達したときにのみ発火するので、時間情報のコーディング及び処理がニューラルネットワーク100中に組み込まれる。このようにして、ネットワーク100のスパイキングニューロン1によって生成されたスパイクの時間シーケンスである時空間スパイク列がスパイキングニューラルネットワーク100中で生成される。
【0035】
[0048]スパイク列の時間特性は、入力信号の振幅及び周波数特徴を符号化する。時間特性は、刺激(例えば、シナプス素子からの入力信号)の開始とニューロンの出力におけるスパイクの生成との間のレイテンシと、同じニューロンからの連続するスパイク間のレイテンシと、入力刺激が印加される持続時間中にニューロンによって発火されるスパイクの数とを備える。
【0036】
[0049]シナプス素子2は、例えばニューラルネットワーク100を訓練することによって、例えばシナプス素子のそれぞれの重みを変更することができるように構成可能であり得る。ニューロン1は、シナプス素子からの信号に応答するように構成可能であり得る。例えば、スパイキングニューラルネットワークの場合、ニューロン1は、膜電位、膜電位が静止電位に向かって自然に減衰するのに掛かる時間、静止電位の値、スパイキングニューロン1のスパイクをトリガする閾値を、ある特定の信号が増大又は減少させるように構成されることができる。ニューロン1の構成は、例えば、訓練中に一定に保たれることができるか、又は可変であり、特定の訓練セット上でのニューラルネットワーク100の訓練において設定されることができる。
【0037】
[0050]入力信号11は、例えば、複数の異なるサンプリングされた入力信号、又は時空間スパイク列である。入力は、信号サンプルのアナログ-デジタル変換された値、又は例えばアナログ若しくはデジタル積分器の場合ではサンプルのデジタル値、又はアナログ積分器の場合ではサンプルのアナログ値であり得る。
【0038】
[0051]ニューラルネットワーク100の出力信号12は、例えば時空間スパイク列であり、時空間スパイク列は、出力ニューロン1から読み出され、更に分類され、出力変換段によって、ユーザによって選択された出力コードのタイプに対応するデジタル値のセットに変換されることができる。
【0039】
[0052]パターン認識などの動作は、いくつかのステップ(例えば、データ変換、特徴符号化、分類)で達成され得る。本実施形態は、これらのステップが、シナプス素子及びニューロンの標準化されたサブネットワーク(セル)を使用して実現され、各アプリケーションドメインのための柔軟な訓練方法を使用して構成されることを可能にする。訓練方法の目的は、ニューラルネットワークの各段又はサブネットワークを構成して、入力信号中の各一意のパターン又は特徴に対する一意の応答を生成することである。
【0040】
[0053]
図2は、この例では、データ変換器段201と、入力符号化器段202と、パターン分類器段203とを含む、いくつかの構成段の統合によって形成されたニューラルネットワークの構成を示す。各段は、別々に訓練され、後続の段の訓練のためにネットワーク中でインスタンス化されることができる。「インスタンス化された」という用語は、サブネットワークを形成するネットワークの一部分、例えばネットワークの段又はセルが典型的には訓練によって以前に構成されており、サブネットワークの構成データがネットワーク全体内でそのサブネットワークを構成するために使用されるプロセスを指す。
【0041】
[0054]データ変換器段201は、ニューラルネットワークによる処理のために入力パターン信号を受信する。この例では、データ変換器段201は、セル301として示され、データ変換器段202は、セル302の一部として示され、パターン分類器段203は、セル303の一部として示される。各セル301、302、303は、セルが実装することを意図された機能を実現するトポロジ中で接続された、ネットワークのシナプス素子2のサブセット及びニューロン1のサブセットによって形成されるサブネットワークを備える。各セル301、302、303は、パラメータ化され、即ち、とりわけ、異なる数のシナプス素子2、ニューロン1、入力接続、出力接続、隠れ層接続(即ち、出力の入力には見えないニューロンの層の間の接続)を有するように構成されることができる。
【0042】
[0055]段201、202、203の各々中のシナプス素子2の重みは、訓練によって構成され得る。この例では、データ変換器段201は、最初にセル301中で訓練される。データ変換器段201を訓練した後、訓練されたデータ変換器段201及びセル301の構成設定が保存され得る。これらの保存された設定は、次いで、セル302を構成するために使用され得、セル302は、データ変換器段201及び入力符号化器段203の両方を含む。
【0043】
[0056]セル302が次いで訓練され得、訓練された符号化器段203及びセル302の構成設定が保存され得る。これらの保存された設定は、次いで、セル303を構成するために使用され得、セル303は、データ変換器段201、入力符号化器段203、及びパターン分類器段203を含む。セル303が、次いで訓練され得、訓練されたパターン分類器段203及びセル303の結果として生じる構成設定が保存され得る。
【0044】
[0057]訓練は、一意の応答アルゴリズムを使用して達成され得る。一意の応答アルゴリズムは、各セルのシナプス素子の重みの構成を実現し、それは、入力信号中の一意の特徴がセルのニューロン1の一意の応答にトランスコーディングされることをもたらす。スパイキングニューロンの場合、これは、一意のスパイキング応答であり得る。一意の応答アルゴリズムが、以下に更に説明される。セルの応答の一意性は、入力パターン信号11中の異なる特徴をセルの異なる出力信号12A、12B、12Cに分離するためのセルの能力を示す。スパイキングニューロンの場合、これらの異なる出力信号12A、12B、12Cは、異なる出力スパイク列、例えば、セルの出力ニューロンからの時空間スパイク列出力の一意のセットであり得る。時空間スパイク列出力のセットの一意性は、セルの各出力ニューロンによって生成されるスパイクの数及び/又はスパイクのタイミングによって決定され得る。その結果として、ネットワークの訓練中、各応答の一意性は、入力がネットワークに提示されてスパイクに変換された後にテストされ、訓練されているセルのシナプス素子の重みは、各セル301、302、303の出力応答12A、12B、12Cが一意性基準を満たすまで、一意の応答方法を使用して適合される。教師入力13A、13B、13Cが、以下に説明されるように、各セル301、302、303に対する所望の一意の応答を取得するために使用されることができる。
【0045】
[0058]より高いレベルの機能を実現するために、以前に訓練されたセル301、302、303は、ボトムアップ方式でインスタンス化及び相互接続されることができ、即ち、最も低いレベルのセル301が最初に訓練され、次いで、後続の段202を包含するより高いレベルのセル302中でインスタンス化されることができる。中間レベルセル302が、次いで、後続の段203を包含するより高いレベルのセル303中でインスタンス化されることができる。より高いレベルのセルの各作成に続いて、一意の応答アルゴリズムが呼び出される。
【0046】
[0059]セル301、302、303は、異なるアプリケーションドメイン中の特定の機能のためにこのようにして訓練されることができ、訓練されたセルの構成設定は、それらが異なるネットワーク中で再使用されることができるテンプレートライブラリ中に保存されることができる。例えば、発声単語認識ネットワークの入力符号化器段202は、ホットワードトリガリングネットワーク(hot-word triggering network)中で何ら変更を加えることなく再使用されることができる。そのような再使用は、全体的な訓練時間及び複雑さの低減を容易にする。
【0047】
[0060]
図3Aは、どのように入力符号化器22がサンプリングされた入力信号20を時空間スパイク列24に変換するかを概略的に示す。入力符号化器22の各出力ニューロンは、時間スパイク列である出力信号23を形成する。入力符号化器22は、構成21によって構成され、ここで、例えば入力符号化器のシナプス素子の重みが設定される。
【0048】
[0061]
図3Bは、スパイキングニューラルネットワークのセルへの3つの異なる入力パターンに対する3つの所望のスパイク応答14A、14B、14Cの例を示す。この例における各応答は、セルの出力ニューロンN1、N2、N3、N4、N5によって生成される1つ以上の時空間スパイク列のセットの形態を取る。各応答14A、14B、14Cは、各ネットワークに対して選択され得る離散時間ビン15A、15B、15Cについて記述される。時間ビン15A、15B、15Cは、セルに対する第1の入力刺激の開始とそのセルの出力ニューロンからの最後の応答との間の時間と少なくとも同じ大きさであり得る。時間ビンは、セルのフォールスルーレイテンシ(fall-through latency)の倍数であり得、倍数は、入力刺激の結果としてセルの出力ニューロン毎に生成されるスパイクの典型的な数に等しい。
【0049】
[0062]一意の応答方法の各呼び出し中に、セル301、302、303は、処理されるべき入力パターンから導出された入力データ11に曝される可能性がある。入力データ11は、処理のためにニューラルネットワークに提示される入力パターンpから導出される。
【0050】
[0063]入力パターンpは、例えば、音声認識アプリケーションのためのオーディオ信号、画像認識アプリケーションのための静止画像若しくはビデオ画像、又はパターン認識システムに適した多くの他のタイプのパターンを備え得る。入力データ11は、単一の時間変動データ項目(例えば、オーディオ信号から導出された単一のデータストリーム、例えば、マイクロフォンによって出力されたアナログ若しくはデジタル信号)、複数のデータ項目(例えば、CCDアレイによって出力された静止画像の個々のピクセルを表す入力データのセット)、複数の時間変動データ項目(例えば、ビデオ画像の個々のピクセルを表す入力データストリームのセット)、又は単一のデータ項目から生成された複数の増補バージョン(例えば、入力信号の組み合わせ)を備え得る。
【0051】
[0064]セル301、302、303のシナプス素子2の重みは、シナプス重みを適合させるときに長距離因果関係を考慮する学習規則である因果連鎖スパイクタイミング依存可塑性(CC-STDP:Causal Chain Spike-timing-dependent plasticity)を使用して適合され得る。この意味で、それは、重みを適合させるときに短距離因果関係を考慮するだけで、いくつかの訓練セットを使用した重みの更新を極めて不安定でカオス的なものにし、主に局所的な挙動の結果にする、従来のスパイクタイミング依存可塑性(STDP)学習規則とは異なる。CC-STDPが以下に更に提示される。セルが訓練されると、訓練されたセルのための構成設定は、テンプレートセルのライブラリ中に記憶され得、その後、そこからリコールされ、再使用され得る。
【0052】
[0065]各入力パターンpに対する所望のスパイク応答14A、14B、14Cは、入力パターンpから導出された入力データ11が提示される各時間ビンにおけるスパイク応答を指定するタプルとして記述されることができる。例えば、タプルは、入力データ11に応答して発火したセルの出力ニューロン(Ap)の母集団(population)と、それらの正確な発火時間(Bp)とを指定し得る。応答の一意性は、典型的にはAp及びBpの関数である距離関数又はメトリック(例えば、Victor Purpura又はVan Rossum距離関数)を使用して、他の入力パターンに対するセルの応答からのその距離を計算することによって決定される。
【0053】
[0066]好ましい実施形態では、各入力パターンpに対して、セットApは、単一の出力ニューロン1を包含する互いに素なセットを記述することができ、セットBpは、その出力ニューロン1が応答するときに対応する時間ビンを記述することができる。このことから、この実施形態では、各入力パターンpは、最も早く応答する単一のニューロン1によって識別されることができる。同じ又は他のニューロンからの後の応答は、例えば、ウィナーテークオール(winner-take-all)ネットワークを使用して抑制されるか、又は無視されることができる。追加のロバスト性のために、タプルは、ニューロンの応答の強度(入力データ11が適用された期間中に単一の最も早いスパイキングニューロンによって生成されたスパイクイベントの数Cpとして表される)を記述する追加フィールド(Cp)で増補されることができる。
【0054】
[0067]代替の実施形態では、各パターンpに対して、セットApは、複数の出力ニューロン1を包含する互いに素なセットであり得、セットBpは、それらのニューロンの応答時間を包含する同一サイズのセットであり得る。セルの応答は、以下に提示される因果連鎖STDP規則を使用して、所望のスパイクタプルに到達するために、異なるAp及びBp値に向かってステアリング( steered)されることができる。
【0055】
[0068]Bp値は、対応するニューロン1の発火に寄与するシナプス素子における重みを増大させることによって低減されることができるが、Bp値は、それらの重みを減少させることによって増大されることができる。これは、出力ニューロン1の因果発火を人工的に促進することによって、又は入力データ11の適用に付随して早期スパイクを誘発( inducing)することによって反因果発火を促進することによって、達成されることができる。これは、寄与経路の正又は負のシナプス重み調整をそれぞれ引き起こす。
【0056】
[0069]
図3Bでは、所望のスパイク応答14A、14B、14Cが、3つの入力パターンpについて示されている。第1の入力パターンの応答は、第1の時間ビン15A中に生成され、第2のパターンの応答は、第2の時間ビン15B中に生成され、第3のパターンの応答は、第3の時間ビン15C中に生成された。第1のパターン(p
1)は、タプル
【数1】
を有する。第2のパターン(p
2)は、タプル
【数2】
を有する。最後に、第3のパターン(p
3)は、タプル
【数3】
を有する。
【0057】
[0070]一意の応答方法の目的は、各一意の入力パターンについて一意の時空間スパイク列のセットを生成することであり得る。これらの時空間スパイク列は、正確に時間指定された電気パルスのシーケンスとして構成され得る。応答の一意性は、以下に説明されるように記述されることができる。
【0058】
[0071]Aは、出力スパイク列を生成するニューロンのセットを示す。pを所与の既知の入力パターンとする。AのサブセットであるApは、所与の入力パターンpに対して発火するニューロンのセットを示す。As={Ap|p∈P}を、全ての既知の入力パターンPのセットの各入力パターンpに対して発火するニューロンの全てのセットのセットとする。
【0059】
[0072]更に、
【数4】
を、特定の入力パターンpに対するニューロンiの正確な発火時間のセットとする。
【数5】
を、特定の入力パターンpに対する全ての出力ニューロンについての正確な発火時間1、2、・・・、N
Oのセットのセットとする。全ての既知の入力パターンPのセットの全ての入力パターンpについての正確な発火時間を包含するセットのセットをB
s={B
p|p∈P}と示す。
【0060】
[0073]一実施形態では、入力データ11に対するネットワークの応答は、例えば、時間変動入力の各所与のサンプリングウィンドウ内で、以下の規則のうちの1つ以上が適用される場合、一意と呼ばれることができる。第1の規則として、P中の全ての一意の入力パターンp、q(このことからp≠q)に対して、Δ(Ap,Aq)≠0が成り立つべきである。第2の規則として、P中の全ての一意の入力パターンp、qに対して、Δ(Bp,Bq)≠0が成り立つべきである。
【0061】
[0074]距離Δ(Ap,Aq)及びΔ(Bp,Bq)は、とりわけ、Victor-Purpura、Van Rossum、ISI、又はSPIKE距離などの適切なスパイク距離メトリックΔ(・,・)を使用して共に計算されることができる。
【0062】
[0075]これらの規則は、シナプス重みの構成のための目的として適用されることができ、ここで、それらは、以下のように言い換えられることができる。第1の重み構成目的は、As中の全てのApに対して、As中の各Aqに対する距離Δ(Ap,Aq)を最大化することであり得、ここで、qは、P中の特定の異なる入力パターンである。第2の重み構成目的は、Bs中の全てのBpに対して、Bs中の各Bqに対する距離Δ(Bp,Bq)が最大化され、Bs中の各Bqに対する和集合Bp∪Bqが最小化されることであり得、ここで、qは、P中の特定の異なる入力パターンである。
【0063】
[0076]所望のスパイクタプルは、これらの重み構成目的に基づいて生成されることができ、例えば、入力符号化器段202は、以下で提示されるようにCC-STDPを使用して訓練されることができる。この演習の目的は、入力パターン中の特徴間を区別するために後続の段が使用することができる一意の応答をもたらす入力符号化器段202の構成に到達することである。
【0064】
[0077]構成目的は、最適条件をもたらすことを意図されるが、これは、計算コストが高くあり得る。より単純なアプローチは、入力符号化器段の出力が後続の処理段中の特徴間を区別するために必要とされる最小感度閾値を少なくとも満たす点まで、Δ(Ap,Aq)、Δ(Bp,Bq)が増大し、Bp∪Bqが減少するように、目的を制限することである。これは、符号化のロバスト性及び品質に影響を及ぼすことなく、重み構成訓練プロセスのランタイムが低減されることを可能にする。
【0065】
[0078]スパイクタプルのフルセットが全ての対象のパターンについて記述又は生成されると、セル301、302、303中のニューロン1接続のシナプス素子2の重みは、それらが提示された入力パターンに対する所望の一意の応答を示すように訓練されることができる。教師あり学習レジームでは、この訓練は、教師あり方法(例えば、とりわけ、自動符号化器法、網羅的探索、勾配降下、逆伝搬を使用)を使用して実行される。しかしながら、これは、計算コストが高価である。以下では、新しいSTDP重み容易化方式(new STDP weight facilitation scheme)に依拠する半教師あり訓練方法を説明する。半教師ありとは、結果として生じる誤差が何であるかを言うのではなく、例えば、ある特定の入力パターンに対する一意の応答を取得するための所望の又は必要なスパイクが何であること言うことを意味することができる。
【0066】
[0079]従来のSTDPでは、シナプス素子の重み変化は、その特定のシナプス素子2によって互いに接続された2つのニューロン1の相対発火時間に依存する。しかしながら、結果として生じる重み変化は、主に局所的な挙動の結果である。因果連鎖STDP(CC-STDP)は、代わりに、シナプス前ニューロンの因果関係のより長い連鎖における重み変化を断定(predicates)し、即ち、重みは、発火イベントがネットワークの後続の層におけるニューロンの発火に寄与する場合にのみ調整される。
【0067】
[0080]
図4は、CC-STDP学習規則の原理を示し、それは、重みw
1,2を有する特定のシナプス素子2のシナプス前ニューロンN1とシナプス後ニューロンN2との間の深い因果関係、反因果関係、及び非因果関係と、ネットワークの後続の層におけるニューロンN3、N4、N5とを識別することができる。
【0068】
[0081]CC-STDP規則は、特定の出力スパイク応答を取得するために、セルの半教師あり訓練において適用されることができる。例えば、nが、特定の時間tspike nにスパイクが望まれる特定の出力ニューロンであると仮定する。訓練中、ニューロンnにおいて時間tspike nにスパイクを人工的に誘発することによって、ネットワークの早期層におけるニューロンとニューロンnとの間の関係の性質が確立されることができる。これらの関係は、因果的(早期層におけるニューロンが出力ニューロンにおいてスパイクを引き起こす)、反因果的(早期層におけるニューロンが出力ニューロンにおいてスパイクを引き起こさないが、2つのニューロンがそれらの発火において同期され、初期ニューロンが出力ニューロンの後に発火する)、又は非因果的(2つのニューロンがそれらの発火挙動においていかなる同期性も有さない)であり得る。CC-STDPは、このことから、ネットワークの先行する層におけるニューロンと所望の出力ニューロンとの間の因果関係の識別を可能にすることができ、因果関係のこの経路に沿った介在シナプス素子の重みを調整させることができる。
【0069】
[0082]スパイクが望ましくない場合があるニューロンにおいて、セルへの入力サンプルの提示に付随して、即ち同じ時間間隔でスパイクを誘発することによって、反因果関係がエミュレートされることができる。これは、出力ニューロンを全ての先行する層におけるニューロンの前に発火させることができ、このことから、反因果関係をもたらし、次に、この経路に沿った介在シナプス素子の局所的な抑圧を引き起こす。
【0070】
[0083]このことから、特定の時間tspike kに所望の出力ニューロン(1つ以上)においてスパイクを誘発し、入力刺激の印加に付随して同時に他のニューロンにおいてスパイクを誘発することによって、ネットワークは、所望のスパイキング応答パターンで応答するように構成される。
【0071】
[0084]ニューロンiとニューロンjとの間に位置するシナプス素子の重みw
i,jは、例えば、以下の規則に従って変化することができる:
【数6】
【0072】
[0085]ここで、式(1)では、Δwi,jは、ニューロンiとニューロンjとの間のシナプス素子に対する有効な重み変化であり、wj,kは、ニューロンjと後続の層のニューロンkとの間のシナプス素子の重みである。tspike i、tspike j及びtspike kは、ニューロンi、j及びkがそれぞれスパイクする正確な時間を指す。δwi,jは、スパイキングのそれらの相対時間による、ニューロンiとニューロンjとの間のシナプス素子における重み変化であり、STDP学習規則を使用して計算され得る。
【0073】
[0086]このことから、式(1)の学習規則によると、ニューロンiとニューロンjとの間のシナプス素子における重み変化が正であるべきである場合、及びニューロンjとニューロンkとの間の重みが非0である場合、及びニューロンkがニューロンi及びニューロンjの両方よりも遅くスパイクする場合、Δwi,j=δwi,jである。ニューロンiとニューロンjとの間のシナプス素子における重み変化が負であるべき場合、Δwi,j=δwi,jである。最後に、ニューロンkがスパイクしない場合、ニューロンkが直ちにスパイクする場合、又はニューロンkがニューロンi若しくはニューロンjのうちのいずれかよりも早くスパイクする場合、又はニューロンjとニューロンkとの間の重みが0である場合、重み変化は0になる。後者の場合、ニューロンi発火とニューロンk発火との間に因果関係はないようである。
【0074】
[0087]代替的な学習規則も使用され得、その場合、上記の式におけるスパイク時間パラメータは、選択された学習規則の基本パラメータ(例えば、スパイクレート)によって置き換えられ得る。
【0075】
[0088]この原理は、
図4を参照して説明されることができる。例えば、スパイクは、特定の出力ニューロンにおいて特定の時間に誘発される(例えば、ニューロンN3においてスパイク時間t
spike N3=4msに、ニューロンN4においてスパイク時間t
spike N4=3msに、及びニューロンN5において誘発スパイクなし)。このようにして、所望の特定の時空間スパイク出力パターンが作成される。この所望の出力パターンは、スパイキングニューラルネットワークの特定の時空間入力パターン(例えば、t
spike N1=1msに発火するニューロンN1)に属する。例えば、この入力パターン及び特定のシナプス重みw
1,2により、ニューロンN2は、t
spike N2=3msに発火する。シナプス素子に対する有効な重み変化Δw
1,2は、例えば上記の式(1)を使用して計算されることができる。w
2,3≠0であるので、及びw
1,2>0である場合、この特定の時間に発火するニューロンN3からの寄与は、δw
1,2である。w
2,4=0であるので、シナプス重み上で発火するニューロンN4からの結果として生じる変化は0である。ニューロンN5はスパイクしないので、ニューロンN5からの結果として生じる変化は0である。
【0076】
[0089]CC-STDPがスパイキングニューラルネットワークを訓練するために使用される実施形態では、特定の時間に特定のニューロン1におけるスパイク生成を誘発及び/又は抑制することが可能であることが必要であり得る。例として、これは、以下の方法で行われることができる(このリストは網羅的ではない)。スパイクを誘発するために、1つの方法は、バイアス電圧入力によって、発火閾値を超える電圧まで対応するニューロンの膜を駆動し、それによってスパイクの生成を誘発することであろう。別の方法は、所望の時間にニューロンの出力に人工スパイクを注入することであり得る。スパイクを防止するために、1つの方法は、不応電圧(refractory voltage)又は最低可能電圧まで対応するニューロンの膜を駆動し、スパイクの生成を防止することであろう。代替として、例えばニューロン入力を積分器から切断し、それによって例えばスパイク生成回路を出力から切断することによって、ニューロンにおけるスパイク生成を無効にすることができる。ニューロン中でのスパイク生成を誘発又は無効化するためのこれらの信号は、教師入力13A、13B、13Cとして例示されており、それらは、各セル301、302、303に対する所望の一意の応答を取得するために使用されることができる。
【0077】
[0090]
図5Aは、2つの別個のデータストリーム11A、11Bの融合と、パターン分類器段204中の融合されたストリーム12Cを使用する後続のパターン分類とを通じたセンサ融合パターン認識装置の構成を示す。パターン分類器段204の出力12Dは、例えば、パターン分類器段204の出力ニューロンによって生成された時空間スパイク列12Dのセットであり得、ここで、セット12Dの各スパイク列は、パターン分類器段204中の単一の特定の出力ニューロンによって生成される。
【0078】
[0091]即ち、層が段中に複数の同時セル(例えば、融合システム中の入力符号化器段を形成する複数の入力符号化器202A、202B)を有する場合、これらのセル202A、202Bの各々は、後続の段203を有するセル中でインスタンス化される前に最初に構成されることができる。ネットワークの全ての段は、教師入力13A1、13A2、13B1、13B2、13C、13Dを使用して訓練され得る。全ての同時セルが同一のデータに対して同一の機能を実行する場合(例えば、レーダートランシーバにおける異なる受信アンテナの入力符号化、又は異なる方向に向けられた異なるマイクロフォンの入力符号化)、各インスタンスに対して別個の訓練シーケンスを実行する必要はない場合がある。むしろ、単一の訓練されたセルは、複数回インスタンス化されることができる。結果として、訓練されたセル又はその構成は、同じ機能を実行するために異なるスパイキングニューラルネットワークにおいて実装されることができる。従って、スパイキングニューラルネットワークの構成中に、同じ機能が必要とされる場合、いかなる新たな訓練も必要とすることなく、既に訓練されたセルが実装されることができる。スパイキングニューラルネットワークの構成は、このことから、掛かる時間がより短くなり、複雑さがより少なくなる。
【0079】
[0092]メモリデバイスは、訓練されたセルのテンプレートライブラリとして使用されるように構成されることができる。そのようなメモリデバイス上に、スパイキングニューラルネットワークの1つ以上の訓練されたセルのソフトウェア及び/又はハードウェア設定が記憶されることができる。そのようなセルのシナプス素子2の構成設定は、例えば、シナプス素子のそれぞれの重みであり得る。そのようなセルのニューロン1の構成設定は、例えば、発火閾値、漏出率、静止値、不応レベル、不応期間、又はニューロンの他のパラメータであり得る。
【0080】
[0093]各セルは、特定の機能を実行するように訓練される。特定のスパイキングニューラルネットワーク中で、その特定の機能を有するそのような新しいセルが必要であるとき、セルは、最初から訓練される必要がなく、それは、時間を節約し、スパイキングニューラルネットワークが遥かにより効率的に実装されることを可能にする。代わりに、その機能のために設計された事前訓練されたセルからの構成設定は、テンプレートライブラリとして構成されたメモリデバイスから取得されることができる。事前訓練されたセル構成設定を使用して新しいセルをインスタンス化することによって、新しいセルは、事前訓練されたセルと同じ方法で機能することが可能になる。
【0081】
[0094]メモリデバイスは、任意のコンピュータ可読記憶媒体であり得る。メモリデバイスは、非一時的記憶媒体であり得る。例示的なコンピュータ可読記憶媒体は、(i)情報が永久的に記憶され得る書込み不能記憶媒体(例えば、CD-ROMドライブによって可読なCD-ROMディスク、ROMチップ、又は任意のタイプのソリッドステート不揮発性半導体メモリなどのコンピュータ内の読み出し専用メモリデバイス)、及び(ii)変更可能な情報が記憶され得る書込み可能記憶媒体、例えば、ハードディスクドライブ又は任意のタイプのソリッドステートランダムアクセス半導体メモリ、フラッシュメモリを含むが、それらに限定されない。
【0082】
[0095]テンプレートライブラリはまた、各々が特定の機能を実行するように事前訓練されたハードウェアスパイキングニューラルネットワークセルの集合であり得る。これらのハードウェアセルは、その特定の機能を有するセルを必要とするスパイキングニューラルネットワーク中で直接使用されることができる。
【0083】
[0096]
図5Aでは、2つのデータ変換器段201A、201Bは、セル301A、301B中の入力パターン信号11A、11Bでそれぞれ訓練され得、スパイク応答出力12A1、12ABを生成する。セル301A、301Bの構成は、各々が後続の段、即ち入力符号化器段202A、202Bも含むセル302A、302B中に保存され、インスタンス化され得る。セル302A、302Bは、入力パターン信号11A、11Bでそれぞれ訓練され得、それは、データ変換器段201A、201Bの出力12A1、12B1が入力符号化器段202A、202Bへの入力データとなることをもたらす。セル302A、302Bの構成は、同様に、後続の段、即ちデータ融合段203も含むセル303中に保存され、インスタンス化され得る。セル303は、入力パターン信号11A及び11Bの両方を使用して訓練され得、それは、入力符号化器段202A及び202Bの出力12A2及び12B2がデータ融合段203への入力データになることをもたらす。入力符号化器段202A及び202Bの出力12A2及び12B2の時空間スパイク列は、その後、データ融合段203の1つ以上のニューロン1に同時に入射する。データ融合段203の出力12Cは、複数のスパイク列(入力符号化器段202A、202Bからの出力12A2及び12B2)による関節刺激に応答して生成された、時間スパイク列(データ融合段203が1つの出力ニューロン1のみを備える場合)又は時空間スパイク列のセット(データ融合段203が複数の出力ニューロン1を備える場合)である。結果として生じるスパイク列(1つ以上)の融合されたセット12Cは、融合された全ての入力パターン信号11A、11Bの特徴空間の組み合わせを表す。その結果として、融合されたスパイク列は、現在の時間ウィンドウ中の入力パターン信号中に存在する全ての特徴を符号化する。
【0084】
[0097]例えば、入力パターン11A、11Bの特徴e及びfをそれぞれ包含する入力スパイク列12A2、12B2の2つのセットを融合するとき、結果として生じる融合されたスパイク列(1つ以上)12Cは、特徴e及びfの両方の対応する一意の表現を包含する。データ融合段203を構成する目標は、融合された出力信号12Cの特徴サブ空間への各入力パターン信号11A、11Bの完全な特徴空間のこの一意のマッピングを達成することである。
【0085】
[0098]それらのそれぞれの入力パターン信号Mα及びMβ中の特徴を符号化し、スパイク列Pα及びPβの2つのセットを生成する2つの入力符号化器α及びβを検討する。
【0086】
[0099]符号化したいであろう信号Mα中のu個の既知の特徴のセットは、Φ(α)={φ1,φ2,・・・,φu}として与えられ、それは、このことから、信号Mαの特徴空間である。{1,・・・,u}中のiについての各特徴φiは、時空間スパイク列のセットとして符号化される。Aα={A1,A2,・・・,Au}は、特徴φiに対して発火する出力ニューロンAiのセットのセットである。全てのu個の既知の特徴に対するニューロンの正確な発火時間を包含するセットのセットは、Bα={B1,B2,・・・,Bu}であり、ここで、Bαにおける各Biは、特徴φiに対する出力ニューロンの正確な発火時間のセットである。
【0087】
[00100]データ融合が無損失であるために、融合されたスパイク列(1つ以上)Φ(γ)の特徴空間は、異なる入力信号の個々の特徴空間を包含することができる:
Φ(γ)=Φ(α)・Φ(β)+Φ(α)+Φ(β) (2)
【0088】
[00101]特徴空間Φ(γ)に対応する時空間スパイク列は、入力符号化について述べた規則1及び規則2を守ることができ、即ち、そのため、それらは、後続の処理段がスパイクコーディングされた特徴間を区別することを可能にするのに十分な一意性を有することができる。このことから、スパイクタプルの生成は、上述された一意の応答方法を使用することができ、入力スパイク列中の特徴の各一意の組み合わせは、融合ブロック中の出力時空間スパイク列の一意のセットをもたらす。
【0089】
[00102]
図5Bは、実施例において、複数の時間スパイク列30A、30Bがどのように単一の融合されたスパイク列35に融合されるかを概略的に示す。時間スパイク列30A、30Bは各々、シナプス素子31A、31Bを通じて送信され、ニューロン34上でインバウンドする。ニューロン34は、1つ以上のシナプス素子33を介してニューロン34に接続された反復接続32を有することができる。融合されたスパイク列35は、第1の時間スパイク列30A及び第2の時間スパイク列30Bの両方の特徴空間の組み合わせを表す。融合されたスパイク列35中のこれらの特徴の表現は十分に一意であるため、後続の処理段は、第1の時間スパイク列30Aのスパイク符号化された特徴と第2の時間スパイク列30Bのスパイク符号化された特徴との間を区別することができる。
【0090】
[00103]データ融合を使用する信号認識システムでは、データソースは、最終結果に対するそれらの影響に基づいて重要性が異なり得る。ある特定の特徴は、信号認識プロセスにとって主要なものであり得るが、他の特徴は、認識結果の品質を向上させる役割しか果たさない。その結果として、Aα及びAβの融合された特徴空間を表すスパイク列のセットであるAγのサイズは、あまり重要でない特徴の影響を減少させることによってサイズが低減されることができる。これは、少なくとも3つの方法で行われ得る。
【0091】
[00104]第1に、特定の入力スパイク列のあまり重要でない特徴に付随して、データ融合段203の出力ニューロン中に反因果スパイクを導入することによる。この方法は、入力パターンのうちのいずれも所望の特徴を包含しない場合に適用可能であり得る。
【0092】
[00105]第2に、あまり望ましくない特徴はまた、融合プロセスにおける各々の優先度に対応する、各入力符号化器段202A及び202Bからの出力を受信するデータ融合段203の入力シナプス素子中に重みバイアスを導入することによって抑制され得る。その結果として、入力符号化器段202A、202Bからのスパイク列は、それらが融合される前に、データ融合段203の出力に対するそれらの所望の影響に従って重み付けされることができる。これは、入力信号と結果として生じる融合された表現との間のエネルギー伝達の制御を容易にする。信号の優先度バイアスを増大させることにより、融合された表現に対するその信号の影響を高めることができる。信号についてのバイアスを最大化することは、融合された表現に入力信号を複製させる。逆に、信号についての優先度バイアス重みを最小化することは、融合された表現に対するその影響を低減することができるのに対して、重みを完全に無効化することは、融合された結果に対する信号の影響を完全に排除する。融合中、空間スパイク分布Aα及びAβは、データ融合段203の構成によって実現される伝達関数fを通じて融合された空間分布Aγに変換される。このことから、優先度バイアスされた実施形態では、融合された分布は、以下の形を取る。
Aγ=f((Aα,wα),(Aβ,wβ))及びBγ=f((Bα,wα),(Bβ,wβ)) (3)
【0093】
[00106]式(3)では、wα及びwβは、データ融合段203に対するスパイク列セットPα及びPβの影響を制御する優先度バイアス重みセットである。
【0094】
[00107]第3の方法は、ほぼ間違いなく最も単純であり、任意の特徴を抑制又は減少させるのではなく、代わりにその影響を融合された表現中に含めることを伴う。この特徴に対応する表現は、後続の分類段204中で単に無視され得、即ち、対象でないクラスを割り当てられ得る。このアプローチは、望ましくない特徴の組み合わせを明確に分類するので精度の増大に寄与し、それによって所望の特徴のより正確な識別を可能にする。
【0095】
[00108]次に、融合及びパターン認識のためのシステムにおける上記の原理の適用が説明される。
【0096】
[00109]
図6は、マイクロプロセッサ又はハードウェア論理システム600とインターフェースされたスパイキングニューラルネットワーク400に基づく、データ融合及び自動信号認識のためのシステム700の実施形態の簡略化されたブロック図である。
【0097】
[00110]スパイキングニューロンネットワーク400は、1つ以上の入力符号化器段4011、・・・、401Nを備え、入力符号化器段4011、・・・、401Nの各々は、構成データ717によって構成可能である。入力符号化器段4011、・・・、401Nは、入力パターン信号7111、・・・、711Nを受信し、これらの入力パターン信号を、各入力パターン信号7111、・・・、711Nの特徴空間を符号化する時空間スパイク列P1、・・・、PNに変換し得る。入力パターン信号7111、・・・、711Nのセットは、例えば、入力パターンデータをサンプリングして信号のセットを生成することによって、例えば、CCDアレイ画像センサを使用して画像を記録して、各々が画像センサの1つ以上のピクセルによって記録された画像データを表す入力パターン信号7111、・・・、711Nのセットを生成することによって導出され得る。
【0098】
[00111]各スパイク列P1,・・・,PNは、各入力パターン信号7111,・・・,711Nに応答して入力符号化器段4011,・・・,401Nの1つ以上のニューロンによって生成された、正確に時間指定された電圧スパイクのシーケンスを備え得る。
【0099】
[00112]複数のニューロンが単一の入力パターン信号7111、・・・、711Nを符号化するために使用される場合、複数のニューロンの各々からの出力は、上述された時間特性のうちの1つ以上を有する1つ以上のスパイクを備えるスパイク列であり得る。入力符号化器段4011,・・・,401Nの出力ニューロンによって生成されたアグリゲートされたスパイク列P1,・・・,PNは、提示された入力パターン信号7111,・・・,711Nに対する符号化された時空間スパイク応答を共に表す。
【0100】
[00113]
図7Aは、ニューロン1が、シナプス素子2からの出力信号などの入力信号801とどのようにインターフェースされるかを示す。ニューロン1は、ニューロン1が入力信号801に反応する方法を変えるであろうある特定の構成を有し、ここで、ニューロン構成は、構成信号C
Nを使用して設定され得る。入力信号801及びニューロン構成に応じて、ニューロン1は、ある特定の時空間スパイク列Sを出力するであろう。
図7Bでは、入力信号802は、各々がある特定の方法で構成された複数のシナプス素子2A、2Bからのシナプス出力信号の組み合わせであり、ここで、各シナプス素子の構成は、構成信号C
SB、C
SBを使用して設定され得る。シナプス素子2A、2Bは、入力として、入力信号803又は別のニューロン804からの反復入力を有することができる。
【0101】
[00114]各ニューロン1は、そのニューロン1の正確な発火挙動を制御する構成パラメータCのセットを有することができる。例えば、ニューロンは、発火閾値を用いて設計され得、発火閾値は、入力を受信した結果としてニューロン中に蓄積する電圧、エネルギー、又は他の変数の閾値を表し、ここで、ニューロンは、蓄積された変数が発火閾値を満たすか又は超えるときに出力スパイク(電圧、電流、又はエネルギースパイクなど)を生成する。ニューロンは、蓄積された変数に対する調整を決定するためにニューロンへの入力を積分する積分関数を実装し得る。加えて、ニューロンはまた、(a)ニューロン中の蓄積された変数が経時的に減衰するレートを表す漏出率、(b)ニューロンへのいかなる入力信号もない場合に蓄積された変数が経時的に減衰するであろう値を表す蓄積された変数の静止値、(c)ニューロン中の蓄積された変数の任意の増大又は減少を決定するために入力信号が積分される時間を表す積分時定数、(d)ニューロンの発火直後のニューロン中の蓄積された変数の値を表す不応レベル、(e)ニューロンの発火後にニューロン中の蓄積された変数が静止値まで上昇するために必要な時間期間を表す不応期間、で設計され得る。これらのパラメータは、各ニューロンについて事前決定され、及び/又は構成可能であり、及び/又は調整可能であり得る。例えば、臨界入力信号特徴のエネルギー量に一致するようにニューロンの発火閾値、漏出率、積分時定数、及び不応期間を調整することによって、ニューロン1は、その特徴を包含する入力信号で刺激されたときに、1つ以上の正確に時間指定されたスパイクを生成するであろう。
【0102】
[00115]
図6に戻って参照すると、各入力符号化器段401
1、・・・、401
Nは、複数のスパイキングニューロン1を備え得る。入力符号化器段401
1、・・・、401
Nへの入力は、アナログ値又はデジタル値(例えば、入力パターンデータのアナログ-デジタル変換された値)であり得る。デジタル積分器でニューロンを使用するとき、ニューロンへの各入力信号のデジタル値は、ニューロンの積分器への直接入力として提供される。入力信号のビット幅(B
s)と積分器のビット幅(B
i)は、以下の例証的な方法のうちの1つ又は組み合わせによって一致される。
【0103】
[00116]第1の方法として、Bs>Biであるとき、デジタル入力の後続(Bs-Bi)ビットが破棄される。第2の方法として、デジタル入力は、Bi>Bsであるとき、(Bi-Bs)後続「0」ビットでパディングされる。第3の方法として、デジタル入力は、Bn後続「0」ビットでパディングされるか、又はBn後続ビットが破棄され、ここで、Bnは、デジタル入力の振幅が膜の電圧範囲内でシフトされることを可能にする構成可能なパラメータであり得る。このシフトはまた、サンプル値のパディングと切り捨てとの組み合わせを使用することによって、入力信号と積分器ビット幅とが一致するときに実現されることができる。
【0104】
[00117]アナログ積分器でニューロン1を使用するとき、デジタル値は、Bsシナプス素子2へのシナプス前入力として提供されることができ、そのシナプス後出力端子は、入力符号化器段4011、・・・、401Nのニューロン1に接続される。振幅シフトは、デジタルニューロンについて前述されたように、入力信号ベクトル(ビットのストリングを備える)をBnビットだけパディング及び/又は切り捨てることによって実現されることができる。別の実施形態では、入力信号のアナログ値は、アナログ積分器への入力として直接提供されることができる。アナログ値は、ある時間期間にわたって積分器に提示されることができ、例えば、積分器に電荷を蓄積させる。適した閾値電圧を選択することによって、ニューロンの正確な発火時間を、アナログ入力信号値の振幅に反比例して変化させることができる(即ち、振幅がより高いほど、ニューロンはより早く発火する)。更に、適切に選択された感度閾値を有する複数のニューロン1を利用することによって、複雑なマルチレベルアナログ-スパイク変換器が実現されることができる。
【0105】
[00118]そのような実施形態では、データ変換器段2011,・・・,201Nが含まれ得、それは、入力パターン信号7111,・・・,711Nの提示されたアナログ電圧値を、例えば入力値間の距離と出力スパイク応答間の対応する距離とが比例する一意の等価スパイク表現に変換する。入力符号化器段4011,・・・,401Nは、次いで、データ変換段2011,・・・,201Nからのトランスコーディングされたスパイク応答において識別された特徴を一意の表現に符号化する。
【0106】
[00119]システム700に供給された入力パターン信号7111、・・・、711Nは、変動するダイナミックレンジを有し得る:低いものもあれば、高いものもある。絶対ダイナミックレンジは、それ自体重要ではない場合があるが、異なる振幅の特徴間を区別する能力は、重要であり得る。その結果として、入力符号化器段4011、・・・、401Nの構成が、対象の全ての既知の特徴をもたらし、それらが生じるいずれの振幅においても、一意のスパイク表現に符号化されることを保証することが必要であり得、即ち、その意図は、対象の範囲中の1つよりも多くの振幅において一意のスパイク特性を取得することであり得る。
【0107】
[00120]その結果として、入力符号化器段4011,・・・,401Nは、任意の数の入力を接続し、入力パターン信号7111,・・・,711N中に存在する特徴を符号化する任意の数のスパイク列出力P1,・・・,PNを生成するニューロン1のグループを備え得、ここで、入力信号7111,・・・,711Nは、例えば、入力パターン信号の単一のサンプリングされたデータ点、又は入力パターン信号の空間的若しくは時間的若しくは時空間的な一連のサンプリングされたデータ点として定義されることができる。
【0108】
[00121]入力パターン信号中で検出されるべき特徴又はパターンは、例えば、単一のサンプリングされた入力データ点又はサンプリングされた入力データ点のセットの特定のコンテンツ、例えば、特定の時点における入力信号の振幅、バイナリ画像フレーム中のある特定のロケーションにおける「オン」ピクセルの存在、特定の時点における特定の入力信号属性の強度であり得る。
【0109】
[00122]検出されるべき特徴又はパターンはまた、入力信号を形成する一連のサンプリングされたデータ点におけるコンテンツの空間シーケンス、例えば、バイナリ画像中のオブジェクトのエッジに対応する「オン」ピクセル中に存在することができる。
【0110】
[00123]検出されるべき特徴又はパターンはまた、入力信号を形成する単一のデータ点の複数のサンプルにわたるコンテンツの時間シーケンス中、又はサンプリングされたデータ点の複数の空間シーケンスにわたるコンテンツの時間シーケンス中にあり得る。例えば、入力信号中の三角波パターンを特徴付ける、振幅の上昇シーケンスの後に続く振幅の下降シーケンス、又は経時的な物体の移動に対応する、入力信号を形成するビデオ画像の複数のフレームにわたる物体のエッジの変位。
【0111】
[00124]
図6に示された実施形態に戻って参照すると、入力符号化器段401
1,・・・,401
Nによって生成されたスパイク列出力P
1,・・・,P
Nは、最初に、上記で説明されたように、優先度バイアスモジュール402中で優先度バイアス方式に従ってオプションとして重み付けされ、次いで、
図6に図示されたデータ融合段403中で融合される。結果として生じる時空間スパイク列712は、次いで、分類器段404によって受信され、分類器段404は、時空間スパイク列712を分類する。分類器段404は、トランスコーディングされた表現中に存在する最も強い時空間パターンを識別し、これを例えば特定の出力ニューロンと関連付けることができる。
【0112】
[00125]分類器の入力は、例えば、入力信号711
1、・・・、711
Nのただ1つのセットを有するシステムの場合、例えば、入力符号化器段からのスパイク列P
1、・・・、P
Nのセット、又は、符号化され、その後、スパイク列712の代表セット中に融合される入力信号711
1、・・・、711
Nの複数のセットを有するシステムの場合、データ融合段403からのスパイク列712のセット、のうちのいずれかであり得る。
図6では、分類器段404は、データ融合段403からその入力712を取得する。
【0113】
[00126] 分類器の出力713は、出力ポートR上の時空間スパイク列713の分類されたセットであり得、ここで、各スパイク列713は、分類器404中の単一の特定の出力ニューロンによって、又は複数の出力ニューロンによって生成されることができる。一意の応答原理に準拠する分類器の実施形態では、スパイクは、各一意の入力特徴又は入力パターン信号中の入力特徴の一意の組み合わせについて、別個の出力ニューロンによって生成されることができる。この実施形態では、対象の各パターンについてのスパイクタプルは、特定の時間間隔でスパイクし、少なくとも1つのスパイクを有する単一のニューロンから成る(即ち、Apは、パターンpについての単位セットである)。出力ポートは、その結果として、少なくとも対象のパターンと同数のスパイク列を包含することができる。
【0114】
[00127]これを前述された重み構成目的に関して言い換えると、Aを、既知の入力パターンに応答して出力スパイク列713を生成する分類器の出力ニューロンの一般的なセットとし、Apを、所与の既知の入力パターンpに対して発火するニューロンを包含するAのサブセットとし、As={Ap|p∈P}を、全てのApのスーパーセットとし、既知の入力パターンpのセット中の全てのpに対して、次に、上記が成り立つ分類器段404に対して:As中の各Apは、単位セットになり、p≠qであるP中の各qに対して、Ap≠Aqが成り立つ。
【0115】
[00128]次に、再び
図6を参照すると、出力変換段501を備える論理ユニット500は、分類器段404からの出力713(例えば、時空間スパイク列713のセット)を、例えば、例えば辞書601に記憶され、それから取り出されることができるデジタルコード714に変換することができる。
【0116】
[00129]分類器段404の出力は、このことから、時空間スパイク列713のセットであり得、1つ以上の特定のスパイク列713は、特定の特性を示し、このことから、例えば、入力パターン7111、・・・、711Nが特定のクラス又はラベルに属するものとして識別されることを可能にする。出力変換段501は、スパイク列特性を、辞書601に記憶され、それから取り出されることができるデジタルコード714に変換することによって、この識別プロセスを容易にすることができる。
【0117】
[00130]スパイク列中の特徴情報は、いくつかの形態、例えば、入力刺激が提示された経過時間期間中に分類器段404の出力ニューロン1が発火した母集団コード、入力刺激が提示されてから特定の時間期間内に分類器段404の出力ニューロン1が最初に発火した母集団時間コード、入力刺激が提示された経過時間期間中に分類器404の出力ニューロン1によっていくつのスパイクが生成されたかを記述する母集団レートコード、分類器段404の特定の出力ニューロン1が発火した正確な時間を記述する時間コード、最後に、分類器段404の特定の出力ニューロン1の発火率を記述するレートコード、で符号化され得る。
【0118】
[00131]空間及び時間スパイキング情報の組み合わせは、純粋に空間的な分類器404の出力よりも多くの詳細を提供することができる。例えば、入力パターン信号7111、・・・、711Nが2つの支配的な特徴X及びYを包含し、一方が他方よりも強いと考える。2つの特徴の相対強度は、それらのそれぞれの分類段出力713の発火率を測定することによって決定されることができる。代替として、より強い特徴は、対応する出力ニューロン1の時間コードに基づいて、具体的にはどの出力ニューロン1がより早く発火したかを決定することによって、識別されることができる。
【0119】
[00132]出力変換段501は、分類器の出力ポート上のスパイクアクティビティを分析するための回路を包含することができる。回路は、例えば、ユーザ構成717に従って、アレイのニューロン1のスパイキング挙動に対してユーザが実行したい分析のタイプ、即ち、スパイキング母集団、正確なスパイクタイミング、発火率、及びそれらの組み合わせに基づいて起動される。
【0120】
[00133]コードタイプ母集団の場合、変換の方法は、ニューロンが入力パターン信号の印加に続いて現在の時間間隔中にスパイクしたかどうかを示すために、分類器段404の出力ニューロン毎に1つのレジスタを有することから成る。コードタイプ母集団の場合、変換の方法は、入力パターン信号の印加に続いて現在の時間間隔においてどのニューロンが最初にスパイクしたかを示すために、分類器段404の出力ニューロン毎に1つのレジスタを有することから成る。最も早いスパイクイベントが登録された後、他のレジスタは無効にされる。コードタイプ母集団レートの場合、変換の方法は、入力パターン信号の印加に続いて現在の時間間隔中に出力ニューロンによって生成されたスパイクの数をカウントするために、分類器段404の出力ニューロン毎にカウンタを有することから成る。非0のスパイクカウント値を有するカウンタも、母集団コードを示す。コードタイプ時間の場合、変換の方法は、入力パターン信号の印加から出力ニューロンがスパイクするまでに経過した時間を正確に測定するために、分類器段404の出力ニューロン毎に時間-デジタル変換器を有することから成る。最後に、コードタイプレートの場合、変換の方法は、入力パターン信号の印加に続いて現在の時間間隔中に出力ニューロンによって生成されたスパイクの数をカウントするために、分類器段404の出力ニューロン毎にカウンタを有することから成る。
【0121】
[00134]出力変換段501への入力は、分類器段404の全ての出力ニューロン1からのスパイクのベクトル713であり得、回路501からの出力714は、ユーザによって選択された出力コードのタイプに対応するデジタル値のセットであり得る。出力変換段501への入力713は、信号サンプルが有効である時間ウィンドウの持続時間中に提示されることができる。出力変換段501からの出力714は、時間ウィンドウの終わりに有効であり得、次の時間ウィンドウが始まる前にリセットされることができる。分類出力713は、入力パターン信号(1つ以上)7111、・・・、711N中のパターンの一意のフィンガープリントとして利用されることができる単一のハッシュコード又はハッシュコードのセットに変換されることができる。
【0122】
[00135]次に、再び
図6を参照すると、ハッシュテーブル又は辞書ルックアップ機能601を備えるマイクロプロセッサ又は論理回路600がデジタルコード714を取得し、その後、認識された特徴に対応するユーザ空間識別子を決定するためにハッシュテーブル又は辞書ルックアップ動作が実行されることができる。
【0123】
[00136]この動作は、分類器段404の出力をユーザ空間、即ち入力パターンのユーザ定義識別子に復号することを可能にする。構成段階中に、パターン認識装置400は、サンプル特徴及びパターンで訓練され得、生成されたハッシュコードが記録されることができる。サンプルパターンは、例えば、ハッシュテーブル又は辞書601中に生成されたハッシュコードと共に記憶され得るユーザ定義識別子を割り当てられることができる。ランタイム時に、認識装置400が信号中の特徴を認識するために使用されるとき、生成されたハッシュコードは、認識された特徴に対応するユーザ空間識別子を決定するために、ハッシュテーブル又は辞書ルックアップ動作において使用される。
【0124】
[00137]
図6に示されたリセット生成器及びシーケンサ718は、例えば、新しいサンプリングウィンドウの開始時に、例えば、データ融合段403、分類器段404、及び出力変換段501のコンテンツをリセットすることができる。この動作は、ネットワーク400から残留スパイクを除去し、以前のウィンドウの影響なしに次のサンプリングウィンドウが評価されることを可能にする。
【0125】
[00138]サンプリングウィンドウは、ウィンドウサイズに等しい深さの入力バッファとして実装されることができる。代替として、構成可能な仮想サンプリングウィンドウは、ネットワーク中でのスパイキング挙動を停止させ、出力段をリセットする周期的なリセット信号の使用を通じて実現されることができる。そのような方法におけるサンプリングウィンドウは、リセット信号と同じ期間を有することができる。サンプリングウィンドウを構成するとき、期間は、最長の既知の特徴を完全に収容するように十分に長くあるべきであるが、各ウィンドウの特徴コンテンツが最小化され、このことから特徴認識の精度を増大させるように十分に小さくあるべきである。サンプリングウィンドウの幅は、システム700が検出することができる特徴の粒度に影響を与える可能性がある。一般に、サンプリングウィンドウ持続時間は、入力信号中に特徴が存在する時間スケールよりも大きくなければならず、サンプリングレートはナイキストレート以上であると言える。異なるタイムスケールにおける特徴は、複数の入力符号化器段4011、・・・、401N、又は単一の入力符号化器段4011、・・・、401Nの使用を通じて検出されることができる。サンプリングウィンドウの長さはまた、出力変換段501中で使用されるカウンタの幅に対して影響を及ぼす可能性がある。
【0126】
[00139]
図8は、リセットパルスの生成の例を示す。クロック情報904は、アップカウンタ901の値を変える。サンプリング期間905に関する情報と共に、アップカウンタ901の値は、比較器902にサブミットされる。比較器902は、アップカウンタ901の値が依然としてサンプリング期間905内にあるかどうかをチェックする。もはやそうでない場合、比較器902は、信号をパルス発生器903に送り、パルス発生器903は、リセット信号906を
図6の信号716としてアップカウンタ901とシステム700内のそれぞれのモジュールとの両方に送る。
【0127】
[00140]同様に、リセット信号について、2つの連続するリセットパルス間の期間は、例えば、以下の公式に従うことができる:
treset≧max(tfeature)+max(tfallthrough)+toutput+max(tlookup) (4)
【0128】
[00141]式(4)では、tfeatureは、特徴の持続時間であり、tfallthroughは、スパイク列が入力符号化器段から分類器段の出力に伝搬するためのフォールスルーレイテンシであり、toutputは、ハッシュ又はハッシュのセットを生成するための出力変換段のレイテンシであり、tlookupは、ハッシュテーブル/辞書ルックアップ動作のための最悪のレイテンシである。
【0129】
[00142]リセットパルスの持続時間は、適切なコンポーネントのリセット回路をトリガするのに十分でなければならない。リセット中、ネットワーク400中の全てのニューロン1の状態がリセットされ、即ち、例えば、膜電圧が静止状態に戻され、インターフェース信号がそれらの初期化状態(即ち、システムがプログラムされた後にそれらが有していた状態)にリセットされ、シナプス読み出し回路がリセットされ(重みが保持され)、飛行中のシナプス更新が放棄される。出力段500では、ニューロン1における母集団及び発火率を追跡するカウンタ及びレジスタもリセットされることができる。リセットは、入力符号化器段4011、・・・、401Nに影響せず、サンプリングウィンドウ間の遷移中であってもスパイクに対する入力パターン信号7111、・・・、711Nの連続的な符号化を保証する。
【0130】
[00143]
図9は、複数の異なる入力パターン信号の、スパイク列の単一の代表セットへの融合を実行し、その後、パターン/特徴を検出及び識別するためにこのスパイク列に対して自動信号認識を実行するための方法1000を例示する。方法1000は、開始点1000Sにおいて開始する。
【0131】
[00144]第1のステップ1001では、新しい信号サンプルが、1つ以上の入力符号化器段4011、・・・、401Nによって時空間スパイク列として符号化される。1つ以上の出力符号化器の出力は、時空間スパイク列P1,・・・,PNである。
【0132】
[00145]第2のステップ1002では、スパイク列P1,・・・,PNは、優先度バイアスによる融合におけるそれらの重要度に従って重み付けされる。優先度バイアスモジュール402の出力は、重み付けされた異なる時空間スパイク列である。
【0133】
[00146]第3のステップ1003では、異なる時空間スパイク列は、データ融合段403によって、個々の特徴サブ空間を包含するスパイク列712の代表セットに統合される。データ融合段の出力は、融合された時空間スパイク列712である。
【0134】
[00147]第4のステップ1004では、分類器段404は、融合後スパイク列712中で、空間、時間、及びレート特徴を分類する。時間スパイク列は、このようにしてカテゴリ化される。
【0135】
[00148]第5のステップ1005では、出力変換段501は、カテゴリ化されたスパイク列713を分類コード714に変換する。
【0136】
[00149]第6のステップ1006では、方法は、新しいサンプリングウィンドウが開始するまで待機し得る。
【0137】
[00150]第7のステップでは、分類コード714に対応するパターン識別子700のハッシュテーブル又は辞書601におけるルックアップ及び出力が実行される。
【0138】
[00151]最後に、第8のステップ1008では、データ融合段403、分類器段404、及び出力変換段501がリセットされる。
【0139】
[00152]方法は、次いで、再び第1のステップ1001から開始して繰り返されることができる。
【0140】
[00153]一般に、本明細書で説明されるシステム及び方法は、一意の刺激に応答して一意の時空間スパイク列を生成する手段としてスパイキングニューロン1のネットワークを使用し、ここで、応答の一意性は、スパイキングニューロン1及び相互接続ネットワークの動作パラメータを通じて制御可能である。システムは、構成可能なパラメータを有するシナプス素子2を通じて相互接続された、構成可能なパラメータを有するスパイキングニューロン1のアレイから成る。アレイを複数の異なるネットワークに仮想的に区分することによって、システムは、複数の機能を同時に実現することができる。
【0141】
[00154]例えば、1つのネットワークは、複数の異なるサンプリングされた入力信号を、入力信号の特徴空間を完全に符号化する時空間スパイク列の代表セットに変換することを実現し得る。
【0142】
[00155]第2の構成では、本発明は、複数の異なるサンプリングされた入力信号を、全ての入力信号の個々の特徴空間のスーパーセットである特徴空間を有する時空間スパイク列の単一の代表セットに変換することを実現し得る。
【0143】
[00156]第3の構成では、本発明は、ネットワークの一意性の適切な構成を通じて、時空間スパイク列の1つ以上の出力クラスへの分類を実現し得る。
【0144】
[00157]本発明のニューロン、シナプス素子、及び相互接続ネットワークの構成可能性は、同じアレイ中のニューロンの別個のグループ上の全て3つの構成を異なる組み合わせで同時に実現することを容易にする。シナプス素子は、構成可能なスイッチマトリクスとして機能する。
【0145】
[00158]実施形態によるスパイキングニューラルネットワーク1100が
図10に示されており、ここで、ニューロンN0、・・・、N7は、構成可能なスイッチ1103を介して構成可能なシナプス素子2のアレイ1102から成る構成可能なスイッチマトリクスを通じて相互接続されたニューロン1101のアレイ中に配置される。
【0146】
[00159]入力信号1104は、シナプス素子2の重みに従ってシナプス素子1102のアレイを介してニューロンN0、・・・、N7に送信され得る。加えて、2つのニューロンN0、・・・、N7は、シナプス素子2の重み及び構成可能なスイッチ1103の接続トポロジに従って、シナプス素子1102のアレイ及び構成可能なスイッチ1103を介して相互接続され得る。入力信号1104をニューロンN0,・・・,N7に接続するか、又はニューロンN0,・・・,N7のペアを相互接続するシナプス素子2における正の重みは、シナプス後ニューロンN0,・・・,N7の興奮をもたらす。これらの接続シナプス素子2における負の重みは、シナプス後ニューロンN0、・・・、N7の抑制をもたらし、これらの接続シナプス素子2における0重みは、シナプス後ニューロンN0、・・・、N7への接続をもたらさない。
【0147】
[00160]ニューロンN0、・・・、N7及びシナプス素子2のための構成パラメータ、相互接続トポロジ、並びに出力段構成パラメータは、スパイキングニューラルネットワーク1100が初期化状態に設定される度に構成メモリからロードされることができる。この動作により、ニューロンN0、・・・、N7が、ロードされた相互接続トポロジ及びシナプス重みに従って相互接続され、ニューロン及びシナプス素子パラメータが、関連するロードされた構成パラメータに従って初期化され、システムパラメータが、関連するロードされた構成パラメータに従って初期化され、出力辞書又はハッシュテーブルが、構成メモリ中に記憶されたエントリでポピュレートされる。
【0148】
[00161]入力信号1104は、シナプス素子2のサブセットにサブミットされ、ネットワーク1100は、出力復号器に送られることができるある特定の出力1105を生成する。
【0149】
[00162]スパイキングニューラルネットワーク1100は、ニューロンN0、・・・、N7及びシナプス素子2上への説明されたニューラルネットワーク段の実例的なマッピングを例示する、構成されたシナプスアレイ1202の例を示す
図11に示されているように実装され得る。
【0150】
[00163]入力符号化器段1211A、1211B、データ融合段1212、及び分類器段1213は、スパイキングニューラルネットワーク1200中に例示されるように実装されることができる。出力変換は、デジタル論理回路を使用して実施されることができ、ハッシュテーブル/辞書ルックアップ動作は、一実施形態では、スパイキングニューラルネットワークに付随するマイクロプロセッサ上で実行されるソフトウェアコードとして実施されることができ、別の実施形態では、デジタル論理回路を使用して実施されることができる。
【0151】
[00164]ネットワーク段1211A、1211B、1212、1213の各々の基礎となる原理は同じであり、各段1211A、1211B、1212、1213は、入力刺激が提示されると、その構成パラメータに従って一意の応答を生成する。入力符号化器段1211A、1211Bの目的は、入力パターン信号1204A、1204B中に存在する各一意の特徴に対する一意の応答を生成することであり得る。データ融合段1212の目的は、入力符号化器段1211A、1211Bからの入力スパイク列の各一意の組み合わせに対する一意の応答を生成することであり得る。分類器段1213の目的は、各一意の特徴又は特徴の組み合わせに対する一意の分類応答を生成することであり得る。
【0152】
[00165]1つ以上の実施形態は、コンピュータシステムと共に使用するためのコンピュータプログラム製品として実装され得る。プログラム製品のプログラム(1つ以上)は、実施形態の機能(本明細書で説明される方法を含む)を定義し得、様々なコンピュータ可読記憶媒体上に包含されることができる。コンピュータ可読記憶媒体は、非一時的記憶媒体であり得る。例示的なコンピュータ可読記憶媒体は、(i)情報が永久的に記憶され得る書込み不能記憶媒体(例えば、CD-ROMドライブによって可読なCD-ROMディスク、ROMチップ、又は任意のタイプのソリッドステート不揮発性半導体メモリなどのコンピュータ内の読み出し専用メモリデバイス)、及び(ii)変更可能な情報が記憶され得る書込み可能記憶媒体、例えば、ハードディスクドライブ又は任意のタイプのソリッドステートランダムアクセス半導体メモリ、フラッシュメモリを含むが、それらに限定されない。
【0153】
[00166]上記の実施形態のうちの2つ以上は、任意の適切な形で組み合わされ得る。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[C1]
入力パターン信号を分類するためのスパイキングニューラルネットワークであって、ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロンと、前記ネットワークを形成するために前記スパイキングニューロンを相互接続する複数のシナプス素子とを備え、
各シナプス素子は、シナプス入力信号を受信し、前記シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、前記シナプス素子は、各シナプス素子によって印加された前記重みを調整するように構成可能であり、
前記スパイキングニューロンの各々は、前記シナプス素子のうちの1つ以上から前記シナプス出力信号のうちの1つ以上を受信し、前記受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号を生成するように適合され、
前記スパイキングニューラルネットワークは、前記シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロンの第1のサブセットを備える第1のサブネットワークを備え、
前記第1のサブネットワークは、シナプス素子の前記第1のサブセットに印加されたサブネットワーク入力パターン信号に応答して、スパイキングニューロンの前記第1のサブセットからサブネットワーク出力パターン信号を生成するように適合され、
シナプス素子の前記第1のサブセットの前記重みは、前記サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に異なるように、サブネットワーク入力パターン信号の前記訓練セット上で前記サブネットワークを訓練することによって構成される、スパイキングニューラルネットワーク。
[C2]
各異なるサブネットワーク出力パターン信号間の距離は、所定の閾値よりも大きく、前記距離は、出力パターンメトリックによって測定される、C1に記載のスパイキングニューラルネットワーク。
[C3]
前記スパイキングニューロン及びシナプス素子は、2つのそれぞれの異なるサブネットワーク入力パターン信号に応答して生成された前記サブネットワークの2つの出力パターン信号間の、出力パターンメトリックによって測定されたそれぞれの距離が前記訓練セットの全てのサブネットワーク入力パターン信号に対して最大化されるように構成される、C1又は2に記載のスパイキングニューラルネットワーク。
[C4]
各それぞれの距離は、前記出力パターン信号が前記入力パターン信号の特徴間を区別するために必要とされる少なくとも第1の最小感度閾値を満たすまで最大化される、C3に記載のスパイキングニューラルネットワーク。
[C5]
前記スパイキングニューロンの各々は、前記ニューロンの応答を前記受信された1つ以上のシナプス出力信号に合うように調整するように構成可能である、C1~4のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C6]
スパイクは、1つ以上の発火時間に前記スパイキングニューロンによって生成され、シナプス素子の前記サブセット及び/又はニューロンの前記サブセットは、2つの異なるサブネットワーク入力パターン信号に対して発火するニューロンの前記サブセットの発火時間の2つのセットの和集合が前記訓練セットの全てのサブネットワーク入力パターン信号に対して最小化されるように構成される、C1~5のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C7]
各和集合は、前記出力パターン信号が前記入力パターン信号の特徴間を区別するために必要とされる少なくとも第2の最小感度閾値を満たすまで最小化される、C6に記載のスパイキングニューラルネットワーク。
[C8]
前記ネットワークは、前記シナプス素子の第2のサブセットからシナプス出力を受信するために接続された前記スパイキングニューロンの第2のサブセットを備える第2のサブネットワークを備え、
前記第2のサブネットワークは、シナプス素子の前記第2のサブセットに印加された第2のサブネットワーク入力パターン信号を受信し、ニューロンの前記第2のサブセットから対応する第2のサブネットワーク出力パターン信号を生成するように適合され、
シナプス素子の前記第2のサブセットの構成は、前記第2のサブネットワーク出力パターン信号が前記第2のサブネットワーク入力パターン信号中の一意の特徴毎に異なるように調整され、
前記ネットワークは、前記シナプス素子の第3のサブセットからシナプス出力を受信するために接続された前記スパイキングニューロンの第3のサブセットを備える第3のサブネットワークを備え、
前記第1及び第2のサブネットワーク出力パターン信号は、前記第3のサブネットワークの入力パターン信号であり、
シナプス素子の前記第3のサブセットの構成は、前記第3のサブネットワーク出力パターン信号が前記第1及び第2のサブネットワークの両方からの前記入力パターン信号中の一意の特徴、並びにそれらの一意の組み合わせ毎に異なるように調整され、そのため、前記第1及び第2のサブネットワークの両方からの前記入力パターン信号中に存在する前記特徴は、前記第3のサブネットワークによって符号化される、C1~7のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C9]
前記第3のサブネットワークの前記シナプス素子は、前記第1及び第2のサブネットワークからの前記入力パターン信号が特定の入力パターンの重要性に従って重み付けされるように構成される、C6に記載のスパイキングニューラルネットワーク。
[C10]
前記ネットワークは、シナプス素子及びスパイキングニューロンの複数のサブネットワークを備え、それについて、前記サブネットワーク出力パターン信号は、前記サブネットワーク入力パターン信号中の一意の特徴毎に異なり、
前記ネットワークは、前記ネットワーク中で特定のシーケンシャルな順序を有する複数の層に分割されることができ、
前記複数のサブネットワークは、各それぞれのサブネットワークが属する前記複数の層の前記特定のシーケンシャルな順序でインスタンス化される、C1~9のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C11]
前記シナプス素子は、構成可能なスイッチマトリクスとして配置される、C1~10のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C12]
前記ニューロン、シナプス素子の構成情報、前記ニューロン及びシナプス素子の相互接続トポロジ、並びに/又は前記ニューラルネットワークの出力構成は、構成メモリ上に保存され、
前記構成情報は、前記ニューラルネットワークが初期化状態にされたときに前記構成メモリからロードされる、C1~11のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C13]
ニューロンのセットは、ニューロンの1つ以上の複数のテンプレートネットワーク中に配置され、ニューロンの特定のテンプレートネットワークの前記ニューロンは、前記ニューラルネットワークのサブネットワークを形成し、
前記サブネットワーク出力パターン信号は、前記サブネットワーク入力パターン信号中の一意の特徴毎に異なり、
前記ニューラルネットワーク中の各テンプレートネットワークは、事前訓練された形でインスタンス化された、C1~12のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C14]
前記ニューラルネットワークは、入力として1つ以上のサンプリングされた入力信号を取り、前記入力信号をニューラルネットワーク入力パターン信号の代表セットに変換するように構成される、C1~13のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C15]
前記ニューラルネットワークの出力パターン信号は、1つ以上の出力クラスに分類される、C1~14のうちのいずれか一項に記載のスパイキングニューラルネットワーク。
[C16]
ハードウェア又はハードウェアとソフトウェアとの組み合わせにおいて実装された複数のスパイキングニューロンと、前記ネットワークを形成するために前記スパイキングニューロンを相互接続する複数のシナプス素子とを備えるスパイキングニューラルネットワークを使用して入力パターン信号を分類するための方法であって、
前記シナプス素子の各々は、シナプス入力信号を受信し、前記シナプス入力信号に重みを印加して、シナプス出力信号を生成するように適合され、前記シナプス素子は、各シナプス素子によって印加された前記重みを調整するように構成可能であり、
前記スパイキングニューロンの各々は、前記シナプス素子のうちの1つ以上から前記シナプス出力信号のうちの1つ以上を受信し、前記受信された1つ以上のシナプス出力信号に応答して時空間スパイク列出力信号を生成するように適合され、
前記方法は、
前記スパイキングニューラルネットワークの第1のサブネットワークを定義することと、前記第1のサブネットワークは、前記シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロンの第1のサブセットを備える、
前記サブネットワーク出力パターン信号が訓練セットの一意のサブネットワーク入力パターン信号毎に異なるように、サブネットワーク入力パターン信号の前記訓練セット上で前記サブネットワークを訓練することによってシナプス素子の前記第1のサブセットの前記重みを構成することと、
前記スパイキングニューラルネットワークの第1のサブネットワークにサブネットワーク入力パターン信号を印加することと、前記第1のサブネットワークは、前記シナプス素子の第1のサブセットからシナプス出力信号を受信するために接続された前記スパイキングニューロンの第1のサブセットを備える、
前記サブネットワーク入力パターン信号に応答してスパイキングニューロンの前記第1のサブセットによって生成されたサブネットワーク出力パターン信号を受信することと、ここにおいて、前記出力パターン信号は、前記入力パターン信号の1つ以上の特徴を識別する、
を備える、方法。
[C17]
入力信号中の所定の特徴の分類の方法であって、前記方法は、
C14及びC15に記載のニューラルネットワークを構築及び訓練することと、
前記ニューラルネットワークに少なくとも1つのサンプリングされた入力信号をサブミットすることと、
前記ニューラルネットワークの1つ以上の出力クラスに、少なくとも1つのサンプリングされた入力信号中の前記特徴を分類することと、
備える、方法。
[C18]
スパイキングニューラルネットワークのサブネットワークとして使用するためのスパイキングニューロンの1つ以上のテンプレートネットワーク又はその構成に関する情報を備えるテンプレートライブラリであって、
各テンプレートネットワークは、前記シナプス素子のセットからシナプス出力を受信するために接続された前記スパイキングニューロンのセットを備え、
各テンプレートネットワークは、シナプス素子の前記セットに印加されたテンプレートネットワーク入力パターン信号を受信し、ニューロンの前記セットから対応するテンプレートネットワーク出力パターン信号を生成するように適合され、
シナプス素子の前記セットの構成は、前記テンプレートネットワーク出力パターン信号が訓練セットの一意のテンプレートネットワーク入力パターン信号毎に異なるように、テンプレートネットワーク入力パターン信号の前記訓練セット上で前記テンプレートネットワークを訓練することによって調整され、
前記訓練セットは、特定のタスクを実行するために前記テンプレートネットワークを訓練するために使用され、
そのため、各テンプレートネットワークは、前記特定のタスクを実行するために事前訓練された形でスパイキングニューラルネットワークのサブネットワークとして使用されることができるか、又はそのため、前記スパイキングニューラルネットワークの前記サブネットワークは、前記特定のタスクを実行するために事前訓練された形で前記テンプレートネットワークの構成に関する前記情報に基づいてインスタンス化されることができる、テンプレートライブラリ。
[C19]
スパイキングニューラルネットワークを構成する方法であって、前記方法は、
C17に記載のテンプレートライブラリから1つ以上のテンプレートネットワーク又は1つ以上のテンプレートネットワークの構成に関する情報を取得することと、
前記テンプレートネットワークが実行するために事前訓練された前記特定のタスクを前記スパイキングニューラルネットワークのサブネットワークが実行することが可能であるように、前記スパイキングニューラルネットワークの前記サブネットワークとして前記1つ以上のテンプレートネットワークをインスタンス化することと、
を備える、方法。