(57)【特許請求の範囲】
【請求項１】
ニューラル電気回路であって、
複数のニューロン回路およびシナプスと、ここにおいて、前記シナプスの各々は、１ペアの前記ニューロン回路を接続する；
前記シナプスの重みを格納する第１のメモリと、同じ重みを格納する第２のメモリと、前記シナプスの各々についての１つのエレメントを備える第３のメモリと；
を備え、
前記ニューロン回路のペアがスパイクする場合には、前記ニューロン回路のペアを接続するシナプスの重みが前記第２のメモリにおいて更新され、そのシナプスに関連づけられた前記第３のメモリのエレメントは、第１論理状態から第２の論理状態へと切り替えられ、
前記第２の論理状態にあった前記第３のメモリのエレメントすべては、ある確率で前記第１の論理状態へと定義された周波数において切り替わり、
報酬が生じるとき、前記エレメントが前記第２の論理状態にある場合には、シナプスの前記更新された重みは、前記第２のメモリから前記第１のメモリへとコピーされ、
前記エレメントが前記第１の論理状態にある場合には、シナプスの前記重みは、前記第１のメモリから前記第２のメモリへとコピーされて、前記更新された重みを上書きする、ニューラル電気回路。
【請求項２】
しきい値パルスは、前記第３のメモリの前記エレメントに前記確率で前記第２の論理状態から前記第１の論理状態へと切り替えさせる前記定義された周波数において適用される、請求項１に記載の電気回路。
【請求項３】
前記第２の論理状態にあった前記第３のメモリの前記エレメントすべては、前記定義された周波数において読み出され、ランダムなビットシーケンスで論理積がとられる、請求項１に記載の電気回路。
【請求項４】
前記第３のメモリは、スピントルク移送ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ）を備える、請求項１に記載の電気回路。
【請求項５】
前記第３のメモリは、動的ランダムアクセスメモリ（ＤＲＡＭ）を備える、請求項１に記載の電気回路。
【請求項６】
前記定義された周波数は１Ｈｚと等しく、前記確率は、１／２と等しい、請求項１に記載の電気回路。
【請求項７】
前記第３のメモリの前記エレメントの各々は、情報の１ビットを格納するための１つのＮ型金属酸化膜半導体（ＮＭＯＳ）トランジスタを備える、請求項１に記載の電気回路。
【請求項８】
前記第１の論理状態は、論理「０」状態を備え、前記第２の論理状態は、論理「１」状態を備える、請求項１に記載の電気回路。
【請求項９】
複数のニューロン回路とシナプスを伴うニューラルシステムを実装するための方法であって、前記シナプスの各々は１ペアの前記ニューロン回路を接続し、
前記ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、前記シナプスの重みを格納することと、なお、前記ニューラルシステムの第３のメモリは前記シナプスの各々についての１つのエレメントを備える；
前記ニューロン回路のペアがスパイクする場合には、前記ニューロン回路のペアを接続するシナプスの重みを前記第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた前記第３のメモリのエレメントを切り替えることと；
ある確率で、前記第１の論理状態に、前記第２の論理状態にあった前記第３のメモリのエレメントすべてを、定義された周波数において、切り替えることと；
報酬が生じるとき、前記エレメントが前記第２の論理状態にある場合には、前記第２のメモリから前記第１のメモリへとシナプスの前記更新された重みをコピーすることと；
前記エレメントが前記第１の論理状態にある場合には、前記第１のメモリから前記第２のメモリへとシナプスの前記重みをコピーして、前記更新された重みを上書きすることと；
を備える方法。
【請求項１０】
前記エレメントに前記確率で前記第２の論理状態から前記第１の論理状態へと切り替えさせる前記ニューラルシステムにしきい値パルスを前記定義された周波数において適用すること、をさらに備える請求項９に記載の方法。
【請求項１１】
前記第２の論理状態にあった前記第３のメモリの前記エレメントすべてを定義された前記周波数において読み取ることと、
前記読み取られたエレメントとランダムなビットシーケンスとの間で論理オペレーションを実行することと、
をさらに備える請求項９に記載の方法。
【請求項１２】
前記第３のメモリは、スピントルク移送ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ）を備える、請求項９に記載の方法。
【請求項１３】
前記第３のメモリは、動的ランダムアクセスメモリ（ＤＲＡＭ）を備える、請求項９に記載の方法。
【請求項１４】
前記定義された周波数は１Ｈｚと等しく、前記確率は１／２と等しい、請求項９に記載の方法。
【請求項１５】
前記第３のメモリの前記エレメントの各々は、情報の１ビットを格納するための１つのＮ型金属酸化膜半導体（ＮＭＯＳ）トランジスタを備える、請求項９に記載の方法。
【請求項１６】
前記第１の論理状態は、論理「０」状態を備え、前記第２の論理状態は、論理「１」状態を備える、請求項９に記載の方法。
【請求項１７】
複数のニューロン回路とシナプスを伴うニューラルシステムを実装するための装置であって、前記シナプスの各々は１ペアの前記ニューロン回路を接続し、
前記ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、前記シナプスの重みを格納するための手段と、なお、前記ニューラルシステムの第３のメモリは前記シナプスの各々についての１つのエレメントを備える；
前記ニューロン回路のペアがスパイクする場合には、前記ニューロン回路のペアを接続するシナプスの重みを前記第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた前記第３のメモリのエレメントを切り替えるための手段と；
ある確率で、前記第１の論理状態に、前記第２の論理状態にあった前記第３のメモリのエレメントすべてを、定義された周波数において、切り替えるための手段と；
報酬が生じるとき、前記エレメントが前記第２の論理状態にある場合には、前記第２のメモリから前記第１のメモリへとシナプスの前記更新された重みをコピーするための手段と；
前記エレメントが前記第１の論理状態にある場合には、前記第１のメモリから前記第２のメモリへとシナプスの前記重みをコピーして、前記更新された重みを上書きするための手段と；
を備える装置。
【請求項１８】
前記エレメントに前記確率で前記第２の論理状態から前記第１の論理状態へと切り替えさせるニューラルシステムにしきい値パルスを、前記定義された周波数において、適用するための手段、をさらに備える請求項１７に記載の装置。
【請求項１９】
前記第２の論理状態にあった前記第３のメモリの前記エレメントすべてを、前記定義された周波数において、読み取るための手段と、
前記読み取られたエレメントとランダムなビットシーケンスとの間で論理オペレーションを実行するための手段と、
をさらに備える請求項１７に記載の装置。
【請求項２０】
前記第３のメモリは、スピントルク移送ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ）を備える、請求項１７に記載の装置。
【請求項２１】
前記第３のメモリは、動的ランダムアクセスメモリ（ＤＲＡＭ）を備える、請求項１７に記載の装置。
【請求項２２】
前記定義された周波数は１Ｈｚと等しく、前記確率は１／２と等しい、請求項１７に記載の装置。
【請求項２３】
前記第３のメモリの前記エレメントの各々は、情報の１ビットを格納するための１つのＮ型金属酸化膜半導体（ＮＭＯＳ）トランジスタを備える、請求項１７に記載の装置。
【請求項２４】
前記第１の論理状態は、論理「０」状態を備え、前記第２の論理状態は、論理「１」状態を備える、請求項１７に記載の装置。
【請求項２５】
複数のニューロン回路とシナプスを伴うニューラルシステムを実装するためのコンピュータプログラム記憶装置であって、前記シナプスの各々は前記ニューロン回路のうち１ペアを接続し、前記装置は格納されたソフトウェア命令を有するコンピュータ可読メモリを備え、前記ソフトウェア命令は、１つまたは複数のプロセッサによって実行可能であり、前記ソフトウェア命令は、
前記ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、前記シナプスの重みを格納するための命令と、なお、前記ニューラルシステムの第３のメモリは前記シナプスの各々についての１つのエレメントを備える；
前記ニューロン回路のペアがスパイクする場合には、前記ニューロン回路のペアを接続するシナプスの重みを前記第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた前記第３のメモリのエレメントを切り替えるための命令と；
ある確率で、前記第１の論理状態に、前記第２の論理状態にあった前記第３のメモリのエレメントすべてを、定義された周波数において、切り替えるための命令と；
報酬が生じるとき、前記エレメントが前記第２の論理状態にある場合には、前記第２のメモリから前記第１のメモリへとシナプスの前記更新された重みをコピーするための命令と；
前記エレメントが前記第１の論理状態にある場合には、前記第１のメモリから前記第２のメモリへとシナプスの前記重みをコピーして、前記更新された重みを上書きするための命令と；
を備える、コンピュータプログラム記憶装置。
【請求項２６】
前記エレメントに前記確率で前記第２の論理状態から前記第１の論理状態へと切り替えさせる前記ニューラルシステムにしきい値パルスを、前記定義された周波数において、適用するための命令、
をさらに備える、請求項２５に記載のコンピュータプログラム記憶装置。
【請求項２７】
前記第２の論理状態にあった前記第３のメモリの前記エレメントすべてを、前記定義された周波数において、読み取るための命令と、
前記読み取られたエレメントとランダムなビットシーケンスとの間で論理オペレーションを実行するための命令と、
をさらに備える、請求項２５に記載のコンピュータプログラム記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示のある実施形態は、一般的にはニューラルシステムエンジニアリング（neural system engineering）に関し、より具体的には、報酬変調されたスパイクタイミング依存可塑性（reward-modulated spike-timing-dependent plasticity）（ＳＴＤＰ）のハードウェア実装のための方法に関する。
【背景技術】
【０００２】
[0002]  報酬変調されたスパイクタイミング依存可塑性（ＳＴＤＰ）は、スパイキングニューロン（spiking neurons）のネットワークにおける行動に関連した重み変化(behaviorally relevant weight changes)を説明するための学習ルールの有力な候補として見なされる。このスキームは、シナプス（synapse）ごとに複数秒の時定数（time constant）を伴う、指数関数的に減衰する適格トレース(an exponentially decaying eligibility trace)を必要とすることがある。対象のニューラルネットワーク（neural networks）はしばしば何百万ものシナプスを有するので、シナプスごとにそのような指数関数的に減衰する適格トレース（eligibility trace）を実装することは、シリコン面積の観点から非常に高価である可能性がある。
【０００３】
[0003]  ハードウェアにおける適格トレースの直接な実装は、指数関数的な時定数を生成するためにシナプスごとにアナログ回路またはデジタル回路を配置することができる。そのような解法は、シナプス当たり何百もの平方ミクロン（hundreds of square microns）を必要とすることがある。したがって、報酬変調されたＳＴＤＰのエリア効率のよい実装が必要とされることがある。
【発明の概要】
【０００４】
[0004]  本開示のある実施形態はニューラル電気回路（neural electrical circuit）を提供する。この電気回路は一般的には、複数のニューロン回路（neuron circuits）およびシナプスと、ここにおいて、シナプスの各々は、１ペアのニューロン回路を接続する；シナプスの重みを格納する第１のメモリと、同じ重みを格納する第２のメモリと、シナプスの各々についての１つのエレメントを備える第３のメモリと；を備え、そのニューロン回路のペアがスパイクする場合には、ニューロン回路のペアを接続するシナプスの重みが第２のメモリにおいて更新され、そのシナプスに関連づけられた第３のメモリのエレメントは、第１論理状態から第２の論理状態へと切り替えられ(switched)、第２の論理状態にあった第３のメモリのエレメントすべてはある確率で第１の論理状態へと定義された周波数において切り替わり、報酬（reward）が生じるとき、エレメントが第２の論理状態にある場合には、シナプスの更新された重みは、第２のメモリから第１のメモリへとコピーされ、エレメントが第１の論理状態にある場合、シナプスの重みは、第１のメモリから第２のメモリへとコピーされて、更新された重みを上書きする。
【０００５】
[0005]  本開示のある実施形態は、複数のニューロン回路とシナプスを伴うニューラルシステムを実装するための方法を提供し、シナプスの各々が１ペアのニューロン回路を接続する。その方法は一般的には、ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、シナプスの重みを格納することと、なお、ニューラルシステムの第３のメモリはシナプスの各々についての１つのエレメントを備える；そのニューロン回路のペアがスパイクする場合には、ニューロン回路のペアを接続するシナプスの重みを第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた第３のメモリのエレメントを切り替えることと；ある確率で、第１の論理状態に、第２の論理状態にあった第３のメモリのエレメントすべてを、定義された周波数において切り替えることと；報酬が生じるとき、エレメントが第２の論理状態にある場合には、第２のメモリから第１のメモリへとシナプスの更新された重みをコピーすることと；エレメントが第１の論理状態にある場合には、第１のメモリから第２のメモリへとシナプスの重みをコピーして、更新された重みを上書きすることと；を含む。
【０００６】
[0006]  本開示のある実施形態は、複数のニューロン回路とシナプスを伴うニューラルシステムを実装するための装置を提供し、シナプスの各々が１ペアのニューロン回路を接続する。その装置は一般的に、ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、シナプスの重みを格納するための手段と、なお、ニューラルシステムの第３のメモリはシナプスの各々についての１つのエレメントを備える；そのニューロン回路のペアがスパイクする場合には、ニューロン回路のペアを接続するシナプスの重みを第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた第３のメモリのエレメントを切り替えるための手段と；ある確率で、第１の論理状態に、第２の論理状態にあった第３のメモリのエレメントすべてを、定義された周波数において、切り替えるための手段と；報酬が生じるとき、エレメントが第２の論理状態にある場合には、第２のメモリから第１のメモリへとシナプスの更新された重みをコピーするための手段と；エレメントが第１の論理状態にある場合には、第１のメモリから第２のメモリへとシナプスの重みをコピーして、更新された重みを上書きするための手段と；を含む。
【０００７】
[0007]  本開示のある実施形態は、複数のニューロン回路とシナプスを伴うニューラルシステムを実装するためのコンピュータプログラム記憶装置を提供し、シナプスの各々はニューロン回路のうち１ペアを接続し、その装置は格納されたソフトウェア命令を有するコンピュータ可読メモリを備え、ソフトウェア命令は、１つまたは複数のプロセッサによって実行可能である。このソフトウェア命令は一般的に、ニューラルシステムの、第１のメモリにおいて、および、第２のメモリにおいて、シナプスの重みを格納するための命令と、なお、ニューラルシステムの第３のメモリはシナプスの各々についての１つのエレメントを備える；そのニューロン回路のペアがスパイクする場合には、ニューロン回路のペアを接続するシナプスの重みを第２のメモリにおいて更新し、第１の論理状態から第２の論理状態へとそのシナプスに関連づけられた第３のメモリのエレメントを切り替えるための命令と；ある確率で、第１の論理状態に、第２の論理状態にあった第３のメモリのエレメントすべてを、定義された周波数において、切り替えるための命令と；報酬が生じるとき、エレメントが第２の論理状態にある場合には、第２のメモリから第１のメモリへとシナプスの更新された重みをコピーするための命令と；エレメントが第１の論理状態にある場合には、第１のメモリから第２のメモリへとシナプスの重みをコピーして、更新された重みを上書きするための命令と；を含む。
【０００８】
[0008]  本開示の上述された特徴が詳細に理解されることができる方法で、より具体的な説明は、上記で簡単に要約され、実施形態を参照することによってなされ、それらのうちのいくつかは、添付図面において図示されている。しかしながら、添付図面は、本開示のある典型的な実施形態のみを図示しており、したがって、本説明が他の等しい効果の実施形態を認め得るため、その範囲を制限するものとみなされない、ということが留意されるべきである。
【図面の簡単な説明】
【０００９】
【図１】図１は、本開示のある実施形態による例示的なニューラルシステムを図示する。
【図２】図２は、本開示のある実施形態による、シナプス前部の（pre-synaptic）およびシナプス後部の（post-synaptic）スパイク（spikes）の相対的なタイミングの関数としてシナプスの重みの変化の例示的なグラフ図を図示する。
【図３】図３は、本開示のある実施形態による、適格トレースと遠位報酬(distal reward)を伴うシナプスの重み変化の例を図示する。
【図４】図４は、本開示のある実施形態による複数のトレーニングに対するシナプスの例示的な重み増加を図示する。
【図５】図５は、本開示のある実施形態による、報酬変調されたスパイクタイミング依存可塑性（ＳＴＤＰ）学習ルールのための適格トレースの例示的な指数関数（exponential）と階段関数（step-function）のバージョンを図示する。
【図６】図６は、本開示のある実施形態による、スピントルク移送ランダムアクセスメモリ（Spin Torque Transfer Random Access Memory）（ＳＴＴ−ＲＡＭ）の例示的な構造を図示する。
【図７】図７は、本開示のある実施形態によるシナプスを増強するための例示的なＳＴＴ−ＲＡＭベースの適格ルールを図示する。
【図８】図８は、本開示のある実施形態による報酬変調されたＳＴＤＰを備えたニューラルシステムを実装するための例示的なオペレーションを図示する。
【図８Ａ】図８Ａは、図８で図示されたオペレーションを実行することができる例示的なコンポーネントを図示する。
【発明を実施するための形態】
【００１０】
[0018]  本開示の様々な実施形態は、図面を参照して下記でより詳細に説明される。しかしながら、本開示は、多くの異なる形式で具現化され、また、本開示全体で示されるいずれの具体的な構造または機能に限定されるように解釈されるべきではない。むしろ、これらの実施形態は本開示が徹底で完全であるように提供され、当業者に対して本開示の範囲を十分に伝えるであろう。ここにおける教示に基づいて、当業者は、本開示のいずれの他の実施形態と組み合わせてまたは独立して実装されるにかかわらず、本開示の範囲がここに開示される本開示のいずれの実施形態もカバーするように意図されるということを理解すべきである。例えば、ここにおいて記載される任意の数の実施形態を使用して、本装置は実装され得る、または、本方法は実行され得る。さらに、本開示の範囲は、ここに記載される本開示の様々な実施形態のほかにまたは加えて他の構造、機能、または構造および機能を使用して実行されるこのような装置または方法をカバーするように意図される。ここにおいて開示される本開示のいずれの実施形態も特許請求の範囲の１つまたは複数の構成要素によって具現化され得るということは理解されるべきである。
【００１１】
[0019]  用語「例示的な(exemplary)」は、「例(example)、インスタンス(instance)、または例証(illustration)として機能している」を意味するように、ここでは使用されている。「例示的(exemplary)」としてここに説明されるいずれの実施形態も、他の実施形態よりも好まれるまたは有利であると必ずしも解釈されない。
【００１２】
[0020]  特定の実施形態がここにおいて説明されているが、これらの実施形態の多くの変形および置き換えは、本開示の範囲内にある。好まれる実施形態のいくつかの利益および利点が述べられているが、本開示の範囲は、特定の利益、使用、または、目的に限定されるように意図されていない。むしろ、本開示の実施形態は、異なる技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるように意図されており、それらのうちのいくつかは、図面において、そして、好まれる実施形態の下記の説明において、例として説明されている。詳細な説明および図面は、限定というよりはむしろ本開示の単なる説明であり、本開示の範囲は、特許請求の範囲とその均等物によって定義されている。
【００１３】
例示的なニューラルシステム
[0021]  図１は、本開示のある実施形態による、マルチレベルのニューロンを備える例示的なニューラルシステム１００を図示する。ニューラルシステム１００は、シナプス接続のネットワーク１０４を通じてニューロンの別のレベル１０６に接続されたニューロンのレベル１０２を備え得る。多くのレベルのニューロンが一般的なニューラルシステムに存在し得るが、簡潔のため、２つのレベルのニューロンのみが図１で図示されている。
【００１４】
[0022]  図１で図示されるように、レベル１０２の各ニューロンは、前のレベル（図１では図示されていない）の複数のニューロンによって生成され得る入力信号１０８を受信し得る。信号１０８は、レベル１０２のニューロンの入力電流を表わすことがある。この電流は膜電位(membrane potential)をチャージする（charge）ためにニューロン薄膜(neuron membrane)に蓄積され得る。膜電位がそのしきい値に達するとき、ニューロンは、次のレベルのニューロン（例えばレベル１０６）に移送されるべき出力スパイク（output spike）を発火し(fire)、生成し得る。
【００１５】
[0023]  図１で図示されるように、１つのレベルのニューロンから別のレベルのニューロンまでのスパイクの移送は、シナプス接続のネットワーク（あるいは単に「シナプス」）１０４を通って達成され得る。シナプス１０４は、レベル１０２のニューロンから出力信号（すなわちスパイク）を受け取り、調整可能なシナプスの重みｗ１（ｉ，ｉ＋１），…，ｗｐ（ｉ，ｉ＋１）にしたがってこれらの信号をスケーリングし（Ｐはレベル１０２のニューロンとレベル１０６のニューロンとの間のシナプス接続の合計数である）、スケーリングされた信号をレベル１０６において各ニューロンの入力信号として結合する。レベル１０６のニューロンすべては、対応する結合された入力信号に基づいて出力スパイク１１０を生成し得る。出力スパイク１１０は、そのあとでシナプス接続の別のネットワーク（図１で図示されず）を使用して、別のレベルのニューロンに移送されることがある。
【００１６】
[0024]  ニューラルシステム１００は電気回路によってエミュレートされ、イメージとパターン認識、機械学習、およびモーター制御のような広範囲な応用で使用され得る。ニューラルシステム１００内の各ニューロンは、ニューロン回路として実装され得る。出力スパイクを開始するしきい値にチャージされたニューロン薄膜は、それによって電流を統合するキャパシタとして実装され得る。
【００１７】
例示的な報酬変調されたスパイクタイミング依存可塑性
[0025]  トレーニングプロセス中のシナプスネットワーク１０４のシナプスの重みの調整は、スパイクタイミング依存可塑性（ＳＴＤＰ）に基づくことがある。図２は、ＳＴＤＰに従って、シナプス前部のおよびシナプス後部のスパイクの相対的なタイミングの関数としてシナプスの重みの変化の例示的なグラフ図２００を図示する。シナプス前部のニューロンがシナプス後部のニューロンの前に発火する場合には、グラフ２００の部分２０２で図示されるように、対応するシナプス重みが増加され得る。この重みの増加は、シナプスの長期増強（Long-Term Potentiation）（ＬＴＰ）と呼ばれることがある。ＬＴＰの量はシナプス前部のスパイク時間とシナプス後部のスパイク時間との間の差の関数としておおよそ指数関数的に減少することがある、ということがグラフ部分２０２から観察されることができる。グラフ２００の部分２０４で図示されるように、発火の逆順序は、シナプスの重みを減らし、シナプスの長期抑圧（ＬＴＤ）を引き起こす。
【００１８】
[0026]  図２で図示されるように、シナプスの重みトレーニング・カーブは非対称のことがある。グラフ部分２０２によって表されるＬＴＰ重み増加は、短いスパイク間インターバル（inter-spike intervals）に対してより大きいことがあるが、それはＬＴＤ重み増加よりも早く減衰することがある。因果関係ウィンドウ外のＬＴＤの優性(dominance of LTD outside the causality window)は、シナプス後部の活動電位について時間においてランダムにシナプス前部のスパイクが生じるとき、シナプスの弱化をもたらすことがある。したがって、これらのランダムなイベントは、シナプスを呼び起こすことに常に寄与していないことがある。
【００１９】
[0027]  図３は、本開示のある実施形態による、遠位報酬を備えたＳＴＤＰに基づくシナプスの重み変化の例を図示する。シナプス前部のニューロン３０２は、シナプス３０６によってシナプス後部のニューロン３０４と接続することがある。シナプス３０６の状態は、２つの変数である、可塑性（plasticity）に重要な酵素(enzyme)の活性化（activation）Ｃおよびシナプスの強さ（すなわち重み）Ｓによって説明され得る。
【００２０】
[0028]  シナプス前部のニューロン３０２はスパイク３０８を発火し、そしてそれは、シナプス後部のニューロン３０４によって発火された別のスパイク３１０が続くことがある。このスパイキングイベントのシーケンスの後、シナプス接続３０６に対する報酬は、シナプス前部のスパイクとシナプス後部のスパイクのシーケンスから１〜３秒の間のランダムな遅延を伴ってセル外ドーパミン（extracellular dopamine）（ＤＡ）のスパイクの形で配信され得る。時間にわたるＤＡのセル外の濃度(extracellular concentration)の変化は次のように表わされ得る：
【数１】
0005512895.tif 000002
【００２１】
Ｄは、ＤＡのセル外の濃度であり、τＤは減衰時定数(decay time constant)であり、ＤＡ（ｔ）は、ドーパミン作動性のニューロン（dopaminergic neurons）のアクティビティによるＤＡのソースをモデル化する。図３の指数関数的に減衰するカーブ３１２は、式（１）によって与えられる、時間にわたるＤＡのセル外の濃度の変化を図示する。
【００２２】
[0029]  時間にわたる変数Ｃの変化は下記によって与えられ得る：
【数２】
0005512895.tif 000003
【００２３】
τＣは、減衰時定数であり、δ（ｔ）はディラックデルタ関数（Dirac delta function）である。それぞれ、時間ｔｐｒｅ／ｐｏｓｔに生じるシナプス前部のニューロンおよびシナプス後部のニューロン３０２−３０４の発火は、図２で図示される量ＳＴＤＰ（Δｔ）により変数Ｃを変更することがあり、Δｔ＝ｔｐｏｓｔ−ｔｐｒｅは、スパイク間インターバルである。変数Ｃは、図３のプロット３１４で図示されるように、時定数τＣと共にゼロに指数関数的に減衰することがある。
【００２４】
[0030]  カーブ３１４の減衰率(decay rate)は、遅延報酬（delayed reward）に対する可塑性の感度を制御することがある。ＤＡのセル外の濃度によってゲート制御されるとき（変数Ｄ）、変数Ｃがシナプスの強さＳの変化を許容し得るので、カーブ３１４はシナプス修正のための適格トレースとして作用し得る。したがって、シナプスの強さの変化は次のように与えられる：
【数３】
0005512895.tif 000004
【００２５】
図３のプロット３１６は、式（３）によって定義されたシナプスの強さの変化を図示する。
【００２６】
[0031]  前述の報酬変調されたＳＴＤＰは、スパイキングニューロンのネットワークにおける行動に関連したシナプス重み変化の学習ルールを表わす。図３によって図示されるように、このスキームは、シナプスごとに複数秒の時定数を伴う、指数関数的に減衰する適格トレースを必要とすることがある。対象のニューラルシステムはしばしば何百万ものシナプスを有するので、シナプスごとに指数関数的に減衰する適格トレースを実装することは、シリコン面積の観点から非常に高価である可能性がある。
【００２７】
[0032]  本開示は、適格トレースのより単純なバージョンを提案しており、この修正された適格トレースに基づく２つのハードウェア実装が提示されている。ニューロンのシナプス重みに対する修正された適格トレースの効果がシミュレートされ、このスキームは、従来の（すなわち、指数関数的な）適格トレースと同様な結果を提供するということが示されている。提案されたハードウェア実装はそれぞれ、スピントルク移送ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ）および従来のデジタルメモリを利用し、ハードウェアにおいて報酬変調されたＳＴＤＰを実装するためのエリア効率のよい手法を実証する。
【００２８】
例示的なシミュレーション
[0033]  その前部−後部のスパイクのペア（pre-post spike pair）が報酬をトリガするとき、シナプス後部のニューロンがシナプス前部のニューロンに応答する確率を適格トレースベースのメカニズムが増加させるということを示すシミュレーションが本開示では最初に提示される。
【００２９】
[0034]  図４は、本開示のある実施形態による、報酬を誘発する確率を増加させることに伴う（プロット４０４）、３０００以上のトレーニングにわたるシナプスの例示的な重み増加（プロット４０２）を図示する。このシミュレーションは、後で詳細に説明される修正された適格トレースが従来の（すなわち指数関数的な）適格トレースと同様な結果を提供するかをチェックするためのメトリックとして使用され得る。シナプス前部のニューロンＡがシナプス後部のニューロンＢの前に発火するごとに、報酬はランダムなインターバルの後で配信され得る。このことは、すべての他のシナプスを抑制しながら、ニューロンＡおよびニューロンＢを接続するシナプスのみを強化し得る(potentiate)。
【００３０】
[0035]  図５は、本開示のある実施形態による、適格トレースの例示的な指数関数および階段関数バージョンを図示する。図５のトレース５０２のような、ハードウェアにおいて指数関数的に減衰する適格トレースを実装することは、シナプスあたりの専用回路を必要とすることがあるので、非常にエリア高価(area expensive)であることがある。いくつかの推定値は、このようなシナプスのアナログ実装は約３，３７１μｍ２を必要とし、デジタル実装は、約１４９μｍ２を必要とするということを示唆する。ハードウェアにおいて高密度なニューラルアーキテクチャを実装することは、シナプスあたりのエリアバジェット（area budget）が１μｍ２未満であることを必要とする。
【００３１】
[0036]  この要件を達成するために、図５のトレース５０４で図示されるように、所与の時定数がゼロに降下した後、所与の時定数についてフラットである適格トレースの修正バージョンが本開示では提案されている。このような離散階段関数（discrete step-function）は、適格トレースが指数関数であるべきであるという実験の証拠がないので、起こり得る解法を表し得る。代わりに、実験の証拠は、ドーパミンに対する応答の時定数が１５秒よりも一般的に短いということを示唆のみする。
【００３２】
適格トレースの例示的なＳＴＴ−ＲＡＭベースの実装
[0037]  スピントルク移送ランダムアクセスメモリ(Spin Torque Transfer Random Access Memory)（ＳＴＴ−ＲＡＭ）は、磁気トンネル接合（magnetic tunnel junction）（ＭＴＪ）エレメントを通じて流れる電子の回転（spin）を整列させることにより電流を分極化させることができる、メモリ技術である。ＭＴＪエレメントは、図６Ａに図示されるように、２つの磁気層とそれらの間のトンネルバリア層（tunnel barrier layer）を備え得る。磁気層のうちの1つはスイッチング層(switching layer)を表わし、他の磁気層はその磁化方向(magnetization direction)に固定される（pinned）ことがある。データ書き込みは、ＭＴＪエレメントにおけるスイッチング層の帯磁方向(magnetic orientation)を変更するために、スピン偏極した電流(spin-polarized current)を使用することによって実行され得る。ＭＴＪエレメントの結果として生じる抵抗差は情報読み出しに使用され得る。
【００３３】
[0038]  複数のＳＴＴ−ＲＡＭは、しきい値電流パルスで表されるとき、それらの切り替えは、確率的であり得る固有のプロパティを所有する。印加された電流の関数として切り替え確率（switching probability）が図６Ｂで図示されている。このビヘービアは、報酬変調されたＳＴＤＰについて図５の修正された適格トレース５０４を実装するために本開示で生かされている(exploited)。
【００３４】
[0039]  適格トレースの第１の実装は、メモリアレイＳを利用して、すべてのシナプスの重み、メモリアレイのクローン（clone）Ｓ’、およびシナプスあたりのＳＴＴ−ＲＡＭエレメントＲを格納し得る。Ｓｉの重みの変更をもたらし得る前部−後部のスパイキングのイベント（pre-post spiking event）が生じるたびに、Ｓｉ’は、新たな重みによって更新され（Ｓｉ’＝Ｓｉ’＋Δｗ）、一方、Ｓｉは、一定を保つことができる。さらに、Ｒｉは論理「１」に設定され得る。例えば、周波数１Ｈｚにおいて、しきい値パルスは、全ニューラルネットワークに適用され、論理「１」状態にあったＳＴＴ−ＲＡＭすべては、ある確率（Ｐ＝１／２）で論理「０」に切り替えられることがある。そのあとで、重みの変更がＳｉ’に起きた後のＮ秒、Ｐ（Ｒｉ＝＝１）＝（１／２）Ｎである。
【００３５】
[0040]  したがって、ＳＴＴ−ＲＡＭは、前部−後部のスパイクのペアごとの後に、確率的にゼロに減衰し得る１ビット信号を各シナプスに提供することがある。この分布を生成することは非常にエリア効率がよく、すなわち、１つのＮ型金属酸化膜半導体（one Negative-channel Metal Oxide Semiconductor）（ＮＭＯＳ）トランジスタは、情報の１ビットを格納するためにＳＴＴ−ＲＡＭエレメントごとに要求され得る。さらに、この解法は電力効率もよい、すなわち、１つのしきい値パルスのみが毎秒要求され得る。
【００３６】
[0041]  報酬が生じるとき、各ＳＴＴ−ＲＡＭエレメントがチェックされ、次のルールが適用され得る。  
Ｒｉ＝１の場合、Ｓｉ＝Ｓｉ’（すなわち、ＳＴＴ−ＲＡＭが高い場合、  
変更を受け入れる）でＲｉ＝０であり、  
そうでない場合は、Ｓｉ’＝Ｓｉ（すなわち、ＳＴＴ−ＲＡＭが低い場合、  
バックアップメモリに戻る）である。  
このことは、全メモリアレイは読み出されコピーされる必要があるので、高価なオペレーションであることがある。しかしながら、このことは非常に稀なイベントであるので、システムは、報酬の後すぐに、オーバークロッキングされ（over-clocked）得る。あるいは、このような重みの変更は、たくさんのクロックサイクルにわたって実装され得る。
【００３７】
[0042]  このような修正された適格トレースがオリジナルの指数関数的な適格トレースと比較して同様な結果を提供し得るということを確かめるために、図４のシミュレーションは、修正された適格トレースごとに繰り返され、取得された結果が図７で図示されている。シナプス前部のニューロンＡおよびシナプス後部のニューロンＢのペアを接続するシナプスの重みは時間にわたって増加し、シナプスの重みの最終分布は、図４に図示されたものと非常に類似していることがあるということが再び観測されることができる。
【００３８】
[0043]  前述のハードウェア実装スキームの１つの起こり得る問題は、デバイスを切り替える必要があり得るしきい値電流パルスに関するＳＴＴ−ＲＡＭの固有可変性(inherent variability)である。いくつかのシミュレーションデータは、この分散（variance）はデバイスのエリアにおける増加を減らすことが期待され、また、臨界電流、パルス幅、磁気トンネリング接合（ＭＴＪ）抵抗およびトンネル磁気抵抗（tunnel magneto-resistance）（ＴＭＲ）の関数であり得るということを示唆する。
【００３９】
[0044]  それにも関わらず、一部分のデバイスは、確率（１／２）Ｎで切り替わり、残りのデバイスは、確率分布、すなわち時定数の分布によって切り替わるということが期待され得る。したがって、２つの極値（two extremes）、すなわち確率Ｐ＝１およびＰ＝０を備えたものにおいて、デバイスの応答を調べることが有益であることがある。
【００４０】
[0045]  確率Ｐ＝１によって切り替わり得るエレメントは、非常に短い適格トレースと関連づけられ、図７で図示された他のニューロンに類似する方法で応答し、そしてそれは、ドーパミンに反応しにくいことがある。切り替え確率Ｐ＝０を伴うエレメントは、一定して「高い」適格トレースを有し、この場合もこれらのニューロンはドーパミンに応答しないことがある。このことは、一定に高い適格トレースはドーパミンに関連してＳＴＤＰのタイミングに関する何等の情報も伝達しないため、すなわち、ゼロ適格トレースと同等であるため、直感的に理解され得る。
【００４１】
適格トレースの例示的なデジタルメモリベースの実装
[0046]  報酬変調されたＳＴＤＰのための適格トレースの代替ハードウェア実装は、動的ランダムアクセスメモリ（Dynamic Random Access Memory）（ＤＲＡＭ）のような従来のデジタルメモリを利用し得る。このことは、シナプスあたりの単一ビットＲｉとシナプスの重みのコピーＳ’を再び維持することによって達成され得る。このシナプスあたりの単一ビットは、シナプスの重みとして同一のメモリマッピング（identical memory mapping）によって別個のメモリバンクに格納され得る。
【００４２】
[0047]  ＳＴＴ−ＲＡＭ実装と類似して、重みＳｉの変更をもたらし得る前部−後部のスパイキングのイベントが生じるたびに、Ｓｉ’は、新たな重みによって更新され（Ｓｉ’＝Ｓｉ’＋Δｗ）、一方、Ｓｉは、一定を保つことができる。さらに、Ｒｉは論理「１」に設定され得る。すべての論理１、すなわち上記のＲのメモリバンクの全ページは、例えば１Ｈｚの周波数で読み出され、ランダムなビットシーケンスで論理積をとられ（logically ‘AND’ed）得る。このことは、論理「１」状態にあったすべてのエレメントがある確率（Ｐ＝１／２）で論理「０」状態に切り替えられ得るということを確実にし得る。そのあとで、重みの変更がＳｉ’に起きた後のＮ秒、Ｐ（Ｒｉ＝＝１）＝（１／２）Ｎである。報酬が生じるとき、上記Ｒのメモリは、チェックされ、次のルールがシナプスの重みを修正するために適用され得る。  
Ｒｉ＝１の場合、Ｓｉ＝Ｓｉ’でＲｉ＝０であり、  
そうでない場合Ｓｉ’＝Ｓｉである。  
この適格トレースのハードウェア実装スキームは、ＳＴＴ−ＲＡＭベースの実装の確率的な切り替えを回避することがある。他方では、この解法は、上記Ｒのメモリの読み取りおよび書き込みのオーバーヘッドに苦しむことがある(suffer from)。
【００４３】
[0048]  図８は、本開示のある実施形態による、図５の修正された適格トレースに基づいて報酬変調されたＳＴＤＰを備えたニューラルシステムを実装するための例示的なオペレーション８００を図示する。ニューラルシステムは複数のニューロン回路とシナプスを備え、シナプスの各々はニューロン回路のペアを接続し得る。８０２で、シナプスの重みは、ニューラルシステムの第１のメモリにおいて、および、第２のメモリにおいて格納され、ニューラルシステムの第３のメモリは、シナプスの各々についての１つのメモリエレメントを含む。８０４で、ニューロン回路のペアがスパイクする場合、ニューロン回路のペアを接続するシナプスの重みは第２のメモリにおいて更新され、そのシナプスに関連づけられた第３のメモリのメモリエレメントは、第１の論理状態から第２の論理状態へと切り替えられ得る。
【００４４】
[0049]  ８０６で、第２の論理状態にあった第３のメモリのすべてのメモリエレメントは、ある確率で、第１の論理状態に、定義された周波数において切り替え得る。８０８で、報酬が生じるとき、メモリエレメントが第２の論理状態にある場合には、シナプスの更新された重みが第２のメモリから第１のメモリへとコピーされ得る。他方で、メモリエレメントが第１の論理状態にある場合、シナプスの重みは、８１０で、第１のメモリから第２のメモリへと、コピーされ、第２のメモリにおいて更新された重みを上書きし得る。
【００４５】
[0050]  要約すると、修正された適格トレースの２つのハードウェア実装が本開示で提案されている。これらのスキームは、最小エリアのペナルティを伴って報酬変調されたＳＴＤＰの実装を許容し得る。
【００４６】
[0051]  上述された方法の様々なオペレーションは、対応する機能を実行することができる任意の適切な手段によって実行され得る。その手段は、さまざまなハードウェアおよび／またはソフトウェアコンポーネント（単数または複数）および／またはモジュール（単数または複数）を含むことができ、限定されてはいないが、回路、特定用途向け回路（ＡＳＩＣ）、またはプロセッサを含んでいる。一般的に、図面で図示されるオペレーションがある場合には、これらのオペレーションは、同様な番号付けを備えた、対応するカウンターパートのミーンズ・プラス・ファンクション・コンポーネント（means-plus-function component）を有し得る。例えば、図８で図示されたオペレーション８００は、図８Ａで図示されたコンポーネント８００Ａに対応する。
【００４７】
[0052]  ここに使用されているように、用語「決定すること(determining)」は、広範囲な動作を包含する。例えば「決定すること」は、計算すること、コンピュートすること、処理すること、導出すること、吟味すること(investigating)、ルックアップすること(looking up) (例えば、テーブル、データベース、又は別のデータ構造においてルックアップすること)、確かめること(ascertaining)、および同様なものを含め得る。また「決定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例、メモリ内のデータにアクセスすること)、および同様なものを含め得る。また、「決定すること」は、解決すること(resolving)、選択すること(selecting)、選ぶこと(choosing)、確立すること(establishing)、および同様なものを含め得る。
【００４８】
[0053]  ここにおいて使用されるように、項目リストの「うちの少なくとも1つ(at least one of)」を指すフレーズは、単数の要素を含む、これらの項目の任意の組み合わせを指す。例えば、「ａ，ｂ，またはｃのうち少なくとも1つ(at least one of: a, b, or c)」は、ａ，ｂ，ｃ，ａ−ｂ，ａ−ｃ，ｂ−ｃ，およびａ−ｂ−ｃを含むことが意図されている。
【００４９】
[0054]  本開示に関連して説明された様々な説明のための論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル・ゲートアレイ信号（ＦＰＧＡ）、あるいは他のプログラマブル論理デバイス（ＰＬＤ）、ディスクリートゲートあるいはトランジスタロジック、ディスクリート・ハードウェアコンポーネント、あるいは、ここに説明された機能を実行するように設計されたそれらのいずれの組み合わせ、で実装または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、代替として、プロセッサは、任意の商業的に利用可能なプロセッサ、コントローラ、マイクロコントローラ、あるいはステートマシン(state machine)であり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと併用しての１以上のマイクロプロセッサ、あるいはいずれの他のそのような構成のもの、として実装され得る。
【００５０】
[0055]  本開示に関連して説明された方法またはアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサによって実行されたソフトウェアモジュールにおいて、あるいはその２つの組み合わせにおいて、具現化され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体に存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、などを含む。ソフトウェアモジュールは、単一の命令または多くの命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラムの中で、そして、複数の記憶媒体にわたって、分散され得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができ、また記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。あるいは、記憶媒体は、プロセッサに一体化され得る。
【００５１】
[0056]  ここにおいて開示される方法は、記載される方法を達成するための１以上のステップまたは動作を備える。方法のステップおよび／または動作は、特許請求の範囲から逸脱することなく互いに置き換えられ得る。言いかえれば、ステップまたは動作の具体的な順序が指定されていない限り、具体的なステップおよび/または動作の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
【００５２】
[0057]  記載された機能は、ハードウェア、ソフトウェア、ファームウェアあるいはそれらのいずれかの組み合わせにおいて実装され得る。ソフトウェアで実装される場合には、その機能は、コンピュータ可読媒体上に、１つまたは複数の命令として、格納され得る。記憶媒体は、コンピュータによってアクセスされることができる、任意の利用可能な媒体であり得る。例として、また限定されないが、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭあるいは他の光学ディスクストレージ、磁気ディスクストレージあるいは他の磁気ストレージデバイス、あるいは、命令あるいはデータ構造の形で所望のプログラムコードを格納または搬送するために使用されることができる、および、コンピュータによってアクセスされることができる、任意の他の媒体も備えることができる。ここで使用されるように、ディスク(disk)とディスク(disc)は、コンパクトディスク(compact disc)(ＣＤ)、レーザーディスク(登録商標)(laser disc)、光学ディスク(optical disc)、デジタル汎用ディスク(digital versatile disc)(ＤＶＤ)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(blu-ray disc)を含んでおり、ディスク(disks)は、大抵、データを磁気的に再生し、ディスク(discs)は、データをレーザーで光学的に再生する。
【００５３】
[0058]  したがって、ある実施形態は、ここに提示されるオペレーションを実行するためのコンピュータプログラムプロダクトを備え得る。例えば、このようなコンピュータプログラム記憶装置は、命令が格納されている（および／または符号化されている）コンピュータ可読メモリを備えることができ、その命令は、ここに説明されるオペレーションを実行するように１つまたは複数のプロセッサによって実行可能である。ある実施形態の場合、コンピュータプログラム記憶装置は、コンピュータ可読メモリのためのパッケージング材料を含め得る。
【００５４】
[0059]  ソフトウェアまたは命令はまた、送信媒体上で送信され得る。例えば、ソフトウェアがウェブサイト、サーバ、あるいは、同軸ケーブル、光ファイバーケーブル、ツイストペア(twisted pair)、デジタル加入者ライン(digital subscriber line)（ＤＳＬ）、あるいは赤外線、無線、およびマイクロ波のような無線技術を使用している他の遠隔ソース、から送信される場合には、そのときには、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、あるいは赤外線、無線、およびマイクロ波のような無線技術は、送信媒体の定義に含まれている。
【００５５】
[0060]  さらに、ここにおいて記載される方法および技法を実行するためのモジュールおよび／または他の適切な手段は、ダウンロードされることができる、および／または、そうでなければ、規定どおりに、ユーザ端末および／または基地局によって得られることができる、ということは理解されるべきである。例えば、そのようなデバイスは、ここにおいて記載される方法を実行するための手段の転送を容易にするためにサーバに結合されることができる。あるいは、ここにおいて記載される様々な方法は、記憶手段（例えば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクのような物理記憶媒体等）を介して提供されることができるので、ユーザ端末および／または基地局は、デバイスに記憶手段を結合または提供するときに、様々な方法を得ることができる。さらに、デバイスに対してここにおいて記載される方法および技術を提供するためのいずれの他の適切な技術が利用されることができる。
【００５６】
[0061]  本願請求項は、上記で図示される厳密な構成およびコンポーネントに限定されていないということは理解されるべきである。様々な修正、変更、および変形は、特許請求の範囲から逸脱することなく、配置(arrangement)、オペレーション、および、上述される方法および装置の詳細において行われ得る。
【００５７】
[0062]  前述では本開示の実施形態を対象としているが、本開示の他のおよびさらなる実施形態は、その基本的な範囲から逸脱することなく考案され、その範囲は、特許請求の範囲によって決定される。
【図１】
0005512895.tif 000005
【図２】
0005512895.tif 000006
【図３】
0005512895.tif 000007
【図４】
0005512895.tif 000008
【図５】
0005512895.tif 000009
【図６】
0005512895.tif 000010
【図７】
0005512895.tif 000011
【図８】
0005512895.tif 000012
【図８Ａ】
0005512895.tif 000013