JP7694246B2 - 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム - Google Patents
演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム Download PDFInfo
- Publication number
- JP7694246B2 JP7694246B2 JP2021130005A JP2021130005A JP7694246B2 JP 7694246 B2 JP7694246 B2 JP 7694246B2 JP 2021130005 A JP2021130005 A JP 2021130005A JP 2021130005 A JP2021130005 A JP 2021130005A JP 7694246 B2 JP7694246 B2 JP 7694246B2
- Authority
- JP
- Japan
- Prior art keywords
- time interval
- timing
- signal
- neural network
- time
- 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
Images
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/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/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/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
- G06N3/065—Analogue means
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)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Description
スパイキングニューラルネットワークでは、ニューロンモデルが膜電位と呼ばれる内部状態を有し、膜電位の時間発展に基づいてスパイクと呼ばれる信号を出力する。
図1は、実施形態に係るニューラルネットワーク装置の構成の例を示す図である。図1に示す構成で、ニューラルネットワーク装置10は、ニューロンモデル100を備える。ニューロンモデル100は、指標値計算部110と、検出部120と、遅延部130と、信号出力部140とを備える。
ここでいうニューラルネットワーク装置は、ニューラルネットワークが実装された装置である。スパイキングニューラルネットワークが、専用のハードウェアを用いてニューラルネットワーク装置10に実装されていてもよい。例えば、スパイキングニューラルネットワークが、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)を用いてニューラルネットワーク装置10に実装されていてもよい。あるいは、スパイキングニューラルネットワークが、コンピュータ等を用いてソフトウェア的に、ニューラルネットワーク装置10に実装されていてもよい。
ここでいう時間変化は、時間に応じて変化することである。
ニューロンモデル100の場合、指標値計算部110がニューロンモデル100へのスパイク信号の入力状況に基づいて膜電位を計算する。信号出力部140は、膜電位の時間変化に応じたタイミングでスパイク信号を出力する。
以下では、ニューラルネットワーク装置10によるスパイキングニューラルネットワークにおけるニューロンモデル100間の情報伝達方式として、スパイク信号の伝達タイミングで情報を伝達する時間方式を用いる。
図3は、第l層のi番目のノードのスパイキングニューロンモデルの膜電位の例を示している。第l層のi番目のノードのスパイキングニューロンモデルの時刻tにおける膜電位を、vi (l)(t)と表記する。図3の説明で、第l層のi番目のノードのスパイキングニューロンモデルを対象モデルとも称する。
時刻t2 *(l-1)は、第l-1層の2番目のスパイキングニューロンモデルからのスパイク信号の入力時刻を示す。時刻t1 *(l-1)は、第l-1層の1番目のスパイキングニューロンモデルからのスパイク信号の入力時刻を示す。時刻t3 *(l-1)は、第l-1層の3番目のスパイキングニューロンモデルからのスパイク信号の入力時刻を示す。
また、対象モデルは、時刻ti *(l)にスパイク信号を出力している。スパイキングニューロンモデルがスパイク信号を出力することを発火と称する。スパイキングニューロンモデルが発火した時刻を発火時刻と称する。
対象モデルの発火前は、スパイク信号の入力後、対象モデルの膜電位vi (l)(t)が、スパイク信号の伝達経路毎に設定されている重みに応じた変化率(変化速度)で変化し続ける。また、スパイク信号の入力毎の膜電位の変化率は線形的に加算される。図3の例における膜電位vi (l)(t)の微分方程式は、式(1)のように表される。
θはステップ関数であり、式(2)のように示される。
図4の横軸は、時刻を、スパイキングニューラルネットワークへのデータ入力開始時からの経過時間で示す。縦軸は、入力層、第1層、第2層および出力層のそれぞれにおけるノード番号を示す。層毎のノード番号は、層内におけるスパイキングニューロンモデルを識別する識別番号として用いられる。
これに対し、入力データが複数ある場合、1つの入力データに対する演算結果を得られる前に、次の入力データをスパイキングニューラルネットワークに入力できれば、最初の入力データをスパイキングニューラルネットワークに入力してから最後の入力データに対する演算結果を得られるまでの時間を比較的短くすることができ、この点で、スパイキングニューラルネットワークのスループットを高めることができる。
具体的には、指標値計算部110が、所定の時間区間毎に、スパイク信号の形式で入力される入力データに基づいて膜電位を計算する。この時間区間の時間幅が、データ処理時間の例に該当する。そして、検出部120が、時間区間毎に、指標値計算部110が計算する膜電位に関する所定の事象の発生タイミングを検出する。遅延部130は、検出部120が事象の発生タイミングを検出する毎に、そのタイミングが含まれる時間区間の次の時間区間内で、スパイク信号の出力タイミングを決定する。信号出力部140は、時間区間毎に、遅延部130が決定するタイミングで、スパイク信号を出力する。信号出力部140が出力するスパイク信号は、ニューロンモデル100からの出力データに該当する。
これにより、ニューロンモデル100は、時間区間毎にデータの入力を受け付ける。そして、ニューロンモデル100は、時間区間2つ分の時間で入力データを順次処理し、時間区間毎にデータを出力する。
図5の例で、横軸が示す時間は、時間幅T毎の時間区間に分割されている。
ニューラルネットワーク装置10は、全てのニューロンモデル100に同じ時間幅の時間区間が同じタイミングで設定されるように、ニューロンモデル100間で同期をとって同じ時間区間を設定する。
出力層のノード30からの出力データは、さらにノードに入力されるものではないため、図5の例で、出力層のノード30は、データの入力を受けた時間区間にデータを出力している。
また、ニューラルネットワーク装置10では、第1層および第2層の例のように、ニューロンモデル100は、スパイク信号の入力を受けた時間区間の次の時間区間にスパイク信号を出力する。これにより、ニューロンモデル100は、時間区間内におけるスパイク信号出力のタイミングを調整することができる。スパイク信号出力のタイミングを調整することで、ニューラルネットワーク装置10では、例えば、信号伝達における下流側の層でスパイク信号の入力のタイミングが時間区間内の後ろのほう(その時間区間の終了時付近)に偏ることを回避できる。
以下では、式(1)および式(2)を参照してスパイキングニューラルネットワークについて説明したのと同様、第l層のi番目のノードのニューロンモデル100を対象モデルと称し、対象モデルの膜電位をvi (l)(t)と表記する。また、第l-1層のj番目のスパイキングニューロンモデルから対象モデルへのスパイク信号の伝達経路に設定されている重みをwij (l)と表記する。
指標値計算部110は、膜電位vi (l)(t)が閾値Vthに達するまで、または、時間区間が終了するまでの何れか早い方の事象が発生するまで、微分方程式が式(1)のように表される膜電位vi (l)(t)を計算する。膜電位vi (l)(t)は、式(3)のように表される。
一方、膜電位vi (l)(t)が閾値Vthに達したタイミング、または、時間区間が終了したタイミングで、指標値計算部110は、膜電位vi (l)(t)の値を0にリセットする。指標値計算部110は、次の時間区間の開始時まで膜電位vi (l)(t)の値を0に維持する。これにより、指標値計算部110は、各時間区間における膜電位vi (l)(t)の計算を、膜電位vi (l)(t)の値が0の状態から開始する。
ニューラルネットワーク装置10では、発火時刻が出力時間区間内に制限されるため、発火時刻ti *(l)が、膜電位vi (l)(t)が閾値Vthに達する時刻よりも後の時刻になる場合がある。このように、膜電位vi (l)(t)が閾値Vthに達する時刻と発火時刻ti *(l)とが異なる場合があることから、膜電位vi (l)(t)が閾値Vthに達する時刻をti (l,vth)と表記している。膜電位が閾値に達する時刻を、閾値到達時刻とも称する。
式(4)より、閾値到達時刻ti (l,vth)は、式(5)のように表される。
ここでいう膜電位に関する所定の事象は、膜電位が所定の閾値に達したこと、または、データ処理時間の終了時までに膜電位が所定の閾値に到達しないことであってもよい。ここでいう膜電位に関する所定の事象の発生タイミングは、膜電位が所定の閾値に達したタイミング、または、データ処理時間の終了時であってもよい。
遅延後タイミングが含まれる時間区間が、事象発生タイミングが含まれる時間区間の次の時間区間である場合、遅延部130は、遅延後タイミングを、ニューロンモデル100がスパイク信号を出力するタイミングに決定する。
事象発生タイミングが含まれる次の時間区間中までに遅延後タイミングを検出しない場合、遅延部130は、事象発生タイミングが含まれる次の時間区間の終了時を、ニューロンモデル100がスパイク信号を出力するタイミングに決定する。
信号出力部140は、信号出力手段の例に該当する。
図6に示す構成で、ニューラルネットワーク装置10aは、ニューロンモデル100aを備える。ニューロンモデル100aは、第1サブモデル210-1と、切替部220aと、第2サブモデル210-2と、第3サブモデル210-3と、統合部230とを備える。第1サブモデル210-1は、第1指標値計算部211-1と、第1検出部212-1と、第1信号出力部213-1とを備える。第2サブモデル210-2は、第2指標値計算部211-2と、第2検出部212-2と、第2信号出力部213-2とを備える。第3サブモデル210-3は、第3指標値計算部211-3と、第3検出部212-3と、第3信号出力部213-3とを備える。
第1指標値計算部211-1と、第2指標値計算部211-2と、第3指標値計算部211-3とを総称して指標値計算部211とも表記する。第2指標値計算部211-2と、第3指標値計算部211-3とを総称して遅延用指標値計算部211fとも表記する。
第1信号出力部213-1と、第2信号出力部213-2と、第3信号出力部213-3とを総称して信号出力部213とも表記する。第2信号出力部213-2と、第3信号出力部213-3とを総称して遅延用信号出力部213fとも表記する。
具体的には、第1検出部212-1は、膜電位と所定の閾値とを比較する。時間区間内で膜電位が閾値に達する場合、第1検出部212-1は、膜電位が閾値に達するタイミングを検出する。膜電位が閾値に達しないまま時間区間が終了する場合、第1検出部212-1は、その時間区間の終了タイミングを検出する。
入力時間区間は、遅延用サブモデル210fが第1サブモデル210-1からのスパイク信号の入力を受ける時間区間である。出力時間区間は、入力時間区間の次の時間区間である。
また、入力時間区間内に膜電位が閾値に達する場合、遅延用検出部212fは、その次の時間区間の開始タイミングを検出する。この場合、「その次の時間区間」は、出力時間区間に該当する。
例えば、第1信号出力部213-1は、第1検出部212-1が検出する、膜電位が閾値に達するタイミング、または、膜電位が閾値に達しないまま時間区間が終了する場合の、その時間区間の終了タイミングにて、スパイク信号を出力する。
統合部230は、2つの遅延用サブモデル210fそれぞれから出力されるスパイク信号を統合する。
第1指標値計算部211-1は、指標値計算部110の例に該当する。第1指標値計算部211-1は、指標値計算手段の例にも該当する。
第1検出部212-1は、検出部120の例に該当する。第1検出部212-1は、検出手段の例にも該当する。
遅延用信号出力部213fは、信号出力部140の例に該当する。遅延用信号出力部213fは、信号出力手段の例にも該当する。
図7の例で、切替部220aは、スイッチ221を含んで構成される。切替部220aは、入力されるクロック信号に基づいて、時間区間毎にスイッチ221を切り替える。これにより、切替部220aは、第1サブモデル210-1からのスパイク信号の出力先の遅延用サブモデル210fを時間区間毎に切り替える。
切替部220aは、切替手段の例に該当する。
ただし、切替部220aおよび統合部230の構成は、図7に例示される構成に限定されない。
図5の例でニューラルネットワーク装置10について説明したのと同様、図8の横軸に示される時間は、時間幅T毎の時間区間に分割されている。
時間区間の開始時から第1サブモデル210-1の発火時まで、第1指標値計算部211-1は、時間区間内に受けるスパイク信号の取得状況に応じて膜電位を時間変化させる。
第1サブモデル210-1は、膜電位が閾値に到達したタイミングで発火する。時間区間内に膜電位が閾値に達しない場合、第1サブモデル210-1は、時間区間の終了時に発火する。
膜電位が閾値に達していない状態での発火を強制発火とも称する。
上記のように、遅延用サブモデル210fがスパイク信号の入力を受ける時間区間を入力時間区間とも称する。遅延用サブモデル210fがスパイク信号を出力する時間区間を出力時間区間とも称する。第2サブモデル210-2と第3サブモデル210-3とで入力時間区間と出力時間区間とが逆になる。すなわち、第2サブモデル210-2における時間区間が入力時間区間であるときは、第3サブモデル210-3における時間区間は出力時間区間となっている。第2サブモデル210-2における時間区間が出力時間区間であるときは、第3サブモデル210-3における時間区間は入力時間区間となっている。
第1サブモデル210-1からのスパイク信号の入力を受けると、遅延用指標値計算部211fは、スパイク信号の伝達経路に設定されている重みに応じた変化率(変化速度)で膜電位を増加させる。
ニューラルネットワーク装置10aが備えるスパイキングニューラルネットワークを、ニューラルネットワーク11aとも表記する。ニューラルネットワーク11aは、ニューラルネットワーク11の例に該当する。
副層が第i層(iは正の整数)に含まれる場合、演算層を第i演算層とも称し、第1遅延層を第i-1遅延層とも称し、第2遅延層を第i-2遅延層とも称する。
演算層では、第1サブモデル210-1が、データの入力を受けた時間区間内でそのデータに対する処理を行い、遅延層の遅延用サブモデル210fへスパイク信号にてデータを出力する。第1サブモデル210-1におけるデータ処理は、発火タイミングを決定する処理であってもよい。
出力層のノード30は、データの入力を受けた時間区間内でそのデータに対する処理を行い、処理結果のデータをスパイク信号にて出力する。
また、遅延用サブモデル210fが、入力時間区間にてスパイク信号の入力を受け、次の時間区間である出力時間区間まで遅らせてスパイク信号を出力することで、時間区間内におけるスパイク信号の出力タイミングを調整することができる。例えば、データの流れの下流側の層で、スパイク信号の入力が時間区間の最後付近に集中することを回避し得る。
また、1つの第1サブモデル210-1に対して2つの遅延用サブモデル210fが設けられていることで、遅延用サブモデル210fの各々が1つのデータの処理を2つの時間区間にわたって行っても(おこなっても)、第1サブモデル210-1は、時間区間毎にデータを遅延用サブモデル210fへ出力することができる。
閾値到達時刻ti_1 (l,vth)は、式(8)のように表される。
図11は、クリップ関数の第1例を示す図である。図11は、第l層のi番目のニューロンモデル100の第1サブモデル210-1が、第dデータを処理する際のクリップ関数の例を示す。
図11のグラフの横軸は、膜電位が閾値に達する時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。縦軸は、第1サブモデル210-1の発火時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。
一方、この時間区間内に膜電位が閾値に達しない場合は、時刻(l+d-1)T以降に膜電位が閾値に達するものとして捉えることができる。この場合、第1信号出力部213-1は、この時間区間の終了時である時刻(l+d-1)Tにスパイク信号を出力する。
この遅延用サブモデル210fにおける閾値到達時刻をti_f (l,vth)とすると、式(12)を得られる。
図12のグラフの横軸は、膜電位が閾値に達する時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。縦軸は、遅延用サブモデル210fの発火時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。
入力時間区間内に膜電位が閾値に達した場合、遅延用信号出力部213fは、この入力時間区間の次の時間区間である出力時間区間の開始時に、スパイク信号を出力する。
出力時間区間の終了時までに膜電位が閾値に達しない場合は、時刻(l+d)T以降に膜電位が閾値に達するものとして捉えることができる。この場合、遅延用信号出力部213fは、出力時間区間の終了時である時刻(l+d)Tにスパイク信号を出力する。
図13のグラフの横軸は、第1サブモデル210-1の膜電位が閾値に達する時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。縦軸は、遅延用サブモデル210fの発火時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。
第1サブモデル210-1の膜電位が閾値に達する時刻は、第1サブモデル210-1の発火時刻と同じ時刻として扱うことができる。また、第1サブモデル210-1の膜電位が閾値に達する時刻は、遅延用サブモデル210fがスパイク信号の入力を受ける時刻と同じ時刻として扱うことができる。
ここで、時刻(1+d-2)Tは、入力時間区間の開始時である。時刻(1+d-1)Tは、出力時間区間の開始時である。また、第1サブモデル210-1の膜電位が閾値に達してから、遅延用サブモデル210fがスパイク信号の入力を受けるまでの遅延時間は無視できるものとする。
したがって、図13は、遅延用サブモデル210fが、入力時間区間内でのスパイク信号の入力を受けたタイミングと同様の、出力時間区間内におけるタイミングで、スパイク信号を出力する場合を示している。
図14のグラフの横軸は、第1サブモデル210-1の膜電位が閾値に達する時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。縦軸は、遅延用サブモデル210fの発火時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。
遅延用サブモデル210fによる遅延時間がTよりも短い場合、出力時間区間内における遅延用サブモデル210fが発火するタイミングが、時間区間内における第1サブモデル210-1が発火するタイミングよりも早くなる。
図14の例で、時刻(l+d-2)Tから(l+d-2+c1)Tまでの間に第1サブモデル210-1の膜電位が閾値に達した場合、遅延用サブモデル210fは、出力時間区間の開始時である時刻(l+d-1)Tに発火する。
このようにタイミングが早まることで、時間区間内におけるスパイク信号の出力タイミングを調整することができる。例えば、データの流れの下流側の層で、スパイク信号の入力が時間区間の最後付近に集中することを回避し得る。
図15のグラフの横軸は、第1サブモデル210-1の膜電位が閾値に達する時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。縦軸は、遅延用サブモデル210fの発火時刻を、ニューラルネットワーク11aへのデータ入力開始時からの経過時間で示す。
遅延用サブモデル210fによる遅延時間がTよりも長い場合、出力時間区間内における遅延用サブモデル210fが発火するタイミングが、時間区間内における第1サブモデル210-1が発火するタイミングよりも遅くなる。
また、時刻(l+d-1-c2)Tから(l+d-1)Tまでの間に第1サブモデル210-1の膜電位が閾値に達した場合、遅延用サブモデル210fは、出力時間区間の終了時である時刻(1+d)Tに発火する。
図16に示す構成で、ニューラルネットワーク装置10bは、ニューロンモデル100bを備える。ニューロンモデル100bは、指標値計算部110と、検出部120と、遅延部130bと、信号出力部140と、切替部220bとを備える。
ニューラルネットワーク装置10bはニューラルネットワーク装置10の例に該当し、ニューロンモデル100bはニューロンモデル100の例に該当する。図16では、ニューロンモデル100bの構成として、図1のニューロンモデル100の構成の遅延部130に代えて遅延部130bが示され、さらに切替部220bが示されている。
これにより信号出力部140は、上記のように、時間区間のうち第1時間区間内のタイミング、かつ、第1時間区間よりも過去の時間区間である第2時間区間における所定の事象の発生タイミングに応じたタイミングで、スパイク信号を出力する。
遅延部130bは、遅延部130の例に該当する。遅延部130bは、遅延手段の例にも該当する。
遅延部130bがスパイキングニューロンモデルを用いて構成される場合、遅延部130bはサブモデル210と同様である。サブモデル210は、遅延部130bの例に該当する。一方、遅延部130bの構成は、スパイキングニューロンモデルを用いる構成に限定されない。例えば、遅延部130bがタイマを備えて構成され、信号の入力を受けてから信号を出力するまでの時間をタイマを用いて測定するようにしてもよい。
検出部120が事象の発生を検出した時刻に所定の遅延時間を加えた時刻が、検出部120が事象の発生を検出した時間区間と同じ時間区間に含まれる場合に、信号出力部140が次の時間区間の開始時にスパイク信号を出力するようにする処理を、遅延部130bが行うようにしてもよいし、信号出力部140が行うようにしてもよい。
あるいは、遅延部130が、複数の信号を受け入れ可能な経路を備えていてもよい。例えば、遅延部130がシフトレジスタを備え、信号の入力を受けたときにシフトレジスタの再下位ビットを1に設定して所定のクロック周期毎にシフトレジスタをシフトアップさせるようにしてもよい。そして、シフトレジスタの最上位ビット1になったときに、遅延部130が、信号出力部140に対して発火を指示する信号を出力するようにしてもよい。
上述したように、ニューラルネットワーク装置10が構成するニューラルネットワーク11を、ニューラルネットワーク本体とも称する。
図18の例で、入力データと、その入力データに対する正解を示す教師ラベルとがニューラルネットワークシステム1に入力される。ニューラルネットワーク装置10が入力データの入力を受け、学習装置50が、教師ラベルの入力を受けるようにしてもよい。入力データと教師ラベルとの組み合わせは、教師有り学習における訓練データの例に該当する。
また、ニューラルネットワーク装置10は、クロック信号を取得する。ニューラルネットワーク装置10がクロック回路を備えるようにしてもよい。あるいは、ニューラルネットワーク装置10が、ニューラルネットワーク装置10の外部からのクロック信号の入力を受けるようにしてもよい。
学習装置50は、学習手段の例に該当する。学習装置50は、例えば、コンピュータを用いて構成される。
例えば、学習装置50が誤差逆伝播法をアレンジした手法を用いて学習を行う場合、重みWij (l)を、式(15)で示される変化量ΔWij (l)だけ変化させるように、重みWij (l)を更新するようにしてもよい。
Cは、式(16)のように表される。
Mは、出力層(最終層)を示すインデックス値を表す。N(M)は、出力層に含まれるニューロンモデル100の個数を表す。
「γ/2(ti *(M)-t(ref))2」は、学習困難性を回避するために設けられた項である。この項をテンポラル罰則項(Temporal Penalty Term)とも称する。テンポラル罰則項により、出力層の発火タイミングは参照スパイク周辺に分布することになり、結果として出力ニューロンが安定して発火するようになる。γは、テンポラル罰則項の影響度合いを調整するための定数であり、γ>0である。γをテンポラル罰則係数とも称する。
Siは、ソフトマックス関数であり、式(17)のように表される。
式(17)では、出力層のi番目のスパイク発火時刻ti *(M)が0≦ti *(M)≦1で示されるものとする。例えば、出力層のスパイク発火時刻が、クラス毎に、入力データが示す分類対象がそのクラスに分類される確率を示すようにしてもよい。κi=1となるiについて、ti *(M)の値が1に近いほど「-Σi=1 N(M)(κiln(Si(t*(M))))」の項の値が小さくなり、学習装置50は、損失(評価関数Cの値)を小さく計算する。
ただし、ニューラルネットワーク装置10が行う処理は、クラス分類に限定されない。
例えば、重みwfの値がニューロンモデル100毎に設定可能になっていてもよい。この場合の、第l層のi番目のニューロンモデル100における重みwfをwi_f (l)と表記する。学習装置50が誤差逆伝播法をアレンジした手法を用いて学習を行う場合、重みWi_f (l)を、式(18)で示される変化量ΔWi_f (l)だけ変化させるように、重みWi_f (l)を更新するようにしてもよい。
図19に示される運用時と同様、学習時も、ニューラルネットワーク装置10は、入力データの入力を受け、また、クロック信号を取得する。ニューラルネットワーク装置10がクロック回路を備えるようにしてもよい。あるいは、ニューラルネットワーク装置10が、ニューラルネットワーク装置10の外部からのクロック信号の入力を受けるようにしてもよい。
ニューラルネットワーク装置10は、入力データの入力を受けて、その入力データに基づく推定値を出力する。推定値を算出する際、ニューラルネットワーク装置10は、クロック信号を用いて層間の時間区間の同期、および、同一層内のニューロンモデル100間の時間区間の同期をとる。
ニューラルネットワーク11の学習方法は、教師あり学習に限定されない。学習装置50が、ニューラルネットワーク11の学習を教師無し学習で行うようにしてもよい。
検出部120は、膜電位に関する所定の事象の発生タイミングを検出する。具体的には、検出部120は、膜電位が閾値に達したタイミング、および、膜電位が閾値に達せずに時間区間が終了するタイミングを検出する。
信号出力部140は、時間区間のうち出力時間区間内のタイミング、かつ、出力時間区間よりも過去の時間区間である入力時間区間における所定の事象の発生タイミングに応じたタイミングで、スパイク信号を出力する。
ニューラルネットワーク装置10によればこの点で、スパイキングニューラルネットワークであるニューラルネットワーク11がデータ処理を効率的に行うことができる。
また、ニューロンモデル100が、スパイク信号の入力を受けた時間区間の次の時間区間でスパイク信号を出力することで、時間区間内におけるスパイク信号の出力タイミングを調整することができる。ニューラルネットワーク装置10では、例えば、ニューラルネットワーク11におけるデータの流れの下流側の層で、スパイク信号の入力が時間区間の最後付近に集中することを回避し得る。
ニューラルネットワーク装置10bでは、2つの遅延部130と切替部220とを用いた比較的簡単な構成で、信号出力部140がスパイク信号を出力する時間区間と、指標値計算部110が次のデータに関するスパイク信号の入力を受ける時間区間とが重なることに対応することができる。
かかる構成で、指標値計算部612は、時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させる。検出部613は、指標値に関する所定の事象の発生タイミングを検出する。信号出力部614は、時間区間のうち第1時間区間内のタイミング、かつ、第1時間区間よりも過去の時間区間である第2時間区間における所定の事象の発生タイミングに応じたタイミングで、信号を出力する。
指標値計算部612は、指標値計算手段の例に該当する。検出部613は、検出手段の例に該当する。信号出力部614は、信号出力手段の例に該当する。
演算装置610によればこの点で、スパイキングニューラルネットワークがデータ処理を効率的に行うことができる。
図21に示す構成で、ニューラルネットワークシステム620は、ニューラルネットワーク本体621と、学習部626とを備える。ニューラルネットワーク本体621は、ニューロンモデル622を備える。ニューロンモデル622は、指標値計算部623と、検出部624と、信号出力部625とを備える。
ニューラルネットワークシステム620では、これにより、学習によって重み係数を調整することができ、ニューラルネットワーク本体621による推定精度を向上させることができる。
かかる構成で、指標値計算部631は、時間区間毎に、その時間区間におけるスパイク信号の入力状況に基づいてスパイク信号出力の指標値を変化させる。検出部632は、指標値に関する所定の事象の発生タイミングを検出する。信号出力部633は、時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、スパイク信号を出力する。
ニューロンモデル装置630によれば、この点で、スパイキングニューラルネットワークがデータ処理を効率的に行うことができる。
指標値を変化させること(ステップS611)では、時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させる。事象発生タイミングを検出すること(ステップS612)では、指標値に関する所定の事象の発生タイミングを検出する。信号を出力すること(ステップS613)では、時間区間のうち第1時間区間内のタイミング、かつ、第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力する。
図23に示す演算方法によればこの点で、スパイキングニューラルネットワークがデータ処理を効率的に行うことができる。
図24に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
10 ニューラルネットワーク装置
11 ニューラルネットワーク
50 学習装置
100、611、622 ニューロンモデル
110、211、612、623、631 指標値計算部
120、212、613、624、632 検出部
130、130b 遅延部
140、213、614、625、633 信号出力部
210 サブモデル
210f 遅延用サブモデル
210-1 第1サブモデル
210-2 第2サブモデル
210-3 第3サブモデル
211f 遅延用指標値計算部
211-1 第1指標値計算部
211-2 第2指標値計算部
211-3 第3指標値計算部
212f 遅延用検出部
212-1 第1検出部
212-2 第2検出部
212-3 第3検出部
213f 遅延用信号出力部
213-1 第1信号出力部
213-2 第2信号出力部
213-3 第3信号出力部
220a、220b 切替部
221、231 スイッチ
230 統合部
232 インバータ
610 演算装置
621 ニューラルネットワーク本体
626 学習部
630 ニューロンモデル装置
Claims (7)
- 時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させる指標値計算手段と、
前記指標値に関する所定の事象の発生タイミングを検出する検出手段と、
前記時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力する信号出力手段と、
を備えるスパイキングニューロンモデル
を備える演算装置。 - 前記検出手段が検出する前記タイミングから所定時間後のタイミングに基づいて、前記信号出力手段に信号を出力させるタイミングを決定する遅延手段と、
2つの前記遅延手段のうち前記タイミングを決定させる前記遅延手段を、前記時間区間毎に切り替える切替手段と、
をさらに備える、
請求項1に記載の演算装置。 - 前記指標値計算手段および前記検出手段を備える第1スパイキングニューロンモデルと、前記遅延手段および前記信号出力手段を備える2つの第2スパイキングニューロンモデルとをさらに備え、
前記検出手段が前記所定の事象の発生タイミングを検出すると、前記第1スパイキングニューロンモデルが前記第2スパイキングニューロンモデルへ前記信号を出力し、
前記遅延手段は、前記信号出力手段に前記信号を出力させるタイミングを、前記第1時間区間内のタイミング、かつ、前記第2時間区間にて前記第1スパイキングニューロンモデルから前記信号の入力を受けたタイミングから所定時間後のタイミングに基づくタイミングに決定する、
請求項2に記載の演算装置。 - スパイキングニューラルネットワーク本体と、学習手段とを備え、
前記スパイキングニューラルネットワーク本体は、
時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させる指標値計算手段と、
前記指標値に関する所定の事象の発生タイミングを検出する検出手段と、
前記時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力する信号出力手段と、
を備えるスパイキングニューロンモデルを備え、
前記学習手段は、前記信号に対する重み係数の学習を行う、
ニューラルネットワークシステム。 - 時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させる指標値計算手段と、
前記指標値に関する所定の事象の発生タイミングを検出する検出手段と、
前記時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力する信号出力手段と、
を備えるニューロンモデル装置。 - 時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させることと、
前記指標値に関する所定の事象の発生タイミングを検出することと、
前記時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力することと、
を含む演算方法。 - プログラミング可能な装置に、
時間区間毎に、その時間区間における信号の入力状況に基づいて信号出力の指標値を変化させることと、
前記指標値に関する所定の事象の発生タイミングを検出することと、
前記時間区間のうち第1時間区間内のタイミング、かつ、前記第1時間区間よりも過去の時間区間である第2時間区間における前記所定の事象の発生タイミングに応じたタイミングで、信号を出力することと、
を実行させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021130005A JP7694246B2 (ja) | 2021-08-06 | 2021-08-06 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム |
| US17/872,096 US20230043618A1 (en) | 2021-08-06 | 2022-07-25 | Computation apparatus, neural network system,neuron model apparatus, computation method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021130005A JP7694246B2 (ja) | 2021-08-06 | 2021-08-06 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023023995A JP2023023995A (ja) | 2023-02-16 |
| JP7694246B2 true JP7694246B2 (ja) | 2025-06-18 |
Family
ID=85152883
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021130005A Active JP7694246B2 (ja) | 2021-08-06 | 2021-08-06 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20230043618A1 (ja) |
| JP (1) | JP7694246B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3178441A1 (en) | 2022-10-05 | 2024-04-05 | Wilten Nicola | Data transmission between devices |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020013069A1 (ja) | 2018-07-13 | 2020-01-16 | ソニー株式会社 | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 |
-
2021
- 2021-08-06 JP JP2021130005A patent/JP7694246B2/ja active Active
-
2022
- 2022-07-25 US US17/872,096 patent/US20230043618A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020013069A1 (ja) | 2018-07-13 | 2020-01-16 | ソニー株式会社 | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023023995A (ja) | 2023-02-16 |
| US20230043618A1 (en) | 2023-02-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10032498B2 (en) | Memory cell unit and recurrent neural network including multiple memory cell units | |
| CN109190537B (zh) | 一种基于掩码感知深度强化学习的多人物姿态估计方法 | |
| KR102492318B1 (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
| KR102032146B1 (ko) | 소자 결점을 보완하기 위한 구간 선형 정류 유닛을 사용하는 인공신경망 시스템 | |
| KR20160102690A (ko) | 신경망 학습 방법 및 장치, 및 인식 방법 및 장치 | |
| US11182676B2 (en) | Cooperative neural network deep reinforcement learning with partial input assistance | |
| US11531879B1 (en) | Iterative transfer of machine-trained network inputs from validation set to training set | |
| US20100082126A1 (en) | Control device, control program, and control method | |
| KR20200128938A (ko) | 모델 학습 방법 및 장치 | |
| US11755904B2 (en) | Method and device for controlling data input and output of fully connected network | |
| US20180277143A1 (en) | Method and apparatus for training acoustic model | |
| US20230162034A1 (en) | Method and apparatus with neural network data input and output control | |
| JP7694246B2 (ja) | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム | |
| CN113935475A (zh) | 具有脉冲时刻偏移量的脉冲神经网络的仿真与训练方法 | |
| CN112633463A (zh) | 用于建模序列数据中长期依赖性的双重递归神经网络架构 | |
| KR20220063476A (ko) | 문맥 기반 질의응답 생성 아키텍처 | |
| JP7725928B2 (ja) | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム | |
| JP7047283B2 (ja) | 情報処理装置、方法、及びプログラム | |
| US11568303B2 (en) | Electronic apparatus and control method thereof | |
| CN114154530B (zh) | 一种心电时序信号房颤检测模型训练方法及装置 | |
| JP7589818B2 (ja) | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法およびプログラム | |
| Isomura et al. | Accurate connection strength estimation based on variational bayes for detecting synaptic plasticity | |
| WO2023032158A1 (ja) | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法 | |
| JP7613603B2 (ja) | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法 | |
| US11126912B2 (en) | Realigning streams of neuron outputs in artificial neural network computations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20240408 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240704 |
|
| 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: 20250507 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250520 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7694246 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |















