IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特許7592567シナプス回路およびニューラルネットワーク装置
<>
  • 特許-シナプス回路およびニューラルネットワーク装置 図1
  • 特許-シナプス回路およびニューラルネットワーク装置 図2
  • 特許-シナプス回路およびニューラルネットワーク装置 図3
  • 特許-シナプス回路およびニューラルネットワーク装置 図4
  • 特許-シナプス回路およびニューラルネットワーク装置 図5
  • 特許-シナプス回路およびニューラルネットワーク装置 図6
  • 特許-シナプス回路およびニューラルネットワーク装置 図7
  • 特許-シナプス回路およびニューラルネットワーク装置 図8
  • 特許-シナプス回路およびニューラルネットワーク装置 図9
  • 特許-シナプス回路およびニューラルネットワーク装置 図10
  • 特許-シナプス回路およびニューラルネットワーク装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-22
(45)【発行日】2024-12-02
(54)【発明の名称】シナプス回路およびニューラルネットワーク装置
(51)【国際特許分類】
   G06N 3/063 20230101AFI20241125BHJP
【FI】
G06N3/063
【請求項の数】 9
(21)【出願番号】P 2021134794
(22)【出願日】2021-08-20
(65)【公開番号】P2023028853
(43)【公開日】2023-03-03
【審査請求日】2023-03-10
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】野村 久美子
(72)【発明者】
【氏名】西 義史
(72)【発明者】
【氏名】丸亀 孝生
(72)【発明者】
【氏名】水島 公一
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2021-033415(JP,A)
【文献】国際公開第2020/196066(WO,A1)
【文献】特表2015-501972(JP,A)
【文献】米国特許出願公開第2019/0236443(US,A1)
【文献】西 義史ほか,脳型ハードウエアにおけるオンライン学習に向けたシナプス重み更新規則の検討,第67回応用物理学会春季学術講演会[講演予稿集],日本,公益社団法人応用物理学会,2020年02月28日,18-021
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
(57)【特許請求の範囲】
【請求項1】
第1値または第2値を表すシナプス重みを記憶する重み記憶回路と、
前段ニューロン回路から出力された発火信号を受け取り、受け取った前記発火信号に対して前記重み記憶回路により記憶された前記シナプス重みの影響を加えた出力信号を後段ニューロン回路に供給する伝達回路と、
を備え、
前記後段ニューロン回路は、前記出力信号を受け取ったことに応じて変化する内部電位を保持し、
前記伝達回路は、
前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第1値である場合、前記出力信号を前記後段ニューロン回路に供給し、
前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記出力信号を前記後段ニューロン回路に与えない、または、前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記シナプス重みが前記第1値である場合において前記出力信号を前記後段ニューロン回路に供給するタイミングよりも遅いタイミングで前記出力信号を前記後段ニューロン回路に供給し、
前記重み記憶回路は、
前記前段ニューロン回路から前記発火信号を受け取った場合に、前記後段ニューロン回路により保持される前記内部電位が設定電位以上か否かを比較し、前記内部電位が前記設定電位以上か否かの比較結果に応じて予め設定された第1確率で前記シナプス重みを前記第1値または前記第2値に遷移させ、
前記前段ニューロン回路から前記発火信号を受け取ったかどうかに関わらず、予め設定された第2確率で、前記シナプス重みを前記第1値に遷移させる
シナプス回路。
【請求項2】
前記重み記憶回路は、予め設定された時間毎に、前記第2確率で前記シナプス重みを前記第1値に遷移させる
請求項1に記載のシナプス回路。
【請求項3】
前記後段ニューロン回路は、前記出力信号を受け取ったことに応じて前記内部電位を増加させ、
前記前段ニューロン回路から前記発火信号を受け取ったことに応じて、前記重み記憶回路は、
前記内部電位が前記設定電位以上であり、且つ、前記シナプス重みが前記第2値である場合、前記第1確率で前記シナプス重みを前記第1値に変更し、
前記内部電位が前記設定電位より小さく、且つ、前記シナプス重みが前記第1値である場合、前記第1確率で前記シナプス重みを前記第2値に変更する
請求項1または2に記載のシナプス回路。
【請求項4】
前記前段ニューロン回路は、発火開始タイミングにおいてH論理となり、前記発火開始タイミングから一定時間経過後においてL論理となる前記発火信号を出力し、
前記重み記憶回路は、
前記発火信号がL論理からH論理に変化した第1タイミングにおいて、前記後段ニューロン回路の前記内部電位と前記設定電位とを比較する
請求項1からの何れか1項に記載のシナプス回路。
【請求項5】
前記重み記憶回路は、前記第1タイミングの直後に前記発火信号がH論理からL論理に変化した第2タイミングにおいて、前記比較結果に基づき前記第1確率で前記シナプス重みを前記第1値または前記第2値に遷移させる
請求項に記載のシナプス回路。
【請求項6】
前記発火信号がL論理の期間において、前記重み記憶回路は、前記第2確率で前記シナプス重みを前記第1値に遷移させる
請求項に記載のシナプス回路。
【請求項7】
前記第2確率は、前記第1確率より低い
請求項1からの何れか1項に記載のシナプス回路。
【請求項8】
それぞれがニューラルネットワークにおけるニューロンとして機能する複数のニューロン回路と、
それぞれが前記ニューラルネットワークにおけるシナプスとして機能する複数のシナプス回路と、
を備え、
前記複数のシナプス回路のそれぞれは、
第1値または第2値を表すシナプス重みを記憶する重み記憶回路と、
前段ニューロン回路から出力された発火信号を受け取り、受け取った前記発火信号に対して前記重み記憶回路により記憶された前記シナプス重みの影響を加えた出力信号を後段ニューロン回路に供給する伝達回路と、
を有し、
前記後段ニューロン回路は、前記出力信号を受け取ったことに応じて変化する内部電位を保持し、
前記伝達回路は、
前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第1値である場合、前記出力信号を前記後段ニューロン回路に供給し、
前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記出力信号を前記後段ニューロン回路に与えない、または、前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記シナプス重みが前記第1値である場合において前記出力信号を前記後段ニューロン回路に供給するタイミングよりも遅いタイミングで前記出力信号を前記後段ニューロン回路に供給し、
前記重み記憶回路は、
前記前段ニューロン回路から前記発火信号を受け取った場合に、前記後段ニューロン回路により保持される前記内部電位が設定電位以上か否かを比較し、前記内部電位が前記設定電位以上か否かの比較結果に応じて予め設定された第1確率で前記シナプス重みを前記第1値または前記第2値に遷移させ、
前記前段ニューロン回路から前記発火信号を受け取ったかどうかに関わらず、予め設定された第2確率で、前記シナプス重みを前記第1値に遷移させる
ニューラルネットワーク装置。
【請求項9】
前記複数のシナプス回路のうちの少なくとも1つは、前記複数のニューロン回路のうちの、前記前段ニューロン回路へと前記出力信号を供給するシナプス回路よりも前段に配置されたニューロン回路へと前記出力信号を供給する
請求項に記載のニューラルネットワーク装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、シナプス回路およびニューラルネットワーク装置に関する。
【背景技術】
【0002】
近年、ハードウェア化したニューラルネットワークを用いて、脳型プロセッサを実現する技術が提案されている。脳型プロセッサは、例えばニューロン回路およびシナプス回路を有する。シナプス回路は、シナプス重みを記憶し、前段のニューロンから受け取った信号に対してシナプス重みの影響を加えた信号を、後段のニューロンへと供給する。ニューロン回路は、内部電位を保持する。ニューロン回路は、前段に接続されたシナプス回路から出力された信号に応じて、内部電位を増減させる。ニューロン回路は、内部電位の大きさに応じて発火信号を出力する。
【0003】
シナプス重みは、所定の学習方法により更新される。例えば、脳型プロセッサの学習方法として、前段のニューロン回路の発火時において、後段のニューロン回路が保持している内部電位に応じてシナプス重みを更新する方法が知られている。
【0004】
また、脳型プロセッサは、回路の簡易化等の観点から、シナプス重みを2値で取り扱うことが好ましい。2値のシナプス重みを取り扱う場合、脳型プロセッサは、例えば、後段のニューロン回路が保持している内部電位に応じて、確率的にシナプス重みを更新する。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2019/0236443号公報
【非特許文献】
【0006】
【文献】Joseph M. Brader et al., “Learning real-world stimuli in a neural network with spike-driven synaptic dynamics ”, Neural computation, Volume 19, Massachusetts Institute of Technology, P2881-2912, November 2007
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、シナプス重みを精度良く学習することができるシナプス回路およびニューラルネットワーク装置を提供することにある。
【課題を解決するための手段】
【0008】
実施形態に係るシナプス回路は、重み記憶回路と、伝達回路と、を備える。前記重み記憶回路は、第1値または第2値を表すシナプス重みを記憶する。前記伝達回路は、前段ニューロン回路から出力された発火信号を受け取り、受け取った前記発火信号に対して前記重み記憶回路により記憶された前記シナプス重みの影響を加えた出力信号を後段ニューロン回路に供給する。前記後段ニューロン回路は、前記出力信号を受け取ったことに応じて変化する内部電位を保持する。前記伝達回路は、前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第1値である場合、前記出力信号を前記後段ニューロン回路に供給する。前記伝達回路は、前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記出力信号を前記後段ニューロン回路に与えない、または、前記前段ニューロン回路から前記発火信号を受け取り、且つ、前記シナプス重みが前記第2値である場合、前記シナプス重みが前記第1値である場合において前記出力信号を前記後段ニューロン回路に供給するタイミングよりも遅いタイミングで前記出力信号を前記後段ニューロン回路に供給する。前記重み記憶回路は、前記前段ニューロン回路から前記発火信号を受け取った場合に、前記後段ニューロン回路により保持される前記内部電位が設定電位以上か否かを比較し、前記内部電位が前記設定電位以上か否かの比較結果に応じて予め設定された第1確率で前記シナプス重みを前記第1値または前記第2値に遷移させる。前記重み記憶回路は、前記前段ニューロン回路から前記発火信号を受け取ったかどうかに関わらず、予め設定された第2確率で、前記シナプス重みを前記第1値に遷移させる。
【図面の簡単な説明】
【0009】
図1】実施形態に係るニューラルネットワーク装置の構成図。
図2】複数のシナプス回路の接続関係を示す図。
図3】前段ニューロン回路、後段ニューロン回路およびシナプス回路の構成図。
図4】重み記憶回路の構成図。
図5】学習指示回路に関する信号のタイミングチャート。
図6】第1設定信号、第2設定信号およびシナプス重みのタイミングチャート。
図7】重み制御回路の構成図。
図8】重み制御回路の信号の第1例のタイミングチャート。
図9】重み制御回路の信号の第2例のタイミングチャート。
図10】実施形態に係るリザーバーコンピューティング装置の構成図。
図11】学習回数に対する精度を示す図。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら実施形態に係るニューラルネットワーク装置10について説明する。
【0011】
シナプス重みを2値で取り扱うニューラルネットワークを実現する脳型プロセッサは、高い値(例えば1)のシナプス重みを本来記憶していなければならないシナプスに対して、たまたま前段のニューロンが発火しなかったために、シナプス重みを低い値(例えば0)に変更してしまう、といった誤学習が発生することがある。シナプス重みを2値で取り扱う脳型プロセッサは、このような誤学習が発生すると、以後、後段のニューロンが保持している内部電位が変化しにくくなるので、そのシナプス重みを正しい高い値(例えば1)に復帰させることが難しい。このため、シナプス重みを2値で取り扱う脳型プロセッサは、このような誤学習によるシナプス重みの精度悪化を解消する必要がある。このような課題に対して、実施形態に係るニューラルネットワーク装置10は、ハードウェアにより実現され、シナプス重みを精度良く学習することができる。この結果、実施形態に係るニューラルネットワーク装置10は、精度の良い推論を実行することができる。
【0012】
図1は、実施形態に係るニューラルネットワーク装置10の構成の一例を示す図である。ニューラルネットワーク装置10は、一例として、N段(Nは2以上の整数)のレイヤ12と、それぞれがニューラルネットワークにおけるニューロンとして機能する複数のシナプス回路20とを備える。また、N段のレイヤ12のそれぞれは、それぞれがニューラルネットワークにおけるニューロンとして機能する複数のニューロン回路14を含む。
【0013】
複数のニューロン回路14のそれぞれは、前段のレイヤ12から出力された複数の発火信号のそれぞれを取得する。複数の発火信号のそれぞれは、複数のシナプス回路20のうちの何れか1つのシナプス回路20を介して伝達される。
【0014】
N段のレイヤ12のうち1段目のレイヤ12は、外部の装置または入力レイヤから複数の信号を取得する。そして、複数のニューロン回路14のそれぞれは、取得した複数の信号に対して積算処理をし、積算処理をして得られた値に対して活性化関数処理を行い、発火信号を出力する。複数のニューロン回路14のそれぞれは、積算処理および活性化関数処理を、例えばアナログ回路により実行する。また、本実施形態において、複数のニューロン回路14のそれぞれは、取得した複数の信号に対する積算処理の結果として、内部電位Vを保持する。
【0015】
複数のシナプス回路20のそれぞれは、シナプス重みを記憶する。シナプス重みは、第1値または第2値の2値を表す。本実施形態において、第1値は、2値のうちの高い方の値を表し、例えばH論理または1である。本実施形態において、第2値は、2値のうちの低い方の値を表し、例えばL論理または0である。複数のシナプス回路20のそれぞれが記憶するシナプス重みは、学習処理により設定される。
【0016】
例えば、n段目のレイヤ12とn+1段目のレイヤ12とを接続する複数のシナプス回路20のそれぞれは、n段目のレイヤ12に含まれる複数のニューロン回路14のうちの1つのニューロン回路14から出力された発火信号を受け取る。n段目のレイヤ12とn+1段目のレイヤ12とを接続する複数のシナプス回路20のそれぞれは、受け取った発火信号に対して、記憶しているシナプス重みの影響を加えた出力信号を生成し、生成した出力信号をn+1段目のレイヤ12に含まれる複数のニューロン回路14のうちの1つのニューロン回路14に供給する。
【0017】
このようなニューラルネットワーク装置10は、1段目のレイヤ12が外部装置または入力レイヤから1または複数の信号を受け取る。そして、ニューラルネットワーク装置10は、受け取った1または複数の信号に対してニューラルネットワークによる演算を実行した結果を表す1または複数の信号を、N段目のレイヤ12から出力する。
【0018】
なお、ニューラルネットワーク装置10は、図1に示すような構成に限らず、リザーバー等のリカレントニューラルネットワークに従った構成であってもよい。この場合、複数のシナプス回路20のうちの少なくとも1つは、出力信号をフィードバックしてニューロン回路14に供給する。
【0019】
図2は、複数のシナプス回路20の接続関係を示す図である。シナプス回路20は、前段のレイヤ12に含まれる何れかのニューロン回路14である前段ニューロン回路22から、発火信号を受け取る。シナプス回路20は、受け取った発火信号に対して、記憶しているシナプス重みの影響を加えた出力信号を出力する。そして、シナプス回路20は、出力信号を対応する後段ニューロン回路24に与える。
【0020】
図3は、前段ニューロン回路22、後段ニューロン回路24およびシナプス回路20の構成を示す図である。複数のニューロン回路14のそれぞれは、出力信号を受け取ったことに応じて変化する内部電位Vを保持する。そして、複数のニューロン回路14のそれぞれは、保持している内部電位Vに応じて発火信号を出力する。
【0021】
例えば、前段ニューロン回路22および後段ニューロン回路24のそれぞれは、電位保持回路32と、発火回路34とを含む。
【0022】
電位保持回路32は、複数のシナプス回路20から複数の出力信号を受け取る。電位保持回路32は、何れかの出力信号を受け取った場合に、内部電位Vを所定量増加させる。また、電位保持回路32は、出力信号を受け取っていない期間において、時間経過に従って内部電位Vを減少させてもよい。電位保持回路32は、例えば、キャパシタを有してもよい。この場合、電位保持回路32は、出力信号を受け取った場合、所定量の電荷をキャパシタにチャージする。また、電位保持回路32は、出力信号を受け取っていない期間においてキャパシタに保持された電荷を時間経過に従ってディスチャージする。これにより、電位保持回路32は、何れかの出力信号を受け取った場合に、内部電位Vを所定量増加させ、出力信号を受け取っていない期間において、時間経過に従って内部電位Vを減少させることができる。ニューロン回路14が保持している内部電位Vについては、例えば、非特許文献1に、postsynaptic neuron Vとして記載されている。
【0023】
発火回路34は、電位保持回路32により保持される内部電位Vが予め設定された閾値を超えた場合に、発火信号を出力する。本実施形態において、発火回路34は、発火開始タイミングにおいてH論理となり、発火開始タイミングから一定時間経過後においてL論理となる発火信号を出力する。すなわち、本実施形態において、発火回路34は、内部電位Vが予め設定された閾値より大きくなった発火開始タイミングにおいて、発火信号をL論理からH論理に変化させる。そして、発火回路34は、発火開始タイミングから一定時間経過後に、発火信号をH論理からL論理に変化させる。なお、発火回路34は、内部電位Vが予め設定された閾値より大きくなった場合、確率的に、発火信号を出力してもよい。
【0024】
シナプス回路20は、重み記憶回路36と、伝達回路38とを有する。
【0025】
重み記憶回路36は、第1値または第2値を表すシナプス重みを記憶する。さらに、重み記憶回路36は、前段ニューロン回路22から発火信号を受け取った場合に、後段ニューロン回路24により保持される内部電位Vが設定電位VSET以上か否かを比較する。そして、重み記憶回路36は、内部電位Vが設定電位VSET以上か否かの比較結果に応じて予め設定された第1確率でシナプス重みを第1値または第2値に遷移させる。
【0026】
例えば、前段ニューロン回路22から発火信号を受け取ったことに応じて、重み記憶回路36は、内部電位Vが設定電位VSET以上であり、且つ、記憶しているシナプス重みが第2値である場合、第1確率で、シナプス重みを第1値に変更する。より詳しくは、第1確率がA(Aは、0より大きく1より小さい値)であるとする。この場合、発火信号を受け取ったことに応じて、重み記憶回路36は、内部電位Vが設定電位VSET以上であり、且つ、記憶しているシナプス重みが第2値である場合、Aの確率でシナプス重みを第1値に変更し、(1-A)の確率でシナプス重みを第2値で維持する。なお、重み記憶回路36は、内部電位Vが設定電位VSET以上であり、且つ、シナプス重みが第1値である場合には、シナプス重みを第1値で維持する。
【0027】
また、前段ニューロン回路22から発火信号を受け取ったことに応じて、重み記憶回路36は、内部電位Vが設定電位VSETより小さく、且つ、記憶しているシナプス重みが第1値である場合、第1確率で、シナプス重みを第2値で変更する。より詳しくは、発火信号を受け取ったことに応じて、重み記憶回路36は、内部電位Vが設定電位VSETより小さく、且つ、記憶しているシナプス重みが第1値である場合、Aの確率でシナプス重みを第2値に変更し、(1-A)の確率でシナプス重みを第1値で維持する。なお、重み記憶回路36は、内部電位Vが設定電位VSETより小さく、且つ、シナプス重みが第2値である場合、シナプス重みを第2値で維持する。
【0028】
また、発火信号は、L論理またはH論理の2値で表される信号であるとする。そして、発火信号は、前段ニューロン回路22の発火開始タイミングにおいてH論理となり、発火開始タイミングから一定時間経過後においてL論理となる、とする。この場合、重み記憶回路36は、発火信号がL論理からH論理に変化した第1タイミングにおいて、後段ニューロン回路24の内部電位Vと設定電位VSETとを比較する。そして、重み記憶回路36は、第1タイミングの直後に発火信号がH論理からL論理に変化した第2タイミングにおいて、比較結果に基づき、第1確率でシナプス重みを第1値または第2値に遷移させる。
【0029】
このような重み記憶回路36は、前段ニューロン回路22からの発火信号の出力と、後段ニューロン回路24に保持される内部電位Vとの間の相関性が強い場合には、前段ニューロン回路22と後段ニューロン回路24との相互関係を強くするようにシナプス重みを学習させることができる。また、このような重み記憶回路36は、前段ニューロン回路22からの発火信号の出力と、後段ニューロン回路24に保持される内部電位Vとの間の相関性が弱い場合には、前段ニューロン回路22と後段ニューロン回路24との相互関係を弱くするようにシナプス重みを学習させることができる。
【0030】
さらに、重み記憶回路36は、前段ニューロン回路22から発火信号を受け取ったか否かに関わらず、予め設定された第2確率で、シナプス重みを第1値に遷移させる。なお、第2確率は、第1確率よりも小さい値である。例えば、重み記憶回路36は、予め設定された時間毎に、第2確率で、シナプス重みを第1値に遷移させる。なお、第2確率は、第1確率よりも低い。第2確率は、一例として、0.0001程度の非常に微小な値である。
【0031】
例えば、重み記憶回路36は、前段ニューロン回路22から出力される発火信号とは無相関に、予め設定された時間毎に、第2確率でシナプス重みを第1値に遷移させる。このような重み記憶回路36は、第1値のシナプス重みを本来記憶していなければならない場合において、たまたま前段ニューロン回路22から発火信号が出力されなかったために、シナプス重みを第2値に変更してしまう、といった誤学習をしても、発火信号の出力に関わらず、第2確率で、シナプス重みを正しい値である第1値に復帰させることができる。
【0032】
なお、発火信号が、前段ニューロン回路22の発火開始タイミングにおいてH論理となり、発火開始タイミングから一定時間経過後においてL論理となる場合、重み記憶回路36は、発火信号がL論理の期間において、第2確率でシナプス重みを第1値に遷移させてもよい。これにより、重み記憶回路36は、前段ニューロン回路22から発火信号が出力されたことに応じたシナプス重みの学習処理と時間的に干渉せずに、第2確率でシナプス重みを第1値に遷移させることができる。
【0033】
伝達回路38は、前段ニューロン回路22から出力された発火信号を受け取り、受け取った発火信号に対して重み記憶回路36により記憶されたシナプス重みの影響を加えた出力信号を後段ニューロン回路24に供給する。
【0034】
例えば、伝達回路38は、前段ニューロン回路22から発火信号を受け取り、且つ、重み記憶回路36により記憶されているシナプス重みが第1値である場合、出力信号を後段ニューロン回路24に供給する。また、例えば、伝達回路38は、前段ニューロン回路22から発火信号を受け取り、且つ、重み記憶回路36により記憶されているシナプス重みが第2値である場合、出力信号を後段ニューロン回路24に与えない。これに代えて、例えば、伝達回路38は、前段ニューロン回路22から発火信号を受け取り、且つ、重み記憶回路36により記憶されているシナプス重みが第2値である場合、シナプス重みが第1値である場合において出力信号を後段ニューロン回路24に供給するタイミングよりも遅いタイミングで出力信号を後段ニューロン回路24に供給する。これにより、伝達回路38は、受け取った発火信号に対して重み記憶回路36により記憶されたシナプス重みの影響を加えた出力信号を後段ニューロン回路24に供給することができる。
【0035】
このような、伝達回路38は、ニューラルネットワークにおける発火信号にシナプス重みを乗算する乗算処理をアナログ的に実行することができる。
【0036】
図4は、重み記憶回路36の構成を示す図である。重み記憶回路36は、例えば、学習指示回路42と、重み制御回路44と、ラッチ回路46とを含む。
【0037】
学習指示回路42は、設定電位発生回路50と、コンパレータ52と、指示回路内第1AND回路56と、指示回路内第2AND回路58とを含む。
【0038】
設定電位発生回路50は、設定電位VSETを発生する。コンパレータ52は、後段ニューロン回路24により保持される内部電位Vと、設定電位発生回路50から発生された設定電位VSETとを比較する。コンパレータ52は、内部電位Vが設定電位VSET以上である場合には、H論理となり、内部電位Vが設定電位VSETより小さい場合に、L論理となる比較信号を出力する。指示回路内反転回路54は、コンパレータ52から出力された比較信号を論理反転した信号を出力する。
【0039】
指示回路内第1AND回路56は、コンパレータ52から出力された比較信号と発火信号とをAND演算する。指示回路内第1AND回路56は、比較信号と発火信号とをAND演算した結果を表す信号を、強化信号として出力する。
【0040】
指示回路内第2AND回路58は、比較信号を指示回路内反転回路54により論理反転した信号と、発火信号とをAND演算する。指示回路内第1AND回路56は、比較信号を論理反転した信号と発火信号とをAND演算した結果を表す信号を、抑制信号として出力する。
【0041】
このような学習指示回路42は、発火信号がH論理であって且つ内部電位Vが設定電位VSET以上である期間においてH論理となり、それ以外の期間においてL論理となる強化信号を出力することができる。また、学習指示回路42は、発火信号がH論理であって且つ内部電位Vが設定電位VSETより小さい期間においてH論理、それ以外の場合にL論理となる抑制信号を出力することができる。
【0042】
重み制御回路44は、強化信号、抑制信号および発火信号を受け取る。そして、重み制御回路44は、第1設定信号および第2設定信号を出力する。
【0043】
第1設定信号は、記憶しているシナプス重みを、第1値に遷移させるための信号である。本実施形態においては、第1設定信号は、L論理からH論理に変化した場合に、シナプス重みを第1値に遷移させることを表す。第2設定信号は、記憶しているシナプス重みを、第2値に遷移させるための信号である。本実施形態においては、第2設定信号は、L論理からH論理に変化した場合に、シナプス重みを第2値に遷移させることを表す。
【0044】
なお、重み制御回路44の構成については図7を参照して後述する。
【0045】
ラッチ回路46は、シナプス重みを記憶する。そして、ラッチ回路46は、記憶しているシナプス重みの値を表す信号を伝達回路38へと出力する。ラッチ回路46は、シナプス重みとして、第1値または第2値を記憶する。本実施形態において、ラッチ回路46は、第1値としてH論理を記憶し、第2値としてL論理を記憶する。
【0046】
また、ラッチ回路46は、第2値(L論理)を記憶している状態において、第1設定信号がL論理からH論理に変化した場合、記憶している値を第1値(H論理)に遷移させる。なお、ラッチ回路46は、第1値(H論理)を記憶している状態において、第1設定信号がL論理からH論理に変化した場合、記憶している値を第1値(H論理)で維持する。
【0047】
また、ラッチ回路46は、第1値(H論理)を記憶している状態において、第2設定信号がL論理からH論理に変化した場合、記憶している値を第2値(L論理)に遷移させる。なお、ラッチ回路46は、第2値(L論理)を記憶している状態において、第2設定信号がL論理からH論理に変化した場合、記憶している値を第2値(L論理)で維持する。
【0048】
例えば、ラッチ回路46は、ラッチ内第1NOR回路62と、ラッチ内第2NOR回路64とを含む。ラッチ内第1NOR回路62は、第1設定信号およびラッチ内第2NOR回路64から出力された信号を受け取り、第1設定信号とラッチ内第2NOR回路64から出力された信号とをNOR演算した信号を出力する。ラッチ内第2NOR回路64は、第2設定信号およびラッチ内第1NOR回路62から出力された信号を受け取り、第2設定信号とラッチ内第1NOR回路62から出力された信号とをNOR演算した信号を出力する。そして、この場合、ラッチ回路46は、ラッチ内第2NOR回路64から出力された信号を、シナプス重みとして出力する。
【0049】
例えば、ラッチ回路46は、このような2つのNOR回路を含むSRラッチ回路により構成される。なお、ラッチ回路46は、L論理またはH論理を記憶し、第1設定信号および第2設定信号により記憶している値を切り替えることができる回路であれば、どのような構成であってもよい。例えば、ラッチ回路46は、例えば2つのNAND回路を含むSRラッチ回路であってもよいし、2つのインバータと2つの抵抗とを含むSRラッチ回路であってもよい。
【0050】
図5は、学習指示回路42に関する信号のタイミングチャートである。
【0051】
図5の時刻t11から時刻t12に示すように、内部電位Vが設定電位VSETより小さい期間において、発火信号が、L論理からH論理に変化し、一定時間経過後において、H論理からL論理に変化したとする。この場合、抑制信号は、発火信号に同期して、時刻t11においてL論理からH論理に変化し、時刻t12においてH論理からL論理に変化する。なお、内部電位Vが設定電位VSETより小さい期間において、強化信号は、発火信号に関わらず、L論理となる。
【0052】
また、図5の時刻t13から時刻t14に示すように、内部電位Vが設定電位VSET以上の期間において、発火信号が、L論理からH論理に変化し、一定時間経過後において、H論理からL論理に変化したとする。この場合、強化信号は、発火信号に同期して、時刻t13においてL論理からH論理に変化し、時刻t14においてH論理からL論理に変化する。なお、内部電位Vが設定電位VSET以上である期間において、抑制信号は、発火信号に関わらず、L論理となる。
【0053】
このように、学習指示回路42は、発火信号がH論理の期間において、内部電位Vが設定電位VSET以上である場合には、強化信号をH論理とすることができる。また、学習指示回路42は、発火信号がH論理の期間において、内部電位Vが設定電位VSETより小さい場合には、抑制信号をH論理とすることができる。
【0054】
図6は、発火信号、第1設定信号、第2設定信号およびシナプス重みのタイミングチャートである。
【0055】
第1設定信号は、ラッチ回路46に保持されているシナプス重みを、第1値(例えばH論理)に遷移させる場合に、L論理からH論理へと変化する。第2設定信号は、ラッチ回路46に保持されているシナプス重みを、第2値(例えばL論理)に遷移させる場合に、L論理からH論理へと変化する。第1設定信号および第2設定信号のそれぞれは、発火信号の立下りエッジ(H論理からL論理へと変化するタイミング)において、L論理からH論理へと変化する。そして、第1設定信号および第2設定信号のそれぞれは、L論理からH論理へと変化した後、次に発火信号の立下りエッジにおいて、H論理からL論理へと変化する。
【0056】
ラッチ回路46は、時刻t21に示すように、シナプス重みとしてL論理を保持している状態において第1設定信号がL論理からH論理に変化した場合、保持しているシナプス重みをL論理からH論理へと変化させる。ラッチ回路46は、時刻t22に示すように、シナプス重みとしてH論理を保持している状態において第1設定信号がL論理からH論理に変化した場合、保持しているシナプス重みをH論理で維持する。
【0057】
また、ラッチ回路46は、時刻t23に示すように、シナプス重みとしてH論理を保持している状態において第2設定信号がL論理からH論理に変化した場合、保持しているシナプス重みをH論理からL論理へと変化させる。ラッチ回路46は、時刻t24に示すように、シナプス重みとしてL論理を保持している状態において第2設定信号がL論理からH論理に変化した場合、保持しているシナプス重みをL論理で維持する。
【0058】
このように、ラッチ回路46は、第1値または第2値で表されるシナプス重みを保持するとともに、第1設定信号または第2設定信号を受け取った場合に、シナプス重みを第1値または第2値に遷移させることができる。
【0059】
図7は、重み制御回路44の構成を示す図である。
【0060】
重み制御回路44は、第1確率発生器72と、第1AND回路74と、第2AND回路76と、タイマ78と、第2確率発生器80と、第3AND回路84と、第1反転回路85と、第1OR回路86と、第2反転回路90と、第1Dフリップフロップ92と、第2Dフリップフロップ94とを含む。
【0061】
第1確率発生器72は、予め設定された第1確率でH論理となる第1確率信号を発生する。例えば、第1確率発生器72は、基準周期毎に乱数を発生し、発生した乱数が第1確率で出現する予め定められた値の範囲となったか否かを判断する。そして、第1確率発生器72は、発生した乱数が予め定められた値の範囲になっている期間においてH論理となり、他の期間においてL論理となる第1確率信号を発生する。
【0062】
第1AND回路74は、学習指示回路42から受け取った強化信号と、第1確率発生器72から出力された第1確率信号とをAND演算した信号を出力する。これにより、第1AND回路74は、強化信号を第1確率で出力することができる。
【0063】
第2AND回路76は、学習指示回路42から受け取った抑制信号と、第1確率発生器72から出力された第1確率信号と、第1反転回路85から出力された信号とをAND演算した信号を出力する。これにより、第2AND回路76は、第1反転回路85から出力された信号がH論理であることを条件として、抑制信号を第1確率で出力することができる。
【0064】
タイマ78は、予め設定された時間毎にH論理となり、H論理となってから所定時間後にL論理となるタイマ信号を出力する。
【0065】
第2確率発生器80は、予め設定された第2確率でH論理となる第2確率信号を発生する。例えば、第2確率発生器80は、基準周期毎に乱数を発生し、発生した乱数が第2確率で出現する予め定められた値の範囲となったか否かを判断する。そして、第2確率発生器80は、発生した乱数が予め定められた値の範囲となっている期間においてH論理となり、他の期間においてL論理となる第2確率信号を発生する。
【0066】
第3AND回路84は、タイマ78から出力されたタイマ信号と、第2確率発生器80から出力された第2確率信号とをAND演算した信号を出力する。これにより、第3AND回路84は、予め定められる時間毎に発生されるタイマ信号を第2確率で出力することができる。
【0067】
第1反転回路85は、第3AND回路84から出力された信号を反転して、第2AND回路76に供給する。これにより、第1反転回路85は、第2確率で出力されるタイマ信号がH論理ではないことを条件として、第1確率の抑制信号を第2AND回路76から出力させることができる。すなわち、第1反転回路85は、第2確率で出力されるタイマ信号がH論理である場合に、抑制信号がH論理とならないようにすることができる。第1OR回路86は、第1AND回路74から出力された信号と、第3AND回路84から出力された信号とをOR演算した信号を出力する。これにより、第1OR回路86は、第1確率で出力された強化信号がH論理である場合、または、第2確率で出力されたタイマ信号がH論理である場合、H論理の信号を出力することができる。第2反転回路90は、発火信号を反転した信号を出力する。
【0068】
第1Dフリップフロップ92は、第1OR回路86から出力された信号の値を、第2反転回路90から出力された信号がL論理からH論理に変化したタイミングで取り込み、内部に記憶する。これにより、第1Dフリップフロップ92は、強化信号が第1確率で出力された場合、または、タイマ信号が第2確率で出力された場合、H論理を取り込んで記憶することができる。また、第1Dフリップフロップ92は、第1確率の強化信号が出力されなかった場合、且つ、第2確率のタイマ信号が出力されなかった場合、L論理を取り込んで記憶することができる。なお、第1Dフリップフロップ92は、発火信号がH論理からL論理に変化するタイミングにおいて、値を取り込む。
【0069】
第2Dフリップフロップ94は、第2AND回路76から出力された信号の値を、第2反転回路90から出力された信号がL論理からH論理に変化したタイミングで取り込み、内部に記憶する。これにより、第2Dフリップフロップ94は、抑制信号が第1確率で出力された場合、第2確率のタイマ信号が出力されていないことを条件として、H論理を取り込んで記憶することができる。また、第2Dフリップフロップ94は、第1確率の抑制信号が出力されなかった場合、L論理を取り込んで記憶することができる。なお、第2Dフリップフロップ94は、発火信号がH論理からL論理に変化するタイミングにおいて、値を取り込む。
【0070】
このような重み制御回路44は、第1Dフリップフロップ92が記憶している値を表す信号を、第1設定信号として出力することができる。また、重み制御回路44は、第2Dフリップフロップ94が記憶している値を表す信号を、第2設定信号として出力することができる。
【0071】
図8は、重み制御回路44の信号のタイミングチャートの第1例を示す図である。
【0072】
重み制御回路44は、後段ニューロン回路24の内部電位Vが設定電位VSET以上である場合、発火信号に同期して変化する強化信号を受け取る。重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t31)において、強化信号がH論理であり且つ第1確率発生器72から発生された第1確率信号がH論理である場合、第1Dフリップフロップ92にH論理が取り込まれる。従って、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t31)において、強化信号がH論理であり且つ第1確率信号がH論理である場合、発火信号がH論理からL論理に変化するタイミング(時刻t31)からH論理となる第1設定信号を出力することができる。
【0073】
また、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t32)において、第1確率発生器72から発生された第1確率信号または強化信号がL論理である場合、第1Dフリップフロップ92にL論理が取り込まれる。従って、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t32)において、第1確率発生器72から発生された第1確率信号または強化信号がL論理である場合、発火信号がH論理からL論理に変化するタイミング(時刻t32)からL論理となる第1設定信号を出力することができる。
【0074】
このように、重み制御回路44は、強化信号がH論理となった場合、すなわち、後段ニューロン回路24の内部電位Vが設定電位VSET以上である場合、第1確率で、シナプス重みを第1値(例えばH論理)へと遷移させる第1設定信号を出力することができる。また、この場合、重み制御回路44は、強化信号がH論理からL論理に変化するタイミング、すなわち、発火信号がH論理からL論理に変化するタイミングにおいて、シナプス重みを第1値(例えばH論理)へと遷移させることができる。
【0075】
また、重み制御回路44は、後段ニューロン回路24の内部電位Vが設定電位VSETより小さい場合、発火信号に同期して変化する抑制信号を受け取る。重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t33)において、抑制信号がH論理であり且つ第1確率発生器72から発生された第1確率信号がH論理である場合、第2Dフリップフロップ94にH論理が取り込まれる。従って、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t33)において、抑制信号がH論理であり且つ第1確率信号がH論理である場合、発火信号がH論理からL論理に変化するタイミング(時刻t33)からH論理となる第2設定信号を出力することができる。
【0076】
また、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t34)において、第1確率発生器72から発生された第1確率信号または抑制信号がL論理である場合、第2Dフリップフロップ94にL論理が取り込まれる。従って、重み制御回路44は、発火信号がH論理からL論理に変化するタイミング(時刻t34)において、第1確率発生器72から発生された第1確率信号または抑制信号がL論理である場合、発火信号がH論理からL論理に変化するタイミング(時刻t34)からL論理となる第2設定信号を出力することができる。
【0077】
このように、重み制御回路44は、抑制信号がH論理となった場合、すなわち、後段ニューロン回路24の内部電位Vが設定電位VSETより小さい場合、第1確率で、シナプス重みを第2値(例えばL論理)へと遷移させる第2設定信号を出力することができる。また、この場合、重み制御回路44は、抑制信号がH論理からL論理に変化するタイミング、すなわち、発火信号がH論理からL論理に変化するタイミングにおいて、シナプス重みを第2値(例えばL論理)へと遷移させることができる。
【0078】
図9は、重み制御回路44の信号のタイミングチャートの第2例を示す図である。タイマ信号は、予め設定された時間毎にH論理となり、H論理となってから所定時間後にL論理となる。第2確率信号は、第2確率でH論理となる。
【0079】
発火信号がL論理であり、タイマ信号がH論理であり、且つ、第2確率信号がH論理である場合、第1Dフリップフロップ92は、H論理を取得する。従って、重み制御回路44は、発火信号がL論理であり、タイマ信号がH論理であり、且つ、第2確率信号がH論理である場合、タイマ信号がH論理からL論理に変化するタイミング(時刻t41)から、次の発火信号がH論理からL論理に変化するタイミング(時刻t42)まで、H論理となる第1設定信号を出力することができる。
【0080】
このように、重み制御回路44は、タイマ信号がH論理となった場合、すなわち、発火信号とは無相関に、第2確率で、シナプス重みを第1値(例えばH論理)へと遷移させる第1設定信号を出力することができる。また、このような、重み制御回路44は、発火信号がL論理の期間において、第2確率でシナプス重みを第1値に遷移させる。これにより、重み制御回路44は、発火信号がH論理となった場合にシナプス重みを遷移させる学習動作との時間的な干渉をせずに、第2確率でシナプス重みを第1値に遷移させることができる。
【0081】
図10は、実施形態に係るリザーバーコンピューティング装置の構成を示す図である。リザーバーコンピューティング装置は、入力層102と、リカレントニューラルネットワークであるリザーバー層104と、出力層106とを備える。ニューラルネットワーク装置10は、このようなリザーバーコンピューティングにおける、リザーバー層104として用いられてもよい。
【0082】
この場合、ニューラルネットワーク装置10に含まれている複数のシナプス回路20のうちの少なくとも1つは、出力信号をフィードバックしてニューロン回路14に供給する。すなわち、複数のシナプス回路20のうちの少なくとも1つは、複数のニューロン回路14のうちの、前段ニューロン回路22へと出力信号を供給するシナプス回路20よりも前段に配置されたニューロン回路14へと、出力信号を供給する。
【0083】
図11は、リザーバーコンピューティング装置にニューラルネットワーク装置10を適用した場合における、学習回数に対する精度を示す図である。なお、図11は、比較のために、発火信号とは無相関に第2確率でシナプス重みを第1値に遷移させた場合と、発火信号とは無相関に第2確率でシナプス重みを第1値に遷移させなかった場合との精度を示している。
【0084】
図11の例においては、リザーバーコンピューティング装置にニューラルネットワーク装置10を適用した場合、学習回数が1550回を超えると、第2確率でシナプス重みを第1値に遷移させなかった場合よりも、第2確率でシナプス重みを第1値に遷移させた場合の方が、精度が良くなっている。
【0085】
以上のように、本実施形態に係るニューラルネットワーク装置10は、複数のシナプス回路20のそれぞれが記憶するシナプス重みを、発火信号に応じたシナプス重みの学習とは無相関に、第2確率で、第1値に遷移させる。これにより、本実施形態に係るニューラルネットワーク装置10は、発火信号に応じた学習によって、第1値のシナプス重みを本来記憶していなければならないシナプス回路20に対して、たまたま前段ニューロン回路22が発火しなかったためにシナプス重みを誤って第2値に遷移させてしまった場合であっても、第2確率でシナプス重みを第1値に復帰させることができる。もし、このような誤学習が発生すると、以後、後段ニューロン回路24が保持している内部電位が変化しにくくなるので、従来の装置は、そのシナプス重みを正しい第1値に復帰させることが難しい。しかし、本実施形態に係るニューラルネットワーク装置10は、このような誤学習による精度悪化を抑制して、シナプス重みを精度良く学習することができる。この結果、実施形態に係るニューラルネットワーク装置10は、精度の良い推論を実行することができる。
【0086】
実施形態を説明したが、実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0087】
10 ニューラルネットワーク装置
12 レイヤ
14 ニューロン回路
20 シナプス回路
22 前段ニューロン回路
24 後段ニューロン回路
32 電位保持回路
34 発火回路
36 重み記憶回路
38 伝達回路
42 学習指示回路
44 重み制御回路
46 ラッチ回路
50 設定電位発生回路
52 コンパレータ
54 指示回路内反転回路
56 指示回路内第1AND回路
58 指示回路内第2AND回路
62 ラッチ内第1NOR回路
64 ラッチ内第2NOR回路
72 第1確率発生器
74 第1AND回路
76 第2AND回路
78 タイマ
80 第2確率発生器
84 第3AND回路
85 第1反転回路
86 第1OR回路
90 第2反転回路
92 第1Dフリップフロップ
94 第2Dフリップフロップ
102 入力層
104 リザーバー層
106 出力層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11