説明

統合発火型電子ニューロン、方法およびプログラム

【課題】 統合発火型電子ニューロンを提供する。
【解決手段】 外部スパイク信号の受信に応じて、外部スパイク信号に基づいて電子ニューロンのデジタル膜電位が更新される。膜電位は漏れ率に基づいて減衰される。膜電位がしきい値を超えたことに応じて、スパイク信号が生成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、米国防総省国防高等研究計画局(DARPA)によって授与された契約第HR0011−09−C−0002号に基づく政府支援により行われたものである。米国政府は本発明において一定の権利を有する。
【0002】
本発明は、一般に、ニューロン・シナプス型システムに関し、より具体的には、スパイクタイミング依存可塑性に基づくニューロン・シナプス型システムに関する。
【背景技術】
【0003】
生物システムは、感覚入力によって提供された情報に秩序を与える。この情報は、典型的に、特有の空間的および時間的構造を備えた局部的イベントを含む時空パターンの形で提供される。これらのイベントは多種多様な空間時間スケールで発生するが、脳などの生物システムは、それらを統合し複数個の関連情報を抽出することができる。このような生物システムは、雑音のある時空入力から信号を急速に抽出することができる。
【0004】
生物システムでは、ニューロンの軸索と他のニューロンの樹状突起との間の接触点はシナプスと呼ばれる。そのシナプスに関する2つのニューロンはそれぞれ、前シナプスおよび後シナプスと呼ばれる。ニューロンは、シナプスを介して受信した十分な入力によって活動化されると、そのニューロンが前シナプスであるシナプスに対して送達される「スパイク」を放出する。ニューロンは「興奮性」または「抑制性」のいずれかにすることができる。シナプス・コンダクタンスは、シナプスが前シナプスのスパイクによって活動化されたときにシナプスがその後シナプス・ターゲットに及ぼす影響の量を示す尺度である。シナプス・コンダクタンスは、スパイクタイミング依存可塑性(spike-timing dependent plasticity、STDP)により、前シナプス・ニューロンと後シナプス・ニューロンの相対スパイク時間の関数として時間とともに変化することができる。STDP規則では、その前シナプス・ニューロンが発火した後でその後シナプス・ニューロンが発火する場合にシナプスのコンダクタンスが増加し、2回の発火(fire)の順序が逆になった場合にシナプスのコンダクタンスが減少する。我々の個々の経験は、脳全体にわたる何兆ものシナプスのコンダクタンスとして保管されている。
【0005】
人工ニューラル・ネットワークとも呼ばれるニューロン・シナプス型システムは、電子システムが本質的に生物学的脳と類似した方法で機能できるようにする計算システムである。ニューロン・シナプス型システムは、生物学的脳のニューロンと機能的にほぼ同等である処理要素間の接続を作成する。ニューロン・シナプス型システムは、生物ニューロンを手本にした様々な電子回路を含むことができる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】K.Likarev, ”Hybrid CMOS/Nanoelectronic Circuits: Opportunities andChallenges”, J. Nanoelectronics and Optoelectronics, 2008,Vol.3, pp.203-230, 2008年発行
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の諸実施形態は、統合発火型電子ニューロンを提供する。
【課題を解決するための手段】
【0008】
一実施形態では、外部スパイク信号を受信したことに応じて、外部スパイク信号に基づいて、ニューロン膜電位を表すデジタル・カウンタが更新される。膜電位は漏れ率に基づいて減衰される。膜電位がしきい値を超えしたことに応じて、スパイク信号が生成される。膜電位は生物ニューロン内の膜電位(電圧)に対応する。
【0009】
他の実施形態では、混合モードのデジタル・アナログ電子ニューロンが提供され、外部興奮性スパイク信号を受信したことに応じて、変更する必要があるカウンタ内のビットのみが変更されるようなビット単位の操作を使用して増加分だけデジタル膜電位が増分される。さらに、外部抑制性スパイク信号を受信したことに応じて、変更する必要があるカウンタ内のビットのみが変更されるようなビット単位の操作を使用して減少分だけ膜電位が減分される。さらに、アナログ抵抗−容量モデル(analog resistor-capacitor model)を使用して時定数に基づいて膜電位が減衰される。
【0010】
一実施形態では、1つの時間ステップで受信した興奮性スパイク信号の数にスケーリング・パラメータを掛けたものに等しい増加分だけ膜電位を増加する。一例では、スケーリング・パラメータは2の倍数に制限され、受信した興奮性スパイクの数に倍率でスケーリングする(倍率を掛ける)ことがビットシフト操作によって行われるようになっている。
【0011】
一実施形態では、1つの時間ステップで受信した抑制性スパイクの数にスケーリング・パラメータを掛けたものに等しい減少分だけ膜電位を減少させる。スケーリング・パラメータは2の倍数に制限され、受信した抑制性スパイクの数に倍率を掛けることがビットシフト操作によって行われるようになっている。
【0012】
他の実施形態では、イベント・ドリブン電子ニューロンが提供され、興奮性イベント・タイプが発生すると、デジタル膜電位は興奮性シナプス強度増加分だけ増分される。抑制性イベント・タイプが発生すると、デジタル膜電位は抑制性シナプス強度減少分だけ減分される。減衰イベント・タイプが発生すると、デジタル膜電位は漏れ強度減少分だけ減分される。
【0013】
本発明の上記その他の特徴、態様、および利点は、以下の説明、特許請求の範囲、および添付図面に関連して十分理解されたものになるであろう。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態による、統合発火型電子ニューロンを相互接続するクロスバー・アレイを有するニューロン・シナプス型システムの図である。
【図2】本発明の一実施形態による、線形漏れ(Linear-Leak)統合発火型電子ニューロンの応答グラフ例である。
【図3】本発明の一実施形態による、不応期(Refractory Period)付き凸状減衰(Convex-Decay)統合発火型電子ニューロンの応答グラフ例である。
【図4】本発明の一実施形態による、不応期およびコンダクタンスベースの抑制(Conductance-Based Inhibition)付き凸状減衰統合発火型電子ニューロンの応答グラフ例である。
【図5】本発明の一実施形態による、線形漏れ統合発火型(LL−IF)電子ニューロンのブロック図である。
【図6】本発明の一実施形態による、不応期付き凸状減衰近似統合発火型(CD−IF w/RP)電子ニューロンのブロック図である。
【図7】本発明の一実施形態による、不応期およびコンダクタンスベースの抑制(CD−IF w/RP&CB−I)電子ニューロンのブロック図である。
【図8】本発明の一実施形態による、不応期およびコンダクタンスベースのシナプス(CD−IF w/RP&CB−S)電子ニューロンのブロック図である。
【図9】本発明の一実施形態による、図4と同じ刺激列(stimulation train)に対する抑制性コンダクタンスの値のグラフ例である。
【図10】本発明の一実施形態による、不応期およびコンダクタンスベースのシナプス付き凸状減衰統合発火型電子ニューロンの応答グラフ例である。
【図11】本発明の一実施形態による、図10と同じ刺激列に対する抑制性コンダクタンスの値のグラフ例である。
【図12】本発明の一実施形態による、図10と同じ刺激列に対する興奮性コンダクタンスの値のグラフ例である。
【図13】本発明の一実施形態による、混合モード・デジタル・アナログ統合発火型電子ニューロンの図である。
【図14】本発明の一実施形態による、図13の電子ニューロン用のデジタル・カウンタの図である。
【図15】本発明の一実施形態による、図13の電子ニューロン内で減衰イベントを発生するためのメカニズムを示す図である。
【図16】本発明の一実施形態による、図15のメカニズムに関する充電率グラフである。
【図17】本発明の一実施形態による、図15のメカニズムに関する放電率グラフである。
【図18】本発明の一実施形態による、統合発火型低電力イベント・ドリブン電子ニューロンおよびクロスバー・アレイの図である。
【図19】本発明の一実施形態による、図18の統合発火型低電力イベント・ドリブン電子ニューロンの図である。
【図20】本発明の一実施形態を実装するために有用な情報処理システムの高レベル・ブロック図である。
【発明を実施するための形態】
【0015】
本発明の諸実施形態は、統合発火型ニューロンを含むニューロン・シナプス型システムを提供する。統合発火型電子ニューロン(integrate and fire electronic neuron)は、生物ニューロンで検出された統合およびスパイク特性をシミュレートする計算効率の良いメカニズムである。このような電子ニューロンは、シナプス入力を膜電位電圧変数に統合し、膜電位電圧がしきい値を超えた場合にスパイクおよび電圧リセットを発生することによって動作する。本発明の諸実施形態は、正確な1対1のソフトウェア・ハードウェア対応を可能にし、カスタム・デジタル回路内のソフトウェア・シミュレーションおよびハードウェア・シミュレーションで実装可能な漏出型の統合発火型ニューロン・モデルをさらに提供する。
【0016】
次に図1を参照すると、本発明の一実施形態による、統合発火型電子ニューロンを相互接続するクロスバー・アレイを有するニューロン・シナプス型システム10の図が示されている。一例では、クロスバー・アレイは、約0.1nm〜10μmの範囲内のピッチを有することができる超高密度クロスバー・アレイを含むことができる。ニューロン・シナプス型システム10は、本発明の一実施形態による、複数の統合発火型ニューロン14、16、18、および20を有するクロスバー・アレイ12を含む。これらのニューロンは本明細書では「電子ニューロン」とも呼ばれる。ニューロン14および16は軸索ニューロンであり、ニューロン18および20は樹状突起ニューロンである。
【0017】
軸索ニューロン14および16は、出力22および24が導電性軸索パス/ワイヤ(軸索)26および28にそれぞれ接続された状態で示されている。樹状突起ニューロン18および20は、入力30および32が導電性樹状突起パス/ワイヤ(樹状突起)34および36にそれぞれ接続された状態で示されている。軸索ニューロン14および16は、入力も含み、樹状突起伝いで信号を受信するが、これらの入力および樹状突起は図を単純にするために図示されていない。したがって、軸索ニューロン14および16は、樹状突起接続伝いで入力を受信するときに、樹状突起ニューロンとして機能することになる。同様に、樹状突起ニューロン18および20は、その軸索接続伝いで信号を送出するときに、軸索ニューロンとして機能することになる。ニューロン14、16、18、および20のいずれかが発火したときに、そのニューロンはその軸索接続および樹状突起接続にパルスを送出することになる。本明細書で使用する「ときに(when)」という用語は、ニューロンが発火してから即座にまたはニューロンが発火してからある程度の期間後に、信号が送信されることを意味することができる。
【0018】
軸索26、28と樹状突起34、36との間の各接続はシナプス・デバイス(synapse device)によって行われ、そのシナプス・デバイスは一実施形態では可変状態抵抗(variable state resistor)38、40、42、および44を含む。可変状態抵抗が位置する接合部は、本明細書では「クロスポイント接合部(cross-point junction)」と呼ぶことができる。「可変状態抵抗」という用語は、電気パルス(電圧または電流のいずれか一方)の印加によってデバイスの電気コンダクタンス特性が変化するクラスのデバイスを指す。クロスバー・アレイ・ニューロン・シナプス型システムならびにこのようなクロスバー・アレイで使用される可変状態抵抗について全般的に考察するために、2008年発行のJ. Nanoelectronics andOptoelectronics, 2008の第3巻、203〜230ページに掲載されたK.Likharevによる「Hybrid CMOS/Nanoelectronic Circuits: Opportunities andChallenges」を参照する。本発明の一実施形態では、可変状態抵抗は相変化メモリ(PCM)を含むことができる。PCMデバイスの他に、本発明の諸実施形態で使用可能なその他の可変状態抵抗デバイスとしては、上記で参照したK.Likharevによる論文により詳細に記載されているように、金属酸化物、硫化物、酸化シリコンおよびアモルファスシリコン、磁気トンネル接合、浮遊ゲートFETトランジスタ、および有機薄膜層デバイスを使用して作られたデバイスを含む。また、可変状態抵抗は、スタティック・ランダム・アクセス・メモリ・デバイスを使用して構築することもできる。また、可変状態抵抗にはアクセス・デバイス39も付加され、このアクセス・デバイスは、PNダイオード、ダイオードとして配線されたFET、または非線形の電圧電流応答を有するその他の何らかのエレメントを含むことができる。
【0019】
一般に、本発明の一実施形態により、軸索ニューロン14および16は、樹状突起入力接続(図示せず)から受信する入力がしきい値を超えたときに、「発火する」(パルスを送信または放出する)ことになる。軸索ニューロン14および16が発火すると、それらは、時間の経過につれて(たとえば、約50msec)減衰するA−STDP変数を維持する。A−STDP変数は、たとえば、指数関数、一次関数、多項式関数、または二次関数などの関数に応じて、時間の関数として減衰する。A−STDP変数はサンプリングすることができる。本発明の他の実施形態では、A−STDP変数は、時間の経過につれて減少する代わりに増加することもできる。
【0020】
A−STDP変数は、関連のニューロンの最後の発火以降の時間をエンコードすることにより、軸索STDPを達成するために使用される。軸索STDPは、典型的に、このコンテキストでシナプス・コンダクタンスを増加することとして定義される「増強(potentiation)」を制御するために使用されるが、このコンテキストでシナプス・コンダクタンスを減少させることを指す「下降(depression)」を制御するために使用することもできる。樹状突起ニューロン18、20が発火すると、それらは、時間の経過につれて(たとえば、約50msec)減衰するD−STDP変数を維持する。D−STDP変数は、たとえば、指数関数、一次関数、多項式関数、または二次関数などの関数に応じて、時間の関数として減衰する。D−STDP変数はサンプリングすることができる。本発明の他の実施形態では、この変数は、時間の経過につれて減少する代わりに増加することもできる。
【0021】
D−STDP変数は、以下により詳細に論ずるように、関連のニューロンの最後の発火以降の時間をエンコードすることにより、樹状突起STDPを達成するために使用することができる。樹状突起STDPは、典型的に、このコンテキストでシナプス・コンダクタンスを減少させることとして定義される「下降」を制御するために使用されるが、このコンテキストでシナプス・コンダクタンスを増加することを指す「増強」を制御するために使用することもできる。
【0022】
一実施形態では、本発明は、デジタル回路を使用して実装される統合発火型電子ニューロンを提供する。第1の実装例は、線形漏れ回路と線形ポイント電流(linear point-current)タイプのシナプス・デバイスを使用する、統合発火型ニューロンを含む。第2の実装例は、線形漏れ回路を凸状電圧減衰回路で置き換えることを含み、さらに不応期を使用する。第3の実装例は、コンダクタンスベースの抑制を追加することを含む。第4の実装例は、二重指数コンダクタンスベースのシナプスを実装する。これらの実装例については以下により詳細に説明する。
【0023】
線形漏れ統合発火型(LL−IF)
本発明の第1の実装例は、図5のブロック図例によって示されているように、線形漏れ統合発火型(LL−IF)電子ニューロン80を含む。LL−IFニューロン80によって受信された各興奮性スパイクについて、入力積分器モジュール81は一定の量s+だけニューロンの膜電位Vを増加し、ニューロンが受信する各抑制性スパイクについて、入力積分器モジュール81は一定の量s-だけVを減少させる。ニューロン膜漏れは、漏出器(leaker)モジュール82を使用して各時間ステップ内でλだけVを線形に減少させることによってシミュレートされる。1つのデジタル・クロック信号は複数の時間ステップを提供する。比較器モジュール83により、ニューロン80への入力がしきい値θより上にVを増加する場合、スパイクが生成され、Vがリセット値Vresetに設定される。
【0024】
ニューロン・パラメータは非負整数であり、n+は1つの時間ステップ内で受信した興奮性スパイクの数であり(整数[0,63])、n-は1つの時間ステップ内で受信した抑制性スパイクの数であり(整数[0,63])、s+は∈{0,1,2,4,8,16,32}である興奮強度であり、s-は∈{0,1,2,4,8,16,32}である抑制強度であり、効率のために、s+およびs-は2の累乗になるように制限されており、θはVと同じ分解能を有する整数であるスパイクしきい値であり、Vresetはリセット電圧であり(単純にするため、Vreset=0と想定されている)、λは漏れ率である(整数[0,63])。
【0025】
ニューロン・ダイナミクスに関しては、Vはデジタル・カウンタによって維持される膜電圧(8ビットで表される非負整数)であり、Vは折り返さず、Vがすでにゼロである場合にV−1は依然としてゼロになる。Vに関する更新規則は、以下の式に応じてVを更新することを含む。
V(t)=V(t−1)−λ+s++−s--
ここで、s+は+s++がn+のビットシフト加算になるような2の累乗である。さらに、s-は−s--がn-のビットシフト減算になるような2の累乗である。
【0026】
このニューロンに関するスパイク条件は以下のものを含む。
V(t)θである場合、V(t)=Vresetを設定し、スパイクを放出する。
【0027】
図2は、時間に関して、入力なし(0〜200時間ステップ)、確率興奮性入力(201〜400時間ステップ)、および確率興奮性抑制性入力(401〜600時間ステップ)という条件に対するLL−IF電子ニューロンのV変数の応答グラフ例51を示している。各時間ステップ内の入力スパイクの数はガウス分布(μ=1,δ=1)から引き出され、負数はゼロに丸められている。各時間ステップの長さはデジタル・クロック信号によって決定される。1msecの時間ステップは、生物ニューロンで検出されたものを近似する時間スケール上での挙動を生成する。使用されるパラメータ値は、s+=24、s-=23、θ=200、Vreset=0、λ=6である。
【0028】
不応期付き凸状減衰統合発火型(CD−IF w/RP)
本発明の第2の実装例は、図6のブロック図例によって示されているように、不応期付き凸状減衰近似統合発火型(CD−IF w/RP)電子ニューロン85を含む。CD−IF w/RP電子ニューロン85は不応期を有し、ニューロンが受信する各興奮性スパイクについて、入力積分器86は一定の量s+だけ膜電位Vを増加し、ニューロンが受信する各抑制性スパイクについて、入力積分器86は一定の量s-だけVを減少させる。ニューロン膜漏れは、漏出器モジュール87が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされる(したがって、静止膜電位が0であると想定する)。比較器モジュール88により、ニューロンへの入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。ニューロンがスパイクを生成すると、不応期発生器モジュール89がρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。
【0029】
すべてのニューロン・パラメータは非負整数であり、n+は1つの時間ステップ内で受信した興奮性スパイクの数であり(整数[0,63])、n-は1つの時間ステップ内で受信した抑制性スパイクの数であり(整数[0,63])、s+は∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、s-は∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、s+およびs-は2の累乗になるように制限されており、θはスパイクしきい値(Vと同じ分解能を有する整数)であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、ρは不応期である(整数[0,63])。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。
【0030】
ニューロン・ダイナミクスに関しては、Vは膜電位カウンタ(10ビットで表される非負整数)であり、Vは折り返さず、Vがすでにゼロである場合にV−1は依然としてゼロになる。rは不応期カウンタ(6ビットで表される正整数)であり、rは折り返さない。
【0031】
更新規則は、以下のものを含む。
r(t)>0である場合、r(t)=r(t−1)−1であり、Vを更新せず、
さもなければ、
【数1】


