[0025]添付の図面に関連して以下に示される詳細な説明は、様々な構成の説明として意図されたものであり、本明細書において説明される概念が実現され得る唯一の構成を表すことを意図されるものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で、具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしで実施され得ることは、当業者にとっては明らかであろう。いくつかの事例では、よく知られている構造および構成要素が、そのような概念を曖昧にするのを避けるために、ブロック図形式で示される。
[0026]本教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わされるにせよ、本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。開示する本開示のいずれの態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0027]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきであるとは限らない。
[0028]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
例示的なニューラルシステム、トレーニングおよび動作
[0029]図1は、本開示のいくつかの態様による、複数のレベルのニューロンをもつ例示的な人工ニューラルシステム100を示す。ニューラルシステム100は、シナプス結合のネットワーク104(すなわち、フィードフォワード結合)を介してニューロンの別のレベル106に結合されたニューロンのあるレベル102を有し得る。簡単のために、図1には2つのレベルのニューロンのみが示されているが、ニューラルシステムには、より少ないまたはより多くのレベルのニューロンが存在し得る。ニューロンのいくつかは、ラテラル結合を介して同じ層の他のニューロンに結合し得ることに留意されたい。さらに、ニューロンのいくつかは、フィードバック結合を介して前の層のニューロンに戻る形で結合し得る。
[0030]図1に示すように、レベル102における各ニューロンは、前のレベル(図1に図示せず)のニューロンによって生成され得る入力信号108を受信し得る。信号108は、レベル102のニューロンの入力電流を表し得る。この電流は、膜電位を充電するためにニューロン膜上に蓄積され得る。膜電位がそれのしきい値に達すると、ニューロンは、発火し、ニューロンの次のレベル(たとえば、レベル106)に転送されるべき出力スパイクを生成し得る。いくつかのモデリング手法では、ニューロンは、信号をニューロンの次のレベルに継続的に転送し得る。この信号は、典型的には膜電位の関数である。そのような挙動は、以下で説明するものなどのアナログおよびデジタル実装形態を含むハードウェアおよび/またはソフトウェアでエミュレートまたはシミュレートされ得る。
[0031]生物学的ニューロンでは、ニューロンが発火するときに生成される出力スパイクは、活動電位と呼ばれる。電気信号は、約100mVの振幅と約1msの持続時間とを有する比較的急速で、一時的な神経インパルスである。一連の結合されたニューロンを有するニューラルシステムの特定の実施形態(たとえば、図1におけるあるレベルのニューロンから別のレベルのニューロンへのスパイクの転送)では、あらゆる活動電位が基本的に同じ振幅と持続時間とを有するので、信号における情報は、振幅によってではなく、スパイクの周波数および数、またはスパイクの時間によってのみ表され得る。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、および他の1つまたは複数のスパイクに対するスパイクの時間によって決定され得る。以下で説明するように、スパイクの重要性は、ニューロン間の接続に適用される重みによって決定され得る。
[0032]図1に示されるように、ニューロンのあるレベルから別のレベルへのスパイクの移動は、シナプス結合(または、単純に「シナプス」)104のネットワークを介して達成され得る。シナプス104に関して、レベル102のニューロンはシナプス前ニューロンと考えられ得、レベル106のニューロンはシナプス後ニューロンと考えられ得る。シナプス104は、レベル102のニューロンから出力信号(すなわち、スパイク)を受信して、調整可能なシナプスの重み
に応じてそれらの信号をスケーリングすることができ、上式で、Pはレベル102のニューロンとレベル106のニューロンとの間のシナプス結合の総数であり、iはニューロンレベルの指標である。図1の例では、iはニューロンレベル102を表し、i+1は、ニューロンレベル106を表す。さらに、スケーリングされた信号は、レベル106における各ニューロンの入力信号として合成され得る。レベル106におけるあらゆるニューロンは、対応する合成された入力信号に基づいて、出力スパイク110を生成し得る。出力スパイク110は、シナプス結合の別のネットワーク(図1には図示せず)を使用して、別のレベルのニューロンに転送され得る。
[0033]生物学的シナプスは、シナプス後ニューロンにおける興奮性活動または抑制性(過分極化)活動のいずれかを調停することができ、ニューロン信号を増幅する役目を果たすことができる。興奮性信号は、膜電位を脱分極する(すなわち、静止電位に対して膜電位を増加させる)。しきい値を超えて膜電位を脱分極するために十分な興奮性信号が一定の時間期間内に受信された場合、シナプス後ニューロンに活動電位が生じる。対照的に、抑制性信号は一般に、膜電位を過分極する(すなわち、低下させる)。抑制性信号は、十分に強い場合、興奮性信号のすべてを相殺し、膜電位がしきい値に達するのを防止することができる。シナプス興奮を相殺することに加えて、シナプス抑制は、自然に活発なニューロンに対して強力な制御を行うことができる。自然に活発なニューロンは、たとえば、それのダイナミクスまたはフィードバックに起因するさらなる入力なしにスパイクするニューロンを指す。これらのニューロンにおける活動電位の自然な生成を抑圧することによって、シナプス抑制は、一般にスカルプチャリングと呼ばれる、ニューロンの発火のパターンを形成することができる。様々なシナプス104は、望まれる挙動に応じて、興奮性シナプスまたは抑制性シナプスの任意の組合せとして働き得る。
[0034]ニューラルシステム100は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス(PLD)、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、プロセッサによって実行されるソフトウェアモジュール、またはそれらの任意の組合せによってエミュレートされ得る。ニューラルシステム100は、たとえば画像およびパターン認識、機械学習、モータ制御、および似ているなど、かなりの適用範囲において利用され得る。ニューラルシステム100における各ニューロンは、ニューロン回路として実装され得る。出力スパイクを開始するしきい値まで充電されるニューロン膜は、たとえば、そこを通って流れる電流を積分するキャパシタとして実装され得る。
[0035]一態様では、キャパシタは、ニューロン回路の電流積分デバイスとして除去され得、その代わりにより小さいメモリスタ(memristor)要素が使用され得る。この手法は、ニューロン回路において、ならびにかさばるキャパシタが電流積分器として利用される様々な他の適用例において適用され得る。さらに、シナプス104の各々は、メモリスタ要素に基づいて実装され得、シナプス重みの変化は、メモリスタ抵抗の変化に関係し得る。ナノメートルの特徴サイズのメモリスタを用いると、ニューロン回路およびシナプスの面積が大幅に低減され得、それによって、大規模なニューラルシステムハードウェア実装形態の実装がより実用的になり得る。
[0036]ニューラルシステム100をエミュレートするニューラルプロセッサの機能は、ニューロン間の結合の強さを制御し得る、シナプス結合の重みに依存し得る。シナプス重みは、パワーダウン後にプロセッサの機能を維持するために、不揮発性メモリに記憶され得る。一態様では、シナプス重みメモリは、主たるニューラルプロセッサチップとは別個の外部チップ上に実装され得る。シナプス重みメモリは、交換可能メモリカードとしてニューラルプロセッサチップとは別個にパッケージ化され得る。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに記憶されたシナプス重みに基づき得る。
[0037]図2は、本開示のいくつかの態様による、計算ネットワーク(たとえば、ニューラルシステムまたはニューラルネットワーク)の処理ユニット(たとえば、ニューロンまたはニューロン回路)202の例示的な図200を示す。たとえば、ニューロン202は、図1のレベル102のニューロンおよび106のニューロンのうちのいずれかに対応し得る。ニューロン202は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号2041〜204Nを受信し得る。入力信号は、電流、コンダクタンス、電圧、実数値および/または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み2061〜206N(w1〜wN)に従って信号をスケーリングするシナプス結合を通してニューロン202に伝えられ得、Nはニューロン202の入力接続の総数であり得る。
[0038]ニューロン202は、スケーリングされた入力信号を合成し、合成された、スケーリングされた入力を使用して、出力信号208(すなわち、信号y)を生成し得る。出力信号208は、電流、コンダクタンス、電圧、実数値および/または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値であり得る。出力信号208は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン202への入力信号として、またはニューラルシステムの出力として伝達され得る。
[0039]処理ユニット(ニューロン)202は電気回路によってエミュレートされ得、それの入力接続および出力接続は、シナプス回路をもつ電気接続によってエミュレートされ得る。処理ユニット202ならびにそれの入力接続および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニット202はまた、電気回路によってエミュレートされ得るが、それの入力接続および出力接続はソフトウェアコードによってエミュレートされ得る。一態様では、計算ネットワーク中の処理ユニット202はアナログ電気回路であり得る。別の態様では、処理ユニット202はデジタル電気回路であり得る。さらに別の態様では、処理ユニット202は、アナログ構成要素とデジタル構成要素の両方をもつ混合信号電気回路であり得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを含み得る。そのような処理ユニットを使用した計算ネットワーク(ニューラルシステムまたはニューラルネットワーク)は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。
[0040]ニューラルネットワークをトレーニングする過程で、シナプス重み(たとえば、図1の重み
および/または図2の重み2061〜206N)がランダム値により初期化され得、学習ルールに従って増加または減少し得る。学習ルールの例は、これに限定されないが、スパイクタイミング依存可塑性(STDP)学習ルール、Hebb則、Oja則、Bienenstock−Copper−Munro(BCM)則等を含むことを当業者は理解するだろう。いくつかの態様では、重みは、2つの値のうちの1つに安定または収束し得る(すなわち、重みの双峰分布)。この効果が利用されて、シナプス重みごとのビット数を低減し、シナプス重みを記憶するメモリとの間の読取りおよび書込みの速度を上げ、シナプスメモリの電力および/またはプロセッサ消費量を低減し得る。
シナプスタイプ
[0041]ニューラルネットワークのハードウェアおよびソフトウェアモデルでは、シナプス関係機能の処理がシナプスタイプに基づき得る。シナプスタイプは、非塑性シナプス(non-plastic synapse)(重みおよび遅延の変化がない)、可塑性シナプス(重みが変化し得る)、構造遅延可塑性シナプス(重みおよび遅延が変化し得る)、完全可塑性シナプス(重み、遅延および結合性が変化し得る)、およびそれの変形(たとえば、遅延は変化し得るが、重みまたは結合性の変化はない)であり得る。複数のタイプの利点は、処理が再分割され得ることである。たとえば、非塑性シナプスは、可塑性機能を必要としないで実行される場合がある(またはそのような機能が完了するのを待つ)。同様に、遅延および重み可塑性は、一緒にまたは別々に、順にまたは並列に動作し得る動作に再分割され得る。異なるタイプのシナプスは、適用される異なる可塑性タイプの各々の異なるルックアップテーブルまたは式およびパラメータを有し得る。したがって、本方法は、シナプスのタイプについての関連する表、式、またはパラメータにアクセスする。
[0042]スパイクタイミング依存構造可塑性がシナプス可塑性とは無関係に実行され得るという事実のさらなる含意がある。構造可塑性は、重みの大きさに変化がない場合(たとえば、重みが最小値または最大値に達したか、あるいはそれが何らかの他の理由により変更されない場合)s構造可塑性(すなわち、遅延量の変化)は前後スパイク時間差(pre-post spike time difference)の直接関数であり得ても実行され得る。代替的に、構造可塑性は、重み変化量に応じて、または重みもしくは重み変化の限界に関係する条件に基づいて設定され得る。たとえば、重み変化が生じたとき、または重みが最大値になるのではなく、重みがゼロに達した場合のみ、シナプス遅延が変化し得る。しかしながら、これらのプロセスが並列化され、メモリアクセスの数および重複を低減し得るように、独立した機能を有することが有利であり得る。
シナプス可塑性の決定
[0043]神経可塑性(または単に「可塑性」)は、脳内のニューロンおよびニューラルネットワークがそれらのシナプス結合と挙動とを新しい情報、感覚上の刺激、発展、損傷または機能不全に応答して変える能力である。可塑性は、生物学における学習および記憶にとって、また計算論的神経科学およびニューラルネットワークにとって重要である。(たとえば、Hebb則理論による)シナプス可塑性、スパイクタイミング依存可塑性(STDP)、非シナプス可塑性、活性依存可塑性、構造可塑性および恒常的可塑性など、様々な形の可塑性が研究されている。
[0044]STDPは、ニューロン間のシナプス結合の強さを調整する学習プロセスである。結合強度は、特定のニューロンの出力スパイクおよび受信入力スパイク(すなわち、活動電位)の相対的タイミングに基づいて調整される。STDPプロセスの下で、あるニューロンに対する入力スパイクが、平均して、そのニューロンの出力スパイクの直前に生じる傾向がある場合、長期増強(LTP)が生じ得る。その場合、その特定の入力はいくらか強くなる。一方、入力スパイクが、平均して、出力スパイクの直後に生じる傾向がある場合、長期抑圧(LTD)が生じ得る。その場合、その特定の入力はいくらか弱くなるので、「スパイクタイミング依存可塑性」と呼ばれる。したがって、シナプス後ニューロンの興奮の原因であり得る入力は、将来的に寄与する可能性がさらに高くなる一方、シナプス後スパイクの原因ではない入力は、将来的に寄与する可能性が低くなる。結合の初期セットのサブセットが残る一方で、その他の部分の影響がわずかなレベルまで低減されるまで、このプロセスは続く。
[0045]ニューロンは一般に出力スパイクを、それの入力の多くが短い期間内に生じる(すなわち、出力をもたらすのに十分な累積がある)ときに生成するので、通常残っている入力のサブセットは、時間的に相関する傾向のあった入力を含む。さらに、出力スパイクの前に生じる入力は強化されるので、最も早い十分に累積的な相関指示を提供する入力は結局、ニューロンへの最終入力となる。
[0046]STDP学習ルールは、シナプス前ニューロンのスパイク時間tpreとシナプス後ニューロンのスパイク時間tpostとの間の時間差(すなわち、t=tpost−tpre)に応じて、シナプス前ニューロンをシナプス後ニューロンに結合するシナプスのシナプス重みを効果的に適合させ得る。STDPの通常の公式化は、時間差が正である(シナプス前ニューロンがシナプス後ニューロンの前に発火する)場合にシナプス重みを増加させ(すなわち、シナプスを増強し)、時間差が負である(シナプス後ニューロンがシナプス前ニューロンの前に発火する)場合にシナプス重みを減少させる(すなわち、シナプスを抑制する)ことである。
[0047]STDPプロセスでは、経時的なシナプス重みの変化は通常、以下の式によって与えられるように、指数関数的減衰を使用して達成され得る。
ここで、k+およびk-τsign(Δt)はそれぞれ、正の時間差および負の時間差の時定数であり、a+およびa-は対応するスケーリングの大きさであり、μは正の時間差および/または負の時間差に適用され得るオフセットである。
[0048]図3は、STDPによる、シナプス前スパイクおよびシナプス後スパイクの相対的タイミングに応じたシナプス重み変化の例示的な図300を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合、グラフ300の部分302に示すように、対応するシナプス重みは増加し得る。この重み増加は、シナプスのLTPと呼ばれ得る。グラフ部分302から、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差に応じて、LTPの量がほぼ指数関数的に減少し得ることが観測され得る。グラフ300の部分304に示すように、発火の逆の順序は、シナプス重みを減少させ、シナプスのLTDをもたらし得る。
[0049]図3のグラフ300に示すように、STDPグラフのLTP(原因)部分302に負のオフセットμが適用され得る。x軸の交差306のポイント(y=0)は、層i−1からの原因入力の相関を考慮して、最大タイムラグと一致するように構成され得る。フレームベースの入力(すなわち、スパイクまたはパルスを備える特定の持続時間のフレームの形態である入力)の場合、オフセット値μは、フレーム境界を反映するように計算され得る。直接的にシナプス後電位によってモデル化されるように、またはニューラル状態に対する影響の点で、フレームにおける第1の入力スパイク(パルス)が経時的に減衰することが考慮され得る。フレームにおける第2の入力スパイク(パルス)が特定の時間フレームの相関したまたは関連したものと考えられる場合、フレームの前および後の関連する時間は、その時間フレーム境界で分離され、関連する時間の値が異なり得る(たとえば、1つのフレームよりも大きい場合は負、1つのフレームよりも小さい場合は正)ように、STDP曲線の1つまたは複数の部分をオフセットすることによって、可塑性の点で別様に扱われ得る。たとえば、曲線が、フレーム時間よりも大きい前後の時間で実際にゼロよりも下になり、結果的にLTPの代わりにLTDの一部であるようにLTPをオフセットするために負のオフセットμが設定され得る。
ニューロンモデルおよび演算
[0050]有用なスパイキングニューロンモデルを設計するための一般的原理がいくつかある。良いニューロンモデルは、2つの計算レジーム、すなわち、一致検出および関数計算の点で豊かな潜在的挙動を有し得る。その上、良いニューロンモデルは、時間コーディングを可能にするための2つの要素を有する必要がある:入力の到着時間は出力時間に影響を与え、一致検出は狭い時間ウィンドウを有し得る。最終的に、計算上魅力的であるために、良いニューロンモデルは、連続時間に閉形式解と、ニアアトラクター(near attractor)と鞍点とを含む安定した挙動とを有し得る。言い換えれば、有用なニューロンモデルは、実用的なニューロンモデルであり、豊かで、現実的で、生物学的に一貫した挙動をモデル化するために使用され得、神経回路のエンジニアリングとリバースエンジニアリングの両方を行うために使用され得るニューロンモデルである。
[0051]ニューロンモデルは事象、たとえば入力の到着、出力スパイク、または内部的であるか外部的であるかを問わず他の事象に依存し得る。豊かな挙動レパートリーを実現するために、複雑な挙動を示すことができる状態機械が望まれ得る。入力寄与(ある場合)とは別個の事象の発生自体が状態機械に影響を与え、事象の後のダイナミクスを制限し得る場合、システムの将来の状態は、単なる状態および入力の関数ではなく、むしろ状態、事象および入力の関数である。
[0052]一態様では、ニューロンnは、下記のダイナミクスによって決定される膜電圧vn(t)によるスパイキングリーキー積分発火ニューロンとしてモデル化され得る。
ここでαおよびβは、パラメータであり、wm,nは、シナプス前ニューロンmをシナプス後ニューロンnに結合するシナプスのシナプス重みであり、ym(t)は、ニューロンnの細胞体に到着するまでΔtm,nに従って樹状遅延または軸索遅延によって遅延し得るニューロンmのスパイキング出力である。
[0053]シナプス後ニューロンへの十分な入力が達成された時間からシナプス後ニューロンが実際に発火する時間までの遅延があることに留意されたい。イジケヴィッチの単純モデルなど、動的スパイキングニューロンモデルでは、脱分極しきい値vtとピークスパイク電圧vpeakとの間に差がある場合、時間遅延が生じ得る。たとえば、単純モデルでは、電圧および復元のための1対の微分方程式、すなわち、
によってニューロン細胞体ダイナミクス(neuron soma dynamics)が決定され得る。ここでvは膜電位であり、uは、膜復元変数であり、kは、膜電位vの時間スケールを記述するパラメータであり、aは、復元変数uの時間スケールを記述するパラメータであり、bは、膜電位vのしきい値下変動に対する復元変数uの感度を記述するパラメータであり、vrは、膜静止電位であり、Iは、シナプス電流であり、Cは、膜のキャパシタンスである。このモデルによれば、ニューロンはv>vpeakのときにスパイクすると定義される。
Hunzinger Coldモデル
[0054]Hunzinger Coldニューロンモデルは、豊かな様々な神経挙動を再生し得る最小二重レジームスパイキング線形動的モデルである。モデルの1次元または2次元の線形ダイナミクスは2つのレジームを有することができ、時定数(および結合)はレジームに依存し得る。しきい値下レジームでは、時定数は、慣例により負であり、一般に生物学的に一貫した線形方式で静止状態に細胞を戻す役目を果たすリーキーチャネルダイナミクスを表す。しきい値上レジームにおける時定数は、慣例により正であり、一般にスパイク生成のレイテンシを生じさせる一方でスパイク状態に細胞を駆り立てる反リーキーチャネルダイナミクスを反映する。
[0055]図4に示すように、モデル400のダイナミクスは2つの(またはそれよりも多くの)レジームに分割され得る。これらのレジームは、負のレジーム(negative regime)402(leaky−integrate−and−fire(LIF)ニューロンモデルと混同されないように、交換可能にLIFレジームとも呼ばれる)、および正のレジーム(positive regime)404(anti−leaky−integrate−and−fire(ALIF)ニューロンモデルと混同されないように、交換可能にALIFレジームとも呼ばれる)と呼ばれ得る。負レジーム402では、状態は将来の事象の時点における静止(v-)の傾向がある。この負レジームでは、モデルは一般に、時間的入力検出特性と他のしきい値下挙動とを示す。正レジーム404では、状態はスパイキング事象(vs)の傾向がある。この正レジームでは、モデルは、後続の入力事象に応じてスパイクにレイテンシを生じさせるなどの計算特性を示す。事象の点からのダイナミクスの公式化およびこれら2つのレジームへのダイナミクスの分離は、モデルの基本的特性である。
[0056]線形二重レジーム2次元ダイナミクス(状態vおよびuの場合)は、慣例により次のように定義され得る。
ここでqρおよびrは、結合のための線形変換変数である。
[0057]シンボルρは、ダイナミクスレジームを示すためにここで使用され、特定のレジームの関係を論述または表現するときに、それぞれ負レジームおよび正レジームについて符号「−」または「+」にシンボルρを置き換える慣例がある。
[0058]モデル状態は、膜電位(電圧)vおよび復元電流uによって定義される。基本形態では、レジームは基本的にモデル状態によって決定される。正確で一般的な定義の微妙だが重要な側面があるが、差し当たり、モデルが、電圧vがしきい値(v+)を上回る場合に正レジーム404にあり、そうでない場合に負レジーム402にあると考える。
[0059]レジーム依存時定数は、負レジーム時定数であるτ-と正レジーム時定数であるτ+とを含む。復元電流時定数τuは通常、レジームから独立している。便宜上、τuと同様に、指数およびτ+が一般に正となる正レジームの場合に、電圧発展(voltage evolution)に関する同じ表現が使用され得るように、減衰を反映するために負の量として負レジーム時定数τ-が一般に指定される。
[0060]2つの状態要素のダイナミクスは、事象において、ヌルクラインから状態をオフセットする変換によって結合され得、ここで変換変数は、
であり、δ、ε、βおよびv-、v+はパラメータである。vρのための2つの値は、2つのレジームのための参照電圧のベースである。パラメータv-は、負レジームのためのベース電圧であり、膜電位は一般に、負レジームにおいてv-に減衰する。パラメータv+は、正レジームのためのベース電圧であり、膜電位は一般に、正レジームにおいてv+から離れる傾向となる。
[0061]vおよびuのためのヌルクラインは、それぞれ変換変数qρおよびrの負によって与えられる。パラメータδは,uヌルクラインの傾きを制御するスケール係数である。パラメータεは通常、−v-に等しく設定される。パラメータβは、両方のレジームにおいてvヌルクラインの傾きを制御する抵抗値である。τρ時定数パラメータは、指数関数的減衰だけでなく、各レジームにおいて別個にヌルクラインの傾きを制御する。
[0062]モデルは、電圧vが値vsに達したときにスパイクするように定義され得る。続いて、状態は(スパイク事象と同じ1つのものであり得る)リセット事象でリセットされ得る。
ここで、
およびΔuはパラメータである。リセット電圧
は通常、v-にセットされる。
[0063]瞬時結合(momentary coupling)の原理によって、状態について(また、単一の指数項による)だけではなく、特定の状態に到達するために必要とされる時間についても、閉形式解が可能である。近い形式状態解は、次のとおりである。
[0064]したがって、モデル状態は、入力(シナプス前スパイク)または出力(シナプス後スパイク)などの事象に伴ってのみ更新され得る。また、演算が(入力があるか、出力があるかを問わず)任意の特定の時間に実行され得る。
[0065]その上、瞬時結合原理によって、反復的技法または数値解法(たとえば、オイラー数値解法)なしに、特定の状態に到達する時間が事前に決定され得るように、シナプス後スパイクの時間が予想され得る。前の電圧状態v0を踏まえ、電圧状態vfに到達するまでの時間遅延は、次の式によって与えられる。
[0066]スパイクが、電圧状態vがvsに到達する時間に生じると定義される場合、電圧が所与の状態vにある時間から測定されたスパイクが生じるまでの時間量、または相対的遅延に関する閉形式解は、次のとおりである。
ここで、
は通常、パラメータv+にセットされるが、他の変形も可能であり得る。
[0067]モデルダイナミクスの上記の定義は、モデルが正レジームにあるか、それとも負レジームにあるかに依存する。上述のように、結合およびレジームρは、事象に伴って計算され得る。状態の伝搬のために、レジームおよび結合(変換)変数は、最後の(前の)事象の時間における状態に基づいて定義され得る。続いてスパイク出力時間を予想するために、レジームおよび結合変数は、次の(最新の)事象の時間における状態に基づいて定義され得る。
[0068]Coldモデルの、適時にシミュレーション、エミュレーションまたはモデルを実行するいくつかの可能な実装形態がある。これは、たとえば、事象更新モード、ステップ事象更新モード、およびステップ更新モードを含む。事象更新は、(特定の瞬間における)事象または「事象更新」に基づいて状態が更新される更新である。ステップ更新は、間隔(たとえば、1ms)をおいてモデルが更新される更新である。これは必ずしも、反復的技法または数値解法を必要とするとは限らない。また、事象がステップもしくはステップ間で生じる場合または「ステップ事象」更新によってモデルを更新するのみによって、ステップベースのシミュレータにおいて限られた時間分解能で事象ベースの実装形態が可能である。
座標変換のための位相コーディング
[0069]環境内のターゲットを選択するために、ロボットまたは自律デバイスなどのオブジェクトが指定され得る。オブジェクトのために指定されたターゲットの位置は、ユーザの位置に基づくビューなどの世界観に基づき得る。依然として、性能を向上させるためには、オブジェクトの位置に相対するようにターゲットの座標を変換することが望ましい。
[0070]座標変換は、第1の基準座標系に相対する空間の表現を、第2の基準座標系に相対する実質的に類似の表現に変換することを指す場合がある。たとえば、ロボットなどのオブジェクトは、部屋の北西の隅に相対するターゲットの座標のセットを与えられ得る。この例では、ターゲットの座標は、世界中心基準座標系(すなわち、他者中心座標表現)に基づく。依然として、そのターゲットに向かって移動を計画するロボットのために、他者中心座標をロボットの現在位置および方向に相対する表現(すなわち、自己中心基準座標系)に変換することが望ましい。
[0071]具体的には、そのターゲットに向かって移動を計画するロボットのために、他者中心座標は自己中心座標に変換されるべきである。ターゲットの自己中心座標はロボットが部屋の中を移動するにつれて変化するであろうが、依然として、他者中心座標はロボットが部屋の中を移動しても同じままであろう。マップの中心などのロボットの固定位置に基づいて、自己中心座標を維持することが望ましい。
[0072]本開示の態様は、ニューロンのスパイキング位相を調整することに基づいて、他者中心座標を自己中心座標に変換することを対象とする。神経科学では、座標変換はスパイキングネットワーク内のゲインフィールドによって実行される。ゲインフィールドは、実装された表現とは異なる空間の表現を指定する。さらに、ゲインフィールドは、複数のシナプス入力間の相乗交互作用を提供する。
[0073]図5A〜図5Bは、他者中心座標の自己中心座標への変換の例を示す。図5A〜図5Bのマップは、ロボットなどのターゲットとオブジェクトとを含む空間の2次元(2D)表現に基づく。すなわち、他者中心空間と自己中心空間の両方が、セルの2Dグリッドによって表され得る。各セルは実空間における位置を表し、セルのスパイキング活動などの活動は、ターゲットの存在または非存在などの、その位置に関する属性を表し得る。
[0074]一構成では、他者中心表現の自己中心表現への変換は、2Dグリッド内に表されるターゲットを他者中心表現から自己中心表現にマッピングすることによって実行される。ロボットは、自己中心表現のためのマップの中心に置かれ得る。変換は、他者中心座標におけるオブジェクトの現在の位置を使用する。オブジェクトの現在の位置は、場所セルのグリッドによって表される。唯一のオブジェクトの場所セルマップが指定され得る。すなわち、セルのグリッドを備える場所セルマップが指定され得、オブジェクトの位置がセルの活動に基づいて指定され得る。
[0075]図5Aは、オブジェクト504およびターゲット506、508、510の他者中心マップ500を示す。他者中心マップ500は、場所セル502のグリッドによって表される。図5Aに示されるように、オブジェクト504の位置はマップ500の中心にはない。すなわち、オブジェクト504およびターゲット506、508、510の座標は、世界中心基準座標系に基づく。一構成では、図5Aに示される他者中心マップ500は、図5Bに示される自己中心マップ512に変換され得る。具体的には、図5Bに示されるように、オブジェクト504の位置はマップ512の中心にある。すなわち、他者中心マップ500(図5A)とは対照的に、自己中心マップ512(図5B)におけるオブジェクト504およびターゲット506、508、510の座標は、オブジェクトの位置からの基準座標系に基づく。
[0076]前述のように、他者中心マップ500は、セルの2次元グリッドで表され得る。ある位置でのターゲットの存在は、セルのスパイキング間隔によって示され得る。一構成では、ターゲットセルのマップは、スパイキング位相を用いて位置を表す位相コード化表現に変換される。すなわち、ターゲットセルのマップは、グリッド表現および/または位相コード化表現によって表され得る。
[0077]図6は、本開示のある態様による、各ターゲットセルのスパイキング位相を示す。具体的には、図6に示されるように、各ターゲットセルは、特定の周期でスパイクし得る。したがって、各セルは定期的なスパイキングパターンを有し得るので、セルのスパイキングレートの位相は相互に比較され得る。一例では、第1のターゲットセル602は50msごとに1回スパイクする。具体的には、この例では、第1のターゲットセルは0、50、100、150等の時間にスパイクする。さらに、第1のターゲットセルのスパイキング位相は、他のターゲットセル604、606のスパイキング位相とは異なる。すなわち、図6に示されるように、各セルは、50msごとに1回などの同じ頻度でスパイクし得るが、依然として、セルは異なる位相(すなわち、時間)でスパイクし得る。
[0078]したがって、2Dグリッド内でターゲットを空間的に表すことに加えて、ターゲットは位相としても表され得る。さらに、位相のオフセットは、グリッド内のターゲットセルの位置を表し得る。すなわち、一構成では、各ターゲットセルは、グリッド内のターゲットセルの位置を表す特定の位相(0・・・n)に関連付けられる。本構成では、第1のターゲット602はセルのグリッド内の第1の位置にあり、ゼロの位相を有する。さらに、第2のターゲット604は14番目の位置にあり、13の位相を有する。最後に、第3のターゲット606は22番目の位置にあり、21の位相を有する。
[0079]グリッド内のセルの物理的位置は、一般に固定されているものとして受け入れられるが、アクティブセルのスパイキングの位相は他のシナプス入力によって変更され得る。一構成では、場所セル入力は、所望の出力位置の位相を模倣するために、位相コード化表現におけるアクティブセルの位相を変更し得る。本構成では、場所セル入力は、アクティブ場所セルがあれば位相コード化表現におけるセルの位相が適切にシフトされるように、位相コード化セルに配線され得る。位相は、興奮性接続を介してフォワードシフトされ得る(すなわち、位相を減少させる)。さらに、位相は抑制性接続を介して遅延され得る(すなわち、位相を増加させる)。
[0080]図7は、本開示のある態様による、セルのスパイキング位相を調整することの例を示す。図7に示されるように、x軸は時間を表し、y軸は膜電位を表す。一構成では、図7に示されるように、時間T0で、セルは静止電位である。時間T1で、セルは応答をトリガする入力を受信する。通常、電位は、反リーキー積分発火(ALIF)しきい値702を上回らない場合、静止電位まで減衰して戻る。あるいは、電位が反リーキー積分発火しきい値702を上回る場合、電位はスパイクしきい値704に上向きに減衰する。電位がスパイキングしきい値を上回る場合、電位はスパイクと見なされる。
[0081]したがって、膜電位がALIFしきい値を上回る場合は上向き減衰を有するので、上向き減衰はフォワードシフトされてもよく、遅延されてもよい。すなわち、一構成では、膜電位がスパイキングしきい値に近くなるように増加されるように、時刻T1で受信された入力に興奮性入力が適用され得る。図7に示されるように、興奮性入力は、膜電位が時間T2でスパイクし得るように入力され得る。代替で、スパイキングが遅延されるように、時間T1で受信された入力に抑制性入力が適用され得る。たとえば、図7に示されるように、時間T3または時間T4でスパイクするために、膜電位が遅延され得る。したがって、セルのスパイクタイミングは、セルに適用された興奮性入力または抑制性入力に基づいて調整され得る。抑制性入力および興奮性入力は、所望のように電位のスパイキングを変更するために、上向き減衰の間の異なる時間で提供され得る。
[0082]図8A〜図8Dは、本開示のある態様による、他者中心マップを自己中心マップに変換するために、ターゲットセルの位相コードを調整することの例を示す。
[0083]図8Aは、オブジェクト804およびターゲット806、808、810を有する場所セル802のグリッド800を示す。図8Aのグリッド800は他者中心マップに基づくので、オブジェクト804の位置はグリッド800の中心にはない。具体的には、オブジェクト804およびターゲット806、808、810の座標は、世界中心基準座標系に基づく。一構成では、グリッド800は自己中心マップに変換され得る。
[0084]本構成では、グリッド800のターゲット806、808、810のスパイキング位相は、変換の前に決定される。すなわち、位相コード化他者中心マップは、ターゲットセルのスパイキング位相に基づいて生成される。図8Bに示されるように、第1のターゲット806はゼロのスパイキング位相を有し、第2のターゲット808は13のスパイキング位相を有し、第3のターゲット810は21のスパイキング位相を有する。この例では、ターゲット806、808、810のスパイキング位相は、セルのグリッド内の位置(0・・・n)に相対する。すなわち、第1のターゲット806はセルのグリッド内の第1の位置にあり、ゼロの位相を有する。さらに、第2のターゲット808は14番目の位置にあり、13の位相を有する。最後に、第3のターゲット810は22番目の位置にあり、21の位相を有する。図8Bは、各セルのスパイキング位相を決定するネットワークを示すが、別の構成では、ネットワークはターゲットセルのスパイキング位相だけを決定する。
[0085]図8Bの位相コード化他者中心マップなどの、位相コード化他者中心マップを生成するために、各ターゲットのスパイキング位相を決定した後、オブジェクトの位置に相対してスパイキング位相が調整されるように、各ターゲットのスパイキング位相が乱される。すなわち、ターゲットが自己中心マップに基づくように、各ターゲットのスパイキング位相が調整される。各ターゲットセルのスパイキング位相は興奮性入力または抑制性入力を介して調整され得る。システムまたはユーザは、オブジェクトの位置の場所セルマップに基づいて、オブジェクトとグリッドの中心との間の距離を認識し得る点に留意されたい。それでも、本適用の態様はオブジェクトの位置の場所セルマップに基づいてオブジェクトの位置を決定することに限定されるものではなく、オブジェクトの位置を決定するための他の態様も企図される。
[0086]前述のように、自己中心表現は、オブジェクト804が、グリッド800の中央に配置されると指定する。したがって、図8Cに示される例では、オブジェクト804は、グリッドの中心から離れた1つのセルである。したがって、グリッド800を自己中心マップに変換するために、変更された位相コード化マップが生成される。変更された位相コード化他者中心マップは、オブジェクトと中心との間の距離を補償するために、各ターゲットのスパイキング位相を調整する。図8Cのマップは、依然として、オブジェクトが中心にはないので、依然として他者中心マップであるが、図8Cに示されるように、各ターゲット806、808、810のスパイキング位相は、オブジェクト804がマップの中心にあった場合、隣接するセルのスパイキング位相を表すために調整される。すなわち、第1のターゲット806のスパイキング位相がゼロから1に調整され、第2のターゲット808のスパイキング位相が13から14に調整され、第3のターゲット810のスパイキング位相が21から22に調整される。
[0087]本構成では、変更された位相コード化他者中心マップに基づいて、自己中心マップが生成され得る。具体的には、ターゲットセルの調整された位相が、自己中心マップを生成するために回復される。図8Dに示されるように、グリッド800は、グリッド800の中心にオブジェクト804がある自己中心マップである。図8Dの自己中心マップは、変更された位相コード化他者中心マップからのターゲットの調整された位相に基づく。
[0088]一構成では、位相コード化セルは、位相コード化セルが場所セル入力によって変更された後に、新しい位置表現を取得するように指定される。本構成では、変換された位置を回復するために、セルの第2のグリッドが指定される。セルの第2のグリッドは、特定の位置でスパイキング入力の特定の位相のために調整される。第2のグリッドの時間的に調整されたセルは、ネットワークで使用されるすべての位相(すなわち、位相セル)でスパイキングするセルのセットを生成することによって作成される。さらに、位相セルは、位相コード化セルの出力と組み合わされる。位相コード化セルのすべてが出力セルのすべてに接続される。出力セルは、位相コード化セルからの入力と、出力セルの特定の位相セルとの間にスパイク一致がある場合にのみスパイクする。
[0089]別の構成では、セルの行列内の特定の位置は、ターゲットセル入力から、そのマップのすべての可能なシフトに配線され得る。場所セル入力は、抑制を介して、変換を実行するために指定されたシフトされたマップを選択する。
[0090]さらに別の構成では、変換はスタックされ得る。すなわち、位相が相対量であるため、他者中心マップは、T0マップに変換され得る。さらにT0マップは、T0マップからの相対オフセットとしてT1マップに変換され得る。変換のスタッキングは2つのマップに限定されず、本開示の態様はまた、1からn個のマップのためにも企図される。一構成では、T0〜Tnのマップは自己中心マップである。
[0091]図9は、本開示のある態様による、他者中心マップ900から位相コード化他者中心マップ902への接続パターンを示す。具体的には、図9に示されるように、他者中心マップ900は位相コード化他者中心マップ902への1対1接続を有する。位相コード化他者中心マップ902の各セルは、重みと位相とを含む。例として、位相コード化他者中心マップ902の第1のセル904は、ゼロの位相と1の重みとを有する。
[0092]重みは、位相コード化マップの位相がソースセルの位置を表すように指定される。すなわち、ゼロは第1のセル904の位相であり、8は最後のセルの位相である。さらに、場所セルマップ906は、位相コード化他者中心マップ902への全対全接続(図示せず)を有する。全対全接続の接続は、セルの位相が、アクティブ場所セルをマップの中心に置く特徴的な方法でシフトされるように指定される。アクティブ場所セルは、世界座標系におけるロボットなどのオブジェクトの位置である。図9に示されるように、場所セルの重みは、セルの位相がシフトされるように調整される。たとえば、図9に示されるように、場所セルマップ906の第1のセル908の重みが−0.4に調整される。
[0093]図10は、本開示のいくつかの態様による、汎用プロセッサ1002を用いる上述の位相コーディング変換の例示的な実装形態1000を示す。計算ネットワーク(ニューラルネットワーク)、遅延、および周波数ビン情報に関連付けられる、変数(ニューラル信号)、シナプス重み、システムパラメータは、メモリブロック1004に記憶され得、汎用プロセッサ1002で実行される命令はプログラムメモリ1006からロードされ得る。本開示のある態様では、汎用プロセッサ1002にロードされた命令は、ターゲットセルの位相コーディングを調整するためのコードを備え得る。
[0094]図11は、本開示のいくつかの態様による、メモリ1102が相互接続ネットワーク1104を介して計算ネットワーク(ニューラルネットワーク)の個々の(分散型)処理ユニット(ニューラルプロセッサ)1106とインターフェースされ得る、上述の位相コーディング変換の例示的な実装形態1100を示している。計算ネットワーク(ニューラルネットワーク)遅延、周波数ビン情報、およびスパイキング位相に関連付けられる、変数(ニューラル信号)、シナプス重み、システムパラメータはメモリ1102に記憶され得、相互接続ネットワーク1104の接続を介してメモリ1102から各処理ユニット(ニューラルプロセッサ)1106にロードされ得る。本開示のある態様では、処理ユニット1106は、ターゲットセルの位相コーディングを調整するように構成され得る。
[0095]図12は、上述の位相コーディング変換の例示的な実装形態1200を示している。図12に示されるように、1つのメモリバンク1202は、計算ネットワーク(ニューラルネットワーク)の1つの処理ユニット1204に直接インターフェースされ得る。各メモリバンク1202は、対応する処理ユニット(ニューラルプロセッサ)1204遅延、周波数ビン情報、およびスパイキング位相に関連付けられる、変数(ニューラル信号)、シナプス重み、および/またはシナプスパラメータを記憶し得る。本開示のある態様では、処理ユニット1204は、ターゲットセルの位相コーディングを調整するように構成され得る。
[0096]図13は、本開示のいくつかの態様による、ニューラルネットワーク1300の例示的な実装形態を示す。図8に示すように、ニューラルネットワーク1300は、上記で説明した方法の様々な動作を実行し得る複数のローカル処理ユニット1302を有することができる。各ローカル処理ユニット1302は、ニューラルネットワークのパラメータを記憶する、ローカルステートメモリ1304およびローカルパラメータメモリ1306を備え得る。また、ローカル処理ユニット1302は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP)メモリ1308、ローカル学習プログラムを記憶するためのローカル学習プログラム(LLP)メモリ1310、およびローカル接続メモリ1313を有し得る。さらに、図8に示されるように、各ローカル処理ユニット1302は、ローカル処理ユニットのローカルメモリの構成を提供するための構成処理ユニット1314と、またローカル処理ユニット1302間のルーティングを提供するルーティング接続処理ユニット1316とインターフェースされ得る。
[0097]一構成では、ニューロモデルは、原型ニューロンダイナミクスを取得する、および/またはニューロンモデルのパラメータを変更するために構成される。ニューロモデルは、符号化手段とシフト手段とを含む。一態様では、符号化手段、および/またはシフト手段は、記載される機能を実行するように構成された、汎用プロセッサ1002、プログラムメモリ1006、メモリブロック1004、メモリ1102、相互接続ネットワーク1104、処理ユニット1106、処理ユニット1204、ローカル処理ユニット1302、およびまたはルーティング接続処理ユニット1316であり得る。別の構成では、上述の手段は、上記の手段によって記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
[0098]本開示のいくつかの態様によれば、各ローカル処理ユニット1302は、ニューラルネットワークの所望の1つまたは複数の機能的特徴に基づいて、ニューラルネットワークのパラメータを決定して、決定されたパラメータがさらに適応され、同調され、更新されるにつれて、所望の機能的特徴に向けて1つまたは複数の機能的特徴を開発するように構成され得る。
[0099]図14は、座標変換のための位相コーディングの方法1400を示す。ブロック1402で、ニューロンモデルは、スパイキングニューラルネットワーク内で第1の位置表現を位相情報として符号化する。さらに、ブロック1404で、ニューロンモデルは、第1の位置表現を第2の位置表現に変更するために、位相情報をシフトする。
[00100]上述した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
[00101]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。さらに、「決定」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ中のデータにアクセスすること)などを含み得る。さらに、「決定」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
[00102]本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cを包含するものとする。
[00103]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[00104]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形式の記憶媒体で存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリ、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどを含む。ソフトウェアモジュールは、単一の命令、または多数の命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラム間で、複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体化され得る。
[00105]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく変更され得る。
[00106]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスとブリッジとを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路などの様々な他の回路にリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上は説明されない。
[00107]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行し得る他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、一例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラム可能読出し専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の任意の適切な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
[00108]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加で、機械可読媒体またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。論じた様々な構成要素は、ローカル構成要素などの特定の位置を有するものとして説明され得るが、それらはまた、分散コンピューティングシステムの一部として構成されているいくつかの構成要素などの様々な方法で構成され得る。
[00109]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとをもつ汎用処理システムとして構成され得る。あるいは、処理システムは、本明細書に記載のニューロンモデルとニューラルシステムのモデルとを実装するための1つまたは複数のニューロモルフィックプロセッサを備え得る。別の代替として、処理システムは、プロセッサを有する特定用途向け集積回路(ASIC)と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部とを用いて、あるいは1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、または他の任意の適切な回路、あるいは本開示全体を通じて説明した様々な機能を実行し得る回路の任意の組合せを用いて実装され得る。当業者なら、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明した機能を最も良く実装し得るかを理解されよう。
[00110]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
[00111]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体を適切に名づけられる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[00112]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために1つまたは複数のプロセッサによって実行可能である命令を記憶した(および/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
[00113]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードされ、および/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実施するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、ユーザ端末および/または基地局が記憶手段をデバイスに結合または提供すると様々な方法を得ることができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)によって提供され得る。その上、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
[00114]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
[00114]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
スパイキングニューラルネットワーク内での座標変換のための方法であって、
前記スパイキングニューラルネットワーク内で第1の位置表現を位相情報として符号化することと、
前記第1の位置表現を第2の位置表現に変更するために、前記位相情報をシフトすることと
を備える、方法。
[C2]
前記第2の位置表現が自己中心表現である、C1に記載の方法。
[C3]
前記第1の位置表現が他者中心表現である、C1に記載の方法。
[C4]
前記第2の位置表現が指定された点に集中している、C1に記載の方法。
[C5]
前記符号化することが、複数の座標を単一の位相のセットに線形化することを備える、C1に記載の方法。
[C6]
前記座標が極座標を備える、C5に記載の方法。
[C7]
前記符号化することが、第1の座標を第1の位相のセットとして符号化して、第2の座標を第2の位相のセットとして符号化することを備える、C1に記載の方法。
[C8]
前記位相シフトすることが、スパイク入力の間に、所望の位相シフトに相当する量だけニューロンを興奮させることまたは抑制することを備える、C1に記載の方法。
[C9]
前記第2の位置表現を第3の位置表現に変更するために、前記シフトされた位相情報をシフトすることをさらに備える、C1に記載の方法。
[C10]
スパイキングニューラルネットワーク内での座標変換のための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサが、
前記スパイキングニューラルネットワーク内で第1の位置表現を位相情報として符号化し、
前記第1の位置表現を第2の位置表現に変更するために、前記位相情報をシフトするように構成される、装置。
[C11]
前記第2の位置表現が自己中心表現である、C10に記載の装置。
[C12]
前記第1の位置表現が他者中心表現である、C10に記載の装置。
[C13]
前記第2の位置表現が指定された点に集中している、C10に記載の装置。
[C14]
前記少なくとも1つのプロセッサが、複数の座標を単一の位相のセットに線形化することによって符号化するようにさらに構成される、C10に記載の装置。
[C15]
前記座標が極座標を備える、C14に記載の装置。
[C16]
前記少なくとも1つのプロセッサが、第1の座標を第1の位相のセットとして符号化して、第2の座標を第2の位相のセットとして符号化することによって、符号化するようにさらに構成される、C10に記載の装置。
[C17]
前記少なくとも1つのプロセッサが、スパイク入力の間に、所望の位相シフトに相当する量だけニューロンを興奮させることまたは抑制することによって位相シフトするようにさらに構成される、C10に記載の装置。
[C18]
前記少なくとも1つのプロセッサが、前記第2の位置表現を第3の位置表現に変更するために、前記シフトされた位相情報をシフトするようにさらに構成される、C10に記載の装置。
[C19]
スパイキングニューラルネットワーク内での座標変換のための装置であって、
前記スパイキングニューラルネットワーク内で第1の位置表現を位相情報として符号化するための手段と、
前記第1の位置表現を第2の位置表現に変更するために、前記位相情報をシフトするための手段と
を備える、装置。
[C20]
ワイヤレス通信のためのコンピュータプログラム製品であって、
プログラムコードを記録した非一時的コンピュータ可読媒体を備え、前記プログラムコードが、
前記スパイキングニューラルネットワーク内で第1の位置表現を位相情報として符号化するためのプログラムコードと、
前記第1の位置表現を第2の位置表現に変更するために、前記位相情報をシフトするためのプログラムコードと
を備える、コンピュータプログラム製品。