(58)【調査した分野】(Int.Cl.,DB名)
前記取り出すことは、前記人工ニューロンの局所にあるメモリから前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つを取り出すことを備える、
請求項3に記載の方法。
前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つの前記少なくとも前記一部分は、メモリから取り出された1つまたは複数の値を使用して計算される、
請求項5に記載の方法。
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンに関連するニューロンモデルにおける非線形関数の少なくとも一部分を区分的線形関数により近似することによって取得される、
請求項1に記載の方法。
スパイク事象が生じているか、または生じることになるとの決定に少なくとも部分的に基づいて、前記人工ニューロンの前記膜電位または前記復元電流のうちの少なくとも1つをリセットすることをさらに備える、
請求項15に記載の方法。
前記ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または真性伝導性モデルのうちの少なくとも1つに少なくとも部分的に基づく、
請求項18に記載の方法。
特定の時間ステップの時間の前記ステップサイズは、前記人工ニューロンの現在の状態もしくは過去の状態のうちの少なくとも1つに、またはパラメータの特定のセットに少なくとも部分的に基づいて決定される、
請求項23に記載の方法。
前記入力電流は、1つまたは複数のチャネルの各々に関する時間依存型伝導性および前記1つまたは複数のチャネルの各々に関する逆転電位に少なくとも部分的に基づくシナプス電流を備える、
請求項26に記載の方法。
前記第1の状態を決定することと前記第2の状態を決定することとの間の時間の第1のステップサイズは、前記第2の状態を決定することと前記第3の状態を決定することとの間の時間の第2のステップサイズとは異なる、
請求項1に記載の方法。
前記人工ニューロンの前記第2の状態を決定することは、第1の時間ステップで実行され、前記人工ニューロンの前記第3の状態を決定することは、前記第1の時間ステップに続く第2の時間ステップで実行される、
請求項1に記載の方法。
前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つの前記少なくとも一部分は、前記メモリから取り出された1つまたは複数の値を使用して計算される、
請求項36に記載の装置。
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンに関連するニューロンモデルにおける非線形関数の少なくとも一部分を区分的線形関数により近似することによって取得される、
請求項32に記載の装置。
前記処理システムは、スパイク事象が生じているか、または生じることになるとの決定に少なくとも部分的に基づいて、前記人工ニューロンの前記膜電位または前記復元電流のうちの少なくとも1つをリセットすることを行うようにさらに構成される、
請求項46に記載の装置。
前記ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または真性伝導性モデルのうちの少なくとも1つに少なくとも部分的に基づく、
請求項49に記載の装置。
特定の時間ステップの時間の前記ステップサイズは、前記人工ニューロンの現在の状態もしくは過去の状態のうちの少なくとも1つに、またはパラメータの特定のセットに少なくとも部分的に基づいて決定される、
請求項54に記載の装置。
前記処理システムは、前記人工ニューロンに入力された電流に少なくとも部分的に基づいて、前記人工ニューロンの前記第2の状態または第3の状態のうちの少なくとも1つを決定することを行うように構成される、
請求項32に記載の装置。
前記入力電流は、1つまたは複数のチャネルの各々に関する時間依存型伝導性および前記1つまたは複数のチャネルの各々に関する逆転電位に少なくとも部分的に基づくシナプス電流を備える、
請求項57に記載の装置。
前記第1の状態を決定することと前記第2の状態を決定することとの間の時間の第1のステップサイズは、前記第2の状態を決定することと前記第3の状態を決定することとの間の時間の第2のステップサイズとは異なる、
請求項32に記載の装置。
【発明を実施するための形態】
【0019】
[0042]添付の図面を参照しながら本開示の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わされるにせよ、本明細書で開示する本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する本開示のいずれの態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
【0020】
[0043]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきであるとは限らない。
【0021】
[0044]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【0022】
例示的なニューラルシステム
[0045]
図1は、本開示のいくつかの態様による、複数のレベルのニューロンをもつ例示的なニューラルシステム100を示す。ニューラルシステム100は、シナプス結合のネットワーク104(すなわち、フィードフォワード結合)を介してニューロンの別のレベル106に結合されたニューロンのあるレベル102を備え得る。簡単のために、
図1には2つのレベルのニューロンのみが示されているが、典型的なニューラルシステムには、より少ないまたはより多くのレベルのニューロンが存在し得る。ニューロンのいくつかは、ラテラル結合を介して同じレイヤの他のニューロンに結合し得ることに留意されたい。さらに、ニューロンのいくつかは、フィードバック結合を介して前のレイヤのニューロンに戻る形で結合し得る。
【0023】
[0046]
図1に示すように、レベル102における各ニューロンは、前のレベル(
図1に図示せず)の複数のニューロンによって生成され得る入力信号108を受信し得る。信号108は、レベル102のニューロンへの入力(たとえば、入力電流)を表し得る。そのような入力は、膜電位を充電するためにニューロン膜上に蓄積され得る。膜電位がそれのしきい値に達すると、ニューロンは、発火し、ニューロンの次のレベル(たとえば、レベル106)に転送されるべき出力スパイクを生成し得る。そのような挙動は、アナログおよびデジタル実装形態を含むハードウェアおよび/またはソフトウェアでエミュレートまたはシミュレートされ得る。
【0024】
[0047]生物学的ニューロンでは、ニューロンが発火するときに生成される出力スパイクは、活動電位と呼ばれる。電気信号は、約100mVの振幅と約1msの持続時間とを有する比較的急速で、一時的で、全か無かの神経インパルスである。一連の結合されたニューロンを有するニューラルシステムの特定の態様(たとえば、
図1におけるあるレベルのニューロンから別のレベルのニューロンへのスパイクの転送)では、あらゆる活動電位が基本的に同じ振幅と持続時間とを有するので、信号における情報は、振幅によってではなく、スパイクの周波数および数(またはスパイクの時間)によってのみ表される。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、および1つまたは複数の他のスパイクに対するスパイクの時間によって決定される。
【0025】
[0048]
図1に示すように、あるレベルのニューロンから別のレベルのニューロンへのスパイクの転送は、シナプス結合(または単に「シナプス」)のネットワーク104によって達成され得る。シナプス104は、レベル102のニューロン(シナプス104に対するシナプス前ニューロン)から出力信号(すなわち、スパイク)を受信し得る。いくつかの態様では、これらの信号は、調整可能なシナプス重み
【数1】
【0026】
(ここでPは、レベル102のニューロンとレベル106のニューロンとの間のシナプス結合の総数である)に従ってスケーリングされ得る。他の態様では、シナプス104は、いかなるシナプス重みをも適用しないことがある。さらに、(スケーリングされた)信号は、レベル106における各ニューロン(シナプス104に対するシナプス後ニューロン)の入力信号として合成され得る。レベル106におけるあらゆるニューロンは、対応する合成された入力信号に基づいて、出力スパイク110を生成し得る。出力スパイク110は、次いで、シナプス結合の別のネットワーク(
図1には図示せず)を使用して、別のレベルのニューロンに転送され得る。
【0027】
[0049]生物学的シナプスは、電気シナプスまたは化学シナプスのいずれに分類され得る。電気シナプスは、興奮性信号を送るために主に使用される一方、化学シナプスは、シナプス後ニューロンにおける興奮性活動または抑制性(過分極化)活動のいずれかを調停することができ、ニューロン信号を増幅する役目を果たすこともできる。興奮性信号は通常、膜電位を脱分極する(すなわち、静止電位に対して膜電位を増加させる)。しきい値を超えて膜電位を脱分極するために十分な興奮性信号が一定期間内に受信された場合、シナプス後ニューロンに活動電位が生じる。対照的に、抑制性信号は一般に、膜電位を過分極する(すなわち、低下させる)。抑制性信号は、十分に強い場合、興奮性信号のすべてを相殺し、膜電位がしきい値に達するのを防止することができる。シナプス興奮を相殺することに加えて、シナプス抑制は、自然に活発なニューロンに対して強力な制御を行うことができる。自然に活発なニューロンは、たとえば、それのダイナミクスまたはフィードバックに起因するさらなる入力なしにスパイクするニューロンを指す。これらのニューロンにおける活動電位の自然な生成を抑圧することによって、シナプス抑制は、一般にスカルプチャリングと呼ばれる、ニューロンの発火のパターンを形成することができる。様々なシナプス104は、望まれる挙動に応じて、興奮性シナプスまたは抑制性シナプスの任意の組合せとして働き得る。
【0028】
[0050]ニューラルシステム100は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス(PLD)、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、プロセッサによって実行されるソフトウェアモジュール、またはそれらの任意の組合せによってエミュレートされ得る。ニューラルシステム100は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。ニューラルシステム100における各ニューロン(またはニューロンモデル)は、ニューロン回路として実装され得る。出力スパイクを開始するしきい値まで充電されるニューロン膜は、たとえば、そこを通って流れる電流を積分するキャパシタとして実装され得る。
【0029】
[0051]一態様では、キャパシタは、ニューロン回路の電流積分デバイスとして除去され得、その代わりにより小さいメムリスタ(memristor)要素が使用され得る。この手法は、ニューロン回路において、ならびにかさばるキャパシタが電流積分器として利用される様々な他の適用例において適用され得る。さらに、シナプス104の各々は、メモリスタ要素に基づいて実装され得、シナプス重みの変化は、メモリスタ抵抗の変化に関係し得る。ナノメートルの特徴サイズのメモリスタを用いると、ニューロン回路およびシナプスの面積が大幅に低減され得、それによって、非常に大規模なニューラルシステムハードウェア実装形態の実装が実用的になり得る。
【0030】
[0052]ニューラルシステム100をエミュレートするニューラルプロセッサの機能は、ニューロン間の結合の強さを制御し得る、シナプス結合の重みに依存し得る。シナプス重みは、パワーダウン後にプロセッサの機能を維持するために、不揮発性メモリに記憶され得る。一態様では、シナプス重みメモリは、主たるニューラルプロセッサチップとは別個の外部チップ上に実装され得る。シナプス重みメモリは、交換可能メモリカードとしてニューラルプロセッサチップとは別個にパッケージ化され得る。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに記憶されたシナプス重みに基づき得る。
【0031】
[0053]
図2は、本開示のいくつかの態様による、計算ネットワーク(たとえば、ニューラルシステムまたはニューラルネットワーク)の処理ユニット(たとえば、人工ニューロン202)の一例200を示す。たとえば、ニューロン202は、
図1のレベル102のニューロンおよび106のニューロンのうちのいずれかに対応し得る。ニューロン202は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号204
1〜204
N(x
1〜x
N)を受信し得る。入力信号は、電流または電圧、実数値または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み206
1〜206
N(w
1〜w
N)に従って信号をスケーリングするシナプス結合を通してニューロン202に伝えられ得、Nはニューロン202の入力接続の総数であり得る。
【0032】
[0054]ニューロン202は、スケーリングされた入力信号を合成し、合成された、スケーリングされた入力を使用して、出力信号208(すなわち、信号y)を生成し得る。出力信号208は、電流または電圧、実数値または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。出力信号208は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン202への入力信号として、またはニューラルシステムの出力として伝達され得る。
【0033】
[0055]処理ユニット(ニューロン)202は電気回路によってエミュレートされ得、それの入力接続および出力接続は、シナプス回路をもつワイヤによってエミュレートされ得る。処理ユニット202、それの入力接続および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニット202はまた、電気回路によってエミュレートされ得るが、それの入力接続および出力接続はソフトウェアコードによってエミュレートされ得る。一態様では、計算ネットワーク中の処理ユニット202はアナログ電気回路を備え得る。別の態様では、処理ユニット202はデジタル電気回路を備え得る。さらに別の態様では、処理ユニット202は、アナログ構成要素とデジタル構成要素の両方をもつ混合信号電気回路を備え得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを備え得る。そのような処理ユニットを使用した計算ネットワーク(ニューラルシステムまたはニューラルネットワーク)は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。
【0034】
[0056]ニューラルネットワークをトレーニングする過程で、シナプス重み(たとえば、
図1の重み
【数2】
【0035】
および/または
図2の重み206
1〜206
N)がランダム値により初期化され得、学習ルールに従って増加または減少し得る。学習ルールのいくつかの例として、スパイクタイミング依存可塑性(STDP)学習ルール、Hebb則、Oja則、Bienenstock−Copper−Munro(BCM)則などがある。非常に多くの場合、重みは、2つの値のうちの1つに安定し得る(すなわち、重みの双峰分布)。この効果が利用されて、シナプス重み当たりのビット数を低減し、シナプス重みを記憶するメモリとの間の読取りおよび書込みの速度を上げ、シナプスメモリの電力消費量を低減し得る。
【0036】
シナプスタイプ
[0057]ニューラルネットワークのハードウェアおよびソフトウェアモデルでは、シナプス関係機能の処理がシナプスタイプに基づき得る。シナプスタイプは、非塑性シナプス(non-plastic synapse)(重みおよび遅延の変化がない)と、可塑性シナプス(重みが変化し得る)と、構造遅延可塑性シナプス(重みおよび遅延が変化し得る)と、完全可塑性シナプス(重み、遅延および結合性が変化し得る)と、それの変形(たとえば、遅延は変化し得るが、重みまたは結合性の変化はない)とを備え得る。これの利点は、処理が再分割され得ることである。たとえば、非塑性シナプスは、可塑性機能を実行すること(またはそのような機能が完了するのを待つこと)を必要とし得ない。同様に、遅延および重み可塑性は、一緒にまたは別々に、順にまたは並列に動作し得る動作に再分割され得る。異なるタイプのシナプスは、適用される異なる可塑性タイプの各々の異なるルックアップテーブルまたは式およびパラメータを有し得る。したがって、本方法は、シナプスのタイプの関係するテーブルにアクセスすることになる。
【0037】
[0058]また、スパイクタイミング依存構造可塑性がシナプス可塑性とは無関係に実行され得るという事実のさらなる含意がある。構造可塑性(すなわち、遅延量の変化)は前後スパイク時間差(pre-post spike time difference)の直接関数であり得るので、構造可塑性は、重みの大きさに変化がない場合(たとえば、重みが最小値または最大値に達したか、あるいはそれが何らかの他の理由により変更されない場合)でも実行され得る。代替的に、それは、重み変化量に応じて、または重みもしくは重み変化の限界に関係する条件に基づいて設定され得る。たとえば、重み変化が生じたとき、または重みが最大限に達するのではなく、重みがゼロに達した場合のみ、シナプス遅延が変化し得る。しかしながら、これらのプロセスが並列化され、メモリアクセスの数および重複を低減し得るように、独立した機能を有することが有利であり得る。
【0038】
シナプス可塑性の決定
[0059]神経可塑性(または単に「可塑性」)は、脳内のニューロンおよびニューラルネットワークがそれらのシナプス結合と挙動とを新しい情報、感覚上の刺激、発展、損傷または機能不全に応答して変える能力である。可塑性は、生物学における学習および記憶にとって、また計算論的神経科学およびニューラルネットワークにとって重要である。(たとえば、Hebb則理論による)シナプス可塑性、スパイクタイミング依存可塑性(STDP)、非シナプス可塑性、活性依存可塑性、構造可塑性および恒常的可塑性など、様々な形の可塑性が研究されている。
【0039】
[0060]STDPは、脳内の場合のようなニューロン間のシナプス結合の強さを調整する学習プロセスである。結合強度は、特定のニューロンの出力スパイクおよび受信入力スパイク(すなわち、活動電位)の相対的タイミングに基づいて調整される。STDPプロセスの下で、あるニューロンに対する入力スパイクが、平均して、そのニューロンの出力スパイクの直前に生じる傾向がある場合、長期増強(LTP)が生じ得る。その場合、その特定の入力はいくらか強くなる。対照的に、入力スパイクが、平均して、出力スパイクの直後に生じる傾向がある場合、長期抑圧(LTD)が生じ得る。その場合、その特定の入力はいくらか弱くなるので、「スパイクタイミング依存可塑性」と呼ばれる。したがって、シナプス後ニューロンの興奮の原因であり得る入力は、将来的に寄与する可能性がさらに高くなる一方、シナプス後スパイクの原因ではない入力は、将来的に寄与する可能性が低くなる。結合の初期セットのサブセットが残る一方で、その他の部分の影響がゼロまたはゼロの近くまで低減されるまで、このプロセスは続く。
【0040】
[0061]ニューロンは一般に出力スパイクを、それの入力の多くが短い期間内に生じる(すなわち、出力をもたらすのに十分に累積している)ときに生成するので、通常残っている入力のサブセットは、時間的に相関する傾向のあった入力を含む。さらに、出力スパイクの前に生じる入力は強化されるので、最も早い十分に累積的な相関指示を提供する入力は結局、ニューロンへの最終入力となる。
【0041】
[0062]STDP学習ルールは、シナプス前ニューロンのスパイク時間t
preとシナプス後ニューロンのスパイク時間t
postとの間の時間差(すなわち、t=t
post−t
pre)に応じて、シナプス前ニューロンをシナプス後ニューロンに結合するシナプスのシナプス重みを効果的に適合させ得る。STDPの通常の公式化は、時間差が正である(シナプス前ニューロンがシナプス後ニューロンの前に発火する)場合にシナプス重みを増加させ(すなわち、シナプスを増強し)、時間差が負である(シナプス後ニューロンがシナプス前ニューロンの前に発火する)場合にシナプス重みを減少させる(すなわち、シナプスを抑制する)ことである。
【0042】
[0063]STDPプロセスでは、経時的なシナプス重みの変化は通常、以下の式によって与えられるように、指数関数的減衰を使用して達成され得る。
【数3】
【0043】
ここで、k
+およびk
-はそれぞれ、正の時間差および負の時間差の時間定数であり、a
+およびa
-は対応するスケーリングの大きさであり、μは正の時間差および/または負の時間差に適用され得るオフセットである。
【0044】
[0064]
図3は、STDPによる、シナプス前スパイクおよびシナプス後スパイクの相対的タイミングに応じたシナプス重み変化の例示的なグラフ
図300を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合、グラフ300の部分302に示すように、対応するシナプス重みは増加し得る。この重み増加は、シナプスのLTPと呼ばれ得る。グラフ部分302から、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差に応じて、LTPの量がほぼ指数関数的に減少し得ることが観測され得る。グラフ300の部分304に示すように、発火の逆の順序は、シナプス重みを減少させ、シナプスのLTDをもたらし得る。
【0045】
[0065]
図3のグラフ300に示すように、STDPグラフのLTP(原因)部分302に負のオフセットμが適用され得る。x軸の交差306のポイント(y=0)は、レイヤi−1からの原因入力の相関を考慮して、最大タイムラグと一致するように構成され得る。フレームベースの入力(すなわち、入力は、スパイクまたはパルスを備える特定の持続時間のフレームの形式である)の場合、オフセット値μは、フレーム境界を反映するように計算され得る。直接的にシナプス後電位によってモデル化されるように、またはニューラル状態に対する影響の点で、フレームにおける第1の入力スパイク(パルス)が経時的に減衰することが考慮され得る。フレームにおける第2の入力スパイク(パルス)が特定の時間フレームの相関したまたは関連したものと考えられる場合、フレームの前および後の関連する時間は、その時間フレーム境界で分離され、関連する時間の値が異なり得る(たとえば、1つのフレームよりも大きい場合は負、1つのフレームよりも小さい場合は正)ように、STDP曲線の1つまたは複数の部分をオフセットすることによって、可塑性の点で別様に扱われ得る。たとえば、曲線が、フレーム時間よりも大きい前後の時間で実際にゼロよりも下になり、結果的にLTPの代わりにLTDの一部であるようにLTPをオフセットするために負のオフセットμが設定され得る。
【0046】
ニューロンモデルおよび演算
[0066]有用なスパイキングニューロンモデルを設計するための一般的原理がいくつかある。良いニューロンモデルは、2つの計算レジーム、すなわち、一致検出および関数計算の点で豊かな潜在的挙動を有し得る。その上、良いニューロンモデルは、時間コーディングを可能にするための2つの要素を有する必要がある。すなわち、入力の到着時間は出力時間に影響を与え、一致検出は狭い時間ウィンドウを有し得る。最後に、計算上魅力的であるために、良いニューロンモデルは、連続時間にクローズド式解を有することができ、ニアアトラクター(near attractor)と鞍点とを含む安定した挙動を有し得る。言い換えれば、有用なニューロンモデルは、実用的なニューロンモデルであり、豊かで、現実的で、生物学的に一貫した挙動をモデル化するために使用され得、かつ神経回路のエンジニアリングとリバースエンジニアリングの両方を行うために使用され得るニューロンモデルである。
【0047】
[0067]ニューロンモデルは事象、たとえば入力の到着、出力スパイク、または内部的であるか外部的であるかを問わず他の事象に依存し得る。豊かな挙動レパートリーを実現するために、複雑な挙動を示すことができるステートマシンが望まれ得る。入力寄与(ある場合)とは別個の事象の発生自体がステートマシンに影響を与え、事象の後のダイナミクスを制限し得る場合、システムの将来の状態は、単なる状態および入力の関数ではなく、むしろ状態、事象および入力の関数である。
【0048】
[0068]一態様では、ニューロンnは、下記のダイナミクスによって判定される膜電圧v
n(t)によるスパイキングリーキー積分発火ニューロンとしてモデル化され得る。
【数4】
【0049】
ここでαおよびβはパラメータであり、w
m,nは、シナプス前ニューロンmをシナプス後ニューロンnに結合するシナプスのシナプス重みであり、y
m(t)は、ニューロンnの細胞体に到着するまでΔt
m,nに従って樹状遅延または軸索遅延によって遅延し得るニューロンmのスパイキング出力である。
【0050】
[0069]シナプス後ニューロンへの十分な入力が達成された時間からシナプス後ニューロンが実際に発火する時間までの遅延があることに留意されたい。Izhikevichの単純モデルなど、動的スパイキングニューロンモデルでは、脱分極しきい値v
tとピークスパイク電圧v
peakとの間に差がある場合、時間遅延が生じ得る。たとえば、単純モデルでは、電圧および復元のための1対の微分方程式、すなわち、
【数5】
【0051】
によってニューロン細胞体ダイナミクス(neuron soma dynamics)が判定され得る。ここでvは膜電位であり、uは、膜復元変数であり、kは、膜電位vの時間スケールを記述するパラメータであり、aは、復元変数uの時間スケールを記述するパラメータであり、bは、膜電位vのしきい値下変動に対する復元変数uの感度を記述するパラメータであり、v
rは、膜静止電位であり、Iは、シナプス電流であり、Cは、膜のキャパシタンスである。このモデルによれば、ニューロンはv>v
peakのときにスパイクすると定義される。
【0052】
Hunzinger Coldモデル
[0070]Hunzinger Coldニューロンモデルは、豊かな様々な神経挙動を再生し得る最小二重レジームスパイキング線形動的モデルである。モデルの1次元または2次元の線形ダイナミクスは2つのレジームを有することができ、時間定数(および結合)はレジームに依存し得る。しきい値下レジームでは、時間定数は、慣例により負であり、一般に生物学的に一貫した線形方式で静止状態に細胞を戻す役目を果たすリーキーチャネルダイナミクスを表す。しきい値上レジームにおける時間定数は、慣例により正であり、一般にスパイク生成のレイテンシを生じさせる一方でスパイク状態に細胞を駆り立てる反リーキーチャネルダイナミクスを反映する。
【0053】
[0071]
図4に示すように、モデルのダイナミクスは2つの(またはそれよりも多くの)レジームに分割され得る。これらのレジームは、負レジーム402(リーキー積分発火(LIF)ニューロンモデルと混同されないように互換的にLIFレジームとも呼ばれる)および正レジーム404(反リーキー積分発火(ALIF)ニューロンモデルと混同されないように互換的にALIFレジームとも呼ばれる)と呼ばれ得る。負レジーム402では、状態は将来の事象の時点における静止(v
-)の傾向がある。この負レジームでは、モデルは一般に、時間的入力検出特性と他のしきい値下挙動とを示す。正レジーム404では、状態はスパイキング事象(v
s)の傾向がある。この正レジームでは、モデルは、後続の入力事象に応じてスパイクにレイテンシを生じさせるなどの計算特性を示す。事象の点からのダイナミクスの公式化およびこれら2つのレジームへのダイナミクスの分離は、モデルの基本的特性である。
【0054】
[0072]線形二重レジーム2次元ダイナミクス(状態vおよびuの場合)は、慣例により次のように定義され得る。
【数6】
【0055】
ここでq
ρおよびrは、結合のための線形変換変数である。
【0056】
[0073]シンボルρは、ダイナミクスレジームを示すためにここで使用され、特定のレジームの関係を論述または表現するときに、それぞれ負レジームおよび正レジームについて符号「−」または「+」にシンボルρを置き換える慣例がある。
【0057】
[0074]モデル状態は、膜電位(電圧)vおよび復元電流uによって定義される。基本形態では、レジームは基本的にモデル状態によって決定される。正確で一般的な定義の微妙だが重要な側面があるが、差し当たり、モデルが、電圧vがしきい値(v
+)を上回る場合に正レジーム404にあり、そうでない場合に負レジーム402にあると考える。
【0058】
[0075]レジーム依存時間定数は、負レジーム時間定数であるτ
-と正レジーム時間定数であるτ
+とを含む。復元電流時間定数τ
uは通常、レジームから独立している。便宜上、τ
uと同様に、指数およびτ
+が一般に正となる正レジームの場合に、電圧発展(voltage evolution)に関する同じ表現が使用され得るように、減衰を反映するために負の量として負レジーム時間定数τ
-が一般に指定される。
【0059】
[0076]2つの状態要素のダイナミクスは、事象において、ヌルクラインから状態をオフセットする変換によって結合され得、ここで変換変数は、
【数7】
【0060】
であり、δ、ε、βおよびv
-、v
+はパラメータである。v
ρのための2つの値は、2つのレジームのための参照電圧のベースである。パラメータv
-は、負レジームのためのベース電圧であり、膜電位は一般に、負レジームにおいてv
-に減衰することになる。パラメータv
+は、正レジームのためのベース電圧であり、膜電位は一般に、正レジームにおいてv
+から離れる傾向となる。
【0061】
[0077]vおよびuのためのヌルクラインは、それぞれ変換変数q
ρおよびrの負によって与えられる。パラメータδは,uヌルクラインの傾きを制御するスケール係数である。パラメータεは通常、−v
-に等しく設定される。パラメータβは、両方のレジームにおいてvヌルクラインの傾きを制御する抵抗値である。τ
ρ時間定数パラメータは、指数関数的減衰だけでなく、各レジームにおいて別個にヌルクラインの傾きを制御する。
【0062】
[0078]モデルは、電圧vが値v
sに達したときにスパイクするように定義される。続いて、状態は通常、(技術的に、スパイク事象と同じ1つのものであり得る)リセット事象でリセットされる。
【数8】
【0064】
およびΔuはパラメータである。リセット電圧
【数10】
【0066】
[0079]瞬時結合の原理によって、状態について(また、単一の指数項による)だけではなく、特定の状態に到達するために必要とされる時間についても、クローズド式解が可能である。クローズ形式状態解は、次のとおりである。
【数11】
【0067】
[0080]したがって、モデル状態は、入力(シナプス前スパイク)または出力(シナプス後スパイク)などの事象に伴ってのみ更新され得る。また、演算が(入力があるか、出力があるかを問わず)任意の特定の時間に実行され得る。
【0068】
[0081]その上、瞬時結合原理によって、反復的技法または数値解法(たとえば、オイラー数値解法)なしに、特定の状態に到達する時間が事前に決定され得るように、シナプス後スパイクの時間が予想され得る。前の電圧状態v
0を踏まえ、電圧状態v
fに到達するまでの時間遅延は、次の式によって与えられる。
【数12】
【0069】
[0082]スパイクが、電圧状態vがv
sに到達する時間に生じると定義される場合、電圧が所与の状態vにある時間から測定されたスパイクが生じるまでの時間量、または相対的遅延に関するクローズド式解は、次のとおりである。
【数13】
【0071】
は通常、パラメータv
+にセットされるが、他の変形も可能であり得る。
【0072】
[0083]モデルダイナミクスの上記の定義は、モデルが正レジームにあるか、それとも負レジームにあるかに依存する。上述のように、結合およびレジームρは、事象に伴って計算され得る。状態の伝搬のために、レジームおよび結合(変換)変数は、最後の(前の)事象の時間における状態に基づいて定義され得る。続いてスパイク出力時間を予想するために、レジームおよび結合変数は、次の(最新の)事象の時間における状態に基づいて定義され得る。
【0073】
[0084]Coldモデルの、適時にシミュレーション、エミュレーションまたはモデルを実行するいくつかの可能な実装形態がある。これは、たとえば、事象更新モード、ステップ事象更新モード、およびステップ更新モードを含む。事象更新は、(特定の瞬間における)事象または「事象更新」に基づいて状態が更新される更新である。ステップ更新は、間隔(たとえば、1ms)をおいてモデルが更新される更新である。これは必ずしも、反復的技法または数値解法を必要とするとは限らない。また、事象がステップもしくはステップ間で生じる場合または「ステップ事象」更新によってモデルを更新するのみによって、ステップベースのシミュレータにおいて限られた時間分解能で事象ベースの実装形態が可能である。
【0074】
ニューラルコーディング
[0085]
図1の人工ニューロン102、106から構成されるニューラルネットワークモデルなどの有用なニューラルネットワークモデルは、一致コーディング、時間コーディングまたはレートコーディングなど、様々な好適なニューラルコーディング方式のうちのいずれかを介して情報を符号化することができる。一致コーディングでは、情報は、ニューロン集団の活動電位(スパイキング活動)の一致(または時間的近接度)で符号化される。時間コーディングでは、ニューロンは、絶対時間であるか相対時間であるかを問わず、活動電位(すなわち、スパイク)の正確なタイミングを通して情報を符号化する。したがって、情報は、ニューロン集団の間でスパイクの相対的タイミングで符号化され得る。対照的に、レートコーディングは、発火レートまたは集団発火レートでニューラル情報をコーディングすることを伴う。
【0075】
[0086]ニューロンモデルは、時間コーディングを実行し得る場合、(レートは単に、タイミングまたはスパイク間の間隔の関数であるので)レートコーディングも実行し得る。時間コーディングを行うために、良いニューロンモデルは2つの要素を有する必要がある。すなわち、(1)入力の到着時間は出力時間に影響を与え、(2)一致検出は狭い時間ウィンドウを有し得る。時間パターンの要素を適切に遅延させることによって、要素はタイミング一致に組み込まれ得るので、結合遅延は、一致検出を時間パターン復号に拡大するための1つの手段を提供する。
【0076】
到着時間
[0087]良いニューロンモデルでは、入力の到着の時間は、出力の時間に影響を与えるはずである。シナプス入力は、ディラックのデルタ関数であるか、成形シナプス後電位(PSP:shaped post-synaptic potential)であるかを問わず、興奮性(EPSP)であるか、抑制性(IPSP)であるかを問わず、到着時間(たとえば、デルタ関数またはステップもしくは他の入力関数の開始もしくはピークの時間)を有し、これは入力時間と呼ばれ得る。ニューロン出力(すなわち、スパイク)は、(細胞体、軸索に沿ったポイント、または軸索の端部など、どこで測定される場合でも)発生の時間を有し、これは出力時間と呼ばれ得る。出力時間は、スパイクのピークの時間、スパイクの開始の時間、または出力波形に関係する任意の他の時間であり得る。支配的原理は、出力時間が入力時間に依存することである。
【0077】
[0088]一見したところ、すべてのニューロンモデルがこの原理に従うと思われるかもしれないが、これは一般には当てはまらない。たとえば、レートベースのモデルは、この特徴を有しない。多くのスパイキングモデルも、一般には適合しない。リーキー積分発火(LIF)モデルは、(しきい値を越えて)追加の入力がある場合にさらに速く発火することはない。その上、非常に高いタイミング分解能でモデル化された場合に適合する可能性があるモデルは多くの場合、タイミング分解能がたとえば1msのステップに限定されているときに適合しない。
【0078】
入力
[0089]ニューロンモデルへの入力はディラックのデルタ関数、たとえば電流としての入力または伝導性ベースの入力を含み得る。後者の場合、ニューロン状態への寄与は連続的または状況依存的であり得る。
【0079】
例示的な区分的線形ニューロンモデル化
[0090]ニューロンのダイナミクスのための数学的モデルは、数十年にわたって模索され、研究されている。様々なニューロンモデルが提案されており、複雑性およびモデルと生物学的な対応物との合致の精度は異なる。基本的に、すべてのニューロンモデルは、実に様々なイオンチャネルの相互作用に起因する細胞膜電圧の非線形挙動を捕捉することを試み、共通の開始点、すなわち、1950年代のHodgkin−Huxleyの画期的な成果によって提供された数学的記述を有する。
【0080】
[0091]長年にわたって、神経科学者は、主に、2次元ニューロンモデルに収斂しており、これは、神経科学者がモデル化を求める生物学的細胞の測定済み挙動を再現する能力と2次元ニューロンモデルが分析されシミュレートされる場合の容易さおよび速度との間の良好なトレードオフを提供するとみられる。最も一般的な2次元モデルは、1対の微分方程式を介してすべて公式化されており、以下で説明する。
【0081】
[0092]しかしながら、従来型のニューロンモデル実装形態は柔軟性に欠ける。通常、人工ニューロンに関するニューロンモデルの実装形態は、たとえば、特定のニューロンモデルを事前に選択することに基づく。この手法の難点は、まったく異なるニューロンモデルや、若干変更されたニューロンモデルでさえ実装するのが難しいことである。
【0082】
[0093]本開示のいくつかの態様は、上述したように細胞膜電圧の非線形挙動を捕捉することを試みる非線形関数F(v)を別にすれば、様々な動的ニューロンモデルのための微分方程式が等しいと考えられ得る事実を利用する。この実現により、1つの手法は、区分的線形近似をもたらすためにニューロンのダイナミクスをモデル化するために使用される微分方程式において非線形関数を有限量子化間隔で線形化することを含む。そのような手法の利点は、比較的容易に、任意のニューロンモデルが分析されシミュレートされ得る場合の一般的な数学的枠組みにより、連続時間または離散時間のいずれかにおけるダイナミクスに対する解を導出する能力を含む。これらの解は、本開示のいくつかの態様のための異なるニューロンモデルの実装形態がパラメータの単純な置換を伴い得るように、所与のニューロンモデルに各量子化間隔に対応するパラメータを提供する。
【0083】
[0094]本開示のいくつかの態様は、この区分的線形化手法を、シナプス電流を含む関数に適用する。このより一般化された手法は、とりわけ変数の中でも、時間変動シナプス伝導性の関数であるシステム行列につながる。本開示はまず、得られる区分的線形時間変動システムに対するいくつかの近似解を調べる。次に、本開示は、所与の時間間隔における定数によって時間変動伝導性を近似することによって前の時間変動システムから取得された区分的線形時間不変(LTI)システムを調べる。このより正確な手法は、シナプス電流を含む関数を有しており、量子化プロセスによってカバーされる大きい動的レンジを有するシステム行列に、したがって、様々な事前計算された行列を記憶する比較的大きいメモリ需要につながる。この手法の利点は、元の非線形時間変動システムの真のダイナミクスのより正確な近似である。動的レンジの一部分で関連行列を記憶するのではなく計算することによってメモリ需要を緩和する手法についても提示する。
【0084】
[0095]本開示のいくつかの態様は、任意の1次元、2次元またはより高い次元のニューロンモデルをサポートする共通のアーキテクチャを実現する手段を提供する。このフレキシブルなアーキテクチャにより、様々な好適なニューロンモデルのいずれかが必要に応じて実行され、置換され得る。たとえば、ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または上述した、参照により本明細書に組み込まれる「Dynamical Event Neuron and Synapse Models for Learning Spiking Neural Networks」と題する、2012年5月30日に出願された米国特許出願第13/483,811号[代理人整理番号122024]におけるHunzinger Coldモデルのうちの少なくとも1つを含み得る。そのようなニューロンモデルは、本明細書で説明する区分的線形近似を使用して実装され得る。
【0085】
序論
[0096]微分方程式モデル化ニューロンダイナミクスの説明で始める。説明は2次元ニューロンモデルに焦点を当てるが、手法はより高い次元のモデルに拡張されてよく、1次元モデルに適用されてもよい。
【数15】
【0086】
[0097]上記の式は、人工ニューロンのダイナミクスを定性的に記述している(表記上単純にするために、変数の時間依存性は省略されている)。これらの式は、Hodgkin−Huxleyの4次元モデルを、変数vおよびuによって表される2次元に単純化した結果である。変数vは、ニューロン膜電圧およびナトリウム活性化の挙動を捕捉する一方、uは、カリウム活性化およびナトリウム不活性化のより緩慢な挙動を捕捉しようと試みる「適応」または「復元」変数を表し、その結果、Hodgkin−Huxleyモデルの4つの変数を2つに減らしている。式(15)における変数Iは、入力電流を表す。より一般的な2次元モデルは、
【数16】
【0087】
の形態であってよく、ここで、両方の微分方程式は非線形項を含み得る。ここで、式(15)および(16)によって記述されるモデルなどのモデルに焦点が当てられるが、全体を通して展開される同じ方法が上記の記述にも適用され得る。
【0088】
[0098]基本的に、文献で示唆されている最も普及しているニューロンモデルは、式(15)における関数F(v)の選択によって異なる。いくつかの例は、(単純モデルとも呼ばれる)Izhikevichによって示唆される2次関数を含む:
【数17】
【0089】
BretteおよびGerstnerによる、線形プラス指数関数:
【数18】
【0090】
FitzHugh−Nagumoモデルを表す線形プラス3次関数:
【数19】
【0091】
TouboulおよびGerstnerによる、クォートモデルと呼ばれる線形プラスクォート項
【数20】
【0092】
そして最後に、以下のように定義される、「真性伝導性」モデルと呼ばれ得るもの
【数21】
【0093】
ここでG(v)は、(伝導性の単位による)区分的定数関数であり、p(v)も、(電流の単位による)区分的定数関数である。真性伝導性モデルの最も単純な形態は、上述したHunzinger Coldモデルの場合のように、ただ2つの間隔でG(v)およびp(v)が区分的定数であるときに取得され、F(v)が以下の形態となる:
【数22】
【0094】
[0099]FitzHugh−Nagumoモデルを除き、上記のモデルはすべて、2次元ハイブリッドモデルと呼ばれ、その理由は、式(15)および(16)によって与えられる記述に加えて、リセット条件が与えられることである。たとえば、これらはそのようなモデルで提供され、その理由は、電圧しきい値を越えると、変数vが無限に拡大することである。したがって、以下のリセット条件が使用され得る。
【数23】
【0095】
[0100]言い換えれば、電圧vがスパイキングしきい値v
peakを越える(または、いくつかの態様では、電圧がv
peakを越えることになるとの決定が下される)とき、電圧は静止値v
rにリセットされ、復元変数uは、現在値プラス定数dに等しい値にリセットされる。いくつかの態様では,uは、u+dの代わりに、所定の定数値(u
reset)にリセットされ得る。いくつかの態様によれば、リセット条件は、制御信号のアクティブ化または受信に応答して生じ得る。ハイブリッドモデルにおけるリセット条件は、2次元動的システムの可能な挙動を豊かにする。
【0096】
[0101]最も一般的には、入力電流I(t)は、シナプス電流I
SYN(t)と一般電流I
ext(t)との組合せによってモデル化される。シナプス電流は以下の式となる。
【数24】
【0097】
[0102]式(24)では、g
i(t)は、特定のチャネル(i番目のチャネル)に関する時間依存型伝導性を示し、E
iは、そのチャネルに関する逆転電位を示している。上記の形態のシナプス電流は、実質的に線形の電流電圧関係を説明するのに十分であるが、場合によっては(たとえば、N−メチル−D−アスパラギン酸(NMDA)チャネル)、伝導性はシナプス後膜電圧の関数でもある。この場合、式(24)は、より複雑な形態、すなわち、
【数25】
【0098】
となり、関数h(v)は、シナプス後電圧に対する依存性を捕捉する。関数h(v)は、
【数26】
【0099】
としてモデル化され、パラメータαおよびβは、たとえば以下の値となる。α=0.062およびβ=1/3.57。
【0100】
[0103]したがって、最も一般的には、最大L個の異なるシナプスチャネルが次のようにモデル化され得る。
【数27】
【0102】
[0104]さらに、時間依存型伝導性g
i(t)は、単純な指数関数、アルファ関数によって、または指数差関数(difference-of-exponentials function)によってモデル化され得る。θ(t)がヘビサイドの階段関数である、時間定数τによる単純な減衰指数の場合、以下を有する。
【数29】
【0103】
アルファ関数の場合、以下を有する。
【数30】
【0104】
指数差関数の場合、異なる増大時間定数および減衰時間定数を指数が有しており、以下を有する。
【数31】
【0106】
は、次のようにピークがg
iに等しくなるような正規化係数を含む。
【数33】
【0107】
[0106]次のセクションでは、動的システムの解に対する近似が探究される。システムは非線形であるので、正確な解を見つけることはできない。したがって、(例1の場合のように)「正確な」解に言及したり、「正確な」解と比較したりするとき、意図されているのは、数値的に取得された解(たとえば、ルンゲ=クッタ)であるが、精度は高い。
【0108】
公式化および微分
[0107]微分に進む前に、いくつかの定義および表記の慣例を紹介する。以後、太字の大文字は行列を示し、太字の小文字はベクトルを示す。2次元状態ベクトルxは次のように定義され得る。
【数34】
【0109】
[0108]第1の状態変数は膜電圧vであり、第2の状態変数は復元変数uである。式(15)および(16)はここでは、最も一般的な場合に関して次のように明示的に書き直される。
【数35】
【0110】
[0109]したがって、最も一般的な場合には、
図7の702に示すように、非線形時間変動(NLTV)2次元動的システムを扱っている。以下では、そのようなシステムは、最初に706において区分的線形時間変動(pLTV)システムによって近似され、その後さらに次のうちのいずれかとして近似される。(1)710における時間間隔依存型である定数係数による区分的線形時間不変システム(pLTI)または(2)714における時間間隔独立型である定数係数によるpLTI。
【0111】
区分的線形時間変動システム
[0110]まず、時間軸t∈[0,∞]は、任意の重複しない時間間隔、すなわち次のように分割される。
【数36】
【0112】
[0111]各時間間隔(たとえば、n番目の間隔)内では、間隔の最初に(たとえば、時間t=T
nに)人工ニューロンの状態からパラメータが取得される線形時間変動(LTV)システムによってニューロン挙動が近似される。そのような近似を作るために、まず
【数37】
【0113】
を定義し、式(35)および(36)のシステムは次のようになる。
【数38】
【0114】
[0112]次に、関数Γ(v,t)は、間隔t∈[T
n,T
n+1]で近似的なアフィン線形式により近似される。近似の係数は、時間T
nにおける電圧の関数である。明確なときの表記を簡単にするために、
【数39】
【0115】
を示し、その結果、次のようになる。
【数40】
【0116】
[0113]そのような近似のいくつかの例は、テイラー展開方法、平均傾斜方法、1次線形補間方法、およびL
p近似誤差を最小化する最適線形補間方法を含む。テイラー展開方法の場合、次のとおりである。
【数41】
【0117】
[0114]平均傾斜方法における所与の電圧ステップΔv
nでは、平均傾斜は次のように計算される。
【数42】
【0118】
[0115]1次線形補間方法では、電圧軸は間隔v∈[V
k,V
k+1]、k=0,1,2,...に区分され、ここでV
k≦v(T
n)≦V
k+1である。その場合、以下のとおりとなる。
【数43】
【0119】
[0116]L
p近似誤差を最小化する最適線形補間方法では、電圧軸は、前述のように間隔v∈[V
k,V
k+1]、k=0,1,2,...に区分される。ただし、線形近似
【数44】
【0120】
は、L
pノルムに基づく元の関数に対する線形近似誤差を最小化するように設計される。間隔v∈[V
k,V
k+1]での近似誤差は、次のように定義され得る。
【数45】
【0121】
[0117]式(41)に基づいて、式(39)および(40)によって記述されるLTVシステムは次のように表現され得る。
【数46】
【0122】
[0118]よりコンパクトには、行列方程式
【数47】
【0123】
を有し、ここでa
12=−1/C、a
21=ab、a
22=−a、およびb
2=−abv
rである。
【0124】
[0119]上記のLTVシステムの解は、t∈[T
n,T
n+1]の場合、次のように表され得る。
【数48】
【0125】
ここで、遷移行列Φ(t,T
n)はPeano−Baker式、すなわち以下の式によって与えられる。
【数49】
【0126】
[0120]場合によっては、式(47)において与えられる級数は単純になる。たとえば、
(i) A(v
n,t)は、一定であり、A
nに等しい。その場合、Φ(t,T
n)は、よく知られている行列指数形式、すなわち以下のようになる。
【数50】
【0127】
ここで、行列Aの行列指数は以下のように定義される。
【数51】
【0128】
(ii) より一般的な場合は、A(v
n,t)および
【数52】
【0129】
が、いかなるtでも交換可能なときである。その場合、以下のとおりとなる。
【数53】
【0130】
以下の条件のいずれかは、上記の交換可能特性が満たされることを保証する。(a)A(v
n,t)は一定である、(b)A(v
n,t)=a(t)Mであり、ここでa(t)はスカラー関数であり、Mは定数行列である、または(c)A(v
n,t)=Σa
i(t)M
iであり、ここでa
i(t)はスカラー関数であり、M
iM
j =M
jM
iは、いかなるi、jでも交換可能な定数行列である。
【0131】
(iii) いくらかより一般的な場合は、すべてのt∈[T
n,T
n+1]について、行列A(v
n,t)が2つの成分の合計として表され得るときである。
【数54】
【0132】
ここでは、いくつかの整数k≧0およびs≧1、いくつかの固定時刻t
c≦τ≦t、ならびにいくつかの固定行列A
k(v
n,τ,t
c)およびA
k+s(v
n,τ、t
c)である。時刻および行列は、それらが時間パラメータt∈[T
n,T
n+1]から独立しているという意味で「固定」である。おそらく、最も有用な例は、k=0およびs=1または2のときである。いずれの場合も、上記の式の第2項(すなわち、行列A
k+s(v
n,τ,t
c)を伴う項)がすべてのt∈[T
n,T
n+1]について第1の項よりもはるかに小さい場合、行列Φ(t,T
n)が以下の無限数級によって近似され得ることになる。
【数55】
【0133】
ここで複素変数zならびに実数値パラメータtおよびτの関数G
m,k,s(z,t,τ)が定義される。関数G
m,k,s(z,t,τ)はz=0で解析的であり、以下によって与えられる。
【数56】
【0134】
ここで表記<f(z)>は、f(z)の解析成分を示す。上式では、解析成分は、指数項をそれのべき級数表現に置き換え、積と微分とを計算し、次いでzの負の累乗に関連する項を除外することによって得られる。
【0135】
[0121]時間変動行列A(v
n,t)のすべての他の場合では、式(47)の遷移行列に対する近似が発見され得、次いで、式(46)に対する近似解が取得され得る。
【0136】
区分的線形時間不変システム
[0122]さらなる単純化は、式(44)によって記述される線形時間変動(LTV)システムを線形時間不変(LTI)システムに変換することによって達成され得る。そうするために、係数a
11[v
n,t]は、間隔t∈[T
n,T
n+1]で一定に維持される。この結果は、いくつかの方法で達成され得るが、それらのうちのいくつかについて以下で説明する。上述のアフィン線形近似の各々について、定数係数は次のように定義され得る。
【数57】
【0137】
ここでは、任意の間隔t∈[T
n,T
n+1]である。
【0138】
[0123]代替として、次の時間ステップT
n+1の値が時間t=T
nにおいて既知である場合、係数a
11[v
n,t]の平均値は次のように計算され得る。
【数58】
【0139】
ここでは、任意の間隔t∈[T
n,T
n+1]である。
【0140】
[0124]テイラー展開方法に関する一例により明確になるよう、
【数59】
【0141】
を使用することによって、LTIシステムが得られる。
【0142】
[0125]同じ平均化手法が、上述の方法のうちのいずれかに適用され得る。LTIシステムはここでは、以下の行列式によって記述される。
【数60】
【0143】
[0126]解は次のように表され得る。
【数61】
【0144】
遷移行列Φ(t,T
n)はここでは行列指数である。
【数62】
【0145】
[0127]T
n=nT(すなわち、長さTの固定の、均一の時間間隔)の場合、式(49)は以下の式になる。
【数63】
【0146】
[0128]要約すれば、最初の一般的モデルは、非線形時間変動2次元システムである。この非線形システムはまず、所与の時間間隔で非線形関数Γ(v,t)に線形近似を適用することによって、線形時間変動システムに変換された。時間変動システムはさらに、時間変動システム行列A(v
n,t
)を取り、それを同じ所与の間隔で定数行列Anにより近似することによって、線形時間不変(LTI)システムに変換された。
解
[0129]問題が公式化され、非線形関数に対するいくつかの可能なアフィン線形近似が提案されたので、ここでは、式(49)および(51)ならびにそれらの実装形態によって与えられる間隔t∈[T
n,T
n+1]でのLTIシステムに対する解に焦点を当てる。さらに式(49)の表記を単純化し、A(v
n,T
n)=A
nを示すと、
【数64】
【0147】
となり、行列A(v
n,T
n)およびベクトルb(v
n,t)は
【数65】
【0148】
によって与えられ、ここで係数a
11[v
n,T
n]およびb
1[v
n,t]は上述の方法のいずれかによって計算される。
【0149】
[0130]次に、テイラー展開方法に関する解が導出される(他の方法のいずれかに関する解が相応に続く)。この場合、以下を有する。
【数66】
【0150】
[0131]表記を単純化すると、
【数67】
【0152】
[0132]次のようにベクトルb(v
n,t)を表すのが好都合である。
【数68】
【0153】
[0133]次いで式(52)が
【数69】
【0155】
[0134]式(57)の第1の積分は、クローズド式で解かれ得、それにより
【数70】
【0156】
を取得し、ここでIは2×2単位行列である。
【0157】
[0135]ここで式(52)は次のように表され得る。
【数71】
【0158】
[0136]外部電流は、式(59)の最後の積分に関するクローズド式表現が取得できないようなものである場合、近似される必要があり得る。近似の一例は、ゼロホールド(zero-hold)、すなわち以下のとおりである。
【数72】
【0159】
[0137]この場合、任意の間隔t∈[T
n,T
n+1]に関するクローズド式解は以下の形となる。
【数73】
【0160】
[0138]式(61)における主要成分は行列指数
【数74】
【0161】
であり、これは次のように表され得る。λ
n1およびλ
n2を、2×2行列A
nの固有値とする。その場合、以下のとおりとなる。
【数75】
【0162】
ここでλ
n1およびλ
n2は固有方程式det(A
n−λI)=0の解である。
【0163】
[0139]式(62)〜(64)は、行列指数のための明示的な表現を与える。代替として、多数の効率的な数値アルゴリズムが、行列指数の計算に利用可能である。したがって、いずれかの方法を通して時間t=T
n+1におけるシステムの状態を決定することが実行可能である。ただし、ハードウェア実装では、次に説明するような異なる手法を使用するのが有益であり得る。
【0164】
[0140]まず、行列A
nにおいて、システムの発展に伴ってただ1つの係数a
11[v
n,T
n]が変化し、全体を通して残りの3つの係数は一定のままであることに注意されたい。係数は、たとえば、式(56)によって与えられる。例示的な効率的な手順は次のようになる。(1)各時間において第1の状態変数(すなわち、膜電圧v
n)を量子化し、有限数の値にステップし、(2)関数
【数76】
【0165】
の事前計算値によりルックアップテーブルをインデックス付けする。同様に、時刻も量子化され、g
i(T
n)の事前計算値がルックアップテーブルに記憶され得る。ここで、取り出された値が使用されて、式(56)を介してa
11[v
n,T
n]を評価し、結果を有限数の値Q(a
11[v
n,T
n])に量子化することができる。
【0166】
[0141]同様に、ΔT
nに関するいくつかの選択が事前選択され得、式(62)に現れる行列の行列指数および逆行列がQ(a
11[v
n,T
n])およびΔT
nによって事前計算され、アドレス指定され得る。
【0167】
適応および固定時間ステップ
[0142]前のセクションでは、LTIシステムの状態に関する式が、任意の時刻で導出された。以下では、時間ステップが適応的に選択される場合、および固定された所定のステップサイズΔT
n=Tにより時刻が均一である同期システムのより単純な場合についてより詳しく説明する。
【0168】
[0143]適応戦略は、複雑性と精度の両方の点で有益であり得る。たとえば、時間ステップは、状態がゆっくりと発展しているときには、より離れて(すなわち、より大きいΔT
n)選択されてよく、それにより計算の速度が増す。対照的に、時間ステップは、たとえば、ニューロンモデルがスパイキング事象に近いときには、小さくされてよく、それによりスパイク時間の計算精度が増す。次に、時間ステップの選択に関する可能なアルゴリズムについて説明する。
【0169】
[0144]式(63)が示すように、システム発展の時間定数は、行列A
nの固有値に反比例する。具体的には、固有値がゼロに近い場合、時間定数は大きく、システムはゆっくりと発展する。これに反して、固有値のうちの少なくとも1つが大きくなる(場合によっては正になる)場合、システムは非常に急速に発展する。上記タスクを遂行する時間ステップの選択に関する1つの例示的なアルゴリズムは、以下のとおりである。
【数77】
【0170】
[0145]式(65)では、λ
n,maxは、行列A
nの(絶対値による)最大固有値を示す一方、ΔT
maxおよびμ
nは設定可能パラメータである。これは、以下の関係の維持を確実にする。
【数78】
【0171】
および、任意の間隔t∈[T
n,T
n+1]について
【数79】
【0172】
[0146]次に、前のセクションの一般解が、サイズTの固定された均一の時間ステップの重要な場合に特化される。式(61)で開始し、以下を取得する。
【数80】
【0173】
例1:Izhikevich(単純)モデルのためのテイラー展開
[0147]この例では、式(68)は、単純モデルおよびテイラー展開方法に基づく線形化のために評価される。式をいくらか単純化するために、外部電流が存在しないと仮定される。
【0174】
[0148]まず、単純モデル、すなわちF(v)=k(v−v
r)(v−v
t)のためのテイラー展開の係数は、式(56)から開始して導出される。
【数81】
【0175】
という条件で、それは、以下を取得する。
【数82】
【0176】
[0149]非NMDAシナプスチャネルの場合、式(70)および(71)は以下に単純化される。
【数83】
【0177】
[0150]以下を取ると、
【数84】
【0178】
式(68)はここで以下の式になる。
【数85】
【0179】
[0151]もう一度、非NMDAシナプス電流の場合、式(74)は、以下のように単純化される、
【数86】
【0180】
[0152]さらに、式(74)および(75)における積分は、クローズド式で解かれ得る。たとえば、
【数87】
【0181】
[0153]この例を完成させるために、パラメータk=0.7、C=100、a=0.03、b=−2、v
r=−60mV、およびv
t=−40mVを有する緩慢な興奮性ニューロンモデルならびにパラメータτ
AMPA=5ms、E
AMPA=0mV、およびg
AMPA=5を有する単一の指数AMPAチャネルについて、T=1msで式(75)の正確性がテストされる。それぞれ
図5Aおよび
図5Bの膜電位プロット500および復元電流プロット520に示すように、式(75)に基づく線形化は、非線形時間変動モデルに基づくプロットを正確に追跡する。
【0182】
例2:Hunzinger Coldモデルのしきい値下ダイナミクス
[0154]Hunzinger Coldモデルとして知られている単純な真性伝導性モデルのしきい値下ダイナミクスを調べる目的で別の例が作成されている。この例では、シナプス電流なしおよび衝撃外部電流の単純だが興味深い場合が仮定されている。
【0183】
[0155]Hunzinger Coldモデル(上の式(22)参照)では、膜電圧がしきい値未満であるとき、行列A
nは一定であり、A
-に等しい。
【数88】
【0184】
[0156]第1の状態変数が膜電圧から参照電圧を差し引いたものと定義される場合、微分はさらに単純化され得る。そのような定義により、すべての定数項はゼロに等しく、式(61)は以下に単純化される。
【数89】
【0185】
[0157]さらに、外部電流が、振幅Iを有する時間T
nにおけるディラックのデルタ関数である、すなわち、I
ext(t)=Iδ(t−T
n)であると仮定される場合、
【数90】
【0186】
[0158]衝撃入力が、初期条件と同じ効果をシステムに与えることに留意されたい。固有値が実数値でありλ
1≠λ
2である場合、式(62)が式(78)に代入されて、v<v
tの場合の以下の連続時間解が取得され得る。
【数91】
【0189】
を示すことによって、式(72)は次のように書かれ得る。
【数94】
【0190】
特に、T
n=0の場合、以下を取得する。
【数95】
【0191】
[0160]
図6Aおよび
図6Bの膜電位プロット600および復元電流プロット620はそれぞれ、以下のパラメータ値の場合の式(81)の時間発展を示している。τ
-=14ms、C=100、a=0.03,b=−2、I
ext(t)=100δ(t)、およびv
0=u
0=0。膜電圧および復元電流は、以下の関数によって与えられる。
【数96】
【0192】
[0161]式(80)の計算に関わる行列および固有値はアプリオリに知られているので、所与の時間分解能により2つの指数関数を事前計算し(たとえば、ルックアップテーブルに)記憶することによって、システムの時間的経過は非常に容易に、かつ望ましい精度で計算され得る。代替として、指数関数の計算(近似)のための高速アルゴリズムが用いられてよく、式(80)はリアルタイムで計算され得る。
【0193】
[0162]上記の公式化は、事象発生時の状態ベクトルを計算することが重要である事象ベースの実装形態において特に関連性がある。たとえば、式(80)および時間T
n+1における事象の発生の場合、
【数97】
【0195】
Δn=T
n+1−T
nにより、以下を有する。
【数98】
【0196】
[0163]1つの重要な事象はスパイク時間(すなわち、上記のように人工ニューロンの膜電圧がピークしきい値を越える時間)である。人工ニューロンのためのモデルがスパイク時間に近いとき、固有値のうちの少なくとも1つは正であり、支配的である。したがって、電圧の式における支配的な項のみを保持することによって、良好な近似が達成され得る。言い換えれば、関数v(t)は式(82)に示す形であるので、すなわち、以下のようになる。
【数99】
【0197】
v(t)は、それの支配的な項によって近似されてよく、すなわち、以下のようになる。
【数100】
【0198】
スパイキング時間は、以下から容易に取得され得る。
【数101】
【0199】
追加の単純化
[0164]「解」と題するサブセクションの最後は、行列指数と逆行列とを事前計算するために、行列A
nの第1の要素a
11[v
n,T
n]が、動的範囲をカバーする有限数の値に量子化されるべきことを述べている。前のサブセクションの微分から、特に例1からわかるように、係数a
11[v
n,T
n]は、v
nおよび時間T
nにおける伝導性の関数である。膜電圧の動的範囲はかなり限られているが、伝導性の動的範囲は非常に大きいことがある。したがって、この場合に、多数の事前計算された行列が記憶されなければならない可能性が非常に高くなり得る。次に、メモリ需要を減らすためにさらなる単純化が探究される。1つの手法は、限られた範囲で所望の行列を事前計算して記憶し、その範囲を越える値のために所望の行列を近似する計算を実行する手法である。
【0200】
[0165]たとえば、係数a
11[v
n,T
n]が、行列A
nの他の3つの固定係数よりも(絶対値で)はるかに大きくなるとき、以下の近似が使用され得る。
【数102】
【0201】
ここでは、任意の複素数値関数Ψ(・)、たとえばΨ(x)=e
xおよびΨ(x)=x
-1である。この手法により、メモリ需要および計算の複雑度はトレードオフとなり得る。
【0202】
[0166]メモリ需要のさらなる低減は、いくつかの近似を介して達成され得る。たとえば、式(38)によって定義されたものではなく、修正された関数
【数103】
【0203】
にアフィン線形近似が適用され得る。さらに、シナプス電流は外部電流として扱われ得、得られる積分は後退方形ルールによって近似され得る。この場合、行列指数と逆行列とを事前計算して記憶することに関係する動的範囲は、膜電圧のみの動的範囲であり、したがって、かなり小さい。トレードオフは、メモリ需要と解の正確性とのトレードオフである。
【0204】
[0167]次に、上記の段落について、この追加の単純化に基づいて解を再導出することによって、より詳しく説明する。前述のように、式(35)および(36)で始めることができ、便宜上ここで繰り返す。
【数104】
【0205】
[0168]ただし、ここでは、式(38)の関数は次のように変更される。
【数105】
【0206】
また、連立方程式は次のように再公式化される。
【数106】
【0207】
[0169]システム行列A
nはここでは以下の式に単純化される。
【数107】
【0208】
ベクトルb(v
n,t)はここで次のように定義される。
【数108】
【0209】
[0170]上記の近似により、伝導性値に対するシステム行列(係数a
11)の依存性が回避され、その結果、行列指数を計算する際にカバーされるべき動的範囲を大幅に低減する。該当時間わたって定数値に膜電圧を保持することによって、シナプス電流は外部電流として扱われ得る。そして、固定時間ステップ実装形態では、解は以下のようになる。
【数109】
【0210】
[0171]式(96)におけるベクトル積分の第1の成分は、
【数110】
【0211】
であり、これは、関係するたいていの場合に解かれ得る。上記近似の最良の結果は、後退方形ルールを使用することによって、すなわち、式(97)において値v
n=v(nT+T)を使用することによって、取得されている。
【0212】
例3:後退方形ルールによる近似
[0172]説明および表記を単純化するために、この例は、シナプス電流が電圧依存型伝導性チャネル(たとえば、NMDAチャネル)を含まず、外部電流I
ext(t)がないと仮定する。微分は、長さTの固定ステップサイズで得られる。まず、式(68)が次のように単純化され得る。
【数111】
【0213】
ここで、ベクトルqは定数項を含み、すなわち次のようになる。
【数112】
【0214】
[0173]表記の便宜上、以下のベクトルおよび行列も定義され得る。
【数113】
【0215】
その結果、式(98)は次のように書き直され得る。
【数114】
【0216】
[0174]ここで、式(29)に従って単純指数としてモデル化されたg
i(t)について解が導かれる。この場合、以下を有する。
【数115】
【0217】
[0175]積分は容易に解かれ得、さらに
【数116】
【0218】
を定義する場合、式(102)は次のように書かれ得る。
【数117】
【0219】
[0176]左辺における時間
nT+Tでの状態を含む項を集めると、以下のようになる。
【数118】
【0220】
[0177]逆にされるべき行列は
【数119】
【0221】
であり、その逆は、以下の通りであることに留意されたい。
【数120】
【0222】
[0178]状態更新の計算は次のように進み得る(ここではe
AT≡G)。
I. 所望の量子化により事前計算し、すべての係数(G、h
i、およびq)を記憶する。
II. チャネルごとに、以下を計算する。
【数121】
【0223】
III. その合計とE
iによってスケーリングされた合計とを計算する。
【数122】
【0224】
IV. 式(105)の右辺を評価し、補助変数に格納する。すなわち、
【数123】
【0225】
V. 逆行列による乗算を実行する。
【数124】
【0226】
[0179]二重指数を有するNMDAの場合、各指数が個別に扱われる可能性が非常に高くなり得ることに留意されたい。これは2つのベクトル、すなわち減衰指数項のベクトルおよび増大指数項のベクトルの事前計算および記憶につながる。
【0227】
[0180]
図21は、式(106)の実現を示すブロック
図2100である。簡単のために、式(106)の第1の部分を表す行列反転ブロック2102は拡大されていない。現在の状態ベクトルx(nT)から、状態ベクトルからの膜電位v(nT)が量子化ブロック2104で量子化されて、メモリインデックスを決定する。メモリインデックスは、膜電位の量子化間隔に対応するニューロンモデルの区分的線形近似のための所定のパラメータ(たとえば、係数)を選択するために使用され、メモリルックアップテーブル2106に記憶される。メモリインデックスに基づいて、指数行列G2108および上記の式(99)からの定義済みベクトルq2110のための係数を含む、量子化間隔に関連するパラメータがロードされる。パラメータは、入力電流ベクトルh2112およびN個のシナプス電流入力ベクトルh
i2114のための係数も含む。合計ブロック2116は、ベクトルh2112に適用された入力電流I(nT)/Cと、N個のシナプス電流入力ベクトルh
i2114に適用された逆転電位によってスケーリングされた伝導性値E
ig
i(nT)/Cとを合計する。結果は、行列反転ブロック2102により式(106)に従って処理されて、更新済み状態ベクトルx(nT+T)を生成する。遅延ブロック2118は、連続的にではなく適時に各ステップサイズTで状態が更新されるように追加され得る。
【0228】
[0181]式(101)における積分に対する他の近似が使用され得る。たとえば、正確な値を計算してh
iベクトルに記憶するのではなく、g(t)に適用される台形規則が使用されてよく、それにより、近似の若干の悪化という犠牲を払って、h
iベクトルの記憶を回避し、メモリ需要をさらに低減する。
【0229】
要約
[0182]上記のサブセクションでは、ニューロンモデルの区分的線形化に対する一般的手法について説明した。
図7は、様々なステップと線形化方法とを要約している。702において非線形時間変動システムで開始し、704において間隔T
n≦t≦T
n+1で区分的線形化が実行されて、706において行列A(v
n,t)に関して区分的線形時間変動システムを生成することができる。708において、間隔T
n≦t≦T
n+1ごとに定数係数(すなわち、区分的定数関数)が使用され、次いで710において行列A(v
n,T
n)に関して区分的LTIシステムが形成される。この線形化が712において時間間隔から独立して実行される場合、714において行列A(v
n)に関して区分的LTIシステムが形成される。
【0230】
例示的な状態空間領域依存型線形ニューロンモデル化
[0183]上述した本開示のいくつかの態様は主に、状態変数のうちの1つ(たとえば、膜電位v)に限定された2次元状態空間の区分をカバーする。上述のように、(v,u)状態空間は、単一の状態を使用して垂直ブロックに区分され、各ブロックは、電圧間隔を表しており、線形微分方程式の別個のセットに関連付けられる。
【0231】
[0184]後述のように、本開示のいくつかの態様はこの概念を拡張する。状態空間は、(垂直ブロックに限定されない)異なる領域に区分され得、各領域は、線形微分方程式の別個のセットに関連付けられる。領域は、重複しないことがある。下記の説明は主に、2状態(または同等に2次元)モデルに焦点を当てており、これは、区分がそれぞれボリュームおよび多次元領域であり得る3つ以上の状態に2状態モデルが容易に拡張され得るという理解に基づく。
【0232】
vの関数としての区分的線形公式化の検討
[0185]2次元区分的線形微分方程式は、n番目の対が以下によって定義されるK対の微分方程式からなるセットとして表され得る。
【数125】
【0233】
ここでk∈[1,K]およびF(v)=m
kv+d
kである。この手法では、電圧空間はK個の別個の領域に区分され、k番目の領域は、k番目の対の微分方程式に関連付けられる。K個の領域の結合は、(v,u)値の空間をカバーする。
図8は、K=4の場合の区分を示しており、ここでは電圧空間は4つの領域、すなわち、v<v
1,v
1≦v<v
2,v
2≦v<v
3およびv
3≦vに分割される。K=2の場合、これはHunzinger Coldニューロンモデル(v
k<v≦v
k+1になるようにクローズド隔およびオープン間隔が切り替えられる)に縮小する。
【0234】
一般化された公式化
[0186]基本的な考えは、区分的線形概念を、vに関してのみ定義された領域を越えて拡張する(すなわち、式(109)のほか、式(110)が間隔ごとに変化することを可能にする)ことである。これは、(v,u)空間でK個の2次元領域Ω
kを定義することによって達成され、ここでk∈[1,K]であり、K個の領域の結合が(v,u)値の空間全体をカバーし得る。さらに、m
kおよびd
kに加えて、パラメータaおよびbは、これらのパラメータがkの関数になるように領域ごとに別個であることが可能である。パラメータCも、C
kとして領域ごとに別個のものにされてよいが、以下では領域ごとに固定されたままとされ、これは、Cが領域固有のものにされ得るという理解に基づく。これらの拡張は必ずしも、生物学的等価物を有するとは限らない。しかしながら、エンジニアリングおよび計算上の観点から、そのような拡張は、より豊かなニューロンモデルおよびより単純なプラットフォームの設計によるニューロンモデルの開発を可能にする。
【0235】
[0187]2つの上述の拡張は以下をもたらす。
【数126】
【0236】
[0188]上式は次のように、上述の状態空間表記を使用して、よりコンパクトに表され得る。
【数127】
【0237】
[0189]次に、M次元状態空間の領域依存型の場合および状態空間の解について説明する。
【0238】
M次元状態空間の場合
[0190]M個の状態変数があるM次元の場合、状態空間式は以下の式になる。
【数128】
【0239】
領域依存型状態空間の解
[0191]連続時間ドメインおよび離散時間ドメインにおける式(113)の状態空間の解が提示される。それらの微分は、上述の手法と同じ手法を使用して必然的に生じる。連続時間の解は次のように表され得る。
【数129】
【0240】
ここでx(0)は、x(t)の初期値を表し、
【数130】
【0241】
およびe
xは、行列Xの行列指数を表す。
【0242】
[0192]サンプリング期間をTとする、対応する離散時間の解は以下の式として表され得る。
【数131】
【0243】
現在の状態空間ベクトルx(nT)は、領域Ω
kと、
【数132】
【0244】
行列およびベクトルのどのセットを、式(120)に従ってx(nT+T)を計算するために使用するかとを識別する。
【0245】
[0193]さらに、上述の非シナプス電流タイプおよびシナプス電流タイプに関する同じ解は容易に当てはまる。これは、線形時間変動(LTV)解を含む。これは、電圧依存領域(垂直区分)を、これらのより一般的な状態空間領域に置き換えることを伴うことになる。
【0246】
例示的な例
[0194]
図9は、3つの領域(すなわち、Ω
k、ここでk∈[1,3])を有する例を示している。
図9の3つの領域はすべて、方形領域である。
【0247】
[0195]
図10は、4つの領域による、領域が方形である必要がない様相を示す例を示している。(v,u)が成長半径を伴って外向きに渦巻きを描く領域、(v,u)が(減衰も成長もなく)円形に渦巻きを描く領域、(v,u)が減衰半径を伴って内向きに渦巻きを描く領域、および(v,u)が(Hunzinger ColdモデルのALIF領域に相当する)スパイクする傾向がある領域をΩ
1、Ω
2、Ω
3、およびΩ
4が表すしきい値下振動ニューロンを生成するために、この特定の設計が使用され得る。この設計は以下でより詳細に説明される。
【0248】
[0196]
図11は、任意の形状を有する1つの領域(たとえば、六角形、三角形、または星形の領域)が理論的に作成され得ることを示す、5つの領域を有するよりアカデミックな例を示している。
【0249】
状態空間領域依存型線形ニューロンモデル化の実現
[0197]現在、領域は
【数133】
【0250】
によって定義され、ここでV
kおよびV
k+1は、電圧の左境界と右境界とを表す。そのため、各時間ステップにおいて、インデックスkは、現在の状態(v(nT),u(nT))を取り、それをK個の領域、Ω
k、k∈[1,K]の各々に照らしてチェックすることによって決定される。インデックスkは、k
Fによって表されており、量子化間隔、最小可能電圧、および間隔数のほか、vのみの関数を介して直接計算され得る。
【数134】
【0251】
[0198]いくつかの態様では、領域(またはその少なくとも一部分)は、若干重複することがある。この場合、K個の領域(Ω
k、k∈[1,K])のうちどれが現在の状態(v(nT),u(nT))を含むかを識別する際にヒステリシスが使用され得る。
【0252】
[0199]一般化された領域の2つの例を以下で提供する。他の領域も開発され得る。
【0253】
vとuの両方に依存する方形領域の場合
[0200]一般化された方形領域の場合、k番目の領域は、
【数135】
【0254】
によって定義されてよく、ここでv
kおよびv
k+1はそれぞれ、電圧の左境界および右境界を表し、ここでu
kおよびu
k+1はそれぞれ、復元変数の下位境界および上位境界を表す。そのため、各時間ステップにおいて、K個の領域(Ω
k、k∈[1,K])のうちどれが現在の状態(v(nT),u(nT))を含むかを識別することによって、インデックスkが決定され得る。
【0255】
楕円領域の場合
[0201]説明を簡単にするために、各々が静止状態(v
r,0)を中心とする楕円領域のみを仮定する。その場合、k番目の領域は、
【数136】
【0256】
によって定義されてよく、ここでρ
kは、v軸に沿った内側楕円境界までの「半径距離」であり、ρ
kは、v軸に沿った外側楕円境界までの「半径距離」であり、「半径距離」は、
【数137】
【0257】
と定義されてよく、βは、楕円に関連するパラメータである(β=1は同心領域につながる)。前述のように、各時間ステップにおいて、インデックスkは、現在の状態(v(nT),u(nT))を取り、それをK個の領域、Ω
k、k∈[1,K]の各々に照らしてチェックすることによって決定される。
【0258】
状態空間領域依存型線形ニューロンモデル化の利点
[0202]ニューロンモデル化のための状態空間のそのような一般化された区分は、ニューロンの合成をサポートし、体系的にそうするのを後押しすることができる。これの2つの例は、以下を実施する際のものである。(1)オンセット検出および事象カウント、ならびに(2)しきい値下振動挙動、後者については次のセクションで説明する。
【0259】
[0203]オンセット検出および事象カウントのために、(2つの区分を有する)Hunzinger Coldモデルに基づく人工ニューロンが作られ得る。この人工ニューロンは、最初は静止しており、オンセット検出のためのスパイクを受信した場合に直ちに発火するように設計される。その後、ニューロンは、入来スパイクのカウントを開始し、一定数のスパイクの後に発火するように設計される。これはスパイクの到着に伴って自己反復を続ける。この設計の潜在的な難点は、ニューロンが均衡静止状態に達するまでに約500ms要し得るので、スパイクの到着がなくなった後に生じる。これは、ニューロンがオンセット検出を実行し得るまでの時間があまりにも長いことがある。この設計における制約の一部は、ニューロンをむしろLIFニューロンとして挙動させることによって、静止状態までの時間を短縮することが、スパイクカウント能力にどのように影響を与えるかである。
【0260】
[0204]本開示のいくつかの態様によれば、モデルHunzinger Coldデルにより2つの領域を区分することによってIzhikevichニューロンモデルのLIFおよびALIFの挙動が断ち切られ得る様相と類似して、区分を介して2つの挙動を分離することによって制約が除去され得る。オンセット検出を実行するためにニューロンをリセットする時間は、LIF領域において約0.3のしきい値よりも上または下でU状態変数が挙動する様相を認識することによって低減され得る。その値よりも下では、システムが静止状態に達するのに長い時間を要する。これは、改善されたオンセットおよび事象カウントニューロンを実現するために、
図9の3つの領域の状態空間に示すように、UならびにVに関して状態空間を区分することによって円滑にされ得る。V<V
TであるLIF領域では、人工ニューロンは今や、U>U
0(すなわち、領域Ω
2)である場合に事象カウントのための積分発火(IF)ニューロンとして挙動し、そうでない(すなわち、領域Ω
1)場合にV
Rに至るLIFニューロンとして挙動する。状態が領域Ω
1に入ると、システムは、より短い時間定数により望まれる速さで静止状態に移るように設計され得る。領域ごとに2対の微分方程式により、Uの関数としてLIF領域を2つの所望の領域(IFの場合はΩ
2、LIFの場合はΩ
1)に区分することによって、大幅な遅延は解消され得る。
【0261】
状態空間領域依存型線形ニューロンモデルに基づく例示的なしきい値下振動ニューロン設計
[0205]膜電位が静止電位から上向く(すなわち、人工ニューロンのスパイク「準備をする(prime)」)際のスパイキングの可能性を高めるために、および下向く際の可能性を低下させるために、神経人工神経系においてしきい値下振動が使用され得る。前のセクションでは、状態変数のうちの1つ(たとえば、電圧)だけではなく、状態変数の組合せおよび領域(または関数)にも基づく2次元(または多次元)状態空間の区分を可能にすることによる区分的線形ニューロンモデル化の拡張について説明している。このセクションは、既存のしきい値下振動ニューロン設計の欠点を扱う。たとえば、既存のニューロンモデルは、3つの振動タイプ(たとえば、
図12Aのグラフ1200に示す減衰振動、
図12Bのグラフ1210に示す持続振動、または
図12Cのグラフ1220に示す成長振動)のうちのせいぜい1つを示すしきい値下振動ニューロンの設計をサポートすることができるが、これらのモデルは、3つのタイプのうちの2つ以上を示す人工ニューロンの設計を可能にすることができない。その上、既存のニューロンモデルは、特定の振動周波数によるしきい値下振動ニューロンの体系的設計、減衰振動のための減衰レート、成長振動のための成長レート、および/または持続振動のための大きさをサポートすることができない。
【0262】
[0206]したがって、必要とされるのは、振動の3つのタイプすべてを示し、所望の振動挙動の体系的実現をサポートすることが可能な改善されたニューロンモデルを有する人工ニューロンである。
【0263】
しきい値下振動可能ニューロンモデル間の比較
[0207]しきい値下振動を生成することができる4つの既存のニューロンモデル、すなわち、Izhikevich(単純)モデル、(上述のBretteおよびGerstnerの線形プラス指数関数である)適応型指数関数(AdEx:Adaptive Exponential)ニューロンモデル、クォートモデル、およびHunzinger Coldモデルがある。これらのニューロンモデルは、次の4つの方法で特徴付けされ得る。(1)モデルが3つの可能なしきい値下振動挙動(減衰振動、持続振動、または成長振動)のうちのどれを生成し得るか、(2)3つの挙動のうちのいくつが、単一のニューロンによって示され得るか、(3)所望の振動周波数によるニューロンを設計するのがどのくらい容易であるか、および(4)振動設計を微調整する(たとえば、持続振動の大きさを定義する、または減衰もしくは成長の複数のレートを定義する)のがどのくらい容易であるか。下の表は、第1の測定について各ニューロンモデルがどのようになるかを要約している(これらのニューロンモデルは場合により、3つの振動タイプのうちの1つからすべてをサポートし得る)。
【表1】
【0264】
[0208]次の表は、残りの特徴付け測定について各ニューロンモデルがどのようになるかを要約している。
【表2】
【0265】
[0209](後述する状態空間領域依存型手法を除く)各ニューロンモデルは、単一の振動タイプのみを示すことが可能なニューロンを再生することができる。そして、Hunzinger Coldモデルのみは、それの線形設計のために、目標を設計する体系的方法を提供することが可能である。ただし、(後述する状態空間領域依存型手法を除く)それらのいずれも、微調整の能力を提供しない。
【0266】
状態空間領域依存型線形ニューロンモデル化に基づくしきい値下振動
[0210]上の表に示すように、既存のニューロンモデルとは対照的に、本開示のいくつかの態様は、以下が可能である。(1)しきい値下レジームにおいて3つの振動タイプのすべてまたは任意のサブセットを示し得る人工ニューロンを生成する、(2)Hunzinger Coldモデルのように体系的に設計されるだけではなく、設計の微調整のサポートもする。
【0267】
設計
[0211]3つの振動タイプすべてを示すことが、上述の状態空間領域依存型手法を使用することによって実現され得る。たとえば、4つの領域の2次元ニューロンモデルが、
図10に示すように定義され得る。
【0268】
[0212]以下が成り立つように、線形微分方程式のセットに各状態空間領域Ω
kが関連付けられる。
【数138】
【0269】
または、状態空間ベクトル表記では、
【数139】
【0270】
領域Ω
1(円に見えるが、一般には楕円である)、Ω
2(同じく一般には楕円)、Ω
3およびΩ
4はそれぞれ、成長振動、持続振動、減衰振動およびALIF挙動を再生するように設計され得る。
【0271】
[0213]いくつかの態様によれば、状態空間は、3つ以上の次元によって定義され得る。この場合、以下の代替形式が代わりに使用され得る。
【数140】
【0272】
[0214]持続振動が望まれる場合、v(nT+T)がうっかり持続振動領域をバイパスし得るシナリオを処理するための時間ステップ型手法の場合に、ある程度の厚さが保証され得る。
【0273】
リセット変更
[0215]上記のように、リセット機構は、uをu+dにリセットすることを伴うことがあり、これは結局、たとえば、スパイク事象の後または制御信号のアクティブ化後にuを増分する。いくつかの態様では、u+d値が、ニューロンを直ちにスパイクさせること、または最初から持続振動に入らせることができるほど大きくないようにするために、uを目標定数に(すなわち、u+d以外に)リセットするオプションを有するのが望ましいことがある。このようにして、設計者は、状態空間のどこでニューロンがリセットするかを管理する。
【0274】
状態空間領域を定義
[0216]一般に、持続振動における(v,u)トレースは、長軸および短軸がv、uのデカルト軸と整合しないことがある楕円の形となり得る(すなわち、楕円は傾きを有し得る)。解は、以下の形となり得る。
【数141】
【0275】
ここで4つの係数は、(インデックスkが除外されている)Aにおける行列要素および初期条件(v(0),u(0))の関数である。
【0276】
[0217]説明および設計を容易にするために、ここでの説明は、長軸および短軸が等しい円トレースに焦点を当てる。これらは、行列要素が次の制約を満たすことを必要とする。
【数142】
【0277】
ここでλ
Rおよびλ
Iはそれぞれ、複素固有値λ
1,2=λ
R±λ
Iの実数部および虚数部を表し、τは(減衰または増大)時間定数を表し、f
cは振動周波数を表し、インデックスkは除外されている。これは、円領域および行列の単純な形式をもたらす。
【数143】
【0278】
[0218]円領域を有するこのより単純な形式を使用して、均衡点(v
r,0)を中心とする円の半径は、
【数144】
【0279】
であり、これは(v,u)から均衡点までの距離を表す。たとえば、ρ(v
r+2mV,0)=2である。そのため、k番目の領域は、
【数145】
【0280】
によって定義されてよく、ここでρ
k,inは、Ω
kの内側円境界の半径を表し、ρ
k,outは、Ω
kの外側円境界を表す。
【0281】
[0219]
図10のK=4の例では、持続振動領域Ω
2は、
【数146】
【0282】
によって定義されることになり、ここでρ
gは、Ω
1とΩ
2とを分離する円境界の半径を表し、ρ
dは、Ω
2とΩ
3との間のそれを表す。
【0283】
[0220]成長振動領域Ω
1の場合:
【数147】
【0284】
[0221]減衰振動領域Ω
3の場合:
【数148】
【0285】
[0222]
図10のALIF領域Ω
4は、以下によって定義される。
【数149】
【0286】
マルチステージ減衰および成長領域のための追加領域
[0223]上記の考えは、振動のより漸進的な減衰または漸進的な成長をサポートするように拡張され得る。たとえば、減衰軌道の変動レートと成長軌道の変動レートとを有するために、6個の領域を有する
図13に示すように、複数のリングが使用され得る。この例では、Ω
3は、持続振動領域と考えられ得る。領域Ω
5は、速い方の減衰軌道を有してよく、Ω
4は、遅い方の減衰軌道を有し得る。これにより、持続振動領域Ω
3への段階的でより緩やかな減衰が可能になる。同様に、Ω
1は、速い方の成長軌道を有してよく、Ω
2は、遅い方の成長軌道を有し得る。この概念は、さらに漸進的な変化のためのより多くのリングに拡張され得る。さらに、異なる持続振動パラメータ(たとえば、異なる周波数)が望まれる場合にマルチステージ持続振動領域が使用され得る。
【0287】
人工ニューロンを実施するための例示的な動作
[0224]
図14は、本開示のいくつかの態様による、人工神経系における人工ニューロンの状態を更新するための例示的な動作1400の流れ図である。動作1400は、ハードウェアで(たとえば、神経形態学的プロセッサなどの1つもしくは複数のニューラル処理ユニット(たとえば、人工ニューロン)によって)、ソフトウェアで、またはファームウェアで実行され得る。人工神経系は、視覚神経系、聴覚神経系、海馬などのような様々な生物学上または想像上の神経系のうちのいずれかでモデル化され得る。
【0288】
[0225]動作1400は、1402において、人工ニューロンの第1の状態が第1の領域内にあると決定することによって始まり得る。1404において、線形動的方程式の第1のセットに少なくとも部分的に基づいて人工ニューロンの第2の状態が決定され、ここにおいて、線形動的方程式の第1のセットは、第1の領域に対応するパラメータ(たとえば係数)の第1のセットに少なくとも部分的に基づく。1406において、人工ニューロンの第2の状態が第2の領域内にあると決定される。1408において、線形動的方程式の第2のセットに少なくとも部分的に基づいて人工ニューロンの第3の状態が決定される。線形動的方程式の第2のセットは、第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づき得る。
【0289】
[0226]いくつかの態様によれば、1次方程式の第1のセットおよび第2のセットは、線形時間不変(LTI)状態空間方程式の離散時間解を含む。他の態様では、離散時間解は、連続時間状態空間方程式に関するクローズド式解に少なくとも部分的に基づき得る。
【0290】
[0227]いくつかの態様によれば、動作1400は、メモリからパラメータの第1セットまたは第2のセットのうちの少なくとも1つを取り出すことをさらに含む。本明細書で使用するメモリは、永続的であるか、それとも一時的であるか、局所的であるか、それともリモートであるかを問わず、ランダムアクセスメモリ(RAM)、キャッシュメモリ、レジスタ、ラッチ、フリップフロップなどを含む処理ユニット、オンチップまたはオフチップにデータを記憶するための様々な好適な手段のうちのいずれかを指し得る。そのような取出しは、人工ニューロンの局所にあるメモリからパラメータの第1のセットまたは第2のセットのうちの少なくとも1つを取り出すことを含み得る。いくつかの態様によれば、動作1400は、パラメータの第1のセットまたは第2のセットのうちの少なくとも1つの少なくとも一部分を計算することをさらに含む。パラメータの第1のセットまたは第2のセットのうちの少なくとも1つの少なくとも一部分は、メモリから取り出された1つまたは複数の値を使用して計算され得る。
【0291】
[0228]いくつかの態様によれば、パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、人工ニューロンに関連するニューロンモデルにおける非線形関数の少なくとも一部分を区分的線形関数により近似することによって取得され得る。いくつかの態様では、非線形関数は、電圧依存型伝導性(g(v))により増大する膜電位(v)を含む。電圧依存型伝導性は、区分的定数関数により近似され得る。他の態様では、非線形関数は、電圧依存型関数(F(v))を含み、ここでvは、人工ニューロンの膜電位である。区分的線形関数は、第1の領域および第2の領域の各々について傾き(m)と切片(d)とを有し得る。いくつかの態様では、第1の領域は、区分的線形関数において第2の領域とは異なる幅を有する。区分的線形関数における第1の領域または第2の領域の幅は、非線形関数に依存し得る。いくつかの態様では、区分的線形近似は、テイラー展開方法、1次線形補間方法、最適線形補間方法、または平均傾斜方法のうちの少なくとも1つに少なくとも部分的に基づく。
【0292】
[0229]いくつかの態様によれば、パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、少なくとも部分的に人工ニューロンにおける特定の挙動を実現するように設計され得る。たとえば、パラメータの第1および/または第2のセットは、所望の挙動を近似する特定の関数(たとえば、調整可能な曲線)を効果的に作成するように生成される(たとえば、ニューロンモデル設計者によって手動で選択される)ことがある。このようにして、人工ニューロンは、完全に新しいニューロンモデルまたは既存のニューロンモデルの変更に基づいて動作することができる。
【0293】
[0230]人工ニューロンの第1の状態、第2の状態、および第3の状態は、膜電位(v)および復元電流(u)によって定義され得る。これらは、人工ニューロン状態変数の2つの例である。いくつかの態様によれば、動作1400は、スパイク事象が生じているか、または生じることになるとの決定に少なくとも部分的に基づいて、人工ニューロンの膜電位または復元電流のうちの少なくとも1つをリセットすることをさらに含み得る。膜電位は、静止電位にリセットされ得る(v(t)→v
r)。復元電流は、復元電流の現在値とオフセットとの合計にリセットされ得る(u(t)→u(t)+d)。
【0294】
[0231]いくつかの態様によれば、1次方程式の第1のセットまたは第2のセットのうちの少なくとも1つは、人工ニューロンのためのニューロンモデルに少なくとも部分的に基づく。いくつかの態様では、ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または真性伝導性モデル(たとえば、電圧依存型伝導性(g(v))により増大する膜電位(v)として表されるニューロンモデル)のうちの少なくとも1つに少なくとも部分的に基づく。いくつかの態様では、ニューロンモデルは、少なくとも2つの次元(たとえば、少なくとも2つの状態変数)を備える。ニューロンモデルは、線形であり得る1つまたは複数の1次常微分方程式(ODE)に少なくとも部分的に基づき得る。
【0295】
[0232]いくつかの態様によれば、ニューロンモデルの時間のステップサイズは、モデル化されている人工ニューロンのタイプに少なくとも部分的に基づく。ニューロンモデルの時間のステップサイズは不均一であり得る。いくつかの態様では、特定の時間ステップの時間のステップサイズは、人工ニューロンの現在の状態もしくは過去の状態のうちの少なくとも1つに、または(現在の状態もしくは過去の状態に関連付けられ得る)パラメータの特定のセットに少なくとも部分的に基づいて決定される。いくつかの態様では、第1の状態の決定と第2の状態の決定との間の時間の第1のステップサイズは、第2の状態の決定と第3の状態の決定との間の時間の第2のステップサイズとは異なる。いくつかの態様によれば、1404における人工ニューロンの第2の状態の決定は第1の時間ステップで実行されてよく、1408における人工ニューロンの第3の状態の決定は、第1の時間ステップに続く第2の時間ステップで実行されてよい。
【0296】
[0233]いくつかの態様によれば、人工ニューロンの第2の状態または第3の状態のうちの少なくとも1つを決定することは、人工ニューロンに入力された電流に少なくとも部分的に基づく。いくつかの態様では、入力電流は、シナプス電流または一般的な外部電流のうちの少なくとも1つを備える。シナプス電流は、1つまたは複数のチャネルの各々に関する時間依存型伝導性および1つまたは複数のチャネルの各々に関する逆転電位に少なくとも部分的に基づき得る。いくつかの態様では、シナプス電流は、N−メチル−D−アスパラギン酸(NMDA)チャネルに関する人工ニューロンのシナプス後膜電圧に少なくとも部分的に基づく。時間依存型伝導性は、指数関数、アルファ関数、または指数差関数によってモデル化され得る。
【0297】
[0234]いくつかの態様では、第1の領域および第2の領域は同じ領域である。
【0298】
[0235]いくつかの態様によれば、動作1400は、第1の状態、第2の状態、または第3の状態のうちの少なくとも1つの指示をディスプレイに出力することをさらに含み得る。
【0299】
[0236]いくつかの態様によれば、第1の領域または第2の領域のうちの少なくとも1つは、2つ以上の次元によって定義される。第1の領域または第2の領域のうちの少なくとも1つは、M≧2のM次元の部分空間である。M次元の部分空間は、任意の形状を有してよく、任意の境界によって定義され得る(たとえば、v>10mV)。いくつかの態様では、2つ以上の次元は2次元であり、M次元の部分空間は、楕円、円、多角形、方形、または正方形などの2次元の形状を有する。他の態様では、2つ以上の次元は3次元であり、M次元の部分空間は、球、楕円体、多角柱、直方柱、または立方体などの3次元の形状を有する。いくつかの態様では、第1の領域は、第2の領域とは異なる1次方程式のセットに関連付けられる。第1の領域および第2の領域は、部分的に重複する領域または重複しない領域であり得る。第1の領域および第2の領域は、異なる形状または異なるサイズのうちの少なくとも1つを有し得る。いくつかの態様では、第1の領域は人工ニューロンの第1の挙動に関連付けられ、第2の領域は、第1の挙動とは異なる、人工ニューロンの第2の挙動に関連付けられる。いくつかの態様では、第1の領域および第2の領域は、同心リング、管、方形フレームなどのような階層化形状を有する。
【0300】
[0237]いくつかの態様によれば、2つ以上の次元は、膜電位(v)および復元電流(u)によって定義された2次元から構成される。いくつかの態様では、動作1400は、制御信号の受信またはスパイク事象が生じているか、もしくは生じることになるとの決定のうちの少なくとも1つに少なくとも部分的に基づいて、人工ニューロンの膜電位または復元電流のうちの少なくとも1つをリセットすることをさらに含み得る。この場合、膜電位は静止電位にリセットされてよく、復元電流は定数にリセットされてよい。
【0301】
[0238]いくつかの態様によれば、第2の領域の少なくとも一部分は、第1の領域と重複する。この場合、1406において人工ニューロンの第2の状態が第2の領域内にあると決定することは、ヒステリシスに少なくとも部分的に基づき得る。
【0302】
[0239]いくつかの態様によれば、人工ニューロンは、オンセット検出および事象カウントのために構成される。この場合、第1の領域は、事象カウントのための積分発火(IF)挙動に関連付けられてよく、第2の領域は、リーキー積分発火(LIF)挙動に関連付けられてよい。
【0303】
[0240]いくつかの態様によれば、人工ニューロンは、しきい値下振動挙動のために構成される。しきい値下振動挙動は、減衰振動挙動、持続振動挙動、または成長振動挙動のうちの少なくとも1つを含み得る。いくつかの態様では、第1の領域は成長振動挙動に関連付けられてよく、第2の領域は持続振動挙動に関連付けられてよく、および第3の領域は減衰振動挙動に関連付けられてよい。さらに、第4の領域はALIF挙動に関連付けられる。いくつかの態様では、第1の領域は楕円形状を有し得る一方、第2の領域はリング形状を有し得る。
【0304】
例示的な共通のフレキシブルなニューラルアーキテクチャ
[0241]本開示のいくつかの態様は一般に、動的ニューロンモデルをサポートする共通のフレキシブルなアーキテクチャを開発することに関する。設計目標は、低複雑度と、ニューロンダイナミクスの正確なモデル化と、任意のニューロンモデルを実施する能力とを含む。このフレキシブルなアーキテクチャにより、様々な好適なニューロンモデルのいずれかが必要に応じて実行され、置換され得る。たとえば、ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、またはHunzinger Coldモデルのうちの少なくとも1つを含み得る。そのようなニューロンモデルは、上記のように区分的線形近似とそれに関連するパラメータ(たとえば、係数)とを使用して実施され得る。さらに、フレキシブルなアーキテクチャは、人工神経系における異なる人工ニューロンが、異なるニューロンモデルにより同時に動作することを可能にする。
【0305】
[0242]
図15Aは、本開示のいくつかの態様による、ニューロンモデルのためのパラメータが選択、ロード、アクセス、追加、削除、調整および/または更新され得る、単一のニューラル処理ユニット1502のためのそのような共通のフレキシブルなニューラルアーキテクチャの実装形態を示す。本明細書で説明する概念は、ニューラル処理ユニット1502のシステム(たとえば、人工神経系)に容易に拡大され得るが、説明しやすいように、
図15Aには単一のニューラル処理ユニットのみが示されている。ニューラル処理ユニット1502は、図示のように、1つまたは複数の入力とニューロンモデルのためのパラメータのセットとを受信し、1つまたは複数の状態変数を出力するステートマシン1506を実装し得る。ステートマシン1506は、人工ニューロンのための任意の好適な処理アルゴリズムを実装し得る。
【0306】
[0243]所与のニューロンモデルのためのパラメータは、複数のニューロンモデルのためのパラメータのセット1504から選択され得る。いくつかの態様では、たとえば、オペレータが所与のニューラル処理ユニットにおいてあるニューロンモデルを使用することを希望し、このモデルを利用可能なニューロンモデルのリストから選択することがある。他の態様では、あるニューロンモデルが、学習またはトレーニング動作に基づいてニューラル処理ユニットのシステムによって選択され得る。所与のニューロンモデルのためのパラメータは、上述の区分的線形近似に基づくパラメータであり得る。いくつかの態様では、ニューラル処理ユニット1502に関連付けられ、かつ/またはニューラル処理ユニット1502の局所にあるメモリに、パラメータのセット1504は記憶され得る。他の態様では、複数のニューラル処理ユニットによって大域的にアクセス可能なメモリまたはニューラル処理ユニット1502の内部にあるキャッシュメモリに、パラメータのセット1504は記憶され得る。ニューロンモデルAのためのパラメータは、第1のメモリロケーション1508(たとえば、アドレス指定可能なメモリブロック)に記憶され得る一方、ニューロンモデルBのためのパラメータは、第2のメモリロケーション1510に記憶され得る。
【0307】
[0244]
図15Aでは、ニューロンモデルAのためのパラメータは、ニューラル処理ユニット1502にロードされている。本明細書で使用する「ロード」という用語は、広く定義されてよく、ニューラル処理ユニットによって(またはニューラル処理ユニットのシステムによって)アクセス可能なメモリから所与のニューロンモデルのためのパラメータを取り出すこと、ニューラル処理ユニットの局所にあるメモリにパラメータを記憶すること、またはメモリにおける、ニューラル処理ユニットに関連する(たとえば、ニューラル処理ユニットのために指定された)1つまたは複数のメモリエリアにアクセスすることを含み得る。いくつかの態様によれば、あるニューロンモデルのためのパラメータを特定のニューラル処理ユニットにロードすることは、設定事象に応答して生じ得る。たとえば、設定事象は、特定のニューラル処理ユニットを起動すること、(特定の処理ユニットを含む場合も含まない場合もある)ニューラル処理ユニットの1つもしくは複数の領域を起動すること、またはニューラル処理ユニットのシステム全体を起動することを含み得る。
【0308】
[0245]
図15Bでは、ニューロンモデルBのためのパラメータは、ニューラル処理ユニット1502にロードされている。そのときから、ステートマシン1506は、これらの直近にロードされたパラメータに少なくとも部分的に基づいて動作し得る。このようにして、ニューラル処理ユニット1502は、異なるパラメータをロードするだけで、異なるニューロンモデルに従って機能し得る。さらに、特定のニューロンモデルのためのパラメータは、いつでも更新または削除され得る。
【0309】
[0246]
図15Cでは、ニューロンモデルCのためのパラメータがパラメータのセット1504に追加され得る。たとえば、ニューロンモデルCは、ニューラル処理ユニット1502が動作可能になったときには利用できなかった、最近開発、購入またはライセンス供与されたニューロンモデルであり得る。他の例示的なシナリオでは、技師またはシステム設計者がニューロンモデルCを考えていなかった可能性があるか、またはこのモデルは所望のアプリケーションに適合しないと当初考えていた可能性があるが、今ではこのモデルを追加することを希望している。
【0310】
[0247]
図15Dでは、ニューロンモデルCのためのパラメータが第3のメモリロケーション1512に記憶され得る。ニューロンモデルCのためのパラメータはニューラル処理ユニット1502にロードされてよく、それによりステートマシン1506は、これらの直近にロードされたパラメータに少なくとも部分的に基づいて動作することができる。ニューラル処理ユニットにおいて異なるパラメータをロードするだけでニューラル処理ユニットのためのニューロンモデルを効果的に変更する能力は、必要に応じて更新され変更され得る非常にフレキシブルなアーキテクチャをもたらす。
【0311】
[0248]
図16は、本開示のいくつかの態様による、ニューラル処理ユニットのシステム(たとえば、人工神経系)において複数のニューロンモデルの組合せを実施するための例示的な動作1600の流れ図である。動作1600は、ハードウェアで(たとえば、神経形態学的プロセッサなどの1つもしくは複数の処理ユニットによって)、ソフトウェアで、またはファームウェアで実行され得る。人工神経系は、視覚神経系、聴覚神経系、海馬などのような様々な生物学上または想像上の神経系のうちのいずれかでモデル化され得る。
【0312】
[0249]複数のニューロンモデルは、上述したニューロンモデルの任意の組合せ、ならびに存在するか、または今のところ未開発もしくは未開示である任意の好適なニューロンモデルを含み得る。たとえば、複数のニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、Hunzinger Coldモデルまたは真性伝導性モデルのうちの少なくとも1つを含み得る。本明細書で使用する「ニューロンモデルの組合せ」という句は一般に、複数のニューロンモデルからなるセットを指し、セットは単一のメンバーを含み得る。言い換えれば、複数のニューロンモデルの組合せは、複数のうちの1つと、複数の任意のサブセットの任意の組合せとを含む。
【0313】
[0250]動作1600は、1602において、複数のニューロンモデルから選択された第1のニューロンモデルのためのパラメータを第1のニューラル処理ユニット(たとえば、人工ニューロン)にロードすることによって始まり得る。所与のニューロンモデルのためのパラメータは、上述のニューロンモデルの区分的線形近似から導出されたパラメータであり得る。1604において、第1のニューロンモデルのためのロードされたパラメータに少なくとも部分的に基づいて、第1のニューラル処理ユニットの第1の状態が決定され得る。1606において、第1のニューロンモデルのためのパラメータおよび第1の状態に少なくとも部分的に基づいて、第1のニューラル処理ユニットの第2の状態が決定され得る。
【0314】
[0251]いくつかの態様によれば、1608において複数のニューロンモデルが更新され得る。上記のように、複数のニューロンモデルを更新することは、既存のニューロンモデルのためのいくつかのパラメータを削除もしくは調整すること、または別のニューロンモデル(たとえば、複数のニューロンモデルがシステムで利用可能になった時点では利用可能でなかった新しいニューロンモデルまたは新しいニューロンモデルを効果的に作成するための既存のニューロンモデルの望ましい変更)のためのパラメータを追加することを含み得る。いくつかの態様では、複数のニューロンモデルを更新することは、第1のニューロンモデルのためのパラメータをロード(または再ロード)し、第1のニューラル処理ユニットの次の状態を決定する前に生じ得る。
【0315】
[0252]1610において、第2のニューロンモデルのためのパラメータが第1のニューラル処理ユニットに随意にロードされ得る。第2のニューロンモデルのためのこれらのパラメータは、第1のニューロンモデルのための1602においてロードされたパラメータに取って代わり得る。1610において第2のニューロンモデルのためのパラメータがロードされる前に、1608において複数のニューロンモデルが更新される必要はない。 1612において、第2のニューロンモデルのためのパラメータに少なくとも部分的に基づいて、(たとえば、第2の状態に続く)第1のニューラル処理ユニットの第3の状態が決定され得る。
【0316】
[0253]いくつかの態様によれば、1602において第1のモデルのための(または1610において第2のニューロンモデルのための)パラメータをロードすることは、設定事象に応答したものである。いくつかの態様では、設定事象は、ニューラル処理ユニットのシステムまたは第1のニューラル処理ユニットのうちの少なくとも1つのための起動である。
【0317】
[0254]いくつかの態様によれば、1612において第3の状態を決定することはさらに、第2の状態に少なくとも部分的に基づく。後続ニューロンモデルのためのパラメータに基づく後続状態の決定が、(後続ニューロンモデルとは異なる)先行ニューロンモデルのためのパラメータに基づいて決定された先行状態に基づく場合、これは、「ホットスワップ」と呼ばれ得る。いくつかの態様では、第2のニューロンモデルは、少なくとも部分的に、「ホットスワップ」条件に基づいてしきい値下振動を生成するように構成される。この振動は、第2の状態から、または別の時点に始まり得る。いくつかの態様では、1610における第2のニューロンモデルのためのパラメータのロードは、状態条件(たとえば、状態が特定の領域に入るか、もしくはある挙動、たとえば変更のレートを示すなど)、(たとえば、タイマーに基づく)時間条件またはトリガのうちの少なくとも1つに少なくとも部分的に基づく。トリガは、たとえば、第1のニューラル処理ユニットの外部にあり得る。
【0318】
[0255]いくつかの態様によれば、動作1600は、複数のニューロンモデルから選択された第2のニューロンモデルのためのパラメータを第2のニューラル処理ユニットにロードすることをさらに含み得る。次いで、第2のニューロンモデルのためのパラメータに少なくとも部分的に基づいて、第2のニューラル処理ユニットの状態が決定され得る。いくつかの態様では、第1のニューラル処理ユニットおよび第2のニューラル処理ユニットは、システムの異なるエリアに位置する。いくつかの態様では、第1のニューロンモデルおよび第2のニューロンモデルは、異なるタイプのニューロンを表す。言い換えれば、ニューラル処理ユニットのシステムにおける異なるニューロンモデルは、ニューラルシステムの異なる領域にあるニューロンをエミュレートするために使用され得る。たとえば、視覚、聴覚またはモータ制御システムにおけるニューロンは、異なるニューロンモデルによって表され得る。
【0319】
[0256]第1の、第2の、または任意の他のニューロンモデルのためのパラメータをロードすることは、様々な好適な動作のうちのいずれかを伴い得る。下記の説明は、説明しやすいように第1のニューロンモデルのためのパラメータをロードすることを含むが、そのようなロードは、任意の他のニューロンモデルのためのパラメータにも当てはまる。いくつかの態様によれば、第1のニューロンモデルのためのパラメータをロードすることは、第1のニューロンモデルのためのパラメータを、第1のニューラル処理ユニットを含む複数のニューラル処理ユニットにロードすることを含む。いくつかの態様では、第1のニューロンモデルのためのパラメータをロードすることは、第1のニューロンモデルのためのパラメータの少なくとも一部分をメモリから取り出すことを含む。このメモリは、いくつかの態様ではニューラル処理ユニットのシステムによってアクセス可能であり得る。いくつかの態様では、メモリの少なくとも一部分は、第1のニューラル処理ユニットの局所にあり得る。メモリの少なくとも一部分は、キャッシュメモリであり得る。いくつかの態様では、第1のニューロンモデルのためのパラメータをロードすることは、メモリにおける、第1のニューロンモデルに関連するメモリブロックにアクセスすることをさらに含む。この場合、メモリブロックは、メモリブロックにおけるメモリアドレスに対するポインタによって指定され得る。
【0320】
[0257]
図17は、本開示のいくつかの態様による、汎用プロセッサ1702を使用して人工ニューロンを動作させるための上述した方法を実施するための構成要素の例示的なブロック
図1700を示す。計算ネットワーク(ニューラルネットワーク)に関連する変数(ニューラル信号)、シナプス重み、および/またはシステムパラメータは、メモリブロック1704に記憶され得る一方、汎用プロセッサ1702において実行される関連した命令は、プログラムメモリ1706からロードされ得る。本開示の一態様では、汎用プロセッサ1702にロードされる命令は、人工ニューロンの第1の状態が第1の領域内にあると決定するためのコードと、1次方程式の第1のセットに少なくとも部分的に基づいて人工ニューロンの第2の状態を決定するためのコードと、ここにおいて、1次方程式の第1のセットは、第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、人工ニューロンの第2の状態が第2の領域内にあると決定するためのコードと、1次方程式の第2のセットに少なくとも部分的に基づいて人工ニューロンの第3の状態を決定するためのコードと、ここにおいて、1次方程式の第2のセットは、第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、を備え得る。いくつかの態様では、第1の領域または第2の領域のうちの少なくとも1つは、2つ以上の次元によって定義される。
【0321】
[0258]本開示の別の態様では、汎用プロセッサ1702にロードされる命令は、複数のニューロンモデルから選択された第1のニューロンモデルのためのパラメータを(ニューラル処理ユニットのシステムにおける)第1のニューラル処理ユニットにロードするためのコードと、第1のニューロンモデルのためのパラメータに少なくとも部分的に基づいて第1のニューラル処理ユニットの第1の状態を決定するためのコードとを備え得る。
【0322】
[0259]
図18は、本開示のいくつかの態様による、メモリ1802が相互接続ネットワーク1804を介して計算ネットワーク(ニューラルネットワーク)の個々の(分散型)処理ユニット(ニューラルプロセッサ)1806とインターフェースされ得る人工ニューロンを動作させるための上述した方法を実施するための構成要素の例示的なブロック
図1800を示す。計算ネットワーク(ニューラルネットワーク)に関連する変数(ニューラル信号)、シナプス重み、および/またはシステムパラメータは、メモリ1802に記憶されてよく、相互接続ネットワーク1804の接続を介してメモリ1802から各処理ユニット(ニューラルプロセッサ)1806にロードされ得る。本開示の一態様では、処理ユニット1806は、人工ニューロンの第1の状態が第1の領域内にあると決定することと、1次方程式の第1のセットに少なくとも部分的に基づいて人工ニューロンの第2の状態を決定することと、ここにおいて、1次方程式の第1のセットは、第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、人工ニューロンの第2の状態が第2の領域内にあると決定することと、1次方程式の第2のセットに少なくとも部分的に基づいて人工ニューロンの第3の状態を決定することと、ここにおいて、1次方程式の第2のセットは、第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、を行うように構成され得る。いくつかの態様では、第1の領域または第2の領域のうちの少なくとも1つは、2つ以上の次元によって定義される。
【0323】
[0260]本開示の別の態様では、処理ユニット1806は、複数のニューロンモデルから選択された第1のニューロンモデルのためのパラメータを(ニューラル処理ユニットのシステムにおける)第1のニューラル処理ユニットにロードし、第1のニューロンモデルのためのパラメータに少なくとも部分的に基づいて第1のニューラル処理ユニットの第1の状態を決定するように構成され得る。
【0324】
[0261]
図19は、本開示のいくつかの態様による、分散型重みメモリ1902および分散型処理ユニット(ニューラルプロセッサ)1904に基づいて人工ニューロンを動作させるための上述した方法を実施するための構成要素の例示的なブロック
図1900を示す。
図19に示すように、1つのメモリバンク1902が、計算ネットワーク(ニューラルネットワーク)の1つの処理ユニット1904と直接インターフェースされてよく、メモリバンク1902は、その処理ユニット(ニューラルプロセッサ)1904に関連する変数(ニューラル信号)、シナプス重み、および/またはシステムパラメータを記憶することができる。本開示の一態様では、処理ユニット1904は、人工ニューロンの第1の状態が第1の領域内にあると決定することと、1次方程式の第1のセットに少なくとも部分的に基づいて人工ニューロンの第2の状態を決定することと、ここにおいて、1次方程式の第1のセットは、第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、人工ニューロンの第2の状態が第2の領域内にあると決定することと、1次方程式の第2のセットに少なくとも部分的に基づいて人工ニューロンの第3の状態を決定することと、ここにおいて、1次方程式の第2のセットは、第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、を行うように構成され得る。いくつかの態様では、第1の領域または第2の領域のうちの少なくとも1つは、2つ以上の次元によって定義される。
【0325】
[0262]本開示の別の態様では、処理ユニット1904は、複数のニューロンモデルから選択された第1のニューロンモデルのためのパラメータを(ニューラル処理ユニットのシステムにおける)第1のニューラル処理ユニットにロードし、第1のニューロンモデルのためのパラメータに少なくとも部分的に基づいて第1のニューラル処理ユニットの第1の状態を決定するように構成され得る。
【0326】
[0263]
図20は、本開示のいくつかの態様による、ニューラルネットワーク2000の例示的な実装形態を示す。
図20に示すように、ニューラルネットワーク2000は、上述した方法の様々な動作を実行し得る複数のローカル処理ユニット2002を備えることができる。各処理ユニット2002は、ローカル状態メモリ2004と、ニューラルネットワークのパラメータを記憶するローカルパラメータメモリ2006とを備えることができる。さらに、処理ユニット2002は、ローカル(ニューロン)モデルプログラムを有するメモリ2008と、ローカル学習プログラムを有するメモリ2010と、ローカル接続メモリ2012とを備えることができる。さらに、
図20に示すように、各ローカル処理ユニット2002は、ローカル処理ユニットのローカルメモリのための設定を提供し得る設定処理のためのユニット2014と、またローカル処理ユニット2002間のルーティングを提供するルーティング接続処理要素2016とインターフェースされ得る。
【0327】
[0264]本開示のいくつかの態様によれば、各ローカル処理ユニット2002は、ニューラルネットワークの所望の1つまたは複数の機能的特徴に基づいてニューラルネットワークのパラメータを決定し、決定されたパラメータがさらに適合、調整および更新されることで、1つまたは複数の機能的特徴を所望の機能的特徴に向けて発展させるように構成され得る。
【0328】
[0265]上述した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。たとえば、様々な動作は、
図17〜
図20に示す様々なプロセッサのうちの1つまたは複数によって実行され得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。たとえば、
図14に示す動作1400は、
図14Aに示す手段1400Aに対応する。
【0329】
[0266]たとえば、表示するための手段は、ディスプレイ(たとえば、モニタ、フラットスクリーン、タッチスクリーンなど)、プリンタ、または視覚的描写(たとえば、表、チャートもしくはグラフ)のためのデータを出力するための任意の他の好適な手段を備え得る。処理するための手段、生成するための手段、ロードするための手段、リセットするための手段、取り出すための手段、更新するための手段、計算するための手段、算出するための手段、出力するための手段、または決定するための手段は、1つまたは複数のプロセッサまたは処理ユニットを含み得る、処理システムを備え得る。記憶するための手段は、処理システムによってアクセスされ得る、メモリまたは任意の他の好適な記憶デバイス(たとえば、RAM)を備え得る。
【0330】
[0267]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。また、「決定」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ中のデータにアクセスすること)などを含み得る。また、「決定」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【0331】
[0268]本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cを包含するものとする。
【0332】
[0269]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【0333】
[0270]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例としては、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどを含む。ソフトウェアモジュールは、単一の命令、または多数の命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラム間で、かつ複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体化され得る。
【0334】
[0271]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく変更され得る。
【0335】
[0272]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスとブリッジとを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路などの様々な他の回路にリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上は説明されない。
【0336】
[0273]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行し得る他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、例として、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(読取り専用メモリ)、PROM(プログラマブル読取り専用メモリ)、EPROM(消去可能プログラマブル読取り専用メモリ)、EEPROM(電気消去可能プログラマブル読取り専用メモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または任意の他の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
【0337】
[0274]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加で、機械可読媒体またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。
【0338】
[0275]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとをもつ汎用処理システムとして構成され得る。代替的に、処理システムは、プロセッサをもつASIC(特定用途向け集積回路)と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部分とを用いて、あるいは1つまたは複数のFPGA(フィールドプログラマブルゲートアレイ)、PLD(プログラマブル論理デバイス)、コントローラ、ステートマシン、ゲート論理、個別ハードウェア構成要素、もしくは他の好適な回路、または本開示全体にわたって説明した様々な機能を実行し得る回路の任意の組合せを用いて、実装され得る。当業者なら、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明した機能を最も良く実装し得るかを理解されよう。
【0339】
[0276]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
【0340】
[0277]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体を適切に名づけられる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0341】
[0278]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために1つまたは複数のプロセッサによって実行可能である命令を記憶した(かつ/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
【0342】
[0279]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にデバイスによってダウンロードされ、かつ/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実施するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、デバイスが記憶手段をデバイスに結合または提供すると様々な方法を得ることができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)によって提供され得る。その上、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
【0343】
[0280]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
人工ニューロンの状態を更新するための方法であって、
前記人工ニューロンの第1の状態が第1の領域内にあると決定することと、
1次方程式の第1のセットに少なくとも部分的に基づいて前記人工ニューロンの第2の状態を決定することと、ここにおいて、前記1次方程式の第1のセットは、前記第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、
前記人工ニューロンの前記第2の状態が第2の領域内にあると決定することと、
1次方程式の第2のセットに少なくとも部分的に基づいて前記人工ニューロンの第3の状態を決定することと
を備え、前記1次方程式の第2のセットは、前記第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、
方法。
[C2]
前記1次方程式の第1のセットおよび第2のセットは、線形時間不変(LTI)状態空間方程式の離散時間解を備える、
[C1]に記載の方法。
[C3]
メモリから前記パラメータの第1セットまたは第2のセットのうちの少なくとも1つを取り出すことをさらに備える、
[C1]に記載の方法。
[C4]
前記取り出すことは、前記人工ニューロンの局所にあるメモリから前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つを取り出すことを備える、
[C3]に記載の方法。
[C5]
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つの少なくとも一部分を計算することをさらに備える、
[C1]に記載の方法。
[C6]
前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つの前記少なくとも前記一部分は、メモリから取り出された1つまたは複数の値を使用して計算される、
[C5]に記載の方法。
[C7]
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンに関連するニューロンモデルにおける非線形関数の少なくとも一部分を区分的線形関数により近似することによって取得される、
[C1]に記載の方法。
[C8]
前記非線形関数は、電圧依存型伝導性(g(v))により増大する膜電位(v)を備える、
[C7]に記載の方法。
[C9]
前記電圧依存型伝導性は、区分的定数関数により近似される、
[C8]に記載の方法。
[C10]
前記非線形関数は電圧依存型関数(F(v))を備え、vは前記人工ニューロンの膜電位である、
[C7]に記載の方法。
[C11]
前記第1の領域は、前記区分的線形関数において前記第2の領域とは異なる幅を有する、
[C7]に記載の方法。
[C12]
前記区分的線形関数における前記第1の領域または前記第2の領域の幅は、前記非線形関数に依存する、
[C7]に記載の方法。
[C13]
前記区分的線形関数近似は、テイラー展開方法、1次線形補間方法、最適線形補間方法、または平均傾斜方法のうちの少なくとも1つに少なくとも部分的に基づく、
[C7]に記載の方法。
[C14]
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、少なくとも部分的に前記人工ニューロンにおける特定の挙動を実現するように設計される、
[C1]に記載の方法。
[C15]
前記人工ニューロンの前記第1の状態、第2の状態、および第3の状態は、膜電位(v)および復元電流(u)によって定義される、
[C1]に記載の方法。
[C16]
スパイク事象が生じているか、または生じることになるとの決定に少なくとも部分的に基づいて、前記人工ニューロンの前記膜電位または前記復元電流のうちの少なくとも1つをリセットすることをさらに備える、
[C15]に記載の方法。
[C17]
前記膜電位は、静止電位にリセットされ、前記復元電流は、前記復元電流の現在値とオフセットとの合計にリセットされる、
[C16]に記載の方法。
[C18]
前記1次方程式の第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンのためのニューロンモデルに少なくとも部分的に基づく、
[C1]に記載の方法。
[C19]
前記ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または真性伝導性モデルのうちの少なくとも1つに少なくとも部分的に基づく、
[C18]に記載の方法。
[C20]
前記真性伝導性モデルは、電圧依存型伝導性(g(v))により増大する膜電位(v)として表される前記ニューロンモデルを備える、
[C19]に記載の方法。
[C21]
前記ニューロンモデルは少なくとも2つの次元を備える、
[C18]に記載の方法。
[C22]
前記ニューロンモデルの時間のステップサイズは、モデル化されている前記人工ニューロンのタイプに少なくとも部分的に基づく、
[C18]に記載の方法。
[C23]
前記ニューロンモデルの時間のステップサイズは不均一である、
[C18]に記載の方法。
[C24]
特定の時間ステップの時間の前記ステップサイズは、前記人工ニューロンの現在の状態もしくは過去の状態のうちの少なくとも1つに、またはパラメータの特定のセットに少なくとも部分的に基づいて決定される、
[C23]に記載の方法。
[C25]
前記ニューロンモデルは、1つまたは複数の1次常微分方程式(ODE)に少なくとも部分的に基づく、
[C18]に記載の方法。
[C26]
前記人工ニューロンの前記第2の状態または第3の状態のうちの少なくとも1つを決定することは、前記人工ニューロンに入力された電流に少なくとも部分的に基づく、
[C1]に記載の方法。
[C27]
前記入力電流は、1つまたは複数のチャネルの各々に関する時間依存型伝導性および前記1つまたは複数のチャネルの各々に関する逆転電位に少なくとも部分的に基づくシナプス電流を備える、
[C26]に記載の方法。
[C28]
前記シナプス電流は、N−メチル−D−アスパラギン酸(NMDA)チャネルに関する前記人工ニューロンのシナプス後膜電圧に少なくとも部分的に基づく、
[C27]に記載の方法。
[C29]
前記時間依存型伝導性は、指数関数、アルファ関数、または指数差関数によってモデル化される、
[C27]に記載の方法。
[C30]
前記第1の状態を決定することと前記第2の状態を決定することとの間の時間の第1のステップサイズは、前記第2の状態を決定することと前記第3の状態を決定することとの間の時間の第2のステップサイズとは異なる、
[C1]に記載の方法。
[C31]
前記人工ニューロンの前記第2の状態を決定することは、第1の時間ステップで実行され、前記人工ニューロンの前記第3の状態を決定することは、前記第1の時間ステップに続く第2の時間ステップで実行される、
[C1]に記載の方法。
[C32]
人工ニューロンを動作させるための装置であって、
前記人工ニューロンの第1の状態が第1の領域内にあると決定することと、
1次方程式の第1のセットに少なくとも部分的に基づいて前記人工ニューロンの第2の状態を決定することと、ここにおいて、前記1次方程式の第1のセットは、前記第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、
前記人工ニューロンの前記第2の状態が第2の領域内にあると決定することと、
1次方程式の第2のセットに少なくとも部分的に基づいて前記人工ニューロンの第3の状態を決定することと、ここにおいて、1次方程式の前記第2のセットは、前記第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、
を行うように構成された処理システムと、
前記処理システムに結合されたメモリと
を備える装置。
[C33]
前記1次方程式の第1のセットおよび第2のセットは、線形時間不変(LTI)状態空間方程式の離散時間解を備える、
[C32]に記載の装置。
[C34]
前記処理システムは、前記メモリから前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つを取り出すことを行うようにさらに構成される、
[C32]に記載の装置。
[C35]
メモリは、前記人工ニューロンの局所にある、
[C34]に記載の装置。
[C36]
前記処理システムは、前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つの少なくとも一部分を計算することを行うようにさらに構成される、
[C32]に記載の装置。
[C37]
前記パラメータの第1のセットまたは第2のセットのうちの前記少なくとも1つの前記少なくとも一部分は、前記メモリから取り出された1つまたは複数の値を使用して計算される、
[C36]に記載の装置。
[C38]
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンに関連するニューロンモデルにおける非線形関数の少なくとも一部分を区分的線形関数により近似することによって取得される、
[C32]に記載の装置。
[C39]
前記非線形関数は、電圧依存型伝導性(g(v))により増大する膜電位(v)を備える、
[C38]に記載の装置。
[C40]
前記電圧依存型伝導性は区分的定数関数により近似される、
[C39]に記載の装置。
[C41]
前記非線形関数は電圧依存型関数(F(v))を備え、vは前記人工ニューロンの膜電位である、
[C38]に記載の装置。
[C42]
前記第1の領域は、前記区分的線形関数において前記第2の領域とは異なる幅を有する、
[C38]に記載の装置。
[C43]
前記区分的線形関数における前記第1の領域または前記第2の領域の幅は、前記非線形関数に依存する、
[C38]に記載の装置。
[C44]
前記区分的線形関数近似は、テイラー展開方法、1次線形補間方法、最適線形補間方法、または平均傾斜方法のうちの少なくとも1つに少なくとも部分的に基づく、
[C38]に記載の装置。
[C45]
前記パラメータの第1のセットまたは第2のセットのうちの少なくとも1つは、少なくとも部分的に前記人工ニューロンにおける特定の挙動を実現するように設計される、
[C32]に記載の装置。
[C46]
前記人工ニューロンの前記第1の状態、第2の状態、および第3の状態は、膜電位(v)および復元電流(u)によって定義される、
[C32]に記載の装置。
[C47]
前記処理システムは、スパイク事象が生じているか、または生じることになるとの決定に少なくとも部分的に基づいて、前記人工ニューロンの前記膜電位または前記復元電流のうちの少なくとも1つをリセットすることを行うようにさらに構成される、
[C46]に記載の装置。
[C48]
前記膜電位は、静止電位にリセットされ、前記復元電流は定数にリセットされる、
[C47]に記載の装置。
[C49]
前記1次方程式の第1のセットまたは第2のセットのうちの少なくとも1つは、前記人工ニューロンのためのニューロンモデルに少なくとも部分的に基づく、
[C32]に記載の装置。
[C50]
前記ニューロンモデルは、Izhikevichの単純モデル、指数関数積分発火(EIF)モデル、FitzHugh−Nagumoモデル、クォートモデル、または真性伝導性モデルのうちの少なくとも1つに少なくとも部分的に基づく、
[C49]に記載の装置。
[C51]
前記真性伝導性モデルは、電圧依存型伝導性(g(v))により増大する膜電位(v)として表される前記ニューロンモデルを備える、
[C50]に記載の装置。
[C52]
前記ニューロンモデルは少なくとも2つの次元を備える、
[C49]に記載の装置。
[C53]
前記ニューロンモデルの時間のステップサイズは、モデル化されている前記人工ニューロンのタイプに少なくとも部分的に基づく、
[C49]に記載の装置。
[C54]
前記ニューロンモデルの時間のステップサイズは、不均一である、
[C49]に記載の装置。
[C55]
特定の時間ステップの時間の前記ステップサイズは、前記人工ニューロンの現在の状態もしくは過去の状態のうちの少なくとも1つに、またはパラメータの特定のセットに少なくとも部分的に基づいて決定される、
[C54]に記載の装置。
[C56]
前記ニューロンモデルは、1つまたは複数の1次常微分方程式(ODE)に少なくとも部分的に基づく、
[C49]に記載の装置。
[C57]
前記処理システムは、前記人工ニューロンに入力された電流に少なくとも部分的に基づいて、前記人工ニューロンの前記第2の状態または第3の状態のうちの少なくとも1つを決定することを行うように構成される、
[C32]に記載の装置。
[C58]
前記入力電流は、1つまたは複数のチャネルの各々に関する時間依存型伝導性および前記1つまたは複数のチャネルの各々に関する逆転電位に少なくとも部分的に基づくシナプス電流を備える、
[C57]に記載の装置。
[C59]
前記シナプス電流は、N−メチル−D−アスパラギン酸(NMDA)チャネルに関する前記人工ニューロンのシナプス後膜電圧に少なくとも部分的に基づく、
[C58]に記載の装置。
[C60]
前記時間依存型伝導性は、指数関数、アルファ関数、または指数差関数によってモデル化される、
[C58]に記載の装置。
[C61]
前記第1の状態を決定することと前記第2の状態を決定することとの間の時間の第1のステップサイズは、前記第2の状態を決定することと前記第3の状態を決定することとの間の時間の第2のステップサイズとは異なる、
[C32]に記載の装置。
[C62]
前記処理システムは、
第1の時間ステップで前記人工ニューロンの前記第2の状態を決定することと、
前記第1の時間ステップに続く第2の時間ステップで前記人工ニューロンの前記第3の状態を決定することと
を行うように構成される、[C32]に記載の装置。
[C63]
人工ニューロンを動作させるための装置であって、
前記人工ニューロンの第1の状態が第1の領域内にあると決定するための手段と、
1次方程式の第1のセットに少なくとも部分的に基づいて前記人工ニューロンの第2の状態を決定するための手段と、ここにおいて、1次方程式の前記第1のセットは、前記第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、
前記人工ニューロンの前記第2の状態が第2の領域内にあると決定するための手段と、
1次方程式の第2のセットに少なくとも部分的に基づいて前記人工ニューロンの第3の状態を決定するための手段と
を備え、1次方程式の前記第2のセットは、前記第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、
装置。
[C64]
コンピュータ可読記憶デバイスを備える、人工ニューロンを動作させるためのコンピュータプログラム製品であって、前記コンピュータ可読記憶デバイスは、
前記人工ニューロンの第1の状態が第1の領域内にあると決定することと、
1次方程式の第1のセットに少なくとも部分的に基づいて前記人工ニューロンの第2の状態を決定することと、ここにおいて、前記1次方程式の第1のセットは、前記第1の領域に対応するパラメータの第1のセットに少なくとも部分的に基づく、
前記人工ニューロンの前記第2の状態が第2の領域内にあると決定することと、
1次方程式の第2のセットに少なくとも部分的に基づいて前記人工ニューロンの第3の状態を決定することと
を行うように実行可能な命令を有し、ここにおいて、前記1次方程式の第2のセットは、前記第2の領域に対応するパラメータの第2のセットに少なくとも部分的に基づく、
コンピュータプログラム製品。