(57)【要約】  本積和演算装置は積和演算をアナログ回路で実行し、複数の入力線と、複数の乗算部と、蓄積部と、充電部と、出力部とを具備する。複数の入力線は、入力値に応じたパルス幅を有するパルス信号が入力される。複数の乗算部は、前記複数の入力線の各々に入力されるパルス信号に基づいて、入力値に荷重値を乗算した乗算値に対応する電荷を生成する。蓄積部は、複数の乗算部の各々により生成された乗算値に対応する電荷の和を蓄積する。充電部は、乗算値に対応する電荷の和が蓄積された蓄積部を、蓄積部の蓄積状況に関連付けられた充電速度により充電する。出力部は、充電部による充電の開始後蓄積部により保持される電圧に対して蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、乗算値の和を表す積和信号を出力する。
2020013069.tif 000002
【特許請求の範囲】
【請求項１】
積和演算をアナログ回路で実行する積和演算装置であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
【請求項２】
請求項１に記載の積和演算装置であって、
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力され、
前記充電部は、前記入力期間の終了後に前記充電を開始し、
前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングに基づいて、前記積和信号を出力する
積和演算装置。
【請求項３】
請求項２に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定される
積和演算装置。
【請求項４】
請求項３に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定される
積和演算装置。
【請求項５】
請求項３に記載の積和演算装置であって、
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングを、前記積和信号を算出するための算出タイミングとして、
前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定される
積和演算装置。
【請求項６】
請求項３に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定される
積和演算装置。
【請求項７】
請求項３に記載の積和演算装置であって、
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値である
情報処理装置。
【請求項８】
請求項２に記載の積和演算装置であって、
前記出力期間の長さは、前記入力期間の長さと等しい
積和演算装置。
【請求項９】
請求項２に記載の積和演算装置であって、
前記充電部は、前記入力期間の終了タイミングで前記充電を開始し、
前記出力期間は、前記充電部による充電の開始タイミングで開始される
積和演算装置。
【請求項１０】
請求項１に記載の積和演算装置であって、
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有し、
前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有し、
前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電し、
前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力する
積和演算装置。
【請求項１１】
請求項１に記載の積和演算装置であって、
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積する
積和演算装置。
【請求項１２】
請求項１１に記載の積和演算装置であって、
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であり、
前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電する
積和演算装置。
【請求項１３】
請求項２に記載の積和演算装置であって、
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有する
積和演算装置。
【請求項１４】
請求項１に記載の積和演算装置であって、さらに、
１以上の出力線を具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記１以上の出力線のいずれか１つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力する
積和演算装置。
【請求項１５】
請求項１０に記載の積和演算装置であって、さらに、
正電荷出力線と、負電荷出力線とを具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力し、
前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力する
積和演算装置。
【請求項１６】
請求項１４に記載の積和演算装置であって、
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するＭＯＳトランジスタである
積和演算装置。
【請求項１７】
積和演算をアナログ方式で実行する積和演算回路であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
【請求項１８】
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
【請求項１９】
複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
蓄積部に、前記生成された前記乗算値に対応する電荷の和を蓄積し、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電し、
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する
積和演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アナログ方式を用いた積和演算に適用可能な積和演算装置、積和演算回路、積和演算システム、及び積和演算方法に関する。
【背景技術】
【０００２】
例えば特許文献１には、積和演算の処理をアナログ方式によって行うアナログ回路について記載されている。このアナログ回路では、複数の電気信号のそれぞれに対応した荷重が設定される。また、対応する電気信号と荷重との積に応じた電荷がそれぞれ出力され、出力された電荷がキャパシタに適宜蓄えられる。そして、電荷が蓄えられたキャパシタの電圧に基づいて積和結果を表す信号が算出される。これにより、例えばデジタル方式による処理と比べて積和演算に要する消費電力を抑制することが可能となっている（特許文献１の明細書段落［０００３］［００４９］−［００５３］［００６２］図４等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１８／０３４１６３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなアナログ方式の回路を用いることで、ニューラルネットワークモデル等を計算する装置の低消費電力化につながると期待されており、積和演算の精度を向上可能な技術が求められている。【０００５】
以上のような事情に鑑み、本技術の目的は、積和演算を行うアナログ方式において、演算の精度を向上することが可能な積和演算装置、積和演算回路、積和演算システム、及び積和演算方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本技術の一形態に係る積和演算装置は、積和演算をアナログ回路で実行する積和演算装置であって、複数の入力線と、複数の乗算部と、蓄積部と、充電部と、出力部とを具備する。
前記複数の入力線は、入力値に応じたパルス幅を有するパルス信号が入力される。
前記複数の乗算部は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する。
前記蓄積部は、前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する。
前記充電部は、前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する。
前記出力部は、前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する。【０００７】
この積和演算装置では、蓄積部を充電する充電速度、及び乗算値の和を表す積和信号の出力に用いられる閾値が、蓄積部の蓄積状況に関連付けられてそれぞれ設定される。これにより、積和演算の結果を表現する分解能を向上させることが可能となり、演算の精度を向上させることが可能となる。【０００８】
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力されてもよい。この場合、前記充電部は、前記入力期間の終了後に前記充電を開始してもよい。また前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなる（または小さくなる）タイミングに基づいて、前記積和信号を出力してもよい。【０００９】
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定されてもよい。【００１０】
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定されてもよい。【００１１】
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなる（または小さくなる）タイミングを、前記積和信号を算出するための算出タイミングとして、前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定されてもよい。【００１２】
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定されてもよい。【００１３】
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値であってもよい。【００１４】
前記出力期間の長さは、前記入力期間の長さと等しくてもよい。【００１５】
前記充電部は、前記入力期間の終了タイミングで前記充電を開始してもよい。この場合、前記出力期間は、前記充電部による充電の開始タイミングで開始されてもよい。【００１６】
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有してもよい。この場合、前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有してもよい。また前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電してもよい。また前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力してもよい。【００１７】
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積してもよい。【００１８】
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であってもよい。この場合、前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電してもよい。【００１９】
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有してもよい。【００２０】
前記積和演算装置は、さらに、１以上の出力線を具備してもよい。この場合、前記複数の乗算部は、前記複数の入力線に対応して設けられてもよい。また前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記１以上の出力線のいずれか１つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力してもよい。【００２１】
前記積和演算装置は、さらに、正電荷出力線と、負電荷出力線とを具備してもよい。この場合、前記複数の乗算部は、前記複数の入力線に対応して設けられてもよい。また前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力してもよい。また前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力してもよい。【００２２】
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するＭＯＳトランジスタであってもよい。【００２３】
本技術の一形態に係る積和演算回路は、積和演算をアナログ方式で実行する積和演算回路であって、前記複数の入力線と、前記複数の乗算部と、前記蓄積部と、前記充電部と、前記出力部とを具備する。【００２４】
本技術の一形態に係る積和演算システムは、前記複数の入力線と、複数のアナログ回路を含むネットワーク回路とを具備する。
前記複数のアナログ回路は、前記複数の乗算部と、前記蓄積部と、前記充電部と、前記出力部とを有する。【００２５】
本技術の一形態に係る積和演算方法は、複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力することを含む。
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷が生成される。
蓄積部に、前記生成された前記乗算値に対応する電荷の和が蓄積される。
前記乗算値に対応する電荷の和が蓄積された前記蓄積部が、前記蓄積部の蓄積状況に関連付けられた充電速度により充電される。
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号が出力される。
【発明の効果】
【００２６】
以上のように、本技術によれば、積和演算を行うアナログ方式において、演算の精度を向上することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態に係る積和演算装置を含む演算装置の構成例を示す模式図である。
【図２】積和演算装置に入力される電気信号の一例を示す模式図である。
【図３】演算装置を実現するための積和演算装置の配置例を示す模式図である。
【図４】ニューロン回路の構成例を示す模式図である。
【図５】積和演算装置の一例を示す模式的な回路図である。
【図６】図５に示す積和演算装置による積和信号の算出例を説明するための図である。
【図７】全体の積和結果を示す積和信号の算出例を示す模式図である。
【図８】充電速度及び閾値の設定について説明するための模式図である。
【図９】充電速度及び閾値の設定について説明するための模式図である。
【図１０】充電速度及び閾値の設定について説明するための模式図である。
【図１１】第２の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
【図１２】図１１に示す積和演算装置による積和信号の算出例を説明するための図である。
【図１３】第３の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
【図１４】第４の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
【図１５】信号値に応じたパルス幅を有するパルス信号（ＰＷＭ信号）の他の例を示す模式図である。
【図１６】図４に示すニューロン回路の具体的な構成例を示す回路図である。
【図１７】図１６に示すニューロン回路の動作例を示すタイミングチャートである。
【図１８】ニューロン回路の他の構成例を示す回路図である。
【図１９】図１８に示すニューロン回路の動作例を示すタイミングチャートである。
【図２０】図１８に示すニューロン回路の他の動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００２８】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００２９】
＜第１の実施形態＞
［積和演算装置の構成］
図１は、本技術の第１の実施形態に係る積和演算装置を含む演算装置の構成例を示す模式図である。演算装置１００は、積和演算を含む所定の演算処理を実行するアナログ方式の演算装置である。演算装置１００は、数学モデルに従った演算処理を実行することが可能である。
【００３０】
演算装置１００は、複数の信号線１と、複数の入力部２と、複数の積和演算装置３とを有する。各信号線１は、所定の方式の電気信号を伝送する線である。電気信号としては、例えばパルスのタイミングや幅等のアナログ量を用いて信号値を表すアナログ信号が用いられる。図１には電気信号が伝送される方向が、矢印を用いて模式的に図示されている。
【００３１】
例えば、１つの積和演算装置３には、複数の信号線１が接続される。積和演算装置３に電気信号を伝送する信号線１は、その信号線１が接続された積和演算装置３にとって、電気信号が入力される入力信号線となる。また、積和演算装置３から出力される電気信号を伝送する信号線１は、電気信号を出力する積和演算装置３にとって、電気信号が出力される出力信号線となる。本実施形態では、入力信号線は、入力線に相当する。
【００３２】
複数の入力部２は、入力データ４に応じた複数の電気信号をそれぞれ生成する。入力データ４は、例えば演算装置１００によって実装されるニューラルネットワーク等を用いた処理の対象となるデータである。従って入力データ４に応じた複数の電気信号の各信号値は、演算装置１００に対する入力値であるとも言える。
【００３３】
入力データ４としては、例えば演算装置１００の処理対象となる画像データ、音声データ、統計データ等の任意のデータが用いられる。例えば、入力データ４として画像データが用いられる場合等には、画像データの各画素の画素値（ＲＧＢ値や輝度値等）に応じた信号値となる電気信号が生成される。この他、入力データ４の種類や演算装置１００による処理の内容に応じて、入力データ４に応じた電気信号が適宜生成されてよい。
【００３４】
積和演算装置３は、入力される電気信号に基づいて、積和演算を行うアナログ方式の積和演算回路である。積和演算は、複数の入力値の各々に荷重値を乗算して得られる複数の乗算値を足し合わせる演算である。従って積和演算は、各乗算値の和（以下積和結果と記載する）を算出する処理であるとも言える。
【００３５】
図１に示すように、１つの積和演算装置３には、複数の入力信号線が接続され、複数の電気信号が与えられる。本実施形態では、１つの積和演算装置３に入力される電気信号の総数をＮとする。なお、各積和演算装置３に入力される電気信号の個数Ｎは、例えば演算処理のモデルや精度等に応じて回路ごとに適宜設定される。
【００３６】
積和演算装置３では、例えばｉ番目の入力信号線から入力される電気信号により表される信号値（入力値）ｘiと、信号値ｘiに対応する荷重値ｗiとの乗算値であるｗi・ｘiが算出される。ここでｉはＮ以下の自然数（ｉ＝１、２、・・・、Ｎ）である。乗算値の演算は、各電気信号（入力信号線）ごとに実行され、Ｎ個の乗算値が算出される。このＮ個の乗算値をそれぞれ足し合わせた値が積和結果（Ｎ個の乗算値の和）として算出される。従って、１つの積和演算装置３で算出される積和結果は、以下の式で表される。
【００３７】
【数１】
2020013069.tif 000003
【００３８】
荷重値ｗiは、例えば−α≦ｗi≦＋αの範囲に設定される。ここでαは、任意の実数値である。従って荷重値ｗiには、正の荷重値ｗiや負の荷重値ｗi、あるいはゼロの荷重値ｗi等が含まれる。
【００３９】
また例えば、荷重値ｗiが設定される範囲が規格化されてもよい。この場合、荷重値ｗiは、−１≦ｗi≦１の範囲に設定される。これにより、例えば積和結果の最大値や最小値等を調整することが可能となり、所望の精度で積和演算を実行することが可能となる。
【００４０】
ニューラルネットワーク等では、荷重値ｗiを＋α及び−αのどちらかに設定するバイナリコネクトと呼ばれる手法を用いることが可能である。バイナリコネクトは、例えば深層ニューラルネットワーク（多層ニューラルネットワーク）を用いた画像認識等の分野で用いることで、認識精度等を劣化させることなく、荷重値ｗiの設定を簡略化することが可能である。
【００４１】
上記したように、バイナリコネクトでは、荷重値ｗiがバイナリ値（±α）に２値化される。従って例えば、荷重値ｗiの正負を切り替えることで、所望の荷重値ｗiを容易に設定することが可能である。また、２値化された荷重値ｗiを規格化して、荷重値ｗiを±１に設定してもよい。この他、荷重値ｗiの設定範囲や値等は限定されず、例えば所望の処理精度が実現されるように適宜設定されてよい。
【００４２】
なお、積和演算の対象となる信号値ｘiは、例えば入力部２の各々から出力された電気信号により表される値や、各積和演算装置３から出力された積和結果である。従って、各入力部２及び積和演算装置３は、信号値ｘiを出力する信号源として機能するとも言える。
【００４３】
図１に示す例では、１つの信号源（入力部２、積和演算装置３）から、単一の電気信号（単一の信号値ｘi）が出力される。従って、１つの信号源の出力側に接続された複数の信号線１には、それぞれ同じ電気信号が入力される。また、１つの信号源と、その信号源から出力された電気信号が入力される積和演算装置３とが、単一の入力信号線で接続される。
【００４４】
従って例えば、積和演算装置３にＭ個の信号源が接続される場合には、当該積和演算装置３には、Ｍ個の入力信号線が接続されることになる。そして、積和演算装置３に入力される電気信号の総数は、Ｍとなる。なお、図１に示す演算装置１００では、Ｎ＝Ｍとなっている。なお、１つの信号源から、正負に対応した１対の電気信号（１対の信号値ｘi+、ｘi-）が出力される構成もあり得る。
【００４５】
図１に示すように、演算装置１００は、複数の階層のそれぞれに、複数の積和演算装置３が設けられた階層構造を有する。積和演算装置３の層構造を構成することで、例えば多層パーセプトロン型のニューラルネットワーク等が構築される。例えば複数の積和演算装置３を接続してネットワーク回路とすることで、積和演算システムを構築することが可能となる。各階層に設けられる積和演算装置３の数や、階層の数等は、例えば所望の処理が実行可能となるように適宜設計される。以下では、ｊ段目の層に設けられる積和演算装置３の数をＮjと記載する場合がある。
【００４６】
例えば１段目の層（最下位層）に設けられた各積和演算装置３には、Ｎ個の入力部２により生成されたＮ個の電気信号がそれぞれ入力される。１段目の各積和演算装置３により、入力データの信号値ｘiに関する積和結果がそれぞれ算出され、非線形変換処理後に次の階層（２段目）に設けられた積和演算装置３に出力される。
【００４７】
２段目の層（上位層）に設けられた各積和演算装置３には、１段目で算出された各積和結果を表すＮ1個の電気信号がそれぞれ入力される。従って２段目の各積和演算装置３から見ると、１段目で算出された各積和結果が電気信号の信号値ｘiとなる。２段目の各積和演算装置３により、１段目から出力された信号値ｘiに関する積和結果が算出され、非線形変換処理後にさらに上位層の積和演算装置３に出力される。
【００４８】
このように、演算装置１００では、下位層の積和演算装置３で算出された積和結果と引き続く非線形変換処理結果に基づいて、上位層の積和演算装置３の積和結果が算出される。このような処理が複数回実行され、最上位層（図１では３段目の層）に含まれる積和演算装置３から処理結果が出力される。これにより、例えば猫が撮影された画像データ（入力データ４）から、被写体が猫であることを判定するといった画像認識等の処理が可能となる。
【００４９】
なお、各積和演算装置３を接続する方法等は限定されず、例えば所望の処理が可能となるように、複数の積和演算装置３が適宜接続されてもよい。例えば、各積和演算装置３が階層構造とは異なる他の構造を構成するように接続される場合であっても、本技術は適用可能である。
【００５０】
上記ニューラルネットワークモデルでは、各積和演算装置３の積和結果に対して、活性化関数を用いて非線形変換を行い、その変換結果を上位層に入力するといった処理が実行される。
【００５１】
演算装置１００では、例えば電気信号に対して活性化関数による非線形変換を行う関数変換回路５等が用いられる。関数変換回路５は、例えば下位層と上位層との間に設けられ、入力する電気信号の信号値を適宜変換して、変換結果に応じた電気信号を出力する回路である。関数変換回路５は、例えば信号線１ごとに設けられる。関数変換回路５の数や配置等は、例えば演算装置１００に実装される数学モデル等に応じて適宜設定される。
【００５２】
活性化関数としては、例えばＲｅＬＵ関数（ランプ関数）等が用いられる。ＲｅＬＵ関数は、例えば信号値ｘiが０以上である場合には、信号値ｘiをそのまま出力し、それ以外の場合には０を出力する。
【００５３】
図２は、積和演算装置３に入力される電気信号の一例を示す模式図である。図２には、１つの積和演算装置３に入力される複数の電気信号の波形を表すグラフが模式的に図示されている。グラフの横軸は時間軸であり、縦軸は電気信号の電圧である。なお各グラフの時間軸は共通である。
【００５４】
本実施形態では、パルス幅変調（ＰＷＭ：Pulse Width Modulation）方式の電気信号が用いられる。ＰＷＭ方式は、例えばパルス波形のパルス幅τiを用いて信号値ｘiを表す方式である。すなわち、ＰＷＭ方式では、電気信号のパルス幅τiは、信号値ｘiに応じた長さとなる。典型的には、パルス幅τiが長いほど、値の大きい信号値ｘiを表す。
【００５５】
また電気信号は、所定の入力期間Ｔの間に、積和演算装置３に入力される。より詳しくは、電気信号のパルス波形が、入力期間Ｔに収まるように、各電気信号が積和演算装置３に入力される。従って、電気信号のパルス幅の最大値は、入力期間Ｔと同様となる。なお、入力期間Ｔに収まる範囲であれば、各パルス波形（電気信号）が入力されるタイミング等は限定されない。
【００５６】
ＰＷＭ方式では、例えばパルス幅τiと入力期間Ｔとのデューティ比Ｒi（＝τi／Ｔ）を用いて、信号値ｘiを規格化することが可能である。すなわち、規格化された信号値ｘiは、信号値ｘi＝Ｒiと表される。なお信号値ｘiとパルス幅τiとを対応付ける方法等は限定されず、例えば所望の精度で演算処理等が可能となるように、信号値ｘiを表すパルス幅τiが適宜設定されてよい。以下では、各電気信号により表される信号値ｘiが０以上１以下の変数であるとして説明を行う。
【００５７】
本実施形態に係る積和演算装置３をＰＷＭ方式の積和演算装置３と言うことも可能である。本実施形態では、ＰＷＭ方式の積和演算装置３を用いた時間軸アナログ積和演算が実行可能である。
【００５８】
図３は、図１に示す演算装置１００を実現するための積和演算装置３の配置例を示す模式図である。図３では、１つの階層に設けられる複数の積和演算装置３が模式的に図示されている。
【００５９】
積和演算装置３は、１対の出力線７と、複数のシナプス回路８と、ニューロン回路９とを有する。図３に示すように、１つの積和演算装置３は、所定の方向（図中の縦方向）に延在するように構成される。この縦方向に延在する積和演算装置３が、横方向に複数並んで配置されることで、１つの階層が構成される。
【００６０】
１対の出力線７は、積和演算装置３の延在方向に沿って互いに離間して配置される。１対の出力線７は、正電荷出力線７ａと、負電荷出力線７ｂとを有する。正電荷出力線７ａ及び負電荷出力線７ｂの各々は、複数のシナプス回路８を経由してニューロン回路９に接続される。
【００６１】
シナプス回路８は、電気信号により表される信号値ｘiと荷重値ｗiとの乗算値ｗi・ｘiを算出する。具体的には、乗算値に対応する電荷（電流）を正電荷出力線７ａ及び負電荷出力線７ｂのどちらか一方に出力する。
【００６２】
後述するように、シナプス回路８には正の荷重値ｗi+及び負の荷重値ｗi-のどちらか一方が設定される。例えば正の荷重値ｗi+との乗算値に対応する正荷重電荷は、正電荷出力線７ａに出力される。また例えば負の荷重値ｗi-との乗算値に対応する負荷重電荷は、負電荷出力線７ｂに出力される。
【００６３】
なおシナプス回路８では、乗算値に対応する電荷として、荷重値ｗiの正負に係らず同符号の電荷（例えば正の電荷）が出力される。すなわち、正荷重電荷及び負荷重電荷は、互いに同符号の電荷となる。
【００６４】
このように、シナプス回路８は、乗算結果に対応する電荷を荷重値ｗiの符号に応じてそれぞれ別の出力線７ａ又は７ｂに出力するように構成される。シナプス回路８の具体的な構成については、後に詳しく説明する。本実施形態において、シナプス回路８は、乗算部に相当する。
【００６５】
本実施形態では、１つのシナプス回路８に対して、単一の入力信号線１ａと、１対の出力線７とが接続される。すなわち１つのシナプス回路８には、単一の電気信号が入力され、入力された電気信号に基づいて算出された乗算値に対応する電荷が、いずれか一方の出力線７ａ又は７ｂに出力される。このように、シナプス回路８は、単一の入力信号線１ａと１対の出力線７（正電荷出力線７ａ及び負電荷出力線７ｂ）とに接続された１入力２出力の回路となる。
【００６６】
１つの積和演算装置３では、複数のシナプス回路８が、１対の出力線７に沿って配置される。各シナプス回路８は、正電荷出力線７ａ（負電荷出力線７ｂ）に対してそれぞれ並列に接続される。以下では、最も下流側（ニューロン回路９に接続される側）に配置されるシナプス回路８を１番目のシナプス回路とする。
【００６７】
図３に示すように、複数の入力信号線１ａは、複数の積和演算装置３の各々が有する１対の出力線７に対して交差するようにそれぞれ配置される。典型的には、入力信号線１ａは各出力線７と直交するように設けられる。すなわち、演算装置１００は、入力信号線１ａと出力線７とが交差したクロスバー構成を有する。クロスバー構成を用いることで、例えば積和演算装置３等を高密度に集積化することが可能となる。
【００６８】
また演算装置１００では、ｊ番目の入力信号線１ａに対して、各積和演算装置３に含まれるｊ番目のシナプス回路８がそれぞれ並列に接続される。従って、同じ入力信号線１ａに接続されるシナプス回路８には、互いに同様の電気信号が入力される。これにより、図１に例示するような、下位層に含まれる１つの信号源が、上位層に含まれる複数の積和演算装置３に接続される構成を実装することが可能である。
【００６９】
なお図３に示す例では、各入力信号線１ａに電気信号を入力する信号源として、下位層に含まれる積和演算装置３（プレニューロン）が模式的に図示されている。これに限定されず、例えば信号源として、図１に例示するような入力部２が用いられる場合にも、クロスバー構成を用いることが可能である。
【００７０】
このように、演算装置１００では、複数の積和演算装置３が、複数の入力信号線１ａの各々に並列に接続される。これにより、例えば、各積和演算装置３（各シナプス回路８）に対して並列に電気信号を入力することが可能となり、演算処理の高速化を図ることが可能である。この結果、優れた演算性能を発揮することが可能となる。
【００７１】
ニューロン回路９は、各シナプス回路８で算出された乗算値に基づいて、（数１）式に示す積和結果を算出する。具体的には、１対の出力線７を介して入力された電荷に基づいて、積和結果を表す電気信号を出力する。
【００７２】
図４は、ニューロン回路９の構成例を示す模式図である。図４には、１対の出力線７と、単一の出力信号線１ｂとに接続された２入力１出力のニューロン回路９が示されている。なお、ニューロン回路９として２入力２出力の回路等が用いられる場合もあり得る。
【００７３】
ニューロン回路９は、蓄積部１１と、出力部１２とを有する。蓄積部１１は、複数のシナプス回路８により１対の出力線７に出力された電荷の和を蓄積する。蓄積部１１は、２つのキャパシタ１３ａ及び１３ｂを有する。キャパシタ１３ａは、正電荷出力線７ａとＧＮＤとの間に接続される。またキャパシタ１３ｂは、負電荷出力線７ｂとＧＮＤとの間に接続される。従って各キャパシタ１３ａ及び１３ｂには、正電荷出力線７ａ及び負電荷出力線７ｂから流れ込む電荷がそれぞれ蓄積される。
【００７４】
例えば電気信号の入力期間Ｔが経過したタイミングでは、キャパシタ１３ａに蓄積された電荷は、信号値ｘiと正の荷重値ｗi+との乗算値に対応する正荷重電荷の総和となる。また同様に、キャパシタ１３ｂに蓄積された電荷は、信号値ｘiと負の荷重値ｗi-との乗算値に対応する負荷重電荷の総和となる。
【００７５】
例えばキャパシタ１３ａに正荷重電荷が蓄積されると、ＧＮＤを基準とする正電荷出力線７ａの電位が上昇する。従って、正電荷出力線７ａの電位は、正荷重電荷の総和に応じた値となる。なお、正電荷出力線７ａの電位は、キャパシタ１３ａにより保持される電圧に相当する。
【００７６】
同様に、キャパシタ１３ｂに負荷重電荷が蓄積されると、ＧＮＤを基準とする負電荷出力線７ｂの電位が上昇する。従って、負電荷出力線７ｂの電位は、負荷重電荷の総和に応じた値となる。なお、負電荷出力線７ｂの電位は、キャパシタ１３ｂにより保持される電圧に相当する。
【００７７】
出力部１２は、蓄積部１１に蓄積された電荷に基づいて、乗算値ｗi・ｘiの和を表す積和信号を出力する。ここで積和信号とは、例えば正負合わせたすべての荷重値ｗiと信号値ｘiとの乗算値の和である全体の積和結果を表す信号である。例えば、上記の（数１）式で表される積和結果は、以下のように書き表すことが可能である。
【００７８】
【数２】
2020013069.tif 000004
【００７９】
ここで、Ｎ+及びＮ-は、それぞれ正の荷重値ｗi+の総数及び負の荷重値ｗi-の総数である。このように、全体の積和結果は、正の荷重値ｗi+との乗算値ｗi+・ｘiの総和である正荷重電荷の積和結果と、負の荷重値ｗi-との乗算値｜ｗi-｜・ｘiの総和である負荷重電荷の積和結果との差分として算出可能である。
【００８０】
出力部１２は、積和信号として、例えば全体の積和結果（（数２）式の左辺）を表す１つの信号を生成する。なお、これに限定されず、例えば積和信号として、正荷重電荷の積和結果を表す正の積和信号と、負荷重電荷の積和結果を表す負の積和信号との２つの信号を生成するように、出力部１２が構成されてもよい。
【００８１】
例えば出力部１２は、正電荷出力線７ａの電位（キャパシタ１３ａに保持された電圧）に基づいて、正荷重電荷の積和結果を算出する。また、出力部１２は、負電荷出力線７ｂの電位（キャパシタ１３ｂに保持された電圧）に基づいて、負荷重電荷の積和結果を算出する。例えば、図４に示す例では、これら正負の積和結果の差分から全体の積和結果が算出されて、１つの積和信号として出力される。また例えば、正負の積和結果から、正負の積和信号がそれぞれ出力されてもよい。
【００８２】
蓄積部１１に蓄積された電荷に基づいて、積和信号を生成する方法は限定されない。一例として、１つのキャパシタ１３に蓄積された電荷を検出する方法について説明する。ＰＷＭ方式の電気信号が用いられる場合、乗算値に対応する電荷は、入力期間Ｔの間にキャパシタ１３に蓄積される。すなわち、入力期間Ｔの前後では、乗算値に対応する電荷の蓄積は生じない。
【００８３】
例えば入力期間Ｔの終了後に、所定の充電速度でキャパシタ１３を充電する。この時、比較器（コンパレータ等）を用いて、キャパシタ１３が接続された出力線の電位が所定の閾値電位に到達するタイミングを検出する。例えば充電開始時の電荷が多いほど、閾値電位に達するタイミングが早くなる。従ってタイミングに基づいて、入力期間Ｔの間に蓄積された電荷（積和結果）を表すことが可能となる。なお充電速度は、例えば単位時間当たりの充電量で表現することが可能であり、充電率と言うことも可能である。
【００８４】
なお、この閾値判定は、充電によりキャパシタ１３に保持される電圧を増加させ、閾値電圧に到達するタイミングを検出することに相当する。
【００８５】
このように、入力期間Ｔの終了後に蓄積部１１（キャパシタ１３ａ及び１３ｂ）を充電することで、積和結果を表すタイミングが検出される。この検出結果に基づいて、正荷重電荷の積和信号や負荷重電荷の積和信号、あるいは全体の積和信号が適宜生成される。この他にも、例えば入力期間Ｔの後に、キャパシタ１３の電位を直接読み出して、各積和結果を算出することも可能である。
【００８６】
図５は、本実施形態に係る積和演算装置の一例を示す模式的な回路図である。積和演算装置３は、複数の入力信号線１ａに対して、直交する方向に延在して設けられる。すなわち図５に示す例では、クロスバー構成が採用されている。
【００８７】
積和演算装置３は、１対の出力線（正電荷出力線７ａ、負電荷出力線７ｂ）と、複数のシナプス回路（複数の乗算部）８と、ニューロン回路９とを有する。図５に示す例では、ニューロン回路９は、蓄積部１１、充電部１５、出力部１２、及びスイッチ１６ａ〜１６ｄを含んでいる。
【００８８】
複数の入力信号線１ａには、入力信号ｉｎ1〜ｉｎ6として、信号値ｘiに応じたパルス幅を有するパルス信号（ＰＷＭ信号）が入力される。図５に示す例では、６本の入力信号線１ａが図示されているが、入力信号線１ａの数は限定されない。入力信号ｉｎ1〜ｉｎ6は、所定の長さを有する入力期間Ｔ内に入力される（図６参照）。
【００８９】
正電荷出力線７ａは、信号値ｘiに正の荷重値ｗi+を乗算した乗算値ｗi+・ｘiに対応する正荷重電荷を出力する。負電荷出力線７ｂは、信号値ｘiに負の荷重値ｗi-を乗算した乗算値｜ｗi-｜・ｘiに対応する負荷重電荷を出力する。本実施形態において、１対の出力線７は、１以上の出力線に相当する。
【００９０】
複数のシナプス回路８は、複数の入力信号線１ａに対応してそれぞれ設けられる。本実施形態では、１つの入力信号線１ａに対して、１つのシナプス回路８が設けられる。複数のシナプス回路８の各々は、複数の入力信号線１ａのうちの対応する入力信号線１ａと、正電荷出力線７ａ及び負電荷出力線７ｂのいずれか１つとの間に接続される抵抗器１７を含む。この抵抗器１７は、非線形特性を有してもよく、電流の逆流防止機能を有してもよい。そして抵抗器１７が接続された出力線７ａ（又は７ｂ）に、乗算値ｗi+・ｘi（又は｜ｗi-｜・ｘi）に対応する電荷を出力する。
【００９１】
例えば、各シナプス回路８において、信号値ｘiに対して正の荷重値ｗi+を乗算したい場合には、入力信号線１ａと正電荷出力線７ａとの間に抵抗器１７を接続し、正電荷出力線７ａに、正荷重電荷を出力させる。図５に示す例では、入力信号ｉｎ1 、ｉｎ3 、ｉｎ6 が入力されるシナプス回路８が、正荷重電荷を生成する正荷重乗算部として構成されたシナプス回路８ａとなる。シナプス回路８ａは、正荷重が設定された乗算部ともいえる。
【００９２】
各シナプス回路８において、信号値ｘiに対して負の荷重値ｗi-を乗算したい場合には、入力信号線１ａと負電荷出力線７ｂとの間に抵抗器１７を接続し、負電荷出力線７ｂに、負荷重電荷を出力させる。図５に示す例では、入力信号ｉｎ2 、ｉｎ4 、ｉｎ5 が入力されるシナプス回路８が、負荷重電荷を生成する負荷重乗算部として構成されたシナプス回路８ｂとなる。シナプス回路８ｂは、負荷重が設定された乗算部ともいえる。
【００９３】
なお抵抗器１７は、設定したい荷重値ｗiに応じた抵抗値を有するものが用いられる。すなわち抵抗器１７は、積和演算を積和演算装置３で実行する演算装置１００において、荷重値ｗiを規定する素子として機能する。
【００９４】
抵抗器１７としては、例えば、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するＭＯＳトランジスタ等が用いられる。例えば、抵抗器１７として、サブスレッショルド領域で動作するＭＯＳトランジスタを用いることで、低消費電力化を実現することが可能となる。もちろん、他の任意の抵抗器が用いられてもよい。
【００９５】
蓄積部１１は、複数のシナプス回路８の各々により生成された、乗算値ｗi・ｘiに対応する電荷の和を蓄積する。本実施形態では、蓄積部１１として、２つのキャパシタ１３ａ及び１３ｂが設けられる。
【００９６】
キャパシタ１３ａは、スイッチ１６ｂを介して正電荷出力線７ａに接続され、シナプス回路８ａにより生成された正荷重電荷の和を蓄積する。本実施形態において、キャパシタ１３ａは、正荷重蓄積部として機能する。
【００９７】
キャパシタ１３ｂは、スイッチ１６ｃを介して負電荷出力線７ｂに接続され、シナプス回路８ｂにより生成された負荷重電荷の和を蓄積する。本実施形態において、キャパシタ１３ｂは、負荷重蓄積部として機能する。
【００９８】
充電部１５は、乗算値ｗi・ｘiに対応する電荷の和が蓄積された蓄積部１１を、所定の充電速度により充電する。本実施形態では、充電部１５として、２つの電流源１８ａ及び１８ｂが設けられる。なお充電は、入力期間Ｔの終了後に実行される。
【００９９】
電流源１８ａは、スイッチ１６ａを介して、キャパシタ１３ａの正電荷出力線７ａに接続されている側（ＧＮＤの反対側）に接続される。電流源１８ｂは、スイッチ１６ｄを介して、キャパシタ１３ｂの負電荷出力線７ｂに接続されている側（ＧＮＤの反対側）に接続される。
【０１００】
本実施形態では、電流源１８ａ及び１８ｂにより、キャパシタ１３ａ及び１３ｂが同じ充電速度で充電される。これにより正電荷出力線７ａの電位（キャパシタ１３ａに保持された電圧）Ｖ+、及び負電荷出力線７ｂの電位（キャパシタ１３ｂに保持された電圧）Ｖ-が、それぞれ増加される。電流源１８の具体的な構成は限定されず、任意に設計されてよい。
【０１０１】
出力部１２は、充電部１５による充電の開始後、蓄積部１１により保持される電圧に対して、所定の閾値により閾値判定を実行することで、乗算値ｗi・ｘiの和を表す積和信号を出力する。本実施形態では、出力部１２として、２つのコンパレータ２０ａ及びコンパレータ２０ｂと、信号生成部２１とが設けられる。
【０１０２】
コンパレータ２０ａは、キャパシタ１３ａにより保持される電圧が、所定の閾値θ１よりも大きくなるタイミングを検出する。なおキャパシタ１３ａにより保持される電圧の大きさは、キャパシタ１３ａに蓄積された正荷重電荷の総量及び充電量（充電速度×時間）により定まる。
【０１０３】
コンパレータ２０ｂは、キャパシタ１３ｂにより保持される電圧が、所定の閾値θ２よりも大きくなるタイミングを検出する。なおキャパシタ１３ｂにより保持される電圧の大きさは、キャパシタ１３ｂに蓄積された負荷重電荷の総量及び充電量（充電速度×時間）により定まる。
【０１０４】
なお本実施形態では、キャパシタ１３ａ及び１３ｂの各々に対して、同じ閾値より閾値判定を実行することで、積和信号が出力される。すなわち閾値θ１＝閾値θ２に設定される。
【０１０５】
信号生成部２１は、コンパレータ２０ａにより検出されたタイミング、及びコンパレータ２０ｂにより検出されたタイミングに基づいて、乗算値ｗi・ｘiの和を表す積和信号を出力する。すなわち信号生成部２１は、キャパシタ１３ａにより保持される電圧が閾値θ１に達したタイミングと、キャパシタ１３ｂにより保持される電圧が閾値θ２（＝θ１）に達したタイミングとに基づいて、積和信号を出力する。
【０１０６】
本実施形態では、積和信号として、パルス幅が変調されたパルス信号である、ＰＭＷ信号が出力される。信号生成部２１の具体的な回路構成等は限定されず、任意に設計されてよい。
【０１０７】
図６及び図７は、図５に示す積和演算装置３による積和信号の算出例を説明するための図である。本実施形態では、キャパシタ１３ａに蓄積された正荷重電荷に基づいた正荷重電荷の積和結果と、キャパシタ１３ｂに蓄積された負荷重電荷に基づいた負荷重電荷の積和結果とに基づいて、正負を含めた全体の積和結果を表す信号が算出される。
【０１０８】
正荷重電荷の積和結果、及び負荷重電荷の積和結果の算出は、互いに等しい処理となる。まず図６を参照しながら、正負の区別なく、キャパシタ１３に蓄積された電荷に基づいた積和結果の算出方法（積和演算方法）を説明する。
【０１０９】
図６の中で記載されているパラメータを説明する。「ｔ」は時間である。「Ｔ」は入力期間及び出力期間の各々を表す。「ｔn 」は入力期間Ｔの終了タイミングであり、「ｔm 」は出力期間Ｔの終了タイミングである。
【０１１０】
本実施形態では、入力期間Ｔの長さと、出力期間Ｔの長さとが、互いに等しく設定される。また入力期間Ｔの終了タイミングｔnから出力期間Ｔが開始される。従って、入力期間Ｔの終了タイミングｔnは、出力期間Ｔの開始タイミングに相当する。
【０１１１】
「α」は、充電部１５（電流源１８）による充電に応じた電位上昇の傾きであり、充電速度に相当する。「θ」は、出力部１２（コンパレータ２０）による閾値判定に用いられる閾値である。
【０１１２】
「Ｓi（ｔ）」は、ｉ番目の入力信号線１ａに入力される入力信号（ＰＷＭ信号）である。「τi 」は、入力信号Ｓi（ｔ）のパルス幅である。「Ｐi（ｔ）」は、図５に示す各シナプス回路８における、内部状態（電位）の変化量である。「ｗi 」は、荷重値であり、図５に示す抵抗器１７の抵抗値により規定される。
【０１１３】
「Ｖn（ｔ）」は、「Ｐi（ｔ）」の総和であり、キャパシタ１３に蓄積される電荷の総量に相当する。「Ｓn（ｔ）」は、積和結果を表す積和信号（ＰＷＭ信号）である。「τn」は、出力される積和信号のパルス幅である。具体的には、「τn」は、出力期間Ｔ内における、キャパシタ１３により保持される電圧が閾値θより大きくなるタイミングから、出力期間Ｔの終了タイミングｔmまでの長さに応じた値となる。
【０１１４】
本実施例では、スイッチ１６ｂ及び１６ｃを備えており、特に、このスイッチで出力線を切り離すことで、低消費電力化と充電精度の向上が可能となっている。
【０１１５】
ここで以下の式に示すように、入力値（信号値）ｘｉは、入力信号Ｓi（ｔ）のパルス幅τiと入力期間Ｔとのデューティ比Ｒi（＝τi／Ｔ）で与えられる。
【０１１６】
【数３】
2020013069.tif 000005
【０１１７】
図５に示すシナプス回路８により、信号値ｘｉに荷重値ｗiを乗算した乗算値に対応する電荷が生成される。具体的には、抵抗器１７の抵抗により、一定の傾きｗiで内部状態（電位）が増加される。
【０１１８】
そして、入力期間Ｔの終了タイミングｔnにおける各シナプス回路８の内部電位の変化量Ｐi（ｔn ）は、以下の式で与えられる。なお、入力信号Ｓi（ｔ）のハイレベルの値は１とする。
【０１１９】
【数４】
2020013069.tif 000006
【０１２０】
キャパシタ１３に蓄積される電荷の総量Ｖn（ｔn ）は、Ｐｉ（ｔn ）の総和となるので、以下の式で与えられる。
【０１２１】
【数５】
2020013069.tif 000007
【０１２２】
入力期間Ｔの終了タイミングｔnで、図５に示すスイッチ１６ａ及び１６ｄがＯＮに切替えられ、またスイッチ１６ｂ及び１６ｃがＯＦＦに切替えられる。そして、入力期間Ｔの終了タイミングｔnで、充電部１５（電流源１８）による充電が開始される。従って本実施形態では、充電部１５による充電の開始タイミングで、出力期間Ｔが開始される。すなわち入力期間Ｔの終了タイミングｔnで、充電及び出力期間が同時に開始される。
【０１２３】
電流源１８により、入力期間Ｔの終了タイミングｔnから、各シナプス回路８の内部電位を、傾き（充電速度）αで増加させる。そして出力期間Ｔ内における、キャパシタ１３により保持される電圧が閾値θより大きくなるタイミングから、出力期間Ｔの終了タイミングｔmまでの長さに応じたパルス幅τnを有する積和信号（ＰＷＭ信号）が生成される。
【０１２４】
積和信号のパルス幅τnと出力期間Ｔとのデューティ比をＲn（＝τn／Ｔ）とすると、Ｒnは、以下の式で与えられる。なお、閾値θは、電荷の総量Ｖn（ｔn ）以上であるとする。
【０１２５】
【数６】
2020013069.tif 000008
【０１２６】
従って、信号値ｘiに荷重値ｗiを乗算した乗算値ｗi・ｘiを足し合わせた積和結果は、以下の式で与えられる。
【０１２７】
【数７】
2020013069.tif 000009
【０１２８】
すなわち積和結果は、αＲn＝α・（τn／Ｔ）に、充電速度α、閾値θ、及び出力期間Ｔにより定められる定数を減算した値となる。このように、所定の長さ出力期間Ｔにおける、蓄積部１１により保持された電圧が閾値θより大きくなるタイミングに基づいて、積和結果を表す積和信号を出力することが可能となる。
【０１２９】
図７は、正荷重電荷及び負荷重電荷の両方の積和結果をふまえた全体の積和結果を示す積和信号の算出例を示す模式図である。図７では、正荷重電荷の積和結果を表す積和信号を「Ｓn+（ｔ）」とし、そのパルス幅を「τn+」とする。また負荷重電荷の積和結果を表す積和信号を「Ｓn-（ｔ）」とし、そのパルス幅を「τn-」とする。さらに、全体の積和結果を表す積和信号を「Ｓn（ｔ）」とし、そのパルス幅を「τn」とする。
【０１３０】
入力期間Ｔの終了タイミングｔnにおける、キャパシタ１３ａに蓄積される正荷重電荷の総量Ｖn+（ｔn ）は、以下の式で与えられる。なおｗi+は正の荷重値である。
【０１３１】
【数８】
2020013069.tif 000010
【０１３２】
入力期間Ｔの終了タイミングｔnにおける、キャパシタ１３ｂに蓄積される負荷重電荷の総量Ｖn-（ｔn ）は、以下の式で与えられる。なおｗi-は負の荷重値である。
【０１３３】
【数９】
2020013069.tif 000011
【０１３４】
正の積和信号Ｓn+（ｔ）のデューティ比をＲn+（＝τn+／Ｔ）とすると、信号値ｘiに正の荷重値ｗi+を乗算した乗算値ｗi+・ｘiを足し合わせた正の積和結果は、以下の式で与えられる。なお、閾値θは、正荷重電荷の総量Ｖn+（ｔn ）以上であるとする。
【０１３５】
【数１０】
2020013069.tif 000012
【０１３６】
負の積和信号Ｓn-（ｔ）のデューティ比をＲn-（＝τn-／Ｔ）とすると、入力値ｘiに負の荷重値ｗi-を乗算した乗算値｜ｗi-｜・ｘiを足し合わせた負の積和結果は、以下の式で与えられる。なお、充電速度α及び閾値θは、（数１０）式で用いらる値と等しい。また閾値θは、負荷重電荷の総量Ｖn-（ｔn ）以上であるとする。
【０１３７】
【数１１】
2020013069.tif 000013
【０１３８】
従って、上記した（数２）式を用いると、全体の積和結果は以下の式で与えられる。
【０１３９】
【数１２】
2020013069.tif 000014
【０１４０】
すなわち全体の積和結果は、充電速度α、積和信号Ｓn+（ｔ）のパルス幅τn+、積和信号Ｓn-（ｔ）のパルス幅τn-、及び出力期間Ｔにより求められる。すなわち、コンパレータ２０ａにより検出されるタイミング、及びコンパレータ２０ｂにより検出されるタイミングに基づいて、容易に積和結果を算出することが可能となる。
【０１４１】
そして図７に示すように、全体の積和結果を表す積和信号として、パルス幅「τn」を有する積和信号「Ｓn（ｔ）」を容易に出力することが可能となる。
【０１４２】
ここで発明者は、積和結果を表す積和信号Ｓn（ｔ）を生成するための充電速度α及び閾値θについて検討した。そして、充電速度α及び閾値θの設定について、新たな技術を考案した。以下、詳しく説明する。
【０１４３】
図８〜図１０は、充電速度α及び閾値θの設定について説明するための模式図である。上記したように、正荷重電荷及び負荷重電荷のいずれにおいても、乗算値ｗi・ｘiに対応する電荷の和が蓄積されたキャパシタ１３が充電することで、電荷の総量が出力期間Ｔにおける閾値θより大きくなるタイミングに変換される。従って、出力期間Ｔ内において、キャパシタ１３に蓄積された電荷の総量が、高い分解能にて、タイミングにより検出されることが望ましい。
【０１４４】
ここで発明者は、キャパシタ１３の蓄積状況に着目して、充電速度α及び閾値θを設定することを、新たに考案した。すなわち、積和結果を表す積和信号Ｓn（ｔ）を生成するための充電速度α及び閾値θとして、キャパシタ１３の蓄積状況に関連付けられた充電速度α及び閾値θを用いることを、新たに考案した。
【０１４５】
なお本開示において、キャパシタ１３の蓄積状況とは、そのキャパシタ１３にどの程度の電荷が蓄積されるかといった情報を含み、例えばキャパシタ１３に蓄積される電荷の推定結果やシミュレーション結果を含む。例えばこれらの推定結果やシミュレーション結果に関連付けられた充電速度α及び閾値θを用いることで、積和演算の精度を向上させることが可能となる。
【０１４６】
例えば、積和演算装置３を用いた演算装置１００を用いて、ニューラルネットワークを構築する際には、学習データを用いた学習処理が実行される。そして、各シナプス回路８に設定される荷重が設定される。学習処理の方法は限定されず、例えばコンピュータシミュレーションを利用した方法等、任意の方法が用いられてもよい。
【０１４７】
例えば、学習処理により各荷重が設定された後（例えば所定の抵抗器が所定の位置に配置された後）に、キャパシタ１３の蓄積状況として、キャパシタ１３に蓄積される荷重の総量が推定される。
【０１４８】
その推定結果に基づいて、蓄積される荷重の総量に対して、積和信号として算出する対象となる有効範囲を決定する。荷重の総量の推定方法は限定されず、例えばコンピュータシミュレーションを利用した方法、確率分布を用いた方法、積和演算装置３へサンプルデータを複数入力した結果に基づいた推定方法等、任意の方法が用いられてよい。なお電荷の総量を推定した推定結果を、電荷の総量をシミュレーションしたシミュレーション結果と言うことも可能である。
【０１４９】
例えば、所定のキャパシタ１３に蓄積される電荷の総量の推定結果として、図８Ａに示すような分布が得られたとする。この場合に、例えば分布の最小値ｍｉｎから最大値ｍａｘまでの範囲を、積和信号として算出する対象となる有効範囲Ｅとして設定する。
【０１５０】
以下、有効範囲Ｅの最小値ｍｉｎ及び最大値ｍａｘを、有効最小値ｍｉｎ、及び有効最大値ｍａｘと記載する。有効最小値ｍｉｎ、及び有効最大値ｍａｘは、蓄積部１１により蓄積される乗算値ｗi・ｘiに対応する電荷の推定結果から求められるパラメータとなる。
【０１５１】
例えば、充電速度α及び閾値θは、有効最大値ｍａｘから有効最小値ｍｉｎまでの有効範囲Ｅに基づいて設定される。具体的には、充電速度α及び閾値θは、有効範囲Ｅが、出力期間Ｔに対して、積和信号の出力可能な範囲となるように設定される。すなわち有効範囲Ｅに含まれる電荷の総量が、充電により、出力期間Ｔ内にて閾値θより大きくなるように、充電速度α及び閾値θが設定される。
【０１５２】
例えば、図９Ａ及びＢに示すように、蓄積される電荷の総量が有効最大値ｍａｘである場合に、積和信号を算出するための算出タイミング（保持電圧が閾値θより大きくなるタイミング）が、出力期間Ｔの開始タイミングｔnの直後のタイミングとなる。また蓄積される電荷の総量が有効最小値ｍｉｎである場合に、積和信号を算出するための算出タイミングが、出力期間Ｔの終了タイミングの直前のタイミングとなる。このような条件を満たすように、充電速度α及び閾値θが設定される。
【０１５３】
例えば、有効最大値ｍａｘよりも若干大きい値を閾値θとして設定する。そして、有効最大値ｍａｘに対応する算出タイミングが、出力期間Ｔの開始タイミングｔnからパルス幅の最小単位分だけ後のタイミングとなるように、また、有効最小値ｍｉｎに対応する算出タイミングが、出力期間Ｔの終了タイミングからパルス幅の最小単位分だけ前のタイミングとなるように、充電速度αが設定される。
【０１５４】
この場合、図９Ａ及びＢに示すように、有効最大値ｍａｘに対応する積和信号として、出力期間Ｔと比べてパルス幅の最小単位分だけパルス幅が小さいＰＷＭ信号が算出される。また有効最小値ｍｉｎに対応する積和信号として、パルス幅の最小単位分だけのパルス幅を有するＰＷＭ信号が算出される。なお算出タイミングを、出力パルスタイミングと言うことも可能である。
【０１５５】
例えば、このように、有効最小値ｍｉｎ、有効最大値ｍａｘ、及び出力期間Ｔに基づいて、充電速度α及び閾値θを設定する。これにより出力期間Ｔのほぼ全域を用いて、有効範囲Ｅに含まれる電荷の総量を、非常に高い分解能にて、タイミングにより検出することが可能となる。すなわち本実施形態では、充電速度α及び閾値θを適宜設定することで、算出したい有効範囲Ｅを、出力期間Ｔの全域に拡張することが可能となる。このことは、積和演算の出力結果の分布を、有効に出力期間Ｔに対応させることに等しい。これにより、積和結果を非常に高い精度で算出することが可能となる。
【０１５６】
なお演算結果の出力結果の分布を、どのように出力期間Ｔに対応させるかは、限定されず任意に設定されてよい。
【０１５７】
また、推定結果に基づいた有効範囲Ｅの設定方法も限定されない。例えば図８Ｂに示すように、推定された電荷の総量の分布の最小値よりも大きな値が有効最小値ｍｉｎとして設定されてもよい。また推定された電荷の総量の分布の最大値よりも小さい値が有効最大値ｍａｘとして設定されてもよい。
【０１５８】
この場合、例えば電荷の総量が有効最小値ｍｉｎよりも小さい場合には、積和結果として０が出力される。また電荷の総量が有効最大値ｍａｘよりも大きい場合には、積和結果として、有効最大値ｍａｘに対応する積和結果が出力される。もちろんこれに限定される訳ではない。
【０１５９】
有効範囲Ｅは、例えばニューラルネットワークを用いた認識処理等において、所望の処理精度が実現されるように、任意に設定されてよい。例えば推定結果として、正規分布（ガウス分布）等の確率分布を算出し、その１σ、２σ、３σ等の範囲を基準として、有効範囲Ｅを設定するといったことも可能である。
【０１６０】
図５に例示した積和演算装置３では、電流源１８ａ及び１８ｂにより、キャパシタ１３ａ及び１３ｂが同じ充電速度で充電される。またキャパシタ１３ａ及び１３ｂの各々に対して、同じ閾値より閾値判定が実行される。すなわち同じ充電速度α及び閾値θを用いて、正荷重電荷の積和結果と負荷重電荷の積和結果がそれぞれ算出される。
【０１６１】
例えば図１０に示すように、キャパシタ１３ａに蓄積される正荷重電荷の総量の推定結果に基づいて、正荷重電荷についての有効範囲Ｅ+（有効最小値ｍｉｎ+ 〜有効最大値ｍａｘ+）が設定される。またキャパシタ１３ｂに蓄積される負荷重電荷の総量の推定結果に基づいて、負荷重電荷についての有効範囲Ｅ-（有効最小値ｍｉｎ-〜有効最大値ｍａｘ-）が設定される。
【０１６２】
有効範囲Ｅ+ 及び有効範囲Ｅ-に含まれる電荷の総量が、高い分解能で検出されるように、有効範囲Ｅが設定される。具体例としては、有効範囲Ｅ+の有効最小値ｍｉｎ+と、有効範囲Ｅ-の有効最小値ｍｉｎ-とを比較して、小さい方の値を有効最小値ｍｉｎとする。また有効範囲Ｅ+の有効最大値ｍａｘ+と、有効範囲Ｅ-の有効最大値ｍａｘ-とを比較して、大きい方の値を有効最大値ｍａｘとする。
【０１６３】
これら有効最小値ｍｉｎ及び有効最大値ｍａｘで規定される有効範囲Ｅに基づいて、充電速度α及び閾値θを設定する。これにより、全体の積和結果を非常に高い精度で算出することが可能となる。もちろん、この方法に限定される訳ではない。
【０１６４】
また、図１に例示するような構成において、典型的には、同じ階層に含まれる複数の積和演算装置３について、同じ充電速度α及び閾値θが共通して用いられる。これにより、各積和演算装置３から出力される積和信号（ＰＷＭ信号）により表される出力が、同じ基準に則った値として、次の層に出力される。また、各積和演算装置３に対する設計を簡素化することも可能となる。
【０１６５】
共通の充電速度α及び閾値θの設定としては、例えば、各積和演算装置において、蓄積部１１に蓄積される電荷の総量に対して、有効範囲Ｅを設定する。そして、全ての有効範囲Ｅを包含するように、共通の有効範囲が設定される。この全体の有効範囲に基づいて、共有の充電速度α及び閾値θを設定することが可能となる。もちろん、この方法に限定されず、任意の方法が用いられてよい。
【０１６６】
なお、共通の充電速度α及び閾値θが用いられる場合に限定されず、各積和演算装置３にて、最適な充電速度α及び閾値θがそれぞれ設定されてもよい。すなわち各積和演算装置３にて、有効範囲Ｅがそれぞれされ、充電速度α及び閾値θが最適化されてもよい。この場合でも、例えば学習処理を適性に実行することで、例えば所望の処理精度を実現することが可能である。
【０１６７】
積和演算装置３に対する充電速度α及び閾値θの設定は、例え積和演算装置３を構成する際に、予め最適化された充電速度α及び閾値θが、固定値として設定される。あるいは、充電速度α及び閾値θを動的に変更可能なように、積和演算装置３が構成されてもよい。そして、認識処理等を実行している間に、充電速度α及び閾値θの最適化が動的に実行されてもよい。充電速度α及び閾値θを動的に変更可能な具体的な回路構成は限定されず、任意に設計されてよい。
【０１６８】
以上、本実施形態に係る演算装置１００及び積和演算装置３では、蓄積部１１を充電する充電速度α、及び乗算値ｗi・ｘiの和を表す積和信号の出力に用いられる閾値θが、蓄積部１１の蓄積状況に関連付けられてそれぞれ設定される。これにより、積和演算の結果を表現する分解能を向上させることが可能となり、演算の精度を向上させることが可能となる。
【０１６９】
積和演算出力結果の最大値と最小値を、パルス出力期間Ｔ内のパルスタイミングに変換する際に、予め積和演算結果の分布を調べておく。そして、その最大・最小値に合わせて、閾値θの値と電流源（（単独）電荷出力手段）の電流値を設定する。これによりパルス出力期間の分解能を最大限利用することが可能となる。すなわち、積和演算結果に対応する電圧を、効率的に、パルスタイミングに変換することが可能となる。
【０１７０】
例えば、信号値ｘiに応じたタイミングでパルスが立ち上がる電子信号（スパイクタイミング信号）をキャパシタに蓄積させ、閾値電圧より大きくなるタイミングに基づいて積和信号を算出する方法が考えられる。この方法では、入力の積和演算過程と、それを出力タイミングに表す電荷からタイミングへの変換過程とが連動してしまい、制御に制約が生じてしまう。
【０１７１】
本実施形態では、ＰＷＭ方式の積和演算装置３にて、入力期間Ｔと出力期間Ｔとが分けて設定される。そして、入力期間Ｔの終了後にキャパシタの充電を行い、閾値判定を行うことで積和信号が算出される。従って、入力の積和演算過程と、電荷からタイミングへの変換過程とを分離させることが可能であるので、上記のような問題を防止することが可能となる。
【０１７２】
また、正負それぞれ積和演算からタイミング出力までを行い、その後タイミング同士の差をとるようにした。これにより、同じ回路構成で正負それぞれの積和演算を行うことが可能となり、回路バラツキの影響を十分に抑制することが可能となった。なお、正負それぞれの積和結果がほぼ等しいときは、その差が非常に小さくなり，正負全体の積和結果を表現する分解能が低下してしまう可能性がある。しかしながら、本実施形態では、充電速度α及び閾値θを最適化することで、パルス出力期間の分解能を最大限利用することが可能であるので、このような問題も十分に防止することが可能となる。
【０１７３】
＜第２の実施形態＞
本技術の第２の実施形態に係る積和演算装置について説明する。これ以降の説明では、上記の実施形態で説明した積和演算装置３における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０１７４】
図１１、図１２
図１１は、本実施形態に係る積和演算装置の一例を示す模式的な回路図である。図１２は、図１１に示す積和演算装置２０３による積和信号の算出例を説明するための図である。
【０１７５】
本実施形態に積和演算装置２０３では、１つのキャパシタ２１３に正負の結果がまとめて入力され、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷（Ｖ+−Ｖ-）が保持される。
【０１７６】
図１１に示す例では、正荷重乗算部として構成されたシナプス回路２０８ａにより、正荷重電荷が生成され、正電荷出力線２０７ａを介して、蓄積部２１１に含まれるキャパシタ２１３に蓄積される。一方、負荷重乗算部として構成されたシナプス回路２０８ｂにより生成される負荷重電荷は、負電荷出力線２０７ｂを介して、キャパシタ２１３から放電される。
【０１７７】
これにより、キャパシタ２１３に、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷（Ｖ+−Ｖ-）が蓄積される。すなわち本実施形態では、蓄積部２１１により、正荷重電荷が蓄積され、負荷重電荷が放電される。
【０１７８】
図１１には図示を省略しているが、シナプス回路２０８ｂにより生成される負荷重電荷を、負電荷出力線２０７ｂを介して、キャパシタ２１３から放電するために、放電回路等が構成される。当該放電回路等に、入力信号（ＰＭＷ信号）ｉｎ2 、ｉｎ4 、ｉｎ5が入力されることで、負荷重電荷が放電される。
【０１７９】
負荷重電荷を放電させるための放電回路等は、蓄積部２１１に含まれる要素となる。また、放電回路等に入力信号（ＰＭＷ信号）ｉｎ2 、ｉｎ4 、ｉｎ5を入力するための入力信号線が、複数の入力線に含まれる信号線となる。放電回路等の具体的な構成は限定されず、任意設計されてよい。
【０１８０】
図１２に示す入力期間Ｔの開始タイミングでは、スイッチ２１６ａがＯＦＦとなり、スイッチ２１６ｂがＯＮとなる。そして、入力期間Ｔ内に、入力信号が入力される。なお図１２では、説明を簡素化するために、入力信号ｉｎ1 、ｉｎ2 、ｉｎ3のみが図示されている。以下、入力信号ｉｎ1 、ｉｎ2 、ｉｎ3が入力された場合を例に説明を行う。
【０１８１】
キャパシタ２１３には、入力信号ｉｎ1 、ｉｎ3に応じた正荷重電荷が蓄積され、入力信号ｉｎ2に応じた負荷重電荷が放電される。なお、本実施形態では、キャパシタ２１３は、キャパシタ電圧が所定のプリセット値（初期値）となるまで、予め充電されている。これにより、電荷の蓄積及び放電に対応することが可能であり、電荷（Ｖ+−Ｖ-）を保持することが可能となる。プリセット値は、任意に設定されてよい。
【０１８２】
入力期間Ｔの終了タイミングｔnでは、スイッチ２１６ａがＯＮに切替えられ、またスイッチ２１６ｂがＯＦＦに切替えられる。そして、入力期間Ｔの終了タイミングｔnで、充電部２１５（電流源２１８）による充電が開始される。
【０１８３】
また出力部２１２のコンパレータ２２０により、キャパシタ２１３により保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部２２１により積和信号（ＰＷＭ信号）が算出される。
【０１８４】
本実施形態では、第１の実施形態と同様に、キャパシタ２１３の蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ２１３の蓄積状況として、キャパシタ２１３に蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲Ｅ（有効最小値ｍｉｎ〜有効最大値ｍａｘ）が設定される。
【０１８５】
第１の実施形態にて説明したように、設定された有効範囲Ｅに基づいて、充電速度α及び閾値θが設定される。これにより、電荷（Ｖ+−Ｖ-）に応じた積和信号を、非常に高い精度で算出することが可能となる。このように、蓄積部２１１に正負の荷重電荷を入力する場合でも、積和結果を得ることが可能である。
【０１８６】
＜第３の実施形態＞
図１３は、本技術の第３の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
【０１８７】
本実施形態に係る積和演算装置３０３では、正荷重電荷が蓄積されるキャパシタ３１３ａと、負荷重電荷が蓄積されるキャパシタ３１３ｂとが、逆向きに直列に接続される。これにより、合成キャパシタの端子電圧として、蓄積部３１１全体で、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷（Ｖ+−Ｖ-）を保持することが可能となる。
【０１８８】
入力期間Ｔの開始タイミングでは、スイッチ３１６ａ、３１６ｄ、及び３１６ｅがＯＦＦとなり、スイッチ３１６ｂ、３１６ｃ、３１６ｆ、及び３１６ｇがＯＮとなる。そして、入力期間Ｔ内に、入力信号が入力される。キャパシタ３１３ａには入力信号に応じた正荷重電荷が蓄積され、キャパシタ３１３ｂには入力信号に応じた負荷重電荷が蓄積される。
【０１８９】
入力期間Ｔの終了タイミングｔnでは、スイッチ３１６ｂ、３１６ｃ、及び３１６ｆがＯＦＦに切り替えられる。そしてスイッチ３１６ｅがＯＮに切り替えられることで、キャパシタ３１３ａの負側と、キャパシタ３１３ｂの正側とが接続される。この結果、２つのキャパシタ３１３ａ及び３１３ｂにより、電荷（Ｖ+−Ｖ-）が保持される。
【０１９０】
またスイッチ３１６ａがＯＮに切替えられ、充電部３１５（電流源３１８）による充電が開始される。出力部３１２のコンパレータ３２０により、キャパシタ３１３ａ及び３１３ｂにより保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部３２１により積和信号（ＰＷＭ信号）が算出される。なお、スイッチ３１６ｄは、キャパシタ３１３ａをリフレッシュする際に用いられる。
【０１９１】
本実施形態でも、直列に接続されたキャパシタ３１３ａ及び３１３ｂの蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ３１３及び３１３ｂの蓄積状況として、キャパシタ３１３ａ及び３１３ｂに蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲Ｅ（有効最小値ｍｉｎ〜有効最大値ｍａｘ）が設定される。
【０１９２】
設定された有効範囲Ｅに基づいて、充電速度α及び閾値θが設定される。これにより、電荷（Ｖ+−Ｖ-）に応じた積和信号を、非常に高い精度で算出することが可能となる。
【０１９３】
＜第４の実施形態＞
図１４は、本技術の第４の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
【０１９４】
本実施形態に係る積和演算装置４０３では、差動増幅回路４２５により、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷（Ｖ+−Ｖ-）が出力され、蓄積部４１１に含まれるキャパシタ４１３に蓄積される。差動増幅回路４２５の具体的な構成は限定されず、任意に設計されてよい。
【０１９５】
入力期間Ｔの開始タイミングでは、スイッチ４１６ａ、４１６ｂ、及び４１６ｃがＯＮとなり、スイッチ４１６ｂがＯＦＦとなる。そして、入力期間Ｔ内に、入力信号が入力される。キャパシタ４１３には、差動増幅回路４２５により出力される電荷（Ｖ+−Ｖ-）が蓄積される。
【０１９６】
入力期間Ｔの終了タイミングｔnでは、スイッチ４１６ｃがＯＦＦに切替えられ、またスイッチ４１６ｄがＯＮに切替えられる。そして、入力期間Ｔの終了タイミングｔnで、充電部４１５（電流源４１８）による充電が開始される。
【０１９７】
また出力部４１２のコンパレータ４２０により、キャパシタ４１３により保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部２２１により積和信号（ＰＷＭ信号）が算出される。
【０１９８】
本実施形態でも、キャパシタ４１３の蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ４１３の蓄積状況として、キャパシタ４１３に蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲Ｅ（有効最小値ｍｉｎ〜有効最大値ｍａｘ）が設定される。
【０１９９】
設定された有効範囲Ｅに基づいて、充電速度α及び閾値θが設定される。これにより、電荷（Ｖ+−Ｖ-）に応じた積和信号を、非常に高い精度で算出することが可能となる。
【０２００】
＜その他の実施形態＞
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【０２０１】
図１５は、信号値ｘiに応じたパルス幅を有するパルス信号（ＰＷＭ信号）の他の例を示す模式図である。例えば、信号値ｘiに応じたタイミングでパルスを立ち上げ、入力期間Ｔの終了タイミングｔnでパルスを立ち下げる。すなわち入力期間Ｔ内の信号値ｘiに応じたタイミングから入力期間Ｔの終了タイミングｔnまでの期間に応じたパルス幅を有するパルス信号を生成する。このようなパルス信号を入力信号として用いる場合にも、本技術は適用可能である。
【０２０２】
すなわち、スパイクタイミング信号に対して、パルスの立下りタイミングを適宜設定することで、信号値ｘiに応じたパルス幅を有するパルス信号（ＰＷＭ信号）として、本技術を適用することが可能となる。
【０２０３】
充電速度α及び閾値θの設定として、出力期間Ｔに対して、α＝θ／Ｔとする。これにより、（数６）式、（数７）式、（数１０）式、（数１１）式に含まれる、充電速度α、閾値θ、及び出力期間Ｔにより定められる定数をゼロにすることが可能となり、処理の簡素化を図ることが可能となる。
【０２０４】
有効範囲の有効最大値及び有効最小値として、蓄積部により蓄積される乗算値の和に対応する電荷の理論値から求められる理論的な最大値及び理論的な最小値が採用されてもよい。例えば、学習処理により各荷重が設定された後、全ての入力線に、入力の最大値に対応する入力信号が入力された場合に蓄積される電荷の和が、理論的な最大値として算出される。また全ての入力線に、入力の最小値に対応する入力信号が入力された場合に蓄積される電荷の和が、理論的な最小値として算出される。もちろん理論的な最大値及び最小値の算出方法が限定される訳ではない。
【０２０５】
図１６は、図４に示すニューロン回路９の具体的な構成例を示す回路図である。図１６に示すニューロン回路９は、入力期間Ｔの後に、一定の充電速度でキャパシタ１３を充電する回路である。またニューロン回路９は、図４と同様に１対の出力線７からの正負の出力対を入力として、単一の出力信号線１０（図４では出力信号線１ｂと記載）から１つの積和結果を出力する。図１６では、ニューロン回路９にＰＷＭ信号により生成された電荷が入力される場合について説明する。
【０２０６】
以下では、入力期間ＴをＴinと記載し、入力期間Ｔinの後の積和信号が生成される出力期間をＴoutと記載して説明を行う場合がある。なお、入力期間Ｔinと出力期間Ｔoutとは、典型的には、互いに連続する同じ長さＴに設定された期間である（Ｔin＝Ｔout＝Ｔ）。
【０２０７】
ニューロン回路９は、図４に示す蓄積部１１及び出力部１２に加え、充電部８０を有する。充電部８０は、入力期間Ｔinの後の出力期間Ｔoutにキャパシタ１３を一定の充電速度で充電する。上記したように、ＰＷＭ信号は、入力期間Ｔin内でのパルス幅により信号値を表す信号であり、入力期間Ｔinの後は全てのＰＷＭ信号が０となる（図２参照）。従って出力期間Ｔoutでは、各出力線７に出力される電荷は略０となる。図４に示す充電部８０は、この出力期間Ｔoutに、所定の電流ラインＩｎにキャパシタ１３を接続してキャパシタ１３を充電するように動作する。
【０２０８】
充電部８０は、キャパシタ１３ａの接続先を変更する第１の切替スイッチ８１ａ、第２の切替スイッチ８２ａ、及び第３の切替スイッチ８３ａと、キャパシタ１３ｂの接続先を変更する第１の切替スイッチ８１ｂ、第２の切替スイッチ８２ｂ、及び第３の切替スイッチ８３ｂとを有する。また充電部８０には、第１の制御ラインＳＷ１と、第２の制御ラインＳＷ２と、電流ラインＩｎが接続される。なお図１６に示す各切替スイッチの接続状態（ＯＮ又はＯＦＦ）は、入力期間Ｔinでの接続状態を表している。
【０２０９】
第１の切替スイッチ８１ａは、キャパシタ１３ａよりも上流で正の出力線７ａ（正電荷出力線）とＧＮＤとの間に接続される。第２の切替スイッチ８２ａは、電流ラインＩｎとキャパシタ１３ａの出力ノード８４ａとの間に接続される。ここで出力ノード８４ａは、キャパシタ１３ａのＧＮＤに接続される側とは反対側のノード（端子）である。第３の切替スイッチ８３ａは、出力ノード８４ａ（キャパシタ１３ａ）と正の出力線７ａとの間に設けられる。また出力ノード８４ａは、後段の出力部１２に接続される。
【０２１０】
第１の切替スイッチ８１ｂは、キャパシタ１３ｂよりも上流で負の出力線７ｂ（負電荷出力線）とＧＮＤとの間に接続される。第２の切替スイッチ８２ｂは、電流ラインＩｎとキャパシタ１３ｂの出力ノード８４ｂとの間に接続される。第３の切替スイッチ８３ｂは、出力ノード８４ｂ（キャパシタ１３ｂ）と負の出力線７ｂとの間に設けられる。また出力ノード８４ｂは、後段の出力部１２に接続される。
【０２１１】
第１の制御ラインＳＷ１は、第１の切替スイッチ８１ａ及び８１ｂを制御する。第２の制御ラインＳＷ２は、第２の切替スイッチ８２ａ及び８２ｂと第３の切替スイッチ８３ａ及び８３ｂとを制御する。なお第２の切替スイッチ８２ａ（８２ｂ）と、第３の切替スイッチ８３ａ（８３ｂ）とは、ＯＮ・ＯＦＦの状態が互いに反対となるように構成され、一方がＯＮである場合は、他方はＯＦＦとなる。各切替スイッチの具体的な構成は限定されず、例えばＣＭＯＳ回路等を用いたアナログスイッチ等が用いられてよい。また各制御ラインには、切替スイッチを動作させるための制御信号が適宜入力される。
【０２１２】
出力部１２は、出力期間Ｔoutにキャパシタ１３の電位を閾値判定することで、積和信号を出力する。ここでキャパシタ１３の電位とは、各キャパシタ１３ａ及び１３ｂの出力ノード８４ａ及び８４ｂの電位である。具体的には、各出力ノード８４ａ及び８４ｂの電位とＧＮＤ電位との電位差（電圧）の閾値判定が実行される。以下では、ＧＮＤを基準とした各出力ノード８４ａ及び８４ｂの電位を単に電圧と記載する場合がある。
【０２１３】
出力部１２は、正負の比較器８５ａ及び８５ｂと、ＲｅＬＵ機能回路８６とを有する。また出力部１２は、所定の閾値電圧を供給する閾値電圧ラインＶｔｈに接続される。正の比較器８５ａ（負の比較器８５ｂ）は、出力ノード８４ａ（出力ノード８４ｂ）と閾値電圧ラインＶｔｈとに接続され、出力ノード８４ａ（出力ノード８５ｂ）の電圧が閾値θ（閾値電圧）を超えた場合に出力レベルをＬｏｗからＨｉｇｈに切り替える。各比較器８５ａ及び８５ｂの具体的な構成は限定されない。
【０２１４】
なお、閾値電圧ラインＶｔｈに設定される閾値θの値は、例えば出力期間Ｔoutの間に、正負の積和結果を適正に検出可能となるように、キャパシタ１３の充電速度αとともに設定される。具体的には、上記の実施形態で説明したように、キャパシタ１３の蓄積状況に関連付けられた充電速度α及び閾値θが適宜設定される。あるいは、キャパシタ１３の容量等に応じて閾値θが設定されてもよい。この他、閾値θを設定する方法等は限定されない。
【０２１５】
ＲｅＬＵ機能回路８６は、図１を参照して説明したＲｅＬＵ関数を実現する回路である。ＲｅＬＵ機能回路８６は、例えば論理回路を用いて構成することが可能である。またＲｅＬＵ機能回路８６は、図１等に示す関数回路５として機能する。すなわち、図１６に示すニューロン回路９は、関数回路５を含んで構成されているとも言える。
【０２１６】
図１７は、図１６に示すニューロン回路９の動作例を示すタイミングチャートである。図１７Ａ及び図１７Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。また図１７Ｃは、ＲｅＬＵ機能回路８６の動作を示すタイミングチャートである。以下では、図１６及び図１７を参照して、ニューロン回路９の動作例について説明する。
【０２１７】
まず、入力期間Ｔinが開始される前に、第１の制御ラインＳＷ１により第１の切替スイッチ８１ａ及び８１ｂがＯＮ状態に設定され、各出力線７ａ及び７ｂがＧＮＤに接地される。このとき、第２の切替スイッチ８２ａ及び８２ｂはＯＦＦ状態である。また第３の切替スイッチ８３ａ及び８３ｂはＯＮ状態であり、キャパシタ１３ａ及び１３ｂは、正負の出力線７ａ及び７ｂに接続された状態である。すなわち、充電部８０は、入力期間Ｔinの前にキャパシタ１３をＧＮＤに接続する。
【０２１８】
これにより、積和演算がなされる前の初期状態として、出力線７ａ及び７ｂをＧＮＤレベル（設置レベル）に初期化してリセットすることが可能となる。これにより、キャパシタ１３に蓄積された電荷及び出力線７の寄生容量等に蓄積された電荷がＧＮＤに放出される。この結果、前回の演算で蓄積された電荷等がリセットされ、適正な演算処理を繰り返し実行することが可能となる。
【０２１９】
なお、電荷のリセットが終了すると、第１の制御ラインＳＷ１により第１の切替スイッチ８１ａ及び８１ｂがＯＦＦ状態に設定される。また第２の切替スイッチ８２ａ及び８２ｂはＯＦＦ状態に維持され、第３の切替スイッチ８３ａ及び８３ｂはＯＮ状態に維持される。この状態で、入力期間Ｔinが開始される。このように、充電部８０は、入力期間Ｔinにキャパシタ１３を１対の出力線７ａ及び７ｂに接続する。
【０２２０】
入力期間Ｔinでは、複数の入力信号線６（Ａｘｏｎライン）からＰＷＭ信号が入力され、各キャパシタ１３ａ及び１３ｂが充電される。例えば、入力期間Ｔin内に、出力線の７ａ及び７ｂのそれぞれに、各シナプス回路８（荷重）を介して複数のＰＷＭ信号（入力信号）が入力される。以下では、正負の出力線７ａ及び７ｂに入力される信号を±Ａｘｏｎ（ｎ）と記載する。
【０２２１】
例えば、図１７Ａに示すように、正の出力線７ａには、＋Ａｘｏｎ（１）〜＋Ａｘｏｎ（ｎ）までのＰＷＭ信号が入力される。この結果、正側のキャパシタ１３ａは、各ＰＷＭ信号のパルス幅（信号値）に応じて充電され、キャパシタ１３ａの電圧（＋Ｄｅｎｄｒｉｔｅ）は、正の出力線７ａに対する各ＰＷＭ信号の入力に応じて増加する。同様に、図１７Ｂに示すように、負の出力線７ｂには、−Ａｘｏｎ（１）〜−Ａｘｏｎ（ｎ'）までのＰＷＭ信号が入力される。この結果、負側のキャパシタ１３ａの電圧（−Ｄｅｎｄｒｉｔｅ）は、負の出力線７ａに対する各ＰＷＭ信号の入力に応じて増加する。なお、入力期間Ｔinが終了するまでに、全てのＰＷＭ信号の入力が完了する。
【０２２２】
入力期間Ｔinが終了すると連続して出力期間Ｔoutとなる。出力期間Ｔoutが開始されたタイミングで、第２の制御ラインＳＷ２により、第３の切替スイッチ８３ａ及び８３ｂがＯＦＦ状態に設定される。この結果、出力線７ａ及び７ｂは、ニューロン回路９の後段（蓄積部１１及び出力部１２）と分離される。
【０２２３】
またほぼ同時に、第２の切替スイッチ８２ａ及び８２ｂがＯＮ状態に設定され、電流ラインＩｎがキャパシタ１３ａ及び１３ｂに接続される。この結果、キャパシタ１３ａ及び１３ｂは、電流ラインＩｎにより充電される。具体的には、図１７Ａ及び図１７Ｂに示すように、電流ラインＩｎに接続することで、キャパシタ１３ａ及び１３ｂには、Ｉｎ＋及びＩｎ−が流れ込むことになる。
【０２２４】
本実施形態では、電流ラインＩｎは、定電流源として機能する。従って、各キャパシタ１３ａ及び１３ｂに流れ込む電流（Ｉｎ＋及びＩｎ−）は互いに等しい値となる。これらの電流により、キャパシタ１３ａ及び１３ｂは互いに一定の充電速度αで充電される。このように、充電部８０は、出力期間Ｔoutにキャパシタ１３を一定の充電速度αに応じた電流を供給する電流ラインＩｎに接続する。これにより、入力期間Ｔinに蓄積された電荷を閾値判定により精度よく容易に検出することが可能となる。図１６に示す例では、電流ラインＩｎは、電流源に相当する。
【０２２５】
例えば図１７Ａ及び図１７Ｂに示すように、電流ラインＩｎに接続されることで、出力期間Ｔoutの開始（入力期間Ｔinの終了）と同時に、キャパシタ１３ａ及び１３ｂの電圧である±Ｄｅｎｄｒｉｔｅが、一定の割合で増加する。この増加の傾きは、各キャパシタ１３ａ及び１３ｂで等しくなる。この結果、例えば±Ｄｅｎｄｒｉｔｅが閾値θを超えるタイミングは、各キャパシタ１３ａ及び１３ｂの入力期間Ｔinの終了タイミングでの電圧を表すことになる。これにより、入力期間Ｔinに蓄えられた電荷、すなわち正負の各積和結果を適正に表すことが可能となる。
【０２２６】
電流ラインＩｎは、±Ｄｅｎｄｒｉｔｅが閾値θに達するまで電流を供給する。そして、±Ｄｅｎｄｒｉｔｅが閾値θに達すると、各比較器８５ａ及び８５ｂから出力信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。Ｓｎ＋（ｔ）及びＳｎ−（ｔ）は、それぞれ、正の積和結果及び負の積和結果を表す積和信号となる。
【０２２７】
図１７に示す例では、入力期間Ｔinの終了タイミングでのキャパシタ１３ａの電圧が、キャパシタ１３ｂよりも高いため、Ｓｎ＋（ｔ）は、Ｓｎ−（ｔ）よりも早い段階で生成される。このように、比較器から出力される信号は、立ち上がりのタイミングが早いほど、積和結果の大きい信号となる。
【０２２８】
正負の積和結果をあらわす信号（Ｓｎ＋（ｔ）及びＳｎ−（ｔ））は、ＲｅＬＵ機能回路８６に入力され、その差分がＰＷＭ信号Ｓｎ（ｔ）として出力される。図１７Ｃに示すように、Ｓｎ（ｔ）は、Ｓｎ＋（ｔ）がＨｉｇｈであり、Ｓｎ−（ｔ）がＬｏｗである場合にＨｉｇｈとなる信号である。Ｓｎ（ｔ）のパルス幅は、正負の積和結果の差分、すなわち一つのアナログ回路３から出力される最終的な積和演算の結果を表す。なおＳｎ（ｔ）は、Ｓｎ＋（ｔ）＞Ｓｎ−（ｔ）である場合（正負の積和結果の差分が０以上である場合）にのみ生成される。
【０２２９】
このように、図１６に示すニューロン回路９では、ＲｅＬＵ関数により処理された積和結果を出力することが可能となる。なお、図１６に示す回路に限定されず、キャパシタ１３に蓄積された電荷等を読み出し可能な任意の回路が、ニューロン回路９として用いられてよい。
【０２３０】
図１８は、ニューロン回路５０９の他の構成例を示す回路図である。図１８に示すニューロン回路５０９は、入力期間Ｔinの後に、一定の充電速度αでキャパシタ５１３を充電する回路である。またニューロン回路５０９は、１対の出力線７からの正負の出力対を入力として、１対の出力信号線１０ａ及び１０ｂから正負の積和結果を出力する。図１８では、ニューロン回路５０９にＴＡＣＴ方式（スパイクタイミング方式）の信号（ステップ信号）により生成された電荷が入力される場合について説明する。
【０２３１】
ニューロン回路５０９は、蓄積部５１１及び出力部５１２に加え、充電部５８０を有する。蓄積部５１１及び充電部５８０は、例えば図１６を参照して説明した充電部８０と同様の構成を有する。なお、図１８に示すニューロン回路５０９では、出力部５１２の比較器５８５ａ及び５８５ｂから、正負の積和結果を表す１対の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）がそのまま出力される。すなわち、出力部５１２は、図１６に示す出力部１２からＲｅＬＵ機能回路８６を除いた構成となるとも言える。
【０２３２】
充電部５８０は、入力期間Ｔinの後の出力期間Ｔoutにキャパシタ５１３を一定の充電速度αで充電する。上記したように、ステップ信号は、入力期間Ｔin内でのタイミングにより信号値を表す信号である。ここでは、入力期間Ｔin内において、ＬｏｗからＨｉｇｈに立ち上がるタイミングにより、信号値を表す信号が用いられものとする。なお、立ち上ったステップ信号は、その後も継続してＨｉｇｈレベルを維持する。
【０２３３】
図１９は、図１８に示すニューロン回路５０９の動作例を示すタイミングチャートである。図１９Ａ及び図１９Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。
【０２３４】
図１９では、入力期間Ｔinの終了後（出力期間Ｔout中）もステップ信号がＨｉｇｈレベルに維持され、これらのステップ信号により、出力期間Ｔout中にキャパシタ５１３が充電される。すなわち、出力期間Ｔout中に、複数の入力信号線６（Ａｘｏｎライン）及び出力線７により電流源が構成され、キャパシタ１３が充電される。なお、図１９では、±Ａｘｏｎラインの本数が等しい（ｎ＝ｎ'）ものとする。これにより、キャパシタ５１３ａ及び５１３ｂの出力期間Ｔoutにおける充電速度αを等しくすることが可能である。
【０２３５】
従って図１９では、各Ａｘｏｎライン及び正負の出力線７ａ及び７ｂは、充電部５８０の一部として機能する。この場合、例えば図１８に示す第２の切替スイッチ５８２ａ及び５８２ｂと電流ラインＩｎとを除き、かつ第３の切替スイッチ５８３ａ及び５８３ｂを短絡した構成で、ニューロン回路５０９を動作させることが可能となる。これにより、キャパシタ５１３を充電するための回路構成を簡素化することが可能である。
【０２３６】
まず、入力期間Ｔinが開始される前に、正負の出力線７ａ及び７ｂとキャパシタ５１３ａ及び５１３ｂが接続された状態（第３の切替スイッチ５８３ａ及び５８３ｂが短絡された状態）で、第１の制御ラインＳＷ１により第１の切替スイッチ５８１ａ及び５８１ｂがＯＮ状態に設定される。これにより、積和演算がなされる前に、出力線７ａ及び７ｂ等をＧＮＤレベル（設置レベル）に初期化してリセットすることが可能となる。
【０２３７】
入力期間Ｔinでは、複数のＡｘｏｎラインに、信号値に応じたタイミングで立ち上がるステップ信号がそれぞれ入力される。ＴＡＣＴ方式では、入力期間Ｔinの後に引き続き、全てのＡｘｏｎラインからＨｉｇｈレベルを維持する信号が入力される。つまり、入力期間Ｔinでは、ステップ信号が入力されるタイミングにばらつきがあるが、出力期間Ｔinでは、全てのＡｘｏｎラインがＨｉｇｈレベルとなり一定の電荷が継続して供給される。これにより、キャパシタ５１３ａ及び５１３ｂを一定の充電速度で充電することが可能となる。
【０２３８】
キャパシタ５１３ａ及び５１３ｂの出力ノード５８４ａ及び５８４ｂの電圧は、それぞれ一定の割合で増加する。そして各出力ノード５８４ａ及び５８４ｂの電圧（±Ｄｅｎｄｒｉｔｅ）が比較器５８５ａ及び５８５ｂの閾値θ（閾値電圧）に達すると、正負の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。生成されたＳｎ＋（ｔ）及びＳｎ−（ｔ）は、１対の積和信号として後段に出力される。このように、ＴＡＣＴ方式のステップ信号を用いることで、シンプルな構成で積和結果を表す積和信号を生成することが可能となる。
【０２３９】
図２０は、図１８に示すニューロン回路５０９の他の動作例を示すタイミングチャートである。図２０Ａ及び図２０Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。図２０では、入力期間Ｔinの終了後に正負の出力線７ａ及び７ｂが分離される。そして、出力期間Ｔout中は、電流ラインＩｎによりキャパシタ５１３が充電される。
【０２４０】
各出力線７ａ及び７ｂ等が初期状態にリセットされた後、入力期間Ｔinが開始され複数のステップ信号が入力される。このとき、第２の切替スイッチ５８２ａ及び５８２ｂはＯＦＦ状態に設定され、第３の切替スイッチ５８３ａ及び５８３ｂはＯＮ状態に設定される。これにより、キャパシタ５１３ａ及び５１３ｂには、正負の出力線７ａ及び７ｂから、ステップ信号の信号値に応じた電荷が蓄積される。
【０２４１】
図２０では、入力期間Ｔinが終了したタイミングで、第２の制御ラインＳＷ２により第３の切替スイッチ５８３ａ及び５８３ｂがＯＦＦ状態に設定され、出力線７ａ及び７ｂは、ニューロン回路５０９の後段（蓄積部５１１及び出力部５１２）から分離される。この結果、図２０Ａ及び図２０Ｂに示すように、出力期間Ｔoutでは、各Ａｘｏｎラインからの入力がカットされる。
【０２４２】
また出力線７ａ及び７ｂが分離されたタイミングとほぼ同時に第２の切替スイッチ５８２ａ及び５８２ｂがＯＮ状態に設定される。これにより、各キャパシタ５１３ａ及び５１３ｂは、電流ラインＩｎに接続され、それぞれ一定の電流Ｉｎ＋及びＩｎ−が供給される。この結果、キャパシタ５１３ａ及び５１３ｂは互いに一定の充電速度で充電される。また各出力ノード５８４ａ及び５８４ｂの電圧（±Ｄｅｎｄｒｉｔｅ）が比較器５８５ａ及び５８５ｂの閾値θに達すると、正負の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。
【０２４３】
このように、ＴＡＣＴ方式が用いられる場合であっても、電流ラインＩｎを用いて、積和結果を表す積和信号を生成することが可能となる。これにより、例えばＰＷＭ方式で用いられるニューロン回路９（図１６参照）の設計を用いて、ＴＡＣＴ方式用のニューロン回路５０９を容易に構成するといったことが可能となる。
【０２４４】
上記では、蓄積部により保持された電圧が閾値を過ぎて大きくなるタイミングに基づいて、積和信号を出力する場合を例に挙げた。しかしながら、蓄積部により保持された電圧が閾値を過ぎて小さくなるタイミングに基づいて、積和信号を出力する構成が採用されてもよい。例えば、蓄積部として機能するキャパシタの電圧が、所定のプリセット値となるまで予め充電される。そして信号値と荷重値との乗算値に対応する電荷の和が蓄積された後に、キャパシタを所定の速度で放電する。このような場合、キャパシタにより保持された電圧が閾値を過ぎて小さくなるタイミングに基づいて、積和信号を出力することが可能である。もちろんこのような構成に限定される訳ではない。なお本開示では、キャシタの放電は、キャシタに負の電荷を充電することに含まれる。閾値及び放電速度を適宜設定することで、積和信号を、非常に高い精度で算出することが可能となる。
【０２４５】
上記では、１対の出力線が用いられる場合を説明した。これに限定されず、３以上の出力線が設けられてもよい。すなわち１以上の任意の数の出力線が用いられる場合でも、上記で説明した本技術は適用可能である。例えば乗算部は、対応する入力線と、１以上の出力線のいずれか１つとの間に接続され荷重値を規定する抵抗器を含み、抵抗器が接続された出力線に乗算値に対応する電荷を出力する。もちろんこれに限定される訳ではない。
【０２４６】
各図面を参照して説明した演算装置、積和演算装置、アナログ回路、シナプス回路、ニューロン回路等の各構成、積和信号の生成方法等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成や方法等が採用されてよい。
【０２４７】
本開示において、「同じ」「等しい」「直交」等は、「実質的に同じ」「実質的に等しい」「実質的に直交」等を含む概念とする。例えば「完全に同じ」「完全に等しい」「完全に直交」等を基準とした所定の範囲（例えば±１０％の範囲）に含まれる状態も含まれる。
【０２４８】
以上説明した本技術に係る特徴部分のうち、少なくとも２つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
【０２４９】
なお、本技術は以下のような構成も採ることができる。
（１）積和演算をアナログ回路で実行する積和演算装置であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
（２）（１）に記載の積和演算装置であって、
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力され、
前記充電部は、前記入力期間の終了後に前記充電を開始し、
前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングに基づいて、前記積和信号を出力する
積和演算装置。
（３）（２）に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定される
積和演算装置。
（４）（３）に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定される
積和演算装置。
（５）（３）又は（４）に記載の積和演算装置であって、
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングを、前記積和信号を算出するための算出タイミングとして、
前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定される
積和演算装置。
（６）（３）から（５）のうちいずれか１つに記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定される
積和演算装置。
（７）（３）から（６）のうちいずれか１つに記載の積和演算装置であって、
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値である
情報処理装置。
（８）（２）から（７）のうちいずれか１つに記載の積和演算装置であって、
前記出力期間の長さは、前記入力期間の長さと等しい
積和演算装置。
（９）（２）から（８）のうちいずれか１つに記載の積和演算装置であって、
前記充電部は、前記入力期間の終了タイミングで前記充電を開始し、
前記出力期間は、前記充電部による充電の開始タイミングで開始される
積和演算装置。
（１０）（１）から（９）のうちいずれか１つに記載の積和演算装置であって、
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有し、
前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有し、
前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電し、
前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力する
積和演算装置。
（１１）（１）から（９）のうちいずれか１つに記載の積和演算装置であって、
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積する
積和演算装置。
（１２）（１１）に記載の積和演算装置であって、
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であり、
前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電する
積和演算装置。
（１３）（２）から（１２）のうちいずれか１つに記載の積和演算装置であって、
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有する
積和演算装置。
（１４）（１）から（１３）のうちいずれか１つに記載の積和演算装置であって、さらに、
１以上の出力線を具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記１以上の出力線のいずれか１つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力する
積和演算装置。
（１５）（１０）に記載の積和演算装置であって、さらに、
正電荷出力線と、負電荷出力線とを具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力し、
前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力する
積和演算装置。
（１６）（１４）又は（１５）に記載の積和演算装置であって、
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するＭＯＳトランジスタである
積和演算装置。
（１７）積和演算をアナログ方式で実行する積和演算回路であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
（１８）入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
（１９）複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
蓄積部に、前記生成された前記乗算値に対応する電荷の和を蓄積し、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電し、
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する
積和演算方法。
【符号の説明】
【０２５０】
θ…閾値
α…充電速度
１…信号線
１ａ…入力信号線
３、２０３、３０３、４０３…積和演算装置
７…１対の出力線
７ａ、２０７ａ…正電荷出力線
７ｂ、２０７ｂ…負電荷出力線
８…シナプス回路
８ａ、２０８ａ…シナプス回路（正荷重乗算部）
８ｂ、２０８ｂ…シナプス回路（負荷重乗算部）
９、５０９…ニューロン回路
１１、２１１、３１１、４１１、５１１…蓄積部
１２、２１２、３１２、４１２、５１２…出力部
１３、２１３、３１３、４１３、５１３…キャパシタ
１５、２１５、３１５、４１５、８０、５８０…充電部
１７…抵抗器
１８、２１８、３１８、４１８…電流源
２０、２２０、３２０、４２０…コンパレータ
２１、２２１、３２１…信号生成部
１００…演算装置
【図１】
2020013069.tif 000015
【図２】
2020013069.tif 000016
【図３】
2020013069.tif 000017
【図４】
2020013069.tif 000018
【図５】
2020013069.tif 000019
【図６】
2020013069.tif 000020
【図７】
2020013069.tif 000021
【図８】
2020013069.tif 000022
【図９】
2020013069.tif 000023
【図１０】
2020013069.tif 000024
【図１１】
2020013069.tif 000025
【図１２】
2020013069.tif 000026
【図１３】
2020013069.tif 000027
【図１４】
2020013069.tif 000028
【図１５】
2020013069.tif 000029
【図１６】
2020013069.tif 000030
【図１７】
2020013069.tif 000031
【図１８】
2020013069.tif 000032
【図１９】
2020013069.tif 000033
【図２０】
2020013069.tif 000034
【国際調査報告】
2020013069.tif 000035
2020013069.tif 000036