に応じてVを更新する。
ここで、s+は+s++がn+のビットシフト加算になるような2の累乗である。さらに、s-は−s--がn-のビットシフト減算になるような2の累乗である。さらに、τは−V(t−1)/τがV(t−1)のビットシフト減算になるような2の累乗である。
【0032】
このニューロンに関するスパイク条件は以下のものを含む。
V(t)θである場合、r(t)=ρを設定し、スパイクを放出する。
【0033】
図3は、入力なし(たとえば、0〜200時間ステップ)、確率興奮性入力(たとえば、201〜400時間ステップ)、および確率興奮性抑制性入力(たとえば、401〜600時間ステップ)に対するCD−IF w/RP電子ニューロンの応答グラフ例52を示している。各時間ステップ内の入力スパイクの数はガウス分布(μ=1,δ=1)から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s+=26、s-=25、θ=700、Vreset=0、ρ=8、およびτ=16である。
【0034】
不応期およびコンダクタンスベースの抑制付き凸状減衰統合発火型(CD−IF w/RP&CB−I)
本発明の第3の実装例は、図7のブロック図例によって示されているように、不応期およびコンダクタンスベースの抑制付き凸状減衰近似統合発火型(CD−IF w/RP&CB−I)電子ニューロン90を含む。CD−IF w/RP&CB−Iニューロン90が受信する各興奮性スパイクについて、入力積分器モジュール91は一定の量s+だけ膜電位Vを増加し、入力積分器モジュール91によって受信された各抑制性スパイクについて、入力積分器モジュール91は一定の量s-だけ抑制性チャネル・コンダクタンスgを増加する。シナプス・コンダクタンス計算器モジュール92は各時間ステップで抑制性チャネル・コンダクタンス減衰を提供し、率は時定数τgによって支配される。次に、以下のように膜電位Vを減少させることにより、各時間ステップで入力積分器モジュール91によって抑制が膜電位に統合される。
【数2】


ここで、gscaleはgの倍率である(これは0という抑制性逆転電位を想定している)。膜漏れは、漏出器モジュール93が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされる(したがって、静止膜電位が0であると想定する)。比較器モジュール94Aにより、ニューロンへの入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。不応期発生器モジュール94Bにより、ニューロンがスパイクを生成すると、ρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。
【0035】
すべてのパラメータは非負整数であり、n+は1つの時間ステップ内で受信した興奮性スパイクの数であり(整数[0,63])、n-は1つの時間ステップ内で受信した抑制性スパイクの数であり(整数[0,63])、s+は∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、s-は∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、s+およびs-は2の累乗になるように制限されており、θはスパイクしきい値(Vと同じ分解能を有する整数)であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、τgは∈{1,2,4,8...28}である抑制性コンダクタンス時定数であり、効率のために、τgはgの範囲内の2の累乗になるように制限されており、ρは不応期であり(整数[0,63])、gscaleはgの区分倍率(divisive scaling factor)である(整数[10,16])。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。
【0036】
ダイナミクスに関しては、Vは膜電圧カウンタ(10ビットで表される非負整数)であり、Vは折り返さず、Vがすでにゼロである場合にV−1は依然としてゼロになる。rは不応期カウンタ(6ビットで表される正整数)であり、rは折り返さない。gは抑制性コンダクタンス(10ビットで表される正整数)であり、gは折り返さない。
【0037】
このニューロンに関する更新規則は、以下のものを含む。
【数3】


ここで、τgは2の累乗であり、−g(t−1)/τgはg(t−1)のビットシフト減算であり、s-は2の累乗であり、−s--はn-のビットシフト減算である。
【0038】
r(t)>0である場合、r(t)=r(t−1)−1であり、Vを更新せず、
さもなければ、
【数4】


