JP7657460B2 - イベント駆動型スパイキング畳み込みニューラルネットワーク - Google Patents
イベント駆動型スパイキング畳み込みニューラルネットワーク Download PDFInfo
- Publication number
- JP7657460B2 JP7657460B2 JP2021560600A JP2021560600A JP7657460B2 JP 7657460 B2 JP7657460 B2 JP 7657460B2 JP 2021560600 A JP2021560600 A JP 2021560600A JP 2021560600 A JP2021560600 A JP 2021560600A JP 7657460 B2 JP7657460 B2 JP 7657460B2
- Authority
- JP
- Japan
- Prior art keywords
- neuron
- kernel
- module
- memory
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Image Analysis (AREA)
- Multi Processors (AREA)
Description
- 少なくとも1つの畳み込みカーネルのカーネル値をイベント駆動方式で格納及び処理するように構成されたカーネルモジュール、
- 前記ネットワークのニューロンのニューロン状態をイベント駆動方式で格納及び処理するように、特に更新し、かつ特に処理されたもの、例えば、更新されたニューロンから生成されたスパイクイベントを出力するように構成されたニューロンモジュール、
- ソース層からの着信スパイクイベントが少なくとも1つの畳み込みカーネルとの畳み込みによって投影するニューロンを決定するように構成されたメモリマッパーであり、ここで前記決定されたニューロンのニューロン状態は、少なくとも1つの畳み込みカーネルの適用可能なカーネル値での更新されるようになり、前記メモリマッパーは、イベント駆動方式で着信スパイクイベントを処理するように構成されている、前記メモリマッパー。
a)電子接続を介してsCNNのソース層からの着信の特に単一のスパイクイベントを受信し、ここで前記着信スパイクイベントは、ソース層内の特に単一のニューロンの座標に関する情報を含み、そして、前記受信したスパイクイベントに応答して、
b)特に、前記受信した着信スパイクイベントと少なくとも1つの畳み込みカーネルとの畳み込みが投影する前記ニューロンの前記関連付けられたニューロンメモリにおいて、ニューロン座標及び対応するニューロンアドレスを決定し、
c)前記決定されたニューロンアドレスの前記ニューロン状態に適用可能なカーネル値の対応するカーネルアドレスを用いてカーネル座標を決定し、ここで前記決定されたニューロンアドレスの前記ニューロン状態は、特に前記少なくとも1つの畳み込みカーネルから、又は前記複数の畳み込みカーネルからの前記適用可能なカーネル値で更新されるようになり、
d)前記適用可能なカーネル値のための前記決定されたカーネルアドレス、及び特に前記決定されたニューロンアドレスを前記カーネルモジュールに、特に前記カーネルインターフェースに提供する、
ように構成及び配置されている。
a) 決定されたニューロンアドレス及び適用可能なカーネル値を受信し、
b) 受信した各ニューロンアドレスに対して、前記適用可能なカーネル値に基づくこのニューロンの更新されたニューロン状態を決定し、
c) 特に前記ニューロン状態が更新された後に、更新されたニューロンが少なくとも1つの所定の閾値に到達する、すなわち、特にそれを超えるか、又は下回るかした場合に、発信スパイクイベントを出力する、
ように、構成かつ配置されている。
- ニューロンアドレス及びカーネル値、及び特にバイアス値を、特にカーネルモジュール及び/又はバイアスモジュールから受信し、かつ特に前記ニューロンアドレス、前記カーネル値、及び前記バイアス値をニューロンサブインターフェースのうちの1つに分配し、
- 特に関連付けられたニューロンメモリから、受信したニューロンアドレスのニューロン状態を読み取り、
- 特に前記ニューロンサブインターフェースで、前記受信したカーネル値及び/又は特に前記受信したバイアス値で読み取ったニューロン状態を更新し、
- 前記更新されたニューロン状態を、特に閾値レジスタに格納かつアクセス可能な少なくとも1つの閾値と比較し、特にここで前記レジスタは、少なくとも1つの閾値を有してプログラム可能であり、
- 前記少なくとも1つの閾値に到達する場合、特にマージモジュールを介して宛先マッパーに特に提供されるスパイクイベントを生成し、かつ前記更新されたニューロン状態をリセットして、リセットされたニューロン状態にし、
- 前記更新された、つまり特に前記リセットされたニューロン状態を、関連付けられたニューロンメモリの前記受信したニューロンアドレスに書き込む、
ように構成されている。
- 特に、レジスタによって提供及び格納される所定のオフセット(px,py)でスパイクイベントの前記座標(x,y)を、ゼロパディング(x+px,y+py)し、
- 前記座標(x,y)から、特に前記ゼロパディングされた座標(x+px,y+py)から、スパイクイベントが投影するニューロンアンカー座標(x0,y0)と、対応する少なくとも1つのカーネル(f)のカーネルアンカー座標(x0 k,y0 k)とを計算し、ここで、前記カーネルアンカー座標(x0 k,y0 k)は、少なくとも1つのカーネル(f)のそれぞれのカーネル座標(f,x0 k,y0 k)を示し、特に、前記ニューロンアンカー座標は、出力特徴マップに関連付けられており、
- 前記ニューロンアンカー座標及び前記カーネルアンカー座標から開始して、更新すべきすべてのニューロン座標(f,x,y)、及び適用可能なカーネル値のすべてのカーネル座標(c,f,xk,yk)を決定し、特に、レジスタによって提供される出力特徴マップサイズ(H、W)、ストライドサイズ(sx,sy)、及び/又はカーネルサイズ(Hk,Wk)において情報を処理することによって決定し、
- 前記決定されたニューロン座標(f,x,y)及び前記適用可能なカーネル値を有するカーネル座標から、特に圧縮されたニューロンアドレス及びカーネルアドレスを決定し、
- 前記決定されたニューロンアドレス及びカーネルアドレスをカーネルモジュール及び/又はニューロンモジュールに提供すること。
a)電子接続を介してネットワークのソース層から着信する特に単一のスパイクイベントを受信し、前記着信スパイクイベントは、前記ソース層内の特に単一のニューロンの座標に関する情報を含み、そして受信したスパイクイベントに応答し、
b)前記受信した着信スパイクイベントと少なくとも1つの畳み込みカーネルとの畳み込みが投影するニューロンの関連付けられたニューロンメモリのニューロン座標及び対応するニューロンアドレスを決定し、
c)前記決定されたニューロンアドレスのニューロン状態に適用可能なカーネル値の対応するカーネルアドレスを有するカーネル座標を決定し、ここで前記決定されたニューロンアドレスのニューロン状態は、特に少なくとも1つの畳み込みカーネルから、又は複数の畳み込みカーネルから、前記適用可能なカーネル値で更新されるようになり、
d)適用可能なカーネル値の前記決定されたカーネルアドレス、及び特に決定された前記ニューロンアドレスをカーネルモジュール、特にカーネルインターフェースに提供する、
ことをさせる。
a)決定されたニューロンアドレスと適用可能なカーネル値とを、特にニューロンサブインターフェースの1つで受信し、
b)受信した各ニューロンアドレスのために、適用可能なカーネル値に基づくニューロンのための更新されたニューロン状態を決定し、
c)特に前記ニューロン状態が更新された後に、更新されたニューロンが少なくとも1つの所定の閾値に到達する、すなわち、特にそれを超えるか、又はそれを下回るかした場合に、発信スパイクイベントを出力する、
ことをさせる。
- ニューロンアドレス及びカーネル値、及び特にバイアス値を、カーネルモジュール及び/又はバイアスモジュールから受信し、
- 前記受信したニューロンアドレスのニューロン状態を読み取り、
- 前記受信したカーネル値及び/又は特に前記受信したバイアス値で前記読み取りニューロン状態を更新し、
- 前記更新されたニューロン状態を、特に閾値レジスタに格納及びアクセス可能な少なくとも1つの閾値と比較し、特にここで前記レジスタは少なくとも1つの閾値でプログラム可能であり、
- 前記少なくとも1つの閾値に達すると、宛先マッパーに特に提供されるスパイクイベントを生成し、前記更新された前記ニューロン状態をリセットして、リセットされたニューロン状態にし、
- 前記更新された、つまり特に前記リセットされたニューロン状態を、関連付けられたニューロンメモリの前記受信した前記ニューロンアドレスに書き込む、
ことをさせる。
- 特に、レジスタによって提供され、かつレジスタに格納される所定のオフセット(px,py)で前記スパイクイベントの前記座標(x,y)を、ゼロパディング(x+px,y+py)し、
- 前記座標(x,y)から、特に前記ゼロパディングされた座標(x+px,y+py)から、前記スパイクイベントが投影するニューロンアンカー座標(x0,y0)と、対応する少なくとも1つのカーネル(f)の対応するカーネルアンカー座標(x0 k,y0 k)を計算し、ここで、前記カーネルアンカー座標(x0 k,y0 k)は、少なくとも1つのカーネル(f)のそれぞれのカーネル座標(f,x0 k,y0 k)を示し、特に、前記ニューロンアンカー座標は、出力特徴マップに関連付けられており、
- 前記ニューロンアンカー座標と前記カーネルアンカー座標から開始して、更新すべきすべてのニューロン座標(f,x,y)(すなわち前記スパイクイベントがそれに投影する)、及び適用可能なカーネル値のすべてのカーネル座標(c,f,xk,yk)を決定し、特に、レジスタによって提供される出力特徴マップサイズ(H,W)、ストライドサイズ(sx,sy)、及び/又はカーネルサイズ(Hk,Wk)において情報を処理することによって決定し、
- 決定された前記ニューロン座標(f,x,y)及び適用可能なカーネル値を有するカーネル座標から、特に圧縮されたニューロンアドレス及びカーネルアドレスを決定し、
- 前記決定されたニューロンアドレス及びカーネルアドレスをカーネルモジュール及び/又はニューロンモジュールに提供すること、
である。
- 特に、レジスタによって提供かつ格納される所定のオフセット(px,py)で、スパイクイベントの座標(x,y)をゼロパディング(x+px,y+py)すること、
- 前記座標(x,y)から、特に前記ゼロパディングされた座標(x+px,y+py)から、前記スパイクイベントが投影するニューロンアンカー座標(x0,y0)、及び対応する少なくとも1つのカーネル(f)の対応するカーネルアンカー座標(x0 k,y0 k)を計算することであり、ここで、前記カーネルアンカー座標(x0 k,y0 k)は、少なくとも1つのカーネル(f)のそれぞれのカーネル座標(f,x0 k,y0 k)を示し、特に、前記ニューロンアンカー座標は、出力特徴マップに関連付けられている、
- 前記ニューロンアンカー座標と前記カーネルアンカー座標とから開始して、更新すべきすべてのニューロン座標(f,x,y)(すなわち前記スパイクイベントが投影する)、及び適用可能なカーネル値のすべてのカーネル座標(c,f,xk,yk)を、特に、レジスタによって提供される出力特徴マップサイズ(H、W)、ストライドサイズ(sx,sy)、及び/又はカーネルサイズ(Hk,Wk)において情報を処理することによって、決定すること、
- 前記決定されたニューロン座標(f,x,y)及び前記適用可能なカーネル値を有するカーネル座標から、特に圧縮されたニューロンアドレス及びカーネルアドレスを決定すること、
- 決定された前記ニューロンアドレス及びカーネルアドレスを、前記ニューロンアドレス及びカーネルアドレスを処理するために、カーネルモジュール及び/又はニューロンモジュールに提供すること。
s(n+1)=mod(s(n)+wb,tr)
式中、s(n)は、関連付けられたニューロンメモリ506に格納されているニューロンのニューロン状態を表し、wbは、適用可能なカーネル値142k又はバイアス値142bのいずれかに対応する。新しいニューロンの状態s(n+1)は、例えば、上限と下限の閾値trを用いたモジュロ演算によって与えられる。
{c,x,y}→{c,x+px,y+py}
1 イベント駆動型スパイキング畳み込みニューラルネットワーク
10、10’、10’’ 層
110 カーネルモジュール
111 カーネルインターフェース
112 カーネルメモリ
120 ニューロンモジュール
121s ニューロンサブインターフェース
123 ニューロンモジュールのレジスタ
130 メモリマッパー
131 メモリマッパーのレジスタ
140 着信スパイクイベント
141 カーネルアドレス及びニューロンアドレス
142b バイアス値
142n 更新されるべきニューロンのアドレス(複数可)
142k 適用可能なカーネル値
150 発信スパイク
160 バイアスモジュール
161 バイアスインターフェース
162 バイアスメモリ
163 バイアスモジュールのレジスタ
170 宛先マッパー
171 宛先マッパーのレジスタ
200 イベントルーター
210 発信スパイクイベント
220 DVSセンサー
230 入来スパイクイベント
240 入力/チップ間入力ポート
250 出力/チップ間出力ポート
300 ゼロパディングモジュール/動作
300r 関連付けられたレジスタ
301 カーネルマッピングモジュール/動作
302 アドレススイープモジュール/動作
302r 関連付けられたレジスタ
410 畳み込みカーネル
411 カーネル座標、K1,K2
420 決定/更新されたニューロン
421 ソース層のニューロン座標
422 決定されたニューロンのニューロン座標
430 出力特徴マップ、OFM1,OFM2
431 出力特徴マップのニューロン
440,SFM ソース特徴マップ
500 ニューロン状態を読み取り
501 ニューロン状態を更新
502 閾値
504 閾値用レジスタ
505 ニューロン状態を書き込み
601 ニューロンルータモジュール
602 ニューロンマージモジュール
Claims (30)
- イベント駆動型スパイキング畳み込みニューラルネットワーク(1)を動作させるために構成及び配置された電子回路であって、複数の層を備え、各層は:
- 少なくとも1つの畳み込みカーネル(410)のカーネル値をイベント駆動方式で格納及び処理するように構成されたカーネルモジュール(110)、
- 前記イベント駆動型スパイキング畳み込みニューラルネットワーク(1)のニューロンのニューロン状態をイベント駆動方式で格納及び更新し、かつ更新されたニューロン(420)から生成されたスパイクイベント(150)を出力するように構成されたニューロンモジュール(120)、
- 現在層の前記ニューロンモジュール(120)から受信した発信スパイクイベント(150)の発信宛先情報を生成し、かつ、前記発信宛先情報を前記発信スパイクイベント(150)に追加するように構成された宛先マッパー(170)、
- ソース層からの着信スパイクイベント(140)が少なくとも1つの畳み込みカーネル(410)との畳み込みによって投影するニューロン(420)を決定するように構成されたメモリマッパー(130)であり、前記決定されたニューロン(420)のニューロン状態は、前記少なくとも1つの畳み込みカーネル(410)の適用可能なカーネル値で更新されるようになり、前記メモリマッパー(130)は、イベント駆動方式で着信スパイクイベントを処理するように構成されている、前記メモリマッパー(130)、
を備える、前記電子回路。 - 前記カーネルモジュール(110)は、関連付けられたカーネルメモリ(112)に接続されたカーネルインターフェース(111)を備え、前記関連付けられたカーネルメモリ(112)は、カーネルアドレスに、前記少なくとも1つの畳み込みカーネルのカーネル値を格納するように構成され、前記カーネルモジュール(110)は、前記ニューロンモジュール(120)に電子的に接続されている、請求項1に記載の電子回路。
- 前記メモリマッパー(130)は、前記カーネルモジュール(110)に電子的に接続され、前記メモリマッパー(130)は:
a)前記イベント駆動型スパイキング畳み込みニューラルネットワーク(1)のソース層からの着信スパイクイベント(140)を受信し、前記着信スパイクイベント(140)は、前記ソース層においてニューロン座標(421)の情報を含み;
そして前記受信したスパイクイベント(140)に応答して、
b)前記少なくとも1つの畳み込みカーネル(110)との前記受信したスパイクイベント(140)の畳み込みが投影するニューロン(420)のニューロン座標(422)及び対応するニューロンアドレスを決定し、
c)前記決定されたニューロンアドレスのニューロン状態に適用可能な前記カーネル値の対応するカーネル座標(411)を用いてカーネルアドレスを決定し、ここで前記決定されたニューロンアドレスの前記ニューロン状態は、前記適用可能なカーネル値で更新されるようになり、
d)前記決定されたニューロンアドレスを前記カーネルモジュールに提供するように、
構成及び配置されている、請求項1に記載の電子回路。 - 前記カーネルモジュール(110)は、前記決定されたカーネルアドレスを受信し、かつ前記決定されたカーネルアドレスに格納された前記適用可能なカーネル値を前記決定されたニューロンアドレスと共に前記ニューロンモジュール(120)へ提供するように構成及び配置されている、請求項3に記載の電子回路。
- 前記ニューロンモジュール(120)は:
a)前記決定されたニューロンアドレス(142n)及び前記適用可能なカーネル値(142k)を受信し、
b)受信したニューロンアドレス(142n)ごとに、前記適用可能なカーネル値(142k)に基づくニューロン(420)の更新されたニューロン状態を決定し、
c)少なくとも1つの所定の閾値(502)に到達する更新されたニューロン(420)の発信スパイクイベント(150)を出力するように、
構成及び配置されている、請求項3に記載の電子回路。 - 前記メモリマッパー(130)は、受信されたスパイクイベント(140)ごとに、出力特徴マップ(430)に割り当てられるニューロンからなる少なくとも1つの出力特徴マップ(430)を決定するように構成され、前記出力特徴マップ(430)の数は、現在層(10)の畳み込みカーネル(410)の数に等しい、請求項1に記載の電子回路。
- 各層(10、10’)は、関連付けられたバイアスメモリ(162)、及び前記関連付けられたバイアスメモリ(162)に接続されたバイアスインターフェース(161)を備えるバイアスモジュール(160)をさらに備え、前記関連付けられたバイアスメモリ(162)は、バイアスアドレスにバイアス値を格納するように構成され、前記バイアスモジュール(160)は、前記ニューロンモジュール(120)に接続され、かつ前記バイアスモジュール(160)は、前記ニューロンモジュール(120)に、所定の時間間隔でバイアス値を提供するように構成され、前記ニューロンモジュール(120)は、受信したバイアス値に基づく少なくとも1つの出力特徴マップ(430)内のすべてのニューロン(431)のニューロン状態を更新するように構成されている、請求項1に記載の電子回路。
- 前記ニューロンモジュール(120)は、受信したニューロンアドレス(142n)及びカーネル値(142k)、及び受信したバイアス値(142b)を処理し、かつ更新されたニューロン状態及びスパイクイベント(150)を生成する(501、502)ように構成された複数の並列動作ニューロンサブインターフェース(121s)を備え、各ニューロンサブインターフェース(121s)は、前記受信したニューロンアドレスのニューロン状態を読み取るため、及び更新されたニューロン状態を関連付けられたニューロンメモリ(506)の前記受信したニューロンアドレスに書き込むための関連付けられたニューロンメモリ(506)を有し、それにより前記ニューロンサブインターフェース及びそれらの関連付けられたニューロンメモリ(506)によってニューロン状態の並列処理が達成されるようになる、請求項1に記載の電子回路。
- 前記ニューロンモジュール(120)は、決定されたニューロンアドレス(142n)及びカーネル値(142k)、及びバイアス値(142b)を、前記カーネルモジュール(110)及び/又はバイアスモジュール(160)から受信し、かつ前記受信したニューロンアドレス(142n)及びカーネル値(142k)、及びバイアス値(142b)を、前記受信したニューロンアドレス(142n)及びカーネル値(142k)、及びバイアス値(142b)を並列に処理するように構成された前記複数の並列動作ニューロンサブインターフェース(121s)に送信するように構成かつ適応されたルータモジュール(601)を備え、
前記ニューロンモジュールは、前記複数の並列動作ニューロンサブインターフェース(121s)から生成されたスパイクイベント(150)を受信し、かつニューロンサブインターフェースよりも少ないチャンネルを有するバスにシリアル処理のためにスパイクイベントを送るように構成及び適応されるマージモジュール(602)をさらに備え、ここで前記バスは、単一の伝送チャンネルのみを有している、請求項8に記載の電子回路。 - 前記ニューロンモジュール(120)は:
- ニューロンアドレス(142n)及びカーネル値(142k)、及びバイアス値(142b)を、前記カーネルモジュール(110)及び/又はバイアスモジュール(160)から、ルータモジュール(601)にて受信し、
- 前記受信したニューロンアドレス(142n)のニューロン状態を、前記並列動作ニューロンサブインターフェース(複数)(121s)のうちの1つにおいて前記関連付けられたニューロンメモリ(506)から読み取り(500)、
- 前記受信したカーネル値(142k)及び/又は前記受信したバイアス値(142b)で、前記読み取ったニューロン状態を、前記並列動作ニューロンサブインターフェース(複数)(121s)上で更新し(501)、
- 前記更新されたニューロン状態を少なくとも1つの閾値と、前記並列動作ニューロンサブインターフェース(複数)(121s)上の閾値レジスタに格納され、かつそこからアクセス可能な、前記少なくとも1つの閾値と比較し(502)、
- 前記少なくとも1つの閾値に到達する場合(502)、宛先マッパー(170)に提供されるスパイクイベントを生成し(503)、かつ前記更新されたニューロン状態をリセットして、リセットされたニューロン状態にし、
- 前記更新されたニューロン状態を、前記関連付けられたニューロンメモリ(506)の前記受信したニューロンアドレス(142n)に書き込む(505)、
ように構成される、請求項9に記載の電子回路。 - 前記メモリマッパー(130)は、前記メモリマッパー(130)によってスパイクイベント(140)が受信される場合に、前記適用可能なカーネル値(142k)の前記カーネルアドレス、及び更新すべき対応するニューロンアドレス(142n)を有するニューロン座標(421)を決定するために、以下の一連の動作を実行するように構成されており、ここで前記スパイクイベント(140)は、ソース特徴マップ(440)において前記スパイクイベント(140)を生成したニューロン(421)の座標(x,y)及びチャンネル識別子(c)、x識別子及びy識別子を含む座標(x,y)に関する情報を含むか、又はそれからなり、前記以下の一連の動作は:
- レジスタによって提供及び格納される所定のオフセット(px,py)で前記スパイクイベント(140)の前記座標(x,y)を、ゼロパディング(x+px,y+py)し、
- 前記座標(x,y)から、前記ゼロパディングされた座標(x+px,y+py)から、前記スパイクイベントが投影するニューロンアンカー座標(x0,y0)、及び少なくとも1つのカーネル(f)の対応するカーネルアンカー座標(x0 k,y0 k)を計算し、ここで前記カーネルアンカー座標(x0 k,y0 k)は、前記少なくとも1つのカーネル(f)のそれぞれのカーネル座標(f,x0 k,y0 k)を示し、前記ニューロンアンカー座標(x0,y0)は、出力特徴マップ(430)に関連付けられており、
- 前記ニューロンアンカー座標及び前記カーネルアンカー座標から開始して、更新すべきすべてのニューロン座標(f,x,y)及び前記適用可能なカーネル値(142k)のすべてのカーネル座標(c,f,xk,yk)を決定し、レジスタにより提供される出力特徴マップ(430)のサイズ、ストライドサイズ及び/又はカーネルサイズにおける情報を処理することによって決定し、
- 前記決定されたすべてのニューロン座標(f,x,y)及び前記適用可能なカーネル値(142k)の前記すべてのカーネル座標(c,f,xk,yk)から、圧縮されたニューロンアドレス及び圧縮されたカーネルアドレスを決定し、
- 前記決定され圧縮されたニューロンアドレス及び圧縮されたカーネルアドレスを、前記カーネルモジュール(110)及び/又は前記ニューロンモジュール(120)に提供すること、
である、請求項3に記載の電子回路。 - 前記関連付けられたニューロンメモリ(506)は、すべてのニューロン状態が連続するニューロンアドレスに格納されるように組織され、前記メモリマッパー(130)は、圧縮されたニューロンアドレスを生成するなど、すべてのニューロン座標(f,x,y)のために、連続するニューロンアドレスに生成するように構成され、かつ前記メモリマッパー(130)は、前記圧縮されたニューロンアドレスを前記ニューロンモジュール(120)に提供するように構成される、請求項8に記載の電子回路。
- 前記イベント駆動型スパイキング畳み込みニューラルネットワーク(1)は、ソース層から受信した発信スパイクイベントを少なくとも1つの宛先層にルーティングするように構成されたスパイクイベントルータ(200)と接続される複数の層(10、10’、10’’)を備え、前記スパイクイベントルータ(200)は、前記発信スパイクイベント(150)に関連付けられた宛先情報にアクセスし、ここで、前記宛先層(10’’)は前記ソース層(10’)になり得る、請求項1に記載の電子回路。
- 前記層は、前記スパイキング畳み込みニューラルネットワーク内の層を表す少なくとも1つの電子回路を指し、前記イベント駆動型スパイキング畳み込みニューラルネットワークは、フレーム又はクロックに基づかずに動作する、請求項1~13のいずれか1項に記載の電子回路。
- 前記メモリマッパー(130)、前記ニューロンモジュール(120)及び前記カーネルモジュール(110)は、前記電子回路において配線での通信を有する、請求項1~14のいずれか1項に記載の電子回路。
- 前記メモリマッパー(130)は、非同期電子回路である、請求項1~14のいずれか1項に記載の電子回路。
- 前記メモリマッパー(130)は、適用可能なカーネル値によって更新すべき前記ニューロンアドレスを決定するように構成される、所定の式を実行するように配線されている、請求項3に記載の電子回路。
- 前記メモリマッパー(130)は、前記決定のための前記式を指定するプログラム可能なレジスタ値を提供することができる、請求項17に記載の電子回路。
- 前記メモリマッパー(130)は、少なくとも1つのスパイクイベントを一度に処理できるように、所定の帯域幅のパラレルインターフェースを備える非同期シリアルインターフェース回路である、請求項16に記載の電子回路。
- 前記スパイキング畳み込みニュートラルネットワークは、非同期スパイクイベントを受信し、受信時に各スパイクイベントを処理するように構成される、請求項16に記載の電子回路。
- 前記カーネルモジュール(110)は、非同期モジュールであり、前記宛先マッパー(170)は、非同期電子回路である、請求項20に記載の電子回路。
- 前記複数の層が、スパイクイベントルータによって電子的に接続及び組織され、スパイクイベントルータは、様々なスパイキング畳み込みニューラルネットワーク構成及びルーティングオプションを可能にするようにプログラムすることができる、請求項1~14のいずれか1項に記載の電子回路。
- 前記スパイキング畳み込みニューラルネットワークは、ダイナミックビジョンセンサからスパイクイベントを受信かつ処理するように構成され、イベント駆動型スパイクを生成するように構成された前記ダイナミックビジョンセンサは、前記スパイクイベントルータの入力又は第1のソース層として機能することができる、請求項22に記載の電子回路。
- 前記関連付けられたカーネルメモリ(112)は、各層によって物理的に備えられる、請求項2に記載の電子回路。
- 関連付けられた各ニューロンメモリ(506)は、各層に物理的に配置されているメモリストレージであり、又は前記層に割り当てられ、かつ接続されているが、前記層に備わないメモリである、請求項8に記載の電子回路。
- 前記メモリマッパー(130)は、前記着信スパイクイベント(140)が前記メモリマッパー(130)によって受信されると、前記着信スパイクイベント(140)の処理を開始し、前記メモリマッパー(130)はイベント駆動型であり、前記スパイクイベントc、x、yの様々なビットを加算、乗算、多重化するための複数のバッファステージと電子コンビナートロジスティック回路とを備えた処理パイプラインを備え、前記着信スパイクイベント(140)は、座標(x、y)とチャネル識別子(c)に関する情報を含む、請求項1~14のいずれか1項に記載の電子回路。
- 前記ニューロンアンカー座標(xo,yo)は、イベントが投影するそれぞれの出力特徴マップ(430)内のアレイの右下隅に位置するニューロンによって与えられ、
前記ニューロンアンカー座標(xo,yo)に対応するカーネルアンカー座標(x0 k,y0 k)が計算され、
前記ニューロンアンカー座標(xo,yo)及び前記カーネルアンカー座標(x0 k,y0 k)は、次に、着信スパイクイベント(140)が投影される前記ニューロン(420)の残りのニューロン座標及びそれらに関連するニューロンアドレス(142n)を計算するように構成されたアドレススイープモジュール(302)に送信される、請求項11に記載の電子回路。 - 前記層のレジスタは、各層の特定のレイアウトを反映するためにプログラムされている、請求項1~14のいずれか1項に記載の電子回路。
- 前記バイアスモジュール(160)は、バイアス値で更新されるべき現在層内の出力特徴マップのために示す出力特徴マップインデックスを格納するバイアスレジスタ(161)を備える、請求項7に記載の電子回路。
- 前記宛先マッパー(170)は、イベント駆動型であり、非同期電子回路である、請求項1~14のいずれか1項に記載の電子回路。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19168271 | 2019-04-09 | ||
| EP19168271.5 | 2019-04-09 | ||
| EP19180569 | 2019-06-17 | ||
| EP19180569.6 | 2019-06-17 | ||
| PCT/EP2020/059798 WO2020207982A1 (en) | 2019-04-09 | 2020-04-06 | Event-driven spiking convolutional neural network |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022536579A JP2022536579A (ja) | 2022-08-18 |
| JP7657460B2 true JP7657460B2 (ja) | 2025-04-07 |
Family
ID=70050138
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021560600A Active JP7657460B2 (ja) | 2019-04-09 | 2020-04-06 | イベント駆動型スパイキング畳み込みニューラルネットワーク |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20220188597A1 (ja) |
| EP (1) | EP3953866A1 (ja) |
| JP (1) | JP7657460B2 (ja) |
| KR (1) | KR102897028B1 (ja) |
| CN (3) | CN114041140B (ja) |
| SG (1) | SG11202110721XA (ja) |
| WO (1) | WO2020207982A1 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3953866A1 (en) * | 2019-04-09 | 2022-02-16 | Chengdu Synsense Technology Co., Ltd. | Event-driven spiking convolutional neural network |
| US11651209B1 (en) * | 2019-10-02 | 2023-05-16 | Google Llc | Accelerated embedding layer computations |
| CN113537449B (zh) * | 2020-04-22 | 2024-02-02 | 北京灵汐科技有限公司 | 基于脉冲神经网络的数据处理方法、计算核电路和芯片 |
| US20220156549A1 (en) * | 2020-11-18 | 2022-05-19 | Micron Technology, Inc. | Search and match operations in spiking neural networks |
| KR102897027B1 (ko) | 2021-04-19 | 2025-12-05 | 청두 신센스 테크놀로지 씨오., 엘티디. | 인터페이스 시스템을 갖는 이벤트 구동 집적 회로 |
| CN113313240B (zh) * | 2021-08-02 | 2021-10-15 | 成都时识科技有限公司 | 计算设备及电子设备 |
| CN113516676B (zh) * | 2021-09-14 | 2021-12-28 | 成都时识科技有限公司 | 角点检测方法、脉冲神经网络处理器、芯片及电子产品 |
| CN114372568B (zh) * | 2022-03-21 | 2022-07-15 | 深圳时识科技有限公司 | 类脑芯片及电子设备 |
| CN115985508B (zh) * | 2022-12-02 | 2025-03-11 | 中国地质大学(武汉) | 适用于不同个体的下肢康复方案设计方法、装置及设备 |
| KR102780708B1 (ko) * | 2023-02-28 | 2025-03-12 | 한국과학기술원 | 이기종 합성곱 신경망 및 스파이킹 신경망 코어 아키텍처를 갖춘 상보적 심층 신경망 가속기 |
| CN118278479B (zh) * | 2024-04-15 | 2025-02-07 | 中国科学院自动化研究所 | 一种基于指令集的众核类脑处理器及工作方法 |
| CN118675037B (zh) * | 2024-08-19 | 2024-10-29 | 成都奕成集成电路有限公司 | 一种基于多芯粒的感存算一体化人工视网膜系统 |
| CN120563302B (zh) * | 2025-07-23 | 2025-10-21 | 浪潮电子信息产业股份有限公司 | 一种内存写入方法、设备、存储介质及程序产品 |
| CN121387822B (zh) * | 2025-12-25 | 2026-04-03 | 成都思鸿维科技有限责任公司 | 一种用于数字核谱仪能谱图绘制的fpga、方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017509978A (ja) | 2014-02-21 | 2017-04-06 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 確率論的スパイキングベイジアンネットワークに関する事象に基づく推論および学習 |
| US20170200078A1 (en) | 2014-08-28 | 2017-07-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Convolutional neural network |
| US20180137408A1 (en) | 2015-05-22 | 2018-05-17 | Socopra Sciences Et Genie S.E.C. | Method and system for event-based neural networks |
| JP2018136919A (ja) | 2016-12-20 | 2018-08-30 | インテル・コーポレーション | スパイクタイミング依存可塑性のニューロモーフィック的具体化を用いたネットワークトラバーサル |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070061735A1 (en) * | 1995-06-06 | 2007-03-15 | Hoffberg Steven M | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
| KR20000013859A (ko) * | 1998-08-14 | 2000-03-06 | 윤종용 | 공중망 어드레스와 비동기 전송 모드 종단 시스템 어드레스 사이의 어드레스 변환 방법 |
| JP2011128792A (ja) * | 2009-12-16 | 2011-06-30 | Toshiba Corp | メモリ管理装置 |
| US8812414B2 (en) * | 2011-05-31 | 2014-08-19 | International Business Machines Corporation | Low-power event-driven neural computing architecture in neural networks |
| US8738554B2 (en) * | 2011-09-16 | 2014-05-27 | International Business Machines Corporation | Event-driven universal neural network circuit |
| US8977583B2 (en) | 2012-03-29 | 2015-03-10 | International Business Machines Corporation | Synaptic, dendritic, somatic, and axonal plasticity in a network of neural cores using a plastic multi-stage crossbar switching |
| US9552619B2 (en) * | 2012-08-08 | 2017-01-24 | Megachips Corporation | Image processing apparatus and image processing interface circuit |
| US9159020B2 (en) * | 2012-09-14 | 2015-10-13 | International Business Machines Corporation | Multiplexing physical neurons to optimize power and area |
| US9418331B2 (en) * | 2013-10-28 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus for tagging classes using supervised learning |
| US9984326B1 (en) * | 2015-04-06 | 2018-05-29 | Hrl Laboratories, Llc | Spiking neural network simulator for image and video processing |
| EP3089080A1 (en) * | 2015-04-27 | 2016-11-02 | Universität Zürich | Networks and hierarchical routing fabrics with heterogeneous memory structures for scalable event-driven computing systems |
| CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
| US10387770B2 (en) * | 2015-06-10 | 2019-08-20 | Samsung Electronics Co., Ltd. | Spiking neural network with reduced memory access and reduced in-network bandwidth consumption |
| CN105611114B (zh) * | 2015-11-02 | 2018-08-31 | 天津大学 | 用于aer图像传感器的全数字多卷积核卷积处理芯片 |
| FR3050855B1 (fr) * | 2016-04-27 | 2019-05-03 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de calcul de convolution d'un reseau de neurones convolutionnel |
| US10515302B2 (en) * | 2016-12-08 | 2019-12-24 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with mixed data and weight size computation capability |
| US10922607B2 (en) * | 2016-12-30 | 2021-02-16 | Intel Corporation | Event driven and time hopping neural network |
| US11853875B2 (en) * | 2017-10-23 | 2023-12-26 | Samsung Electronics Co., Ltd. | Neural network apparatus and method |
| CN107832843B (zh) * | 2017-10-30 | 2021-09-21 | 上海寒武纪信息科技有限公司 | 一种信息处理方法及相关产品 |
| CN108171317B (zh) * | 2017-11-27 | 2020-08-04 | 北京时代民芯科技有限公司 | 一种基于soc的数据复用卷积神经网络加速器 |
| CN108470190B (zh) * | 2018-03-09 | 2019-01-29 | 北京大学 | 基于fpga定制脉冲神经网络的图像识别方法 |
| CN108830172A (zh) * | 2018-05-24 | 2018-11-16 | 天津大学 | 基于深度残差网络与sv编码的飞机遥感图像检测方法 |
| CN109377441B (zh) * | 2018-08-20 | 2023-02-03 | 清华大学 | 具有隐私保护功能的舌像采集方法和系统 |
| US10892012B2 (en) * | 2018-08-23 | 2021-01-12 | Intel Corporation | Apparatus, video processing unit and method for clustering events in a content addressable memory |
| CN109063832A (zh) * | 2018-08-24 | 2018-12-21 | 电子科技大学 | 一种可塑性学习引擎及其设计方法 |
| EP3953866A1 (en) * | 2019-04-09 | 2022-02-16 | Chengdu Synsense Technology Co., Ltd. | Event-driven spiking convolutional neural network |
-
2020
- 2020-04-06 EP EP20715112.7A patent/EP3953866A1/en active Pending
- 2020-04-06 CN CN202080028125.9A patent/CN114041140B/zh active Active
- 2020-04-06 KR KR1020217036482A patent/KR102897028B1/ko active Active
- 2020-04-06 SG SG11202110721XA patent/SG11202110721XA/en unknown
- 2020-04-06 US US17/601,939 patent/US20220188597A1/en active Pending
- 2020-04-06 CN CN202311221063.5A patent/CN117151181A/zh active Pending
- 2020-04-06 CN CN202311221064.XA patent/CN117094374A/zh active Pending
- 2020-04-06 WO PCT/EP2020/059798 patent/WO2020207982A1/en not_active Ceased
- 2020-04-06 JP JP2021560600A patent/JP7657460B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017509978A (ja) | 2014-02-21 | 2017-04-06 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 確率論的スパイキングベイジアンネットワークに関する事象に基づく推論および学習 |
| US20170200078A1 (en) | 2014-08-28 | 2017-07-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Convolutional neural network |
| US20180137408A1 (en) | 2015-05-22 | 2018-05-17 | Socopra Sciences Et Genie S.E.C. | Method and system for event-based neural networks |
| JP2018136919A (ja) | 2016-12-20 | 2018-08-30 | インテル・コーポレーション | スパイクタイミング依存可塑性のニューロモーフィック的具体化を用いたネットワークトラバーサル |
Non-Patent Citations (1)
| Title |
|---|
| A. Yousefzadeh et al.,Fast Pipeline 128x128 Pixel Spiking Convolution Core for Event-Driven Vision Processing in FPGAs,2015 International Conference on Event-based Control, Communication, and Signal Processing (EBCCSP),米国,IEEE,2015年06月17日 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117151181A (zh) | 2023-12-01 |
| EP3953866A1 (en) | 2022-02-16 |
| CN114041140B (zh) | 2025-07-29 |
| WO2020207982A1 (en) | 2020-10-15 |
| JP2022536579A (ja) | 2022-08-18 |
| CN117094374A (zh) | 2023-11-21 |
| KR102897028B1 (ko) | 2025-12-05 |
| SG11202110721XA (en) | 2021-10-28 |
| CN114041140A (zh) | 2022-02-11 |
| KR20220022893A (ko) | 2022-02-28 |
| US20220188597A1 (en) | 2022-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7657460B2 (ja) | イベント駆動型スパイキング畳み込みニューラルネットワーク | |
| US12327114B2 (en) | Processing cores and information transfer circuits arranged in matrix | |
| JP6912491B2 (ja) | 省エネルギな多重ニューラル・コア回路、方法及びニューロシナプティック・システム | |
| KR100330604B1 (ko) | 메모리어레이를사용한병렬연산장치 | |
| KR20240083094A (ko) | 딥러닝 가속기를 위한 고 대역폭 메모리 기반 메모리 룩업 엔진 | |
| US20180103448A1 (en) | Scaling multi-core neurosynaptic networks across chip boundaries | |
| JP2021507383A (ja) | ニューラルネットワークプロセッサに対する統合メモリ構造 | |
| US9992057B2 (en) | Yield tolerance in a neurosynaptic system | |
| KR20190003610A (ko) | 콘볼루션 신경망 정방향 연산 실행용 장치와 방법 | |
| JP2003346138A5 (ja) | ||
| CN114970803A (zh) | 对数系统中的机器学习训练 | |
| CN115496193B (zh) | 基于rram阵列的卷积计算瓦片架构及神经网络加速芯片 | |
| US12367383B2 (en) | Shared scratchpad memory with parallel load-store | |
| CN114626515A (zh) | 基于通道数量执行卷积运算的npu装置及其操作方法 | |
| JPH04232562A (ja) | コンピユータ装置 | |
| CN113140240A (zh) | 高带宽存储器和具有该高带宽存储器的系统 | |
| KR20210113099A (ko) | 조정 가능한 기능-인-메모리 컴퓨팅 시스템 | |
| JP7410961B2 (ja) | 演算処理装置 | |
| CN115362448A (zh) | 来自存储器元件网格的神经网络权重分发 | |
| US20190004995A1 (en) | High-Speed, Fixed-Function, Computer Accelerator | |
| US20220292050A1 (en) | Multi-core processing and memory arrangement | |
| Roth et al. | Efficient on-line computation of connectivity: architecture of the connection unit of NESPINN | |
| TWI919552B (zh) | 記憶體電路及其操作方法 | |
| TW202531056A (zh) | 記憶體電路及其操作方法 | |
| JP2022500782A (ja) | データ処理システム、方法、およびプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211228 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220603 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230327 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240229 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240312 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240606 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240805 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240909 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241218 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250218 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250318 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7657460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |