(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-09
(54)【発明の名称】分散型マルチコンポーネントシナプス計算構造
(51)【国際特許分類】
G06N 3/049 20230101AFI20231101BHJP
【FI】
G06N3/049
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023523618
(86)(22)【出願日】2021-11-01
(85)【翻訳文提出日】2023-04-18
(86)【国際出願番号】 EP2021080271
(87)【国際公開番号】W WO2022090542
(87)【国際公開日】2022-05-05
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521211620
【氏名又は名称】インナテラ・ナノシステムズ・ビー.ブイ.
【氏名又は名称原語表記】INNATERA NANOSYSTEMS B.V.
【住所又は居所原語表記】Patrijsweg 20,2289 EX,RIJSWIJK,Netherlands
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ヘットマ、バルト
(72)【発明者】
【氏名】ジャヨ、アミール
(57)【要約】
本発明は、複数のシナプス前積分器(209)と、複数の重み適用素子(210)と、複数の出力ニューロン(220)とを備えるスパイキングニューラルネットワーク(100)を開示する。複数のシナプス前積分器(213)の各々は、シナプス前積分器において電荷の蓄積を引き起こすシナプス前パルス信号(204)を受信し、シナプス入力信号が所定の時間ダイナミクスを有するように、蓄積された電荷に基づいてシナプス入力信号(214)を生成するように適合される。複数の重み適用素子(210)のうちの第1のグループの重み適用素子(211)は、複数のシナプス前積分器(213)のうちの最初の1つからシナプス入力信号(214)を受信するように接続される。第1のグループの重み適用素子の各重み適用素子(211)は、シナプス出力電流(215)を生成するためにシナプス入力信号(214)に重み値を適用するように適合され、シナプス出力電流の強度は、適用された重み値の関数である。複数の出力ニューロン(222)の各々は、複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流(214)を受け取り、受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号(223)を生成するように接続される。
【特許請求の範囲】
【請求項1】
複数のシナプス前積分器(209)と、複数の重み適用素子(210)と、複数の出力ニューロン(220)と
を備えるスパイキングニューラルネットワーク(100)であって、
前記複数のシナプス前積分器(213)の各々が、前記シナプス前積分器において電荷の蓄積を引き起こすシナプス前パルス信号(204)を受信し、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信号(214)を生成するように適合され、
前記複数の重み適用素子(210)のうちの第1のグループの重み適用素子(211)が、前記複数のシナプス前積分器(213)のうちの最初の1つから前記シナプス入力信号(214)を受信するように接続され、
前記第1のグループの重み適用素子の各重み適用素子(211)が、シナプス出力電流(215)を生成するために、前記シナプス入力信号(214)に重み値を適用するように適合され、前記シナプス出力電流の強度が前記適用された重み値の関数であり、
前記複数の出力ニューロン(222)の各々が、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流(214)を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号(223)を生成するように接続される、スパイキングニューラルネットワーク(100)。
【請求項2】
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成するように構成されたシナプス入力受信機と、
前記重み値を記憶するように構成された重み記憶素子と、
前記シナプス出力電流を生成するために、前記重み記憶素子に記憶された前記重み値を前記シナプス入力電流に適用するように構成された修正素子と
を含む、重み適用回路を備え、
前記重み値が、好ましくはデジタル形式で記憶され、電流型デジタル-アナログ変換器を介してアナログ領域に変換され、
前記電流型デジタル-アナログ変換器が、好ましくはR-2Rアーキテクチャに基づき、
電流型デジタル-アナログ変換器が、好ましくは所定の係数を適用して前記シナプス入力電流を減衰させ、前記減衰されたシナプス入力電流に基づいて前記シナプス出力電流を生成する、請求項1に記載のスパイキングニューラルネットワーク。
【請求項3】
前記重み記憶素子に記憶された前記重み値が調整可能であり、好ましくは、前記重み記憶素子に記憶された前記重み値が学習規則に基づいて調整される、請求項2に記載のスパイキングニューラルネットワーク。
【請求項4】
前記ネットワークが、前記シナプス前パルス信号が前記スパイキングニューラルネットワークの構成に基づいて前記シナプス前積分器に割り当てられるように、シナプス前入力スパイクに基づいて前記シナプス前パルス信号を供給するように構成された行スパイクデコーダを更に備える、請求項1~3のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項5】
前記スパイキングニューラルネットワークが、前記シナプス前パルス信号を生成する入力ニューロンを含み、前記シナプス前積分器が、異なる入力ニューロンから生じる時間スパイクを多重化する、請求項1~4のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項6】
前記シナプス前積分器が生成する前記シナプス入力信号の前記所定の時間ダイナミクスが、AMPA、NMDA、GABA
A、又はGABA
Bの時間ダイナミクスである、請求項1~5のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項7】
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、請求項1~6のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項8】
前記シナプス前積分器が制御信号によって構成可能であり、好ましくは、前記制御信号が前記シナプス入力信号の時間形状を制御する、請求項1~7のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項9】
前記出力ニューロンが、前記ニューロンダイナミクスを制御するためなど、ニューロン制御信号によって制御される、請求項1~8のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項10】
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、請求項1~9のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項11】
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、請求項10に記載のスパイキングニューラルネットワーク。
【請求項12】
前記スパイキングニューラルネットワークが、複数の第2のグループの重み適用素子を備え、各第2のグループの重み適用素子が、シナプス出力信号を前記複数の出力ニューロンのうちの異なる1つに提供するように接続される、請求項1~11のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項13】
前記スパイキングニューラルネットワークが、完全な同期、クラスタ若しくは非同期状態、入力パターンにおける不均一性、ニューロシナプス素子時空間ダイナミクス、非線形スパイキング挙動及び/又は周波数適応性を含む、使用中の様々なパターン活動を示す、請求項1~12のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項14】
複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路であって、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、好ましくは、前記シナプス前パルス信号が時空間スパイク列である、入力素子と、
前記シナプス前パルス信号に応答して電荷を蓄積するように構成されたキャパシタと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部を放電するように構成されたリーク素子と、
前記複数の重み適用素子に供給するために、前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成するように構成された出力素子と
を備える、シナプス前積分回路。
【請求項15】
前記シナプス入力信号の前記時間ダイナミクスを制御するように適合された制御素子を更に備え、前記制御素子が、
制御信号、好ましくは制御電圧を受信し、
前記制御信号に基づいて前記キャパシタによる電荷の蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の最大振幅を調節する
ように構成される、請求項14に記載のシナプス前積分回路。
【請求項16】
後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路であって、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、前記シナプス前パルス信号が時空間スパイク列である、入力素子と、
前記時空間スパイク列内のスパイクに基づいて電荷を蓄積するように構成されたキャパシタと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部を放電するように構成されたリーク素子と、
前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成するように構成された出力素子と、
前記シナプス入力信号の前記生成が前記時空間スパイク列によって制御されるように、前記シナプス前パルス信号に基づいて前記出力素子によって実施される前記シナプス入力信号の前記生成を制御するように構成された出力制御素子であって、好ましくは前記シナプス入力信号が前記時空間スパイク列のスパイク中に生成されない、出力制御素子と、
制御信号、好ましくは制御電圧を受信し、
前記キャパシタによって蓄積される電荷の量が前記時空間スパイク列におけるスパイクの持続時間及び前記キャパシタの容量値、好ましくは前記キャパシタの製造ばらつきに依存しないように、前記キャパシタによる電荷の蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の時間形状及び最大振幅を調節する
ように構成された制御素子と
を備える、シナプス前積分回路。
【請求項17】
前記出力制御素子が、電界効果トランジスタ及びインバータを備え、前記インバータが、前記シナプス前入力信号に基づいて前記出力制御素子の前記電界効果トランジスタのゲート-ソース電圧を印加するように構成され、好ましくは、前記ゲート-ソース電圧が、前記シナプス前入力信号がスパイキングしていないときに印加され、前記シナプス入力信号が、前記出力制御素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流によって生成される、請求項16に記載のシナプス前積分回路。
【請求項18】
前記リーク素子が、時定数によって制御され、好ましくは、前記時定数が、AMPA、NMDA、GABA
A又はGABA
Bの時間ダイナミクスを特徴付ける、請求項14~17のいずれか一項に記載のシナプス前積分回路。
【請求項19】
前記リーク素子が電界効果トランジスタを備え、前記時定数が前記リーク素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記キャパシタが前記リーク素子の前記電界効果トランジスタの前記ドレイン-ソース電流によって放電される、請求項18に記載のシナプス前積分回路。
【請求項20】
前記入力素子が、電界効果トランジスタを備え、前記シナプス前パルス信号が、前記入力素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記入力素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流が、前記キャパシタを充電する、請求項14~19のいずれか一項に記載のシナプス前積分回路。
【請求項21】
前記出力素子が、電界効果トランジスタを備え、前記キャパシタによって蓄積された前記電荷が、前記出力素子の前記電界効果トランジスタの前記ゲート-ソース電圧を生成し、前記出力素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流が、前記シナプス入力信号を生成する、請求項14~20のいずれか一項に記載のシナプス前積分回路。
【請求項22】
前記制御素子が電界効果トランジスタを備え、前記制御信号が前記制御素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記キャパシタが前記制御素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流によって充電される、請求項14~20のいずれか一項に記載のシナプス前積分回路。
【請求項23】
前記出力素子が、電圧領域において前記シナプス入力信号を生成するように構成された出力カレントミラー、又は、
前記電圧領域において前記シナプス入力信号を生成するように構成された出力カスコードカレントミラーであって、結果として生じる前記シナプス入力信号が2つの電圧信号を含む、出力カスコードカレントミラー
を更に備える、請求項14~22のいずれか一項に記載のシナプス前積分回路。
【請求項24】
前記シナプス入力信号が、前記キャパシタが放電されているときに指数関数的に減少する、請求項14~23のいずれか一項に記載のシナプス前積分回路。
【請求項25】
シナプス出力電流を複製又は反転するように構成された極性選択回路であって、
前記シナプス出力電流を受け取るように構成された極性入力素子と、
極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択するように構成された極性選択端子であって、
前記ソーシングカレントミラーが、前記シナプス出力電流を複製するように構成され、
前記シンキングカレントミラーが、前記シナプス出力電流を反転させるように構成された、極性選択端子と、
前記複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成する極性出力素子と
を備える、極性選択回路。
【請求項26】
前記重み適用素子の各々が、極性選択素子を更に備え、前記極性選択素子が、請求項26に記載の前記極性選択回路を備え、それにより、請求項1~13のいずれか一項からの前記シナプス出力信号が前記極性選択回路によって使用されて前記極性出力電流が生成され、好ましくは、前記入力ニューロンが前記極性出力電流を受け取り、前記複製されたシナプス出力電流が興奮性シナプス出力信号に対応し、前記反転されたシナプス出力電流が抑制性シナプス出力信号に対応する、請求項1~13のいずれか一項に記載のスパイキングニューラルネットワーク。
【請求項27】
前記シナプス前積分器が、請求項14~24のいずれか一項に記載のシナプス前積分回路を備える、請求項26に記載のスパイキングニューラルネットワーク。
【請求項28】
スパイキングニューラルネットワークのためのシナプス前積分及び重み適用の方法であって、前記スパイキングニューラルネットワークが、複数のシナプス前積分器(209)と、複数の重み適用素子(210)と、複数の出力ニューロン(220)とを備え、前記方法が、
前記複数のシナプス前積分器(213)の各々によって、前記シナプス前積分器で電荷の蓄積を引き起こすシナプス前パルス信号(204)を受信することと、
前記複数のシナプス前積分器(213)の各々によって、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信号(214)を生成することと、
前記複数の重み適用素子(210)のうちの第1のグループの重み適用素子(211)によって、前記複数のシナプス前積分器(213)のうちの最初の1つから前記シナプス入力信号(214)を受信することと、
シナプス出力電流(215)を生成するために、前記第1のグループの重み適用素子の各重み適用素子(211)によって前記シナプス入力信号(214)に重み値を適用することであって、前記シナプス出力電流の強度が前記適用された重み値の関数である、適用することと、
前記複数の出力ニューロン(222)の各々によって、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流(214)を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号(223)を生成することと
を含む、シナプス前積分及び重み適用の方法。
【請求項29】
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成することと
前記重み値を記憶することと、
前記記憶された重み値を前記シナプス入力電流に適用して、前記シナプス出力電流を生成することと
のために適合された重み適用回路を備える、請求項28に記載のシナプス前積分及び重み適用の方法。
【請求項30】
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、請求項28又は29に記載のシナプス前積分及び重み適用の方法。
【請求項31】
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、請求項28~30のいずれか一項に記載のシナプス前積分及び重み適用の方法。
【請求項32】
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、請求項31に記載のシナプス前積分及び重み適用の方法。
【請求項33】
スパイキングニューラルネットワークのためのシナプス前積分の方法であって、
複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路を提供することと、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、好ましくは、前記シナプス前パルス信号が時空間スパイク列である、受信することと、
前記シナプス前パルス信号に応答して電荷を蓄積することと、
蓄積された前記電荷の少なくとも一部をリーク素子を通じて放電することと、
前記複数の重み適用素子に供給するために、蓄積された前記電荷に基づいてシナプス入力信号を生成することと
を含む、方法。
【請求項34】
スパイキングニューラルネットワークのためのシナプス前積分の方法であって、
後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路を提供することと、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、前記シナプス前パルス信号が時空間スパイク列である、受信することと、
前記時空間スパイク列内のスパイクに基づいて電荷をキャパシタによって蓄積することと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部をリーク素子を通じて放電することと、
前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成することと、
前記シナプス入力信号の前記生成が前記時空間スパイク列によって制御されるように、前記シナプス前パルス信号に基づいて前記出力素子によって実施される前記シナプス入力信号の前記生成を制御することであって、好ましくは前記シナプス入力信号が前記時空間スパイク列のスパイク中に生成されない、制御することと、
制御信号、好ましくは制御電圧を受信し、
前記キャパシタによって蓄積される電荷の量が前記時空間スパイク列におけるスパイクの持続時間及び前記キャパシタの容量値、好ましくは前記キャパシタの製造ばらつきに依存しないように、電荷の前記蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の時間形状及び最大振幅を調節する、
ように構成された制御素子を提供することと
を含む、方法。
【請求項35】
シナプス出力電流を複製又は反転するように構成された極性選択回路を提供することと、
前記シナプス出力電流を受信することと、
極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択することと、
前記シナプス出力電流を複製すること及び/又は前記シナプス出力電流を反転させることと、
前記複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成することと
を含む、極性選択のための方法。
【請求項36】
請求項1~13、26~27のいずれか一項に記載のスパイキングニューラルネットワークを使用して入力信号を分類する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動信号認識技術に関し、より詳細には、ネットワークにおいて面積最適化され、エネルギー効率の良い処理機構を可能にする分散型マルチコンポーネントシナプス計算構造のためのシステム及び方法に関する。特に、計算構造は、スパイキングニューラルネットワークである。
【背景技術】
【0002】
脳に触発されたニューロモーフィックスパイキングニューラルネットワーク(spiking neural network、SNN)エミュレータは、適応、自己組織化、及び学習などの能力を提供する、分散型で、並列な、イベント駆動型のシステムを形成する。これらのエミュレータは、いくつかの概念、例えば、活動依存的な短期及び長期可塑性を実装し、これらは実験的に実証される。C.Mead,「Neuromorphic electronic systems」,Proceedings of IEEE,vol.78,no.10,pp.1629-1636,1990年10月を参照されたい。
【0003】
入力情報は、ニューロンの集団にわたって生じる活動のパターンによって符号化され、シナプス(それぞれ、1つのニューロンから後続のニューロンへの接続を形成する)は、それらが受信するパルス(例えば、時空間スパイク列の形態で)に応じてそれらの機能を適応させることができ、信号伝送エネルギー効率、並びに情報を記憶及び再現するための柔軟性を提供する。R.Douglas,M.Mahowald,C.Mead,「Neuromorphic analogue VLSI」,Annual Reviews Neuroscience,vol.18,pp.255-281,1995年を参照されたい。
【0004】
シナプスは二重機能を実行する、すなわち、シナプスは、分散された計算を実行する複雑な非線形演算子としての機能に加えて、メモリ記憶能力を実装する。処理要素とメモリとが分離していることにより、従来の、フォンノイマンベースのコンピューティングシステムは、大量の高次元データを伴う計算タスク、例えば、画像処理、物体認識、確率推論、又は音声認識のために最適化されておらず、これらの計算タスクは、メモリ及び処理要素が共配置されるSNNなどの、強力でありながら概念的に単純で高度に並列な方法を用いて効率的に完了することができる。ニューロモーフィックシステムは、入力データによって直接駆動される、すなわち、入来データのレートで、それぞれ、シナプスはスパイクを受信し、ニューロンはスパイクを生成する。その結果、回路がデータを処理しているときのみ、動的な電力消費が生じる。時空間信号活動が疎な用途では、ほとんどのニューロンは、各特定の瞬間に非アクティブであり、最小電力消費につながる。
【0005】
ニューロモーフィック計算要素、すなわちニューロン及びシナプスは、典型的には様々な複雑さの動的システムとして表される広範囲のスパイキング挙動を示し、生物物理学的精度と計算能力との間の様々なトレードオフを表す。生物学的に妥当な、生物学的に触発された、及び積分発火ニューロンモデルのいくつかの特有のハードウェア実装形態は、膜ダイナミクス(膜を横切る電荷リークをモデル化する);イオンチャネルダイナミクス(イオン流を制御する);軸索モデル(関連する遅延成分を伴う);及び樹状突起モデル(シナプス前及びシナプス後ニューロンの影響をモデル化する)を組み込む。C.D.Schuman,et al.,「A survey of neuromorphic computing and neural networks in hardware」,arXiv.1705.06963,p.88,2017年を参照されたい。
【0006】
新しい材料の進歩及び採用のために転用されるシナプスモデルのハードウェア実装は、シナプス実装を最適化することに主に焦点を当てている。より複雑なシナプスモデルは、可塑性メカニズムを含む(例えば、短期及び長期の増強及び抑制の両方、S.-C.Liu,「Analog VLSI circuits for short-term dynamic synapses」,EURASIP Journal on Applied Signal Processing,vol.7,pp.620-628,2003年を参照されたい)、又はより生物学的に触発されたニューロモーフィックネットワークでは、シナプスの化学的相互作用を含む(F.L.Maldonado Huayaney,et al.,「Implementation of multi-factor synaptic plasticity with calcium-based dynamics」,IEEE Transactions on Circuits and Systems-I,vol.63,no.12,pp.2189-2199,2016年を参照されたい)。シナプスは、ネットワーク活動の安定化のための恒常性機構としても利用される(S.-C.Liu,B.A.Minch,「Silicon synaptic adaptation mechanisms for homeostasis and contrast gain control」,IEEE Transactions on Neural Networks,vol.13,no.6,pp.1497-1503,2002年を参照されたい)。
【0007】
現代の深層学習アーキテクチャは、典型的には、複数の層から成り、各層は、シナプス行列によって実装されるベクトル行列乗算から成り、その結果が、ニューロンにおける特定の非線形活性化関数(例えば、シグモイド関数、ReLU(rectified linear unit)活性化関数、又は膜電位ダイナミクスに基づく活性化関数)のための入力として使用される。ニューロンにおける活性化関数は、ニューロン活性化関数とも呼ばれる。ニューロシナプティック・アレイは、ハイブリッド・アナログ-デジタル信号表現を採用する、すなわち、パルス/スパイクの列は、イベントのタイミングにおいてアナログ情報を送信し、これらは、シナプス行列の入力においてアナログ信号に変換し戻される。アナログクロスバーアレイは、本質的に、ドット積演算(密ベクトル行列乗算において不可欠な演算を形成する)を実現する。アナログ領域では、電圧信号のベクトルをシナプスクロスバーの行に適用することによって、キルヒホッフの電流則(KCL)規則に従って各シナプス(重みw)との乗算が行われ、電流は各列全体で加算される。つまり、電流領域における信号加算は、単にすべての出力を一緒に配線するだけであるため、シナプスの出力は、通常、電流領域にある。このシナプス(後)電流は乗算結果を表し、信号加算並びに非線形機能性は、ニューロン活性化関数によって表されるニューロンダイナミクスによって提供される。
【0008】
一般に、
図1A及び
図1Bによってそれぞれ例示されるように、重み付けされた入力を導出するために、2つの特有の手法が利用される。
【0009】
図1Aは、すべてのシナプスが2つの対称出力電流を有し、それらが最初に別々に加算される、既知の第1の手法を開示する。したがって、そこで2つの和の差が、重み付けされた入力である。
図1Aは、シナプス入力信号103、mシナプス素子101、カレントミラー106、シナプス出力電流107、重み付けされたシナプス出力104、出力ニューロン102、及びニューロン出力信号105を含む、従来技術のスパイキングニューラルネットワーク100の一部の例を実際に示す。シナプス素子101はシナプス入力信号100を受信するように構成され、このシナプス入力信号は時空間スパイク列である。シナプス素子101は、シナプス入力信号103中の入力スパイクを電流に変換し、次いで、各々が重みw
11,w
21,...,w
m1を適用して(ここでは、第1のインデックスはシナプス行列の行を示し、第2のインデックスはシナプス行列の列を示す)、2つのシナプス対称出力電流107を生成する。これらの電流の差は、最終的な重み付けされたシナプス出力104を生成するためにカレントミラー106によって計算される。出力ニューロン102は、次いで、重み付けされたシナプス出力104に基づいてニューロン出力信号105を生成する。シナプス素子101の各々は、電流を生成するためのシナプス入力信号100の積分と、シナプス出力電流107を生成するためのこの電流への重みの後続の適用との両方を実行するように構成されることに留意されたい。
【0010】
図1Bは、すべてのシナプスが1つのバイポーラ(正/負、興奮性/抑制性)出力電流を有し、したがって重み付けされた入力がこれらのバイポーラ出力電流の和である、既知の第2の手法を開示する。
図1Bは、シナプス入力信号113、シナプス素子111、シナプス出力電流114、出力ニューロン112、及びニューロン出力信号115を含む、従来技術のスパイキングニューラルネットワーク110の一部分の別の例を実際に示す。前の例と同様に、シナプス素子111は、シナプス入力信号の積分と、重みw
11,w
21,...,w
m1を用いた後続の重み適用の両方の機能を実行する。しかしながら、この方法では、シナプス素子111は、正しい重み付けされた出力を生成するために信号の減算が必要とならないように、興奮性又は抑制性信号に対応する正又は負の出力電流104を生成するように構成される。
【0011】
各シナプスは通常カレントミラーを含むので、各シナプスはより大きなチップ面積を必要とする。しかしながら、この例における配線は、すべてのビルディングブロックが同一であるので簡略化される、すなわち、より高い又はより低い次元の入力ベクトルを用いてニューロンを実装する場合、つまりシナプス素子の数mが変更される場合、カレントミラーを再設計する必要がない。
【0012】
図1Cは、m×nプログラマブルシナプスをnニューロンに接続するニューラルネットワーク行列から成る既知のニューロシナプティック・アレイを開示する。ニューロシナプティック計算要素は、ターゲット信号処理機能の特定の特徴に向けて拡張可能な、複雑な時空間ダイナミクスを生成することができる。ニューロンのスパイキング特性は、特定のパラメータセットを通して制御される。実際、
図1Cは、プログラム可能なシナプス素子121の複数のグループを、ニューロンN
1,N
2,...,N
nを含むn出力ニューロン122のアレイ140に接続する、ニューラルネットワーク行列130を備えるスパイキングニューラルネットワークの一部を形成する従来技術のニューロシナプティック・アレイ120を示す、ここで、シナプス素子121はシナプス入力信号123を受信してシナプス出力電流124を生成し、出力ニューロン122はニューロン出力信号125を生成するように構成される。ニューロン122の各々はシナプス素子121の異なる列に接続され、シナプス素子213の各行によって受信されるシナプス入力信号123は同じであるが、異なる重み値w
i1,w
i2,...,w
inが、行インデックスiの同じ行内の異なるシナプス素子211によって適用され得る。最終的に、ニューロンは、1つ以上のニューロン制御信号127によって構成可能である。これらのニューロン制御信号127は、ニューロン活性化関数によって、例えば、ニューロン活性化関数のパラメータを変更することによって、表されるニューロンダイナミクスを制御することができる。この場合も、シナプス素子121の各々は、シナプス入力信号の積分と後続の重み適用機能の両方を実行するように構成される。
【0013】
完全に接続されたネットワークでは、シナプス積分容量は、アレイの総面積に対する最大の寄与因子である。キャパシタは多くの空間を占め、比較的大量のエネルギーを消費する。スパイキングニューラルネットワークの従来技術のハードウェア実装形態では、シナプス素子におけるシナプス積分のためにキャパシタが必要とされる。その結果、シナプス及びニューロンの多くの層から構成される従来技術のスパイキングニューラルネットワークは、面積及びエネルギー使用に関して最適化されない。したがって、業界では、より効率的なスパイキングニューラルネットワークが必要とされている。
【発明の概要】
【0014】
本特許出願では、面積効率及び電力効率の良い設計を可能にするために、本発明者らは、新規の分散型マルチコンポーネントシナプス構造を報告するものであり、この構造では、分散されるコンポーネントの各々は、特有の計算特性を実装し、所定の信号処理機能の仕様に対して最適化することができる。
【0015】
本開示の第1の態様によれば、複数のシナプス前積分器209と、複数の重み適用素子210と、複数の出力ニューロン220とを備えるスパイキングニューラルネットワーク100が開示される。複数のシナプス前積分器213の各々は、シナプス前積分器において電荷の蓄積を引き起こすシナプス前パルス信号204を受信し、シナプス入力信号が所定の時間ダイナミクスを有するように、蓄積された電荷に基づいてシナプス入力信号214を生成するように適合される。複数の重み適用素子210のうちの第1のグループの重み適用素子211は、複数のシナプス前積分器213のうちの最初の1つからシナプス入力信号214を受信するように接続される。第1のグループの重み適用素子の各重み適用素子211は、シナプス出力電流215を生成するためにシナプス入力信号214に重み値を適用するように適合され、シナプス出力電流の強度は、適用された重み値の関数である。複数の出力ニューロン222の各々は、複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流214を受け取り、受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号223を生成するように接続される。
【0016】
このように、面積最適化設計(及びその後のエネルギー効率設計)のために、シナプスダイナミクスを再現するために1つの回路を使用する代わりに、本発明は、2つの専用回路、すなわち、シナプス前積分器及び重み適用素子を用いてシナプスダイナミクスを再現する。それぞれが明確に定義された機能を実装しており、第1の回路はパルス(スパイク)積分を実行し、第2の回路は重み適用を実行する。その結果、各入力信号に対して単一のスパイク積分器(したがって、シナプスごとに1つのキャパシタではなく、単一のキャパシタ)のみが必要とされる。したがって、これは、面積効率の良い設計をもたらし、事前積分が、重み適用素子211の行ごとに共有される。更に、今度はn事前積分の代わりに単一の事前積分のみを実行するだけでよいため、本発明は、シナプス行列のより電力効率の良い実装を提供する。
【0017】
一実施形態によれば、重み適用素子の各々は、シナプス前積分器からシナプス入力信号を受信し、シナプス入力信号に基づいてシナプス入力電流を生成するように構成されたシナプス入力受信機と、重み値を記憶するように構成された重み記憶素子と、シナプス出力電流を生成するために、重み記憶素子に記憶された重み値をシナプス入力電流に適用するように構成された修正素子とを含む、重み適用回路を備え、重み値は、好ましくはデジタル形式で記憶され、電流型デジタル-アナログ変換器を介してアナログ領域に変換され、電流型デジタル-アナログ変換器は、好ましくはR-2Rアーキテクチャに基づき、電流型デジタル-アナログ変換器は、好ましくは所定の係数を適用してシナプス入力電流を減衰させ、減衰されたシナプス入力電流に基づいてシナプス出力電流を生成する。
【0018】
一実施形態では、重み記憶素子に記憶された重み値は調整可能であり、好ましくは、重み記憶素子に記憶された重み値は学習規則に基づいて調整される。
【0019】
一実施形態では、ネットワークは、シナプス前パルス信号がスパイキングニューラルネットワークの構成に基づいてシナプス前積分器に割り当てられるように、シナプス前入力スパイクに基づいてシナプス前パルス信号を供給するように構成された行スパイクデコーダを更に備える。
【0020】
一実施形態では、スパイキングニューラルネットワークは、シナプス前パルス信号を生成する入力ニューロンを含み、シナプス前積分器は、異なる入力ニューロンから生じる時間スパイクを多重化する。
【0021】
一実施形態では、シナプス前積分器が生成するシナプス入力信号の所定の時間ダイナミクスは、AMPA、NMDA、GABAA、又はGABABの時間ダイナミクスである。
【0022】
一実施形態において、シナプス前積分器は、調整可能な時定数から独立した調整可能な利得を生成し、時定数は、シナプス前積分器内の蓄積された電荷を分離するリーク電流を決定し、シナプス前積分器のシナプス入力信号の時間ダイナミクスを特徴付ける。
【0023】
一実施形態では、シナプス前積分器は制御信号によって構成可能であり、好ましくは、制御信号はシナプス入力信号の時間形状を制御する。
【0024】
一実施形態では、出力ニューロンは、ニューロンダイナミクスを制御するためなど、ニューロン制御信号によって制御される。
【0025】
一実施形態では、スパイキングニューラルネットワークは、複数の第1のグループの重み適用素子を含み、各第1のグループの重み適用素子内の重み適用素子の各々1つは、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、各第1のグループの重み適用素子は、複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される。
【0026】
一実施形態では、スパイキングニューラルネットワークは複数の入力ニューロンを含み、入力ニューロンのそれぞれ1つは、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号をシナプス前積分器のそれぞれ1つに提供するように接続される。
【0027】
一実施形態では、スパイキングニューラルネットワークは、複数の第2のグループの重み適用素子を含み、各第2のグループの重み適用素子は、シナプス出力信号を複数の出力ニューロンのうちの異なる1つに提供するように接続される。
【0028】
一実施形態では、スパイキングニューラルネットワークは、完全な同期、クラスタ若しくは非同期状態、入力パターンにおける不均一性、ニューロシナプス素子時空間ダイナミクス、非線形スパイキング挙動及び/又は周波数適応性を含む、使用中の様々なパターン活動を示す。
【0029】
本開示の第2の態様によれば、複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路が開示される。シナプス前積分回路は、シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、好ましくは、シナプス前パルス信号が時空間スパイク列である、入力素子と、シナプス前パルス信号に応答して電荷を蓄積するように構成されたキャパシタと、キャパシタによって蓄積された電荷の少なくとも一部を放電するように構成されたリーク素子と、複数の重み適用素子に供給するために、キャパシタによって蓄積された電荷に基づいてシナプス入力信号を生成するように構成された出力素子とを備える。
【0030】
一実施形態では、シナプス前積分回路は、シナプス入力信号の時間ダイナミクスを制御するように適合された制御素子を更に備え、制御素子は、制御信号、好ましくは制御電圧を受信し、制御信号に基づいてキャパシタによる電荷の蓄積を調節し、キャパシタ上の最大電荷を制御することによって、シナプス入力信号の最大振幅を調節するように構成される。
【0031】
本開示の第3の態様によれば、後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路が開示される。シナプス前積分回路は、シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、シナプス前パルス信号が時空間スパイク列である、入力素子と、時空間スパイク列内のスパイクに基づいて電荷を蓄積するように構成されたキャパシタと、キャパシタによって蓄積された電荷の少なくとも一部を放電するように構成されたリーク素子と、キャパシタによって蓄積された電荷に基づいてシナプス入力信号を生成するように構成された出力素子と、シナプス入力信号の生成が時空間スパイク列によって制御されるように、シナプス前パルス信号に基づいて出力素子によって実施されるシナプス入力信号の生成を制御するように構成された出力制御素子であって、好ましくはシナプス入力信号が時空間スパイク列のスパイク中に生成されない、出力制御素子と、制御信号、好ましくは制御電圧を受信し、キャパシタによって蓄積される電荷の量が時空間スパイク列におけるスパイクの持続時間及びキャパシタの容量値、好ましくはキャパシタの製造ばらつきに依存しないように、キャパシタによる電荷の蓄積を調節し、キャパシタ上の最大電荷を制御することによって、シナプス入力信号の時間形状及び最大振幅を調節するように構成された制御素子とを備える。
【0032】
キャパシタによって蓄積される電荷の量は、時空間スパイク列におけるスパイクの持続時間及びキャパシタの容量値に依存せず、したがって、シナプス前積分回路の機能及び性能は、キャパシタの製造におけるばらつきに依存しない。
【0033】
一実施形態では、出力制御素子は、電界効果トランジスタ及びインバータを備え、インバータは、シナプス前入力信号に基づいて出力制御素子の電界効果トランジスタのゲート-ソース電圧を印加するように構成され、好ましくは、ゲート-ソース電圧は、シナプス前入力信号がスパイキングしていないときに印加され、シナプス入力信号は、出力制御素子の電界効果トランジスタを流れるドレイン-ソース電流によって生成される。
【0034】
第2又は第3の態様の実施形態では、リーク素子は、時定数によって制御され、好ましくは、時定数は、AMPA、NMDA、GABAA又はGABABの時間ダイナミクスを特徴付ける。
【0035】
第2又は第3の態様の実施形態では、リーク素子は電界効果トランジスタを備え、時定数はリーク素子の電界効果トランジスタのゲート-ソース電圧であり、キャパシタはリーク素子の電界効果トランジスタのドレイン-ソース電流によって放電される。
【0036】
第2又は第3の態様の実施形態では、入力素子は、電界効果トランジスタを備え、シナプス前パルス信号は、入力素子の電界効果トランジスタのゲート-ソース電圧であり、入力素子の電界効果トランジスタを流れるドレイン-ソース電流は、キャパシタを充電する。
【0037】
第2又は第3の態様の一実施形態では、出力素子は、電界効果トランジスタを備え、キャパシタによって蓄積された電荷は、出力素子の電界効果トランジスタのゲート-ソース電圧を生成し、出力素子の電界効果トランジスタを流れるドレイン-ソース電流は、シナプス入力信号を生成する。
【0038】
第2又は第3の態様の一実施形態では、制御素子は電界効果トランジスタを備え、制御信号は制御素子の電界効果トランジスタのゲート-ソース電圧であり、キャパシタは制御素子の電界効果トランジスタを流れるドレイン-ソース電流によって充電される。
【0039】
第2又は第3の態様の一実施形態では、出力素子は、電圧領域においてシナプス入力信号を生成するように構成された出力カレントミラー、又は、電圧領域においてシナプス入力信号を生成するように構成された出力カスコードカレントミラーであって、結果として生じるシナプス入力信号が2つの電圧信号を含む、出力カスコードカレントミラーを更に備える。
【0040】
第2又は第3の態様の実施形態では、シナプス入力信号は、キャパシタが放電されているときに指数関数的に減少する。
【0041】
本開示の第4の態様によれば、シナプス出力電流を複製又は反転するように構成された極性選択回路が開示される。極性選択回路は、シナプス出力電流を受け取るように構成された極性入力素子と、極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択するように構成された極性選択端子であって、ソーシングカレントミラーは、シナプス出力電流を複製するように構成され、シンキングカレントミラーは、シナプス出力電流を反転させるように構成された、極性選択端子と、複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成する極性出力素子とを備える。
【0042】
本発明の第1の態様の一実施形態によれば、重み適用素子の各々は、極性選択素子を更に備え、極性選択素子は、本発明の第4の態様による極性選択回路を備え、それにより、本発明の第1の態様からのシナプス出力信号は極性選択回路によって使用されて極性出力電流が生成され、好ましくは、入力ニューロンは極性出力電流を受け取り、複製されたシナプス出力電流は興奮性シナプス出力信号に対応し、反転されたシナプス出力電流は抑制性シナプス出力信号に対応する。
【0043】
第1の態様の一実施形態では、シナプス前積分器は、第2又は第3の態様によるシナプス前積分回路を備える。
【0044】
本開示の第5の態様によれば、スパイキングニューラルネットワークのためのシナプス前積分及び重み適用の方法が開示される。スパイキングニューラルネットワークは、複数のシナプス前積分器209と、複数の重み適用素子210と、複数の出力ニューロン220とを備える。本方法は、複数のシナプス前積分器213の各々によって、シナプス前積分器で電荷の蓄積を引き起こすシナプス前パルス信号204を受信することと、複数のシナプス前積分器213の各々によって、シナプス入力信号が所定の時間ダイナミクスを有するように、蓄積された電荷に基づいてシナプス入力信号214を生成することと、複数の重み適用素子210のうちの第1のグループの重み適用素子211によって、複数のシナプス前積分器213のうちの最初の1つからシナプス入力信号214を受信することと、シナプス出力電流215を生成するために、第1のグループの重み適用素子の各重み適用素子211によってシナプス入力信号214に重み値を適用することであって、シナプス出力電流の強度が適用された重み値の関数である、適用することと、複数の出力ニューロン222の各々によって、複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流214を受け取り、受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号223を生成することとを含む。
【0045】
一実施形態では、重み適用素子の各々は、シナプス前積分器からシナプス入力信号を受信し、シナプス入力信号に基づいてシナプス入力電流を生成することと重み値を記憶することと、記憶された重み値をシナプス入力電流に適用して、シナプス出力電流を生成することとのために適合された重み適用回路を備える。
【0046】
一実施形態において、シナプス前積分器は、調整可能な時定数から独立した調整可能な利得を生成し、時定数は、シナプス前積分器内の蓄積された電荷を分離するリーク電流を決定し、シナプス前積分器のシナプス入力信号の時間ダイナミクスを特徴付ける。
【0047】
一実施形態では、スパイキングニューラルネットワークは、複数の第1のグループの重み適用素子を備え、各第1のグループの重み適用素子内の重み適用素子の各々1つは、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、各第1のグループの重み適用素子は、複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される。
【0048】
一実施形態では、スパイキングニューラルネットワークは複数の入力ニューロンを含み、入力ニューロンのそれぞれ1つは、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号をシナプス前積分器のそれぞれ1つに提供するように接続される。
【0049】
本開示の第6の態様によれば、スパイキングニューラルネットワークのためのシナプス前積分の方法が開示される。方法は、複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路を提供することと、シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、好ましくは、シナプス前パルス信号が時空間スパイク列である、受信することと、シナプス前パルス信号に応答して電荷を蓄積することと、蓄積された電荷の少なくとも一部をリーク素子を通じて放電することと、複数の重み適用素子に供給するために、蓄積された電荷に基づいてシナプス入力信号を生成することとを含む。
【0050】
本開示の第7の態様によれば、スパイキングニューラルネットワークのためのシナプス前積分の方法が開示される。方法は、後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路を提供することと、シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、シナプス前パルス信号が時空間スパイク列である、受信することと、時空間スパイク列内のスパイクに基づいて電荷をキャパシタによって蓄積することと、キャパシタによって蓄積された電荷の少なくとも一部をリーク素子を通じて放電することと、キャパシタによって蓄積された電荷に基づいてシナプス入力信号を生成することと、シナプス入力信号の生成が時空間スパイク列によって制御されるように、シナプス前パルス信号に基づいて出力素子によって実施されるシナプス入力信号の生成を制御することであって、好ましくはシナプス入力信号が時空間スパイク列のスパイク中に生成されない、制御することと、制御信号、好ましくは制御電圧を受信し、キャパシタによって蓄積される電荷の量が時空間スパイク列におけるスパイクの持続時間及びキャパシタの容量値、好ましくはキャパシタの製造ばらつきに依存しないように、電荷の蓄積を調節し、キャパシタ上の最大電荷を制御することによって、シナプス入力信号の時間形状及び最大振幅を調節するように構成された制御素子を提供することとを含む。
【0051】
本開示の第8の態様によれば、極性選択のための方法が開示される。方法は、シナプス出力電流を複製又は反転するように構成された極性選択回路を提供することと、シナプス出力電流を受信することと、極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択することと、シナプス出力電流を複製すること及び/又はシナプス出力電流を反転させることと、複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成することとを含む。
【0052】
本開示の第9の態様によれば、第1の態様によるスパイキングニューラルネットワークを使用して入力信号を分類する方法が開示される。
【0053】
次に、添付の概略図を参照して、単なる例として実施形態を説明し、図面では、対応する参照符号は対応する部分を示す。
【図面の簡単な説明】
【0054】
【
図1A】従来技術のスパイキングニューラルネットワークの少なくとも一部の例の図である。
【
図1B】従来技術のスパイキングニューラルネットワークの少なくとも一部の例の図である。
【
図1C】従来技術のスパイキングニューラルネットワークの少なくとも一部の例の図である。
【
図2】例示的な実施形態によるスパイキングニューラルネットワークの少なくとも一部の図である。
【
図3】別の例示的な実施形態によるスパイキングニューラルネットワークの少なくとも一部の図である。
【
図4A】例示的な実施形態によるシナプス前積分回路の図である。
【
図4B】別の例示的な実施形態によるシナプス前積分回路の図である。
【
図5A】例示的な実施形態による重み適用回路の図である。
【
図5B】別の例示的な実施形態による重み適用回路の図である。
【
図6】例示的な実施形態による極性選択回路の図である。
【
図7A】例示的な実施形態による興奮性シナプス出力電流ダイナミクスを示すグラフである。
【
図7B】例示的な実施形態による時空間スパイク列ダイナミクスを示すグラフである。
【
図7C】別の例示的な実施形態による時空間スパイク列ダイナミクスを示すグラフである。
【発明を実施するための形態】
【0055】
図は、例示のみを目的とするものであり、特許請求の範囲によって規定される範囲又は保護を限定するものではない。
【0056】
以下、特定の実施形態について更に詳細に説明する。しかしながら、これらの実施形態は、本開示の保護の範囲を限定するものとして解釈されなくてもよいことを理解されたい。
【0057】
上述したように、m×nシナプスを持つ完全に接続されたネットワークでは、シナプス積分に使用されるキャパシタは、アレイの総面積に対する最大の寄与因子である。面積最適化された設計(及びその後のエネルギー効率の良い設計)のために、シナプスダイナミクスを再現するために1つの回路を使用する(
図1A~
図1Cのように)代わりに、本発明は、2つの専用回路(
図2)を用いてシナプスダイナミクスを再現し、回路はそれぞれ明確に定義された関数を実装しており、第1の回路はパルス(スパイク)積分を実行し、第2の回路は重み適用を実行する。その結果、各入力信号に対して単一のスパイク積分器(したがって、nキャパシタではなく、単一のキャパシタ)のみが必要とされる。したがって、これは、面積効率の良い設計をもたらし、事前積分が、重み適用素子211の行ごとに共有される。更に、今度はn事前積分の代わりに単一の事前積分のみを実行するだけでよいため、本発明は、シナプス行列のより電力効率の良い実装を提供する。
【0058】
図2は、例示的な実施形態によるスパイキングニューラルネットワーク200の一部を示し、これは、複数のサブネットワークを備えるより大きいニューラルネットワーク内にサブネットワーク(又はアンサンブル)を形成することができ、ニューロシナプスコアとして実装され得る。
図2は、シナプス前積分器213に接続された重み適用素子211に接続された出力ニューロン222を示す。例示的な実施形態は、少なくとも1つのシナプス前積分器213と、複数210の重み適用素子211と、複数220の出力ニューロン222とを含む。いくつかの実施形態では、スパイキングニューラルネットワーク200は、出力ニューロン222によって生成される時空間スパイク列出力信号223が、次の層内のシナプス前積分器213によって受信されるシナプス前信号204を形成し得るように、かつシナプス前積分器213によって受信されるシナプス前パルス信号204が、入力ニューロン、すなわち前の層からの出力ニューロン222によって生成され得るように、いくつかの層を備える。画像を混乱させないために、少数のニューロン222、シナプス前積分器213、及び重み適用素子211のみが示されており、いくつかのみに参照番号が付されている。
【0059】
シナプスダイナミクスは、シナプス前積分器213及び重み適用素子211によって複製される。シナプス前積分器213は、シナプス前(高速)パルス信号204が(長く続く)シナプス入力信号214に変換されるように、シナプス前パルス(スパイク)積分の機能を実行する。いくつかの実施形態では、シナプス入力信号214は、AMPA受容体によって放出される信号と同様に、指数関数的に減少するスパイクであり得る。いくつかの実施形態では、シナプス入力信号214はシナプス入力電流であり得る。いくつかの実施形態では、シナプス入力信号214はシナプス入力電圧であり得る。いくつかの実施形態では、シナプス前積分器213は制御信号203によって構成可能であり、好ましくは、制御信号203は、シナプス前積分器213によって生成されたシナプス入力信号214の時間形状を制御する。
【0060】
各重み適用素子211は、典型的なシナプス機能を実行し、入力ニューロンと出力ニューロンとを接続し、対応する重み記憶素子212に記憶された重み値をシナプス入力信号214に適用して、シナプス出力電流215を生成する。特に、適用される重み値は、シナプス出力電流215の強度を決定する。いくつかの実施形態では、重み適用素子は、シナプス入力信号の選択された部分を含むシナプス出力電流を生成するために、そのシナプス入力信号を減衰させるために0から1までの範囲の係数を適用する。いくつかの実施形態では、重み記憶素子212によって記憶される重み値は、好ましくは学習規則に従って調整可能である。
【0061】
出力ニューロン222は、重み適用素子211から少なくとも1つのシナプス出力電流215を受け取り、受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号を生成するように構成される。いくつかの実施形態では、出力ニューロン222は、ニューロン制御信号224によって構成可能である。これらのニューロン制御信号127は、例えば、ニューロン活性化関数のパラメータを変更することによって、ニューロン活性化関数によって表されるニューロンダイナミクスを制御することなどができる。
【0062】
代替実施形態では、スパイキングニューラルネットワークは、シナプス前入力スパイク201に基づいて、シナプス前パルス信号204を復号し、対応するシナプス前積分器213に割り当てるように構成された行スパイクデコーダ202を更に備える。どのシナプス前パルス信号がどのシナプス前積分器213に送られるかは、スパイキングニューラルネットワークの構成に依存する。シナプス前入力スパイク201を復号することは包含する。
【0063】
図3は、別の例示的な実施形態によるスパイキングニューラルネットワーク300の一部の別の例を示し、これは、複数のサブネットワークを備えるより大きいニューラルネットワーク内にサブネットワーク(又はアンサンブル)を形成することができ、ニューロシナプスコアとして実装され得る。出力ニューロン322は、シナプス前積分器313に接続された重み適用素子311に接続される。例示的な実施形態は、少なくとも1つのシナプス前積分器313と、複数310の重み適用素子311と、複数320の出力ニューロン322とを含む。いくつかの実施形態では、スパイキングニューラルネットワーク300は、出力ニューロン322によって生成される時空間スパイク列出力信号326が、次の層内のシナプス前積分器213によって受信されるシナプス前信号204を形成し得るように、かつシナプス前積分器313によって受信されるシナプス前パルス信号307が、入力ニューロン、すなわち前の層からの出力ニューロン322によって生成され得るように、いくつかの層を備える。画像を混乱させないために、少数のニューロン322、シナプス前積分器313、及び重み適用素子311のみが示されており、いくつかのみに参照番号が付されている。
【0064】
この実施形態は、行スパイクデコーダ302が、シナプス前入力スパイク301に基づいてシナプス前パルス信号307を復号し、シナプス前積分器313に割り当てるように、ニューロシナプスコア制御素子304と、ニューロン制御素子323と、ニューロンデコーダ素子321と、
図2の行スパイクデコーダ202に類似した行スパイクデコーダ302とを更に備える。
【0065】
コアのアレイ内に配置された複数のニューロシナプスコアは、学習システムのための高レベルアーキテクチャを配置する。各コアは、ハードウェアに実装されたニューロンのネットワークを含み、ニューロンはシナプス素子によって相互接続される。単一のコアは、完全なスパイキングニューラルネットワーク、又は別個のサブネットワークを形成するスパイキングニューラルネットワークの一部分を実装し得る。このようにして、大きいスパイキングニューラルネットワークは、いくつかのより小さいサブネットワークに分割してもよく、各サブネットワークは、アレイのコアのうちの1つにおいて実装される。一実施形態では、コアは、関連付けられた入力データポート、出力ポート、並びに/又は制御及び構成インターフェースを有するスパイキングニューラルネットワークを実装してもよく、例えば、各コアは、
図2又は
図3の配置を含む1つ以上のサブネットワークを実装する。
【0066】
大きなスパイキングニューラルネットワークをより小さなサブネットワークに分割し、サブネットワークの各々を、各々がそれ自体の必要な回路を有する1つ以上のコア上に実装することによって、より小さいプロセスジオメトリ及びより低い動作電流で動作する回路の非理想性の一部が、特に大きいアレイについて緩和される。したがって、コアベースの実装手法は、物理的な非理想性の影響を低減する。
【0067】
サブネットワーク、又は協調グループを形成するニューロンのアンサンブルは、例えば、分類器、分類器のアンサンブル、データ変換、特徴符号化、又は分類のみを処理するニューロンのグループなどを形成することができる。
【0068】
そのようなレジームでは、アンサンブルの大きなネットワークは分割され、コアのアレイ上にマッピングされ、その各々が、スパイキングニューロンのプログラム可能なネットワークを含む。その結果、各コアは、単一のアンサンブル、複数の小さなアンサンブル(コア内のニューロン及びシナプスの数に関して)、又は大きなアンサンブルの場合には、単一のアンサンブルの一部のみを実装し、他の部分はアレイの他のコア上に実装される。どのようにアンサンブルが分割され、コアにマッピングされるかのモダリティは、マッピング方法論によって決定される。マッピング方法論は、制約-駆動分割を含むことができる。制約は、各それぞれのサブネットワークの機能にリンクされた性能メトリックであり得る。性能メトリックは、電力-面積制限、メモリ構造、メモリアクセス、時定数、バイアス、技術制限、復元力、許容される不一致のレベル、及びネットワーク又は物理的アーチファクトに依存し得る。
【0069】
ニューロシナプスコア制御素子304は、場合によっては入力ニューロンの前の層からスパイク入力306を受信し、シナプス前入力スパイク301を行スパイクデコーダ302に送り、制御信号303をシナプス前積分器303に送るように構成される。更に、ニューロシナプスコア制御素子304は、ニューロンデコーダ素子321からニューロンスパイク出力信号325を受信し、その後送信するように構成される。加えて、ニューロシナプスコア制御素子304は、ニューロン制御素子323とニューロンデコーダ素子321の両方を制御するように構成される。最終的に、ニューロシナプスコア制御素子は、構成信号305によって構成可能である。
【0070】
ニューロン制御素子323は、ニューロン制御信号324を介して複数320の出力ニューロン322を制御するように構成される。ニューロンデコーダ素子321は、シナプス出力電流315に基づいて出力ニューロン322によって生成された少なくとも1つの時空間スパイク列出力信号326に基づいてニューロンスパイク出力信号325を生成するように構成される。
【0071】
したがって、本発明で開示されるニューロシナプスコアは、シナプス回路及びニューロンユニットの反復アレイとして編成することができ、各ユニットは細胞アセンブリを形成することができる。システムは、アレイの接合部に電子シナプスの存在を組み込むことができる。アレイの周辺は、生体ニューロンの細胞体及び軸索丘の作用を模倣するシナプス回路の行を含むことができる。
【0072】
更に、アレイ内の各ニューロシナプスコアは、専用リアルタイム再構成可能ネットワークオンチップ内の他のコアのルータと通信するローカルルータを有することができる。分類器は、例えば、それぞれがその発火確率分布に従ってイベント(スパイク)を発火する出力ニューロンのセット(クラスごとに1つ)を有すると仮定することができる。
【0073】
次に、本発明によるシナプス前積分回路について説明する。
【0074】
図4Aは、シナプス前積分器213、313の例示的な実施形態によるシナプス前積分回路400を示しており、この回路は正電圧源420(電圧V
DDのドレインとも呼ばれる)、負電圧源440(電圧V
SSのソースとも呼ばれる)、キャパシタ404、いくつかの電界効果トランジスタ(FET)、特に入力FET401、リークFET403、出力FET405、及びカレントミラー406を含む。シナプス前積分器213、313は、サブしきい値領域で動作し、低面積及び線形フィルタリング特性を提供する。シナプス前積分器213、313は、高速シナプス前パルス信号204、307を、(長く持続する)シナプス入力信号214、314に変換する。シナプス入力信号は、例えば、指数関数的に減少するスパイクのように整形されてもよい(一方で、AMPAのような受容体の時間ダイナミクスを保存する)。シナプス前積分器213、313は、異なるニューロンから生じる時間スパイクを多重化する可能性を提供し、(調整可能な)時定数から独立した調整可能な利得を提供する。
【0075】
この実施形態では、行スパイクデコーダ213、302からのシナプス前パルス信号204、307は、入力FET401にかかるゲート-ソース電圧を形成する。シナプス前パルス信号におけるスパイクに対応して、ゲート-ソース電圧が正であるとき、入力FET401はオンになり、ドレイン-ソース電流が流れることを可能にする。
【0076】
いくつかの実施形態は、制御FET402にかかるゲート-ソース電圧である制御信号に基づいてシナプス入力信号214、314の時間ダイナミクスを制御するように構成された制御FET402を更に含み得る。この実施形態では、制御信号は、行スパイクデコーダ202又はニューロシナプスコア制御素子304からの制御信号203、303である。ゲート-ソース電圧が例えば正であるとき、制御FET402はオンになり、ドレイン-ソース電流が流れることを可能にする。
【0077】
キャパシタ404は、入力FET401及び場合によっては制御FET402に接続され、そのことにより入力FET401及び制御FET402の両方がオンになると、閉回路が形成され、接続が終了するまでキャパシタ404が電荷を蓄積するように、キャパシタ404を介して正電圧源420を負電圧源440に接続する。
【0078】
キャパシタ404が電荷を蓄積している場合、出力FET405は、そのゲート-ソース電圧がキャパシタ404によって蓄積された電荷に等しくなると、オンになる。出力FET405がオンになると、ドレイン-ソース電流が、出力FET405及びカレントミラー406を介して、正電圧源420から負電圧源440へ流れることが可能になる。出力FET405は、キャパシタ404上の電荷が線形に減少している場合、出力FET405を流れるドレイン-ソース電流が指数関数的に減少するように、そのサブしきい値領域において動作するように構成され得る。いくつかの実施形態では、出力FET405は、そのサブしきい値領域において動作し、したがって、そのゲート-ソース電圧とそのソース-ドレイン電流との間に指数関数関係を提供する。その結果、キャパシタ404上の電荷の線形減少は、ドレイン-ソース電流の指数関数的減衰に変換される。
【0079】
リークFET403は、オンにされた場合、キャパシタ404を放電するように構成される。リークFET403を通る定電流に起因して、キャパシタ404によって蓄積される電荷は線形に減少する。いくつかの実施形態では、リークFET403は時定数によって制御され、時定数はリークFET403のゲート-ソース電圧を決定する。時定数は、例えば、AMPA、NDMA、GABAA又はGABAB時間ダイナミクスが実現されるように選択されてもよい。
【0080】
電流がカレントミラー406を流れる場合、この電流の強度に比例して電圧信号が生成される。この実施形態では、シナプス前積分器213、313によって生成されるシナプス入力信号214、314が、この電圧信号である。実際には、カレントミラー406を流れる電流は電圧信号として複製される。代替的に、又は加えて、カレントミラー406は、電流複製のばらつきの低減及び精度の向上のために、シナプス入力信号214、314が2つの電圧信号を含むようなカスコードカレントミラーであり得る。すなわち、カスコード実装は、インピーダンスを改善することによって、出力駆動強度を改善する。
【0081】
図4Bは、シナプス前積分器213、313の別の例示的な実施形態によるシナプス前積分回路410を示し、この回路は、正電圧源430と、負電圧源450と、キャパシタ414と、いくつかの電界効果トランジスタ(FET)、特に入力FET411と、制御FET412と、リークFET413と、出力FET415と、ミラーFET417と、カスコードカレントミラー416とを備える。キャパシタによって蓄積される電荷の量が、キャパシタ414の容量値(製造ばらつきにより最大20%まで変動し得る)に依存しないように、
図4Bの回路が使用される。したがって、回路は、キャパシタ414上の電荷を安定させるのに十分な長さである限り、シナプス前パルス信号204、307におけるスパイクの持続時間にもはや依存しない。この実施形態は、出力制御FET419、電流制御FET418、及びインバータ423を含む出力制御素子を更に含む。
【0082】
この実施形態では、シナプス前パルス信号204、307は、入力FET411にかかるゲート-ソース電圧である。入力パルスが印加されたときに入力FET411にかかるゲート-ソース電圧が高くなると、制御FET412を介して電流が流れ始め、キャパシタ414をミラーFET417のダイオード電圧まで充電する。入力FET411上のゲート-ソース電圧パルスは、キャパシタ414によって蓄積された電荷の量が一定値に達するために十分に長い必要があることに留意することが重要である。
【0083】
制御FET412は、制御信号203、303に基づいてシナプス入力信号214、314の時間ダイナミクスを制御するように構成される。この実施形態では、制御信号203、303は、制御FET402にかかるゲート-ソース電圧である。ゲート-ソース電圧が正であるとき、制御FET412はオンになり、ドレイン-ソース電流が流れることを可能にする。この実施形態では、制御信号203、303は、キャパシタによって蓄積される電荷の量が時空間スパイク列内のスパイクの持続時間及びキャパシタの容量値に依存しないように、キャパシタによる電荷の蓄積を調節し、キャパシタ上の最大電荷を制御することによってシナプス入力信号の時間形状及び最大振幅を調節するように構成される。いくつかの実施形態では、制御FET412は定電流源である。
【0084】
キャパシタ414は、入力FET411及び制御FET412に接続され、そのことにより入力FET411及び制御FET412の両方がオンになると、閉回路が形成され、接続が終了するまでキャパシタ414が電荷を蓄積するように、キャパシタ414を介して正電圧源430を負電圧源450に接続する。
【0085】
キャパシタ414が電荷を蓄積している場合、出力FET415は、そのゲート-ソース電圧がキャパシタ414によって蓄積された電荷に等しくなると、オンになる。シナプス前パルス信号204、307がローになると、出力が有効にされ、リークFET413が時間経過とともにキャパシタ414を放電するにつれ、出力FET415を流れるドレイン-ソース電流はそれに応じて減少する。出力FET415及び出力制御FET419の両方がオンになると、ドレイン-ソース電流が、正電圧源430から負電圧源450へ、出力FET415、出力制御FET419、及びカスコードカレントミラー416を通って流れることが可能となる。出力FET415は、キャパシタ414上の電荷が線形に減少している場合、出力FET415にかかるドレイン-ソース電流が指数関数的に減少するように、そのサブしきい値領域において動作するように構成され得る。
【0086】
出力段は、電流複製のばらつきの低減及び精度の向上のためにカスコードカレントミラー416を採用することができる。電流がカスコードカレントミラー416を流れる場合、この電流の強度に比例して2つの電圧信号が生成される。この実施形態では、シナプス前積分器213、313によって生成されるシナプス入力信号214、314は、このように2つの電圧信号を含む。実際には、カスコードカレントミラー416を流れる電流は2つの電圧信号として複製される。代替的に、カスコードカレントミラー416は、
図4Aの実施形態に見られるように、代わりに1つの電圧信号を生成する通常のカレントミラーであってもよい。
【0087】
インバータ423、出力制御FET419及び電流制御FET418を含む出力制御素子は、出力電流の流れを調節するように構成される。矢印421は、出力FET415のドレイン-ソースを流れる出力電流の方向を示す。しかしながら、この電流は、出力FET415及び出力制御FET419の両方がオンになる場合にのみ流れる。インバータ423は、シナプス前入力信号204、307が負である場合は正電圧がその出力において生成されるように、シナプス前入力信号204、307が正である場合は負電圧がインバータ423の出力において生成されるように、入力FET411に接続される。結果として、出力制御FET419は、シナプス前入力信号が負である場合、すなわち、シナプス前入力信号がスパイクしていない場合にのみオンになる。したがって、FET415及び419を流れる出力電流は、時空間スパイク列内のスパイクが終了した後にのみ可能である。更に、電流制御FET418は、シナプス前パルス信号204、307がスパイクしているときにのみオンになる。結果として、FET418及び411のいずれかを流れるドレイン-ソース電流によるキャパシタ414の放電は、スパイクが終了した後は不可能であり、キャパシタ414の放電がリークFET413によって制御されることを確実にしている。
【0088】
リークFET413は、それがオンになると、そのドレイン-ソース電流(矢印422によって示される電流方向)を通してキャパシタ414を放電するように構成される。シナプス前パルス信号204、307がローになり、充電回路が閉じられると、キャパシタ414は、リークFET413を通じて定電流で放電する。いくつかの実施形態では、リークFET413は時定数によって制御され、時定数はリークFET413のゲート-ソース電圧を決定する。時定数は、AMPA、NDMA、GABAA又はGABAB時間ダイナミクスが実現されるように選択されてもよい。
【0089】
ミラーFET417は出力FET415に結合され、それによって、ミラーFET417及び出力FET415が共にカレントミラーを形成し、出力FET415を流れるドレイン-ソース電流がミラーFET417を流れるドレイン-ソース電流と同一であることを確実にする。したがって、事前積分回路内のキャパシタによって誘導される電圧は、事前積分回路の機能にとってもはや重要ではない。
【0090】
次に、本発明による重み適用回路について説明する。
【0091】
図2及び
図3の重み適用(乗算)回路は、完全に分散され、典型的なシナプス機能を実行し、入力ニューロンと出力ニューロンとを接続し、記憶された重みを適用する。乗算器の線形性は、学習を劣化させないために保存されるべきである。デジタル的に記憶された重みは、
図5A及び
図5Bに示されるR-2Rアーキテクチャに基づく電流型D/A変換器を介してアナログ領域に変換される。重み適用素子は、その入力電流に0から1の範囲の係数を適用し、それを減衰させ、入力電流の選択された部分をその出力に送ることができる。
【0092】
重み誤差に対する感度を最小にするために、小さな相互コンダクタンスを有することが有利である。この設計は電流型D/A変換に基づいているので、複数の重み適用素子の出力を単純に加算することができる。
【0093】
図5Aは、重み適用素子211、311の例示的な実施形態による重み適用回路500を示す。画像を混乱させないために、いくつかの要素のみに参照番号が付されており、繰り返される要素は限られた回数だけ示されている。重み適用回路500は、正電圧源520と、負電圧源540と、第1のシナプス入力受信機507と、第2のシナプス入力受信機508と、出力端子509と、出力選択素子550のラダーとを備え、各出力選択素子は、二重抵抗FET503と、単一抵抗FET504と、正出力FET501と、負出力FET502とを含む。FET505及びFET506は、正電圧源520に接続することもできる。
【0094】
シナプス入力受信機507及び508は、ゲート-ソース電圧の形態でシナプス入力信号214、314を受信するように構成される。
図4Aを参照すると、シナプス入力信号214、314は、出力カレントミラー406によって与えられる場合がある。シナプス入力受信機507、508にかかるゲート-ソース電圧は、重み適用回路500の残りの部分を通って、特に出力選択素子550のラダーに沿って出力端子509に向けて、電流が流れるようにする。
【0095】
出力選択素子550は、シナプス入力受信機507を通って流れる電流が出力選択素子550の間で分配されるように、順次接続される。出力選択素子550の各々は、単一抵抗トランジスタ504及び二重抵抗トランジスタ503を含み、これらは、シナプス入力受信機507からの電流が、それが通過する出力選択素子550ごとに2つに分けられるように配置される。したがって、第1の出力選択素子550はシナプス入力電流の2分の1を受け取り、第2の出力選択素子550はシナプス入力電流の4分の1を受け取り、第3の出力選択素子550はシナプス入力電流の8分の1を受け取り、以下同様である。より多くの出力選択素子550が含まれるほど、重み適用においてより高い精度が達成可能である。
【0096】
出力選択素子550の各々は、正出力FET501及び負出力FET502を含む。これらのFETにかかるゲート-ソース電圧は、重み記憶素子212に記憶された、デジタル的に記憶された重み値によって決定される。重み値はビットとして記憶され、ビットの数は出力制御素子550の数に等しい。記憶された重み値の各ビットは、正出力FET501又は負出力FET502のいずれかがオンになるように、出力制御素子の設定を決定する。正出力FET501がオンになると、対応する出力選択素子に割り当てられるシナプス入力電流の部分は、出力端子509に接続される。負出力FET502がオンになると、シナプス入力電流の選択された部分は、シナプス出力電流に寄与しない。このように、記憶されたバイナリ重み値に基づく重み適用が実現される。
【0097】
図5Bは、重み適用素子211、311の別の例示的な実施形態による重み適用回路500を示す。この回路では、シナプス入力受信機507、508は、それぞれが、2つのゲート-ソース電圧の形態でシナプス入力信号214、314を受信するように構成される2つの電界効果トランジスタを含む。
図5Bを参照すると、シナプス入力信号214、314は、出力カスコードカレントミラー416によって提供される場合がある。
【0098】
次に、本発明による極性選択回路について説明する。
【0099】
図6は、極性選択を含む、本発明の例示的な実施形態による極性選択回路600を示す。重み適用素子211、311の出力の極性は、GABA受容体の挙動に対応する抑制性スパイクを生成するように構成することができる。極性選択回路600は、電流を吐き出すソーシングカレントミラー632と、電流を吸い込むシンキングカレントミラー642とを用いる。極性選択回路は、正電圧源610と、負電圧源620と、極性出力素子603と、第1の通過FET631と、第2の通過FET641と、ソーシング選択FET630と、シンキング選択FET640と、シナプス出力電流215、315を受け取るように構成された極性入力素子601とを更に含む。シナプス出力電流215、315の方向は、矢印604によって示される。極性選択端子602に印加される電圧がハイに設定されるかローに設定されるかに応じて、興奮性シナプス又は抑制性シナプスに対応して、それぞれ、ソーシングカレントミラー又はシンキングカレントミラーが有効になる。
【0100】
極性入力素子601は、ドレイン-ソース電流としてシナプス出力電流を受け取り、この電流をゲート-ソース電圧に変換するように構成される。このゲート-ソース電圧は、ソーシングカレントミラー632又はソーシングカレントミラー642のいずれかのゲート端子に印加される。
【0101】
通過FET631及び632は、該当する場合、極性入力素子601によって受信された信号をシンキングカレントミラーに通過させるように構成される。第1の通過FET631のゲートに電圧が印加されると、ドレイン-ソース電流が流れ始める。このドレイン-ソース電流は、第2の通過FET641を流れるドレイン-ソース電流を決定し、これは、第2の通過FET641のゲート-ソース電圧を決定する。次いで、シンキング選択FET640がオンになると、通過FET641に印加されるこのゲート-ソース電圧は、シンキングカレントミラー642に印加され得る。第2の通過FET641にかかるゲート-ソース電圧は、極性入力素子601によって生成されるゲート-ソース電圧と同一である。
【0102】
高電圧又は低電圧のいずれかが極性選択端子602に印加される場合、ソーシング選択FET630がオンになるか、又はシンキング選択FET640がオンになる。
【0103】
ソーシング選択FET630がオンになると、ソーシング選択FET630を流れるドレイン-ソース電流が有効になる。結果として、極性入力素子601にかかるゲート-ソース電圧は、ソーシングカレントミラー632にも印加され、ソーシングカレントミラー632をオンにする。ソーシングカレントミラー632がオンになると、電流は、正電圧源610から極性出力素子603に流れ始め、この電流は、極性入力素子601によって受け取られるシナプス出力電流と同一である。
【0104】
シンキング選択FET640がオンになると、シンキング選択FET640を流れるドレイン-ソース電流が有効になる。結果として、極性入力素子601にかかるゲート-ソース電圧は、シンキングカレントミラー642にも印加され、シンキングカレントミラー642をオンにする。シンキングカレントミラー642がオンになると、極性出力素子603から負電圧源620へ電流が流れ始める。したがって、極性入力素子601によって受け取られる反転されたシナプス入力電流に等しい電流が、極性出力素子603を通って流れる。
【0105】
極性選択回路の使用を通して、スパイキングニューラルネットワークは、一般化された積分発火モデルの1つの可能な実装形態であるコンダクタンスベースの積分発火モデルとして、一般性を失うことなく実装され得る。
【0106】
次に、本発明によって達成できる可能性のある信号パターンについて説明する。
【0107】
本発明によるスパイキングニューラルネットワークは、興奮性/抑制性ネットワーク相互作用条件、入力パターンにおける不均一性、及びシナプス前積分器において実装される時空間ダイナミクスに応じて、広範囲のパターン活動、例えば、完全同期、クラスタ又は非同期状態を示すことができる。
【0108】
図7Aは、秒単位の時間702の関数としてアンペア単位の興奮性シナプス出力電流(又は興奮性シナプス後電流、すなわちシナプスEPSC電流)701をプロットするグラフ700を示しており、興奮性シナプス出力電流701は、シナプス出力電流215、315の1つの例示的な実施形態である。
【0109】
図7B及び
図7Cは、時空間スパイク列711、721の電圧(ボルト)を時間(秒)712、722の関数としてプロットしたグラフ710、720を示しており、時空間スパイク列は、時空間スパイク列204、307の例示的な実施形態である。特に、
図7Bは、ニューロン(ノード)の膜上に電荷を蓄積することがスパイク生成につながることを示す。
図7Cには、非線形スパイキング挙動及び周波数適応性が示されている。
【0110】
本発明は、集積回路上、特にマイクロコントローラ集積回路上に実装することができる。例えば、コアアレイ内のコアは、マイクロコントローラ集積回路上にネットワークオンチップを形成することができる。ネットワークオンチップは、マイクロコントローラ集積回路のスケーラビリティ及び電力効率を改善する。ネットワークオンチップは、リアルタイムで再構成可能であり得るか、又は生産段階中に静的に定義され得る。ネットワークオンチップがリアルタイムで再構成可能である場合、コアアレイ内のコアの設定及びそれらの相互接続構造設定を変更することができる。この変更は、例えば、マイクロコントローラ集積回路の入力又は出力の変更、分類の精度又は安定性に対する異なる需要、学習規則に基づくネットワークの進化、及び通信プロトコルの変更に基づいて行うことができる。
【0111】
本発明は、シナプス処理機能の最適な面積及び電力設計を可能にする分散型マルチコンポーネントハードウェア構造の実装を提供する。この実装は、スパイキングニューラルネットワーク内の個々の信号処理特性及び機能のコンポーネントごとの最適化を可能にすることによって、シナプス構造次元数の増加を実現することができる。
【0112】
本発明は、アレイ不均一性に対してロバストである面積及び電力効率の良いシナプス前適応機構の実装を提供し、この実装では、入力ニューロンごとに(nではなく)単一のスパイク積分器だけが必要とされる。
【0113】
本発明は、シナプス容量変動の影響を最小限に抑えるシナプス前適応(シナプス前積分及び電流生成)機構の実装を提供する。更に、本発明は、その入力電流に範囲のある係数を適用し、入力電流の選択された部分をその出力に送ることによって、デジタル的に記憶された重みをアナログ領域に変換するための効率的な機構の実装を提供する。
【0114】
更に、本発明は、シナプス素子における興奮性出力と抑制性出力との間で選択するための機構の実装を提供する。これは、時間依存計算を実行するために、時間特性の変化などの特定の機能に向けて拡張することができる複雑なダイナミクスを生成することができるシナプス素子の実装を提供する。
【0115】
上記の実施形態のうちの2つ以上が、任意の適切な様式で組み合わせられてもよい。
【手続補正書】
【提出日】2023-06-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のシナプス前積分
器と、複数の重み適用素
子と、複数の出力ニューロ
ンと
を備えるスパイキングニューラルネットワー
クであって、
前記複数のシナプス前積分
器の各々が、前記シナプス前積分器において電荷の蓄積を引き起こすシナプス前パルス信
号を受信し、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信
号を生成するように適合され、
前記複数の重み適用素
子のうちの第1のグループの重み適用素
子が、前記複数のシナプス前積分
器のうちの最初の1つから前記シナプス入力信
号を受信するように接続され、
前記第1のグループの重み適用素子の各重み適用素
子が、シナプス出力電
流を生成するために、前記シナプス入力信
号に重み値を適用するように適合され、前記シナプス出力電流の強度が前記適用された重み値の関数であり、
前記複数の出力ニューロ
ンの各々が、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電
流を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信
号を生成するように接続される、スパイキングニューラルネットワー
ク。
【請求項2】
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成するように構成されたシナプス入力受信機と、
前記重み値を記憶するように構成された重み記憶素子と、
前記シナプス出力電流を生成するために、前記重み記憶素子に記憶された前記重み値を前記シナプス入力電流に適用するように構成された修正素子と
を含む、重み適用回路を備え
る、
請求項1に記載のスパイキングニューラルネットワーク。
【請求項3】
前記重み記憶素子に記憶された前記重み値が調整可能であ
る、請求項2に記載のスパイキングニューラルネットワーク。
【請求項4】
前記ネットワークが、前記シナプス前パルス信号が前記スパイキングニューラルネットワークの構成に基づいて前記シナプス前積分器に割り当てられるように、シナプス前入力スパイクに基づいて前記シナプス前パルス信号を供給するように構成された行スパイクデコーダを更に備える、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項5】
前記スパイキングニューラルネットワークが、前記シナプス前パルス信号を生成する入力ニューロンを含み、前記シナプス前積分器が、異なる入力ニューロンから生じる時間スパイクを多重化する、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項6】
前記シナプス前積分器が生成する前記シナプス入力信号の前記所定の時間ダイナミクスが、AMPA、NMDA、GABA
A、又はGABA
Bの時間ダイナミクスである、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項7】
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項8】
前記シナプス前積分器が
、前記シナプス入力信号の時間形状を制御する制御信号によって構成可能であ
る、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項9】
前記出力ニューロンが、前記ニューロンダイナミクスを制御するためなど、ニューロン制御信号によって制御される、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項10】
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項11】
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、請求項10に記載のスパイキングニューラルネットワーク。
【請求項12】
前記スパイキングニューラルネットワークが、複数の第2のグループの重み適用素子を備え、各第2のグループの重み適用素子が、シナプス出力信号を前記複数の出力ニューロンのうちの異なる1つに提供するように接続される、請求項
10に記載のスパイキングニューラルネットワーク。
【請求項13】
前記スパイキングニューラルネットワークが、完全な同期、クラスタ若しくは非同期状態、入力パターンにおける不均一性、ニューロシナプス素子時空間ダイナミクス、非線形スパイキング挙動及び/又は周波数適応性を含む、使用中の様々なパターン活動を示す、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項14】
前記重み適用素子の各々が、
極性出力電流を生成するために前記シナプス出力信号を受信するように構成された極性選択素子を更に備え
る、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項15】
前記シナプス前積分器が、
複数の前記重み適用素子への入力のためのシナプス入力電流を生成するように構成される、請求項
1に記載のスパイキングニューラルネットワーク。
【請求項16】
スパイキングニューラルネットワークのためのシナプス前積分及び重み適用の方法であって、前記スパイキングニューラルネットワークが、複数のシナプス前積分
器と、複数の重み適用素
子と、複数の出力ニューロ
ンとを備え、前記方法が、
前記複数のシナプス前積分
器の各々によって、前記シナプス前積分器で電荷の蓄積を引き起こすシナプス前パルス信
号を受信することと、
前記複数のシナプス前積分
器の各々によって、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信
号を生成することと、
前記複数の重み適用素
子のうちの第1のグループの重み適用素
子によって、前記複数のシナプス前積分
器のうちの最初の1つから前記シナプス入力信
号を受信することと、
シナプス出力電
流を生成するために、前記第1のグループの重み適用素子の各重み適用素
子によって前記シナプス入力信
号に重み値を適用することであって、前記シナプス出力電流の強度が前記適用された重み値の関数である、適用することと、
前記複数の出力ニューロ
ンの各々によって、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電
流を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信
号を生成することと
を含む、シナプス前積分及び重み適用の方法。
【請求項17】
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成することと
前記重み値を記憶することと、
前記記憶された重み値を前記シナプス入力電流に適用して、前記シナプス出力電流を生成することと
のために
構成された重み適用回路を備える、請求項
16に記載のシナプス前積分及び重み適用の方法。
【請求項18】
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、請求項
16に記載のシナプス前積分及び重み適用の方法。
【請求項19】
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、請求項
16に記載のシナプス前積分及び重み適用の方法。
【請求項20】
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、請求項
19に記載のシナプス前積分及び重み適用の方法。
【請求項21】
前記極性選択素子が、前記シナプス出力電流を複製又は反転するように構成される、請求項14に記載のスパイキングニューラルネットワーク。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0115
【補正方法】変更
【補正の内容】
【0115】
上記の実施形態のうちの2つ以上が、任意の適切な様式で組み合わせられてもよい。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[C1]
複数のシナプス前積分器(209)と、複数の重み適用素子(210)と、複数の出力ニューロン(220)と
を備えるスパイキングニューラルネットワーク(100)であって、
前記複数のシナプス前積分器(213)の各々が、前記シナプス前積分器において電荷の蓄積を引き起こすシナプス前パルス信号(204)を受信し、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信号(214)を生成するように適合され、
前記複数の重み適用素子(210)のうちの第1のグループの重み適用素子(211)が、前記複数のシナプス前積分器(213)のうちの最初の1つから前記シナプス入力信号(214)を受信するように接続され、
前記第1のグループの重み適用素子の各重み適用素子(211)が、シナプス出力電流(215)を生成するために、前記シナプス入力信号(214)に重み値を適用するように適合され、前記シナプス出力電流の強度が前記適用された重み値の関数であり、
前記複数の出力ニューロン(222)の各々が、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流(214)を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号(223)を生成するように接続される、スパイキングニューラルネットワーク(100)。
[C2]
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成するように構成されたシナプス入力受信機と、
前記重み値を記憶するように構成された重み記憶素子と、
前記シナプス出力電流を生成するために、前記重み記憶素子に記憶された前記重み値を前記シナプス入力電流に適用するように構成された修正素子と
を含む、重み適用回路を備え、
前記重み値が、好ましくはデジタル形式で記憶され、電流型デジタル-アナログ変換器を介してアナログ領域に変換され、
前記電流型デジタル-アナログ変換器が、好ましくはR-2Rアーキテクチャに基づき、
電流型デジタル-アナログ変換器が、好ましくは所定の係数を適用して前記シナプス入力電流を減衰させ、前記減衰されたシナプス入力電流に基づいて前記シナプス出力電流を生成する、C1に記載のスパイキングニューラルネットワーク。
[C3]
前記重み記憶素子に記憶された前記重み値が調整可能であり、好ましくは、前記重み記憶素子に記憶された前記重み値が学習規則に基づいて調整される、C2に記載のスパイキングニューラルネットワーク。
[C4]
前記ネットワークが、前記シナプス前パルス信号が前記スパイキングニューラルネットワークの構成に基づいて前記シナプス前積分器に割り当てられるように、シナプス前入力スパイクに基づいて前記シナプス前パルス信号を供給するように構成された行スパイクデコーダを更に備える、C1~3のいずれか一項に記載のスパイキングニューラルネットワーク。
[C5]
前記スパイキングニューラルネットワークが、前記シナプス前パルス信号を生成する入力ニューロンを含み、前記シナプス前積分器が、異なる入力ニューロンから生じる時間スパイクを多重化する、C1~4のいずれか一項に記載のスパイキングニューラルネットワーク。
[C6]
前記シナプス前積分器が生成する前記シナプス入力信号の前記所定の時間ダイナミクスが、AMPA、NMDA、GABA
A
、又はGABA
B
の時間ダイナミクスである、C1~5のいずれか一項に記載のスパイキングニューラルネットワーク。
[C7]
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、C1~6のいずれか一項に記載のスパイキングニューラルネットワーク。
[C8]
前記シナプス前積分器が制御信号によって構成可能であり、好ましくは、前記制御信号が前記シナプス入力信号の時間形状を制御する、C1~7のいずれか一項に記載のスパイキングニューラルネットワーク。
[C9]
前記出力ニューロンが、前記ニューロンダイナミクスを制御するためなど、ニューロン制御信号によって制御される、C1~8のいずれか一項に記載のスパイキングニューラルネットワーク。
[C10]
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、C1~9のいずれか一項に記載のスパイキングニューラルネットワーク。
[C11]
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、C10に記載のスパイキングニューラルネットワーク。
[C12]
前記スパイキングニューラルネットワークが、複数の第2のグループの重み適用素子を備え、各第2のグループの重み適用素子が、シナプス出力信号を前記複数の出力ニューロンのうちの異なる1つに提供するように接続される、C1~11のいずれか一項に記載のスパイキングニューラルネットワーク。
[C13]
前記スパイキングニューラルネットワークが、完全な同期、クラスタ若しくは非同期状態、入力パターンにおける不均一性、ニューロシナプス素子時空間ダイナミクス、非線形スパイキング挙動及び/又は周波数適応性を含む、使用中の様々なパターン活動を示す、C1~12のいずれか一項に記載のスパイキングニューラルネットワーク。
[C14]
複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路であって、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、好ましくは、前記シナプス前パルス信号が時空間スパイク列である、入力素子と、
前記シナプス前パルス信号に応答して電荷を蓄積するように構成されたキャパシタと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部を放電するように構成されたリーク素子と、
前記複数の重み適用素子に供給するために、前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成するように構成された出力素子と
を備える、シナプス前積分回路。
[C15]
前記シナプス入力信号の前記時間ダイナミクスを制御するように適合された制御素子を更に備え、前記制御素子が、
制御信号、好ましくは制御電圧を受信し、
前記制御信号に基づいて前記キャパシタによる電荷の蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の最大振幅を調節する
ように構成される、C14に記載のシナプス前積分回路。
[C16]
後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路であって、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信するように構成された入力素子であって、前記シナプス前パルス信号が時空間スパイク列である、入力素子と、
前記時空間スパイク列内のスパイクに基づいて電荷を蓄積するように構成されたキャパシタと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部を放電するように構成されたリーク素子と、
前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成するように構成された出力素子と、
前記シナプス入力信号の前記生成が前記時空間スパイク列によって制御されるように、前記シナプス前パルス信号に基づいて前記出力素子によって実施される前記シナプス入力信号の前記生成を制御するように構成された出力制御素子であって、好ましくは前記シナプス入力信号が前記時空間スパイク列のスパイク中に生成されない、出力制御素子と、
制御信号、好ましくは制御電圧を受信し、
前記キャパシタによって蓄積される電荷の量が前記時空間スパイク列におけるスパイクの持続時間及び前記キャパシタの容量値、好ましくは前記キャパシタの製造ばらつきに依存しないように、前記キャパシタによる電荷の蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の時間形状及び最大振幅を調節する
ように構成された制御素子と
を備える、シナプス前積分回路。
[C17]
前記出力制御素子が、電界効果トランジスタ及びインバータを備え、前記インバータが、前記シナプス前入力信号に基づいて前記出力制御素子の前記電界効果トランジスタのゲート-ソース電圧を印加するように構成され、好ましくは、前記ゲート-ソース電圧が、前記シナプス前入力信号がスパイキングしていないときに印加され、前記シナプス入力信号が、前記出力制御素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流によって生成される、C16に記載のシナプス前積分回路。
[C18]
前記リーク素子が、時定数によって制御され、好ましくは、前記時定数が、AMPA、NMDA、GABA
A
又はGABA
B
の時間ダイナミクスを特徴付ける、C14~17のいずれか一項に記載のシナプス前積分回路。
[C19]
前記リーク素子が電界効果トランジスタを備え、前記時定数が前記リーク素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記キャパシタが前記リーク素子の前記電界効果トランジスタの前記ドレイン-ソース電流によって放電される、C18に記載のシナプス前積分回路。
[C20]
前記入力素子が、電界効果トランジスタを備え、前記シナプス前パルス信号が、前記入力素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記入力素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流が、前記キャパシタを充電する、C14~19のいずれか一項に記載のシナプス前積分回路。
[C21]
前記出力素子が、電界効果トランジスタを備え、前記キャパシタによって蓄積された前記電荷が、前記出力素子の前記電界効果トランジスタの前記ゲート-ソース電圧を生成し、前記出力素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流が、前記シナプス入力信号を生成する、C14~20のいずれか一項に記載のシナプス前積分回路。
[C22]
前記制御素子が電界効果トランジスタを備え、前記制御信号が前記制御素子の前記電界効果トランジスタの前記ゲート-ソース電圧であり、前記キャパシタが前記制御素子の前記電界効果トランジスタを流れる前記ドレイン-ソース電流によって充電される、C14~20のいずれか一項に記載のシナプス前積分回路。
[C23]
前記出力素子が、電圧領域において前記シナプス入力信号を生成するように構成された出力カレントミラー、又は、
前記電圧領域において前記シナプス入力信号を生成するように構成された出力カスコードカレントミラーであって、結果として生じる前記シナプス入力信号が2つの電圧信号を含む、出力カスコードカレントミラー
を更に備える、C14~22のいずれか一項に記載のシナプス前積分回路。
[C24]
前記シナプス入力信号が、前記キャパシタが放電されているときに指数関数的に減少する、C14~23のいずれか一項に記載のシナプス前積分回路。
[C25]
シナプス出力電流を複製又は反転するように構成された極性選択回路であって、
前記シナプス出力電流を受け取るように構成された極性入力素子と、
極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択するように構成された極性選択端子であって、
前記ソーシングカレントミラーが、前記シナプス出力電流を複製するように構成され、
前記シンキングカレントミラーが、前記シナプス出力電流を反転させるように構成された、極性選択端子と、
前記複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成する極性出力素子と
を備える、極性選択回路。
[C26]
前記重み適用素子の各々が、極性選択素子を更に備え、前記極性選択素子が、C26に記載の前記極性選択回路を備え、それにより、C1~13のいずれか一項からの前記シナプス出力信号が前記極性選択回路によって使用されて前記極性出力電流が生成され、好ましくは、前記入力ニューロンが前記極性出力電流を受け取り、前記複製されたシナプス出力電流が興奮性シナプス出力信号に対応し、前記反転されたシナプス出力電流が抑制性シナプス出力信号に対応する、C1~13のいずれか一項に記載のスパイキングニューラルネットワーク。
[C27]
前記シナプス前積分器が、C14~24のいずれか一項に記載のシナプス前積分回路を備える、C26に記載のスパイキングニューラルネットワーク。
[C28]
スパイキングニューラルネットワークのためのシナプス前積分及び重み適用の方法であって、前記スパイキングニューラルネットワークが、複数のシナプス前積分器(209)と、複数の重み適用素子(210)と、複数の出力ニューロン(220)とを備え、前記方法が、
前記複数のシナプス前積分器(213)の各々によって、前記シナプス前積分器で電荷の蓄積を引き起こすシナプス前パルス信号(204)を受信することと、
前記複数のシナプス前積分器(213)の各々によって、シナプス入力信号が所定の時間ダイナミクスを有するように、前記蓄積された電荷に基づいて前記シナプス入力信号(214)を生成することと、
前記複数の重み適用素子(210)のうちの第1のグループの重み適用素子(211)によって、前記複数のシナプス前積分器(213)のうちの最初の1つから前記シナプス入力信号(214)を受信することと、
シナプス出力電流(215)を生成するために、前記第1のグループの重み適用素子の各重み適用素子(211)によって前記シナプス入力信号(214)に重み値を適用することであって、前記シナプス出力電流の強度が前記適用された重み値の関数である、適用することと、
前記複数の出力ニューロン(222)の各々によって、前記複数の重み適用素子のうちの第2のグループの重み適用素子からシナプス出力電流(214)を受け取り、前記受け取った1つ以上のシナプス出力電流に基づいて時空間スパイク列出力信号(223)を生成することと
を含む、シナプス前積分及び重み適用の方法。
[C29]
前記重み適用素子の各々が、
前記シナプス前積分器から前記シナプス入力信号を受信し、前記シナプス入力信号に基づいてシナプス入力電流を生成することと
前記重み値を記憶することと、
前記記憶された重み値を前記シナプス入力電流に適用して、前記シナプス出力電流を生成することと
のために適合された重み適用回路を備える、C28に記載のシナプス前積分及び重み適用の方法。
[C30]
前記シナプス前積分器が、調整可能な時定数から独立した調整可能な利得を生成し、前記時定数が、前記シナプス前積分器内の前記蓄積された電荷を分離するリーク電流を決定し、前記シナプス前積分器の前記シナプス入力信号の前記時間ダイナミクスを特徴付ける、C28又は29に記載のシナプス前積分及び重み適用の方法。
[C31]
前記スパイキングニューラルネットワークが、複数の第1のグループの重み適用素子を備え、
各第1のグループの重み適用素子内の前記重み適用素子の各々1つが、それぞれのシナプス前積分器から同じシナプス入力信号を受信するように接続され、
各第1のグループの重み適用素子が、前記複数のシナプス前積分器のうちの異なる1つからシナプス入力信号を受信するように接続される、C28~30のいずれか一項に記載のシナプス前積分及び重み適用の方法。
[C32]
前記スパイキングニューラルネットワークが複数の入力ニューロンを含み、前記入力ニューロンのそれぞれ1つが、それぞれ第1のグループの重み適用素子にシナプス入力信号を提供するために、シナプス前パルス信号を前記シナプス前積分器のそれぞれ1つに提供するように接続される、C31に記載のシナプス前積分及び重み適用の方法。
[C33]
スパイキングニューラルネットワークのためのシナプス前積分の方法であって、
複数の重み適用素子への入力のためのシナプス入力電流を生成するように構成されたシナプス前積分回路を提供することと、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、好ましくは、前記シナプス前パルス信号が時空間スパイク列である、受信することと、
前記シナプス前パルス信号に応答して電荷を蓄積することと、
蓄積された前記電荷の少なくとも一部をリーク素子を通じて放電することと、
前記複数の重み適用素子に供給するために、蓄積された前記電荷に基づいてシナプス入力信号を生成することと
を含む、方法。
[C34]
スパイキングニューラルネットワークのためのシナプス前積分の方法であって、
後続の重み適用のためのシナプス入力信号を生成するように構成されたシナプス前積分回路を提供することと、
シナプス前パルス信号、好ましくはシナプス前パルス電圧を受信することであって、前記シナプス前パルス信号が時空間スパイク列である、受信することと、
前記時空間スパイク列内のスパイクに基づいて電荷をキャパシタによって蓄積することと、
前記キャパシタによって蓄積された前記電荷の少なくとも一部をリーク素子を通じて放電することと、
前記キャパシタによって蓄積された前記電荷に基づいて前記シナプス入力信号を生成することと、
前記シナプス入力信号の前記生成が前記時空間スパイク列によって制御されるように、前記シナプス前パルス信号に基づいて前記出力素子によって実施される前記シナプス入力信号の前記生成を制御することであって、好ましくは前記シナプス入力信号が前記時空間スパイク列のスパイク中に生成されない、制御することと、
制御信号、好ましくは制御電圧を受信し、
前記キャパシタによって蓄積される電荷の量が前記時空間スパイク列におけるスパイクの持続時間及び前記キャパシタの容量値、好ましくは前記キャパシタの製造ばらつきに依存しないように、電荷の前記蓄積を調節し、
前記キャパシタ上の最大電荷を制御することによって、前記シナプス入力信号の時間形状及び最大振幅を調節する、
ように構成された制御素子を提供することと
を含む、方法。
[C35]
シナプス出力電流を複製又は反転するように構成された極性選択回路を提供することと、
前記シナプス出力電流を受信することと、
極性入力信号に基づいてソーシング又はシンキングカレントミラーを選択することと、
前記シナプス出力電流を複製すること及び/又は前記シナプス出力電流を反転させることと、
前記複製又は反転されたシナプス出力電流に基づいて極性出力電流を生成することと
を含む、極性選択のための方法。
[C36]
C1~13、26~27のいずれか一項に記載のスパイキングニューラルネットワークを使用して入力信号を分類する方法。
【国際調査報告】