に応じてVを更新する。
ここで、k=gscale−floor(log2(g(t)))であり、floor(log2(x))はx内の最上位非ゼロ・ビットの位置であり、kは整数であり、(V(t−1)/2k)はV(t−1)のビットシフト・バージョンである。さらに、s+は+s++がn+のビットシフト加算になるような2の累乗である。さらに、τは−V(t−1)/τがV(t−1)のビットシフト減算になるような2の累乗である。
【0039】
このニューロンに関するスパイク条件は以下のものを含む。
V(t)θである場合、r(t)=ρを設定し、スパイクを放出する。
【0040】
図4は、入力なし(0〜200時間ステップ)、確率興奮性入力(201〜400時間ステップ)、および確率興奮性抑制性入力(401〜600時間ステップ)に対するCD−IF w/RP&CB−I電子ニューロンの応答グラフ例53を示している。各時間ステップ内の入力スパイクの数はガウス分布(μ=1,δ=1)から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s+=26、s-=25、θ=700、Vreset=0、ρ=8、およびτg=8、gscale=8である。図9は、図4と同じ刺激列に対する抑制性コンダクタンスgの値のグラフ例54を示している。
【0041】
不応期およびコンダクタンスベースのシナプス付き凸状減衰統合発火型(CD−IF w/RP&CB−S)
本発明の第4の実装例は、図8のブロック図例によって示されているように、不応期およびコンダクタンスベースのシナプス付き凸状減衰近似統合発火型(CD−IF w/RP&CB−S)電子ニューロン95を含む。シナプス・チャネル・コンダクタンスは指数コンダクタンス変数g1およびg2の差としてモデル化され、これらの変数はニューロンへの各入力によって強度係数sだけ増加する。次に、シナプス・コンダクタンス計算器モジュール96により、コンダクタンス変数は各時間ステップで減衰し、率は時定数τgによって支配される。各時間ステップにおいて、入力積分器モジュール97が以下のようにシナプス電流を使用することにより、ニューロン膜電位Vが変更される。
【数5】


ここで、gscaleはgの倍率であり、Erevはチャネル逆転電位であって、抑制性チャネルの場合は0になり、興奮性チャネルの場合は210+2EEshiftになるように想定されている。膜漏れは、漏出器モジュール98が各時間ステップ内で時定数τに応じてVを減衰することによってシミュレートされる(したがって、静止膜電位が0であると想定する)。比較器モジュール99Aにより、ニューロン95への入力がしきい値θより上にVを増加する場合、ニューロンはスパイクを生成し、VがVresetに設定される。不応期発生器99Bにより、ニューロンがスパイクを生成すると、ρ時間ステップの間、VをVresetに保持することによって不応期がシミュレートされる。
【0042】
すべてのパラメータは非負整数であり、n+は受信した興奮性スパイクの数であり(整数[0,63])、n-は受信した抑制性スパイクの数であり(整数[0,63])、s+は∈{0,1,2,4,8,16,32,64,128}である興奮強度であり、s-は∈{0,1,2,4,8,16,32,64,128}である抑制強度であり、効率のために、s+およびs-は2の累乗になるように制限されており、θはスパイクしきい値(Vと同じ分解能を有する整数)であり、Vresetはリセット電圧であって、θより小さい任意の正整数にすることができ、τは∈{1,2,4,8...210}である膜時定数であり、効率のために、τはVの範囲内の2の累乗になるように制限されており、τgI1は∈{1,2,4,8...28}である第1の抑制性コンダクタンス時定数であり、τgI2は∈{1,2,4,8...28}である第2の抑制性コンダクタンス時定数であり、τgE1は∈{1,2,4,8...28}である第1の興奮性コンダクタンス時定数であり、τgE2は∈{1,2,4,8...28}である第2の興奮性コンダクタンス時定数であり、効率のために、すべてのτgはgの範囲内の2の累乗になるように制限されており、ρは不応期であり(整数[0,63])、gEscaleは興奮性コンダクタンスに関する区分倍率であり(整数[10,16])、gIscaleは抑制性コンダクタンスに関する区分倍率であり(整数[10,16])、EEShiftはしきい値より大きい興奮性逆転電位に合わせて調整する(整数[10,13])。本明細書に示されているパラメータ範囲は例に過ぎない。当業者であれば、本発明の諸実施形態では複数のパラメータ範囲が可能であり有用であることを認識するであろう。
【0043】
ダイナミクスに関しては、Vは膜電圧(10ビットで表される非負整数)であり、Vは折り返さず、Vがすでにゼロである場合にV−1は依然としてゼロになる。rは不応期カウンタ(6ビットで表される正整数)であり、rは折り返さない。gI1は抑制性指数変数1(10ビットで表される正整数)である。gI2は抑制性指数変数2(10ビットで表される正整数)である。gE1は興奮性指数変数1(10ビットで表される正整数)である。gE2は興奮性指数変数2(10ビットで表される正整数)である。すべてのg値は折り返さない。
【0044】
このニューロンに関する更新規則は、以下のものを含む。
【数6】


に応じてgI1を更新する。
【数7】


に応じてgI2を更新する。
【数8】

+
に応じてgE1を更新する。
【数9】

+
に応じてgE2を更新する。
ここで、τgは2の累乗であり、−g(t−1)/τgはg(t−1)のビットシフト減算であり、s-は2の累乗であり、−s--はn-のビットシフト減算であり、s+は2の累乗であり、+s++はn+のビットシフト加算である。
【0045】
r(t)>0である場合、r(t)=r(t−1)−1であり、Vを更新せず、
さもなければ、
【数10】


に応じてVを更新する。
ここで、kI=gIscale−floor(log2(gI1−gI2))であり、kE=gEscale−floor(log2(gE1−gE2))であり、kは整数であり、x/2kはxのビットシフト・バージョンであり、floor(log2(x))はx内の最上位非ゼロ・ビットの位置であり、210−VはVのビット単位の補数であり、210−V+EEShiftは210−Vのビットシフト・バージョンである。さらに、τは−V(t−1)/τがV(t−1)のビットシフト減算になるような2の累乗である。
【0046】
このニューロンに関するスパイク条件は以下のものを含む。
V(t)θである場合、r(t)=ρを設定し、スパイクを放出する。
【0047】
図10は、入力なし(0〜200時間ステップ)、確率興奮性入力(201〜400時間ステップ)、および確率興奮性抑制性入力(401〜600時間ステップ)に対するCD−IF w/RP&CB−S電子ニューロンの応答グラフ例55を示している。各時間ステップ内の入力スパイクの数はガウス分布(μ=1,δ=1)から引き出され、負数はゼロに丸められている。使用されるパラメータ値は、s+=26、s-=25、θ=700、Vreset=0、ρ=8、τ=16、τgI1=2、τgI2=8、τgE1=1、τgE2=2,gIscale=10、gEscale=12、EEShift=12、gscale=8である。
【0048】
図11は、図10と同じ刺激列に対する抑制性コンダクタンスgの値のグラフ例を示している。図12は、図10と同じ刺激列に対する興奮性gの値のグラフ例を示している。
【0049】
本明細書に記載されている本発明の実装例では、興奮強度パラメータおよび抑制強度パラメータs+およびs-は2の累乗に制限されている。この制限により、電子ニューロンは、単純なビットシフト操作を使用して、各時間ステップ内に受信した興奮性スパイクおよび抑制性スパイクの数n+およびn-にそれぞれの強度パラメータを掛けることによって、入力スパイクを効率よく統合することができる。次に、加算または減算により、結果値を電圧またはシナプス・コンダクタンスのうち電子ニューロンに適した方に統合することができる。
【0050】
シナプス強度パラメータを2の累乗に制限することによって提供されるものより精密な制御がそれらのパラメータに対して行われることが望ましい場合がある。このような制御は、シナプス強度パラメータを所与の範囲内の任意の正整数(たとえば、[0,127])にして、さらに柔軟性を提供することによって達成することができる。次に、n+回だけ適切な変数にs+を加えることによって興奮性スパイクを統合することができ、n-回だけ適切な変数からs-を引くことによって抑制性スパイクを統合することができる。電子ニューロンが時間ステップあたり多くても1つの興奮性入力スパイクと1つの抑制性入力スパイクを受信する場合、この実装例は上記で詳述した実装例と同じ程度に効率が良いものである。
【0051】
CD−IFニューロン膜電位更新規則は以下の通りである。
【数11】


