JP7336710B2 - ニューラルネットワークシステム、学習方法およびプログラム - Google Patents

ニューラルネットワークシステム、学習方法およびプログラム Download PDF

Info

Publication number
JP7336710B2
JP7336710B2 JP2021507387A JP2021507387A JP7336710B2 JP 7336710 B2 JP7336710 B2 JP 7336710B2 JP 2021507387 A JP2021507387 A JP 2021507387A JP 2021507387 A JP2021507387 A JP 2021507387A JP 7336710 B2 JP7336710 B2 JP 7336710B2
Authority
JP
Japan
Prior art keywords
neural network
neuron
firing
learning
spiking
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
Application number
JP2021507387A
Other languages
English (en)
Other versions
JPWO2020189704A1 (ja
Inventor
悠介 酒見
佳生 森野
一幸 合原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
University of Tokyo NUC
Original Assignee
NEC Corp
University of Tokyo NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp, University of Tokyo NUC filed Critical NEC Corp
Publication of JPWO2020189704A1 publication Critical patent/JPWO2020189704A1/ja
Priority to JP2023066737A priority Critical patent/JP7553893B2/ja
Application granted granted Critical
Publication of JP7336710B2 publication Critical patent/JP7336710B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明は、ニューラルネットワークシステム、学習方法およびプログラムに関する。
(順伝搬型スパイキングニューラルネットワークについて)
ニューラルネットワークの一形態として、順伝搬型スパイキングニューラルネットワーク(Spiking Neural Network;SNN)がある。スパイキングニューラルネットワークとは、スパイキングニューロンモデル(スパイキングニューロン、または、単にニューロンとも称する)が結合しネットワークを形成したものである。
順伝搬型とは、ネットワーク構成方法の一つであり、層から層への結合における情報伝達が一方向のネットワークのことである。順伝搬型スパイキングニューラルネットワークの各層は1つ以上のスパイキングニューロンで構成されており、同層内のスパイキングニューロン間の結合は存在しない。
図14は、順伝搬型スパイキングニューラルネットワークの階層構造の例を示す図である。図14は、順伝搬4層スパイキングニューラルネットワークの例を示している。但し、順伝搬型スパイキングニューラルネットワークの層数は、4層に限定されず2層以上であればよい。
図14に例示されるように順伝搬型スパイキングニューラルネットワークは階層構造に構成され、データの入力を受けて演算結果を出力する。ニューラルネットワークが出力する演算結果を予測値または予測とも称する。
ニューラルネットワークの第1層(図14の例では、層1011)は入力層と呼ばれ、最後の層(図14の例では、第4層(層1014))は出力層と呼ばれる。入力層と出力層との間にある層(図14の例では、第2層(層1012)および第3層(層1013))は隠れ層と呼ばれる。
図15は、順伝搬型スパイキングニューラルネットワークの構成例を示す図である。図15は、図14における4つの層(層1011~1014)が、それぞれ3つのスパイキングニューロン(スパイキングニューロンモデル)1021を有している場合の例を示している。但し、順伝搬型スパイキングニューラルネットワークが備えるスパイキングニューロンの個数は、特定の個数に限定されず、各層が1つ以上のスパイキングニューロンを備えていればよい。各層が同じ個数のスパイキングニューロンを備えていてもよいし、層によって異なる個数のスパイキングニューロンを備えていてもよい。
スパイキングニューロン1021は、生物学的神経細胞の細胞体部による信号の統合およびスパイクの生成(発火)を模擬する。
伝達経路1022は、生物学的神経細胞の軸索およびシナプスによる信号の伝達を模擬する。伝達経路1022は、隣り合う層間の2つのスパイキングニューロン1021を結んで配置され、前段層のスパイキングニューロン1021から後段層側のスパイキングニューロン1021へスパイクを伝達する。
図15の例では、伝達経路1022は、層1011のスパイキングニューロン1021の各々から層1012のスパイキングニューロン1021の各々へ、層1012のスパイキングニューロン1021の各々から層1013のスパイキングニューロン1021の各々へ、および、層1013のスパイキングニューロン1021の各々から層1014のスパイキングニューロン1021の各々へ、スパイクを伝達する。
スパイキングニューロンモデルは、膜電位を内部状態として持ち、膜電位が微分方程式に従って時間発展するモデルである。一般的なスパイキングニューロンモデルとして、漏れ積分発火ニューロンモデルが知られており、式(1)のような微分方程式に従って時間発展する。
Figure 0007336710000001
ここで、v(n) は、第n層のi番目のスパイキングニューロンモデルにおける膜電位を示す。αleakは、漏れ積分発火モデルにおける漏れの大きさを示す定数の係数である。I(n) は、第n層のi番目のスパイキングニューロンモデルにおけるシナプス後電流を示す。w(n) ijは、第n-1層のj番目のスパイキングニューロンモデルから第n層のi番目のスパイキングニューロンモデルへの結合の強さを示す係数であり、重みと呼ばれる。
tは時刻を示す。t(n-1) は第n-1層のj番目のニューロンの発火タイミング(発火時刻)を示す。κは前段の層から伝達されたスパイクがシナプス後電流へ与える影響を示す関数である。
膜電位が閾値Vthを超えると、そのスパイキングニューロンモデルはスパイクを生成し(発火)、その後、膜電位はリセット値Vresetへと戻る。また、生成されたスパイクは、結合している後段層のスパイキングニューロンモデルへと伝達される。
図16は、スパイキングニューロンの膜電位の時間発展の例を示す図である。図16のグラフの横軸は時刻を示し、縦軸は、膜電位を示す。図16は、第n層のi番目のスパイキングニューロンの膜電位の時間発展の例を示しており、膜電位は、v(n) と表されている。
上記のように、Vthは、膜電位の閾値を示す。Vresetは、膜電位のリセット値を示す。t(n-1) は第n-1層の1番目のニューロンの発火タイミングを示す。t(n-1) は第n-1層の2番目のニューロンの発火タイミングを示す。t(n-1) は第n-1層の3番目のニューロンの発火タイミングを示す。
時刻t(n-1) における1番目の発火および時刻t(n-1) における3番目の発火では、何れも膜電位v(n) は閾値Vthに達していない。一方、時刻t(n-1) における2番目の発火では、膜電位v(n) が閾値Vthに達し、その後すぐに、リセット値であるVresetに低下している。
スパイキングニューラルネットワークはCMOS(Complementary MOS)などでハードウェア化したときに、深層学習モデルよりも消費電力を下げられると期待されている。その理由の一つは、人の脳は20ワット(W)相当の低消費電力な計算媒体であり、スパイキングニューラルネットワークはそのような低消費電力の脳の活動を模倣することができるためである。
脳相当の消費電力のハードウェアを作るには、脳の計算原理に倣い、スパイキングニューラルネットワークのアルゴリズムを開発していくことが必要である。例えば、画像認識を、スパイキングニューラルネットワークを用いて行えることが知られており、様々な教師あり学習アルゴリズムや教師なし学習アルゴリズムが開発されてきた。
(スパイキングニューラルネットワークにおける情報伝達方式について)
スパイキングニューラルネットワークのアルゴリズムでは、スパイクによる情報伝達方式において幾つかの手法があり、特に、頻度方式と時間方式とがよく用いられている。
頻度方式では、一定時間間隔の間に、ある特定のニューロンが何回発火したかで情報を伝達する。一方、時間方式では、スパイクのタイミングで情報を伝達する。
図17は、頻度方式、時間方式それぞれにおけるスパイクの例を示す図である。図17の例で、頻度方式では、「1」、「3」、「5」の情報を、その情報に応じたスパイク数で示している。一方、時間方式では、「1」、「3」、「5」の情報の何れの場合もスパイク数は1つであり、情報に応じたタイミングでスパイクを生成することで、その情報を示している。図17の例では、ニューロンは、情報としての数が大きくなるほど遅いタイミングでスパイクを生成している。
図17に示すように、時間方式は、頻度方式に比べて、少ないスパイク数で情報を表すことができる。非特許文献1では、画像認識等のタスクにおいて、時間方式は頻度方式の10分の1以下のスパイク数で実行できることが報告されている。
ハードウェアの消費電力は、スパイク数増加によって増加するため、時間方式のアルゴリズムを用いると消費電力を削減することができる。
(順伝搬型スパイキングニューラルネットワークによる予測について)
順伝搬型スパイキングニューラルネットワークを用いることで、様々な課題を解くことができることが報告されている。例えば、図14のようなネットワーク構成において、入力層に画像データを入力し、スパイキングニューラルネットワークが、答えを予測するようにできる。時間方式の場合、予測値の出力方法として、例えば、出力層のニューロンのうち最も早く発火(スパイクを生成)したニューロンによって予測値を示すことができる。
(順伝搬型スパイキングニューラルネットワークの学習について)
スパイキングニューラルネットワークが正しく予測を行うには学習プロセスが必要である。例えば、画像を認識する学習プロセスでは、画像データと、その解答であるラベルデータとが用いられる。
学習プロセスで、スパイキングニューラルネットワークは、データの入力を受けて予測値を出力する。そして、スパイキングニューラルネットワークに学習を行わせるための学習機構が、スパイキングニューラルネットワークが出力する予測値とラベルデータ(正解)との差である予測誤差を算出する。学習機構は、予測誤差から定義される損失関数Lを、スパイキングニューラルネットワークにおけるネットワークの重みの最適化によって最小化することで、スパイキングニューラルネットワークに学習を行わせる。
(損失関数の最小化について)
例えば、学習機構が、式(2)のように重みを更新することで、損失関数Lを最小化することができる。
Figure 0007336710000002
ここで、Δw(n) ijは、重みw(n) ijの増減を示す。Δw(n) ijの値が正の場合、重みw(n) ijを増加させる。Δw(n) ijの値が負の場合、重みw(n) ijを減少させる。
ηは学習係数と呼ばれる定数である。
(確率的勾配降下法について)
確率的勾配降下法では、一部の訓練データを用いて重みを一度更新する。訓練データを全て用いて重みの更新を複数回繰り返したとき、その繰り返し単位をエポックと呼ぶ。確率的勾配降下法では、一般に、数十から数百のエポックを実行して学習を収束させる。また、一つのデータ(1つの入力データと1つのラベルデータ)で重みを更新することをオンライン学習と呼び、二つ以上のデータを用いて更新することをミニバッチ学習と呼ぶ。
(予測結果の出力について)
前述のように、順伝搬型スパイキングニューラルネットワークを用いることで、様々な課題を解くことができることが報告されている。例えば上記のように、入力層に画像データを入力し、ネットワークが、その画像の答えを予測するようにできる。
図18は、スパイキングニューラルネットワークの予測結果の出力表現の例を示す図である。
例えば、0から2までの3個の数字の画像を認識するタスクにおいては、図18に示すように、3個のニューロンが出力層を構成し、それぞれが0から2までの数字に対応しており、そのうち最も早く発火したニューロンが示す数字がネットワークの示す予測となる。なお、このネットワークの動作は、ニューロンの発火タイミングによって情報がコーディングされているので、時間方式である。
(非線形関数とハードウェア実装について)
スパイキングニューラルネットワークの専用ハードウェアは、一般に、ニューロモルフィックハードウェアとよばれている。このハードウェアの実装について、アナログ回路による実装や、デジタル回路による実装が知られている。
ハードウェアでは、一般に、その消費電力および回路面積を小さくすることが求められる。しかし、一方で、複雑なニューロンモデルや、複雑な学習則を実装すると、消費電力および回路面積が大きくなってしまう。
(非線形関数について)
ニューロンモデルでは、生物学的なニューロンとの整合性から、非線形関数を含む形が採用されることが多い。
(データの移動について)
ニューロモルフィックハードウェアの消費電力では、重みなどのメモリデータの移動が大きな寄与を占めている。そのため、学習則において、データの移動が少ないアルゴリズムを用いることで消費電力を下げられる。データの移動を少なくするには、移動の回数を少なくすること、および、データの移動距離を小さくすることのうち、何れか一方、もしくは両方を行えばよい。
図19は、予測時および学習時におけるデータの移動の例を示す図である。図19では、ニューロンを三角で示し、重みを丸で示している。予測時は、実線で示すようなデータの移動が発生する。一方、学習時、特に、重みwの更新時には、破線で示すようなデータの移動が発生する。
(リークなしモデルについて)
非特許文献2では、式(1)の定数αleakを0とおく漏れ(リーク)なし積分発火モデルを用いることで認識精度を向上させる報告があった。非特許文献2では、漏れなし積分発火モデルとして、式(3)に示されるモデルが用いられている。
Figure 0007336710000003
ここで、expは、自然指数関数である。τは定数を示す。
T. Liu、外5名、"MT-spike: A multilayer time-based spiking neuromorphic architecture with temporal error backpropagation"、Proceedings of the 36th International Conference on Computer-Aided Design、IEEE Press、2017年、p.450-457 H. Mostafa、"Supervised Learning Based on Temporal Coding in Spiking Neural Networks"、IEEE Transactions on Neural Networks and Learning Systems、第29、2018年、p.3227-3235 S. M. Bohte、外2名、"Error-backpropagation in temporally encoded networks of spiking neurons"、Neurocomputing、第48巻、2002年、p.17-37
ニューラルネットワークのモデルを簡単なものにできることが好ましい。
例えば、非特許文献2における、上記の式(3)に示される漏れなし積分モデルが、非線形関数(exp(-x/τ))を含むのに対し、この非線形関数なしにモデルを構成できることがモデルの簡単化の観点から好ましい。
本発明は、上述の課題を解決することのできるニューラルネットワークシステム、学習方法およびプログラムを提供することを目的としている。
本発明の第1の態様によれば、ニューラルネットワークシステムは、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル手段自らの出力を示すニューロンモデル手段と、前記ニューロンモデル手段の間の情報伝達を行う伝達処理手段と、を備えるニューラルネットワークと、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて、前記ニューラルネットワークの出力層および隠れ層のうち少なくとも何れか一方の学習を行わせる学習処理手段と、を備える。
本発明の第2の態様によれば、ニューラルネットワークシステムは、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流が、そのスパイキングニューロンの前の層のスパイキングニューロンの発火タイミングで値が変化するステップ関数の重み付け合計で表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル手段自らの出力を示すニューロンモデル手段と、前記ニューロンモデル手段の間の情報伝達を行う伝達処理手段と、を備えるニューラルネットワーク装置と、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて、前記ニューラルネットワーク装置の出力層および隠れ層のうち少なくとも何れか一方の学習を行わせ、発火確率密度の傾きを用いて示される学習則を用いて、前記出力層の学習を行わせる学習処理手段と、を備える。
本発明の第3の態様によれば、学習方法は、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンであって、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでスパイキングニューロン自らの出力を示すスパイキングニューロンの動作を実行する工程と、前記スパイキングニューロン間の情報伝達を行う工程と、を実行するニューラルネットワークの、出力層および隠れ層のうち少なくとも何れか一方の学習を、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて行う工程を含む
本発明の第の態様によれば、プログラムは、ASICに、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンであって、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでスパイキングニューロン自らの出力を示すスパイキングニューロンの動作を実行する工程と、前記スパイキングニューロン間の情報伝達を行う工程と、を実行するニューラルネットワークの、出力層および隠れ層のうち少なくとも何れか一方の学習を、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて行う工程を実行させるためのプログラムである
本発明によれば、ニューラルネットワークのモデルを比較的簡単なものにすることができる。
実施形態に係るニューラルネットワーク装置の階層構造の例を示す図である。 実施形態に係るニューラルネットワーク装置の構成例を示す図である。 実施形態に係るニューラルネットワークシステムの概略構成の例を示す図である。 実施形態に係るスパイクのタイミングと発火確率密度との関係を示す図である。 実施形態に係る重みが変化したときの発火確率密度の変化を示す図である。 実施形態に係るスパイクのタイミングが変化したときの発火確率密度の変化を示す図である。 実施形態に係るネットワークの重みの更新則の例を示す図である。 実施形態に係るニューラルネットワーク装置のシミュレーション結果の例を示す図である。 実施形態に係る重みの変化に伴って膜電位が変化する様子を表す図である。 実施形態に係る発火タイミングの変化に伴って膜電位が変化する様子を表す図である。 実施形態に係る実施形態に係るニューラルネットワーク装置の構成例を示す図である。 少なくとも1つの実施形態に係る専用ハードウェアの構成例を示す概略ブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。 順伝搬型スパイキングニューラルネットワークの階層構造の例を示す図である。 順伝搬型スパイキングニューラルネットワークの構成例を示す図である。 スパイキングニューロンの膜電位の時間発展の例を示す図である。 頻度方式、時間方式それぞれにおけるスパイクの例を示す図である。 スパイキングニューラルネットワークの予測結果の出力表現の例を示す図である。 予測時および学習時におけるデータの移動の例を示す図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
(実施形態に係るニューラルネットワーク装置の構造について)
図1は、実施形態に係るニューラルネットワーク装置の階層構造の例を示す図である。
図1の例で、ニューラルネットワーク装置100は順伝搬4層スパイキングニューラルネットワーク(Spiking Neural Network;SNN)に構成されている。但し、ニューラルネットワーク装置100の層数は、図1に示す4層に限らず2層以上であればよい。
図1に示すニューラルネットワーク装置100は、順伝搬型スパイキングニューラルネットワークとして機能し、データの入力を受けて演算結果(予測値、または、予測と称する)を出力する。
ニューラルネットワーク装置100の各層のうち、第1層(層111)は入力層に該当する。最後の層(第4層、層114)は出力層に該当する。入力層と出力層との間にある層(第2層(層112)および第3層(層113))は隠れ層に該当する。
図2は、ニューラルネットワーク装置100の構成例を示す図である。図2は、図1における4つの層(層111~114)が、それぞれ3つのノード(ニューロンモデル部121)を有している場合の例を示している。但し、ニューラルネットワーク装置100が備えるニューロンモデル部121の個数は、特定の個数に限定されず、各層が2つ以上のニューロンモデル部121を備えていればよい。各層が同じ個数のニューロンモデル部121を備えていてもよいし、層によって異なる個数のニューロンモデル部121を備えていてもよい。
ニューロンモデル部121は、スパイキングニューロン(スパイキングニューロンモデル)として構成され、細胞体部による信号の統合およびスパイクの生成(発火)を模擬する。
伝達処理部122は、軸索およびシナプスによる信号の伝達を模擬する。伝達処理部122は、任意の層間の2つのニューロンモデル部121を結んで配置され、前段層側のニューロンモデル部121から後段層側のニューロンモデル部121へスパイクを伝達する。
図2の例では、伝達処理部122は、層111のニューロンモデル部121の各々から層112のニューロンモデル部121の各々へ、層112のニューロンモデル部121の各々から層113のニューロンモデル部121の各々へ、および、層113のニューロンモデル部121の各々から層114のニューロンモデル部121の各々へ、スパイクを伝達する。
(実施形態に係るニューラルネットワークシステムの構成について)
実施形態に係るニューラルネットワークシステムは、学習プロセスを実行するために、例えば図3に示す構成を有する。
図3は、実施形態に係るニューラルネットワークシステムの概略構成の例を示す図である。図3に示す構成で、ニューラルネットワークシステム1は、ニューラルネットワーク装置100と、予測誤差算出部200と、学習処理部300を備える。
かかる構成で、ニューラルネットワーク装置100は、データの入力を受けて予測値を出力する。予測誤差算出部200は、ニューラルネットワーク装置100が出力する予測値とラベルデータ(正解)との差である予測誤差を算出し、学習処理部300へ出力する。学習処理部300は、予測誤差から定義される損失関数Lを、ニューラルネットワーク装置100のネットワークの重みの最適化によって最小化することで、ニューラルネットワーク装置100に学習を行わせる。
ニューラルネットワーク装置100と、学習処理部300とは、別々の装置として構成されていてもよいし、1つの装置として構成されていてもよい。
(実施形態に係るニューロンのモデル)
実施形態に係るスパイキングニューロンのモデル(ニューロンモデル部121)の説明を行う。ニューロンモデル部121として、リークのないスパイキングニューロンのモデルを用いる。このモデルを式(4)のように定義する。
Figure 0007336710000004
ここで、v(m) は、第m層のi番目のニューロンモデル部121における膜電位を示す。
(m) は、第m層のi番目のニューロンモデル部121におけるシナプス後電流を示す。上記のように、tは時刻を示す。I(m) (t)は、シナプス後電流I(m) を時刻tの関数として表したものである。
(m) ijは、第m-1層のj番目のニューロンモデル部121から第m層のi番目のニューロンモデル部121への結合の強さを示す係数(重み)である。t(m-1) は、第m-1層のj番目のニューロンモデル部121の発火タイミングを示す。θはステップ関数を示す。
ステップ関数θは、式(5)のように示される。
Figure 0007336710000005
ステップ関数θ(t)は、t≧0の場合はθ(t)=1との定数値となり、t<0の場合はθ(t)=0との定数値となる関数であり、例えばexp(-x/τ)といった非線形関数と比較して簡単な処理で演算できる。
上記のように、ニューラルネットワーク装置100のネットワークは、順伝搬型の多層ネットワークとして構成される。また、ニューロンモデル部121の各々は、ニューラルネットワーク装置100への1つの入力に対して、最大で一回しか発火しないものとする。
また、ニューラルネットワーク装置100の出力は、出力層のニューロンモデル部121の発火タイミングによって示されるものとする。例えば、ニューラルネットワーク装置100の出力が、図18を参照して説明した表現方法を用いて示されていてもよい。
(実施形態に係るニューロンのモデルの効果)
ニューロンモデル部121によれば、式(4)に示されるようにステップ関数の重み付き線形和で表される比較的簡単なモデルとすることができる。例えば、式(4)に示されるモデルは、式(3)に示されるモデルよりも簡単であると評価できる。
ニューロンモデル部121の処理をソフトウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済む。また、ニューロンモデル部121の処理をハードウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済むことに加えて、ハードウェアの回路面積が比較的小さくて済む。
また、ニューロンモデル部121によれば、リークを含まないモデルである点で、認識精度が高い。
また、ニューロンモデル部121は、時間方式による点で、頻度方式による場合よりも消費電力が少なくて済む。
(実施形態に係る出力層学習(1))
次に、ニューラルネットワークシステム1における学習アルゴリズムの説明を行う。
(SpikePropについて)
前述の式(2)の重み更新則中の導関数∂L/∂w(n) ijを導く手法としてSpikePropアルゴリズムが知られている(非特許文献3参照)。例えば、損失関数Lを、最終層のニューロンの発火タイミングを用いて式(6)のように定義する。
Figure 0007336710000006
ここで、t(N) は、出力層のi番目のニューロンの発火タイミングを示す。なお、出力層を第N層として「N」で表記する。
(t) は、i番目の教師信号の発火タイミング(教師信号における、出力層のi番目のニューロンの発火タイミング)を示す。また、ここでは、式(3)に示されるリークなしのニューロンモデルを対象にする。
損失関数の重みによる微分はチェインルールを用いて、式(7)のように示される。
Figure 0007336710000007
ここでいう損失関数の重みによる微分は、損失関数を重みで微分したものである。
ここで、伝搬誤差を式(8)のように定義した。
Figure 0007336710000008
結局、導関数を導くためには、∂t(n) /∂w(n) ijと、∂t(n+1) /∂t(n) とを計算すればよい。SpikeProp法を用いて、∂t(n) /∂w(n) ijは式(9)のように導出できる。
Figure 0007336710000009
また、∂t(n+1) /∂t(n) は式(10)のように導出できる。
Figure 0007336710000010
式(9)および式(10)に示すようにSpikePropアルゴリズムでは、∂t(n) /∂w(n) ijおよび∂t(n+1) /∂t(n) を計算するために、同層内の重みの総和を計算する必要がある。
これに対し、ニューラルネットワーク装置100では、∂t(n) /∂w(n) ijおよび∂t(n+1) /∂t(n) を近似することにより簡易化された学習則を用いる。この学習則の導出について説明する。
まず、第n層のi番目のニューロン(ニューロンモデル部121)の発火タイミングが、発火確率密度R (t)によって確率的に決まるとの仮定をおく。上記のように、tは時刻を示す。観測された第n層の発火タイミングt(n) と、その前の層のニューロン(ニューロンモデル部121)の発火タイミングt(n-1) とから、発火確率密度R(n) (t)の関数形を推定する。
本モデルでは、各ニューロン(ニューロンモデル部121)は一回以下しか発火しないため、情報を持つのは第一発火タイミングである。そのため、推定された発火関数(発火確率密度の関数形)から得られるニューロンの第一発火タイミング(第一発火時刻)の分布が最大値をとる時刻を、第n層の発火タイミングt(n) とする。
上記のモデルを仮定することで、重みw(n) ijが変化したときの、発火確率密度の関数形の変化δR(n) (t)が得られる。式(11)に示すように、この発火確率密度関数の変化から、発火タイミングの変化δt(n) が得られる。
Figure 0007336710000011
式(11)は、重みw(n) ijの変化分に応じて発火確率密度R(n) (t)の変化分が求まり、発火確率密度R(n) (t)の変化分に応じて第n層の発火タイミングt(n) の変化分が求まるという関係を示している。この関係により、重みw(n) ijの変化分から第n層の発火タイミングt(n) の変化分を求めることができる。
式(11)の関係から、式(12)のように偏微分の近似が得られる。
Figure 0007336710000012
(実施形態に係る出力層学習(1)の例)
発火確率密度R(n) (t)は、漏れなしのスパイキングニューロンモデルにおいて、膜電位の傾き(時間微分)で近似することができる。この近似は、式(13)のように示される。
Figure 0007336710000013
さらに、この関数を区分線形関数Rlinear(t)に近似し、式(14)を得る。
Figure 0007336710000014
ここで、α、t’は、何れも定数であり、図4に示すように、t’<t(n-1) を満たすものとする。
図4は、スパイクのタイミングと発火確率密度との関係を示す図である。
図4の、上段は、t(n-1) とt(n) とのタイミングを示している。中段は、推定されるn層のi番目のニューロンの発火確率密度Rlinear(t)を示している。下段は、推定される発火確率密度Rlinear(t)から計算される第一発火のタイミングの確率分布を示している。図4の上段、中段、下段の何れも横軸は時刻を示す。中段、下段それぞれの縦軸は発火確率密度を示す。
発火確率密度が区分線形関数Rlinear(t)で与えられたときの第一発火タイミングの確率は以下のように計算できる。すなわち、時刻tまでに一度も発火しない確率をx(t)とおくと、これは、式(15)の微分方程式を満たす。
Figure 0007336710000015
式(15)の微分方程式を解くと、式(16)のようになる。
Figure 0007336710000016
よって、第一スパイク発火確率密度P(t)は、式(17)のように求めることができる。
Figure 0007336710000017
なお、第一スパイク発火確率密度P(t)は非負であり、式(18)のように確率の定義を満たしていることが分かる。
Figure 0007336710000018
第一スパイク発火確率密度P(t)が最大値をとる時刻tは、P(t)の時間微分が0(∂P(t)/∂t=0)より、式(19)のように示される。
Figure 0007336710000019
この時刻tが出力スパイク時刻と一致する条件を課すことで、式(20)が得られる。
Figure 0007336710000020
次に、重みが変化したときのニューロン(ニューロンモデル部121)の発火確率密度R (t)の変化は、式(21)のように示される。
Figure 0007336710000021
発火確率密度を区分線形関数Rlinear(t)で表記して、その変化δR(t)は、式(22)のように示される。
Figure 0007336710000022
この変化は、図5のように示される。
図5は、重みが変化したときの発火確率の変化を示す図である。具体的には、図5は、重みW(n) ijがδW(n) ijだけ変化したときの、発火確率密度Rlinear(t)の変化を示している。
図5の横軸は時刻を示し、縦軸は発火確率密度を示す。線L11は重みW(n) ijが変化する前の発火確率密度を示しており、線L12は重みW(n) ijが変化した後の発火確率密度を示している。
この発火関数が与えられたときの、発火タイミングは、t(n) +δt(n) と表される。t(n) +δt(n) を求めるために解くべき方程式は、式(23)のように示される。
Figure 0007336710000023
あるいは、t(n) +δt(n) を求めるために解くべき方程式は、式(24)のように示される。
Figure 0007336710000024
式(24)の解は、初期条件をx(0)=1として、式(25)のようになる。
Figure 0007336710000025
式(25)のAは、式(26)のように示される。
Figure 0007336710000026
このとき第一スパイク発火確率密度P(t)が最大値をとる時刻tは、式(27)のようになる。
Figure 0007336710000027
重みがδw(n) ij変化したとき推定される出力スパイクの時刻の変化は、式(28)のように示される。
Figure 0007336710000028
偏微分の近似値として式(29)が得られる。
Figure 0007336710000029
次に、∂t(n) /∂t(n-1) の近似を行う。
上述したのと同様、式(30)に示すように、発火確率密度Rの変化を経由することで、δt(n-1) とt(n) との関係を導くことで偏微分を近似する。
Figure 0007336710000030
図6は、スパイクのタイミングが変化したときの発火確率密度の変化を示す図である。
具体的には、図6は、前段層のニューロン(ニューロンモデル部121)の発火時間t(n-1) がδt(n-1) だけ変化したとき、後段層のニューロン(ニューロンモデル部121)の発火確率密度Rlinear(t)が変化する様子を表している。
図6の横軸は時刻を示し、縦軸は発火確率密度を示す。線L21は、変化する前の発火確率密度Rlinear(t)を示しており、線L21は、変化後の発火確率密度Rlinear(t)+δRlinear(t)を示している。
発火確率密度を線形近似した区分線形関数Rlinear(t)は、n-1層の全てのニューロン(ニューロンモデル部121)からn層のi番目のニューロン(ニューロンモデル部121)へのスパイクを平均化したものであり、式(31)のように変形できる。
Figure 0007336710000031
式(31)の括弧内における第一項(w(n) ijθ(t-t(n-1) )/(t(n-1) -t’))は、第n-1層のj番目のニューロンの発火の寄与によるものである。第二項(Σj’≠j(n) ij’θ(t-t(n-1) j’)/(t(n-1) -t’))は、第n-1層のj番目以外のニューロンの発火の寄与によるものである。発火確率密度Rlinear(t)の変化δRlinear(t)は、Rlinear(t)の傾きαの変化δαと考えることができる。
式(31)の括弧内は傾きαを示しており、前段層のニューロンの発火時間t(n-1) がδt(n-1) だけ変化したときに変化する部分は第n-1層のj番目のニューロンの発火の寄与による第一項のみである。すなわち、式(32)に示すように傾きが変化する。
Figure 0007336710000032
また、式(19)から式(33)が得られる。
Figure 0007336710000033
これにより、偏微分∂t(n) /∂t(n-1) は、式(34)のように近似できる。
Figure 0007336710000034
ここで定数τを式(35)のようにする。
Figure 0007336710000035
τを用いて、式(36)が得られる。
Figure 0007336710000036
(学習則の具体例)
以上より、ニューラルネットワーク装置100における任意の層の重みの近似学習則が導出できるが、以下で、具体例として、第N層の学習則と、第N-1層の学習則について記す。
出力層の学習則は、式(37)のようになる。
Figure 0007336710000037
ここで、η(n)は、式(38)のように示される。
Figure 0007336710000038
η(n) は、学習率を示す。ここで、式(38)に示すように学習率η(n) と発火確率密度の傾きαとの組み合わせを用いて、学習率η(n)を再定義する。式(38)では、発火確率密度の傾きαを定数として扱う。
学習処理部300は、式(37)に基づいて出力層のニューロンモデル部121への入力に対する重みw(N) ijを更新することで、出力層の学習を行わせる。上述したように、重みw(N) ijは、第N-1層のj番目のニューロンモデル部121と、第N層のi番目のニューロンモデル部121との結合の強さを示す。なお、出力層なので、式(37)でn=Nと読み替える。
隠れ層の学習則(重みの更新則)の具体例は、式(39)のようになる。
Figure 0007336710000039
なお、η(n-1)について、式(40)とした。
Figure 0007336710000040
学習処理部300は、式(39)に基づいて、第n層(ここでは隠れ層とする)のニューロンモデル部121への入力に対する重みw(n) ijを更新することで、隠れ層の学習を行わせる。上述したように、重みw(n) ijは、第n-1層のj番目のニューロンモデル部121と、第n層のi番目のニューロンモデル部121との結合の強さを示す。
図7は、ネットワークの重みの更新則の例を示す図である。図7は、実施形態に係る更新則を、第N層、第N-1層のそれぞれについて、SpikePropの場合の例と対比して表形式で示している。
図7の例では、出力層、隠れ層の何れに関しても、実施形態に係るアルゴリズムのほうが、SpikePropの場合よりも簡単な式で示されている。この点で、実施形態に係るアルゴリズムを用いることで、SpikePropの場合よりも、ネットワークの重みの更新処理(すなわち、ニューラルネットワークの学習処理)を比較的簡単なものとすることができる。
実施形態に係るアルゴリズムをソフトウェア的に実行する場合、ネットワークの重みの更新処理が比較的簡単なことで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済む。また、実施形態に係るアルゴリズムをハードウェア的に実行する場合、ネットワークの重みの更新処理が比較的簡単なことで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済むことに加えて、ハードウェアの回路面積が比較的小さくて済む。
(シミュレーション例)
実施形態に係るニューラルネットワーク装置100のシミュレーション例を示す。手書き文字データセットであるMNISTデータセットを対象に、実施形態に係るモデル(式(4)参照)を用いて、実施形態に係る学習アルゴリズム(図7参照)を用いて学習させた。MNISTデータセットは28x28画素の画像である784次元ベクトルと正解のスカラー値とが、訓練用として60000個ずつ与えられ、テスト用として同様の784次元ベクトルが10000個与えられている。
シミュレーションでは、ニューラルネットワークの重みを訓練用データを用いて更新し、テストデータを用いて性能を評価する。なお、テストデータを用いて重みは更新しない。
シミュレーションで用いたネットワークは三層であり、第一層は169個の入力用スパイキングニューロン、第二層と第三層はそれぞれ、500個、10個のスパイキングニューロン(式(4)参照)で構成されている。
なお、入力のスパイキングニューロンは、入力データの28x28画素の画像データを畳み込みによる前処理を行い、13x13の169画素に削減している。これにより、データ量を削減し、効率的なシミュレーションが可能になる。
また、一枚の画像毎に重みを更新する行うオンライン学習を行った。
また、図7に記載しているSpikePropアルゴリズムを用いたシミュレーションも行い、性能の比較を行った。
図8は、シミュレーション結果を示す図である。線L31は、SpipePropアルゴリズムを用いた場合のシミュレーション結果を示している。線L32は上述した近似アルゴリズムを用いた場合の結果(ニューラルネットワーク装置100のシミュレーション結果)を示している。図8の横軸はエポック数を示し、縦軸はテスト時の分類エラー率を示す。
図8を参照すると、エポック数が大きくなるごとに、SpikePropアルゴリズム、近似アルゴリズムの両方において分類エラー率が減少していることがわかる。
分類エラー率は、SpikePropアルゴリズムにおいて、3.8%であり、近似アルゴリズムで4.9%であった。このように、近似アルゴリズムを用いても、分類エラー率はほとんど変わらないことがわかる。
(実施形態に係る出力層の学習(2))
ニューラルネットワークシステム1における他の学習アルゴリズムについて説明する。
損失関数の重みによる微分は、式(41)のようになる。
Figure 0007336710000041
式(41)における右辺の二つの項(∂t(l) /∂w(l) ijおよび∂t(l+1) /∂t(l) )を、膜電位の時間発展方程式を用いて線形近似し、簡易な学習則を導く。
上述したように、w(l) ijは、l-1番目の層のj番目のニューロンから、l番目の層のi番目のニューロンへとつながる結合の強さ(重み)を示す。t(l) は、l番目の層のi番目のニューロンの発火タイミングを示す。
式(41)に示される偏微分「∂t(l) /∂w(l) ij」と「∂t(l+1) /∂t(l) 」とを求めることにより、学習則の導出が可能である。これらはSpikeProp法により、式(42)のように計算できる。
Figure 0007336710000042
但し、式(42)に示される2式のいずれも、右辺の分母の和(Σ)では、対象とする重みと結合している前層のニューロンが後層のニューロンよりも早く発火した場合のみ和をとっている。この分母を平均場的近似することで、学習時に必要なパラメータの個数を大きく減ずることが可能となる。
まず、∂t(l) /∂w(l) ijについて説明する。
図9は、重みの変化に伴って膜電位が変化する様子を表す図である。図9は、重みw(l) ijが、w(l) ij+ΔWへと変化すると、時刻t(l) における膜電位v(l) が、VthからVth+ΔVへと変化する様子を表している。
図9の横軸は時刻を示し、縦軸は膜電位を示す。線L41は、重みw(l) ijが変化しないときの膜電位の時間発展の例を示す。線L42は、重みw(l) ijが変化したときの膜電位の時間発展の例を示す。線L43は、重みw(l) ijが変化したときの膜電位の時間発展の直線近似を示す。線L43によれば、発火時刻の近似解は、図9に示す時刻t ^(l)となる。
前述の膜電位の変位ΔVは、図9に示すように、式(43)のように導ける。
Figure 0007336710000043
すると、l層のj番目のニューロンに初めて発火が伝わった時刻τ(l) と発火の閾値Vthとを用いることで、膜電位v*(l) (t)の時間発展を、時間に対して線形近似することが可能である。この近似の結果、膜電位の時間発展の式は、式(44)のように導出できる。
Figure 0007336710000044
この近似下での発火タイミングt*(l) は、式(45)を解くことにより導出できる。
Figure 0007336710000045
導出される式は、式(46)のようになる。
Figure 0007336710000046
これにより、∂t(l) /∂w(l) ijについて、(t*(l) -t(l) )/ΔWにてΔW→0の極限を取ることで近似が可能となり、式(47)のように偏微分の近似式を導出できる。
Figure 0007336710000047
次に、∂t(l+1) /∂t(l) の近似式を導出する。
図10は、発火タイミングの変化に伴って膜電位が変化する様子を表す図である。図10は、発火タイミングがt(l) からt(l) +ΔTへと変化すると、時刻t(l+1) における膜電位v(l+1) は、VthからVth+ΔVへと変化する様子を表している。
図10の横軸は時刻を示し、縦軸は膜電位を示す。線L51は、膜電位の時間発展の例を示す。線L52は、変化後の膜電位の時間発展を表している。線L53は、膜電位の時間発展の近似の例を示す。線L53によれば、発火時刻の近似解は、図10に示す時刻t ^(l+1)となる。
膜電位の変位ΔVは、図10に示すように、-w(l+1) jkΔTと導ける。すると、先ほどと同様にl+1層のj番目のニューロンに初めて発火が伝わった時刻τ(l+1) と発火閾値Vthとを用いることで、膜電位v*(l+1) (t)の時間発展を時間に対して線形に近似することが可能である。この平均近似の式は、式(48)のように導出できる。
Figure 0007336710000048
この近似下での発火タイミングt*(l+1) は、式(49)を解くことにより導出できる。
Figure 0007336710000049
発火タイミングt*(l+1) は、式(50)のように導出される。
Figure 0007336710000050
これにより、∂t(l+1) /∂t(l) は、(t*(l+1) -t(l+1) )/ΔTにて、ΔT→0の極限を取ることで近似することが可能となり、式(51)のように偏微分の近似式を導出できる。
Figure 0007336710000051
従って、∂t(l) /∂w(l) ijは、式(52)のように近似される。
Figure 0007336710000052
また、∂t(l+1) /∂t(l) は、式(53)のように近似される。
Figure 0007336710000053
導出した∂t(l) /∂w(l) ijの近似式(式(52))および∂t(l+1) /∂t(l) の近似式(式(53))を使うことで、他のニューロンモデルの情報の参照を大きく減じた学習則を導出することが可能である。
学習処理部300は、例えば、上述した式(41)に基づく学習の際に、式(52)および式(53)に示される近似を適用する。式(41)に基づく学習は、出力層の学習、隠れ層の学習の何れにも適用可能である。学習処理部300が、式(52)および式(53)に示される近似を式(41)に適用した学習にて、出力層および隠れ層のうち何れか一方の学習を行わせるようにしてもよいし、両方の学習を行わせるようにしてもよい。
以上のように、ニューロンモデル部121は、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル部121自らの出力を示す。伝達処理部122は、ニューロンモデル部121の間の情報伝達を行う。
ここでいうニューラルネットワークの1回の処理は、ニューラルネットワークが一組の入力データに対して出力データを出力する処理である。例えば、ニューラルネットワークがパターンマッチングを行う場合、1回のマッチング処理がニューラルネットワークの1回の処理の例に該当する。
ニューラルネットワーク装置100によれば、ニューロンモデル部121のリークをなくし、さらにすべてのニューロンモデル部121が一回以下しか発火しない条件の下で、ニューロンモデル部121を、ステップ関数を用いた比較的簡単なモデルとすることができる。
ニューロンモデル部121の処理をソフトウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済む。また、ニューロンモデル部121の処理をハードウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済むことに加えて、ハードウェアの回路面積が比較的小さくて済む。
また、ニューロンモデル部121によれば、リークを含まないモデルである点で、ニューロンが時定数を有しないモデルとなり、入力データの時定数に依存しなくなるため、認識精度が高い。
また、ニューロンモデル部121は、時間方式による点で、頻度方式による場合よりも消費電力が少なくて済む。
また、学習処理部300は、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて、ニューラルネットワーク装置100の出力層および隠れ層のうち少なくとも何れか一方の学習を行わせる。
これにより、ニューラルネットワークシステム1では、出力層および隠れ層のうち少なくとも何れか一方の学習を、近似を用いた比較的簡単な処理にて実行することができる。
学習処理部300による学習のアルゴリズムをソフトウェア的に実行する場合、学習処理が比較的簡単なことで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済む。また、学習処理部300による学習のアルゴリズムをハードウェア的に実行する場合、学習処理が比較的簡単なことで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済むことに加えて、ハードウェアの回路面積が比較的小さくて済む。
なお、発火時刻の重みによる微分は、発火時刻を重みで微分したものを意味する。発火時刻の発火時刻による微分は、あるニューロンモデル部121の発火時刻を、他のニューロンモデル部121の発火時刻で微分したものを意味する。
また、学習処理部300は、発火確率密度の傾きを用いて示される学習則を用いて、前記ニューラルネットワーク装置の出力層の学習を行わせる。
これにより、ニューラルネットワークシステム1では、発火確率密度の変化に基づいて発火時刻の変化を求めることができ、この点で、発火時刻の変化を比較的容易に求めることができる。
次に、図11を参照して、本発明の実施形態の構成について説明する。
図11は、実施形態に係るニューラルネットワーク装置の構成例を示す図である。図11に示すニューラルネットワーク装置10は、ニューロンモデル部11と、伝達処理部12とを備える。
かかる構成にて、ニューロンモデル部11は、漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル部11自らの出力を示す。伝達処理部12は、ニューロンモデル部11の間の情報伝達を行う。
ニューラルネットワーク装置10によれば、ニューロンモデル部11のリークをなくし、さらにすべてのニューロンモデル部11が一回以下しか発火しない条件の下で、ニューロンモデル部11を、ステップ関数を用いた比較的簡単なモデルとすることができる。
ニューロンモデル部11の処理をソフトウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済む。また、ニューロンモデル部11の処理をハードウェア的に実行する場合、ニューロンモデルが比較的簡単なモデルとなることで、処理負荷が比較的軽くて済み、処理時間が比較的短くて済み、消費電力が比較的小さくて済むことに加えて、ハードウェアの回路面積が比較的小さくて済む。
また、ニューロンモデル部11によれば、リークを含まないモデルである点で、ニューロンが時定数を有しないモデルとなり、入力データの時定数に依存しなくなるため、認識精度が高い。
また、ニューロンモデル部11は、時間方式による点で、頻度方式による場合よりも消費電力が少なくて済む。
ニューラルネットワークシステム1の全部または一部、あるいは、ニューラルネットワーク装置10の全部または一部が、専用ハードウェアに実装されていてもよい。
図12は、少なくとも1つの実施形態に係る専用ハードウェアの構成例を示す概略ブロック図である。図12に示す構成で、専用ハードウェア500は、CPU510と、主記憶装置520と、補助記憶装置530と、インタフェース540とを備える。
上述のニューラルネットワークシステム1が専用ハードウェア500に実装される場合、上述した各処理部(ニューラルネットワーク装置100、ニューロンモデル部121、伝達処理部122、予測誤差算出部200、学習処理部300)の動作は、プログラム、もしくは回路の形式で専用ハードウェア500に記憶されている。
ニューラルネットワークシステム1の全部または一部、あるいは、ニューラルネットワーク装置10の全部または一部が、ASIC(application specific integrated circuit)に実装されていてもよい。
図13は、少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。図13に示す構成で、ASIC600は、演算部610と、記憶装置620と、インタフェース630とを備える。また、演算部610と記憶装置620とは統一されていても(すなわち、一体的に構成されていても)よい。
ニューラルネットワークシステム1の全部または一部、あるいは、ニューラルネットワーク装置10の全部または一部が、実装されたASICは、CMOSなどの電子回路により、その演算を実行する。各々の電子回路が、それぞれ独立に層内のニューロンを実装してもよいし、層内の複数のニューロンを実装してもよい。また、同様に、ニューロンを演算する回路が、それぞれ、ある層の演算のみに用いられてもよいし、複数の層の演算に用いられてもよい。
ニューラルネットワーク装置10の全部または一部がASICに実装される場合、そのASICは、特定のものに限定されない。例えば、ニューラルネットワーク装置10の全部または一部が、CPUを有していないASICに実装されていてもよい。また、ニューラルネットワーク装置10の実装に用いられる記憶装置が、チップ上に分散して配置されていてもよい。
なお、ニューラルネットワークシステム1の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
この出願は、2019年3月20日に出願された日本国特願2019-052880を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、ニューラルネットワーク装置、ニューラルネットワークシステム、処理方法および記録媒体に適用してもよい。
1 ニューラルネットワークシステム
10、100 ニューラルネットワーク装置
11、121 ニューロンモデル部(ニューロンモデル手段)
12、122 伝達処理部(伝達処理手段)
111 第1層
112 第2層
113 第3層
114 第4層
200 予測誤差算出部(予測誤差算出手段)
300 学習処理部(学習処理手段)

Claims (5)

  1. 漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル手段自らの出力を示すニューロンモデル手段と、
    前記ニューロンモデル手段の間の情報伝達を行う伝達処理手段と、
    を備えるニューラルネットワークと、
    膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて、前記ニューラルネットワークの出力層および隠れ層のうち少なくとも何れか一方の学習を行わせる学習処理手段と、
    を備えるニューラルネットワークシステム。
  2. 前記学習処理手段は、発火確率密度の傾きを用いて示される学習則を用いて、前記ニューラルネットワークの出力層の学習を行わせる、
    請求項1に記載のニューラルネットワークシステム。
  3. 漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流が、そのスパイキングニューロンの前の層のスパイキングニューロンの発火タイミングで値が変化するステップ関数の重み付け合計で表されるスパイキングニューロンとして構成され、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでニューロンモデル手段自らの出力を示すニューロンモデル手段と、
    前記ニューロンモデル手段の間の情報伝達を行う伝達処理手段と、
    を備えるニューラルネットワーク装置と、
    膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて、前記ニューラルネットワーク装置の出力層および隠れ層のうち少なくとも何れか一方の学習を行わせ、発火確率密度の傾きを用いて示される学習則を用いて、前記出力層の学習を行わせる学習処理手段と、
    を備えるニューラルネットワークシステム。
  4. 漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンであって、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでスパイキングニューロン自らの出力を示すスパイキングニューロンの動作を実行する工程と、
    前記スパイキングニューロン間の情報伝達を行う工程と、
    を実行するニューラルネットワークの、出力層および隠れ層のうち少なくとも何れか一方の学習を、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて行う工程
    を含む学習方法。
  5. ASICに、
    漏れなし積分発火型のスパイキングニューロン、かつ、シナプス後電流がステップ関数を用いて表されるスパイキングニューロンであって、ニューラルネットワークの1回の処理において高々1回発火して発火タイミングでスパイキングニューロン自らの出力を示すスパイキングニューロンの動作を実行する工程と、
    前記スパイキングニューロン間の情報伝達を行う工程と、
    を実行するニューラルネットワークの、出力層および隠れ層のうち少なくとも何れか一方の学習を、膜電位の時間発展の線形近似を用いて得られる、発火時刻の重みによる微分の近似、および、発火時刻の発火時刻による微分の近似のうち少なくとも何れか一方を適用した学習則を用いて行う工程
    を実行させるためのプログラム。
JP2021507387A 2019-03-20 2020-03-18 ニューラルネットワークシステム、学習方法およびプログラム Active JP7336710B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023066737A JP7553893B2 (ja) 2019-03-20 2023-04-14 ニューラルネットワーク装置、処理方法およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019052880 2019-03-20
JP2019052880 2019-03-20
PCT/JP2020/011909 WO2020189704A1 (ja) 2019-03-20 2020-03-18 ニューラルネットワーク装置、ニューラルネットワークシステム、処理方法および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023066737A Division JP7553893B2 (ja) 2019-03-20 2023-04-14 ニューラルネットワーク装置、処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020189704A1 JPWO2020189704A1 (ja) 2020-09-24
JP7336710B2 true JP7336710B2 (ja) 2023-09-01

Family

ID=72520184

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021507387A Active JP7336710B2 (ja) 2019-03-20 2020-03-18 ニューラルネットワークシステム、学習方法およびプログラム
JP2023066737A Active JP7553893B2 (ja) 2019-03-20 2023-04-14 ニューラルネットワーク装置、処理方法およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023066737A Active JP7553893B2 (ja) 2019-03-20 2023-04-14 ニューラルネットワーク装置、処理方法およびプログラム

Country Status (3)

Country Link
US (1) US20220101092A1 (ja)
JP (2) JP7336710B2 (ja)
WO (1) WO2020189704A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020112105A1 (en) * 2018-11-28 2020-06-04 Hewlett-Packard Development Company, L.P. Event-based processing using the output of a deep neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOSTAFA, H,"Supervised Learning Based on Temporal Coding in Spiking Neural Networks",IEEE Transactions on Neural Networks and Learning Systems [online],IEEE,2017年,Vol. 29, No. 7,pp. 3227-3235,[retrieved on 2022.08.04], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/7999227>,<DOI: 10.1109/TNNLS.2017.2726060>

Also Published As

Publication number Publication date
WO2020189704A1 (ja) 2020-09-24
JP7553893B2 (ja) 2024-09-19
JPWO2020189704A1 (ja) 2020-09-24
US20220101092A1 (en) 2022-03-31
JP2023085564A (ja) 2023-06-20

Similar Documents

Publication Publication Date Title
WO2020241356A1 (ja) スパイキングニューラルネットワークシステム、学習処理装置、学習処理方法および記録媒体
Alaloul et al. Data processing using artificial neural networks
CN113449864B (zh) 用于图像数据分类的反馈型脉冲神经网络模型训练方法
Zhao et al. GLSNN: A multi-layer spiking neural network based on global feedback alignment and local STDP plasticity
Marhon et al. Recurrent neural networks
Melo et al. Gaussian-PSO with fuzzy reasoning based on structural learning for training a Neural Network
KR20180048109A (ko) 뉴럴 네트워크 변환 방법 및 이를 이용한 인식 장치
Zhao et al. Backeisnn: A deep spiking neural network with adaptive self-feedback and balanced excitatory–inhibitory neurons
WO2020196066A1 (ja) ニューラルネットワークの学習方法、ニューラルネットワークの生成方法、学習済装置、携帯端末装置、学習処理装置及びコンピュータプログラム
CN112085198A (zh) 基于全局反馈以及局部突触可塑的脉冲神经网络优化方法
JP7553893B2 (ja) ニューラルネットワーク装置、処理方法およびプログラム
Alonso et al. Tightening the biological constraints on gradient-based predictive coding
CN113298231A (zh) 用于脉冲神经网络的图表示时空反向传播算法
Dao Image classification using convolutional neural networks
Terziyska A distributed adaptive neuro-fuzzy network for chaotic time series prediction
KR20200108173A (ko) 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치
CN113887570B (zh) 一种基于神经网络的太阳耀斑二分类预测方法
Tsai et al. Quantum NN vs. NN in signal recognition
Stuck et al. Burstprop for learning in spiking neuromorphic hardware
CN111582470A (zh) 基于stdp的自适应非监督学习图像识别方法及系统
KR20210146002A (ko) 다층 스파이킹 뉴럴 네트워크의 학습 방법 및 장치
Lv et al. An improved backpropagation algorithm using absolute error function
Wei et al. The Influence of Temporal Dependency on Training Algorithms for Spiking Neural Networks
Guergiuev et al. Biologically feasible deep learning with segregated dendrites
Kar et al. Artificial neural networks and learning techniques

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230414

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: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230803

R150 Certificate of patent or registration of utility model

Ref document number: 7336710

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150