(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-14
(45)【発行日】2024-02-22
(54)【発明の名称】AIモジュール
(51)【国際特許分類】
G06N 3/063 20230101AFI20240215BHJP
G06G 7/60 20060101ALI20240215BHJP
【FI】
G06N3/063
G06G7/60
(21)【出願番号】P 2019163242
(22)【出願日】2019-09-06
【審査請求日】2022-06-14
(73)【特許権者】
【識別番号】504157024
【氏名又は名称】国立大学法人東北大学
(73)【特許権者】
【識別番号】313003358
【氏名又は名称】東北マイクロテック株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(72)【発明者】
【氏名】小柳 光正
【審査官】北川 純次
(56)【参考文献】
【文献】米国特許出願公開第2019/0065943(US,A1)
【文献】米国特許出願公開第2018/0165573(US,A1)
【文献】米国特許出願公開第2019/0164038(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
第1方向に積層され、それぞれが積和演算
を行う積和演算部と、前記積和演算結果を活性化関数に代入して出力信号を出力する活性化関数回路と、を有するn層(nは任意の2以上の整数)のニューロ層と、
前記n層のニューロ層のそれぞれに接続され、それぞれのニューロ層の演算時の重みを設定するウェイトメモリ領域と、を備え、
それぞれの前記ニューロ層は、信号入力部と積和演算部と信号出力部とをそれぞれ有し、
第i層(iはn未満の任意の整数)の前記ニューロ層の信号出力部は、第i+1層の前記ニューロ層の信号入力部
と、前記第1方向に延びる層間配線で接続され、
第n層の前記ニューロ層の信号出力部は、第1層の前記ニューロ層の信号入力部
と、前記第1方向に延びる層間配線で接続されている、AIモジュール。
【請求項2】
前記第1層の前記ニューロ層から前記第n層の前記ニューロ層に向ってニューロ演算を行い、前記第n層の前記ニューロ層におけるニューロ演算の結果を前記第1層の前記ニューロ層に戻す、請求項1に記載のAIモジュール。
【請求項3】
前記ウェイトメモリ領域は、複数のウェイトメモリ層からなり、
前記複数のウェイトメモリ層は、前記第1方向から見て、前記n層のニューロ層と重なる位置にある、請求項1又は2に記載のAIモジュール。
【請求項4】
第1方向に積層され、それぞれが積和演算を行うことができるn層(nは任意の2以上の整数)のニューロ層と、
前記n層のニューロ層のそれぞれに接続され、それぞれのニューロ層の演算時の重みを設定するウェイトメモリ領域と、を備え、
それぞれの前記ニューロ層は、信号入力部と積和演算部と信号出力部とをそれぞれ有し、
第i層(iはn未満の任意の整数)の前記ニューロ層の信号出力部は、第i+1層の前記ニューロ層の信号入力部に接続され、
第n層の前記ニューロ層の信号出力部は、第1層の前記ニューロ層の信号入力部と接続されており、
前記ウェイトメモリ領域は、複数のウェイトメモリ層からなり、
前記複数のウェイトメモリ層は、前記第1方向から見て、前記n層のニューロ層と重なる位置にあり、
前記複数のウェイトメモリ層は、第1ウェイトメモリ層と第2ウェイトメモリ層とを備え、
前記第1ウェイトメモリ層は、前記n層のニューロ層のうち積層順の奇数番目の奇数層のそれぞれと接続され、
前記第2ウェイトメモリ層は、前記n層のニューロ層のうち積層順の偶数番目の偶数層のそれぞれと接続されている
、AIモジュール。
【請求項5】
前記第1方向から見て、前記第i層の信号出力部は、前記第i+1層の信号入力部と重なる位置にある、請求項1~4のいずれか一項に記載のAIモジュール。
【請求項6】
前記信号入力部及び前記信号出力部はそれぞれ、複数のニューロン素子を有し、
前記積和演算部は、
前記信号入力部の複数のニューロン素子とそれぞれ接続され、前記第1方向から見て第2方向に延びる複数のアクソン線と、
前記信号出力部の複数のニューロン素子とそれぞれ接続され、前記第2方向と交差する第3方向に延びる複数のデンドライト線と、
前記アクソン線と前記デンドライト線が交差する箇所に、行列状に配列した複数のシナプス回路と、を有する、請求項1~5のいずれか一項に記載のAIモジュール。
【請求項7】
それぞれのシナプス回路は、トランジスタを備え、
前記トランジスタは、入力信号が入力されるソースと、前記ウェイトメモリ領域で設定された重みが印加されるゲートと、前記入力信号に前記重みが掛け合わされた信号を出力するドレインと、を有する、請求項6に記載のAIモジュール。
【請求項8】
それぞれのシナプス回路は、前記信号入力部における2以上のニューロン素子と接続され、前記信号出力部における2以上のニューロン素子と接続される、請求項6又は7に記載のAIモジュール。
【請求項9】
第1方向に積層され、それぞれが積和演算を行うことができるn層(nは任意の2以上の整数)のニューロ層と、
前記n層のニューロ層のそれぞれに接続され、それぞれのニューロ層の演算時の重みを設定するウェイトメモリ領域と、を備え、
それぞれの前記ニューロ層は、信号入力部と積和演算部と信号出力部とをそれぞれ有し、
第i層(iはn未満の任意の整数)の前記ニューロ層の信号出力部は、第i+1層の前記ニューロ層の信号入力部に接続され、
第n層の前記ニューロ層の信号出力部は、第1層の前記ニューロ層の信号入力部と接続されており、
前記ウェイトメモリ領域は、複数のウェイトメモリ層からなり、
前記複数のウェイトメモリ層はそれぞれ、重み入力部と重み設定部と重み出力部とを備え、
前記重み出力部は、それぞれのニューロ層と接続され、
前記重み出力部は、前記積和演算部を構成する行列状に配列した複数のシナプス回路のうち同じ列又は同じ行に属するシナプス回路に同時に重みを書き込む
、AIモジュール。
【請求項10】
前記重み設定部は、
行列状に配列した複数のスイッチング素子と、
前記スイッチング素子のうち同じ列のスイッチング素子にそれぞれ接続されたワード線と、
前記スイッチング素子のうち同じ列のスイッチング素子にそれぞれ接続された第1ビット線と、
前記スイッチング素子のうち同じ行のスイッチング素子にそれぞれ接続された第2ビット線と、を備える、請求項9に記載のAIモジュール。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AIモジュールに関する。
【背景技術】
【0002】
近年、情報技術の発展に伴い、世の中で扱われるデータ量は加速度的に増加している。膨大なデータを処理する手段として人工知能(AI:Artificial Intelligence)に注目が集まっている。AIは、脳を模倣したニューラルネットワークによって情報を処理する。AIが学習を行うことで、情報の処理効率が高まる。
【0003】
例えば、特許文献1には、ニューラルネットワークの機能を有する半導体装置が記載されている。特許文献1に記載の半導体装置は、入力層、中間層、出力層のそれぞれに対応したメモリセルアレイを準備し、階層ごとに順に重みを乗算しながら、データを出力している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の半導体素子は、各階層に対応するメモリセルアレイを準備している。しかしながら、より複雑な情報を処理するためには、ニューラルネットワークの階層数やニューロン数を増やす必要がある。ニューラルネットワークの階層及びニューロン数に応じたメモリセルアレイを準備すると、半導体装置が大型化する。また各階層が演算を行うと、半導体装置が発熱し、高温になる。大型な設備を導入可能なクラウドサーバーに用いる人工知能であれば、半導体装置が大型化しても対応できるかもしれないが、小規模のAIモジュールに適用することは難しい。
【0006】
本発明は上記問題に鑑みてなされたものであり、小型で簡易に学習可能なAIモジュールを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するため、以下の手段を提供する。
【0008】
(1)第1の態様にかかるAIモジュールは、第1方向に積層され、それぞれが積和演算を行うことができるn層(nは任意の2以上の整数)のニューロ層と、前記n層のニューロ層のそれぞれに接続され、それぞれのニューロ層の演算時の重みを設定するウェイトメモリ領域と、を有し、それぞれの前記ニューロ層は、信号入力部と積和演算部と信号出力部とをそれぞれ有し、第i層(iはn未満の任意の整数)の前記ニューロ層の信号出力部は、第i+1層の前記ニューロ層の信号入力部に接続され、第n層の前記ニューロ層の信号出力部は、第1層の前記ニューロ層の信号入力部と接続されている。
【0009】
(2)上記態様にかかるAIモジュールにおいて、前記第1層の前記ニューロ層から前記第n層の前記ニューロ層に向ってニューロ演算を行い、前記第n層の前記ニューロ層におけるニューロ演算の結果を前記第1層の前記ニューロ層に戻してもよい。
【0010】
(3)上記態様にかかるAIモジュールにおいて、前記ウェイトメモリ領域は、複数のウェイトメモリ層からなり、前記複数のウェイトメモリ層は、前記第1方向から見て、前記n層のニューロ層と重なる位置にあってもよい。
【0011】
(4)上記態様にかかるAIモジュールにおいて、前記複数のウェイトメモリ層は、第1ウェイトメモリ層と第2ウェイトメモリ層とを備え、前記第1ウェイトメモリ層は、前記n層のニューロ層のうち積層順の奇数番目の奇数層のそれぞれと接続され、前記第2ウェイトメモリ層は、前記n層のニューロ層のうち積層順の偶数番目の偶数層のそれぞれと接続されていてもよい。
【0012】
(5)上記態様にかかるAIモジュールは、前記第1方向から見て、前記第i層の信号出力部は、前記第i+1層の信号入力部と重なる位置にあってもよい。
【0013】
(6)上記態様にかかるAIモジュールにおいて、前記信号入力部及び前記信号出力部はそれぞれ、複数のニューロン素子を有し、前記積和演算部は、前記信号入力部の複数のニューロン素子とそれぞれ接続され、前記第1方向から見て第2方向に延びる複数のアクソン線と、前記信号出力部の複数のニューロン素子とそれぞれ接続され、前記第2方向と交差する第3方向に延びる複数のデンドライト線と、前記アクソン線と前記デンドライト線が交差する箇所に、行列状に配列した複数のシナプス回路と、を有してもよい。
【0014】
(7)上記態様にかかるAIモジュールにおいて、それぞれのシナプス回路は、トランジスタを備え、前記トランジスタは、入力信号が入力されるソースと、前記ウェイトメモリ領域で設定された重みが印加されるゲートと、前記入力信号に前記重みが掛け合わされた信号を出力するドレインと、を有してもよい。
【0015】
(8)上記態様にかかるAIモジュールにおいて、それぞれのシナプス回路は、前記信号入力部における2以上のニューロン素子と接続され、前記信号出力部における2以上のニューロン素子と接続されていてもよい。
【0016】
(9)上記態様にかかるAIモジュールにおいて、前記ウェイトメモリ領域は複数のウェイトメモリ層からなり、前記複数のウェイトメモリ層はそれぞれ、重み入力部と重み設定部と重み出力部とを備え、前記重み出力部は、それぞれのニューロ層と接続され、前記重み出力部は、前記積和演算部を構成する行列状に配列した複数のシナプス回路のうち同じ列又は同じ行に属するシナプス回路に同時に重みを書き込む構成でもよい。
【0017】
(10)上記態様にかかるAIモジュールにおいて、前記重み設定部は、行列状に配列した複数のスイッチング素子と、前記スイッチング素子のうち同じ列のスイッチング素子にそれぞれ接続されたワード線と、前記スイッチング素子のうち同じ列のスイッチング素子にそれぞれ接続された第1ビット線と、前記スイッチング素子のうち同じ行のスイッチング素子にそれぞれ接続された第2ビット線と、を備えてもよい。
【発明の効果】
【0018】
上記態様にかかるAIモジュールによれば、簡易に学習が可能である。
【図面の簡単な説明】
【0019】
【
図1】ニューラルネットワークの一例の模式図である。
【
図2】本実施形態にかかるAIモジュールの模式図である。
【
図3】本実施形態にかかるAIモジュールの第1層をz方向から平面視した図である。
【
図4】本実施形態にかかるAIモジュールの第2層をz方向から平面視した図である。
【
図5】本実施形態にかかるAIモジュールの第1ウェイトメモリ層をz方向から平面視した図である。
【
図6】本実施形態にかかるAIモジュールの第2ウェイトメモリ層をz方向から平面視した図である。
【
図7】本実施形態にかかるAIモジュールのシナプス回路の一例である。
【
図8】本実施形態にかかるAIモジュールのシナプス回路の別の例である。
【
図9】本実施形態にかかるAIモジュールのシナプス回路の別の例である。
【
図10】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図11】本実施形態にかかるAIモジュールにおいて第1層への重みデータの書きこみを説明する回路図である。
【
図12】本実施形態にかかるAIモジュールにおいて第1層への重みデータの書きこみを説明する回路図である。
【
図13】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図14】本実施形態にかかるAIモジュールの別の例の回路図である。
【
図15】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図16】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図17】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図18】本実施形態にかかるAIモジュールの動作を説明する回路図である。
【
図19】第1変形例にかかるAIモジュールの模式図である。
【
図20】第2変形例にかかるAIモジュールの模式図である。
【
図21】第3変形例にかかるAIモジュールの模式図である。
【
図22】第4変形例にかかるAIモジュールの模式図である。
【
図23】畳み込みニューラルネットワークのイメージ図である。
【
図24】AIモジュールを畳み込みニューラルネットワークに適用する場合の第1層の平面図である。
【
図25】再帰型ニューラルネットワークRNNの模式図である。
【発明を実施するための形態】
【0020】
以下、本実施形態について、図を適宜参照しながら詳細に説明する。以下の説明で用いる図面は、本発明の特徴をわかりやすくするために便宜上特徴となる部分を拡大して示している場合があり、各構成要素の寸法比率などは実際とは異なっていることがある。以下の説明において例示される材料、寸法等は一例であって、本発明はそれらに限定されるものではなく、その要旨を変更しない範囲で適宜変更して実施することが可能である。
【0021】
本実施形態にかかるAIモジュールは、ニューラルネットワークの機能を有する。ニューラルネットワークは、脳機能にみられる特性を模倣した数理モデルである。
図1は、ニューラルネットワークの一例の模式図である。ニューラルネットワークNNは、脳機能を模倣しており、複数のニューロンNと複数のシナプスSを含む。
図1に示すニューラルネットワークNNは、各階層のそれぞれのニューロンNが、隣の階層のそれぞれのニューロンNとシナプスSで結合された全結合型のニューラルネットワークである。
【0022】
図1に示すニューラルネットワークNNは、入力層L
inと複数の隠れ層L
hと出力層L
outとを有する。
図1では、隠れ層L
hが3層の場合を例示したが、隠れ層L
hの層数は特に問わない。入力層L
inに入力されたデータは、シナプスSを介して、隠れ層L
h1、隠れ層L
h2、隠れ層L
h3、出力層L
outの順に伝わる。シナプスSの結合強度によってある階層のニューロンNから次の階層のニューロンNに伝わるデータは変化する。それぞれのシナプスSの結合強度が変わると、出力層L
outから出力されるデータが変わる。脳におけるシナプスSは、学習により結合強度が変わり、問題の正答性が向上する。ニューラルネットワークNNは、各階層を伝わるデータに重みを与えることで、シナプスSを模倣している。
【0023】
図2は、本実施形態にかかるAIモジュール100の模式図である。
図2に示すAIモジュールは、2層のニューロ層LNとウェイトメモリ領域Awとを有する。以下、ニューロ層LNのうちウェイトメモリ領域Awから遠い側から順に、第1層L1、第2層L2と称する。第2層L2は、第1層L1に積層されている。以下、第1層L1に対して第2層L2が積層されている方向をz方向と称する。またz方向と直交する面のうちの一方向をx方向、x方向と直交する方向をy方向と称する。
【0024】
それぞれのニューロ層LN、すなわち第1層L1及び第2層L2はそれぞれ、信号入力部Sinと積和演算部MAと信号出力部Soutを有する。第1層L1の信号出力部Soutは、第2層の信号入力部Sinと層間配線Iw1で接続されている。また第2層L2の信号出力部Soutは、第1層の信号入力部Sinと層間配線Iw2で接続されている。
【0025】
第1層L1で出力された信号は第2層L2に入力され、第2層L2から出力された信号は第1層L1に入力される。AIモジュール100に入力された信号は、第1層L1と第2層L2との間をサイクルする。
図1に示すニューラルネットワークNNと比較すると、まず第1層L1で入力層L
inから隠れ層L
h1に至るニューロ演算が行われる。次いで、第1層L1から出力されたデータは第2層L2に至り、第2層L2で隠れ層L
h1から隠れ層L
h2に至るニューロ演算が行われる。次いで、第2層L2から出力されたデータは再度、第1層L1に至り、第1層L1で隠れ層L
h2から隠れ層L
h3に至るニューロ演算が行われる。最後に、第1層L1から出力されたデータは再度、第2層L2に至り、第2層L2で隠れ層L
h3から出力層L
outに至るニューロ演算が行われる。
【0026】
図2に示すウェイトメモリ領域Awは、第1ウェイトメモリ層Lw1と第2ウェイトメモリ層Lw2とを有する。第1ウェイトメモリ層Lw1及び第2ウェイトメモリ層Lw2は、第2層L2のz方向にある。例えば、第1ウェイトメモリ層Lw1は、第2層L2上に積層され、第2ウェイトメモリ層Lw2は、第1ウェイトメモリ層Lw1上に積層されている。図示省略しているが、第1ウェイトメモリ層Lw1は、例えば、第1層L1と接続され、第2ウェイトメモリ層Lw2は、例えば、第2層L2と接続されている。第1ウェイトメモリ層Lw1は、第1層L1の積和演算部MAに重みデータを入力し、第2ウェイトメモリ層Lw2は、第2層L2の積和演算部MAに重みデータを入力する。
【0027】
次いで、AIモジュールの各層について具体的に説明する。
図3は、第1層L1をz方向から平面視した図である。
図3に示すように、第1層L1は、信号入力部S
inと積和演算部MAと信号出力部S
outを有する。第1層L1の信号入力部S
inは、例えば、積和演算部MAの-x方向にある。第1層L1の信号出力部S
outは、例えば、積和演算部MAの-y方向にある。信号入力部S
inと信号出力部S
outは、例えば、積和演算部MAを基準に90°ずれた位置にある。
【0028】
信号入力部S
inは、例えば、複数のニューロン素子11と複数のアクソンドライバ12と複数のデマルチプレクサ13とを有する。それぞれのニューロン素子11には、アクソンドライバ12とデマルチプレクサ13とが一つずつ接続されている。ニューロン素子11は、
図1に示すニューロンNに対応する。ニューロン素子11は、例えば、信号を入出力する増幅器である。アクソンドライバ12は、それぞれのニューロン素子11から積和演算部MAに至る信号を制御する。デマルチプレクサ13は、1つの信号を2つ以上の信号として出力する機構である。信号入力部S
inは、デマルチプレクサ13を有さなくてもよい。
【0029】
信号出力部S
outは、例えば、複数のニューロン素子21と複数のデンドライトドライバ22と複数のマルチプレクサ23とを有する。それぞれのニューロン素子21には、デンドライトドライバ22とマルチプレクサ23とが一つずつ接続されている。ニューロン素子21は、
図1に示すニューロンNに対応する。ニューロン素子21は、例えば、信号を入出力する増幅器である。デンドライトドライバ22は、積和演算部MAからそれぞれのニューロン素子21に至る信号を制御する。マルチプレクサ23は、2つ以上の信号を1つの信号として出力する機構である。信号出力部S
outは、マルチプレクサ23を有さなくてもよい。
【0030】
積和演算部MAは、積和演算を行う。積和演算部MAは、複数のアクソン線alと複数のシナプス回路scと複数のデンドライト線dlとを有する。アクソン線alは、信号入力部S
inのニューロン素子11とそれぞれ接続されている。
図3に示すアクソン線alは、例えば、x方向に延びる。デンドライト線dlは、アクソン線alと交差する方向に延びる。デンドライト線dlは、例えば、y方向に延びる。デンドライト線dlは、後述する信号出力部S
outのニューロン素子21とそれぞれ接続されている。複数のシナプス回路scは、アクソン線alとデンドライト線dlとがそれぞれ交差する箇所にある。複数のシナプス回路scは、行列状に配列している。複数のシナプス回路scは、
図1に示すシナプスSに対応する。
【0031】
図4は、第2層L2をz方向から平面視した図である。
図4に示すように、第2層L2は、信号入力部S
inと積和演算部MAと信号出力部S
outを有する。信号入力部S
in、積和演算部MA、信号出力部S
outのそれぞれの構成は、第1層L1と同様である。第2層L2は、信号入力部S
in及び信号出力部S
outの積和演算部MAに対する位置関係が第1層L1と逆になっている。第2層L2の信号入力部S
inは、例えば、積和演算部MAの-y方向にある。第2層L2の信号出力部S
outは、例えば、積和演算部MAの-x方向にある。そのため、アクソン線alはy方向に延び、デンドライト線dlはx方向に延びる。
【0032】
第2層L2の信号入力部S
inは、例えば、第1層L1の信号出力部S
outとz方向に重なる。
図2に示すように、第1層L1の信号出力部S
outと第2層L2の信号入力部S
inとは、z方向に延びる層間配線Iw1で接続されている。また第2層L2の信号出力部S
outは、第1層L1の信号入力部S
inとz方向に重なる。
図2に示すように、第2層L2の信号出力部S
outと第1層L1の信号入力部S
inとは、z方向に延びる層間配線Iw2で接続されている。
【0033】
図5は、第1ウェイトメモリ層Lw1をz方向から平面視した図である。
図5に示すように、第1ウェイトメモリ層Lw1は、重み入力部W
inと重み設定部W
sと重み出力部W
outとを備える。第1ウェイトメモリ層Lw1において、重み入力部W
inは、例えば、重み設定部W
sの-y方向にある。第1ウェイトメモリ層Lw1において、重み出力部W
outは、例えば、重み設定部W
sの-x方向にある。重み入力部W
inと重み出力部W
outとは、例えば、重み設定部W
sを基準に90°ずれた位置にある。
【0034】
図6は、第2ウェイトメモリ層Lw2をz方向から平面視した図である。
図6に示すように、第2ウェイトメモリ層Lw2は、重み入力部W
inと重み設定部W
sと重み出力部W
outとを備える。第2ウェイトメモリ層Lw2において、重み入力部W
inは、例えば、重み設定部W
sの-x方向にある。第2ウェイトメモリ層Lw2において、重み出力部W
outは、例えば、重み設定部W
sの-y方向にある。重み設定部Wsに対する重み入力部W
inと重み出力部W
outとの位置関係は、第1ウェイトメモリ層Lw1と逆転している。
【0035】
重み入力部Winは、複数のアナログデジタルコンバータ31と複数のデマルチプレクサ32とを有する。アナログデジタルコンバータ31は、アナログ信号をデジタル信号に変換する。デマルチプレクサ32は、1つの信号を2つ以上の信号として出力する機構である。
【0036】
第1ウェイトメモリ層Lw1の重み入力部Winは、例えば、第1層L1の信号出力部Soutとz方向に重なる。第2ウェイトメモリ層Lw2の重み入力部Winは、例えば、第2層L2の信号出力部Soutとz方向に重なる。それぞれの重み入力部Winには、アナログ信号の重みデータが入力される。アナログ信号の重みデータは、例えば、それぞれのニューロ層LNにおける学習の結果として、それぞれの重み入力部Winに入力される。
【0037】
重み設定部Wsは、第1層L1、第2層L2のニューロ演算時にシナプス回路scに与える重みを設定する。第1ウェイトメモリ層Lw1の重み設定部Wsは、第1層L1のシナプス回路scに与える重みを設定する。第2ウェイトメモリ層Lw2の重み設定部Wsは、第2層L2のシナプス回路scに与える重みを設定する。重み設定部Wsは、スイッチング素子を含む複数のメモリセルmcと複数のワード線wlと複数の第1ビット線bl1と複数の第2ビット線bl2とを備える。
【0038】
複数のメモリセルmcは、行列状に配列している。それぞれのメモリセルmcは、ワード線wl、第1ビット線bl1、第2ビット線bl2が1本ずつ接続されている。
【0039】
ワード線wlは、それぞれ重み入力部Winから一方向に延びる。第1ウェイトメモリ層Lw1におけるワード線wlはy方向に延び、第2ウェイトメモリ層Lw2におけるワード線wlはx方向に延びる。それぞれのワード線wlは、同じ列又は行に属するメモリセルmcにそれぞれ接続されている。第1ビット線bl1は、それぞれ重み入力部Winから一方向に延びる。第1ウェイトメモリ層Lw1における第1ビット線bl1はy方向に延び、第2ウェイトメモリ層Lw2における第1ビット線bl1はx方向に延びる。それぞれの第1ビット線bl1は、同じ列又は行に属するメモリセルmcにそれぞれ接続されている。第2ビット線bl2は、それぞれ重み出力部Woutから一方向に延びる。第1ウェイトメモリ層Lw1における第2ビット線bl2はx方向に延び、第2ウェイトメモリ層Lw2における第2ビット線bl2はy方向に延びる。それぞれの第2ビット線bl2は、同じ行又は列に属するメモリセルmcにそれぞれ接続されている。ワード線wlと第1ビット線bl1で重みデータが書き込まれる。書き込まれた重みデータは、第2ビット線bl2を介して、重みデータが入力された方向に対して90°傾いた方向に出力される。
【0040】
重み出力部Woutは、複数のデジタルアナログコンバータ41と複数のドライバ42とマルチプレクサ43とを有する。デジタルアナログコンバータ41は、デジタル信号をアナログ信号に変換する。ドライバ42は、それぞれのニューロ層LNへの重みデータの出力を制御する。マルチプレクサ43は、2つ以上の信号を1つの信号として出力する機構である。
【0041】
第1ウェイトメモリ層Lw1の重み出力部Woutは、例えば、第1層L1の信号入力部Sin及び第2層L2の信号出力部Soutとz方向に重なる。第1ウェイトメモリ層Lw1の重み出力部Woutは、例えば、第1層L1の信号入力部Sinと接続される。第1ウェイトメモリ層Lw1の重み出力部Woutから第1層L1の各シナプス回路scに重みデータが出力される。第2ウェイトメモリ層Lw2の重み出力部Woutは、例えば、第1層L1の信号出力部Sout及び第2層L2の信号入力部Sinとz方向に重なる。第2ウェイトメモリ層Lw2の重み出力部Woutは、例えば、第2層L2の信号入力部Sinと接続される。第2ウェイトメモリ層Lw2の重み出力部Woutから第2層L2の各シナプス回路scに重みデータが出力される。
【0042】
第1ウェイトメモリ層Lw1の重み出力部W
outから第1層L1に入力された重みデータは、それぞれのアクソン線alと並行に配置された重みデータ書き込み線wwl(
図10~
図18参照)を介して、第1層L1において行列状に配列した複数のシナプス回路scのうち同じ列に属するシナプス回路scに同時に書き込まれる。第2ウェイトメモリ層Lw2の重み出力部W
outから第2層L2に入力された重みデータは、それぞれのアクソン線alと並行に配置された重みデータ書き込み線wwl(
図10~
図18参照)を介して、第2層L2において行列状に配列した複数のシナプス回路scのうち同じ行に属するシナプス回路scに同時に書き込まれる。
【0043】
次いで、本実施形態にかかるAIモジュールの動作について説明する。まず、
図2に示す第1層L1の信号入力部S
inのそれぞれのニューロン素子11にデータが入力される。この時点において第1層L1の信号入力部S
inのそれぞれのニューロン素子11は、
図1における入力層L
inのそれぞれのニューロンNに対応する。それぞれのニューロン素子11に入力されたデータは、積和演算部MAに入力される。積和演算部MAにデータが入力されるタイミングは、アクソンドライバ12によって制御される。
【0044】
積和演算部MAでは積和演算が行われる。積和演算部MAは、例えば、uj=Σwjixi+bで表記される演算を行う。wjiは、それぞれのシナプス回路scに与えられる重みであり、xは入力値であり、bはバイアスである。
【0045】
図7は、本実施形態にかかるシナプス回路の一例である。シナプス回路scは、重みトランジスタTr1、重みキャパシタC1、バイアストランジスタTr2、バイアスキャパシタC2、制御トランジスタTr3を有する。
【0046】
重みトランジスタTr1は、入力信号xiが入力されるソースsoと、重みwjiが印加されるゲートgaと、信号wjixiを出力するドレインdrと、を有する。重みキャパシタC1は、ウェイトメモリ層Lwの重み出力部Woutから印加された重みwjiの情報を電荷として蓄積する。重みwjiの情報は、第1ウェイトメモリ層Lw1から印加される。重みキャパシタC1は、重みトランジスタTr1のゲートgaに重みwjiを印加する。入力信号xiは、重みトランジスタTr1のソースsoに入力される。重みトランジスタTr1を通過する際に、入力信号xiに重みwjiの情報が掛け合わされる。ドレインdrからは入力信号xiに重みwjiが掛け合わされた信号wjixiが出力される。
【0047】
バイアストランジスタTr2は、バイアスbiを制御する。信号wjixiにバイアスbiが印加されると、信号wjixiにバイアスbiが加算された情報が、バイアスキャパシタC2に蓄積される。バイアスキャパシタC2に十分な電荷が印加されると、制御トランジスタTr3が動作する。制御トランジスタTr3が動作することで、信号ui=wjixi+biが出力される。信号uiは、電荷として出力される。
【0048】
信号uiは、デンドライト線dlを介して、信号出力部Soutに至る。同じデンドライト線dlに接続されるシナプス回路scからの信号は、デンドライト線dlに集まり、加算される。信号出力部Soutには、演算結果としてuj=Σwjixi+bの値が入力される。演算結果として得られた値は、活性化関数と呼ばれる演算(zj=f(uj))が施され、出力信号zjとして出力される。
【0049】
第1層L1の信号出力部Soutに出力された出力信号zjは、第2層L2の信号入力部Sinに入力される。第2層L2の積和演算部MAにおいても、第1層L1と同様の処理が行われる。第2層L2の積和演算を行う際は、第2ウェイトメモリ層Lw2によって第2層L2の各シナプス回路scに重みが設定される。第2層L2の各シナプス回路scに印加される重みは、第1層L1の各シナプス回路scに印加される重みと異なる。第2層L2の積和演算部MAにおける積和演算結果は、第2層L2の信号出力部Soutに出力信号が出力される。
【0050】
次いで、第2層L2の信号出力部S
outに出力された出力信号は、第1層L1の信号入力部S
inに、再度入力される。第1層L1では、上記と同様の処理が行われる。2回目の積和演算を行う際は、第1ウェイトメモリ層Lw1によって第1層L1の各シナプス回路scの重みが新たに設定される。すなわち、AIモジュール100は、第1層L1と第2層L2とで、交互にニューロ演算を行う。最後に、第1層L1又は第2層L2の信号出力部S
outからデータが取り出される。データが取り出された信号出力部S
outのニューロン素子は、
図1に示す出力層L
outのニューロンNに対応する。またデータが取り出されるまでの第1層L1及び第2層L2における演算処理は、
図1に示す隠れ層L
hにおけるニューロ演算に対応する。
【0051】
図7では、電荷をベースとしたシナプス回路scを例示したが、シナプス回路はこの例に限られない。
【0052】
図8は、本実施形態にかかるシナプス回路の別の例である。
図8に示すシナプス回路sc1は、重みトランジスタTr1と重みキャパシタC1とを備える。
図8に示すシナプス回路sc1は、積演算結果として信号u
iを電流で出力する。同じデンドライト線dlに接続されてシナプス回路sc1からの信号u
iは、電流量として加算される。
【0053】
図9は、本実施形態にかかるシナプス回路の別の例である。
図9に示すシナプス回路sc2は、重みトランジスタTr1と重みキャパシタC1と電圧変換キャパシタC3と制御トランジスタTr4を備える。
図9に示すシナプス回路sc2は、積演算結果として信号u
iを電圧で出力する。同じデンドライト線dlに接続されてシナプス回路sc2からの信号u
iは、電圧として加算される。
【0054】
次いで、シナプス回路を
図8に示す電流加算型のシナプス回路sc1を用いた場合を例に、AIモジュール100の回路の動作を、
図10~
図18を用いて説明する。
図10~
図18は、AIモジュール100の回路の動作を模式的に示した図である。
図10、
図13~
図18に示す第1層L1及び第2層L2は、簡単のため一つのシナプス回路sc1のみを図示しているが、シナプス回路scは行列状に配列している。
【0055】
AIモジュール100を動作させる際は、まず第1層L1及び第2層L2のそれぞれの端子を接地し、データをリフレッシュする。次いで、
図10に示すように、ウェイトメモリ領域Awから第1層L1に重みのデータを書き込む。重みのデータは、例えば、第1ウェイトメモリ層Lw1の重み設定部Wsからデジタルアナログコンバータ41を介して、第1層L1の重み端子wtに入力される。第1層L1のシナプス回路sc1のスイッチング素子sw1が接続されると、重みデータ書き込み線wwlを介して、第1層L1の重みキャパシタC1に重みのデータが電荷として蓄積される。スイッチング素子sw1を切断した後も、重みキャパシタC1に重みのデータが保存される。
【0056】
重みのデータは、行列状に配列した複数のシナプス回路sc1のうち同じ列に属するシナプス回路sc1に同時に書き込んでもよい。
図11及び
図12は、第1層L1のそれぞれのシナプス回路sc1に重みのデータを書き込む手順を模式的に示した図である。上述のように、第1層L1においてシナプス回路sc1は、行列状に配列している。
【0057】
まず
図11に示すように、第1列Col1に属するシナプス回路sc1のスイッチング素子sw1を接続することで、第1列Col1に属するシナプス回路sc1の重みキャパシタC1のそれぞれに同時に重みのデータが蓄積される。次いで、
図12に示すように、第1列Col1に属するシナプス回路sc1のスイッチング素子sw1を切断し、第2列Col2に属するシナプス回路sc1のスイッチング素子sw1を接続することで、第2列Col2に属するシナプス回路sc1の重みキャパシタC1のそれぞれに同時に重みのデータが蓄積される。この手順を第3列Col3以降も順に行うことで、全てのシナプス回路sc1に効率的に重みのデータが書き込まれる。
【0058】
次いで、
図13に示すように、外部からデータが第1層L1のニューロン素子11のそれぞれに入力される。第1層L1では、ニューロン素子11と重みトランジスタTr1との間のスイッチング素子sw2,sw3,sw4が接続される。重みトランジスタTr1では、入力されたデータと重みのデータが掛け合わされる。2つのデータを積演算した結果は、第1層L1の和演算部Sumに送られる。和演算部Sumには、同じデンドライト線dlに接続されたシナプス回路sc1からの積演算結果が集まり、和演算が行われる。すなわち、第1層L1において積和演算された結果が、和演算部Sumに蓄積される。
【0059】
また
図14は、第1層L1の別の例の回路模式図である。
図14に示すように、積和演算部MAは、和演算部Sumとニューロン素子21との間に、活性化関数回路afを有してもよい。活性化関数回路afは、和演算の結果(u
j=Σw
jix
i+b)に活性化関数と呼ばれる演算(z
j=f(u
j))を施す。活性化関数は、任意に設定可能である。
【0060】
次いで、
図15に示すように、第1層L1の和演算部Sumのスイッチング素子sw5を接続する。第1層L1のニューロン素子21から出力されたデータは、第2層L2のニューロン素子11に入力される。また
図15に示すように、ウェイトメモリ領域Awから第2層L2に重みのデータを書き込む。重みのデータは、例えば、第2ウェイトメモリ層Lw2の重み設定部Wsからデジタルアナログコンバータ41を介して、第2層L2の重み端子wtに入力される。第2層L2のシナプス回路sc1のスイッチング素子sw1が接続されると、重みデータ書き込み線wwlを介して、第2層L2の重みキャパシタC1に重みのデータが蓄積される。スイッチング素子sw1を切断した後も、重みキャパシタC1に重みのデータが保存される。重みのデータは、行列状に配列した複数のシナプス回路sc1のうち同じ行に属するシナプス回路sc1に同時に書き込んでもよい。同じ行に属するシナプス回路scに同時にデータを書き込む方法は、
図11及び
図12に示す方法と同様である。
【0061】
次いで、
図16に示すように、第2層L2において、スイッチング素子sw1を切断し、ニューロン素子11と重みトランジスタTr1との間のスイッチング素子sw2,sw3,sw4が接続される。重みトランジスタTr1では、入力されたデータと重みのデータが掛け合わされる。2つのデータを積演算した結果は、和演算部Sumに送られる。和演算部Sumには、同じデンドライト線dlに接続されたシナプス回路sc1からの積演算結果が集まり、和演算が行われる。すなわち、第2層L2において積和演算された結果が、和演算部Sumに蓄積される。
【0062】
次いで、
図17に示すように、第2層L2の和演算部Sumのスイッチング素子sw5を接続する。第2層L2のニューロン素子21から出力されたデータは、第1層L1のニューロン素子11に入力される。また
図17に示すように、ウェイトメモリ領域Awから第1層L1に重みのデータを書き込む。第1層L1のシナプス回路sc1のスイッチング素子sw1が接続されると、第1層L1の重みキャパシタC1に新たな重みのデータが蓄積される。
【0063】
次いで、
図18に示すように、第1層L1において、スイッチング素子sw1を切断し、ニューロン素子11と重みトランジスタTr1との間のスイッチング素子sw2,sw3,sw4が接続される。重みトランジスタTr1では、入力されたデータと重みのデータが掛け合わされる。和演算部Sumには、同じデンドライト線dlに接続されたシナプス回路sc1からの積演算結果が集まり、和演算が行われる。第1層L1のスイッチング素子sw5が接続され、第1層L1のニューロン素子21から出力されたデータは、再度、第2層L2のニューロン素子11に入力される。また第1層L1のニューロン素子21から出力されたデータの一部は、アナログデジタルコンバータ31を介して重み設定部Wsにフィードバックされる。AIモジュール100は、第1層L1と第2層L2の動作を繰り返して、ニューロ演算を行う。
【0064】
本実施形態にかかるAIモジュール100は、複数のニューロ層LNの間でデータをサイクリックに演算する。ニューラルネットワークNNは、階層数が増えるほど複雑な処理を行うことができる。しかしながら、実際のデバイスにおいてニューロ層LNの層数が増えると、デバイスが大型化する。またそれぞれのニューロ層LNが演算を行い、発熱するため、デバイスが高温になる。デバイスが高温になると、動作が不安定になり、消費電力も増大する。
【0065】
今後、インターネットに接続された個別のエッジサーバにも、学習機能が求められることが予想される。例えば、各個人にカスタマイズされた情報を学習するデバイスに、大型で大規模な冷却システムが必要なAIモジュールは適用しにくい。本実施形態にかかるAIモジュール100は、ニューラルネットワークNNの階層が増えても、ニューロ層LNの層数を増やす必要がない。したがって、本実施形態にかかるAIモジュール100は、小型で、低消費電力で駆動できる。本実施形態にかかるAIモジュール100は、個別のエッジサーバにも適用可能である。
【0066】
ここまで本発明の実施形態について図面を参照して詳述したが、実施形態における各構成及びそれらの組み合わせ等は一例であり、本発明の趣旨から逸脱しない範囲内で、構成の付加、省略、置換、及びその他の変更が可能である。
【0067】
図19は、第1変形例にかかるAIモジュール101の模式図である。
図19に示すAIモジュール101は、ニューロ層LNの数がn層である点が
図2に示すAIモジュール100と異なる。
図2と同様の構成については、同様の符号を付し、説明を省く。
【0068】
図19に示すAIモジュール101は、n層のニューロ層LNとウェイトメモリ領域Awとを有する。以下、ニューロ層LNのうちウェイトメモリ領域Awから遠い側から順に、第1層L1、・・・、第i層Li、第i+1層Li+1、・・・、第n層Lnと称する。nは2以上の整数であり、iはn未満の整数である。
【0069】
それぞれのニューロ層LNはそれぞれ、信号入力部Sinと積和演算部MAと信号出力部Soutを有する。z方向から見て、第i層Liの信号出力部Soutは、第i+1層Li+1の信号入力部Sinと重なる位置にある。第i層Liの信号出力部Soutは、第i+1層の信号入力部Sinと層間配線Iw1で接続されている。また第n層Lnの信号出力部Soutは、第1層L1の信号入力部Sinと層間配線Iw2で接続されている。ニューロ演算は、第1層L1から第n層Lnに向って順に行われ、第n層Lnの演算結果は、第1層L1に戻される。
【0070】
またウェイトメモリ領域Awは、第1ウェイトメモリ層Lw1と第2ウェイトメモリ層Lw2からなる。第1ウェイトメモリ層Lw1は、例えば、n層のニューロ層のうち積層順の奇数番目の奇数層のそれぞれと接続されている。第2ウェイトメモリ層Lw2は、例えば、n層のニューロ層のうち積層順の偶数番目の偶数層のそれぞれと接続されている。
図19では、第1ウェイトメモリ層Lw1及び第2ウェイトメモリ層Lw2がそれぞれ1層の場合を図示したが、第1ウェイトメモリ層Lw1及び第2ウェイトメモリ層Lw2はそれぞれ複数層であってもよい。第1ウェイトメモリ層Lw1が複数の場合、奇数層のニューロ層は、いずれかの第1ウェイトメモリ層Lw1と接続される。第2ウェイトメモリ層Lw2が複数の場合、偶数層のニューロ層は、いずれかの第2ウェイトメモリ層Lw2と接続される。
【0071】
第1変形例にかかるAIモジュール101は、複数のニューロ層LNの間でデータをサイクリックに演算する。したがって、第1変形例にかかるAIモジュール101も、上述のAIモジュール100と同様の効果を奏する。
【0072】
図20は、第2変形例にかかるAIモジュール102の模式図である。第2変形例にかかるAIモジュールは、ニューロ層とウェイトメモリ層とが交互に積層されている点が、
図2に示すAIモジュール100と異なる。
【0073】
第2変形例にかかるAIモジュール102も、複数のニューロ層LNの間でデータをサイクリックに演算する。したがって、第2変形例にかかるAIモジュール102も、上述のAIモジュール100と同様の効果を奏する。
【0074】
図21は、第3変形例にかかるAIモジュール103の模式図である。第3変形例にかかるAIモジュールは、ウェイトメモリ領域Awを一つの構造体としている点が、
図2に示すAIモジュール100と異なる。
【0075】
ここまでウェイトメモリ領域Awが、複数のニューロ層LNとz方向から見て重なる場合を示してきたが、ウェイトメモリ領域Awは、xy面内においてニューロ層LNと異なる位置にあってもよい。またウェイトメモリ領域Awは、それぞれのニューロ層LNと同等の大きさである必要はなく、ウェイトメモリ領域Awをそれぞれのニューロ層LNに対して大きくしてもよい。例えば、第1ウェイトメモリ層Lw1の構成と第2ウェイトメモリ層Lw2の構成とを同一平面上に形成してもよい。第1ウェイトメモリ層Lw1と第1層L1及び第2ウェイトメモリ層Lw2と第2層L2は、それぞれ配線によって接続される。
【0076】
第3変形例にかかるAIモジュール103も、複数のニューロ層LNの間でデータをサイクリックに演算する。したがって、第3変形例にかかるAIモジュール103も、上述のAIモジュール100と同様の効果を奏する。
【0077】
図22は、第4変形例にかかるAIモジュールの第1層L1Aの平面図である。
図22に示すAIモジュールは、それぞれのニューロ層の構成が、第1実施形態にかかるAIモジュール100と異なる。
図22では、ニューロ層の一例として第1層L1Aのみを示す。
図3と同様の構成については、同様の符号を付し、説明を省く。
【0078】
第1層L1Aの信号入力部S
inは、複数のニューロン素子11A,11B,11Cと複数のアクソンドライバ12と複数のデマルチプレクサ13とを有する。それぞれのアクソンドライバ12には、ニューロン素子11A、ニューロン素子11B、ニューロン素子11Cがそれぞれ接続されている。それぞれのアクソンドライバ12に複数のニューロン素子11A,11B,11Cが直列に接続されている点が、
図3と異なる。
【0079】
第1層L1Aの信号出力部S
outは、複数のニューロン素子21A,21B,21Cと複数のデンドライトドライバ22と複数のマルチプレクサ23とを有する。それぞれのデンドライトドライバ22には、ニューロン素子21A、ニューロン素子21B、ニューロン素子21Cがそれぞれ接続されている。それぞれのデンドライトドライバ22に複数のニューロン素子21A,21B,21Cが並列に接続されている点が、
図3と異なる。
【0080】
第4変形例にかかるAIモジュールは以下のように動作させる。まず複数のニューロン素子11Aと複数のニューロン素子21Aとの間で積和演算を行う。次いで、複数のニューロン素子11Bと複数のニューロン素子21Bとの間で積和演算を行う。最後に、複数のニューロン素子11Cと複数のニューロン素子21Cとの間で積和演算を行う。第2変形例にかかるAIモジュールは、時系列を利用して、各階層のニューロンNをブロックごとに区分して複数回ニューロ演算を行う。例えば、一つのブロックに10個のニューロンが割り当てられていた場合、n回のニューロ演算は、10×n個同士のニューロン間におけるニューロ演算と同等の処理となる。すなわち、第4変形例にかかるAIモジュールは、各階層のニューロ演算をブロックごとに複数回分けて行うことで、各階層の実効的なニューロン数を増やすことができる。ニューラルネットワークNNは、各階層におけるニューロン数が増えるほど複雑な処理を行うことができる。
【0081】
またここまで、AIモジュール100を全結合型のニューラルネットワークNNに適用する例を説明したが、AIモジュール100は畳み込みニューラルネットワーク、再帰型ニューラルネットワークにも適用可能である。
【0082】
畳み込みニューラルネットワークCNNは、画像認識の分野で優れた性能を発揮しているネットワークである。
図23は、畳み込みニューラルネットワークCNNのイメージ図である。画像Pの各ピクセルの情報は、グルーピングして演算され、第1層L1のニューロンNに至る。また第1層L1のそれぞれのニューロンNからの情報は、グルーピングして演算され、第2層L2のニューロンNに至る。全結合型のニューラルネットワークNNの場合、各層のニューロンN同士は、シナプスSによって網羅的に結線される。これに対し、畳み込みニューラルネットワークCNNは、ニューロンN同士の結合を制限し、重みを複数のシナプスSで共有する。
【0083】
本実施形態にかかるAIモジュール100を畳み込みニューラルネットワークCNNに適用する場合、各層の積和演算部MAを複数のグループgrにグルーピングする。
図24は、AIモジュール100を畳み込みニューラルネットワークCNNに適用する場合の第1層L1Bの平面図である。積和演算部MAは、複数のグループgrにグルーピングされ、それぞれのグループgrには同じ重みが共有される。積和演算部MAを複数のグループgrにグルーピングすることで、各層で情報をフィルタリングすることができる。
【0084】
再帰型ニューラルネットワークRNNは、ニューラルネットワークを拡張して時系列のデータを扱えるようにしたものである。時系列のデータとは、時間の経過とともに値が変化するデータであり、株価等はその一例である。
図25は、再帰型ニューラルネットワークRNNの模式図である。
図25は、簡単のため、隠れ層Lhを1層としている。再帰型ニューラルネットワークRNNは、隠れ層Lhが帰還路Rrを有する点が、全結合型のニューラルネットワークと異なる。帰還路Rrは、時刻tにおける隠れ層Lhからの出力を時刻t+1における隠れ層Lhに入力する。時刻t+1の隠れ層Lhは、時刻tにおける隠れ層Lhの出力を踏まえたニューロ演算を行うことができる。
【0085】
本実施形態にかかるAIモジュールは、階層間におけるニューロ演算の結果を、ウェイトメモリ層Lwが記録する。したがって、時刻tにおける隠れ層Lhの演算結果は、ウェイトメモリ層Lwに記録されている。時刻t+1における隠れ層Lhの演算を行う際に、ウェイトメモリ層Lwに記録された時刻tにおける隠れ層Lhの演算結果を参照することで、再帰型ニューラルネットワークRNNとして機能できる。
【符号の説明】
【0086】
11,11A,11B,11C,21,21A,21B,21C ニューロン素子
100,101 Aiモジュール
af 活性化関数回路
al アクソン線
bl1 第1ビット線
bl2 第2ビット線
dl デンドライト線
Iw1,Iw2 層間配線
L1,L1A 第1層
L2 第2層
Li 第i層
Li+1 第i+1層
Ln 第n層
Aw ウェイトメモリ領域
Lw1 第1ウェイトメモリ層
Lw2 第2ウェイトメモリ層
MA 積和演算部
N ニューロン
sc,sc1,sc2 シナプス回路
Sin 信号入力部
Sout 信号出力部
Sum 和演算部
sw スイッチング素子
Win 重み入力部
Wout 重み出力部
Ws 重み設定部
wwl 重みデータ書き込み線