これは、上記の第2および第3の実装例に関するものであり、伝統的な統合発火型(IF)ニューロン・モデルで使用される膜電圧の指数関数的減衰に対する凸状近似を提供し、したがって、以下の対応する膜更新規則に比較してより高度の生物学的リアリズムが得られる。
V(t)=V(t−1)−λ+s++−s--
これは、本発明の第1の実施形態に関するものであり、時間の経過につれて膜電圧が一定の直線傾斜下降することを使用する。
【0052】
以下のように混合膜更新規則を使用することもできる。
【数12】


ここで、電圧依存区分漏れおよび電圧非依存線形漏れの項の両方を使用して、この混合膜更新規則はさらに同調可能性を提供する。
【0053】
本発明の一実施形態により、混合膜更新規則を実装するニューロン・シナプス型システムが上記の本発明の第1、第2、および第3の実装例の挙動を複製する際のパラメータ値を選択することができる。
【0054】
イベントベースのニューロン更新も使用することができる。本明細書に記載されている更新規則はデジタル・クロック駆動方式で電子ニューロンの更新を提供し、1つまたは複数の状態変数は各時間ステップで変化する。イベントが発生したときに状態変数のみが変化するように、イベントベースの方式でニューロンをシミュレートすることができる。これは、各ニューロンに関するカウンタKを保持することによって達成することができ、このカウンタはイベントが発生するたびにゼロに設定され、各時間ステップで1だけ増分する。次に、このカウンタにより、イベントが発生するたびに状態変数プロセスが変化する。たとえば、本発明の第1の実装例に関するプロセスは以下のように変化する。
更新規則:
V=V−Kλ+s++−s--に応じてVを更新する。
+は2の累乗であるので、+s++はn+のビットシフト加算である。
-は2の累乗であるので、−s--はn-のビットシフト減算である。
スパイク条件:
V(t)θである場合、
V(t)=Vresetを設定し、スパイクを放出する。
【0055】
このため、本発明の諸実施形態は専用デジタル電子ニューロンを使用して生物学的脳のシミュレーションを容易にし、この電子ニューロンは製作中に発生する小規模なハードウェアの変動の影響をあまり受けない。
【0056】
本発明の諸実施形態はさらに、完全に非同期で電力効率が良いニューロン・シナプス型ハードウェア実装により、混合モード・デジタル・アナログ統合発火型電子ニューロンを提供する。
【0057】
図13は、本発明による混合モード・デジタル・アナログ統合発火型電子ニューロン60の実装例の図を示している。混合モード・ニューロンはその膜電位(状態)をデジタル状態カウンタ62で維持する。このニューロンが興奮性ニューロンからのスパイクを含む外部信号を受信すると、状態カウンタ62は小さい整数(典型的に1に設定される)だけ増分される。このニューロンが抑制性ニューロンからのスパイクを含む外部信号を受信すると、状態カウンタ62は小さい整数(典型的に1に設定される)だけ減分される。変更する必要がある状態カウンタ62内のビットのみが変更されるように、この増分および減分は電力効率が良いビット単位の方式で実行される。状態カウンタが比較器63によって決定されたしきい値を超えた場合、このニューロンは発火し、パルス・モジュール64を介してスパイクを放出する。
【0058】
図14では、状態カウンタ62のMSB(最上位ビット)および下位ビット(MSBビット以外のものすべて)が識別されている。減衰イベントを発生するためのメカニズム61が設けられている(図13)。減衰イベントが発生したときに以下のものを実装することによって効率の良い状態カウンタ漏れを達成することができる。
状態カウンタのMSBが1である場合、
状態カウンタのMSBがゼロに設定される。
さもなければ
すべての下位ビットがゼロに設定される。
終了。
【0059】
図15を参照すると、第1の実施形態では、減衰イベントを発生するためのメカニズム61は、数ミリ秒のRC時定数を有するアナログ抵抗−容量(RC)回路を含む(たとえば、約5〜20msecの範囲内の値により、電子ニューロンは生物ニューロンで観察された挙動を再生することができるであろう)。電子ニューロン60がスパイクを生成すると、容量Cは急速に放電される。
【0060】
次に、容量Cは、図16の例によって示されているように、ゆっくり充電する。容量Cがしきい値(たとえば、その完全充電の86.5%)に到達すると、減衰イベントが発生し、以下の動作が回路61内で実行される。
容量61Aはスイッチ61Bを介して急速に放電され、電流源61Dからスイッチ61Cを介してもう一度充電を開始する。
状態カウンタ62のMSBが1である場合、
状態カウンタのMSBがゼロに設定される。
さもなければ
すべての下位ビットがゼロに設定される。
終了。
【0061】
第2の実施形態では、減衰イベントを発生するためのメカニズム61は、数ミリ秒のRC時定数を有するRC回路(図15の例によって示されているものなど)を含む(たとえば、約5〜20msecの範囲内の値により、電子ニューロンは生物ニューロンで観察された挙動を再生することができるであろう)。電子ニューロン60がスパイクを生成すると、容量Cは急速に放電される。さらに、以下の動作が実行される。
ステップ1:容量Cは開始値からゆっくり充電する(図16)。スパイク・イベントが発生したばかりである場合、開始値はゼロであり、そうではない場合、開始値は、容量Cがすでに備えている電荷である。容量Cが第1のしきい値(たとえば、その完全充電の86.5%)に到達すると、減衰イベントが発生し、以下の動作が実行される。
状態カウンタ62(図13)のMSBが1である場合、
状態カウンタ62のMSBがゼロに設定される。
さもなければ
状態カウンタ62のすべての下位ビットがゼロに設定される。
終了。
ステップ2に移行する。
ステップ2:次に容量Cは、それがすでに備えている電荷から始めて、図17に示されているようにゆっくり放電する。容量Cが第2のしきい値(たとえば、その完全充電の約13.5%または14.5%)に到達すると、減衰イベントが発生し、以下の動作が実行される。
状態カウンタ62(図13)のMSBが1である場合、
状態カウンタ62のMSBがゼロに設定される。
さもなければ
状態カウンタ62のすべての下位ビットがゼロに設定される。
終了。
ステップ1に移行する。ステップ1の充電はこの時点では空の容量からではなく、容量がすでに備えている電荷から始めることになる。
【0062】
パーセンテージに関しては、好ましくは以下のようになる。
第1のしきい値+第2のしきい値=100%
【0063】
上記のステップ1とステップ2は互いに逆であり、ステップ1ではエネルギー(すなわち、電荷)が容量Cに供給され、ステップ2ではエネルギーが容量Cから抽出される。このため、正味のエネルギー損失は削減される。
【0064】
状態カウンタ62は、電子ニューロン60が興奮性信号を受信したときに増分動作を続行し、電子ニューロン60が抑制性信号を受信したときに減分動作を続行する。いつでも状態カウンタ62がしきい値(たとえば、約255)に到達した場合、電子ニューロン60は発火し、スパイク信号を放出する。電子ニューロン90がスパイクを生成すると、容量Cは急速に放電される。
【0065】
上記の例では、スパイク・イベントが発生すると、容量Cが放電される。エネルギー損失を回避するために、放電動作を除去することができる。これは、追加の異質性と、ニューロン発火におけるランダム性の発生源をもたらすものである。
【0066】
代わって、抵抗とインダクタと容量とを含むRLC回路において、2つの容量を使用することができる。ニューロンは、両方の容量が放電状態にある状態から始める。最初は、第1の容量が電流源を介してしきい値に到達するまで第1の容量が充電され、その間に第2の容量はインダクタを介して電流源に放電する。第1の容量がしきい値に到達すると、2つの容量の役割が逆転する。次に、第2の容量が電流源を介してしきい値に到達するまで第2の容量が充電され、その間に第1の容量はインダクタを介して電流源に放電する。第2の容量がしきい値に到達すると、2つの容量の役割がもう一度逆転する。このように、サイクルが継続する。したがって、2つの容量を交互にすることにより、エネルギー損失が最小限になる。
【0067】
本発明による混合モード電子ニューロンの諸実施形態は、いくつかのこのようなニューロン間の非同期動作を提供し、減衰容量に関するエネルギー消費を削減する際に効率的である(容量内のエネルギー損失は、スパイク・イベントが発生したときにのみ発生し、必要であれば、これさえも最小限にすることができる)。混合モード・ニューロンは、状態カウンタを操作する際に最小限のエネルギーを必要とする(状態カウンタに関するエネルギー損失は、新しい情報が到着したとき、または減衰イベントが発生したとき、またはスパイク・イベントが発生したときにのみ発生する)。ニューロン間には固有の異質性が存在する。ニューロンは、自然にバイナリ・シナプスとのインターフェースを取り、ニューロン同士を相互接続するためにクロスバー・アレイとの高速インターフェース(たとえば、10nsec未満)をサポートする(アナログ専用ニューロンは長時間(0.1ms)の電流の流れを必要とする)。混合モード・ニューロンは、蓄積(デジタル状態カウンタ)および減衰(アナログRC回路)のプロセスを分離する。
【0068】
低電力イベント・ドリブン(LPED)電子ニューロン回路は、上記のLL−IFニューロンをハードウェアで実現したものである。LPED電子ニューロンは、貴重な資源(たとえば、クロスバー・アレイへのアクセス)を解放するために迅速にイベントを処理する。イベントは比較的低速で到着するので(たとえば、各ニューロンは平均して10,000入力×10Hz=105イベント/秒で受信する)、本発明の一実施形態による純粋なイベント・ドリブン電子ニューロンは、低い動的電力消費により改善されたサービス時間(たとえば、イベントあたり数ナノ秒未満)を提供する。
【0069】
図18は、クロスバー・アレイ回路12に接続された本発明の一実施形態によるLPED電子ニューロン70の図を示している。図19は、本発明の一実施形態による、図18のLL−IF LPED電子ニューロン70に関する回路のより詳細な図を示している。ニューロン・パラメータ(たとえば、8ビットの符号付きの値)としては、興奮性シナプス強度(E)、抑制性シナプス強度(I)、漏れ強度(L)、リセット値(R)、およびしきい値(T)を含む。
【0070】
この実施形態では、LPED電子ニューロン70は2つの樹状突起チャネル(ExcおよびInh)上でシナプス・イベントを受信し、これらのイベントは、クロスバー・アレイ、仮想化ネットワークを含む多数の発生源から到着するか、または他のニューロンから発生した軸索から直接、到着する可能性がある。イベントは相互排他的に(一度に1つずつ)到着し、各イベントは他のイベントを受け入れる前にLPED電子ニューロン70によって完全に処理される。他の実施形態では、イベント到着は排他的になるように制限されないが、LPED電子ニューロン70は、一度に1つずつ選択して、その複数入力間でアービトレーションを行う必要がある。また、LPED電子ニューロン70は、個別チャネル上で同期イベントも受信する。その出力のために、LPED電子ニューロン70は軸索チャネル上でスパイク・イベントを送信する。
【0071】
イベント・ドリブン・ニューロン・システムでは、イベントが到着する順序はアービトレーションのために決定的ではない。非決定的イベント到着が存在する場合でも、1)すべての保留シナプス・イベントが時間ウィンドウt内で処理される(ニューロン膜電位Vtが一度にイベント1つずつについて更新される)シナプス更新フェーズと、2)スパイク・イベントが存在するかどうかを判断するためにVtとしきい値が比較されるスパイク計算フェーズという2つのフェーズに計算を分けることにより、LPEDニューロンをソフトウェア記述に正確に一致させることができる。スパイクの有無をチェックする前に、第1のフェーズでイベントが処理される順序がVtの最終値を変更しないので(ニューロンが線形であるため)、LPEDニューロンは決定的な挙動を示す。
【0072】
ニューロン70は、制御モジュール75と、更新値モジュール73と、リセット・モジュール76と、加算器/ラッチ・モジュール71と、比較モジュール72とを含む。制御モジュール75は、シナプス・イベント用のCaおよびCbと、同期イベント用のCcと、Vtの符号(正または負)を決定するためのCxと、Vt>T(しきい値)という条件を判断するためのCfという5つの入力チャネルを有する。ニューロン70は、Vtを更新するための値を選択するためのCdと、VtをリセットするためのCeと、スパイク・イベントを送信するためのCsという3つの出力チャネルを有する。更新値モジュール73は、Vtに対して可能な更新の値を保管し、選択するための3つの値(8ビットの符号付きの数値)、すなわち、E、I、およびLを有する。この値は、Cdによって制御モジュール75から選択され、加算器/ラッチ・モジュール71に送信される。加算器/ラッチ・モジュール71は、Aと値BとしてVtについて11ビットの符号付き加算を実行し、C上に合計Vt+1を生成し、D上で加算の符号を送信する。この合計は加算器71の出力にあるラッチに保管される。リセット・モジュール76は、Vtをリセット値Rで置き換えるか、または制御モジュール75からのCe上で不変かつ条件付きのVt+1を送信する。比較モジュール72は、Vt+1をTと比較し、その結果をCf上で制御モジュール75に送信する。
【0073】
本明細書で使用する電子ニューロンという用語は、生物ニューロンをシミュレートするように構成されたアーキテクチャを表す。電子ニューロンは、生物学的脳のニューロンと機能的にほぼ同等の処理要素間の接続を作成する。このため、本発明の諸実施形態による電子ニューロンを含むニューロン・シナプス型システムは、生物ニューロンを手本にした様々な電子回路を含むことができる。さらに、本発明の諸実施形態による電子ニューロンを含むニューロン・シナプス型システムは、生物ニューロンを手本にした様々な処理要素(コンピュータ・シミュレーションを含む)を含むことができる。電子回路を含む電子ニューロンを使用して本発明の特定の例示的な諸実施形態について本明細書で説明してきたが、本発明は電子回路に限定されない。本発明の諸実施形態によるニューロン・シナプス型システムは、回路を含むニューロン・シナプス型アーキテクチャとして、さらにコンピュータ・シミュレーションとして実装することができる。実際に、本発明の諸実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェア要素とハードウェア要素の両方を含む一実施形態の形を取ることができる。
【0074】
本発明の諸実施形態は、コンピュータ、処理装置、または任意の命令実行システムによりあるいはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・シミュレーションまたはプログラムの形を取ることができる。当業者であれば認識するように、本発明の諸態様は、システム、方法、またはコンピュータ・プログラムとして実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェア態様とハードウェア態様を結合した一実施形態の形を取ることができ、このような実施形態は一般に本明細書ではいずれも「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本発明の諸態様は、コンピュータ可読プログラム・コードがそこに実施されている1つまたは複数のコンピュータ可読媒体に実施されたコンピュータ・プログラムの形を取ることもできる。
【0075】
1つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、もしくはこれらの任意の適切な組み合わせにすることができるが、これらに限定されないものである。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)としては、1つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含むであろう。本書に関連して、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管可能な任意の有形媒体にすることができる。
【0076】
コンピュータ可読信号媒体は、たとえば、ベースバンド内にまたは搬送波の一部として、コンピュータ可読プログラム・コードがそこに実施されている伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを伝達、伝搬、または移送可能な任意のコンピュータ可読媒体にすることができる。
【0077】
コンピュータ可読媒体上に実施されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。本発明の諸態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語ならびに「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。このプログラム・コードは、スタンドアロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で、一部分はユーザのコンピュータ上で、一部分はユーザのコンピュータ上でしかも一部分はリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続される場合もあれば、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して接続が行われる場合もある。
【0078】
本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラムの流れ図あるいはブロック図またはその両方に関連して、本発明の諸態様について以下に説明する。流れ図あるいはブロック図またはその両方の各ブロックならびに流れ図あるいはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることが理解されるであろう。これらのコンピュータ・プログラム命令は、マシンを生産するために汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供することができ、それにより、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するための手段を作成することになる。
【0079】
また、これらのコンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスに対して特定の方法で機能するよう指示することができるコンピュータ可読媒体に保管することもでき、それにより、コンピュータ可読媒体に保管された命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装する命令を含む生産物(article of manufacture)を生産することになる。
【0080】
また、これらのコンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上にロードして、コンピュータによって実装されるプロセスを生成するためにコンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させることができ、それにより、コンピュータまたはその他のプログラマブル装置上で実行される命令は流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するためのプロセスを提供することになる。
【0081】
図20は、本発明の一実施形態を実装するために有用な情報処理システムを示す高レベル・ブロック図である。このコンピュータ・システムは、プロセッサ102などの1つまたは複数のプロセッサを含む。プロセッサ102は、通信インフラストラクチャ104(たとえば、通信バス、クロスバー、またはネットワーク)に接続されている。
【0082】
コンピュータ・システムは、ディスプレイ装置108上に表示するために通信インフラストラクチャ104から(または図示していないフレーム・バッファから)グラフィックス、テキスト、およびその他のデータを転送するディスプレイ・インターフェース106を含むことができる。また、コンピュータ・システムは、好ましくはランダム・アクセス・メモリ(RAM)であるメイン・メモリ110も含み、2次メモリ112を含むこともできる。2次メモリ112は、たとえば、ハード・ディスク・ドライブ114あるいは、たとえば、フレキシブル・ディスク・ドライブ、磁気テープ・ドライブ、または光ディスク・ドライブを表す取り外し可能ストレージ・ドライブ116またはその両方を含むことができる。取り外し可能ストレージ・ドライブ116は、当業者にとって周知の方法で、取り外し可能ストレージ・ユニット118からの読み取りあるいは取り外し可能ストレージ・ユニット118への書き込みまたはその両方を行う。取り外し可能ストレージ・ユニット118は、たとえば、フレキシブル・ディスク、コンパクト・ディスク、磁気テープ、または光ディスクなどを表し、取り外し可能ストレージ・ドライブ116によって読み書きされる。認識されるように、取り外し可能ストレージ・ユニット118は、コンピュータ・ソフトウェアあるいはデータまたはその両方がそこに保管されているコンピュータ可読媒体を含む。
【0083】
代替諸実施形態では、2次メモリ112は、コンピュータ・プログラムまたはその他の命令をコンピュータ・システムにロードできるようにするためのその他の同様の手段を含むことができる。このような手段は、たとえば、取り外し可能ストレージ・ユニット120およびインターフェース122を含むことができる。このような手段の例としては、プログラム・パッケージおよびパッケージ・インターフェース(ビデオ・ゲーム・デバイス内に使用されているものなど)、取り外し可能メモリ・チップ(EPROMまたはPROMなど)および関連ソケット、ならびにその他の取り外し可能ストレージ・ユニット120と取り外し可能ストレージ・ユニット120からコンピュータ・システムにソフトウェアおよびデータを転送できるようにするインターフェース122を含むことができる。
【0084】
また、コンピュータ・システムは通信インターフェース124を含むこともできる。通信インターフェース124は、コンピュータ・システムと外部装置との間でソフトウェアおよびデータを転送できるようにするものである。通信インターフェース124の例としては、モデム、ネットワーク・インターフェース(イーサネット・カードなど)、通信ポート、またはPCMCIAスロットおよびカードなどを含むことができる。通信インターフェース124を介して転送されるソフトウェアおよびデータは信号の形になっており、この信号は、たとえば、通信インターフェース124によって受信可能な電子信号、電磁信号、光信号、またはその他の信号にすることができる。これらの信号は通信パス(すなわち、チャネル)126を介して通信インターフェース124に提供される。この通信パス126は、信号を運搬するものであり、ワイヤまたはケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波(RF)リンク、あるいはその他の通信チャネル、またはこれらの組み合わせを使用して実装することができる。
【0085】
本明細書では、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は、一般に、メイン・メモリ110および2次メモリ112、取り外し可能ストレージ・ドライブ116、ならびにハード・ディスク・ドライブ114に取り付けられたハード・ディスクなどの媒体を指すために使用されている。
【0086】
コンピュータ・プログラム(コンピュータ制御ロジックとも呼ばれる)はメイン・メモリ110あるいは2次メモリ112またはその両方に保管される。また、コンピュータ・プログラムは通信インターフェース124を介して受信することもできる。このようなコンピュータ・プログラムが実行されると、コンピュータ・システムは本明細書で論じた本発明の特徴を実行することができる。特に、コンピュータ・プログラムが実行されると、プロセッサ102はコンピュータ・システムの特徴を実行することができる。したがって、このようなコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。
【0087】
上記の図面内の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラムについて可能な実装例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能(複数も可)を実装するための1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実装例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることにも留意されたい。たとえば、連続して示されている2つのブロックは、関係する機能に応じて、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックならびにブロック図あるいは流れ図またはその両方の複数ブロックの組み合わせは、指定の機能または動作を実行する特殊目的ハードウェアベースのシステムによって、または特殊目的ハードウェアとコンピュータ命令の組み合わせによって、実装可能であることも留意されるであろう。
【符号の説明】
【0088】
80 線形漏れ統合発火型(LL−IF)電子ニューロン
81 入力積分器
82 漏出器
83 比較器

