(57)【要約】  ニューロン状態の更新は、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルで計算される。バックプロパゲーションは、重みの更新を計算するためにスパイク時間に適用される。
2017515205.tif 000002
【特許請求の範囲】
【請求項１】
スパイキングニューラルネットワークをトレーニングするための方法であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算することと、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用することと、
を備える、方法。
【請求項２】
前記ニューロン状態の更新を計算することが、微分方程式の更新に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項３】
前記ニューロン状態の更新を計算することが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づく、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１に記載の方法。
【請求項５】
前記重みの更新が、出力スパイク時間に少なくとも部分的に基づいて、少なくとも１つの重みを修正することを備える、請求項１に記載の方法。
【請求項６】
前記重みの更新を計算することが、前記スパイキングニューラルネットワークにおけるスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することを含む、請求項１に記載の方法。
【請求項７】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項６に記載の方法。
【請求項８】
ニューロンがスパイクしない場合、またはニューロンが所望の出力スパイク時間および実際の出力スパイク時間の後にスパイクする場合、前記重みの更新がデフォルト更新値を備える、請求項１に記載の方法。
【請求項９】
計算された勾配がしきい値を超える場合、計算された勾配を正規化することをさらに備える、請求項１に記載の方法。
【請求項１０】
ニューロン状態の更新を計算することが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することを備える、請求項１に記載の方法。
【請求項１１】
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するための手段と、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段と、
を備える、装置。
【請求項１２】
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するためのコンピュータプログラム製品であって、
プログラムコードを符号化した非一時的コンピュータ可読媒体を備え、前記プログラムコードが、
マップベースの更新と少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するためのプログラムコードと、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するためのプログラムコードと、
を備える、コンピュータプログラム製品。
【請求項１３】
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサが、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算し、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用する、
ように構成される、装置。
【請求項１４】
前記少なくとも１つのプロセッサが、微分方程式の更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載の装置。
【請求項１５】
前記少なくとも１つのプロセッサが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１４に記載の装置。
【請求項１６】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１３に記載の装置。
【請求項１７】
前記少なくとも１つのプロセッサが、出力スパイク時間に少なくとも部分的に基づいて、少なくとも１つの重みを修正することによって重みの更新を計算するようにさらに構成される、請求項１３に記載の装置。
【請求項１８】
前記少なくとも１つのプロセッサが、前記スパイキングニューラルネットワークにおけるスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することによって、前記重みの更新を計算するようにさらに構成される、請求項１３に記載の装置。
【請求項１９】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項１８に記載の装置。
【請求項２０】
前記少なくとも１つのプロセッサが、ニューロンがスパイクしない場合、またはニューロンが所望の出力スパイク時間および実際の出力スパイク時間の後にスパイクする場合、重みの更新をデフォルト更新値として計算するようにさらに構成される、請求項１３に記載の装置。
【請求項２１】
前記少なくとも１つのプロセッサが、計算された勾配がしきい値を超える場合、計算された勾配を正規化するようにさらに構成される、請求項１３に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することによって、ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、米国特許法第１１９条（ｅ）の下で、２０１４年３月２４日に出願された「ＣＯＬＤ  ＮＥＵＲＯＮ  ＳＰＩＫＥ  ＴＩＭＩＮＧ  ＢＡＣＫ  ＰＲＯＰＡＧＡＴＩＯＮ」と題する米国仮特許出願第６１／９６９，７５２号の利益を主張し、その開示は、参照によりその全体が本明細書に明示的に組み込まれる。
【０００２】
[0002]本開示のいくつかの態様は、一般にニューラルシステムエンジニアリングに関し、より詳細には、ニューラルネットワーク内のバックプロパゲーション（back propagation）に関する。
【背景技術】
【０００３】
[0003]人工ニューラルネットワークは、人工ニューロン（すなわち、ニューロンモデル）の相互結合されたグループを備え得、計算デバイスであるか、または計算デバイスによって実行される方法を表す。人工ニューラルネットワークは、生物学的ニューラルネットワークにおける対応する構造および／または機能を有し得る。しかしながら、人工ニューラルネットワークは、従来の計算技法が厄介、実行不可能または不適切であるいくつかの適用例に革新的で有用な計算技法を提供することができる。人工ニューラルネットワークは観測から関数を推測することができるので、そのようなネットワークは、タスクまたはデータの複雑さが従来の技法による関数の設計を煩わしくする用途において、特に有用である。
【０００４】
[0004]ニューラルネットワークをトレーニングすることは、入力を操作することによって出力が操作される、「逆に（in reverse）」トレーニングすることを含み得る。トレーニングのこの方法は、分類のために、およびフォワードプロパゲーション（forward propagation）が誤差を有し得る例のために有用である。ニューラルネットワーク内で出力から入力に誤差をプロパゲートすることによって、ネットワークは、ネットワーク内のグループまたは他の共通の特徴を分類および／または識別することを学習し得る。そのような「誤差のバックプロパゲーション」は、「バックプロパゲーション」と呼ばれる。したがって、バックプロパゲーションを組み込むことができるニューロモルフィックレシーバーを提供することが望ましい。
【発明の概要】
【０００５】
[0005]本開示のある態様による方法は、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算することを含む。本方法は、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用することをさらに含む。
【０００６】
[0006]本開示の別の態様による、スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置は、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するための手段を含む。そのような装置はまた、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段を含む。
【０００７】
[0007]本開示の別の態様による、スパイキングニューラルネットワーク内でバックプロパゲーションを実行するためのコンピュータプログラム製品は、プログラムコードを符号化した非一時的コンピュータ可読媒体を含む。本プログラムコードは、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するためのプログラムコードを含む。本プログラムコードは、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するためのプログラムコードをさらに含む。
【０００８】
[0008]本開示の別の態様による、スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置は、メモリと、メモリに結合された少なくとも１つのプロセッサとを含む。本プロセッサは、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するように構成される。本プロセッサはまた、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するように構成される。
【０００９】
[0009]これは、以下の詳細な説明がより良く理解され得るように、本開示の特徴および技術的利点をかなり広く概説したものである。本開示の追加の特徴および利点は、以下で説明される。この開示は、本開示と同じ目的を実行するための他の構造を修正または設計するための基礎として容易に変更され得ることが、当業者によって理解されるべきである。また、添付の特許請求の範囲に記載されるように、そのような等価な構成は本開示の教示から逸脱しないことが、当業者によって理解されるべきである。本開示の特徴と考えられる新規な特徴は、その構成と動作の方法との両方に関して、さらなる目的および利点とともに、添付の図面と関連して考慮されるとき以下の説明からより良く理解されるであろう。しかしながら、図面の各々は単に例示および説明の目的のために提供されているにすぎず、本開示の制限の定義として意図されていないことが、明確には理解されるべきである。
【００１０】
[0010]本開示の特徴、性質、および利点は、同様の参照文字が全体を通して相応して識別する図面を考慮した場合、以下に示される詳細な説明から、より明らかになるだろう。
【図面の簡単な説明】
【００１１】
【図１】[0011]本開示のいくつかの態様によるニューロンの例示的なネットワークを示す図。
【図２】[0012]本開示のいくつかの態様による、計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）の処理ユニット（ニューロン）の一例を示す図。
【図３】[0013]本開示のいくつかの態様によるスパイクタイミング依存可塑性（ＳＴＤＰ）曲線の一例を示す図。
【図４Ａ】[0014]本開示のいくつかの態様による、ニューロンモデルの挙動を定義するための正レジームおよび負レジームの一例を示す図。
【図４Ｂ】[0015]本開示のある態様によるスパイクタイミング図。
【図５】[0016]本開示のある態様による、汎用プロセッサを使用してニューラルネットワークを設計することの例示的な実装形態を示す図。
【図６】[0017]本開示のいくつかの態様による、メモリが個々の分散処理ユニットとインターフェースされ得るニューラルネットワークを設計する例示的な実装形態を示す図。
【図７】[0018]本開示のいくつかの態様による、分散メモリおよび分散処理ユニットに基づいてニューラルネットワークを設計する例示的な実装形態を示す図。
【図８】[0019]本開示のいくつかの態様による、ニューラルネットワークの例示的な実装形態を示す図。
【図９】[0020]本開示の態様による、バックプロバゲーションを示すブロック図。
【発明を実施するための形態】
【００１２】
[0021]添付の図面に関連して以下に示される詳細な説明は、様々な構成の説明として意図されたものであり、本明細書において説明される概念が実現され得る唯一の構成を表すことを意図されるものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で、具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしで実施され得ることは、当業者にとっては明らかであろう。いくつかの事例では、よく知られている構造および構成要素が、そのような概念を曖昧にするのを避けるために、ブロック図形式で示される。
【００１３】
[0022]本教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わされるにせよ、本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。開示する本開示のいずれの態様も、請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００１４】
[0023]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきであるとは限らない。
【００１５】
[0024]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００１６】
例示的なニューラルシステム、トレーニングおよび動作
[0025]図１は、本開示のいくつかの態様による、複数のレベルのニューロンをもつ例示的な人工ニューラルシステム１００を示す。ニューラルシステム１００は、シナプス結合のネットワーク１０４（すなわち、フィードフォワード結合）を介してニューロンの別のレベル１０６に結合されたニューロンのあるレベル１０２を有し得る。簡単のために、図１には２つのレベルのニューロンのみが示されているが、ニューラルシステムには、より少ないまたはより多くのレベルのニューロンが存在し得る。ニューロンのいくつかは、ラテラル結合を介して同じ層の他のニューロンに結合し得ることに留意されたい。さらに、ニューロンのいくつかは、フィードバック結合を介して前の層のニューロンに戻る形で結合し得る。
【００１７】
[0026]図１に示すように、レベル１０２における各ニューロンは、前のレベル（図１に図示せず）のニューロンによって生成され得る入力信号１０８を受信し得る。入力信号１０８は、レベル１０２のニューロンの入力電流を表し得る。この電流は、膜電位を充電するためにニューロン膜上に蓄積され得る。膜電位がそれのしきい値に達すると、ニューロンは、発火し、ニューロンの次のレベル（たとえば、レベル１０６）に転送されるべき出力スパイクを生成し得る。いくつかのモデリング手法では、ニューロンは、信号をニューロンの次のレベルに継続的に転送し得る。この信号は、典型的には膜電位の関数である。そのような挙動は、以下で説明するものなどのアナログおよびデジタル実装形態を含むハードウェアおよび／またはソフトウェアでエミュレートまたはシミュレートされ得る。
【００１８】
[0027]生物学的ニューロンでは、ニューロンが発火するときに生成される出力スパイクは、活動電位と呼ばれる。電気信号は、約１００ｍＶの振幅と約１ｍｓの持続時間とを有する比較的急速で、一時的な神経インパルスである。一連の結合されたニューロンを有するニューラルシステムの特定の実施形態（たとえば、図１におけるあるレベルのニューロンから別のレベルのニューロンへのスパイクの転送）では、あらゆる活動電位が基本的に同じ振幅と持続時間とを有するので、信号における情報は、振幅によってではなく、スパイクの周波数および数、またはスパイクの時間によってのみ表され得る。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、および他の１つまたは複数のスパイクに対するスパイクの時間によって決定され得る。以下で説明するように、スパイクの重要性は、ニューロン間の接続に適用される重みによって決定され得る。
【００１９】
[0028]図１に示されるように、ニューロンのあるレベルから別のレベルへのスパイクの移動は、シナプス結合（または、単純に「シナプス」）１０４のネットワークを介して達成され得る。シナプス１０４に関して、レベル１０２のニューロンはシナプス前ニューロンと考えられ得、レベル１０６のニューロンはシナプス後ニューロンと考えられ得る。シナプス１０４は、レベル１０２のニューロンから出力信号（すなわち、スパイク）を受信して、調整可能なシナプスの重みｗ１（ｉ，ｉ＋１），．．．，ｗＰ（ｉ，ｉ＋１）に応じてそれらの信号をスケーリングすることができ、ここで、Ｐはレベル１０２のニューロンとレベル１０６のニューロンとの間のシナプス結合の総数であり、ｉはニューロンレベルの指標である。図１の例では、ｉはニューロンレベル１０２を表し、ｉ＋１は、ニューロンレベル１０６を表す。さらに、スケーリングされた信号は、レベル１０６における各ニューロンの入力信号として合成され得る。レベル１０６におけるあらゆるニューロンは、対応する合成された入力信号に基づいて、出力スパイク１１０を生成し得る。出力スパイク１１０は、シナプス結合の別のネットワーク（図１には図示せず）を使用して、別のレベルのニューロンに転送され得る。
【００２０】
[0029]生物学的シナプスは、シナプス後ニューロンにおける興奮性活動または抑制性（過分極化）活動のいずれかを調停することができ、ニューロン信号を増幅する役目を果たすことができる。興奮性信号は、膜電位を脱分極する（すなわち、静止電位に対して膜電位を増加させる）。しきい値を超えて膜電位を脱分極するために十分な興奮性信号が一定の時間期間内に受信された場合、シナプス後ニューロンに活動電位が生じる。対照的に、抑制性信号は一般に、膜電位を過分極する（すなわち、低下させる）。抑制性信号は、十分に強い場合、興奮性信号のすべてを相殺し、膜電位がしきい値に達するのを防止することができる。シナプス興奮を相殺することに加えて、シナプス抑制は、自然に活発なニューロンに対して強力な制御を行うことができる。自然に活発なニューロンは、たとえば、それのダイナミクスまたはフィードバックに起因するさらなる入力なしにスパイクするニューロンを指す。これらのニューロンにおける活動電位の自然な生成を抑圧することによって、シナプス抑制は、ニューロンの発火のパターンを形成することができ、それは、一般にスカルプチャリングと呼ばれる。様々なシナプス１０４は、望まれる挙動に応じて、興奮性シナプスまたは抑制性シナプスの任意の組合せとして働き得る。
【００２１】
[0030]ニューラルシステム１００は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブル論理デバイス（ＰＬＤ）、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、プロセッサによって実行されるソフトウェアモジュール、またはそれらの任意の組合せによってエミュレートされ得る。ニューラルシステム１００は、たとえば画像およびパターン認識、機械学習、モータ制御、および似ているなど、かなりの適用範囲において利用され得る。ニューラルシステム１００における各ニューロンは、ニューロン回路として実装され得る。出力スパイクを開始するしきい値まで充電されるニューロン膜は、たとえば、そこを通って流れる電流を積分するキャパシタとして実装され得る。
【００２２】
[0031]一態様では、キャパシタは、ニューロン回路の電流積分デバイスとしては除去され得、その代わりにより小さいメモリスタ（memristor）要素が使用され得る。この手法は、ニューロン回路において、ならびに大きなキャパシタが電流積分器として利用される様々な他の適用例において適用され得る。さらに、シナプス１０４の各々は、メモリスタ要素に基づいて実装され得、シナプス重みの変化は、メモリスタ抵抗の変化に関係し得る。ナノメートルの特徴サイズのメモリスタを用いると、ニューロン回路およびシナプスの面積が大幅に低減され得、それは、大規模なニューラルシステムハードウェア実装形態の実装をより実用的にし得る。
【００２３】
[0032]ニューラルシステム１００をエミュレートするニューラルプロセッサの機能は、シナプス結合の重みに依存し得、それは、ニューロン間の結合の強さを制御し得る。シナプス重みは、パワーダウン後にプロセッサの機能を維持するために、不揮発性メモリに記憶され得る。一態様では、シナプス重みメモリは、主たるニューラルプロセッサチップとは別個の外部チップ上に実装され得る。シナプス重みメモリは、交換可能メモリカードとしてニューラルプロセッサチップとは別個にパッケージ化され得る。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに記憶されたシナプス重みに基づき得る。
【００２４】
[0033]図２は、本開示のいくつかの態様による、計算ネットワーク（たとえば、ニューラルシステムまたはニューラルネットワーク）の処理ユニット（たとえば、ニューロンまたはニューロン回路）２０２の例示的な図２００を示す。たとえば、ニューロン２０２は、図１のレベル１０２のニューロンおよび１０６のニューロンのうちのいずれかに対応し得る。ニューロン２０２は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号２０４1〜２０４Nを受信し得る。入力信号は、電流、コンダクタンス、電圧、実数値および／または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み２０６1〜２０６N（ｗ1〜ｗN）に従って信号をスケーリングするシナプス結合を通してニューロン２０２に伝えられ得、Ｎはニューロン２０２の入力接続の総数であり得る。
【００２５】
[0034]ニューロン２０２は、スケーリングされた入力信号を合成し、合成された、スケーリングされた入力を使用して、出力信号２０８（すなわち、信号ｙ）を生成し得る。出力信号２０８は、電流、コンダクタンス、電圧、実数値および／または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値であり得る。出力信号２０８は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン２０２への入力信号として、またはニューラルシステムの出力として伝達され得る。
【００２６】
[0035]処理ユニット（ニューロン）２０２は電気回路によってエミュレートされ得、それの入力接続および出力接続は、シナプス回路をもつ電気接続によってエミュレートされ得る。処理ユニット２０２ならびにそれの入力接続および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニット２０２はまた、電気回路によってエミュレートされ得るが、それの入力接続および出力接続はソフトウェアコードによってエミュレートされ得る。一態様では、計算ネットワーク中の処理ユニット２０２はアナログ電気回路であり得る。別の態様では、処理ユニット２０２はデジタル電気回路であり得る。さらに別の態様では、処理ユニット２０２は、アナログ構成要素とデジタル構成要素の両方をもつミックスドシグナル電気回路であり得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを含み得る。そのような処理ユニットを使用した計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）は、たとえば画像およびパターン認識、機械学習、モータ制御など、広い適用範囲において利用され得る。
【００２７】
[0036]ニューラルネットワークをトレーニングする過程で、シナプス重み（たとえば、図１の重みｗ１（ｉ，ｉ＋１），．．．，ｗＰ（ｉ，ｉ＋１）および／または図２の重み２０６1〜２０６N）がランダムな値により初期化され得、学習ルールに従って増加または減少し得る。学習ルールの例は、これに限定されないが、スパイクタイミング依存可塑性（ＳＴＤＰ）学習ルール、Ｈｅｂｂ則、Ｏｊａ則、Ｂｉｅｎｅｎｓｔｏｃｋ−Ｃｏｐｐｅｒ−Ｍｕｎｒｏ（ＢＣＭ）則等を含むことを当業者は理解するだろう。いくつかの態様では、重みは、２つの値のうちの１つに安定または収束し得る（すなわち、重みの双峰分布）。この効果が利用されて、シナプス重みごとのビット数を低減し、シナプス重みを記憶するメモリとの間の読取りおよび書込みの速度を上げ、シナプスメモリの電力および／またはプロセッサ消費量を低減し得る。
【００２８】
シナプスタイプ
[0037]ニューラルネットワークのハードウェアおよびソフトウェアモデルでは、シナプス関係機能の処理がシナプスタイプに基づき得る。シナプスタイプは、非塑性シナプス（non-plastic synapse）（重みおよび遅延の変化がない）、可塑性シナプス（重みが変化し得る）、構造遅延可塑性シナプス（重みおよび遅延が変化し得る）、完全可塑性シナプス（重み、遅延および結合性が変化し得る）、およびそれの変形（たとえば、遅延は変化し得るが、重みまたは結合性の変化はない）であり得る。複数のタイプの利点は、処理が再分割され得ることである。たとえば、非塑性シナプスは、可塑性機能を使用しないで実行される場合がある（またはそのような機能が完了するのを待つ）。同様に、遅延および重み可塑性は、一緒にまたは別々に、順にまたは並列に動作し得る動作に再分割され得る。異なるタイプのシナプスは、適用される異なる可塑性タイプの各々の異なるルックアップテーブルまたは式およびパラメータを有し得る。したがって、本方法は、シナプスのタイプについての関連する表、式、またはパラメータにアクセスする。
【００２９】
[0038]スパイクタイミング依存構造可塑性がシナプス可塑性とは無関係に実行され得るという事実のさらなる含意がある。構造可塑性は、重みの大きさに変化がない場合（たとえば、重みが最小値または最大値に達したか、あるいはそれが何らかの他の理由により変更されない場合）ｓ構造可塑性（すなわち、遅延量の変化）は前後スパイク時間差（pre-post spike time difference）の直接の関数であり得ても実行され得る。代替的に、構造可塑性は、重み変化量に応じて、または重みもしくは重み変化の限界に関係する条件に基づいて設定され得る。たとえば、重み変化が生じたとき、または重みが最大値になるのではなく、重みがゼロに達した場合のみ、シナプス遅延が変化し得る。しかしながら、これらのプロセスが並列化され、メモリアクセスの数および重複を低減し得るように、独立した機能を有することが有利であり得る。
【００３０】
シナプス可塑性の決定
[0039]神経可塑性（または単に「可塑性」）は、脳内のニューロンおよびニューラルネットワークがそれらのシナプス結合と挙動とを新しい情報、感覚上の刺激、発展、損傷または機能不全に応答して変える能力である。可塑性は、生物学における学習および記憶にとって、また計算論的神経科学およびニューラルネットワークにとって重要である。（たとえば、Ｈｅｂｂ則理論による）シナプス可塑性、スパイクタイミング依存可塑性（ＳＴＤＰ）、非シナプス可塑性、活性依存可塑性、構造可塑性および恒常的可塑性など、様々な形の可塑性が研究されている。
【００３１】
[0040]ＳＴＤＰは、ニューロン間のシナプス結合の強さを調整する学習プロセスである。結合強度は、特定のニューロンの出力スパイクおよび受信入力スパイク（すなわち、活動電位）の相対的タイミングに基づいて調整される。ＳＴＤＰプロセスの下で、あるニューロンに対する入力スパイクが、平均して、そのニューロンの出力スパイクの直前に生じる傾向がある場合、長期増強（ＬＴＰ）が生じ得る。その場合、その特定の入力はいくらか強くなる。一方、入力スパイクが、平均して、出力スパイクの直後に生じる傾向がある場合、長期抑圧（ＬＴＤ）が生じ得る。その場合、その特定の入力はいくらか弱くなるので、「スパイクタイミング依存可塑性」と呼ばれる。したがって、シナプス後ニューロンの興奮の原因であり得る入力は、将来的に寄与する可能性がさらに高くなる一方、シナプス後スパイクの原因ではない入力は、将来的に寄与する可能性が低くなる。結合の初期セットのサブセットが残る一方で、その他の部分の影響がわずかなレベルまで低減されるまで、このプロセスは続く。
【００３２】
[0041]ニューロンは一般に出力スパイクを、それの入力の多くが短い期間内に生じる（すなわち、出力をもたらすのに十分な累積がある）ときに生成するので、通常残っている入力のサブセットは、時間的に相関する傾向のあった入力を含む。さらに、出力スパイクの前に生じる入力は強化されるので、最も早い十分に累積的な相関の表示を提供する入力は結局、ニューロンへの最終入力となる。
【００３３】
[0042]ＳＴＤＰ学習ルールは、シナプス前ニューロンのスパイク時間ｔpreとシナプス後ニューロンのスパイク時間ｔpostとの間の時間差（すなわち、ｔ＝ｔpost−ｔpre）に応じて、シナプス前ニューロンをシナプス後ニューロンに結合するシナプスのシナプス重みを効果的に適合させ得る。ＳＴＤＰの通常の公式化は、時間差が正である（シナプス前ニューロンがシナプス後ニューロンの前に発火する）場合にシナプス重みを増加させ（すなわち、シナプスを増強し）、時間差が負である（シナプス後ニューロンがシナプス前ニューロンの前に発火する）場合にシナプス重みを減少させる（すなわち、シナプスを抑制する）ことである。
【００３４】
[0043]ＳＴＤＰプロセスでは、経時的なシナプス重みの変化は通常、以下の式によって与えられるように、指数関数的減衰を使用して達成され得る。
【数１】
2017515205.tif 000003
ここで、ｋ+およびｋ-τsign(Δt)はそれぞれ、正の時間差および負の時間差の時定数であり、ａ+およびａ-は対応するスケーリングの大きさであり、μは正の時間差および／または負の時間差に適用され得るオフセットである。
【００３５】
[0044]図３は、ＳＴＤＰによる、シナプス前スパイクおよびシナプス後スパイクの相対的タイミングに応じたシナプス重み変化の例示的な図３００を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合、グラフ３００の部分３０２に示すように、対応するシナプス重みは増加し得る。この重み増加は、シナプスのＬＴＰと呼ばれ得る。グラフ部分３０２から、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差に応じて、ＬＴＰの量がほぼ指数関数的に減少し得ることが観測され得る。グラフ３００の部分３０４に示すように、発火の逆の順序は、シナプス重みを減少させ、シナプスのＬＴＤをもたらし得る。
【００３６】
[0045]図３のグラフ３００に示すように、ＳＴＤＰグラフのＬＴＰ（原因）部分３０２に負のオフセットμが適用され得る。ｘ軸の交差３０６のポイント（ｙ＝０）は、層ｉ−１からの原因入力の相関を考慮して、最大タイムラグと一致するように構成され得る。フレームベースの入力（すなわち、スパイクまたはパルスを備える特定の持続時間のフレームの形態である入力）の場合、オフセット値μは、フレーム境界を反映するように計算され得る。直接、シナプス後電位によってモデル化されるように、またはニューラル状態に対する影響の点において、フレームにおける第１の入力スパイク（パルス）が経時的に減衰すると考えられ得る。フレームにおける第２の入力スパイク（パルス）が特定の時間フレームの相関したまたは関連したものと考えられる場合、フレームの前および後の関連する時間は、その時間フレーム境界で分離され、関連する時間の値が異なり得る（たとえば、１つのフレームよりも大きい場合は負、１つのフレームよりも小さい場合は正）ように、ＳＴＤＰ曲線の１つまたは複数の部分をオフセットすることによって、可塑性の点で別様に扱われ得る。たとえば、曲線が、フレーム時間よりも大きい前後の時間で実際にゼロよりも下になり、結果的にＬＴＰの代わりにＬＴＤの一部であるようにＬＴＰをオフセットするために負のオフセットμが設定され得る。
【００３７】
ニューロンモデルおよび演算
[0046]有用なスパイキングニューロンモデルを設計するための一般的原理がいくつかある。良いニューロンモデルは、２つの計算レジーム、すなわち、一致検出および関数計算の点で豊かな潜在的挙動を有し得る。その上、良いニューロンモデルは、時間コーディングを可能にするための２つの要素を有する必要がある：入力の到着時間は出力時間に影響を与え、一致検出は狭い時間ウィンドウを有し得る。最終的に、計算上魅力的であるために、良いニューロンモデルは、連続時間に閉形式解と、ニアアトラクター（near attractor）と鞍点とを含む安定した挙動とを有し得る。言い換えれば、有用なニューロンモデルは、実用的なニューロンモデルであり、豊かで、現実的で、生物学的に一貫した挙動をモデル化するために使用され得、神経回路のエンジニアリングとリバースエンジニアリングの両方を行うために使用され得るニューロンモデルである。
【００３８】
[0047]ニューロンモデルは事象、たとえば入力の到着、出力スパイク、または内部的であるか外部的であるかを問わず他の事象に依存し得る。豊かな挙動レパートリーを実現するために、複雑な挙動を示すことができる状態機械が望まれ得る。入力寄与（ある場合）とは別個の事象の発生自体が状態機械に影響を与え、事象の後のダイナミクスを制限し得る場合、システムの将来の状態は、単なる状態および入力の関数ではなく、むしろ状態、事象および入力の関数である。
【００３９】
[0048]一態様では、ニューロンｎは、下記のダイナミクスによって決定される膜電圧ｖn（ｔ）によるスパイキングリーキー積分発火ニューロンとしてモデル化され得る。
【数２】
2017515205.tif 000004
ここでαおよびβはパラメータであり、ｗm,nはシナプス前ニューロンｍをシナプス後ニューロンｎに結合するシナプスのシナプス重みであり、ｙm（ｔ）は、ニューロンｎの細胞体に到着するまでΔｔm,nに従って樹状遅延または軸索遅延によって遅延し得るニューロンｍのスパイキング出力である。
【００４０】
[0049]シナプス後ニューロンへの十分な入力が達成された時間からシナプス後ニューロンが実際に発火する時間までの遅延があることに留意されたい。イジケヴィッチの単純モデルなど、動的スパイキングニューロンモデルでは、脱分極しきい値ｖtとピークスパイク電圧ｖpeakとの間に差がある場合、時間遅延が生じ得る。たとえば、単純モデルでは、電圧および復元のための１対の微分方程式、すなわち、
【数３】
2017515205.tif 000005
【数４】
2017515205.tif 000006
によってニューロン細胞体ダイナミクス（neuron soma dynamics）が決定され得る。ここでｖは膜電位であり、ｕは、膜復元変数であり、ｋは、膜電位ｖの時間スケールを記述するパラメータであり、ａは、復元変数ｕの時間スケールを記述するパラメータであり、ｂは、膜電位ｖのしきい値下変動に対する復元変数ｕの感度を記述するパラメータであり、ｖrは、膜静止電位であり、Ｉは、シナプス電流であり、Ｃは、膜のキャパシタンスである。このモデルによれば、ニューロンはｖ＞ｖpeakのときにスパイクすると定義される。
【００４１】
Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄモデル
[0050]Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄニューロンモデルは、豊かな様々な神経挙動を再生し得る最小二重レジームスパイキング線形動的モデルである。モデルの１次元または２次元の線形ダイナミクスは２つのレジームを有することができ、時定数（および結合）はレジームに依存し得る。しきい値下レジームでは、時定数は、慣例により負であり、一般に生物学的に一貫した線形方式で静止状態に細胞を戻す役目を果たすリーキーチャネルダイナミクスを表す。しきい値上レジームにおける時定数は、慣例により正であり、一般にスパイク生成のレイテンシを生じさせる一方でスパイク状態に細胞を駆り立てる反リーキーチャネルダイナミクスを反映する。
【００４２】
[0051]図４に示すように、モデル４００のダイナミクスは２つの（またはそれよりも多くの）レジームに分割され得る。これらのレジームは、負のレジーム（ｎｅｇａｔｉｖｅ  ｒｅｇｉｍｅ）４０２（ｌｅａｋｙ−ｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ（ＬＩＦ）ニューロンモデルと混同されないように、交換可能にＬＩＦレジームとも呼ばれる）、および正のレジーム（ｐｏｓｉｔｉｖｅ  ｒｅｇｉｍｅ）４０４（ａｎｔｉ−ｌｅａｋｙ−ｉｎｔｅｇｒａｔｅ−ａｎｄ−ｆｉｒｅ（ＡＬＩＦ）ニューロンモデルと混同されないように、交換可能にＡＬＩＦレジームとも呼ばれる）と呼ばれ得る。負レジーム４０２では、状態は将来の事象の時点において静止（ｖ-）となる傾向がある。この負レジームでは、モデルは一般に、時間的入力検出特性と他のしきい値下挙動とを示す。正レジーム４０４では、状態はスパイキング事象（ｖs）となる傾向がある。この正レジームでは、モデルは、後続の入力事象に応じてスパイクにレイテンシを生じさせるなどの計算特性を示す。事象の点からのダイナミクスの公式化およびこれら２つのレジームへのダイナミクスの分離は、モデルの基本的特性である。
【００４３】
[0052]線形二重レジーム２次元ダイナミクス（状態ｖおよびｕの場合）は、慣例により次のように定義され得る。
【数５】
2017515205.tif 000007
【数６】
2017515205.tif 000008
ここでｑρおよびｒは、結合のための線形変換変数である。
【００４４】
[0053]シンボルρは、ダイナミクスレジームを示すためにここで使用され、特定のレジームの関係を論述または表現するときに、それぞれ負レジームおよび正レジームについて符号「−」または「＋」にシンボルρを置き換える慣例がある。
【００４５】
[0054]モデル状態は、膜電位（電圧）ｖおよび復元電流ｕによって定義される。基本形態では、レジームは基本的にモデル状態によって決定される。正確で一般的な定義の微妙だが重要な側面があるが、差し当たり、モデルが、電圧ｖがしきい値（ｖ+）を上回る場合に正レジーム４０４にあり、そうでない場合に負レジーム４０２にあると考える。
【００４６】
[0055]レジーム依存時定数は、負レジーム時定数であるτ-と正レジーム時定数であるτ+とを含む。復元電流時定数τuは通常、レジームから独立している。便宜上、τuと同様に、指数およびτ+が一般に正となる正レジームの場合に、電圧発展（voltage evolution）に関する同じ表現が使用され得るように、減衰を反映するために負の量として負レジーム時定数τ-が一般に指定される。
【００４７】
[0056]２つの状態要素のダイナミクスは、事象において、ヌルクラインから状態をオフセットする変換によって結合され得、ここで変換変数は、
【数７】
2017515205.tif 000009
【数８】
2017515205.tif 000010
であり、δ、ε、βおよびｖ-、ｖ+はパラメータである。ｖρのための２つの値は、２つのレジームのための参照電圧のベースである。パラメータｖ-は、負レジームのためのベース電圧であり、膜電位は一般に、負レジームにおいてｖ-に減衰する。パラメータｖ+は、正レジームのためのベース電圧であり、膜電位は一般に、正レジームにおいてｖ+から離れる傾向となる。
【００４８】
[0057]ｖおよびｕのためのヌルクラインは、それぞれ変換変数ｑρおよびｒの負によって与えられる。パラメータδは，ｕヌルクラインの傾きを制御するスケール係数である。パラメータεは通常、−ｖ-に等しく設定される。パラメータβは、両方のレジームにおいてｖヌルクラインの傾きを制御する抵抗値である。τρ時定数パラメータは、指数関数的減衰だけでなく、各レジームにおいて別個にヌルクラインの傾きを制御する。
【００４９】
[0058]モデルは、電圧ｖが値ｖsに達したときにスパイクするように定義され得る。続いて、状態は（スパイク事象と同じ１つのものであり得る）リセット事象でリセットされ得る。
【数９】
2017515205.tif 000011
【数１０】
2017515205.tif 000012
ここで、
【数１１】
2017515205.tif 000013
およびΔｕはパラメータである。リセット電圧
【数１２】
2017515205.tif 000014
は通常、ｖ-にセットされる。
【００５０】
[0059]瞬時結合の原理によって、状態について（また、単一の指数項による）だけではなく、特定の状態に到達するまでの時間についても、閉形式解が可能である。閉形式の状態解は、次のとおりである。
【数１３】
2017515205.tif 000015
【数１４】
2017515205.tif 000016
【００５１】
[0060]したがって、モデル状態は、入力（シナプス前スパイク）または出力（シナプス後スパイク）などの事象に伴ってのみ更新され得る。また、演算が（入力があるか、出力があるかを問わず）任意の特定の時間に実行され得る。
【００５２】
[0061]その上、瞬時結合原理によって、反復的技法または数値解法（たとえば、オイラー数値解法）なしに、特定の状態に到達する時間が事前に決定され得るように、シナプス後スパイクの時間が予想され得る。前の電圧状態ｖ0を踏まえ、電圧状態ｖfに到達するまでの時間遅延は、次の式によって与えられる。
【数１５】
2017515205.tif 000017
【００５３】
[0062]スパイクが、電圧状態ｖがｖsに到達する時間に生じると定義される場合、電圧が所与の状態ｖにある時間から測定されたスパイクが生じるまでの時間量、または相対的遅延に関する閉形式解は、次のとおりである。
【数１６】
2017515205.tif 000018
ここで、
【数１７】
2017515205.tif 000019
は通常、パラメータｖ+にセットされるが、他の変形も可能であり得る。
【００５４】
[0063]モデルダイナミクスの上記の定義は、モデルが正レジームにあるか、それとも負レジームにあるかに依存する。上述のように、結合およびレジームρは、事象に伴って計算され得る。状態の伝搬のために、レジームおよび結合（変換）変数は、最後の（前の）事象の時間における状態に基づいて定義され得る。続いてスパイク出力時間を予想するために、レジームおよび結合変数は、次の（最新の）事象の時間における状態に基づいて定義され得る。
【００５５】
[0064]Ｃｏｌｄモデルの、適時にシミュレーション、エミュレーションまたはモデルを実行するいくつかの可能な実装形態がある。これは、たとえば、事象更新モード、ステップ事象更新モード、およびステップ更新モードを含む。事象更新は、（特定の瞬間における）事象または「事象更新」に基づいて状態が更新される更新である。ステップ更新は、間隔（たとえば、１ｍｓ）をおいてモデルが更新される更新である。これは必ずしも、反復的技法または数値解法を利用するとは限らない。また、事象がステップもしくはステップ間で生じる場合または「ステップ事象」更新によってモデルを更新するのみによって、ステップベースのシミュレータにおいて限られた時間分解能で事象ベースの実装形態が可能である。
【００５６】
[0065]ニューラルネットワークへの入力は、様々なソースから来る場合がある。たとえば、入力は特定の時間期間中に発生するイベントであり得る。さらに、入力は、規定された空間内の３次元（３−Ｄ）オブジェクトの２次元（２−Ｄ）表現であり得る。出力イベントまたはスパイクはまた、特定の時間期間中のイベントであり得る。たとえば、上記の２−Ｄ／３−Ｄの例では、出力イベントは、規定された空間内の３−Ｄオブジェクトの第３の座標であり得る。アドレスイベント表現カメラなどのセンサは、入力イベントを供給し得る。
【００５７】
Ｃｏｌｄニューロンスパイクタイミングバックプロバゲーション
[0066]本開示のある態様は、バックプロパゲーションを使用して多層スパイキングニューラルネットワークをトレーニングすることを対象とする。さらに、特定のヒューリスティックは、勾配が未定義である（たとえば、ニューロンが発火していない、または発火があまりにも弱い）場合に対処するために定義される。したがって、記述されるヒューリスティックとともにバックプロパゲーションを使用して、勾配が未定義である領域を含むニューラルネットワーク内で重み変化を計算することが可能になり、したがって、ニューラルネットワークをトレーニングする際の改良を提供する。
【００５８】
[0067]本開示のある態様では、多層スパイキングニューラルネットワークは、分類と回帰タスクとを実行するために、バックプロパゲーションを有する１−Ｄの計算効率の高い線形２次元（ＣＯＬＤ）ニューロンを使用する。ＬＩＦモデル、ＡＬＩＦモデル、指数積分発火モデル、ホジキン−ハクスレーモデル、フィッツフュー−南雲モデル、モリス−Ｌｅｃａｒモデル、ハインドマーシュ−ローズモデル、および／あるいは、他のスパイキングまたは非スパイキングニューロンモデルなどの他のニューロンモデルは、本開示で使用され得る。これらのモデルの集合は、本明細書では「マップベース」モデルと呼ばれ得る。たとえば、マップベースの更新は、差分方程式、微分方程式、ルックアップテーブル、状態機械更新、または他のアプローチに基づき得る。
【００５９】
[0068]スパイキングニューラルネットワークにおいてバックプロパゲーションが使用される場合、未定義またはゼロであり得る誤差勾配の領域がある。多くのモデルは、これらの誤差を理由としてバックプロパゲーション技法を回避する。本開示は、誤差勾配のバックプロパゲーションのための局小値に漸近的に近づくためのアプローチを提供する。
【００６０】
[0069]本開示のある態様では、多層勾配バックプロパゲーションは、１次元ＣＯＬＤ（モデル）ニューロンで使用される。ＣＯＬＤニューロンモデルの特定の部分では、勾配が十分に定義されていないヒューリスティックはバックプロパゲーションアプローチに組み込まれる。これらのヒューリスティックは、ニューロンがどのトレーニングの場合に関しても発火されないか、発火あまりにも弱いとき、膜電圧が、誤差勾配をゼロにするほど強いとき、およびＣＯＬＤモデル中に存在し得るより広い範囲の誤差勾配を考慮する場合を含む。ＣＯＬＤモデルＬＩＦとＡＬＩＦ領域の間に不連続性を有するので、本開示はまた、この勾配不連続性を解決するための方法を提供する。
【００６１】
[0070]図４Ｂは、本開示のある態様によるスパイクタイミング図を示している。タイミング図４０６は、ニューロンの第１の層４０８と第２の層４１０とを示す。第１の層４０８は第２層の４１０への入力として働く。第１の層４０８内のニューロン４１２〜４２０が発火すると、第２の層４１０内のニューロン４２２が、ニューロン４１２〜４２０から受信された入力に基づいて発火する。第１の層４０８と第２の層４１０とは、ニューラルネットワーク内の２つだけの層であってもよく、ニューラルネットワーク内の任意の２つの他の連続した層であってもよい。このように、第２の層４１０を参照する議論は第１の層４０８にも適用し得、逆もまた同様である。さらに、第１の層４０８と第２の層４１０の両方は、本開示のニューラルネットワーク内の隠れ層であり得る。
【００６２】
[0071]ニューラルネットワークは因果関係を示し得るので（すなわち、ニューラルネットワークは時間依存的な方法で動作し、第２の層４１０における出力は第１の層４０８からの以前の入力のみに依存し得る）、ニューロン４２２の出力は、ニューロン４１２、４１４、および４１６から受信された入力だけに依存し得る。
【００６３】
[0072]さらに、時間ｔ＝τにおけるニューロン４２２の出力は、所望の出力時間ではない場合がある。所望の出力時間が出力時間４２４（ターゲット出力時間と呼ばれ得る）として示される時間
【数１８】
2017515205.tif 000020
である場合、ニューロン４２２の出力は、所望の出力時間４２４に向かって時間内に移動する。この遅延は、ニューロン４１２〜４１６からの入力が受信されるシナプスに割り当てられた重みを増加することによって、または時間内にニューロン４１２〜４１６からの入力をシフトすることによって実装され得る。時間内のこのシフト、および／または重み付けは、矢印４２６〜４３０で示される。ニューロン４１２〜４１６の入力のこの動き、および／またはニューロン４１２〜４１６の入力に関連付けられる重みの変化は効果４３２として示されており、矢印４３４によって示されるようにニューロン４２２の出力を動かす。
【００６４】
[0073]ニューロン４２２の出力が所望の出力時間４２４に向かって移動するにつれて、ニューロン４１８および／または４２０からの追加の入力が、ニューロン４２２の出力に反映され得る。さらに、ニューロン４２２の出力が、時間内に所望の出力時間４２４に向かって動くにつれて、ニューロン４２２の出力の動きは線形でなくてもよく、所望の出力時間４２４を過ぎて移動してもよく、ニューロン４１２〜４２０の出力の重みおよび／または時間が変更されるにつれて特定の位置で未定義であってもよい。本開示は、所望の出力時間４２４に向かってニューロン４２２の出力の動きを制御するための方法を提供する。
【００６５】
[0074]本開示の第１の態様は、まったく発火していないか、発火があまりにも弱い場合、ニューロン４２２の出力を修正するための方法を提供する。そのような態様では、ニューロン４１２〜４１６の出力に関連付けられる重みは、一定値、変数値、またはランダムな値によって変更され得、ニューロン応答の出力が観察される。次いで、ニューロン４２２の出力のタイミングにおける変化の量に基づいて重みが調整される。タイミング図４０６から、ニューロン４１２〜４１６の出力の重みは、ニューロン４２２の出力を移動させるために増加または減少され得る。さらに、第１層の４０８はニューラルネットワーク内の別の層から入力を受信し得るので、ニューロン４１２〜４１６の出力はまた、ニューロン４２２の出力の出力時間に影響を与えるように時間内に移動され得る。
【００６６】
[0075]ニューロン４１２〜４１６の出力の重みおよび／または時間の変化が、ニューロン４２２の出力の時間に影響を与えないときにも発生がある。これは、膜電圧が強すぎることを示し、誤差勾配をゼロにする。本開示のある態様では、ニューロン４１２〜４１６の出力の重みは、一定の定数であり得る定数、可変定数、またはランダム定数、および観察されたニューロン４２２の出力のタイミングの変化によって変更され得る。ニューロン４１２〜４１６の出力は、ニューロン４１２〜４１６から入力へのニューロン４２２の出力の感度を増加させるために減少され得る。
【００６７】
[0076]本開示の別の態様では、ピーク電圧からの膜電圧距離が決定され得、定数はニューロン４１２〜４１６の出力の重みを変更するために使用される。ニューロン４１２〜４１６の出力の重みは、ニューロン４１２〜４１６の出力とニューロン４２２の出力との間の発火時刻における距離の関数として変更され得る。本開示の別の態様では、バリアペナルティ関数と呼ばれ得る定数は、ニューロン４１２〜４１６の出力に割り当てられる重みに関する勾配計算に追加され得る。
【００６８】
[0077]ニューラルネットワークはまた、他と比較して、１つのマップベースモデルの勾配のより広い範囲を考慮し得る。たとえば、ＣＯＬＤモデルは、人工ニューラルネットワーク（ＡＮＮ）ネットワークと比較してより広い範囲の誤差勾配を有し得る。より広い誤差勾配があると、誤差勾配の小さな変化は、ニューロン４２２の出力のタイミングをはっきりと移動し得ないか、ニューロン４２２の出力のタイミングをあまりにも多く移動し得る。このように、そのようなモデルの学習率は非常に遅くなる場合もあり、局小値を有しない場合もある。本開示はまた、ニューラルネットワークのモデルのための合理的な学習率を維持しながら、より広い範囲の勾配を組み込むための方法を提供する。
【００６９】
[0078]誤差勾配がしきい値（たとえば、０．５）を上回る場合、誤差勾配の重みにおける一定の変化が、所望の出力時間４２４に漸近的に近づかない場合がある。勾配誤差値がしきい値を超える場合の勾配の正規化は、所望の出力時間４２４へのよりスムーズなアプローチを提供する。さらに、しきい値よりも大きい一定の出力の重みを飽和（最大化）させることはまた、所望の出力時間４２４に向かってニューロン４２２の出力をより迅速に移動させ得る。
【００７０】
[0079]ＣＯＬＤモデルは、リーキー積分発火／反リーキー積分発火（ＬＩＦ／ＡＬＩＦ）モデルの機能を統合するので、本開示は、これらのモデル間の境界で不連続性／未定義の勾配を処理するための方法を提供する。本開示は、たとえば、不連続性が存在しないか、存在していなかったかのように誤差勾配を計算し得る。さらに、本開示は、不連続性付近のスムーズに変化する近似値を使用し、および／または計算された勾配が誤差検出に基づく条件付きの勾配を使用し得る。
【００７１】
バックプロパゲーションにおけるＣＯＬＤモデルについてのヒューリスティック
[0080]Ｃｏｌｄ勾配は、ｖ＋（すなわち、ニューロンダイナミクスがＣＯＬＤモデルにおいて変化するしきい値）に０の値と臨界点とがある広い領域を有する。ＣＯＬＤモデルのＬＩＦ／  ＡＬＩＦ部分間のこれらの領域は、勾配が未定義／無限大である（たとえば、ニューロンダイナミクスが、ニューロンが発火するのを妨げる、または、しきい値の付近で、または間違った時に発火するニューロン（「弱く」発火するニューロン）を作成する）領域である。これらの潜在的勾配は、バックプロパゲーションが、適切な重みを決定するために有用なアプローチを提供することを不可能にし得、バックプロパゲーションが誤差勾配を漸近的に低減することを妨げ得る。
【００７２】
[0081]したがって、本開示のある態様によるヒューリスティックとともにバックプロパゲーションを使用することによって、ニューラルネットワーク内の重み変化を計算することが可能になる。重み（シナプス重み）は勾配が未定義である領域を含み得、したがって、ニューラルネットワークをトレーニングする際の改良を提供する。本開示はまた、分類と回帰タスクとを実行するために、バックプロパゲーションを有する１次元（１−Ｄ）の計算効率の高い線形２次元（ＣＯＬＤ）ニューロンを使用して、多層スパイキングニューラルネットワークをトレーニングすることを提供する。本開示はまた、勾配が未定義またはゼロである、ニューロンダイナミクスが不連続性を有する、および／あるいは膜電圧が強すぎるスパイキングニューラルネットワーク内でバックプロパゲーションを実行するためのソリューションを提供する。
【００７３】
[0082]勾配が非ゼロである、および定義されているときに、「勾配降下」を使用し得る。本開示のバックプロパゲーションに影響を与え得るイベントを記述するいくつかのヒューリスティックがある。未定義／ゼロ勾配のようなもののためのヒューリスティックは、任意の順序で処理され得る。本開示のある態様では、ヒューリスティックは、本明細書に提示されるような特定の順序で処理され得る。
【００７４】
[0083]最初に、膜電圧（シナプス重み）が弱すぎる場合がある。どの入力ニューロンもスパイクしていない場合、出力ニューロンがスパイクするのは不可能である。そのような場合、どれをそれらの重み変化の重みの基礎とするについての情報がないときは、層についての重み変化を避けるために、入力ニューロンの勾配はゼロに設定される。最終的に入力ニューロンがそれらの層にルールを適用することに基づいて発火を開始するように、下層重み変化が決定され得る。このように、初期ニューロン勾配は次のように設定される。
Δｗｉｊ＝０                              （１５）
【００７５】
[0084]次に、出力ニューロンがスパイクしない場合、これは「弱くスパイクする」場合と呼ばれ、入力ニューロン勾配は、次のようにデフォルトまたはランダムな量に設定され得る。
Δｗｉｊ＝Δｄｅｆａｕｌｔ                    （１６）
【００７６】
[0085]出力ニューロンがまったくスパイクしない場合、勾配が存在しない場合があり、すべての重みが少量だけ増加されるべきである。重みはｖplus−ｍａｘnνnpに比例する量だけ増加され得、これは勾配を再び活性化するために膜電圧が増加され得る量であるためである。
【００７７】
[0086]本開示のある態様では、デフォルトまたはランダムな勾配値は、入力を有するそれらシナプスのためにのみ設定されてもよく、所望であればすべてのシナプスのために設定されてもよい。
【００７８】
[0087]次に、隠れニューロンは、ｔpおよび
【数１９】
2017515205.tif 000021
（それぞれ、ターゲット出力スパイク時間、および最大ターゲット出力スパイク時間）より後の時間にスパイクし得、これは「弱く発火する」ニューロン条件とも考えられる。そのような場合、隠れニューロン勾配、および／または入力ニューロン勾配はまた、デフォルトまたはランダムな値に設定され得る。
【００７９】
[0088]次に、膜電位が強すぎる条件が考慮される。そのような条件では、発火ニューロンのシナプスの重みは、固定または可変定数によって減少され得る。可変定数は、いくつかの方法で決定され得る。一態様では、可変定数は、膜電圧からピーク電圧への間の隔たりによって決定され得る。別の態様では、可変定数は、発火時刻の間の隔たりの関数として決定され得る。
【００８０】
[0089]シナプス重みに関連するその他の条件が、到着するスパイクのタイミング、および特定のニューロンのスパイキングのために発生する。ニューロンが入力スパイク時間でスパイクする場合、出力ニューロンが、出力ニューロンからのスパイクに関連して入力ニューロンの重みを適切に帰することは可能ではない。そのような条件は、シナプス重みが「強すぎる」と見なされ、次のように再定義され得る。
（ＶNp＞ｖpeak）：Δｗｉｊ＝Δdefaulte＾（｜ｔp−ｔhi｜／τ+）    （１７）
ここでで、ＶNpはニューロンがスパイクするときの膜電位であり、ｖpeakはスパイクを生成するための膜電位であり、Δdefaultは勾配計算および他の勾配計算に相対的な重み付けを提供するために選択されるパラメータであり、ｔpはニューロンがスパイクした時間であり、ｔhiはｉ番目の入力の時間入力スパイク時間であり、τ+はｃｏｌｄニューロンパラメータである。
【００８１】
[0090]最後のスパイクが出力ニューロンを最初に発火させる場合、まず（
【数２０】
2017515205.tif 000022
したがって、
【数２１】
2017515205.tif 000023
）、であり、勾配は存在しない。この場合、シナプスの重みの各々は、少量だけ減少され得る。重みは、
【数２２】
2017515205.tif 000024
に比例する量だけ減少され得、それはこれが最後の膜電圧が勾配を再びアクティブにするために減少され得る量であるためである。
【００８２】
[0091]問題を引き起こす主要なヒューリスティックは強すぎる出力であり得、ゼロ勾配とすべての重みを減少させるヒューリスティックをもたらす。勾配が強すぎる出力のために定義され、その勾配がバックプロパゲートされてオーバーシュートに比例し得るように、バリア正則化機能が追加され得る。
【００８３】
[0092]このように、入力を有するシナプスごとの重みは、シナプス／入力ニューロンごとの重みを適切に決定するためにそれぞれ評価される。
【００８４】
[0093]スパイクが到着するときにニューロンがＬＩＦ／ＡＬＩＦダイナミクスしきい値電圧（ｖ＋）付近に膜電圧を有する場合、本開示は、ダイナミクスにおけるこの不連続性を無視する誤差勾配を計算し得る。別の態様では、バリアペナルティ関数は、ＬＩＦ／ＡＬＩＦしきい値電圧付近の勾配計算に追加され得る。
【００８５】
[0094]本開示のそのような態様では、一旦これらのヒューリスティックが評価され、ニューラルネットワークのためにやりつくされると、勾配がそれぞれのシナプスに関して存在し、未定義／無限大の勾配条件はＣＯＬＤモデルの観点で定義される。このように、本開示は、平均二乗誤差の低減を修正して、出力スパイクの原因に関するいくつかの初期のアプローチ（たとえば、仮定）を提供する。
【００８６】
[0095]本開示はまた、勾配を正規化して、次いで所望の出力ソリューションに向けて所与の方向に勾配を適用する。しかしながら、これは、ニューラルネットワークの学習率を低減させることはできず、勾配が小さくなるにつれて局小値への収束を困難にする。次いで、より小さい勾配は徐々に小さくなる正規化を受け、それは、学習時間を増加させる。
【００８７】
[0096]この問題を克服するために、本開示は、しきい値よりも大きい、または大きな大きさまたは要素を有する勾配を正規化し得、正規化を伴う漸近問題を低減する、または最小化さえするために、大きい方向における勾配重みの更新を制限し得る。
【００８８】
[0097]さらに、本開示はまた、シグモイド関数を使用してＬＩＦからＡＬＩＦ領域へのスムーズな移行を提供する。
【００８９】
１−Ｄ  ＣＯＬＤモデルにおけるバックプロパゲーションのための数学
[0098]Ｉ−Ｄ  ＣＯＬＤモデルの形式は次のとおりである。
【数２３】
2017515205.tif 000025
【００９０】
[0099]デルタ入力電流だけが存在する場合、すなわち、
【数２４】
2017515205.tif 000026
である。
【００９１】
[00100]閉形式のイベントの解は次のとおりである。
【数２５】
2017515205.tif 000027
上式で、νj+1は、ｗj+1の重みを有するＪ＋１スパイク到着後の電圧である。
【００９２】
[00101]予想される誤差関数
【数２６】
2017515205.tif 000028
ここで、ｔpが実際の出力スパイク時間であり、
【数２７】
2017515205.tif 000029
がターゲット出力スパイク時間である、を最小化するために、重みｗijが最適化され得る。勾配降下
【数２８】
2017515205.tif 000030
の勾配は、ＡＬＩＦダイナミクスが出力ニューロンをまず
【数２９】
2017515205.tif 000031
としてスパイクさせるときに計算され得、上式で、
【数３０】
2017515205.tif 000032
および、
【数３１】
2017515205.tif 000033
である。
【００９３】
[00102]隠れ層では、
【数３２】
2017515205.tif 000034
であり、ここで、
【数３３】
2017515205.tif 000035
および
【数３４】
2017515205.tif 000036
である。
【００９４】
[00103]これは、
【数３５】
2017515205.tif 000037
から式（２８）
【数３６】
2017515205.tif 000038
に誤差関数を修正することを導き、ここで、ν0（ｔp）はスパイク時間ｔpの出力ニューロン膜電圧であり、（ν0（ｔp）−νpeak）2は、それがスパイキングしきい値νpeakを超える量の二乗である。時間ｔNで最後に到着する入力スパイクがνpeakを下回る出力ニューロンの膜電圧となる場合、ＡＬＩＦダイナミクスがスパイクを引き起こし、（ν0（ｔp）−νpeak）であり、誤差項はゼロである。そうでなければ、最後のスパイクが、しきい値を超える場合、それは、小さい重みの変化は一般にスパイク時間に影響を与えないので、元の誤差関数の下でゼロの誤差勾配となり、バリアはΨ（ν0（ｔp）−νpeak）2の量だけ誤差を増す。
【００９５】
[00104]同様に、隠れニューロンへの入力に関する勾配はバリアなしでゼロになり、したがって
【数３７】
2017515205.tif 000039
項は、隠れニューロンが強すぎる出力を有しないことを促進するためのバリアペナルティである。
【００９６】
[00105]バリア正則化項を伴う誤差関数を再定義することによって、バックプロパゲーションアルゴリズムが再導出され得、強すぎる出力のヒューリスティックは現在のバックプロパゲーションの一部である。
【００９７】
[00106]バックプロパゲーションは次のように計算される。出力層に関して、第１項の勾配
【数３８】
2017515205.tif 000040
は式（２８）におけるものと同一であり、第３項
【数３９】
2017515205.tif 000041
は、隠れノードスパイク時間に基づき、出力重みｗnpへの隠れの関数ではなく、したがってその勾配はゼロである。それは、中間項を以下のように計算させる。
【数４０】
2017515205.tif 000042
【００９８】
[00107]ｔp≠ｔNの場合、最後のスパイク時間は、ν0（ｔp）＝νpeakおよび
【数４１】
2017515205.tif 000043
である。
【００９９】
[00108]そうではない場合、
【数４２】
2017515205.tif 000044
であり、これは、
【数４３】
2017515205.tif 000045
のように、連鎖法則を使用して式（２３）において計算される。
【０１００】
[00109]したがって、次のように定義する。
【数４４】
2017515205.tif 000046
【０１０１】
[00110]そして、式（２８）の表記で、
【数４５】
2017515205.tif 000047
および、
【数４６】
2017515205.tif 000048
であり、出力層バリア誤差勾配は、
【数４７】
2017515205.tif 000049
である。
【０１０２】
[00111]隠れ層に関して、誤差勾配
【数４８】
2017515205.tif 000050
は、３つの部分を有し、最初の２つの項からのバックプロパゲートされた誤差と、第３の項からの誤差
【数４９】
2017515205.tif 000051
である。第３の項から誤差は、出力層の場合と同じ方法で計算されたｚmmである。第１の項のバックプロパゲーションは、式（２３）におけるものと同一である。第２の項のバックプロパゲーションは、次のように計算される。
【数５０】
2017515205.tif 000052
【０１０３】
[00112]式（２８）と同一の技法および定義を使用する。
【数５１】
2017515205.tif 000053
【０１０４】
[00113]次いで、バリアを有する出力層バックプロパゲーション勾配は、以下の式で与えられる。
【数５２】
2017515205.tif 000054
上式で、
【数５３】
2017515205.tif 000055
および、
【数５４】
2017515205.tif 000056
および、
【数５５】
2017515205.tif 000057
である。
【０１０５】
[00114]バリアを有する隠れ層勾配は、次のとおりである。
【数５６】
2017515205.tif 000058
ここで、
【数５７】
2017515205.tif 000059
および、
【数５８】
2017515205.tif 000060
および
【数５９】
2017515205.tif 000061
である。
【０１０６】
[00115]本開示は、平均二乗誤差を低減さらには最小化しようと努める。
【数６０】
2017515205.tif 000062
ここで、
【数６１】
2017515205.tif 000063
は、入力シーケンスｉの後の第１の出力スパイク時間であり、
【数６２】
2017515205.tif 000064
は、シーケンスｉのクラスラベルに基づく所望のスパイク時間である。
【０１０７】
[00116]本開示は、予想される誤差関数
【数６３】
2017515205.tif 000065
を最小化しようとし、ここで、ｔpは実際の出力スパイク時間であり、
【数６４】
2017515205.tif 000066
は、重みｗijを改善し、または可能であれば最適化することによる、ターゲット出力スパイク時間である。この導出に関して、
【数６５】
2017515205.tif 000067
は、最後の入力スパイク時間よりも大きい。これは必要ではないかもしれないが、出力スパイク時間を引き起こす着信スパイクから勾配の不連続性を除去する。
【０１０８】
出力層
[00117]勾配降下を実行するために、
【数６６】
2017515205.tif 000068
バックプロパゲーション勾配は、ＡＬＩＦ領域「ドリフト（ｄｒｉｆｔ）」が必要に応じて出力スパイクを引き起こすことを定義し得る。「ドリフト」は、ＡＬＩＦニューロンダイナミクスが、スパイク到着ではなく、ニューロンにスパイクさせることを意味し、すなわち、ＶNp＝ｖpeakである。
【０１０９】
[00118]勾配降下
【数６７】
2017515205.tif 000069
に関して、出力層は、隠れノードｎから出力ノードｐへの重みに関する誤差関数の偏微分係数
【数６８】
2017515205.tif 000070
を以下のように決定することによって計算される。
【数６９】
2017515205.tif 000071
ここで、
【数７０】
2017515205.tif 000072
である。
【０１１０】
[00119]他のバックプロパゲーションアプローチにおけるように、ｙnp項はフォワードパスにおいて計算され得、δp項はバックワードパスにおいて計算され得る。
【０１１１】
[00120]出力層δpは以下のように計算される。
【数７１】
2017515205.tif 000073
【０１１２】
[00121]同様のアプローチに続いて、ｙnp項は、スパイク到着時間にわたって連鎖法則を使用して以下のように計算される。
【数７２】
2017515205.tif 000074
ここで、
【数７３】
2017515205.tif 000075
は、出力ニューロンが時間ｔpでスパイクする前に、最後のスパイクが到着した直後の膜電位である。
【０１１３】
[00122]Ｃｏｌｄ  ＬＩＦ／ＡＬＩＦダイナミクスが与えられると、ニューロンはさらなるスパイク到着なしにスパイクするので、ニューロンは、
【数７４】
2017515205.tif 000076
に関するＡＬＩＦレジーム内にあるべきである。したがって、ｔpは、ρ＝＋、
【数７５】
2017515205.tif 000077
、νj+1＝Ｖpeak、
【数７６】
2017515205.tif 000078
ｔｊ＝ｔp、およびｗj+1＝０を設定し、ｔpに関して解くことによって、
【数７７】
2017515205.tif 000079
の関数として計算され得る。これらの条件は、ニューロンの発火時にスパイクが到着しなかったイベントをシミュレートする。式を解くと、次のようになる。
【数７８】
2017515205.tif 000080
【０１１４】
[00123]
【数７９】
2017515205.tif 000081
に関して偏微分をとると、
【数８０】
2017515205.tif 000082
である。
【０１１５】
[00124]さらに、
【数８１】
2017515205.tif 000083
に関して微分すると、
【数８２】
2017515205.tif 000084
を与え、これは、式を
【数８３】
2017515205.tif 000085
に低減する。
【０１１６】
[00125]他のｙnpを計算するために、値
【数８４】
2017515205.tif 000086
が、一般に微分することによって計算され、今回は、
【数８５】
2017515205.tif 000087
を得るためにνnpに関して微分する。
【０１１７】
[00126]これらをまとめて、以下を与える。
【数８６】
2017515205.tif 000088
【０１１８】
[00127]これは、ＡＬＩＦダイナミクスがしきい値を超える膜電圧を取る場合に関するものである。到着スパイクがしきい値を超える膜電圧をとる場合、電圧がイプシロン量を上回ってしきい値を超えるため、
【数８７】
2017515205.tif 000089
である。そのような場合、
【数８８】
2017515205.tif 000090
は勾配項のすべてに共通であるので、すべてのｙnp＝０である。
【０１１９】
[00128]同様に、１つの出力ターゲットスパイク
【数８９】
2017515205.tif 000091
の目的上、最後のスパイクの後に到着する任意のスパイクは、第１のスパイク時間に第１のスパイクにゼロ勾配を有させる。この条件は、以下を与える。
【数９０】
2017515205.tif 000092
【０１２０】
隠れ層
[00129]隠れ層スパイキングは、以下によって決定され得る。
【数９１】
2017515205.tif 000093
ここで
【数９２】
2017515205.tif 000094
である。
【０１２１】
[00130]隠れ層勾配降下に関して、本開示は、
【数９３】
2017515205.tif 000095
を計算する。上記のように連鎖法則を使用する。
【数９４】
2017515205.tif 000096
【０１２２】
[00131]隠れ層δnに関して、連鎖法則を使用するさらなる拡張は、以下を与える。
【数９５】
2017515205.tif 000097
ここで、
【数９６】
2017515205.tif 000098
は、出力層のために先に計算されており、
【数９７】
2017515205.tif 000099
は、出力層スパイキング時間の、隠れニューロンｎ個のスパイキング時間における変化の影響である。
【０１２３】
[00132]ｎ番目のスパイクがｔpの前の時間に到着すると、それは第１の出力スパイク時間に寄与し、それがしきい値を超えさせない。
そのような場合、
【数９８】
2017515205.tif 000100
は、以下のように連鎖法則を使用して計算される。
【数９９】
2017515205.tif 000101
【０１２４】
[00133]上記の
【数１００】
2017515205.tif 000102
に関する式と、ｙnpに関する連鎖法則の拡張とを比較すると、 
【数１０１】
2017515205.tif 000103
は、新しい項γnpを以下のように定義することによって、ｙnpの観点で記述され得る。
【数１０２】
2017515205.tif 000104
ここで、
【数１０３】
2017515205.tif 000105
である。
【０１２５】
[00134]νj+1に関して、ｊ＝ｎの場合、ｔnに関して微分をとると、以下が与えられる。
【数１０４】
2017515205.tif 000106
【０１２６】
[00135]また、νj+1について、ｊ＝ｎの場合、νnpに関する微分をとると、以下が与えられる。
【数１０５】
2017515205.tif 000107
【０１２７】
[00136]最後に、νj+1に関して偏微分をとると、ｊ＝ｎ−1の場合、以下を与える。
【数１０６】
2017515205.tif 000108
【０１２８】
[00137]これらの３つの項をγnpに関する式に代入すると、以下が与えられる。
【数１０７】
2017515205.tif 000109
【０１２９】
[00138]
【数１０８】
2017515205.tif 000110
が最後のスパイクであり、直ちに電圧にしきい値を超えさせる、
【数１０９】
2017515205.tif 000111
の場合、
【数１１０】
2017515205.tif 000112
および、
【数１１１】
2017515205.tif 000113
であり、最後の入力スパイク時間内の小さいシフトは、出力スパイク時間を出力スパイク時間を生じさせたのと同じ量だけシフトさせ、他のスパイク時間内の小さいシフトは出力スパイク時間に影響を与えない。この例ではｙnp＝０であり、したがって自動的に
【数１１２】
2017515205.tif 000114
であり、したがって明示的に
【数１１３】
2017515205.tif 000115
である。
【０１３０】
[00139]隠れ層ｙmnは出力層と同一であり、したがって、スパイク時間が隠れノードスパイク時間であることと、電圧が隠れノード最後の入力スパイク電圧であることと以外は、式は同じである。
【数１１４】
2017515205.tif 000116
【０１３１】
[00140]隠れ層に関して、ニューロンスパイキングは以下によって与えられる。
【数１１５】
2017515205.tif 000117
【０１３２】
[00141]人工ニューラルネットワークの知覚出力層勾配は、以下のように与えられ得る。
【数１１６】
2017515205.tif 000118
【０１３３】
[00142]ｘ∈｛±１０｝およびｙ∈｛±２０｝Ｇｒａｄ∈｛±２００｝に関して、η＝１０-4の学習率は、最大勾配（２００）のための小さいステップサイズと、小さい勾配（すなわち、１または０．１）に関して依然として合理的なステップサイズとを有する。
【０１３４】
[00143]ＣＯＬＤニューラルネットワーク出力層勾配は、以下のように与えられ得る。
【数１１７】
2017515205.tif 000119
ここで、ｔp〜ｙ、
【数１１８】
2017515205.tif 000120
、およびΣｉ（ｔi+1−ｔi）〜ｘである。
【０１３５】
[00144]このように、ＣＯＬＤ勾配は、約
【数１１９】
2017515205.tif 000121
であり、それは、ｘにおいて指数関数的である。
【０１３６】
[00145]ｘ∈｛±１０｝およびｙ∈｛±２０｝およびα＝１に関して、何らかのｘのためのＧｒａｄ∈｛±４×１０5｝であるが、約１、または小さい値のためにより小さくてもよく、したがってＣＯＬＤ勾配は数桁をカバーし、学習率の選択を困難にする。この欠点を克服するために、本開示は、勾配方向に小さい、または正規化された勾配変化（「ステップ」）をとることによって、勾配を正規化し得る。
【０１３７】
[00146]勾配方向に小さいステップを取ることが学習率を低減させない場合、本開示は、大規模な大きさまたは要素を有する勾配だけを正規化してもよく、大きい方向における重みの更新を制限してもよい。たとえば、限定ではないが、シグモイド関数を使用するＬＩＦとＡＬＩＦ領域との間のスムーズな移行は以下のように採用され得る。
【数１２０】
2017515205.tif 000122
【０１３８】
[00147]図５は、本開示のいくつかの態様による、汎用プロセッサ５０２を用いる上述のバックプロパゲーションの例示的な実装形態５００を示す。計算ネットワーク（ニューラルネットワーク）、遅延、および周波数ビン情報に関連付けられる、変数（ニューラル信号）、シナプス重み、システムパラメータは、メモリブロック５０４に記憶され得、汎用プロセッサ５０２で実行される命令はプログラムメモリ５０６からロードされ得る。本開示のある態様では、汎用プロセッサ５０２にロードされた命令は、原型ニューロンダイナミクスの誤差勾配を取得するための、および／またはニューロンモデルが原型ニューロンダイナミクスと一致するようにニューロンモデルのパラメータを修正するためのコードを備え得る。
【０１３９】
[00148]図６は、本開示のいくつかの態様による、メモリ６０２が相互接続ネットワーク６０４を介して計算ネットワーク（ニューラルネットワーク）の個々の（分散型）処理ユニット（ニューラルプロセッサ）６０６とインターフェースされ得る、上述のバックプロパゲーションの例示的な実装形態６００を示している。計算ネットワーク（ニューラルネットワーク）、遅延、周波数ビン情報、バックプロパゲーション等に関連付けられる、変数（ニューラル信号）、シナプス重み、システムパラメータはメモリ６０２に記憶され得、相互接続ネットワーク６０４の接続を介してメモリ６０２から各処理ユニット（ニューラルプロセッサ）６０６にロードされ得る。本開示のある態様では、処理ユニット６０６は、原型ニューロンダイナミクスの誤差勾配を取得する、および／またはニューロンモデルのパラメータを修正するように構成され得る。
【０１４０】
[00149]図７は、上述のバックプロパゲーションの例示的な実装形態７００を示している。図７に示されるように、１つのメモリバンク７０２は、計算ネットワーク（ニューラルネットワーク）の１つの処理ユニット７０４に直接インターフェースされ得る。各メモリバンク７０２は、対応する処理ユニット（ニューラルプロセッサ）７０４遅延、周波数ビン情報、バックプロパゲーション等に関連付けられる変数（ニューラル信号）、シナプス重み、および／またはシステムパラメータを記憶し得る。本開示のある態様では、処理ユニット７０４は、原型ニューロンダイナミクスの誤差勾配を取得する、および／またはニューロンモデルのパラメータを修正するように構成され得る。
【０１４１】
[00150]図８は、本開示のいくつかの態様による、ニューラルネットワーク８００の例示的な実装形態を示す。図８に示すように、ニューラルネットワーク８００は、上述した方法の様々な動作を実行し得る複数のローカル処理ユニット８０２を有することができる。各ローカル処理ユニット８０２は、ニューラルネットワークのパラメータを記憶する、ローカルステートメモリ８０４およびローカルパラメータメモリ８０６を備え得る。また、ローカル処理ユニット８０２は、ローカルモデルプログラムを記憶するためのローカル（ニューロン）モデルプログラム（ＬＭＰ）メモリ８０８、ローカル学習プログラムを記憶するためのローカル学習プログラム（ＬＬＰ）メモリ８１０、およびローカル接続メモリ８１２を有し得る。さらに、図８に示されるように、各ローカル処理ユニット８０２は、ローカル処理ユニットのローカルメモリの構成を提供するための設定プロセッサユニット８１４と、またローカル処理ユニット８０２間のルーティングを提供するルーティング接続処理ユニット８１６とインターフェースされ得る。
【０１４２】
[00151]一構成では、ニューロンモデルは、原型ニューロンダイナミクスの誤差勾配を取得する、および／またはニューロンモデルのパラメータを修正するために構成される。本ニューロンモデルは、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するための手段と、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段とを含む。一態様では、計算手段および／または使用手段は、記載された機能を実行するように構成された汎用プロセッサ５０２、プログラムメモリ５０６、メモリブロック５０４、メモリ６０２、相互接続ネットワーク６０４、処理ユニット６０６、処理ユニット７０４、ローカル処理ユニット８０２、およびまたはルーティング接続処理ユニット８１６であり得る。別の構成では、上述の手段は、上記の手段によって記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
【０１４３】
[00152]本開示のいくつかの態様によれば、各ローカル処理ユニット８０２は、ニューラルネットワークの所望の１つまたは複数の機能的特徴に基づいて、ニューラルネットワークのパラメータを決定して、決定されたパラメータがさらに適応され、同調され、更新されるにつれて、所望の機能的特徴に向けて１つまたは複数の機能的特徴を開発するように構成され得る。
【０１４４】
[00153]図９は、スパイキングニューラルネットワークをトレーニングするための方法９００を示している。ブロック９０２で、ニューロンモデルは、マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算する。さらに、ブロック９０４で、ニューロンモデルは、重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用する。
【０１４５】
[00154]上述した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含む、様々なハードウェアおよび／またはソフトウェア構成要素および／またはモジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
【０１４６】
[00155]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること（たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること）、確認することなどを含み得る。さらに、「決定」は、受信すること（たとえば、情報を受信すること）、アクセスすること（たとえば、メモリ中のデータにアクセスすること）などを含み得る。さらに、「決定」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【０１４７】
[00156]本明細書で使用する、項目のリスト「のうちの少なくとも１つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃを包含するものとする。
【０１４８】
[00157]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）または他のプログラマブル論理デバイス（ＰＬＤ）、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０１４９】
[00158]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその２つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形式の記憶媒体で存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭなどを含む。ソフトウェアモジュールは、単一の命令、または多数の命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラム間で、複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体化され得る。
【０１５０】
[00159]本明細書で開示する方法は、説明した方法を達成するための１つまたは複数のステップまたはアクションを備える。本方法のステップおよび／またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび／またはアクションの順序および／または使用は、特許請求の範囲から逸脱することなく変更され得る。
【０１５１】
[00160]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスとブリッジとを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース（たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど）もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路などの様々な他の回路にリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上は説明されない。
【０１５２】
[00161]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、１つまたは複数の汎用および／または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、ＤＳＰプロセッサ、およびソフトウェアを実行し得る他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、一例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読出し専用メモリ（ＲＯＭ）、プログラマブル読出し専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読出し専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の任意の適切な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
【０１５３】
[00162]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および／またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加で、機械可読媒体またはその任意の部分は、キャッシュおよび／または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。論じた様々な構成要素は、ローカル構成要素などの特定の位置を有するものとして説明され得るが、それらはまた、分散コンピューティングシステムの一部として構成されているいくつかの構成要素などの様々な方法で構成され得る。
【０１５４】
[00163]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する１つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとをもつ汎用処理システムとして構成され得る。あるいは、処理システムは、本明細書に記載のニューロンモデルとニューラルシステムのモデルとを実装するための１つまたは複数のニューロモルフィックプロセッサを備え得る。別の代替として、処理システムは、プロセッサを有する特定用途向け集積回路（ＡＳＩＣ）と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部とを用いて、あるいは１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、または他の任意の適切な回路、あるいは本開示全体を通じて説明した様々な機能を実行し得る回路の任意の組合せを用いて実装され得る。当業者なら、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明した機能を最も良く実装し得るかを理解されよう。
【０１５５】
[00164]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからＲＡＭにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、１つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
【０１５６】
[00165]ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体を適切に名づけられる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線（ＩＲ）、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体（たとえば、有形媒体）を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体（たとえば、信号）を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１５７】
[00166]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために１つまたは複数のプロセッサによって実行可能である命令を記憶した（および／または符号化した）コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
【０１５８】
[00167]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび／または他の適切な手段は、適用可能な場合にユーザ端末および／または基地局によってダウンロードされ、および／または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実施するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、ユーザ端末および／または基地局が記憶手段をデバイスに結合または提供すると様々な方法を得ることができるように、記憶手段（たとえば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクなどの物理記憶媒体など）によって提供され得る。その上、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
【０１５９】
[00168]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
【図１】
2017515205.tif 000123
【図２】
2017515205.tif 000124
【図３】
2017515205.tif 000125
【図４Ａ】
2017515205.tif 000126
【図４Ｂ】
2017515205.tif 000127
【図５】
2017515205.tif 000128
【図６】
2017515205.tif 000129
【図７】
2017515205.tif 000130
【図８】
2017515205.tif 000131
【図９】
2017515205.tif 000132
【手続補正書】
【提出日】平成28年11月22日(2016.11.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スパイキング人工ニューラルネットワークをトレーニングするための方法であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルに関するニューロン状態の更新を計算することと、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用することと、
を備える、方法。
【請求項２】
前記ニューロン状態の更新を計算することが、微分方程式の更新に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項３】
前記ニューロン状態の更新を計算することが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づく、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１に記載の方法。
【請求項５】
前記重みの更新が、前記出力スパイク時間に少なくとも部分的に基づいて、前記少なくとも１つの第１の層のニューロンに関する少なくとも１つの重みを修正することを備える、請求項１に記載の方法。
【請求項６】
前記重みの更新を計算することが、前記スパイキングニューラルネットワークにおける前記少なくとも１つの第１の層のニューロンのスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することを含む、請求項１に記載の方法。
【請求項７】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項６に記載の方法。
【請求項８】
前記第２の層のニューロンがスパイクしない場合、または前記第２の層のニューロンが所望の出力スパイク時間の後にスパイクする場合、前記重みの更新がデフォルト更新値を備える、請求項１に記載の方法。
【請求項９】
計算された勾配がしきい値を超える場合、前記計算された勾配を正規化することをさらに備える、請求項１に記載の方法。
【請求項１０】
ニューロン状態の更新を計算することが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することを備える、請求項１に記載の方法。
【請求項１１】
スパイキング人工ニューラルネットワークをトレーニングするための装置であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルに関するニューロン状態の更新を計算するための手段と、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段と、
を備える、装置。
【請求項１２】
スパイキング人工ニューラルネットワークをトレーニングするためのプログラムコードを符号化した非一時的コンピュータ可読媒体であって、前記プログラムコードは、
マップベースの更新と少なくとも１つのリセット機構とを有するスパイキングモデルに関するニューロン状態の更新を計算するためのプログラムコードと、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するためのプログラムコードと、
を備える、非一時的コンピュータ可読媒体。
【請求項１３】
スパイキング人工ニューラルネットワークであって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサが、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルに関するニューロン状態の更新を計算し、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用する、
ように構成される、スパイキング人工ニューラルネットワーク。
【請求項１４】
前記少なくとも１つのプロセッサが、微分方程式の更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項１５】
前記少なくとも１つのプロセッサが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１４に記載のスパイキング人工ニューラルネットワーク。
【請求項１６】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項１７】
前記少なくとも１つのプロセッサが、前記出力スパイク時間に少なくとも部分的に基づいて、前記少なくとも１つの第１の層のニューロンに関する少なくとも１つの重みを修正することによって重みの更新を計算するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項１８】
前記少なくとも１つのプロセッサが、前記スパイキングニューラルネットワークにおける前記少なくとも１つの第１の層のニューロンのスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することによって、前記重みの更新を計算するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項１９】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項１８に記載のスパイキング人工ニューラルネットワーク。
【請求項２０】
前記少なくとも１つのプロセッサが、前記第２の層のニューロンがスパイクしない場合、または前記第２の層のニューロンが所望の出力スパイク時間の後にスパイクする場合、重みの更新をデフォルト更新値として計算するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項２１】
前記少なくとも１つのプロセッサが、計算された勾配がしきい値を超える場合、前記計算された勾配を正規化するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【請求項２２】
前記少なくとも１つのプロセッサが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することによって、ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載のスパイキング人工ニューラルネットワーク。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５９
【補正方法】変更
【補正の内容】
【０１５９】
[00168]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
スパイキングニューラルネットワークをトレーニングするための方法であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算することと、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用することと、
を備える、方法。
［Ｃ２］
前記ニューロン状態の更新を計算することが、微分方程式の更新に少なくとも部分的に基づく、Ｃ１に記載の方法。
［Ｃ３］
前記ニューロン状態の更新を計算することが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づく、Ｃ２に記載の方法。
［Ｃ４］
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、Ｃ１に記載の方法。
［Ｃ５］
前記重みの更新が、出力スパイク時間に少なくとも部分的に基づいて、少なくとも１つの重みを修正することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記重みの更新を計算することが、前記スパイキングニューラルネットワークにおけるスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することを含む、Ｃ１に記載の方法。
［Ｃ７］
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、Ｃ６に記載の方法。
［Ｃ８］
ニューロンがスパイクしない場合、またはニューロンが所望の出力スパイク時間および実際の出力スパイク時間の後にスパイクする場合、前記重みの更新がデフォルト更新値を備える、Ｃ１に記載の方法。
［Ｃ９］
計算された勾配がしきい値を超える場合、計算された勾配を正規化することをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
ニューロン状態の更新を計算することが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することを備える、Ｃ１に記載の方法。
［Ｃ１１］
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置であって、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するための手段と、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段と、
を備える、装置。
［Ｃ１２］
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するためのコンピュータプログラム製品であって、
プログラムコードを符号化した非一時的コンピュータ可読媒体を備え、前記プログラムコードが、
マップベースの更新と少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算するためのプログラムコードと、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するためのプログラムコードと、
を備える、コンピュータプログラム製品。
［Ｃ１３］
スパイキングニューラルネットワーク内でバックプロパゲーションを実行するための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサが、
マップベースの更新と、少なくとも１つのリセット機構とを有するスパイキングモデルでニューロン状態の更新を計算し、
重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用する、
ように構成される、装置。
［Ｃ１４］
前記少なくとも１つのプロセッサが、微分方程式の更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、Ｃ１３に記載の装置。
［Ｃ１５］
前記少なくとも１つのプロセッサが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、Ｃ１４に記載の装置。
［Ｃ１６］
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、Ｃ１３に記載の装置。
［Ｃ１７］
前記少なくとも１つのプロセッサが、出力スパイク時間に少なくとも部分的に基づいて、少なくとも１つの重みを修正することによって重みの更新を計算するようにさらに構成される、Ｃ１３に記載の装置。
［Ｃ１８］
前記少なくとも１つのプロセッサが、前記スパイキングニューラルネットワークにおけるスパイク時間のニューロン状態に少なくとも部分的に基づいて誤差項を追加することによって、前記重みの更新を計算するようにさらに構成される、Ｃ１３に記載の装置。
［Ｃ１９］
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、Ｃ１８に記載の装置。
［Ｃ２０］
前記少なくとも１つのプロセッサが、ニューロンがスパイクしない場合、またはニューロンが所望の出力スパイク時間および実際の出力スパイク時間の後にスパイクする場合、重みの更新をデフォルト更新値として計算するようにさらに構成される、Ｃ１３に記載の装置。
［Ｃ２１］
前記少なくとも１つのプロセッサが、計算された勾配がしきい値を超える場合、計算された勾配を正規化するようにさらに構成される、Ｃ１３に記載の装置。
［Ｃ２２］
前記少なくとも１つのプロセッサが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することによって、ニューロン状態の更新を計算するようにさらに構成される、Ｃ１３に記載の装置。
【手続補正書】
【提出日】平成28年11月24日(2016.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
人工ニューラルネットワークをトレーニングするための方法であって、
マップベースの更新と、ニューロン状態をリセットするための少なくとも１つのリセット機構とを有するニューロンモデルに関するニューロン状態の更新を計算することと、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用することと、
を備える、方法。
【請求項２】
前記ニューロン状態の更新を計算することが、微分方程式の更新に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項３】
前記ニューロン状態の更新を計算することが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づく、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１に記載の方法。
【請求項５】
前記重みの更新が、前記出力スパイク時間に少なくとも部分的に基づいて、前記少なくとも１つの第１の層のニューロンに関する少なくとも１つの重みを修正することを備える、請求項１に記載の方法。
【請求項６】
前記重みの更新を計算することが、前記人工ニューラルネットワークにおける前記少なくとも１つの第１の層のニューロンのスパイク時間の前記ニューロン状態に少なくとも部分的に基づいて誤差項を追加することを含む、請求項１に記載の方法。
【請求項７】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項６に記載の方法。
【請求項８】
前記第２の層のニューロンがスパイクしない場合、または前記第２の層のニューロンが所望の出力スパイク時間の後にスパイクする場合、前記重みの更新がデフォルト更新値を備える、請求項１に記載の方法。
【請求項９】
計算された勾配がしきい値を超える場合、前記計算された勾配を正規化することをさらに備える、請求項１に記載の方法。
【請求項１０】
ニューロン状態の更新を計算することが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することを備える、請求項１に記載の方法。
【請求項１１】
人工ニューラルネットワークをトレーニングするための装置であって、
マップベースの更新と、ニューロン状態をリセットするための少なくとも１つのリセット機構とを有するニューロンモデルに関するニューロン状態の更新を計算するための手段と、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するための手段と、
を備える、装置。
【請求項１２】
人工ニューラルネットワークをトレーニングするためのプログラムコードを符号化した非一時的コンピュータ可読媒体であって、前記プログラムコードは、
マップベースの更新と、ニューロン状態をリセットするための少なくとも１つのリセット機構とを有するニューロンモデルに関するニューロン状態の更新を計算するためのプログラムコードと、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用するためのプログラムコードと、
を備える、非一時的コンピュータ可読媒体。
【請求項１３】
人工ニューラルネットワークであって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサが、
マップベースの更新と、ニューロン状態をリセットするための少なくとも１つのリセット機構とを有するニューロンモデルに関するニューロン状態の更新を計算し、
未定義の勾配を有する第２の層のニューロンの出力スパイク時間を調整するために少なくとも１つの第１の層のニューロンに関する重みの更新を計算するために、スパイク時間にバックプロパゲーションを使用する、
ように構成される、人工ニューラルネットワーク。
【請求項１４】
前記少なくとも１つのプロセッサが、微分方程式の更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【請求項１５】
前記少なくとも１つのプロセッサが、Ｃｏｌｄニューロンモデル更新に少なくとも部分的に基づいて前記ニューロン状態の更新を計算するようにさらに構成される、請求項１４に記載の人工ニューラルネットワーク。
【請求項１６】
前記少なくとも１つのリセット機構が、しきい値に少なくとも部分的に基づいてリセットをトリガする、請求項１３に記載の人工ニューラルネットワーク。
【請求項１７】
前記少なくとも１つのプロセッサが、前記出力スパイク時間に少なくとも部分的に基づいて、前記少なくとも１つの第１の層のニューロンに関する少なくとも１つの重みを修正することによって前記重みの更新を計算するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【請求項１８】
前記少なくとも１つのプロセッサが、前記人工ニューラルネットワークにおける前記少なくとも１つの第１の層のニューロンのスパイク時間の前記ニューロン状態に少なくとも部分的に基づいて誤差項を追加することによって、前記重みの更新を計算するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【請求項１９】
前記ニューロン状態と前記スパイク時間とが同じニューロンのものである、請求項１８に記載の人工ニューラルネットワーク。
【請求項２０】
前記少なくとも１つのプロセッサが、前記第２の層のニューロンがスパイクしない場合、または前記第２の層のニューロンが所望の出力スパイク時間の後にスパイクする場合、重みの更新をデフォルト更新値として計算するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【請求項２１】
前記少なくとも１つのプロセッサが、計算された勾配がしきい値を超える場合、前記計算された勾配を正規化するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【請求項２２】
前記少なくとも１つのプロセッサが、閉形式解に少なくとも部分的に基づいてニューロン状態の更新を算出することによって、前記ニューロン状態の更新を計算するようにさらに構成される、請求項１３に記載の人工ニューラルネットワーク。
【国際調査報告】
2017515205.tif 000133
2017515205.tif 000134
2017515205.tif 000135
2017515205.tif 000136
2017515205.tif 000137