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

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

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

特開2023-140136乗算装置、積和演算装置、行列演算装置およびリザバー装置
<>
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図1
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図2
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図3
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図4
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図5
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図6
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図7
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図8
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図9
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図10
  • 特開-乗算装置、積和演算装置、行列演算装置およびリザバー装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140136
(43)【公開日】2023-10-04
(54)【発明の名称】乗算装置、積和演算装置、行列演算装置およびリザバー装置
(51)【国際特許分類】
   G06N 3/063 20230101AFI20230927BHJP
   G06N 3/044 20230101ALI20230927BHJP
【FI】
G06N3/063
G06N3/04 145
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022046012
(22)【出願日】2022-03-22
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】丸亀 孝生
(72)【発明者】
【氏名】水島 公一
(72)【発明者】
【氏名】西 義史
(72)【発明者】
【氏名】野村 久美子
(57)【要約】
【課題】長期間精度良く演算を実行する。
【解決手段】実施形態に係る乗算装置は、入力値と重み値とを乗算した出力値を出力する。乗算装置は、短期記憶回路と、長期記憶回路と、変換回路と、制御回路とを備える。短期記憶回路は、電荷により重み値に応じた第1制御電圧を発生する。長期記憶回路は、短期記憶回路より大きい時定数の回路により、重み値に応じた第2制御電圧を発生する。変換回路は、制御端子に短期記憶回路から発生された第1制御電圧が印加されるとともに、入力端子に入力値に応じた入力電圧が印加されることにより、出力端子から入力電圧とコンダクタンスとを乗じた出力電流を出力値として出力する。制御回路は、長期記憶回路から短期記憶回路へと電荷を転送することにより、短期記憶回路から発生される第1制御電圧を、長期記憶回路から発生される第2制御電圧に一致させる校正処理を実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
入力値と重み値とを乗算した出力値を出力する乗算装置であって、
電荷を保持し、保持している電荷により前記重み値に応じた第1制御電圧を発生する短期記憶回路と、
前記短期記憶回路より大きい時定数の回路により、前記重み値に応じた第2制御電圧を発生する長期記憶回路と、
制御端子に印加された電圧に応じてコンダクタンスが変更され、入力端子に印加された電圧に前記コンダクタンスを乗じた電流を出力端子から出力する変換回路と、
制御回路と、
を備え、
前記変換回路は、前記制御端子に前記短期記憶回路から発生された前記第1制御電圧が印加されるとともに、前記入力端子に前記入力値に応じた入力電圧が印加されることにより、前記出力端子から前記入力電圧と前記コンダクタンスとを乗じた出力電流を前記出力値として出力し、
前記制御回路は、前記長期記憶回路から前記短期記憶回路へと電荷を転送することにより、前記短期記憶回路から発生される前記第1制御電圧を、前記長期記憶回路から発生される前記第2制御電圧に一致させる校正処理を実行する
乗算装置。
【請求項2】
前記制御回路は、前記短期記憶回路に電荷をチャージまたはディスチャージすることにより、前記短期記憶回路に、前記重み値に応じた前記第1制御電圧を発生させる電荷量の電荷を蓄積させる調整処理を実行し、
前記調整処理の後、前記制御回路は、前記長期記憶回路から発生される前記第2制御電圧を、前記短期記憶回路から発生される前記第1制御電圧に一致させる設定処理を実行する
請求項1に記載の乗算装置。
【請求項3】
前記制御回路は、予め定められた時間間隔毎、または、所定のイベントが発生する毎に、前記校正処理を実行させる
請求項1または2に記載の乗算装置。
【請求項4】
前記変換回路は、電界効果トランジスタである
請求項1から3の何れか1項に記載の乗算装置。
【請求項5】
前記短期記憶回路は、キャパシタを含む
請求項1から4の何れか1項に記載の乗算装置。
【請求項6】
前記長期記憶回路は、前記短期記憶回路より大きい時定数の回路により電荷を保持し、保持している電荷により前記重み値に応じた前記第1制御電圧を発生する
請求項1から5の何れか1項に記載の乗算装置。
【請求項7】
前記長期記憶回路は、キャパシタを含む
請求項6に記載の乗算装置。
【請求項8】
前記長期記憶回路は、蓄電素子を含む
請求項6に記載の乗算装置。
【請求項9】
前記長期記憶回路は、可変抵抗器である
請求項1から5の何れか1項に記載の乗算装置。
【請求項10】
M個の入力値(Mは、2以上の整数)と、M個の重み値とを積和演算した積和演算値を出力する積和演算装置であって、
前記M個の重み値に対応するM個の乗算装置と、
出力線と、
制御回路と、
を備え、
前記M個の乗算装置のうちのm番目(mは、1以上M以下の整数)の乗算装置は、前記M個の入力値のうちのm番目の入力値と、前記M個の重み値のうちのm番目の重み値とを乗算した出力値を出力し、
前記m番目の乗算装置は、
電荷を保持し、保持している電荷により前記m番目の重み値に応じた第1制御電圧を発生する短期記憶回路と、
前記短期記憶回路より大きい時定数の回路により、前記m番目の重み値に応じた第2制御電圧を発生する長期記憶回路と、
制御端子に印加された電圧に応じてコンダクタンスが変更され、入力端子に印加された電圧に前記コンダクタンスを乗じた電流を出力端子から出力する変換回路と、
を有し、
前記変換回路は、前記制御端子に前記短期記憶回路から発生された前記第1制御電圧が印加されるとともに、前記入力端子に前記m番目の入力値に応じた入力電圧が印加されることにより、前記出力端子から前記出力値に応じた出力電流を、前記出力線へと出力し、
前記出力線は、前記M個の乗算装置から出力された前記出力電流を加算した積和電流を前記積和演算値として出力し、
前記制御回路は、前記M個の乗算装置のそれぞれについて、前記短期記憶回路から発生される前記第1制御電圧を前記長期記憶回路から発生される前記第2制御電圧と一致させる校正処理を実行する
積和演算装置。
【請求項11】
前記m番目の乗算装置は、前記出力端子から予め定められた第1方向の前記出力電流を流し、前記第1方向とは逆方向の電流を阻止する整流回路をさらに有する
請求項10に記載の積和演算装置。
【請求項12】
M列の入力値(Mは、2以上の整数)と、M行×N列の重み値(Nは、1以上の整数)とを行列演算してN列の積和演算値を出力する行列演算装置であって、
前記M行×N列の重み値に対応するM×N個の乗算装置と、
前記N列の積和演算値に対応するN個の出力線と、
制御回路と、
を備え、
前記M×N個の乗算装置のうちのm番目の行(mは、1以上M以下の整数)におけるn番目の列(nは、1以上N以下の整数)に対応する乗算装置は、前記M列の入力値のうちのm番目の列の入力値と、前記M行×N列の重み値のうちのm番目の行におけるn番目の列の重み値とを乗算した出力値を出力し、
前記m番目の行におけるn番目の列に対応する乗算装置は、
電荷を保持し、保持している電荷により前記m番目の行におけるn番目の列の重み値に応じた第1制御電圧を発生する短期記憶回路と、
前記短期記憶回路より大きい時定数の回路により、前記m番目の行におけるn番目の列の重み値に応じた第2制御電圧を発生する長期記憶回路と、
制御端子に印加された電圧に応じてコンダクタンスが変更され、入力端子に印加された電圧に前記コンダクタンスを乗じた電流を出力端子から出力する変換回路と、
を有し、
前記変換回路は、前記制御端子に前記短期記憶回路から発生された前記第1制御電圧が印加されるとともに、前記入力端子に前記M列の入力値のうちの前記m番目の列の入力値に応じた入力電圧が印加されることにより、前記出力端子から前記出力値に応じた出力電流を、前記N個の出力線のうちのn番目の出力線へと出力し、
前記n番目の出力線は、前記M×N個の乗算装置のうちのn番目の列に対応するM個の乗算装置から出力された前記出力電流を加算した積和電流を、前記N列の積和演算値のうちのn番目の列の積和演算値として出力し、
前記制御回路は、前記M×N個の乗算装置のそれぞれについて、前記短期記憶回路から発生される前記第1制御電圧を、前記長期記憶回路から発生される前記第2制御電圧に一致させる校正処理を実行する
行列演算装置。
【請求項13】
前記m番目の行におけるn番目の列に対応する乗算装置は、前記出力端子から予め定められた第1方向の前記出力電流を流し、前記第1方向とは逆方向の電流を阻止する整流回路をさらに有する
請求項12に記載の行列演算装置。
【請求項14】
請求項13に記載の行列演算装置を含み、時系列入力信号を受け取り、1または複数の時系列推論信号を出力するリザバー装置であって、
前記時系列入力信号に応じた時系列前処理信号を出力する入力回路と、
前記時系列前処理信号を受け取り、M個の時系列中間信号(Mは、2以上の整数)を出力する、リカレントニューラルネットワークであるリザバー回路と、
前記M個の時系列中間信号を受け取り、時系列推論信号を出力する出力回路と、
を備え、
前記出力回路は、
前記行列演算装置と、
電圧変換回路と、
を有し、
前記行列演算装置は、前記M個の時系列中間信号を前記M個の入力値として受け取り、N個の積和電流を出力し、
前記電圧変換回路は、N個の前記積和電流のうちの予め定められた積和電流を電圧信号に変換して、前記時系列推論信号として出力する
リザバー装置。
【請求項15】
前記リザバー回路は、複数のシナプス回路と、複数のニューロン回路とを含み、
前記複数のシナプス回路のそれぞれは、シナプス重みが設定され、前記複数のニューロン回路のうちの何れか1つのニューロン回路から発火信号を受け取り、受け取った前記発火信号に対して設定された前記シナプス重みの影響を加えた信号を前記複数のニューロン回路のうちの何れか1つに供給し、
前記複数のニューロン回路のそれぞれは、受け取った信号を累積した値に応じて前記発火信号を出力し、
前記複数のニューロン回路のうちの少なくとも1つは、自身が出力した前記発火信号が1以上のシナプス回路を介してフィードバックされる
請求項14に記載のリザバー装置。
【請求項16】
学習制御回路をさらに備え、
前記学習制御回路は、
学習処理において、予め定められた学習用入力信号を前記時系列入力信号として前記入力回路に供給し、前記時系列推論信号と教師信号とを比較して、前記M×N個の乗算装置のそれぞれに与える前記重み値を更新して、前記M×N個の乗算装置のそれぞれに前記短期記憶回路から発生される前記第1制御電圧を調整させ、
前記学習処理の後において、前記M×N個の乗算装置のそれぞれに対して、前記長期記憶回路から発生される前記第2制御電圧を、前記短期記憶回路から発生される前記第1制御電圧に一致させる設定処理を実行させ、
前記設定処理の後において、前記時系列入力信号を入力して前記時系列推論信号を出力させる推論処理を実行し、
前記学習処理を終了した後において、予め定められた時間間隔毎、または、所定のイベントが発生する毎に、前記校正処理を実行させる
請求項15に記載のリザバー装置。
【請求項17】
前記学習処理の前に、前記学習制御回路は、前記複数のシナプス回路のそれぞれの前記シナプス重み、および、前記複数のシナプス回路に接続されるニューロン回路をランダムに設定する
請求項16に記載のリザバー装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、乗算装置、積和演算装置、行列演算装置およびリザバー装置に関する。
【背景技術】
【0002】
人工知能(AI:Artificial Intelligence)が様々な自動化、省人化に使われている。代表的なAIアルゴリズムとして、ニューラルネットワークが知られている。ニューラルネットワークを多層にしたディープニューラルネットワーク(DNN)は、深層学習アルゴリズムに用いられる。また、出力に近い方のニューロンから入力に近い方のニューロンへと再帰的に接続したリカレントニューラルネットワーク(RNN)は、時系列データ処理に用いられる。また、短期記憶および長期記憶の表現能力を高めたニューラルネットワークとして、LSTM(Long-Short-Term Memory)が知られている。LSTMは、時系列データ処理の応用性がさらに高い。
【0003】
時系列データ処理に用いられるRNNおよびLSTMは、汎用演算器であるCPU(Central Processing Unit)を用いて演算がされる。しかし、RNNおよびLSTMは、NNおよびDNNよりもさらに多くの演算量が必要なため、GP-GPU(General Purpose Graphical Processing Unit)で演算されることが多い。RNNおよびLSTMは、学習の際にはさらに演算量が増え、学習に必要な時間と消費電力が大きい。従って、深層学習、RNNおよびLSTMは、高い性能を発揮させるために、学習の際に精緻なパラメータのチューニングが必要である。
【0004】
一方、学習の際の演算量が少ない時系列データ処理向けのアルゴリズムとして、リザバーコンピューティングが知られている。リザバーコンピューティングは、リザバー部の学習をする必要がない。しかし、リザバーコンピューティングは、所望の信号を出力させるために、リザバー部と出力部との間の重みの精度を高くする必要がある。リザバー部は、電子回路に限らず、様々な媒体を用いて作られることも知られている。リザバー部からの出力信号は、一般的にアナログ信号であるので、リザバー部と出力部と間の重みの演算を、アナログ回路による積和演算器により実現することが可能である。
【0005】
リザバーコンピューティングに限らず、一般的に重みの精度は高い方が望ましい。しかし、十分に高い重み精度を維持しつつ、高速に演算できる演算器を実現することは技術的に難しい。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願公開第2019/0318239号明細書
【特許文献2】米国特許第10340002号明細書
【非特許文献】
【0007】
【非特許文献1】Seyoung Kim, Tayfun Gokmen, Hyung-Min Lee and Wilfried E. Haensch, "Analog CMOS-based Resistive Processing Unit for Deep Neural Network Training", 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS), 6-9 Aug. 2017
【非特許文献2】Stefano Ambrogio, Pritish Narayanan, Hsinyu Tsai, Robert M. Shelby, Irem Boybat, Carmelo di Nolfo, Severin Sidler, Massimo Giordano1, Martina Bodini, Nathan C. P. Farinha, Benjamin Killeen, Christina Cheng, Yassine Jaoudi & Geoffrey W. Burr, "Equivalent-accuracy accelerated neuralnetwork training using analogue memory", Nature, vol. 558, 60-67, 6 June 2018
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明が解決しようとする課題は、短時間で精度良く重み値を設定することができ、且つ、長期間精度良く演算を実行することができる乗算装置、積和演算装置、行列演算装置およびリザバー装置を提供することにある。
【課題を解決するための手段】
【0009】
実施形態に係る乗算装置は、入力値と重み値とを乗算した出力値を出力する。前記乗算装置は、短期記憶回路と、長期記憶回路と、変換回路と、制御回路とを備える。前記短期記憶回路は、電荷を保持し、保持している電荷により前記重み値に応じた第1制御電圧を発生する。前記長期記憶回路は、前記短期記憶回路より大きい時定数の回路により、前記重み値に応じた第2制御電圧を発生する。前記変換回路は、制御端子に印加された電圧に応じてコンダクタンスが変更され、入力端子に印加された電圧に前記コンダクタンスを乗じた電流を出力端子から出力する。前記変換回路は、前記制御端子に前記短期記憶回路から発生された前記第1制御電圧が印加されるとともに、前記入力端子に前記入力値に応じた入力電圧が印加されることにより、前記出力端子から前記入力電圧と前記コンダクタンスとを乗じた出力電流を前記出力値として出力する。前記制御回路は、前記長期記憶回路から前記短期記憶回路へと電荷を転送することにより、前記短期記憶回路から発生される前記第1制御電圧を、前記長期記憶回路から発生される前記第2制御電圧に一致させる校正処理を実行する。
【図面の簡単な説明】
【0010】
図1】第1実施形態に係る乗算装置の構成を示す図。
図2】制御回路の処理の流れを示すフローチャート。
図3】第1変形例に係る乗算装置の構成を示す図。
図4】第2変形例に係る乗算装置の構成を示す図。
図5】第3変形例に係る乗算装置の構成を示す図。
図6】第4変形例に係る乗算装置の構成を示す図。
図7】第2実施形態に係る符号付き乗算装置の構成を示す図。
図8】第3実施形態に係る積和演算装置の構成を示す図。
図9】第4実施形態に係る行列演算装置の構成を示す図。
図10】第5実施形態に係るリザバー装置の構成を示す図。
図11】リザバー装置の処理の流れを示すフローチャート。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態について説明する。
【0012】
(第1実施形態)
図1は、第1実施形態に係る乗算装置10の構成を示す図である。乗算装置10は、入力値と、重み値とを乗算した出力値を出力する。本実施形態において、入力値、重み値および出力値は、所定の範囲内の連続値である。例えば、入力値、重み値および出力値は、0以上、1以下の連続値であってもよい。なお、入力値および重み値の少なくとも一方は、0または1の2値であってもよいし、所定のビット数のデジタル値であってよい。
【0013】
乗算装置10は、入力値に応じた入力電圧(Vin)を受け取る。また、乗算装置10は、重み値に応じたコンダクタンス(G)に設定される。コンダクタンス(G)は、電圧-電流変換係数である。そして、乗算装置10は、入力電圧(Vin)とコンダクタンス(G)とを乗じた出力電流(Iout=G×Vin)を出力値として出力する。
【0014】
乗算装置10は、短期記憶回路12と、長期記憶回路14と、変換回路16と、整流回路18と、基準電位スイッチ20と、調整スイッチ22と、設定スイッチ24と、校正スイッチ26と、制御回路30とを備える。
【0015】
短期記憶回路12は、電荷を保持する。そして、短期記憶回路12は、保持している電荷により重み値に応じた第1制御電圧(VW1)を発生する。本例においては、短期記憶回路12は、第1端子12aから第1制御電圧(VW1)を発生する。短期記憶回路12は、第1端子12aとは反対の端子が基準電位スイッチ20を介してグランド電位に接続される。
【0016】
短期記憶回路12は、所定の時定数を有する回路であって、保持している電荷を時間経過に従って減少させる。短期記憶回路12の時定数は、短期記憶回路12を実現する素子および回路構成に依存する。すなわち、短期記憶回路12における電圧の減少曲線は、短期記憶回路12を実現する素子および回路構成に依存する。本実施形態においては、短期記憶回路12は、所定容量のキャパシタである短期記憶キャパシタ32を含む。
【0017】
短期記憶回路12の容量は、小さいことが好ましい。これにより、短期記憶回路12は、目標量の電荷量を短時間で蓄積することができる。もっとも、短期記憶回路12の容量は、少なくとも配線の寄生容量およびトランジスタのゲート容量より大きい。また、短期記憶回路12は、蓄積させる電荷量を、電流量およびチャージ時間またはディスチャージ時間により、簡易に精度良く制御することができる。短期記憶回路12は、Q=CVの関係により、蓄積される電荷量と発生する電圧との関係が線形である。これにより、短期記憶回路12は、発生する電圧を、簡易に精度良く制御することができる。
【0018】
長期記憶回路14は、短期記憶回路12より大きい時定数の回路により、重み値に応じた第2制御電圧(VW2)を発生する。本例においては、長期記憶回路14は、第2端子14aから第2制御電圧(VW2)を発生する。長期記憶回路14は、第2端子14aとは反対の端子がグランド電位に接続される。
【0019】
長期記憶回路14は、短期記憶回路12より大きい時定数の回路であるので、短期記憶回路12よりも遅い速度で電圧が減少する、または、時間が経過してもほとんど電圧が減少しない。例えば、長期記憶回路14は、短期記憶回路12より大きい時定数の回路により電荷を保持する。本実施形態においては、短期記憶回路12は、所定容量のキャパシタである長期記憶キャパシタ34を含む。長期記憶キャパシタ34は、短期記憶回路12に含まれる短期記憶キャパシタ32よりも大きな容量を有する。長期記憶キャパシタ34は、例えば、面積の大きいキャパシタであってもよいし、面積の小さい複数のキャパシタを並列に接続した構成であってもよい。
【0020】
長期記憶回路14は、キャパシタで構成されることにより、短期記憶回路12と同一の製造方法により半導体装置等に実装可能である。従って、長期記憶回路14は、キャパシタで構成されることにより乗算装置10の製造効率を良くすることができる。また、長期記憶回路14は、キャパシタで構成されることにより、Q=CVの関係により、蓄積される電荷量と発生する電圧との関係が線形となるので、発生する電圧を容易に精度良く制御することができる。
【0021】
変換回路16は、入力端子36と、出力端子38と、制御端子40とを有する。変換回路16は、制御端子40に印加された電圧に応じて、入力端子36と出力端子38との間のコンダクタンス(G)を変更する。そして、変換回路16は、入力端子36に印加された電圧にコンダクタンス(G)を乗じた電流を出力端子38から出力する。本実施形態においては、変換回路16は、電界効果トランジスタ42である。電界効果トランジスタ42は、ゲートが制御端子40に対応する。電界効果トランジスタ42は、ドレインまたはソースの一方が入力端子36に対応し、ドレインまたはソースのうちの入力端子36ではない他方が出力端子38に対応する。
【0022】
変換回路16は、コンダクタンス(G)を、連続値である重み値を十分な精度で表す分解能で変更可能である。例えば、変換回路16は、コンダクタンス(G)を256階調(例えば8ビット精度)で変更可能である。
【0023】
演算時において、変換回路16は、制御端子40に短期記憶回路12から発生された第1制御電圧(VW1)が印加される。また、演算時において、変換回路16は、入力端子36に入力値に応じた入力電圧(Vin)が印加される。そして、演算時において、変換回路16は、出力端子38から、入力電圧(Vin)とコンダクタンス(G)とを乗じた出力電流(Iout=G×Vin)を出力する。すなわち、変換回路16は、出力端子38から、入力値と重み値とを乗算した出力値に応じた出力電流(Iout)を出力する。
【0024】
このような変換回路16は、1つの電界効果トランジスタ42により構成することが可能であるので、半導体装置に実装した場合の占有面積を小さくすることができる。従って、このような変換回路16を備える乗算装置10は、高密度に半導体装置に実装させることができ、多数の乗算を並行実行する装置に組み込むことが容易となる。
【0025】
整流回路18は、変換回路16内において第1方向に出力電流を流し、第1方向とは逆方向の電流を阻止する。本例においては、整流回路18は、入力端子36から出力端子38へと向かう方向の電流を流し、出力端子38から入力端子36へと向かう方向の電流を阻止する。なお、整流回路18は、負の入力電圧(Vin)が印加され、負の出力電流(Iout)を出力する場合には、出力端子38から入力端子36へと向かう方向の電流を流し、入力端子36から出力端子38へと向かう方向の電流を阻止する。整流回路18は、例えばダイオードである。このような整流回路18は、他回路から変換回路16への電流の逆流を防止することができる。
【0026】
基準電位スイッチ20は、短期記憶回路12における第1制御電圧(VW1)を発生する第1端子12aとは反対の端子と、グランド電位との間を短絡または切断する。基準電位スイッチ20は、制御回路30によって制御される。基準電位スイッチ20は、乗算装置10の動作時において短絡状態とされ、乗算装置10が動作していない期間において切断状態とされる。
【0027】
調整スイッチ22は、調整時において、短期記憶回路12における第1制御電圧(VW1)を発生する第1端子12aと、グランド電位または電源電位とを接続して、短期記憶回路12に電荷をチャージまたはディスチャージさせる。調整スイッチ22は、制御回路30によって制御される。調整スイッチ22は、短期記憶回路12に電荷をチャージする場合、制御回路30の制御によって、第1端子12aと電源電位とを接続する。調整スイッチ22は、短期記憶回路12から電荷をディスチャージする場合、制御回路30の制御によって、第1端子12aとグランド電位とを接続する。調整スイッチ22は、調整時以外の期間において、制御回路30の制御によって、第1端子12aを、電源電位およびグランド電位の何れからも切断する。
【0028】
設定スイッチ24は、設定時において、長期記憶回路14における第2制御電圧(VW2)を発生する第2端子14aと、グランド電位または電源電位とを接続して、長期記憶回路14に電荷をチャージまたはディスチャージさせる。設定スイッチ24は、制御回路30によって制御される。設定スイッチ24は、長期記憶回路14に電荷をチャージする場合、制御回路30の制御によって、第2端子14aと電源電位とを接続する。設定スイッチ24は、長期記憶回路14から電荷をディスチャージする場合、制御回路30の制御によって、第2端子14aとグランド電位とを接続する。設定スイッチ24は、設定時以外の期間において、制御回路30の制御によって、第1端子12aを、電源電位およびグランド電位の何れからも切断する。
【0029】
校正スイッチ26は、校正時において、短期記憶回路12を長期記憶回路14に接続し、長期記憶回路14から短期記憶回路12へと電荷を転送可能とする。校正スイッチ26は、制御回路30によって制御される。例えば、校正スイッチ26は、校正時において、制御回路30の制御によって、短期記憶回路12の第1端子12aと、長期記憶回路14の第2端子14aとを接続する。校正スイッチ26は、校正時以外の期間において、制御回路30の制御によって、短期記憶回路12を長期記憶回路14から切断する。
【0030】
制御回路30は、乗算装置10の全体の動作を制御する。例えば、制御回路30は、プロセッサまたはFPGA(field-programmable gate array)等である。
【0031】
調整時において、制御回路30は、重み値を受け取る。そして、制御回路30は、調整処理を実行する。調整処理において、制御回路30は、調整スイッチ22を制御して短期記憶回路12に電荷をチャージまたはディスチャージすることにより、短期記憶回路12に、重み値に応じた第1制御電圧(VW1)を発生させる電荷量の電荷を蓄積させる。例えば、制御回路30は、重み値と第1制御電圧(VW1)との対応関係を示す関数またはテーブル等を有し、関数またはテーブル等を参照して、重み値に応じた第1制御電圧(VW1)を短期記憶回路12から発生させる。制御回路30は、例えばチャージ時間/ディスチャージ時間を制御することにより、目的の第1制御電圧(VW1)を短期記憶回路12から発生させてもよいし、短期記憶回路12の第1端子12aの電圧を測定することによって目的の第1制御電圧(VW1)を発生させてもよい。
【0032】
短期記憶回路12は、時定数が比較的に小さいので、少ない電荷により重み値に応じた第1制御電圧(VW1)を発生することができる。従って、制御回路30は、短期記憶回路12から重み値に応じた第1制御電圧(VW1)を、短時間で精度良く発生させることができる。
【0033】
また、調整処理の後、設定時において、制御回路30は、設定処理を実行する。設定処理において、制御回路30は、長期記憶回路14から発生される第2制御電圧(VW2)を、短期記憶回路12から発生される第1制御電圧(VW1)に一致させる。これにより、長期記憶回路14は、重み値に応じた第2制御電圧(VW2)を発生することができる。例えば、制御回路30は、調整処理の後の短期記憶回路12から発生される第1制御電圧(VW1)を検出する。そして、制御回路30は、設定スイッチ24を制御して長期記憶回路14に電荷をチャージまたはディスチャージすることにより、長期記憶回路14に、検出した第1制御電圧(VW1)と同一の第2制御電圧(VW2)を発生させる電荷量の電荷を蓄積させる。
【0034】
長期記憶回路14は、時定数が比較的に大きいので、時間当たりの電圧低下量が小さい。従って、制御回路30は、重み値に応じた第2制御電圧(VW2)を、長時間精度良く発生させる続けることができる。
【0035】
演算時において、制御回路30は、短期記憶回路12から発生される第1制御電圧(VW1)を、変換回路16の制御端子40に印加させる。すなわち、演算時において、制御回路30は、変換回路16における入力端子36と出力端子38との間を、重み値に応じたコンダクタンス(G)とさせる。これにより、演算時において、変換回路16は、入力値に応じた入力電圧(Vin)と、重み値に応じたコンダクタンス(G)とを乗じた出力電流(Iout=G×Vin)を出力することができる。
【0036】
校正時において、制御回路30は、校正処理を実行する。校正処理において、制御回路30は、長期記憶回路14から短期記憶回路12へと電荷を転送することにより、短期記憶回路12から発生される第1制御電圧(VW1)を、長期記憶回路14から発生される第2制御電圧(VW2)に一致させる。例えば、制御回路30は、校正スイッチ26を制御して短期記憶回路12と長期記憶回路14とを接続することにより、長期記憶回路14から短期記憶回路12へと電荷を転送する。これにより、短期記憶回路12は、蓄積した電荷が減少した場合であっても、長期記憶回路14から電荷が補充されるので、重み値に応じた第1制御電圧(VW1)を、長時間精度良く発生することができる。また、長期記憶回路14は、短期記憶回路12よりも時定数が大きいので、電荷減少量に対する電圧低下量が非常に小さい。よって、長期記憶回路14は、短期記憶回路12へと電荷を転送した後も第2制御電圧(VW2)を精度良く発生することができる。
【0037】
制御回路30は、予め定められた時間間隔毎、または、所定のイベントが発生する毎に、校正処理を実行させる。所定のイベントは、例えば、短期記憶回路12から発生される第1制御電圧(VW1)の電圧低下量が所定値または所定割合以上となった場合に発生するイベントであってもよい。また、所定のイベントは、例えば、乗算装置10の演算動作を停止する場合に発生するイベント、所定の時刻となったことにより発生するイベント、または、外部装置から校正開始の指示等を受け取るイベント等であってもよい。
【0038】
図2は、制御回路30の処理の流れを示すフローチャートである。制御回路30は、一例として、図2に示すような流れで処理を実行する。
【0039】
まず、S11において、制御回路30は、調整処理を実行する。具体的には、制御回路30は、重み値を受け取る。そして、制御回路30は、調整スイッチ22を制御して、短期記憶回路12に、受け取った重み値に応じた第1制御電圧(VW1)を発生させる電荷量の電荷を蓄積させる。これにより、制御回路30は、短期記憶回路12から、重み値に応じた第1制御電圧(VW1)を発生させることができる。
【0040】
続いて、S12において、制御回路30は、設定処理を実行する。具体的には、制御回路30は、長期記憶回路14から発生される第2制御電圧(VW2)を、短期記憶回路12から発生される第1制御電圧(VW1)に一致させる。例えば、制御回路30は、第1制御電圧(VW1)と長期記憶回路14から発生される電圧とを比較しながら設定スイッチ24を制御して、長期記憶回路14に対して第1制御電圧(VW1)と同一の第2制御電圧(VW2)を発生させる電荷量の電荷を蓄積させる。これにより、制御回路30は、長期記憶回路14に、重み値に応じた第2制御電圧(VW2)を発生させることができる。
【0041】
続いて、S13において、制御回路30は、変換回路16に演算処理を実行させる。具体的には、制御回路30は、調整スイッチ22、設定スイッチ24および校正スイッチ26の全てをオフとして、短期記憶回路12から発生される第1制御電圧(VW1)を、変換回路16の制御端子40に印加させる。これにより、変換回路16は、入力端子36と出力端子38との間が、重み値に応じたコンダクタンス(G)となる。そして、制御回路30は、入力値に応じた入力電圧(Vin)を変換回路16の入力端子36に印加させる。これにより、変換回路16は、入力電圧(Vin)とコンダクタンス(G)とを乗じた出力電流(Iout=G×Vin)を、出力端子38から出力することができる。
【0042】
また、制御回路30は、短期記憶回路12から発生される第1制御電圧(VW1)を、変換回路16の制御端子40に印加させ続け、変換回路16に入力電圧(Vin)が印加される毎に、出力電流(Iout)を出力させる。これにより、制御回路30は、変換回路16に、時系列の入力値を表す時系列の入力電圧(Vin)と重み値との乗算処理を実行させ、時系列の出力値を表す時系列の出力電流(Iout)を出力させることができる。
【0043】
続いて、S14において、制御回路30は、校正タイミングであるか否かを判断する。校正タイミングは、例えば、予め定められた時間間隔毎、または、所定のイベントが発生する毎のタイミングである。校正タイミングではない場合(S14のNo)、制御回路30は、処理をS13に戻し、変換回路16に演算処理を続けさせる。校正タイミングとなった場合(S14のYes)、制御回路30は、処理をS15に進める。
【0044】
S15において、制御回路30は、校正処理を実行する。具体的には、制御回路30は、短期記憶回路12から発生される第1制御電圧(VW1)を、長期記憶回路14から発生される第2制御電圧(VW2)に一致させる。この場合において、制御回路30は、校正スイッチ26により長期記憶回路14と短期記憶回路12とを接続して、長期記憶回路14から短期記憶回路12へと電荷を転送することにより、短期記憶回路12から発生される第1制御電圧(VW1)を長期記憶回路14から発生される第2制御電圧(VW2)と一致させる。
【0045】
制御回路30は、S15の処理を終えると、処理をS13に戻し、変換回路16に演算処理を続けさせる。なお、制御回路30は、S13の実行中において、新たな重み値を受け取ってもよい。この場合、制御回路30は、処理をS11に戻し、S11から処理を繰り返す。また、制御回路30は、S13の実行中において、新たな重み値を受け取った場合、S12の設定処理を実行せずに、S13の演算処理に進めてもよい。この場合、制御回路30は、演算処理が終了または中断した後に、S12の設定処理を実行する。これにより、制御回路30は、学習処理等により重み値が複数回更新される場合には、重み値が確定してから設定処理を実行することができる。
【0046】
以上のような乗算装置10は、変換回路16の制御端子40に重み値に応じた第1制御電圧(VW1)を印加することにより、変換回路16に、入力値に応じた入力電圧(Vin)と、重み値に応じたコンダクタンス(G)とを乗算した出力電流(Iout)を出力させることができる。これにより、乗算装置10は、非常に簡易な構成で、高分解能な精度の良い乗算処理を実行することができる。
【0047】
また、乗算装置10は、短期記憶回路12に電荷を保持させて、重み値に応じた第1制御電圧(VW1)を発生させる。短期記憶回路12は、時定数が比較的に小さいので、少ない電荷により重み値に応じた第1制御電圧(VW1)を発生することができる。これにより、乗算装置10は、重み値に応じた第1制御電圧(VW1)を、短時間で精度良く発生させることができる。従って、乗算装置10は、重み値の変更を短時間で効率良く実行することができる。
【0048】
また、乗算装置10は、短期記憶回路12に重み値に応じた第1制御電圧(VW1)を発生させた後に、長期記憶回路14に、重み値に応じた第2制御電圧(VW2)を発生させる。長期記憶回路14は、時定数が比較的に大きいので、時間当たりの電圧低下量が小さい。従って、長期記憶回路14は、重み値に応じた第2制御電圧(VW2)を、長時間精度良く発生させる続けることができる。
【0049】
さらに、乗算装置10は、短期記憶回路12を長期記憶回路14に接続して、長期記憶回路14から短期記憶回路12へと電荷を転送することにより、短期記憶回路12から発生される第1制御電圧(VW1)を長期記憶回路14から発生される第2制御電圧(VW2)と一致させる。これにより、乗算装置10は、短期記憶回路12に対して、重み値に応じた第1制御電圧(VW1)を、長時間精度良く出力させることができる。
【0050】
また、時定数が大きい長期記憶回路14は、時定数が小さい短期記憶回路12と接続しても電圧減少量が小さい。従って、乗算装置10は、短期記憶回路12を長期記憶回路14に接続するのみで、短期記憶回路12から重み値に応じた第1制御電圧(VW1)を精度良く発生させ続けることができる。従って、乗算装置10は、簡易な校正および処理により、時定数の小さい短期記憶回路12から、長時間、重み値に応じた第1制御電圧(VW1)を出力させることができる。
【0051】
(第1実施形態の変形例)
以下、第1実施形態の変形例について説明する。変形例を説明においては、図1に示した構成と略同一の機能および構成を有する部材については同一の符号を付けて相違点を除き詳細な説明を省略する。
【0052】
図3は、第1実施形態の第1変形例に係る乗算装置10の構成を示す図である。
【0053】
第1変形例に係る長期記憶回路14は、キャパシタに代えて蓄電素子46を備える。蓄電素子46は、短期記憶回路12より時定数が大きい。蓄電素子46は、例えば、薄膜の全固体電池である。例えば、蓄電素子46は、正極にコバルト酸リチウム、固体電解質にリン酸リチウム、負極に銅を備える。
【0054】
蓄電素子46は、薄膜材料の選択と製造方法の工夫により、充放電における電荷の移動量と起電力Vの関係を線形に近づけることが好ましい。もっとも、制御回路30が設定処理において短期記憶回路12から発生される第1制御電圧(VW1)と同一の第2制御電圧(VW2)を発生させることができればよいので、蓄電素子46は、非線形であっても、目的の電圧を発生させることができる程度の線形性を有すればよい。
【0055】
第1変形例に係る制御回路30は、例えば、リチウムイオン電池の充放電制御回路と同様の回路により蓄電素子46に対する充放電を制御する。ただし、全固体電池は、一般的に充電時と放電時との電圧-容量曲線が異なる経路を取る。従って、制御回路30は、充電のみあるいは放電のみのモードを備え、設定処理において、充電または放電のどちらか一方で、短期記憶回路12から発生される第1制御電圧(VW1)と同一の第2制御電圧(VW2)を発生させるように制御してもよい。例えば、設定処理において、制御回路30は、蓄電素子46を一旦放電させた後、充電処理により目的の第2制御電圧(VW2)を発生させるよう制御する。または、例えば、設定処理において、制御回路30は、蓄電素子46を一旦充電させた後、放電処理により目的の第2制御電圧(VW2)を発生させるよう制御する。
【0056】
蓄電素子46は、電池としての容量が非常に大きい。これにより、第1変形例に係る乗算装置10は、小面積で大きい時定数の長期記憶回路14を備え、小型化を図ることができる。
【0057】
図4は、第1実施形態の第2変形例に係る乗算装置10の構成を示す図である。
【0058】
第2変形例に係る長期記憶回路14は、キャパシタに代えて、可変抵抗回路48を備える。可変抵抗回路48は、短期記憶回路12より時定数が大きい。可変抵抗回路48は、例えば、直列に接続された固定抵抗器50および可変抵抗器52を有する。直列に接続された固定抵抗器50および可変抵抗器52は、電源電位とグランド電位との間に接続される。そして、可変抵抗回路48は、固定抵抗器50と可変抵抗器52との接続点を第2端子14aとして、第2制御電圧(VW2)を発生する。
【0059】
可変抵抗器52は、例えばメモリスタであってもよい。メモリスタは、通過する電荷量によって、任意のアナログ量の抵抗値に設定することができる。メモリスタは、金属と金属酸化物の薄膜とにより構成される。メモリスタは、例えばタングステン、タングステン酸化物および窒化チタン等により構成される。このように可変抵抗器52としてメモリスタを用いることにより、制御回路30は、設定処理において可変抵抗器52に流す電流によって、長期記憶回路14から発生させる第2制御電圧(VW2)を制御することができる。
【0060】
このような可変抵抗回路48は、第2制御電圧(VW2)を長期間発生し続けることができる。また、可変抵抗回路48は、校正処理において短期記憶回路12に接続した場合であっても、電荷転送による電圧低下がない。従って、このような可変抵抗回路48を備える第2変形例に係る乗算装置10は、重み値に応じた第1制御電圧(VW1)を、長期間、精度良く短期記憶回路12から発生させることができるので、長時間、精度良く乗算処理を実行することができる。
【0061】
図5は、第1実施形態の第3変形例に係る乗算装置10の構成を示す図である。第3変形例に係る変換回路16は、複数の抵抗54と、複数の選択スイッチ56とを有する。
【0062】
複数の抵抗54は、入力端子36と出力端子38との間に直列に接続される。複数の抵抗54のそれぞれは、例えば、抵抗値が、他の抵抗54とは異なる。例えば、複数の抵抗54のちの1番目の抵抗54は、2×R(Rは、任意の正の実数)の抵抗値に設定される。また、2番目の抵抗54は、2×Rの抵抗値に設定される。また、A番目(Aは2以上の整数)の抵抗54の抵抗値は、2(A-1)×Rに設定される。
【0063】
複数の選択スイッチ56は、複数の抵抗54に対して一対一に設けられる。複数の選択スイッチ56のそれぞれは、例えばスイッチとして動作するFETである。
【0064】
複数の選択スイッチ56のそれぞれは、複数の抵抗54のうちの対応する抵抗54の両端を接続または切断する。従って、複数の選択スイッチ56のそれぞれは、接続状態である場合、入力端子36から出力端子38へと流れる電流を対応する抵抗54を迂回して流すことができる。また、複数の選択スイッチ56のそれぞれは、切断状態である場合、入力端子36から出力端子38へと流れる電流を、対応する抵抗54を介して流すことができる。
【0065】
このような変換回路16は、複数の選択スイッチ56の接続および切断状態により、入力端子36と出力端子38との間のコンダクタンス(G)を変更することができる。
【0066】
第3変形例に係る乗算装置10は、複数の短期記憶回路12と、複数の長期記憶回路14と、複数の基準電位スイッチ20と、複数の調整スイッチ22と、複数の設定スイッチ24と、複数の校正スイッチ26と、制御回路30とを備える。
【0067】
複数の短期記憶回路12は、複数の選択スイッチ56に一対一に対応する。複数の短期記憶回路12のそれぞれは、対応する選択スイッチ56を接続状態にするか、切断状態にするかを切り替える2値の第1制御電圧(VW1)を発生する。
【0068】
複数の長期記憶回路14は、複数の短期記憶回路12に一対一に対応する。複数の長期記憶回路14のそれぞれは、対応する短期記憶回路12から発生される第1制御電圧(VW1)と同一の第2制御電圧(VW2)を発生する。
【0069】
複数の基準電位スイッチ20は、複数の短期記憶回路12に一対一に対応する。複数の基準電位スイッチ20のそれぞれは、対応する短期記憶回路12の第1端子12aとは反対の端子と、グランド電位との間を短絡または切断する。
【0070】
複数の調整スイッチ22は、複数の短期記憶回路12に一対一に対応する。複数の調整スイッチ22のそれぞれは、調整時において、対応する短期記憶回路12の第1端子12aと、グランド電位または電源電位とを接続して、対応する短期記憶回路12に電荷をチャージまたはディスチャージさせる。
【0071】
複数の設定スイッチ24は、複数の長期記憶回路14に一対一に対応する。複数の設定スイッチ24のそれぞれは、設定時において、対応する長期記憶回路14における第2端子14aと、グランド電位または電源電位とを接続して、長期記憶回路14に電荷をチャージまたはディスチャージさせる。
【0072】
複数の校正スイッチ26は、複数の短期記憶回路12に一対一に対応する。複数の校正スイッチ26のそれぞれは、校正時において、対応する短期記憶回路12を対応する長期記憶回路14に接続し、対応する長期記憶回路14から対応する短期記憶回路12へと電荷を転送可能とする。
【0073】
第3変形例において、制御回路30は、受け取った重み値に応じて、複数の短期記憶回路12のうちの1または2以上の短期記憶回路12を選択し、選択した1または2以上の短期記憶回路12から、選択スイッチ56を切断状態とする第1制御電圧(VW1)を発生させる。さらに、制御回路30は、選択していない短期記憶回路12から、選択スイッチ56を接続状態とする第1制御電圧(VW1)を発生させる。制御回路30は、例えば、重み値と、選択する1または2以上の短期記憶回路12との対応関係を示すテーブルまたは関数等に基づき、1または2以上の短期記憶回路12を選択してもよい。
【0074】
そして、演算時において、制御回路30は、複数の短期記憶回路12のそれぞれから発生される第1制御電圧(VW1)を、対応する選択スイッチ56に供給する。これにより、変換回路16は、直列に接続された複数の抵抗54のうち、選択された1または2以上の短期記憶回路12に対応する1または2以上の抵抗54を介して電流を流すことができる。従って、変換回路16は、重み値に応じてコンダクタンス(G)を可変することができるとともに、入力端子36と出力端子38との間を重み値に応じたコンダクタンス(G)とすることができる。これにより、演算時において、変換回路16は、入力電圧(Vin)とコンダクタンス(G)とを乗じた出力電流(Iout=G×Vin)を出力することができる。
【0075】
このような第3変形例に係る乗算装置10は、複数の抵抗54のスイッチングによりコンダクタンス(G)を変化させることができるので、精度良くコンダクタンス(G)を表すことができ、精度の良い乗算を実行することができる。また、第3変形例に係る乗算装置10は、複数の短期記憶回路12のそれぞれが2値の電圧を発生すればよいので、調整時における目的の電圧を発生させる制御が簡易となる。また、第3変形例に係る乗算装置10は、複数の長期記憶回路14のそれぞれが2値の電圧を発生すればよいので、設定時における目的の電圧を発生させる制御が簡易となる。
【0076】
図6は、第1実施形態の第4変形例に係る乗算装置10の構成を示す図である。第4変形例に係る乗算装置10は、変換回路16以外、第3変形例と同一の構成である。
【0077】
第4変形例に係る変換回路16は、複数のショットキーバリアダイオード58と、複数の選択スイッチ56とを有する。
【0078】
複数のショットキーバリアダイオード58のそれぞれは、逆方向電圧-電流特性が、電圧に関わらず一定電流(逆方向電流)を流す特性となる。複数のショットキーバリアダイオード58のそれぞれは、例えば、逆方向電流が、他のショットキーバリアダイオード58とは異なる。例えば、複数のショットキーバリアダイオード58のうちの1番目のショットキーバリアダイオード58は、逆方向電流として2×I(Iは、任意の正の実数)を流す。2番目のショットキーバリアダイオード58は、逆方向電流として2×Iを流す。A番目のショットキーバリアダイオード58は、逆方向電流として2(A-1)×Iを流す。
【0079】
複数の選択スイッチ56は、複数のショットキーバリアダイオード58に対して一対一に設けられる。複数の選択スイッチ56のそれぞれは、例えばスイッチとして動作するFETである。
【0080】
複数のショットキーバリアダイオード58のそれぞれは、対応する選択スイッチ56と直列に接続される。直列に接続されたショットキーバリアダイオード58および選択スイッチ56は、入力端子36と出力端子38との間に接続される。
【0081】
複数の選択スイッチ56のそれぞれは、接続または切断する。従って、複数の選択スイッチ56のそれぞれは、接続状態である場合、入力端子36から出力端子38へと、対応するショットキーバリアダイオード58を介して電流を流すことができる。そして、複数の選択スイッチ56のそれぞれは、切断状態である場合、入力端子36から出力端子38へと、対応するショットキーバリアダイオード58を介して電流を流さないようにすることができる。
【0082】
このような変換回路16は、複数の選択スイッチ56の接続および切断状態により、入力端子36と出力端子38との間のコンダクタンス(G)を変更することができる。
【0083】
このような第4変形例に係る乗算装置10は、複数のショットキーバリアダイオード58のスイッチングによりコンダクタンス(G)を変化させることができるので、精度良くコンダクタンス(G)を表すことができ、精度の良い乗算を実行することができる。また、第4変形例に係る乗算装置10は、入力電圧(Vin)に対する依存性が無くなるので、入力電圧(Vin)をアナログ量で表現した積和演算はできない。しかし、第4変形例に係る乗算装置10は、入力電圧(Vin)が0かある場合、電圧誤差に依らず一定の電流を出力するので、安定した出力電流(Iout)を出力することができる。
【0084】
また、ショットキーバリアダイオード58は、逆方向電流を、nAオーダーまで低くすることができ、かつ、安定に動作する。従って、第4変形例に係る乗算装置10は、低消費電力化を図ることができる。ただし、第4変形例に係る乗算装置10は、整流回路18を備えて、ショットキーバリアダイオード58に順方向電流が流れないように整流しなければならない。第4変形例において、整流回路18は、ショットキーバリアダイオード58の逆電圧-電流特性よりも十分大きなコンダクタンスを有し、且つ、逆電圧がかかった場合には十分低い電流量に抑える。
【0085】
(第2実施形態)
図7は、第2実施形態に係る符号付き乗算装置60の構成を示す図である。
【0086】
第2実施形態に係る符号付き乗算装置60は、正負の符号付きの入力値と、正負の符号付きの重み値とを乗算した出力値を出力する。
【0087】
符号付き乗算装置60は、入力値に応じた、正負の入力電圧(Vin)を受け取る。また、符号付き乗算装置60は、重み値に応じた、正負のコンダクタンス(G)が設定される。そして、符号付き乗算装置60は、入力電圧(Vin)とコンダクタンス(G)とを乗じた出力電圧(Vout=G×Vin)を出力値として出力する。出力電圧(Vout)は、所定のコモン電圧(例えば、1/2×VDD)を0とし、コモン電圧を0として正負で表される。
【0088】
符号付き乗算装置60は、絶対値化回路62と、符号化回路64と、セレクタ66と、第1乗算回路10-ppと、第2乗算回路10-pnと、第3乗算回路10-npと、第4乗算回路10-nnと、第1カレントミラー回路68-ppと、第2カレントミラー回路68-pnと、第3カレントミラー回路68-npと、第4カレントミラー回路68-nnと、出力キャパシタ70と、出力カレントミラー回路72と、メイン制御回路74とを備える。
【0089】
絶対値化回路62は、入力電圧(Vin)を受け取り、入力電圧(Vin)を絶対値化した絶対値入力電圧(|Vin|)を出力する。符号化回路64は、入力電圧(Vin)を受け取り、入力電圧(Vin)を符号化した符号信号(sing(Vin))を出力する。例えば、符号化回路64は、入力電圧(Vin)が0以上の場合には1を表し、入力電圧(Vin)が負の場合には、0を表す符号信号(sing(Vin))を出力する。
【0090】
セレクタ66は、絶対値入力電圧(|Vin|)、および、符号信号(sing(Vin))を受け取る。セレクタ66は、符号信号(sing(Vin))が1である場合、すなわち、入力電圧(Vin)が0以上である場合、絶対値入力電圧(|Vin|)を第1出力端子66-1から出力する。セレクタ66は、符号信号(sing(Vin))が0である場合、すなわち、入力電圧(Vin)が負である場合、絶対値入力電圧(|Vin|)を第2出力端子66-2から出力する。
【0091】
第1乗算回路10-pp、第2乗算回路10-pn、第3乗算回路10-npおよび第4乗算回路10-nnは、第1実施形態および第1実施形態の各変形例と同一構成である。
【0092】
第1乗算回路10-ppおよび第2乗算回路10-pnは、セレクタ66の第1出力端子66-1から出力された絶対値入力電圧(|Vin|)を、入力電圧(Vin)として入力し、出力電流(Iout)を出力する。第3乗算回路10-npおよび第4乗算回路10-nnは、セレクタ66の第2出力端子66-2から出力された絶対値入力電圧(|Vin|)を、入力電圧(Vin)として入力し、出力電流(Iout)を出力する。
【0093】
第1カレントミラー回路68-ppは、第1乗算回路10-ppから出力された出力電流(Iout)を受け取り、受け取った出力電流(Iout)と同一の第1参照電流を出力する。第2カレントミラー回路68-pnは、第2乗算回路10-pnから出力された出力電流(Iout)を受け取り、受け取った出力電流(Iout)と同一の第2参照電流を出力する。
【0094】
第3カレントミラー回路68-npは、第3乗算回路10-npから出力された出力電流(Iout)を受け取り、受け取った出力電流(Iout)と同一の第3参照電流を出力する。第4カレントミラー回路68-nnは、第4乗算回路10-nnから出力された出力電流(Iout)を受け取り、受け取った出力電流(Iout)と同一の第4参照電流を出力する。
【0095】
出力カレントミラー回路72は、第1カレントミラー回路68-ppから出力された第1参照電流と、第4カレントミラー回路68-nnから出力された第4参照電流とを加算した電流を受け取る。そして、出力カレントミラー回路72は、第1参照電流および第4参照電流を加算した電流と同一の正側合成電流(Ioutp)を出力する。
【0096】
出力キャパシタ70は、電圧出力端子76と、グランド電位との間に設けられる。
【0097】
そして、出力キャパシタ70は、電圧出力端子76に接続された端子から、正側合成電流(Ioutp)を受け取り、受け取った正側合成電流(Ioutp)に応じた電荷を蓄積する。さらに、第2カレントミラー回路68-pnおよび第3カレントミラー回路68-npは、出力キャパシタ70における電圧出力端子76に接続された端子から、第2参照電流および第3参照電流を加算した負側合成電流(Ioutn)を吸い出す。
【0098】
このような出力キャパシタ70は、第1乗算回路10-ppおよび第4乗算回路10-nnから出力される出力電流(Iout)に応じて電荷がチャージされ、第2乗算回路10-pnおよび第3乗算回路10-npから出力される出力電流(Iout)に応じて電荷がディスチャージされる。
【0099】
メイン制御回路74は、外部装置から重み値を受け取る。
【0100】
重み値が0以上である場合、メイン制御回路74は、重み値の絶対値を、第1乗算回路10-ppおよび第3乗算回路10-npに与えて、第1乗算回路10-ppおよび第3乗算回路10-npに重み値の絶対値に応じたコンダクタンス(G)に設定させる。また、重み値が0以上である場合、メイン制御回路74は、第2乗算回路10-pnおよび第4乗算回路10-nnに、重み値として0を与えて、コンダクタンス(G)に0を設定させる。
【0101】
また、重み値が負である場合、メイン制御回路74は、重み値の絶対値を、第2乗算回路10-pnおよび第4乗算回路10-nnに与えて、第2乗算回路10-pnおよび第4乗算回路10-nnに重み値の絶対値に応じたコンダクタンス(G)に設定させる。また、重み値が負である場合、メイン制御回路74は、第1乗算回路10-ppおよび第3乗算回路10-npに、重み値として0を与えて、コンダクタンス(G)に0を設定させる。
【0102】
このような構成の符号付き乗算装置60は、次のように動作する。
【0103】
まず、出力キャパシタ70は、所定のコモン電圧(例えば、1/2×VDD)を発生するように、蓄積する電荷量が調整される。そして、符号付き乗算装置60は、入力値に応じた入力電圧(Vin)を受け取り、乗算処理を実行する。
【0104】
入力値が0以上であり、且つ、重み値が0以上である場合、第1乗算回路10-ppは、入力値の絶対値と重み値の絶対値とを乗算した出力電流(Iout)を出力する。そして、この場合、出力キャパシタ70は、第1乗算回路10-ppから出力された出力電流(Iout)に応じた電荷がチャージされて、乗算値に応じた電圧分、出力電圧(Vout)を増加させる。
【0105】
入力値が0以上であり、且つ、重み値が負である場合、第2乗算回路10-pnは、入力値の絶対値と重み値の絶対値とを乗算した出力電流(Iout)を出力する。そして、この場合、出力キャパシタ70は、第2乗算回路10-pnから出力された出力電流(Iout)に応じた電荷がディスチャージされて、乗算値に応じた電圧分、出力電圧(Vout)を減少させる。
【0106】
入力値が負であり、且つ、重み値が0以上である場合、第3乗算回路10-npは、入力値の絶対値と重み値の絶対値とを乗算した出力電流(Iout)を出力する。そして、この場合、出力キャパシタ70は、第3乗算回路10-npから出力された出力電流(Iout)に応じた電荷がディスチャージされて、乗算値に応じた電圧分、出力電圧(Vout)を減少させる。
【0107】
入力値が負であり、且つ、重み値が負である場合、第4乗算回路10-nnは、入力値の絶対値と重み値の絶対値とを乗算した出力電流(Iout)を出力する。そして、この場合、出力キャパシタ70は、第4乗算回路10-nnから出力された出力電流(Iout)に応じた電荷がチャージされて、乗算値に応じた電圧分、出力電圧(Vout)を増加させる。
【0108】
そして、符号付き乗算装置60は、出力キャパシタ70に蓄積された電荷に応じた電圧を、出力電圧(Vout)として電圧出力端子76から出力する。これにより、符号付き乗算装置60は、正負の符号付きの入力値と、正負の符号付きの重み値とを乗算した出力値を、出力電圧(Vout)として出力することができる。
【0109】
(第3実施形態)
図8は、第3実施形態に係る積和演算装置80の構成を示す図である。第3実施形態に係る積和演算装置80は、M個の入力値(Mは、2以上の整数)と、M個の重み値とを積和演算した積和演算値を出力する。積和演算装置80は、M個の入力値に応じたM個の入力電圧(Vin_1~Vin_M)を受け取る。そして、積和演算装置80は、M個の入力値とM個の重み値とを積和演算した積和電流(Iacc)を、積和演算値として出力する。
【0110】
積和演算装置80は、M個の乗算装置10(10-1~10-M)と、出力線82とを備える。M個の乗算装置10のそれぞれは、第1実施形態および第1実施形態の各変形例と同一構成である。
【0111】
M個の乗算装置10は、M個の重み値に一対一に対応する。M個の乗算装置10のうちのm番目の乗算装置10-m(mは、1以上、M以下の整数)は、M個の入力値のうちのm番目の入力値と、M個の重み値のうちのm番目の重み値とを乗算した出力値を出力する。すなわち、m番目の乗算装置10-mは、m番目の入力値に応じた入力電圧(Vin_m)を受け取る。また、m番目の乗算装置10-mは、m番目の重み値に応じたm番目のコンダクタンス(G_m)が設定される。そして、m番目の乗算装置10-mは、m番目の入力電圧(Vin)とm番目のコンダクタンス(G_m)とを乗じた出力電流(Iout=G_m×Vin_m)を出力値として出力する。
【0112】
M個の乗算装置10のそれぞれは、出力電流(Iout)を出力線82へと出力する。M個の乗算装置10のそれぞれから出力された出力電流(Iout)は、出力線82において加算される。従って、出力線82は、M個の乗算装置10のそれぞれから出力された出力電流(Iout)を加算した積和電流(Iacc)を、M個の入力値とM個の重み値とを積和演算した積和演算値として出力する。
【0113】
以上のような積和演算装置80は、M個の乗算装置10を用いて積和演算をするので、非常に簡易な構成で、高分解能な精度の良い積和演算処理を実行することができる。
【0114】
(第4実施形態)
図9は、第4実施形態に係る行列演算装置90の構成を示す図である。第4実施形態に係る行列演算装置90は、M列の入力値と、M行×N列の重み値(Nは、1以上の整数)とを行列演算してN列の積和演算値を出力する。行列演算装置90は、M列の入力値に応じたM個の入力電圧(Vin_1~Vin_M)を受け取る。そして、行列演算装置90は、M列の入力値とM行×N列の重み値とを行列演算したN個の積和電流(Iacc_1~Iacc_N)を、N列の積和演算値として出力する。
【0115】
行列演算装置90は、M×N個の乗算装置10(10-1,1~10-M,N)と、N個の出力線82(82-1~82-N)とを備える。M個の乗算装置10のそれぞれは、第1実施形態および第1実施形態の各変形例と同一構成である。
【0116】
M×N個の乗算装置10は、M行×N列の重み値に一対一に対応する。M×N個の乗算装置10のうちのm番目の行におけるn番目の列(nは、1以上N以下の整数)に対応する乗算装置10-m,nは、M列の入力値のうちのm番目の列の入力値と、M行×N列の重み値のうちのm番目の行におけるn番目の列の重み値とを乗算した出力値を出力する。
【0117】
すなわち、m番目の行におけるn番目の列に対応する乗算装置10-m,nは、m番目の列の入力値に応じた入力電圧(Vin_m)を受け取る。また、m番目の行におけるn番目の列に対応する乗算装置10-m,nは、m番目の行におけるn番目の列の重み値に応じたコンダクタンス(G_m,n)が設定される。そして、m番目の行におけるn番目の列に対応する乗算装置10-m,nは、m番目の列の入力値に応じた入力電圧(Vin_m)と、m番目の行におけるn番目の列のコンダクタンス(G_m,n)とを乗じた出力電流(Iout=G_m,n×Vin_m)を出力値として出力する。
【0118】
M×N個の乗算装置10のうちのn番目の列に対応するM個の乗算装置10-1,m~10-M,mのそれぞれは、出力電流(Iout)を、N個の出力線82のうちのn番目の出力線82へと出力する。n番目の列に対応するM個の乗算装置10-1,m~10-M,mのそれぞれから出力された出力電流(Iout)は、n番目の出力線82において加算される。従って、n番目の出力線82は、n番目の列に対応するM個の乗算装置10-1,m~10-M,mのそれぞれから出力された出力電流(Iout)を加算した電流を、M個の積和電流(Iacc_1~Iacc_N)のうちのn番目の積和電流(Iacc_n)として出力する。これにより、N個の出力線82は、M列の入力値とM行×N列の重み値とを行列演算したN個の積和電流(Iacc_1~Iacc_N)を、N列の積和演算値として出力することができる。
【0119】
以上のような行列演算装置90は、M×N個の乗算装置10(10-1,1~10-M,N)を用いて行列演算をするので、非常に簡易な構成で、高分解能な精度の良い積和演算処理を実行することができる。
【0120】
(第5実施形態)
図10は、第5実施形態に係るリザバー装置110の構成を示す図である。リザバー装置110は、リカレントニューラルネットワークの一つである。本実施形態に係るリザバー装置110は、アナログ回路を用いて実現される。
【0121】
リザバー装置110は、時系列入力信号を受け取る。時系列入力信号は、時間方向に値が変化する信号である。本実施形態において、時系列入力信号は、値がアナログ電圧により表される電圧信号である。時系列入力信号は、時系列のデジタル信号であってもよい。
【0122】
そして、リザバー装置110は、1または複数の時系列推論信号を出力する。1または複数の時系列推論信号のそれぞれは、時間方向に値が変化する信号である。本実施形態において、1または複数の時系列推論信号のそれぞれは、値がアナログ電圧により表される電圧信号である。1または複数の時系列推論信号のそれぞれは、時系列のデジタル信号であってもよい。
【0123】
1または複数の時系列推論信号のそれぞれは、例えば時系列入力信号の特徴を表す信号であってよい。例えば、1または複数の時系列推論信号のそれぞれは、時系列入力信号と同一の信号であってもよいし、所定時間後の時系列入力信号を推論した信号であってもよい。また、1または複数の時系列推論信号のそれぞれは、時系列入力信号における現在または所定時間後の異常を表す信号であってもよいし、時系列入力信号からノイズ等を除去した特徴成分を表す信号であってもよい。
【0124】
リザバー装置110は、入力回路112と、リザバー回路114と、出力回路116と、学習制御回路118とを備える。
【0125】
入力回路112は、時系列入力信号を受け取り、時系列入力信号に対して所定の処理をした時系列前処理信号を出力する。例えば、入力回路112は、基準波形を表す参照信号を取得し、時系列信号と参照信号との差を表す時系列前処理信号を出力する。また、入力回路112は、時系列入力信号をそのまま時系列前処理信号として出力してもよい。
【0126】
リザバー回路114は、複数のシナプス回路122と、複数のニューロン回路124とを含む。本実施形態において、複数のシナプス回路122のそれぞれおよび複数のニューロン回路124のそれぞれは、アナログ回路により実現される。
【0127】
複数のシナプス回路122のそれぞれは、シナプス重みが設定される。複数のシナプス回路122のそれぞれは、複数のニューロン回路124のうちの何れか1つのニューロン回路124から発火信号を受け取る。複数のシナプス回路122のそれぞれは、受け取った発火信号に対して設定されたシナプス重みの影響を加えた信号を、複数のニューロン回路124のうちの何れか1つに供給する。例えば、シナプス重みは、1、-1の2値により表されてもよいし、1、-1、0といった3値により表されてもよい。また、シナプス重みは、3値以上の多値、または、連続値により表されてもよい。複数のシナプス回路122のそれぞれは、設定されるシナプス重みに応じて、発火信号を遅延させてもよい。また、複数のシナプス回路122のそれぞれは、設定されるシナプス重みに応じて、発火信号のレベルを変化させてもよい。また、複数のシナプス回路122のそれぞれは、設定されるシナプス重みが1、-1、0の3値うちの0に設定されている場合、発火信号を受け取っても、信号を出力しない構成であってもよい。
【0128】
複数のニューロン回路124のそれぞれは、複数のシナプス回路122のうちの1または複数のシナプス回路122から信号を受け取る。複数のニューロン回路124のうちの一部のニューロン回路124は、入力回路112から時系列前処理信号を受け取る。時系列前処理信号を受け取るニューロン回路124は、時系列前処理信号に加えて、さらに1または複数のシナプス回路122から信号を受け取ってよい。
【0129】
複数のニューロン回路124のそれぞれは、受け取った1または複数の信号を累積し、累積した値に対して活性化関数処理を行って、発火信号を出力する。複数のニューロン回路124のそれぞれは、累積した値に対して閾値処理をしてもよいし、累積した値に対して確率的に発火信号を出力してもよい。発火信号は、例えば、発火したタイミングでH論理となり、H論理となってから一定時間後にL論理となるパルス波形である。
【0130】
ここで、複数のニューロン回路124のうちの少なくとも1つのニューロン回路124は、自身が出力した発火信号が1以上のシナプス回路122を介してフィードバックされる。例えば、ニューロン回路124は、自身が出力した発火信号がシナプス回路122を介して直接自身にフィードバックされてもよい。また、ニューロン回路124は、自身が出力した発火信号が複数のシナプス回路122および1以上の他のニューロン回路124を経由してフィードバックされてもよい。これにより、リザバー回路114は、リカレントニューラルネットワークを構成することができる。
【0131】
また、リザバー回路114は、複数のシナプス回路122および複数のニューロン回路124の接続関係を、任意に切り替え可能となっていてもよい。例えば、リザバー回路114は、複数のニューロン回路124のそれぞれの出力端子が、複数のニューロン回路124の全ての入力端子へと異なるシナプス回路122を介して接続されるモジュール回路を有していてもよい。この場合、モジュール回路は、複数のシナプス回路122のそれぞれについて、有効化するか無効化するかを学習制御回路118から切り替え可能となっている。有効化されたシナプス回路122は、受け取った発火信号に対してシナプス重みの影響を加えた信号を出力する。無効化されたシナプス回路122は、発火信号を受け取っても信号を出力しない。また、リザバー回路114は、このようなモジュール回路を複数個含み、モジュール間の接続も設定可能であってもよい。
【0132】
リザバー回路114は、複数のニューロン回路124のうちのM個のニューロン回路124から出力されたM個の発火信号を、M個の時系列中間信号として出力する。リザバー回路114は、複数のニューロン回路124の全ての中から、M個の時系列中間信号を出力するM個のニューロン回路124を任意に選択可能であってもよい。
【0133】
出力回路116は、行列演算装置90と、N個の電圧変換回路132とを含む。
【0134】
行列演算装置90は、第4実施形態において説明した回路と同一である。行列演算装置90は、リザバー回路114からM個の時系列中間信号をM個の入力値として受け取る。そして、行列演算装置90は、N個の積和電流(Iacc)を出力する。
【0135】
N個の電圧変換回路132は、N個の積和電流(Iacc)に一対一に対応する。N個の電圧変換回路132のそれぞれは、N個の積和電流(Iacc)のうちの対応する積和電流(Iacc)を電圧信号に変換して、N個の時系列推論信号のうちの対応する時系列推論信号として出力する。
【0136】
このような出力回路116は、N個の時系列推論信号を出力することができる。なお、出力回路116は、N個の電圧変換回路132のうちの一部のみを含む構成であってもよい。この場合、出力回路116は、Nより少ない1または複数の時系列推論信号を出力する。また、このような出力回路116は、時系列推論信号を2値化して、デジタルの時系列推論信号を出力してもよい。
【0137】
学習制御回路118は、学習処理において、リザバー回路114に含まれる複数のシナプス回路122に設定されるシナプス重み、および、行列演算装置90に含まれるM×N個の乗算装置10に対する重み値を設定する。
【0138】
図11は、リザバー装置110の処理の流れを示すフローチャートである。リザバー装置110は、図11に示す流れで処理を実行する。
【0139】
まず、S21において、学習制御回路118は、リザバー回路114における複数のシナプス回路122および複数のニューロン回路124のそれぞれの接続関係、および、複数のシナプス重みを設定する。学習制御回路118は、ユーザ等により定義された情報に基づき、接続関係および複数のシナプス重みを設定してもよい。また、学習制御回路118は、接続関係およびシナプス重みをランダムに設定してもよい。
【0140】
続いて、S22において、学習制御回路118は、学習処理を実行する。学習処理において、学習制御回路118は、例えば、予め定められた学習用入力信号を時系列入力信号として入力回路112に供給する。続いて、学習制御回路118は、学習用入力信号を入力することに応じて出力回路116から出力された時系列推論信号と、予め定められた教師信号とを比較する。そして、学習制御回路118は、例えば、時系列推論信号が教師信号と一致するように、行列演算装置90に含まれるM×N個の乗算装置10のそれぞれに設定する重み値を変更する。
【0141】
ここで、学習処理において、学習制御回路118は、行列演算装置90に含まれるM×N個の乗算装置10のそれぞれに、短期記憶回路12に対して電荷のチャージおよびディスチャージをして、短期記憶回路12から発生される第1制御電圧(VW1)を調整する調整処理を実行させる。すなわち、学習処理においては、学習制御回路118は、M×N個の乗算装置10のそれぞれに長期記憶回路14から発生される第2制御電圧(VW2)を変更させない。これにより、学習制御回路118は、M×N個の乗算装置10のそれぞれに、比較的に小さい時定数の短期記憶回路12に対する電荷のチャージおよびディスチャージをさせるので高速に重み値を更新することができる。
【0142】
学習制御回路118は、時系列推論信号が教師信号と一致するように、行列演算装置90に含まれるM×N個の乗算装置10のそれぞれの重み値が設定されると、学習処理を終了する。学習制御回路118は、学習処理の後、処理をS23に進める。
【0143】
S23において、学習制御回路118は、M×N個の乗算装置10のそれぞれに対して、設定処理を実行させる。すなわち、学習制御回路118は、学習処理の後において、M×N個の乗算装置10のそれぞれに対して、長期記憶回路14から発生される第2制御電圧(VW2)を、短期記憶回路12から発生される第1制御電圧(VW1)に一致させる。これにより、学習制御回路118は、M×N個の乗算装置10のそれぞれに、長時間、重み値を精度良く記憶させることができる。学習制御回路118は、設定処理の後、処理をS24に進める。
【0144】
S24において、学習制御回路118は、入力回路112、リザバー回路114および出力回路116に推論処理を実行させる。すなわち、学習制御回路118は、設定処理の後において、時系列入力信号を入力して時系列推論信号を出力させる。
【0145】
続いて、S25において、学習制御回路118は、校正タイミングであるか否かを判断する。校正タイミングは、例えば、予め定められた時間間隔毎、または、所定のイベントが発生する毎のタイミングである。校正タイミングではない場合(S25のNo)、学習制御回路118は、処理をS24に戻し、推論処理を続けさせる。校正タイミングとなった場合(S25のYes)、学習制御回路118は、処理をS26に進める。
【0146】
S26において、学習制御回路118は、M×N個の乗算装置10のそれぞれに対して、校正処理を実行させる。具体的には、学習制御回路118は、M×N個の乗算装置10のそれぞれに対して、短期記憶回路12から発生される第1制御電圧(VW1)を、長期記憶回路14から発生される第2制御電圧(VW2)に一致させるように指示する。
【0147】
学習制御回路118は、S26の処理を終えると、処理をS24に戻し、推論処理を続けさせる。
以上のようなリザバー装置110は、M×N個の乗算装置10を用いて重み値の学習および推論を行うので、非常に簡易な構成で、高分解能な精度の良い積和演算処理を実行することができる。
【0148】
また、リザバー装置110は、学習処理において、M×N個の乗算装置10のそれぞれに含まれる短期記憶回路12に対して電荷をチャージおよびディスチャージすることにより重みを更新する。これにより、リザバー装置110は、高速に精度良く重み値を更新することができる。
【0149】
また、リザバー装置110は、学習処理が終了した後、M×N個の乗算装置10のそれぞれに含まれる長期記憶回路14に重み値を記憶させる。これにより、リザバー装置110は、長時間精度良く重み値を記憶させることができる。
【0150】
また、リザバー装置110は、校正タイミングにおいて、M×N個の乗算装置10のそれぞれに、長期記憶回路14から短期記憶回路12へと電荷を転送させて校正処理を実行させる。これにより、リザバー装置110は、短期記憶回路12に、重み値を長時間精度良く記憶させ続けることができる。
【0151】
以上のように、リザバー装置110は、短時間で精度良く重み値を更新することができ、且つ、長期間精度良く重み値を記憶することができる。これにより、リザバー装置110は、長時間、精度良い推論信号を出力することができる。
【0152】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0153】
10 乗算装置
12 短期記憶回路
14 長期記憶回路
16 変換回路
18 整流回路
20 基準電位スイッチ
22 調整スイッチ
24 設定スイッチ
26 校正スイッチ
30 制御回路
32 短期記憶キャパシタ
34 長期記憶キャパシタ
36 入力端子
38 出力端子
40 制御端子
42 電界効果トランジスタ
46 蓄電素子
48 可変抵抗回路
50 固定抵抗器
52 可変抵抗器
54 抵抗
56 選択スイッチ
58 ショットキーバリアダイオード
60 符号付き乗算装置
80 積和演算装置
82 出力線
110 リザバー装置
112 入力回路
114 リザバー回路
116 出力回路
118 学習制御回路
122 シナプス回路
124 ニューロン回路
132 電圧変換回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11