【特許請求の範囲】
【請求項1】
統合発火型電子ニューロンの外部スパイク信号に応じて、前記外部スパイク信号に基づいてニューロン膜電位を表すデジタル膜電位を更新するステップと、
漏れ率に基づいて前記デジタル膜電位を減衰するステップと、
前記デジタル膜電位がしきい値を超えたことに応じて、スパイク信号を生成するステップと、
を含む、方法。
【請求項2】
前記膜電位を更新するステップが、
外部興奮性スパイク信号の受信に応じて、1の時間ステップで受信した興奮性スパイク信号の数に第1のスケーリング・パラメータを掛けたものに等しい増加分だけ前記膜電位を増加するステップと、
外部抑制性スパイク信号の受信に応じて、1の時間ステップで受信した抑制性スパイク信号の数に第2のスケーリング・パラメータを掛けたものに等しい減少分だけ前記膜電位を減少させるステップと、
を含む、請求項1記載の方法。
【請求項3】
前記第1のスケーリング・パラメータが2の倍数であり、前記受信した興奮性スパイクの数に前記倍率を掛けることがデジタル・ビットシフト操作によって行われる、請求項2記載の方法。
【請求項4】
前記第2のスケーリング・パラメータが2の倍数であり、前記受信した抑制性スパイクの数に前記倍率を掛けることがデジタル・ビットシフト操作によって行われる、請求項2記載の方法。
【請求項5】
前記膜電位を減衰するステップが、前記膜電位の現在値を時定数で割ったものに等しい漏れ率に基づいて前記膜電位を減衰するステップを含む、請求項4記載の方法。
【請求項6】
前記時定数が2の倍数であり、前記膜電位を前記時定数値で割ることがデジタル・ビットシフト操作によって行われる、請求項5記載の方法。
【請求項7】
前記膜電位を更新するステップが、抑制性スパイク信号の受信に応じて、抑制性チャネル・コンダクタンス値を増加するステップを含む、請求項4記載の方法。
【請求項8】
前記抑制性チャネル・コンダクタンス値の現在値を時定数で割ったものに等しい漏れ率に基づいて前記抑制性チャネル・コンダクタンス値を減衰するステップであって、前記時定数が2の倍数であり、前記抑制性チャネル・コンダクタンス値を前記時定数値で割ることがビットシフト操作によって行われる、ステップと、
前記抑制性チャネル・コンダクタンス値に基づいて前記膜電位を減少させることにより前記膜電位に抑制を適用するステップと、
をさらに含む、請求項7記載の方法。
【請求項9】
前記膜電位に抑制を適用するステップが、前記膜電位から前記膜電位値の現在値を除数値で割ったものを引くステップを含み、前記除数値が倍率から前記抑制性チャネル・コンダクタンス値内の最上位非ゼロ・ビットを引いたものに等しい冪指数だけ2を累乗したものを含む、請求項8記載の方法。
【請求項10】
各外部スパイク信号によって強度係数だけ増加する2つの抑制性チャネル・コンダクタンス変数の差として前記電子ニューロン内のシナプス・チャネル・コンダクタンスをモデル化するステップと、
時定数によって支配される減衰率に基づいて前記コンダクタンス変数を減衰するステップであって、前記時定数が2の倍数であり、前記減衰がデジタル・ビットシフト操作によって行われる、ステップと、
をさらに含む、請求項4記載の方法。
【請求項11】
前記膜電位から前記膜電位の現在値を除数値で割ったものを引くことにより前記膜電位に抑制を適用するステップであって、前記除数値が倍率から前記抑制性チャネル・コンダクタンス変数の前記差の値内の最上位非ゼロ・ビットを引いたものに等しい冪指数だけ2を累乗したものである、ステップと、
合計を生成するためにビットシフト操作を使用して膜電位補数値を興奮性強度シフト係数に加えることにより前記膜電位に興奮を適用し、倍率から前記興奮性チャネル・コンダクタンス変数の前記差の値内の最上位非ゼロ・ビットを引いたものに等しい冪指数だけ2を累乗したものである除数で前記合計を割るステップと、
をさらに含む、請求項10記載の方法。
【請求項12】
統合発火型電子ニューロンの膜電位を表すデジタル・カウンタと、
外部スパイク信号に基づいて前記膜電位を更新するために構成されたコントローラであって、
外部興奮性スパイク信号の受信に応じて、変更する必要がある前記カウンタ内のビットのみが変更されるようなビット単位の操作を使用して増加分だけ前記膜電位を増分すること、
外部抑制性スパイク信号の受信に応じて、変更する必要がある前記カウンタ内のビットのみが変更されるようなビット単位の操作を使用して減少分だけ前記膜電位を減分すること、
によって前記膜電位を更新するためのコントローラと、
アナログ抵抗−容量・モデルを使用して時定数に基づいて前記膜電位を減衰するために構成された減衰モジュールと、
前記膜電位がしきい値を超えたことに応じて、スパイク信号を生成するために構成されたスパイク・モジュールと、
を含む、統合発火型電子ニューロン。
【請求項13】
前記減衰モジュールが、アナログ抵抗−容量モデルを使用して時定数に基づいて減衰イベントを発生することにより前記膜電位を減衰するために構成される、請求項12記載の統合発火型電子ニューロン。
【請求項14】
減衰イベントの発生に応じて、前記カウンタの最上位ビットが1である場合に前記カウンタの前記最上位ビットがゼロに設定され、そうではない場合に前記カウンタのすべての下位ビットがゼロに設定される、請求項13記載の統合発火型電子ニューロン。
【請求項15】
前記ニューロンがスパイク信号を生成すると、前記容量が急速に放電され、ある充電率で充電され、前記充電がしきい値への到達に応じて、減衰イベントが発生される、請求項14記載の統合発火型電子ニューロン。
【請求項16】
前記ニューロンがスパイク信号を生成すると、前記容量が急速に放電され、ある充電率で充電され、前記充電が第1のしきい値への到達に応じて、減衰イベントが発生され、
前記容量がある率で放電され、前記充電が第2のしきい値への到達に応じて、減衰イベントが発生される、請求項14記載の統合発火型電子ニューロン。
【請求項17】
前記抵抗−容量・モデルが2つの容量を含み、
前記膜の前記電位が、
前記ニューロンが第1のスパイク信号を生成したときに、第2の容量に切り替わりながら第1の容量を急速に放電することと、
前記ニューロンが第2のスパイク信号を生成したときに、前記第1の容量に切り替わりながら前記第2の容量を急速に放電すること
によって減衰される、請求項13記載の統合発火型電子ニューロン。
【請求項18】
イベント・ドリブン統合発火型電子ニューロン内で外部スパイク信号を受信したことに応じて、前記外部スパイク信号に基づいて電子ニューロンのデジタル膜電位を更新するステップと、
漏れ率に基づいて前記膜電位を減衰するステップと、
前記膜電位がしきい値を超えたことに応じて、スパイク信号を生成するステップを含み、
前記膜電位を更新するステップが、興奮性イベント・タイプの発生に応じて、興奮性シナプス強度増加分だけ前記膜電位を増分するステップをさらに含む、方法。
【請求項19】
前記膜電位を更新するステップが、抑制性イベント・タイプの発生に応じて、抑制性シナプス強度減少分だけ前記膜電位を減分するステップをさらに含む、請求項18記載の方法。
【請求項20】
前記膜電位を更新するステップが、減衰イベント・タイプの発生に応じて、漏れ強度減少分だけ前記膜電位を減分するステップをさらに含む、請求項19記載の方法。
【請求項21】
スパイク信号を生成するステップが、前記膜電位をリセット値に設定するステップをさらに含む、請求項20記載の方法。
【請求項22】
減衰イベントの発生に応じて、前記膜電位がしきい値より上である場合に前記ニューロンがスパイク・イベントを送信し、シミュレーションとハードウェアとの対応を維持する、請求項18記載の方法。
【請求項23】
デジタル膜電位カウンタと、
統合発火型電子ニューロン内の外部スパイク信号に応じて、前記外部スパイク信号に基づいてデジタル膜電位を更新するために構成されたコントローラ・モジュールであって、前記デジタル膜電位がニューロン膜電位を表す、コントローラ・モジュールと、
漏れ率に基づいて前記デジタル膜電位を減衰するために構成された減衰モジュールと、
前記デジタル膜電位がしきい値を超えたことに応じて、スパイク信号を生成するために構成されたスパイク・モジュールと、
を含む、統合発火型電子ニューロン。
【請求項24】
前記コントローラ・モジュールが、
外部興奮性スパイク信号の受信に応じて、1つの時間ステップで受信した興奮性スパイク信号の数に第1のスケーリング・パラメータを掛けたものに等しい増加分だけ前記膜電位を増加することと、
外部抑制性スパイク信号の受信に応じて、1つの時間ステップで受信した抑制性スパイク信号の数に第2のスケーリング・パラメータを掛けたものに等しい減少分だけ前記膜電位を減少させること
によって前記膜電位を更新するためにさらに構成される、請求項23記載の統合発火型電子ニューロン。
【請求項25】
前記第1のスケーリング・パラメータが2の倍数であり、前記受信した興奮性スパイクの数に前記倍率を掛けることがデジタル・ビットシフト操作によって行われるようになっており、
前記第2のスケーリング・パラメータが2の倍数であり、前記受信した抑制性スパイクの数に前記倍率を掛けることがデジタル・ビットシフト操作によって行われるようになっている、請求項24記載の統合発火型電子ニューロン。
【請求項26】
請求項1〜11、18〜22のいずれかに記載の方法の各ステップを実行させるプログラム・コードを含む、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−123797(P2012−123797A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2011−260006(P2011−260006)
【出願日】平成23年11月29日(2011.11.29)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION