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

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

▶ 国立大学法人 奈良先端科学技術大学院大学の特許一覧

特許7623018ニューロモーフィック装置及びニューロモーフィックシステム
<>
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図1
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図2
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図3
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図4
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図5
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図6
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図7
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図8
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図9
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図10
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図11
  • 特許-ニューロモーフィック装置及びニューロモーフィックシステム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-20
(45)【発行日】2025-01-28
(54)【発明の名称】ニューロモーフィック装置及びニューロモーフィックシステム
(51)【国際特許分類】
   G06N 3/063 20230101AFI20250121BHJP
   G06G 7/60 20060101ALI20250121BHJP
   H10B 63/00 20230101ALI20250121BHJP
   H10N 70/20 20230101ALI20250121BHJP
【FI】
G06N3/063
G06G7/60
H10B63/00
H10N70/20
【請求項の数】 10
(21)【出願番号】P 2022558995
(86)(22)【出願日】2021-10-14
(86)【国際出願番号】 JP2021037982
(87)【国際公開番号】W WO2022091794
(87)【国際公開日】2022-05-05
【審査請求日】2024-05-15
(31)【優先権主張番号】P 2020183082
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】木村 睦
(72)【発明者】
【氏名】中島 康彦
(72)【発明者】
【氏名】滝下 雄太
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特表2018-521400(JP,A)
【文献】特表2018-511862(JP,A)
【文献】米国特許第10490273(US,B1)
【文献】NARAYANAN, P., et al.,"Toward on-chip acceleration of the backpropagation algorithm using nonvolatile memory",IBM Journal of Research and Development [online],IBM,2017年09月08日,Vol. 61,No. 4/5,p. 11:1-11:11,[2024年12月12日検索],インターネット<URL:https://ieeexplore.ieee.org/abstract/document/8030206>,DOI: 10.1147/JRD.2017.2716579
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
G06G 7/60
H10B 63/00
H10N 70/20
(57)【特許請求の範囲】
【請求項1】
相互接続された第1ニューロンと第2ニューロンとの間における接続強度である重みを更新するニューロモーフィック装置であって、
前記重みを示す、可変の電気的特性を有するメムデバイスと、
半導体素子を含み、前記重みを更新するために前記電気的特性を変化させる重み更新回路と
を備え、
前記重み更新回路は、前記第1ニューロンの出力データである第1データ及び前記第2ニューロンの出力データである第2データを少なくとも用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させ、
前記メムデバイスは、前記第1ニューロン側の端子である入力端子及び前記第2ニューロン側の端子である出力端子を有し、
前記半導体素子は1つ又は複数であり、当該各半導体素子はそれぞれ、
第1n型MOSトランジスタと、
第2n型MOSトランジスタと、
p型MOSトランジスタと、
CMOSトランジスタと
のうちのいずれかであり、
前記各半導体素子はそれぞれ、前記メムデバイスの前記入力端子側又は前記出力端子側のいずれかに配置される、ニューロモーフィック装置。
【請求項2】
前記重み更新回路は、第1重み更新回路及び第2重み更新回路を有し、
前記第1重み更新回路は、前記第1データを少なくとも用いて前記半導体素子を駆動させ、
前記第2重み更新回路は、前記第2データを少なくとも用いて前記半導体素子を駆動させる、請求項1に記載のニューロモーフィック装置。
【請求項3】
前記第1ニューロン及び前記第2ニューロンは、ニューラルネットワークを構成する、互いに異なる層にそれぞれ含まれており、
前記重み更新回路は、前記第1データ、前記第2データ及び前記ニューラルネットワークの教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる、請求項1又は2に記載のニューロモーフィック装置。
【請求項4】
前記第2ニューロンは、多層ニューラルネットワークの出力層に含まれ、
前記第1ニューロンは、前記多層ニューラルネットワークの、前記出力層の1つ前の層に含まれており、
前記重み更新回路は、前記第1データ、前記第2データ、及び前記第2ニューロンの出力データに対応する教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる、請求項1~3のいずれか1項に記載のニューロモーフィック装置。
【請求項5】
前記第2ニューロンは、単純パーセプトロンの出力層に含まれ、
前記第1ニューロンは、前記単純パーセプトロンの入力層に含まれており、
前記重み更新回路は、前記第1データ、前記第2データ、及び前記第2ニューロンの出力データに対応する教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる、請求項1~3のいずれか1項に記載のニューロモーフィック装置。
【請求項6】
前記第1n型MOSトランジスタのゲート端子には前記第1データが入力され、
前記第2n型MOSトランジスタのゲート端子には前記第2データが入力され、
前記p型MOSトランジスタのゲート端子には前記第2データが入力され、
前記CMOSトランジスタの入力端子には前記教師データが入力される、請求項3~5のいずれか1項に記載のニューロモーフィック装置。
【請求項7】
前記重み更新回路は、第1重み更新回路及び第2重み更新回路を有し、
前記第1重み更新回路は、前記第1n型MOSトランジスタを少なくとも含み、
前記第2重み更新回路は、前記第2n型MOSトランジスタ、前記p型MOSトランジスタ、及び前記CMOSトランジスタのいずれかを少なくとも含む、請求項6に記載のニューロモーフィック装置。
【請求項9】
相互接続された第1ニューロン及び第2ニューロンと、
前記第1ニューロンと前記第2ニューロンとの間における接続強度である重みを更新する、請求項1~8のいずれか1項に記載のニューロモーフィック装置と
を備える、ニューロモーフィックシステム。
【請求項10】
前記ニューロモーフィックシステムは、
前記重みを更新するときには前記重み更新回路を作動させる一方、
前記重みを用いて前記第1ニューロンと前記第2ニューロンとの間における情報伝達を行うときには前記重み更新回路を作動させない、請求項9に記載のニューロモーフィックシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ニューロモーフィック装置及びニューロモーフィックシステムに関する。
【背景技術】
【0002】
デジタル計算ではなく、アナログ計算が可能なデバイスを利用するニューロモーフィックシステムが知られている。ニューロモーフィックシステムはニューラルネットワークをハードウェアで実現したシステムである。ニューロモーフィックシステムはニューロモルフィックシステムと称される場合もある。
【0003】
特許文献1及び2には、ニューラルネットワークに用いる電子装置が記載されている。特許文献1及び2の電子装置はニューラルネットワークをハードウェアで実現した装置である。特許文献1及び2の電子装置は、ニューロン同士の接続強度である重みを保持する回路を備えている。当該回路は、複数のトランジスタと、容量素子とを有する。容量素子に保持される電位はアナログデータである。特許文献1及び2の電子装置は、上記回路の容量素子に重みを書き込み、上記回路の容量素子から重みを読み出す。
【0004】
非特許文献1には、酸化物半導体を用いたセルラニューラルネットワークが記載されている。非特許文献1のセルラニューラルネットワークはニューラルネットワークをハードウェアで実現したネットワークである。非特許文献1のセルラニューラルネットワークは、ニューロン同士の接続強度である重みを保持する記憶素子を備えている。当該記憶素子は酸化物半導体を用いた記憶素子である。当該記憶素子はアナログデータを保持する。非特許文献1のセルラニューラルネットワークは、上記記憶素子に重みを書き込み、上記記憶素子から重みを読み出す。
【先行技術文献】
【特許文献】
【0005】
【文献】日本国特開2020-80162号
【文献】日本国特開2020-109715号
【非特許文献】
【0006】
【文献】MUTSUMI KIMURA, YUKI KOGA, HIROKI NAKANISHI, TOKIYOSHI MATSUDA, TOMOYA KAMEDA, AND YASUHIKO NAKASHIMA, "In-Ga-Zn-O Thin-Film Devices As Synapse Elements in a Neural Network", 27 November 2017, IEEE Journal of the Electron Devices Society(Volume:6), Page(s):100-105
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1、特許文献2及び非特許文献1のいずれにも、誤差逆伝播法(バックプロパゲーション)によって上述の重みを学習させる構成について開示も示唆もされていない。
【0008】
本開示の一態様は、新規な構成を備えたニューロモーフィック装置及びニューロモーフィックシステムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本開示の一態様に係るニューロモーフィック装置は、相互接続された第1ニューロンと第2ニューロンとの間における接続強度である重みを更新するニューロモーフィック装置である。前記ニューロモーフィック装置は、メムデバイスと、重み更新回路とを備える。前記メムデバイスは、前記重みを示す、可変の電気的特性を有する。前記重み更新回路は、半導体素子を含み、前記重みを更新するために前記電気的特性を変化させる。前記重み更新回路は、第1データ及び第2データを少なくとも用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる。前記第1データは、前記第1ニューロンの出力データである。前記第2データは、前記第2ニューロンの出力データである。
【発明の効果】
【0010】
本開示の一態様によれば、新規な構成を備えたニューロモーフィック装置及びニューロモーフィックシステムを提供することができる。
【図面の簡単な説明】
【0011】
図1】誤差逆伝播法を説明するための説明図である。
図2】誤差逆伝播法を説明するための他の説明図である。
図3】本開示の一実施形態に係るニューロモーフィック装置の概略構成図である。
図4】上記ニューロモーフィック装置に含まれるメムデバイスの電気的特性と、当該メムデバイスの概略構成と、を示す図である。
図5】上記ニューロモーフィック装置に含まれる他のメムデバイスの電気的特性と、当該メムデバイスの概略構成と、を示す図である。
図6】上記ニューロモーフィック装置の動作を説明するための説明図である。
図7】上記ニューロモーフィック装置のハードウェア構成例を示す図である。
図8】上記ニューロモーフィック装置の効果を説明するための説明図である。
図9】上記ニューロモーフィック装置の効果を説明するための説明図である。
図10】上記ニューロモーフィック装置の効果を説明するための説明図である。
図11】上記ニューロモーフィック装置の他のハードウェア構成例を示す図である。
図12】上記ニューロモーフィック装置の応用例を示す図である。
【発明を実施するための形態】
【0012】
<本開示に至った経緯>
人工知能は、未来の社会の中心となる技術である。人工知能を実現する代表的な技術としてニューラルネットワークが挙げられる。従来のニューラルネットワークは、高機能なハードウェア上で実行される複雑且つ長大なソフトウェアである。このため、従来のニューラルネットワークには、ハードウェアサイズの巨大化及びソフトウェア実行に伴う消費電力の増大といった課題がある。
【0013】
これに対し、ニューロモーフィックシステムは、ニューラルネットワークをハードウェアで実現したシステムである。ニューロモーフィックシステムは、ハードウェアレベルで生体の脳神経回路を模倣したシステムである。ニューロモーフィックシステムには、ハードウェアサイズの縮小化及び低消費電力化といった利点がある。
【0014】
しかしながら、ニューロモーフィックシステムには次の課題がある。ニューラルネットワークの学習アルゴリズムである誤差逆伝播法は、ソフトウェアであればニューロモーフィックシステムに実装が容易である。一方、誤差逆伝播法をハードウェアでニューロモーフィックシステムに実装することは未だ実現されていない。ニューロモーフィックシステムの上記利点を実現する上で、誤差逆伝播法をハードウェアでニューロモーフィックシステムに実装することが大いに期待されている。
【0015】
そこで、本開示者らは、ニューロモーフィックシステムに誤差逆伝播法を実装可能とすべく鋭意検討を行った結果、誤差逆伝播法をハードウェアで実装し易くする本開示をするに至った。
【0016】
<実施形態>
以下、本開示の一実施形態について、詳細に説明する。
【0017】
(誤差逆伝播法)
まず、誤差逆伝播法に関して簡単に説明しておく。誤差逆伝播法は、多層ニューラルネットワークに用いられる公知の学習方法である。このため、以下では、本開示の一実施形態の理解を容易とするために必要と思われる事項に関してのみ説明するものとする。
【0018】
図1は、誤差逆伝播法を説明するための説明図である。図1のとおり、多層ニューラルネットワーク100は、入力層101と、中間層102と、出力層103とから構成される。各層は複数のニューロンを含む。図1の白抜きの丸印はそれぞれ、各層に含まれるニューロンを表す。1つの白抜きの丸印が1つのニューロンに相当する。
【0019】
入力層101は5個のニューロンを含む。中間層102は4個のニューロンを含む。出力層103は3個のニューロンを含む。また、中間層102は1層である。ただし、図1の多層ニューラルネットワーク100の構成は単なる一例に過ぎない。本開示は、図1の中間層102の数及び各層に含まれるニューロンの数に限定されるものではない。
【0020】
入力層101に含まれる各ニューロンは、中間層102に含まれる全ニューロンに接続される。中間層102に含まれる各ニューロンは、出力層103に含まれる全ニューロンに接続される。
【0021】
入力データ群111は、入力層101に含まれる各ニューロンに入力される5個の入力データを含む。出力データ群112は、出力層103に含まれる各ニューロンから出力される3個の出力データを含む。教師データ群113は、出力層103に含まれる各ニューロンに対応する3つの教師データを含む。各教師データは出力層103に含まれる各ニューロンの出力データの目標値である。
【0022】
誤差逆伝播法は、出力データ群112に含まれる各出力データと、各出力データに対応する、教師データ群113に含まれる各教師データとを比較し(符号121で示す工程)、当該比較結果に基づき互いに異なる層に含まれるニューロン同士の接続強度である重みを訂正する(符号122で示す工程)ことによって、重みを更新する方法である。本明細書においては、誤差逆伝播法を用いて重みを更新する処理を「学習」と称する。また、本明細書においては、上記「学習」を行った多層ニューラルネットワーク100において、入力データ群111と更新済みの重みとに基づいて出力データ群112を出力する処理を「推論」と称する。
【0023】
式(1)は、誤差逆伝播法を用いて重みWijを更新する場合における重みWijの訂正量ΔWijを表す式である。ここで、重みWijは、図1の入力層101に含まれる各ニューロンと中間層102に含まれる各ニューロンとの間における重みである。重みWijの添え字iと添え字jは、重みWijが、入力層101に含まれる第i番目のニューロンと中間層102に含まれる第j番目のニューロンとの間における重みであることを意味する。
【数1】
ここで、ηは、学習率であり、設計者が任意に設定することができる。Zは、出力層103に含まれる各ニューロンから出力される出力データ(すなわち、出力データ群112に含まれる出力データ)である。Zバーは、教師データ群113に含まれる各教師データである。Wjkは、図1の中間層102に含まれる各ニューロンと出力層103に含まれる各ニューロンとの間における重みである。yは、中間層102に含まれる各ニューロンから出力される出力データである。xは、入力層101に含まれる各ニューロンから出力される出力データである。
【0024】
なお、出力データZの添え字kは、出力データZが、出力層103に含まれる第k番目のニューロンから出力される出力データであることを意味する。また、教師データZバーの添え字kは、教師データZバーが、出力層103に含まれる第k番目のニューロンの出力データの目標値であることを意味する。重みWjkの添え字jと添え字kは、重みWjkが、中間層102に含まれる第j番目のニューロンと出力層103に含まれるk番目のニューロンとの間における重みであることを意味する。出力データyの添え字jは、出力データyが、中間層102に含まれる第j番目のニューロンから出力される出力データであることを意味する。出力データxの添え字iは、出力データxが、入力層101に含まれる第i番目のニューロンから出力される出力データであることを意味する。
【0025】
図2は、誤差逆伝播法を説明するための他の説明図である。図2のとおり、多層ニューラルネットワーク200は、第1層201、・・・、第m-1層202、第m層203、第m+1層204、・・・、及び第n層205から構成される。第1層201は入力層である。第n層205は出力層である。第m-1層202、第m層203及び第m+1層204はいずれも中間層である。なお、m及びnは共に自然数であって、且つ、m<nである。多層ニューラルネットワーク200を構成する各層は複数のニューロンを含む。図1と同様、図2の白抜きの丸印はそれぞれ、各層に含まれるニューロンを表す。また、図1と同様、1つの白抜きの丸印が1つのニューロンに相当する。
【0026】
ただし、図2の多層ニューラルネットワーク200の構成は単なる一例に過ぎない。本開示は、図2の中間層の数及び各層に含まれるニューロンの数に限定されるものではない。
【0027】
入力層である第1層201に含まれる各ニューロンは、図示しない第2層に含まれる全ニューロンに接続される。第m-1層202に含まれる各ニューロンは、第m層203に含まれる全ニューロンに接続される。第m層203に含まれる各ニューロンは、第m+1層204に含まれる全ニューロンに接続される。図示しない第n-1層に含まれる各ニューロンは、第n層205に含まれる全ニューロンに接続される。
【0028】
式(2)は、第m層203に含まれる第j番のニューロンに入力される入力データu を表す式である。
【数2】
ここで、Wij m-1,mは、第m-1層202に含まれる第i番目のニューロンと第m層203に含まれる第j番目のニューロンとの間における重みであり、y m-1は、第m-1層202に含まれる第i番目のニューロンから出力される出力データである。
【0029】
式(3)は、第m層203に含まれる第j番のニューロンから出力される出力データy を表す式である。
【0030】
【数3】
式(4)は、第m+1層204に含まれる第k番のニューロンに入力される入力データu m+1を表す式である。
【数4】
ここで、Wjk m,m+1は、第m層203に含まれる第j番目のニューロンと第m+1層204に含まれる第k番目のニューロンとの間における重みであり、y は、第m層203に含まれる第j番目のニューロンから出力される出力データである。
【0031】
式(5)は、第m+1層204に含まれる第k番目のニューロンから出力される出力データy m+1を表す式である。
【0032】
【数5】
なお、式(6)は、式(3)及び式(5)の活性化関数f(u)を表す式である。活性化関数f(u)は公知のシグモイド関数である。
【0033】
【数6】
式(7)は、第n層205に含まれる第o番目のニューロンから出力される出力データy と、当該第o番目のニューロンの出力データの目標値である教師データyバーとの誤差を算出するための誤差関数Eを表す式である。
【0034】
【数7】
式(8)は、誤差逆伝播法を用いて重みWij m-1,mを更新する場合における重みWij m-1,mの訂正量ΔWij m-1,mを表す式である。重みWij m-1,mは、図2の第m-1層202に含まれる第i番目のニューロンと第m層203に含まれる第j番目のニューロンとの間における重みである。
【数8】
ここで、ηは、学習率であり、設計者が任意に設定することができる。δ は、第m層203に含まれる第j番目のニューロンに対する誤差データであり、y m-1は、第m-1層202に含まれる第i番目のニューロンから出力される出力データである。
【0035】
式(9a)は、m=nの場合、すなわち、出力層である第n層205に含まれる第j番目のニューロンに対する誤差データを表す。一方、式(9b)は、m≠nの場合、すなわち、出力層以外の各層に含まれる第j番目のニューロンに対する誤差データを表す。
【0036】
【数9】
誤差逆伝播法によれば、以上の計算を全ての重みについて行い、各重みを更新する。この計算を繰り返し行うことで、重みが最適な値に収束していく。
【0037】
(ニューロモーフィック装置)
1.構成
図3は、本開示の一実施形態に係るニューロモーフィック装置300の概略構成図である。図3のとおり、ニューロモーフィック装置300は、相互接続された第1ニューロン301と第2ニューロン303との間における接続強度である重みを示す、可変の電気的特性を有するメムデバイス302と、上記重みを更新するためにメムデバイス302の電気的特性を変化させる第1重み更新回路304a及び第2重み更新回路304bとを備える。
【0038】
図3の例では、第1ニューロン301は、図2の第m-1層202に含まれる第i番目のニューロンである。y m-1は、第1ニューロン301から出力される出力データ(第1データ)である。第2ニューロン303は、図2の第m層203に含まれる第j番目のニューロンである。y は、第2ニューロン303から出力される出力データ(第2データ)である。
【0039】
図4は、メムデバイス302の一例であるメモリスタの電気的特性と、当該メモリスタの概略構成と、を示す図である。メモリスタは、図4の符号401で示す電気的特性を備える。メモリスタは、図4の符号402で示す概略構成を備える。
【0040】
メモリスタは、図4の符号401で示すヒステリシス特性のとおり、通過した電荷を記憶し、抵抗値を変えられる電気的特性を持った受動素子である。メモリスタは記憶素子である。メモリスタは、記憶素子としてアナログデータを保持する。メモリスタは不揮発性メモリとしての活用が可能である。
【0041】
メモリスタは、図4の符号402で示す概略構成のとおり、基台41上に配置されたAl層42と、Al層42上に配置されたGa-Sn-O(GTO)層43と、GTO層43上に配置されたAu層44とを備える。Al層42は負極である。Au層44は正極である。Al層42とAu層44との間に電圧Vが印加されることによって、GTO層43に電流Iが流れる。すなわち、GTO層43を電荷が通過する。この電荷の通過によって、GTO層43の抵抗値が変化する。なお、メモリスタは公知の素子であるので詳細は割愛する。
【0042】
メムデバイス302がメモリスタである場合、第1ニューロン301と第2ニューロン303との間における重みは、上述した、可変の抵抗値を用いて表現される。
【0043】
図5は、メムデバイス302の一例であるメムキャパシタの電気的特性と、当該メムキャパシタの概略構成と、を示す図である。メムキャパシタは、図5の符号501で示す電気的特性を備える。メムキャパシタは、図5の符号502で示す概略構成を備える。
【0044】
メムキャパシタは、図5の符号501で示すヒステリシス特性のとおり、コンデンサに電荷を貯めるだけでなく、コンデンサの容量値が印加電圧の履歴に応じて変化する電気的特性を持った受動素子である。メムキャパシタは記憶素子である。メムキャパシタは、記憶素子としてアナログデータを保持する。メムキャパシタは不揮発性メモリとしての活用が可能である。
【0045】
メムキャパシタは、図5の符号502で示す概略構成のとおり、基台51上に配置されたPt層52と、Pt層52上に配置されたチタン酸ビスマスランタン(BLT)層53と、BLT層53上に配置されたAu層54とを備える。Pt層52は負極である。Au層54は正極である。Pt層52とAu層54との間に電圧Vが印加されることによって、BLT層53に電荷Qが蓄積される。この電圧Vの印加によって、Pt層52とBLT層53とAu層54とからなるコンデンサの容量値が変化する。なお、メムキャパシタは公知の素子であるので詳細は割愛する。
【0046】
メムデバイス302がメムキャパシタである場合、第1ニューロン301と第2ニューロン303との間における重みは、上述した、可変の容量値を用いて表現される。
【0047】
第1重み更新回路304aは、第1ニューロン301の出力側とメムデバイス302の入力側との間に配置される。第1重み更新回路304aの入力側は、第1ニューロン301の出力側に接続される。第1重み更新回路304aの出力側は、メムデバイス302の入力側に接続される。
【0048】
第2重み更新回路304bは、メムデバイス302の出力側と第2ニューロン303の入力側との間に配置される。第2重み更新回路304bの入力側は、メムデバイス302の出力側に接続される。第2重み更新回路304bの出力側は、第2ニューロン303の入力側に接続される。
【0049】
ただし、第1重み更新回路304aは、メムデバイス302の電気的特性を用いて表現される重みを更新するための「学習」を行う際に、図3のとおり、第1ニューロン301の出力側とメムデバイス302の入力側との間に配置される。そして、第1重み更新回路304aの入力側は、第1ニューロン301の出力側に接続され、第1重み更新回路304aの出力側は、メムデバイス302の入力側に接続される。
【0050】
同様に、第2重み更新回路304bは、上記「学習」を行う際に、図3のとおり、メムデバイス302の出力側と第2ニューロン303の入力側との間に配置される。そして、第2重み更新回路304bの入力側は、メムデバイス302の出力側に接続され、第2重み更新回路304bの出力側は、第2ニューロン303の入力側に接続される。
【0051】
図3のとおり、第1ニューロン301と第2ニューロン303との間における重みWij m-1,mの訂正量ΔWij m-1,mは式(10)で表される。なお、式(10)は式(8)と同じ式である。
【0052】
【数10】
第1重み更新回路304a及び第2重み更新回路304bは、図3の式(10)における符号Aで示す部分式「δ m-1」をハードウェアで表現するための回路である。言い換えれば、第1重み更新回路304a及び第2重み更新回路304bは、誤差逆伝播法をハードウェアで実装するための回路である。
【0053】
2.ハードウェア構成例
以下、図6及び図7を用いて、ニューロモーフィック装置の動作を説明する。図6は、ニューロモーフィック装置の動作を説明するための説明図である。図7は、ニューロモーフィック装置のハードウェア構成例を示す図である。
【0054】
図6のとおり、図3のニューロモーフィック装置300の一例であるニューロモーフィック装置600は、メムデバイス602と、第1重み更新回路604aと、第2重み更新回路604bとを備える。メムデバイス602は、図3のメムデバイス302に対応する。第1重み更新回路604aは、図3の第1重み更新回路304aに対応する。第2重み更新回路604bは、図3の第2重み更新回路304bに対応する。
【0055】
図6のとおり、ニューロモーフィック装置600は、多層ニューラルネットワーク610における第n-1層611に含まれる第i番目のニューロンと第n層612に含まれる第j番目のニューロンとの間における重みWijを更新する。なお、第n層612は出力層である。第n-1層611は第n層612の一つ前の層である。
【0056】
また、ニューロモーフィック装置600は、多層ニューラルネットワーク610に代えて、第n-1層611が入力層であり、第n層612が出力層である単純パーセプトロンにおける、第n-1層611に含まれる第i番目のニューロンと第n層612に含まれる第j番目のニューロンとの間における重みWijを更新しても良い。
【0057】
図6のとおり、式(9a)を用いることにより、重みWijの訂正量ΔWijは、式(11)で表される。
ΔWij=-η(y-yバー)y(1-y)x ・・・(11)
ここで、yは、第n層612に含まれる第j番目のニューロンから出力される出力データである。yバーは、第n層612に含まれる第j番目のニューロンの出力データの目標値である。yバーは教師データ群613に含まれる。xは、第n-1層611に含まれる第i番目のニューロンから出力される出力データである。
【0058】
図6のとおり、第1重み更新回路604a及び第2重み更新回路604bは、図6の式(11)における符号Bで示す部分式「(y-yバー)y(1-y)x」をハードウェアで表現するための回路である。
【0059】
図7のとおり、図6の第1重み更新回路604aは、n型MOSトランジスタ(第1n型MOSトランジスタ)604a-1から構成される。図6の第2重み更新回路604bは、n型MOSトランジスタ(第2n型MOSトランジスタ)604b-1と、p型MOSトランジスタ604b-2と、CMOSトランジスタ604b-3とから構成される。
【0060】
図7のとおり、n型MOSトランジスタ604a-1は、電源電圧Vddの1/2の電圧であるVdd/2とメムデバイス602の入力側との間に接続され、符号601で示す出力データxが入力されるゲート端子を備える。n型MOSトランジスタ604b-1は、メムデバイス602の出力側とp型MOSトランジスタ604b-2との間に接続され、符号603で示す出力データyが入力されるゲート端子を備える。p型MOSトランジスタ604b-2は、n型MOSトランジスタ604b-1とCMOSトランジスタ604b-3との間に接続され、符号603で示す出力データyが入力されるゲート端子を備える。CMOSトランジスタ604b-3は、電源電圧Vddと接地電圧GNDとの間に接続され、キャパシタ606を介して、符号605で示す教師データyバーが入力される入力端子と、p型MOSトランジスタ604b-2に接続される出力端子とを備える。
【0061】
図7のとおり、図6の式(11)における符号Bで示す部分式における、符号B-1で示す部分式「(y-yバー)」は、CMOSトランジスタ604b-3で表現される。符号B-2で示す部分式「y」は、n型MOSトランジスタ604b-1で表現される。符号B-3で示す部分式「(1-y)」は、p型MOSトランジスタ604b-2で表現される。符号B-4で示す部分式「x」は、n型MOSトランジスタ604a-1で表現される。
【0062】
以下、上述の各部分式が上述の各半導体素子で表現される理由に関し、より詳細に説明する。
【0063】
・符号B-1で示す部分式「(y-yバー)」:
符号B-1で示す部分式「(y-yバー)」の正負は、出力データyと教師データyバーとの大小関係により決定される。また、符号B-1で示す部分式「(y-yバー)」の絶対値は、教師データyバーと出力データyとの差の絶対値である。
【0064】
これに対し、CMOSトランジスタ604b-3の入力端子には、キャパシタ606を介して、「(y-yバー)」に対応する電圧が入力される。「(y-yバー)」に対応する電圧がCMOSトランジスタ604b-3の閾値電圧よりも高い場合、CMOSトランジスタ604b-3は、出力端子に接地電圧GNDを出力する。一方、「(y-yバー)」に対応する電圧がCMOSトランジスタ604b-3の閾値電圧よりも低い場合、CMOSトランジスタ604b-3は、出力端子に電源電圧Vddを出力する。すなわち、CMOSトランジスタ604b-3は、入力端子に印加される電圧の正負により、出力端子に出力される電圧が接地電圧GNDと電源電圧Vddとの間で切り替わる。
【0065】
この切り替えによって、メムデバイス602の入力端子側のVdd/2と、メムデバイス602の出力端子側の電圧との大小関係が変化する。すなわち、出力端子に出力される電圧が接地電圧GNDであれば、メムデバイス602の入力端子側の電圧よりも出力端子側の電圧が小さくなる。一方、出力端子に出力される電圧が電源電圧Vddであれば、メムデバイス602の入力端子側の電圧よりも出力端子側の電圧が大きくなる。
【0066】
上記の大小関係の変化によって、メムデバイス602を流れる電流の向きが変化する。メムデバイス602の電気的特性から、メムデバイス602の抵抗値は電流の向きにより変化する。この電流の向きが部分式「(y-yバー)」の正負で表現される。この抵抗値が部分式「(y-yバー)」の絶対値で表現される。
【0067】
・符号B-2で示す部分式「y」:
n型MOSトランジスタ604b-1は、ゲート端子に印加される電圧が大きくなるほど、n型MOSトランジスタ604b-1のコンダクタンスは大きくなる。このコンダクタンスの増加によって、メムデバイス602を流れる電流の量が大きくなる。メムデバイス602の電気的特性から、メムデバイス602の抵抗値は電流の量により変化する。この抵抗値が部分式「y」で表現される。
【0068】
・符号B-3で示す部分式「(1-y)」:
p型MOSトランジスタ604b-2は、ゲート端子に印加される電圧が小さくなるほど、p型MOSトランジスタ604b-2のコンダクタンスは大きくなる。このコンダクタンスの増加によって、メムデバイス602を流れる電流の量が大きくなる。メムデバイス602の電気的特性から、メムデバイス602の抵抗値は電流の量により変化する。この抵抗値が部分式「(1-y)」で表現される。
【0069】
・符号B-4で示す部分式「x」:
n型MOSトランジスタ604a-1は、ゲート端子に印加される電圧が大きくなるほど、n型MOSトランジスタ604a-1のコンダクタンスは大きくなる。このコンダクタンスの増加によって、メムデバイス602を流れる電流の量が大きくなる。メムデバイス602の電気的特性から、メムデバイス602の抵抗値は電流の量により変化する。この抵抗値が部分式「x」で表現される。
【0070】
3.効果
以下、図8図9及び図10を用いて、図7のニューロモーフィック装置600の効果を説明する。図8は、ニューロモーフィック装置600の効果を実証する際に、図7の式(11)を簡単化するために定めた前提条件である。図8のとおり、出力データxは、「0」又は「1」を表すデータである。また、教師データyバーは、「0」又は「1」を表すデータである。図8のとおり、出力データxが「0」である場合、教師データyバーが「0」又は「1」のいずれであっても、訂正量Δwijは「0」となる。
【0071】
これに対し、出力データxが「1」である場合、教師データyバーが「0」であれば、式(11)から訂正量Δwijは-ηy(1-y)となる。一方、教師データyバーが「1」であれば、式(11)から訂正量Δwijは-η(y-1)y(1-y)となる。
【0072】
図9は、出力データyと式(11)の訂正量Δwijとの関係を示す図である。また、図10は、HSPICEによる回路シュミレーションを行った結果である。
【0073】
図10のグラフは、図9の「x=1/yバー=0」、「x=0/yバー=0」、「x=1/yバー=1」及び「x=0/yバー=1」の4つのグラフに対応する。図10の結果が図9の結果と略一致していることが分かる。
【0074】
4.変形例
図11に、ニューロモーフィック装置600の変形例を示す。図11のニューロモーフィック装置700が図7のニューロモーフィック装置600と異なる点は、スイッチング素子1101と、スイッチング素子1102と、スイッチング素子1103と、スイッチング素子1104とをさらに備える点である。
【0075】
図11のとおり、ニューロモーフィック装置700が上記「学習」を行う際には、スイッチング素子1101は端子1101aと端子1101bとを接続し、スイッチング素子1102は端子1102aと端子1102bとを接続し、スイッチング素子1103は端子1103aと端子1103bとを接続し、スイッチング素子1104は端子1104aと端子1104bとを接続する。
【0076】
一方、ニューロモーフィック装置700が上記「推論」を行う際には、スイッチング素子1101は端子1101aと端子1101cとを接続し、スイッチング素子1102は端子1102aと端子1102cとを接続し、スイッチング素子1103は端子1103aと端子1103cとを接続し、スイッチング素子1104は端子1104aと端子1104cとを接続する。
【0077】
上述の、スイッチング素子1101~1104の各切り替えによって、ニューロモーフィック装置700が上記「学習」を行う際には、n型MOSトランジスタ604a-1、n型MOSトランジスタ604b-1、p型MOSトランジスタ604b-2及びCMOSトランジスタ604b-3を駆動させる。すなわち、ニューロモーフィック装置700は、図6の第1重み更新回路604a及び第2重み更新回路604bを作動させる。一方、ニューロモーフィック装置700が上記「推論」を行う際には、n型MOSトランジスタ604a-1、n型MOSトランジスタ604b-1、p型MOSトランジスタ604b-2及びCMOSトランジスタ604b-3を駆動させない。すなわち、ニューロモーフィック装置700は、図6の第1重み更新回路604a及び第2重み更新回路604bを作動させない。
【0078】
<その他の実施形態>
本開示は、すべてのニューラルネットワーク及びニューロモーフィックシステムに利用できる。例えば、図12のような、複数層の畳み込み層と数層の最終層の全結合層を組み合わせたニューラルネットワークにおいて、上記「学習」は全結合層で実行される。本開示は全結合層において利用可能である。
【0079】
また、図7では、n型MOSトランジスタ604a-1をメムデバイス602の入力側に、n型MOSトランジスタ604b-1、p型MOSトランジスタ604b-2及び、CMOSトランジスタ604b-3をメムデバイス602の出力側に配置した。しかし、本開示はこの配置に限られるものではない。n型MOSトランジスタ604a-1、n型MOSトランジスタ604b-1、p型MOSトランジスタ604b-2及び、CMOSトランジスタ604b-3の全てを、メムデバイス602の入力側に配置しても良いし、逆に、それらをすべてメムデバイス602の出力側に配置しても良い。
【0080】
さらに、n型MOSトランジスタ604a-1、n型MOSトランジスタ604b-1、p型MOSトランジスタ604b-2及び、CMOSトランジスタ604b-3の全てを配置せずに、それらのうちの少なくとも一つを配置することによっても、誤差逆伝播法をハードウェアで実装し易くすることができる。
【0081】
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【0082】
<まとめ>
本開示の態様1に係るニューロモーフィック装置は、相互接続された第1ニューロンと第2ニューロンとの間における接続強度である重みを更新するニューロモーフィック装置であって、前記重みを示す、可変の電気的特性を有するメムデバイスと、半導体素子を含み、前記重みを更新するために前記電気的特性を変化させる重み更新回路とを備え、前記重み更新回路は、前記第1ニューロンの出力データである第1データ及び前記第2ニューロンの出力データである第2データを少なくとも用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる。
【0083】
本開示の態様2に係るニューロモーフィック装置は、上記態様1において、前記重み更新回路は、第1重み更新回路及び第2重み更新回路を有し、前記第1重み更新回路は、前記第1データを少なくとも用いて前記半導体素子を駆動させ、前記第2重み更新回路は、前記第2データを少なくとも用いて前記半導体素子を駆動させる。
【0084】
本開示の態様3に係るニューロモーフィック装置は、上記態様1又は2において、前記第1ニューロン及び前記第2ニューロンは、ニューラルネットワークを構成する、互いに異なる層にそれぞれ含まれており、前記重み更新回路は、前記第1データ、前記第2データ及び前記ニューラルネットワークの教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる。
【0085】
本開示の態様4に係るニューロモーフィック装置は、上記態様1~3のいずれかにおいて、前記第2ニューロンは、多層ニューラルネットワークの出力層に含まれ、前記第1ニューロンは、前記多層ニューラルネットワークの、前記出力層の1つ前の層に含まれており、前記重み更新回路は、前記第1データ、前記第2データ、及び前記第2ニューロンの出力データに対応する教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる。
【0086】
本開示の態様5に係るニューロモーフィック装置は、上記態様1~3のいずれかにおいて、前記第2ニューロンは、単純パーセプトロンの出力層に含まれ、前記第1ニューロンは、前記単純パーセプトロンの入力層に含まれており、前記重み更新回路は、前記第1データ、前記第2データ、及び前記第2ニューロンの出力データに対応する教師データを用いて前記半導体素子を駆動させることによって、誤差逆伝播法により前記電気的特性を変化させる。
【0087】
本開示の態様6に係るニューロモーフィック装置は、上記態様3~5のいずれかにおいて、前記メムデバイスは、前記第1ニューロン側の端子である入力端子及び前記第2ニューロン側の端子である出力端子を有し、前記半導体素子は1つ又は複数であり、当該各半導体素子はそれぞれ、ゲート端子に前記第1データが入力される第1n型MOSトランジスタと、ゲート端子に前記第2データが入力される第2n型MOSトランジスタと、ゲート端子に前記第2データが入力されるp型MOSトランジスタと、入力端子に前記教師データが入力されるCMOSトランジスタとのうちのいずれかであり、前記各半導体素子はそれぞれ、前記メムデバイスの前記入力端子側又は前記出力端子側のいずれかに配置される。
【0088】
本開示の態様7に係るニューロモーフィック装置は、上記態様6において、前記重み更新回路は、第1重み更新回路及び第2重み更新回路を有し、前記第1重み更新回路は、前記第1n型MOSトランジスタを少なくとも含み、前記第2重み更新回路は、前記第2n型MOSトランジスタ、前記p型MOSトランジスタ、及び前記CMOSトランジスタのいずれかを少なくとも含む。
【0089】
本開示の態様8に係るニューロモーフィック装置は、上記態様1~7のいずれかにおいて、前記メムデバイスは、メモリスタ、メムキャパシタ又はメムインダクタのいずれかである。
【0090】
本開示の態様9に係るニューロモーフィックシステムは、相互接続された第1ニューロン及び第2ニューロンと、前記第1ニューロンと前記第2ニューロンとの間における接続強度である重みを更新する、上記態様1~8のいずれかのニューロモーフィック装置とを備える。
【0091】
本開示の態様10に係るニューロモーフィックシステムは、上記態様9において、前記ニューロモーフィックシステムは、前記重みを更新するときには前記重み更新回路を作動させる一方、前記重みを用いて前記第1ニューロンと前記第2ニューロンとの間における情報伝達を行うときには前記重み更新回路を作動させない。
【符号の説明】
【0092】
100、200、610 多層ニューラルネットワーク
101 入力層
102 中間層
103 出力層
300、600、700 ニューロモーフィック装置
301 第1ニューロン
302、602 メムデバイス
303 第2ニューロン
304a、604a 第1重み更新回路(重み更新回路)
304b、604b 第2重み更新回路(重み更新回路)
604a-1 n型MOSトランジスタ(第1n型MOSトランジスタ)
604b-1 n型MOSトランジスタ(第2n型MOSトランジスタ)
604b-2 p型MOSトランジスタ
604b-3 CMOSトランジスタ

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12