(57)【要約】  本技術の一形態に係る演算装置は、複数の入力線と、積和演算装置とを具備する。前記複数の入力線は、入力値に応じたパルス信号が入力される。前記積和演算装置は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部とを有する。前記入力値及び前記荷重値の少なくとも一方の値が制限されている。
2020017444.tif 000002
【特許請求の範囲】
【請求項１】
入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
演算装置。
【請求項２】
請求項１に記載の演算装置であって、
前記入力値及び前記荷重値の少なくとも一方の値は、所定の値域に含まれるように制限されている
演算装置。
【請求項３】
請求項２に記載の演算装置であって、
前記所定の値域は、複数の制限値を含み、
前記入力値及び前記荷重値の少なくとも一方は、前記複数の制限値のいずれかに設定される
演算装置。
【請求項４】
請求項３に記載の演算装置であって、
前記複数の制限値は、０を含む
演算装置。
【請求項５】
請求項３に記載の演算装置であって、
前記複数の制限値は、互いに絶対値が等しい正の制限値及び負の制限値を含む
演算装置。
【請求項６】
請求項１に記載の演算装置であって、
前記荷重値は、前記荷重値となる値の絶対値である第１の値に基づいて前記荷重値を設定する第１の処理により制限される
演算装置。
【請求項７】
請求項６に記載の演算装置であって、
前記第１の処理は、前記第１の値が第１の閾値以下であるときに前記荷重値を０に設定する処理である
演算装置。
【請求項８】
請求項６に記載の演算装置であって、
前記第１の処理は、前記複数の乗算部の各々に設定される前記荷重値について、前記第１の値が小さい方から順番に第１の割合で前記荷重値を０に設定する処理である
演算装置。
【請求項９】
請求項１に記載の演算装置であって、
前記入力値は、前記入力値となる値の絶対値である第２の値に基づいて前記入力値を設定する第２の処理により制限される
演算装置。
【請求項１０】
請求項９に記載の演算装置であって、
前記第２の処理は、前記第２の値が第２の閾値以下であるときに前記入力値を０に設定する処理である
演算装置。
【請求項１１】
請求項９に記載の演算装置であって、
前記第２の処理は、前記複数の乗算部の各々に入力される前記パルス信号により表される前記入力値について、前記第２の値が小さい方から順番に第２の割合で前記入力値を０に設定する処理である
演算装置。
【請求項１２】
請求項９に記載の演算装置であって、さらに、
前記積和信号により表される前記乗算値の和の絶対値を前記第２の値として、前記積和信号に基づいて前記第２の制限処理を実行する制限部を具備する
演算装置。
【請求項１３】
請求項１に記載の演算装置であって、
前記複数の入力線の各々には、所定の入力期間内に、前記パルス信号が入力され、
前記出力部は、所定の出力期間内に、前記乗算値の和を表す積和信号を出力する
演算装置。
【請求項１４】
請求項１に記載の演算装置であって、
前記入力値は、第１の入力値及び第２の入力値により表される値であり、
前記複数の入力線は、前記第１の入力値を表す第１のパルス信号が入力される第１の入力線と、前記第２の入力値を表す第２のパルス信号が入力される第２の入力線とを対とする、複数の前記入力線の対を含む
演算装置。
【請求項１５】
請求項１に記載の演算装置であって、
前記パルス信号は、パルスのタイミング及びパルス幅の少なくとも一方を用いて前記入力値を表す信号である
演算装置
【請求項１６】
複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
積和演算装置。
【請求項１７】
入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数の積和演算装置と、
前記複数の積和演算装置を接続して構成されたネットワーク回路と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
積和演算システム。
【請求項１８】
複数の入力線に、入力値に応じたパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
前記乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力し、
前記入力値及び前記荷重値の少なくとも一方の値を制限する
積和演算方法。
【請求項１９】
入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と、
前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する制限処理部と
を具備する演算装置。
【請求項２０】
入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数の積和演算装置と、
前記複数の積和演算装置を接続して構成されたネットワーク回路と、
前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する制限処理部と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が前記ネットワーク回路を介して前記制限処理部により制限される
積和演算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術はアナログ方式を用いた積和演算に適用可能な演算装置、積和演算装置、積和演算システム、及び積和演算方法に関する。
【背景技術】
【０００２】
例えば特許文献１には、積和演算の処理をアナログ方式によって行うアナログ回路について記載されている。このアナログ回路では、複数の電気信号のそれぞれに対応した荷重が設定される。また、対応する電気信号と荷重とに応じた電荷がそれぞれ出力され、出力された電荷がキャパシタに適宜蓄えられる。そして、電荷が蓄えられたキャパシタの電圧に基づいて積和結果を表す算出対象値が算出される。これにより、例えばデジタル方式による処理と比べて積和演算に要する消費電力を抑制することが可能となっている（特許文献１の明細書段落［０００３］［００４９］−［００５３］［００６２］図４等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１８／０３４１６３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなアナログ方式の回路を用いることで、ニューラルネットワーク等の低消費電力化につながると期待されており、演算結果を精度よく検出することが可能な技術が求められている。【０００５】
以上のような事情に鑑み、本技術の目的は、積和演算を行うアナログ方式の回路において、演算結果を精度よく検出することが可能な演算装置、積和演算装置、積和演算システム、及び積和演算方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本技術の一形態に係る演算装置は、複数の入力線と、積和演算装置とを具備する。
前記複数の入力線は、入力値に応じたパルス信号が入力される。
前記積和演算装置は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部とを有する。
前記入力値及び前記荷重値の少なくとも一方の値が制限されている。【０００７】
この演算装置では、入力値に応じたパルス信号が複数の入力線から入力され、パルス信号に基づいて入力値と荷重値との乗算値に対応する電荷が生成される。生成された電荷を蓄積して乗算値の和を表す積和信号が出力される。この時、入力値及び荷重値の少なくとも一方の値が制限される。各値を制限することで、例えば乗算値の和を調整することが可能となる。この結果、積和演算を行うアナログ方式の回路において、演算結果を精度よく検出することが可能となる。【０００８】
前記入力値及び前記荷重値の少なくとも一方の値は、所定の値域に含まれるように制限されていてもよい。
これにより、入力値や荷重値の値が所定の値域に制限され、例えば乗算値の和を小さくすることが可能となる。この結果、演算結果を精度よく検出することが可能となる。【０００９】
前記所定の値域は、複数の制限値を含んでもよい。この場合、前記入力値及び前記荷重値の少なくとも一方は、前記複数の制限値のいずれかに設定されてもよい。
これにより、入力値や荷重値が離散的な値に制限され、例えば乗算値の和を小さくすることが可能となる。この結果、演算結果を精度よく検出することが可能となる。【００１０】
前記複数の制限値は、０を含んでもよい。
これにより、乗算値の和が大幅に抑制され、例えば乗算値の和を精度よく表現することが可能となる。この結果、演算結果の検出精度を十分向上することが可能となる。【００１１】
前記複数の制限値は、互いに絶対値が等しい正の制限値及び負の制限値を含んでもよい。
これにより、例えば正負の荷重値や信号値が用いられる場合であっても、各値を制限することが可能となる。【００１２】
前記荷重値は、前記荷重値となる値の絶対値である第１の値に基づいて前記荷重値を設定する第１の処理により制限されてもよい。
これにより、例えば荷重値となる値の絶対値の大きさに応じて荷重値を適正に制限することが可能となる。この結果、乗算値の和等を適正に縮小することが可能となる。【００１３】
前記第１の処理は、前記第１の値が第１の閾値以下であるときに前記荷重値を０に設定する処理であってもよい。
これにより、荷重値となる値が十分に小さい場合には、その荷重値との乗算値を０とすることが可能となる。この結果、演算結果の検出精度を十分向上することが可能となる。【００１４】
前記第１の処理は、前記複数の乗算部の各々に設定される前記荷重値について、前記第１の値が小さい方から順番に第１の割合で前記荷重値を０に設定する処理であってもよい。
これにより、荷重値となる値が十分に小さい場合には、その荷重値との乗算値を０とすることが可能となる。この結果、演算結果の検出精度を十分向上することが可能となる。【００１５】
前記入力値は、前記入力値となる値の絶対値である第２の値に基づいて前記入力値を設定する第２の処理により制限されてもよい。
これにより、例えば入力値となる値の絶対値の大きさに応じて入力値を適正に制限することが可能となる。この結果、乗算値の和等を適正に縮小することが可能となる。【００１６】
前記第２の処理は、前記第２の値が第２の閾値以下であるときに前記入力値を０に設定する処理であってもよい。
これにより、入力値となる値が十分に小さい場合には、その入力値との乗算値を０とすることが可能となる。この結果、演算結果の検出精度を十分向上することが可能となる。【００１７】
前記第２の処理は、前記複数の乗算部の各々に入力される前記パルス信号により表される前記入力値について、前記第２の値が小さい方から順番に第２の割合で前記入力値を０に設定する処理であってもよい。
これにより、入力値となる値が十分に小さい場合には、その入力値との乗算値を０とすることが可能となる。この結果、演算結果の検出精度を十分向上することが可能となる。【００１８】
前記演算装置は、さらに、前記積和信号により表される前記乗算値の和の絶対値を前記第２の値として、前記積和信号に基づいて前記第２の制限処理を実行する制限部を具備してもよい。
これにより、値が制限された積和信号を生成することが可能となる。この積和信号を用いることで、後段の積和演算装置での乗算値等を抑制することが可能となる。【００１９】
前記複数の入力線の各々には、所定の入力期間内に、前記パルス信号が入力されてもよい。この場合、前記出力部は、所定の出力期間内に、前記乗算値の和を表す積和信号を出力してもよい。
これにより、設定された期間内で、積和演算を適正に実行することが可能となる。【００２０】
前記入力値は、第１の入力値及び第２の入力値により表される値であってもよい。この場合、前記複数の入力線は、前記第１の入力値を表す第１のパルス信号が入力される第１の入力線と、前記第２の入力値を表す第２のパルス信号が入力される第２の入力線とを対とする、複数の前記入力線の対を含んでもよい。
これにより、例えば正負の荷重値を用いた積和演算を容易に実行することが可能となる。【００２１】
前記パルス信号は、パルスのタイミング及びパルス幅の少なくとも一方を用いて前記入力値を表す信号であってもよい。
これにより、パルス信号に基づく入力値と荷重値との乗算処理等を容易に実行することが可能となる。【００２２】
本技術の一形態に係る積和演算装置は、複数の乗算部と、出力部とを具備する。
前記複数の乗算部は、複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する。
前記出力部は、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する。
前記入力値及び前記荷重値の少なくとも一方の値が制限されている。【００２３】
本技術の一形態に係る積和演算システムは、複数の入力線と、複数の積和演算装置と、ネットワーク回路とを具備する。
前記複数の入力線は、入力値に応じたパルス信号が入力される。
前記複数の積和演算装置は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部とを有する。
前記ネットワーク回路は、前記複数の積和演算装置を接続して構成される。
前記入力値及び前記荷重値の少なくとも一方の値が制限されている。【００２４】
本技術の一形態に係る積和演算方法は、複数の入力線に、入力値に応じたパルス信号を入力することを含む。
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷が生成される。
前記乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号が出力される。
前記入力値及び前記荷重値の少なくとも一方の値が制限される。【００２５】
本技術の一形態に係る積和演算システムは、複数の入力線と、複数の積和演算装置と、制限処理部とを具備する。
前記複数の入力線は、入力値に応じたパルス信号が入力される。
前記複数の積和演算装置は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部とを有する。
前記制限処理部は、前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する。【００２６】
本技術の一形態に係る積和演算システムは、複数の入力線と、複数の積和演算装置と、ネットワーク回路と、制限処理部とを具備する。
前記複数の入力線は、入力値に応じたパルス信号が入力される。
前記複数の積和演算装置は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部とを有する。
前記ネットワーク回路は、前記複数の積和演算装置を接続して構成される。
前記制限処理部は、前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する。
前記入力値及び前記荷重値の少なくとも一方の値が前記ネットワーク回路を介して前記制限処理部により制限される。
【発明の効果】
【００２７】
以上のように、本技術によれば、積和演算を行うアナログ方式の回路において、演算結果を精度よく検出することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２８】
【図１】本技術の第１の実施形態に係る演算装置の構成例を示す模式図である。
【図２】アナログ回路に入力される電気信号の一例を示す模式図である。
【図３】演算装置の具体的な構成例を示す模式図である。
【図４】ニューロン回路の構成例を示す模式図である。
【図５】積和器及びアナログ回路の動作を説明するための模式図である。
【図６】２段に接続された積和器及び２段に接続されたアナログ回路の動作を説明するための模式図である。
【図７】アナログ回路を用いた演算装置の一例を示す模式図である。
【図８】図７に示す演算装置の動作の一例を説明するための模式図である。
【図９】アナログ回路から出力されるタイミングの差分値の変化を示すグラフである。
【図１０】積和器及びアナログ回路の各出力の変化を示すグラフである。
【図１１】荷重値の制限処理の一例を示すフローチャートである。
【図１２】スパース化された荷重値が設定されたアナログ回路の動作の一例を説明するための模式図である。
【図１３】アナログ回路から出力されるタイミングの差分値の変化を示すグラフである。
【図１４】差分値の標準偏差σの変化率を示すグラフである。
【図１５】積和結果及び差分値の標準偏差σの変化率を示す表である。
【図１６】第１の閾値を用いてスパース化された荷重値の分布を示すグラフである。
【図１７】電気信号により表される積和結果について説明するための模式図である。
【図１８】第２の実施形態に係る演算装置の構成例を示す模式図である。
【発明を実施するための形態】
【００２９】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００３０】
＜第１の実施形態＞
［演算装置の構成］
図１は、本技術の第１の実施形態に係る演算装置の構成例を示す模式図である。演算装置１００は、積和演算を含む所定の演算処理を実行するアナログ方式の演算装置である。演算装置１００を用いることで、例えばニューラルネットワーク等の数学モデルに従った演算処理を実行することが可能である。
【００３１】
演算装置１００は、複数の信号線１と、複数の入力部２と、複数のアナログ回路３とを有する。各信号線１は、所定の方式の電気信号を伝送する線であり、信号値に応じた電気信号が入力される。電気信号としては、例えばパルスのタイミングや幅等のアナログ量を用いて信号値を表すアナログ信号が用いられる。図１には電気信号が伝送される方向が、矢印を用いて模式的に図示されている。本実施形態では、電気信号はパルス信号に相当する。本実施形態では、アナログ回路３は、積和演算装置に相当する。
【００３２】
例えば、１つのアナログ回路３には、複数の信号線１が接続される。アナログ回路３に電気信号を伝送する信号線１は、その信号線１が接続されたアナログ回路３にとって、電気信号が入力される入力信号線となる。また、アナログ回路３から出力される電気信号を伝送する信号線１は、電気信号を出力するアナログ回路３にとって、電気信号が出力される出力信号線となる。本実施形態では、入力信号線は、入力線に相当する。
【００３３】
複数の入力部２は、入力データ４に応じた複数の電気信号をそれぞれ生成する。入力データ４は、例えば演算装置１００によって実装されるニューラルネットワーク等を用いた処理の対象となるデータである。従って入力データ４に応じた複数の電気信号の各信号値は、演算装置１００に対する入力値であるとも言える。
【００３４】
入力データ４としては、例えば演算装置１００の処理対象となる画像データ、音声データ、統計データ等の任意のデータが用いられる。例えば、入力データ４として画像データが用いられる場合等には、画像データの各画素の画素値（ＲＧＢ値や輝度値等）に応じた信号値となる電気信号が生成される。この他、入力データ４の種類や演算装置１００による処理の内容に応じて、入力データ４に応じた電気信号が適宜生成されてよい。
【００３５】
アナログ回路３は、入力される電気信号に基づいて、積和演算を行うアナログ方式の積和演算回路である。積和演算は、複数の入力値（信号値）の各々に荷重値を乗算して得られる複数の乗算値を足し合わせる演算である。従って積和演算は、各乗算値の和（以下積和結果と記載する）を算出する処理であるとも言える。
【００３６】
以下では、１つのアナログ回路３に入力される電気信号の総数をＮとする。なお、各アナログ回路３に入力される電気信号の個数Ｎは、例えば演算処理のモデルや精度等に応じて回路ごとに適宜設定される。
【００３７】
アナログ回路３では、例えばｉ番目の入力信号線から入力される電気信号により表される信号値（入力値）ｘiと、信号値ｘiに対応する荷重値ｗiとの乗算値であるｗi・ｘiが算出される。ここでｉはＮ以下の自然数（ｉ＝１、２、・・・、Ｎ）である。乗算値の演算は、各電気信号（入力信号線）ごとに実行され、Ｎ個の乗算値が算出される。このＮ個の乗算値をそれぞれ足し合わせた値が積和結果（Ｎ個の乗算値の和）として算出される。従って、１つのアナログ回路３で算出される積和結果は、以下の式で表される。
【００３８】
【数１】
2020017444.tif 000003
【００３９】
本実施形態では、取り得る値が予め制限された荷重値ｗ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-を表す負の電気信号が入力される負の入力信号線６ａとを対とする複数の入力信号線６の対が用いられる。
【００４７】
図１に示すように、演算装置１００は、複数の階層のそれぞれに、複数のアナログ回路３が設けられた階層構造を有する。アナログ回路３の層構造を構成することで、例えば多層パーセプトロン型のニューラルネットワーク等が構築される。例えば複数のアナログ回路３と、ネットワーク回路とを接続することで、積和演算システムを構築することが可能となる。各階層に設けられるアナログ回路３の数や、階層の数等は、例えば所望の処理が実行可能となるように適宜設計される。以下では、ｊ段目の層に設けられるアナログ回路３の数をＮjと記載する場合がある。
【００４８】
例えば１段目の層（最下位層）に設けられた各アナログ回路３には、Ｎ個の入力部２により生成されたＮ個の電気信号がそれぞれ入力される。１段目の各アナログ回路３により、入力データの信号値ｘiに関する積和結果がそれぞれ算出され、次の階層（２段目）に設けられたアナログ回路３に出力される。
【００４９】
２段目の層（上位層）に設けられた各アナログ回路３には、１段目で算出された各積和結果を表すＮ1個の電気信号がそれぞれ入力される。従って２段目の各アナログ回路３から見ると、１段目で算出された各積和結果が電気信号の信号値ｘ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＝０が設定されている場合には、正負の信号値ｘi+及びｘi-との乗算値は、ともに０となる。この場合、シナプス回路８からは、正の出力線７ａ及び負の出力線７ｂに対して電荷は出力されない。
【００６８】
このようにアナログ回路３では、複数のシナプス回路８により、複数の入力信号線６の各々に入力される電気信号に基づいて、信号値ｘiに荷重値ｗiを乗算した乗算値に対応する電荷が生成される。また生成された電荷は、荷重値ｗiの符号に応じて、正負の出力線７ａ及び７ｂに出力される。本実施形態では、シナプス回路８は、乗算部に相当する。
【００６９】
シナプス回路８は、例えば電気信号により表される電圧から電流を生成する抵抗素子や、生成された電流を各出力線に切り替えて出力するスイッチ素子等を用いて構成される。例えば、抵抗素子としてＭＯＳ（Metal Oxide Semiconductor）トランジスタ等を用いた回路や、スイッチ素子としてフリップフロップ回路等を用いた回路等が構成されてよい。この他、シナプス回路８の具体的な構成は限定されない。
【００７０】
図４は、ニューロン回路９の構成例を示す模式図である。ニューロン回路９は、蓄積部１１と、出力部１２とを有する。図４には、１対の出力線７と、１対の出力信号線１０とに接続された２入力２出力のニューロン回路９が示されている。
【００７１】
蓄積部１１は、複数のシナプス回路８により１対の出力線７に出力された電荷を蓄積する。蓄積部１１は、２つのキャパシタ１３ａ及び１３ｂを有する。キャパシタ１３ａは、正の出力線７ａとＧＮＤとの間に接続される。またキャパシタ１３ｂは、負の出力線７ｂとＧＮＤとの間に接続される。
【００７２】
従って各キャパシタ１３ａ及び１３ｂには、各出力線７ａ及び７ｂから流れ込む電荷が蓄積される。なお蓄積部１１には、各キャパシタ１３に蓄積された電荷を放出するためのスイッチ等が適宜設けられる。
【００７３】
出力部１２は、蓄積部１１に蓄積された電荷に基づいて、乗算値（ｗi・ｘi）の和を表す積和信号を出力する。本実施形態では、積和信号として、正負それぞれの積和結果を表す正の積和信号及び負の積和信号の２つの信号が生成される。
【００７４】
キャパシタ１３に電荷が蓄積されると、キャパシタ１３の出力線７に接続される側の電位が上昇する。この電位を検出することで、キャパシタ１３に蓄積される電荷を検出することが可能である。例えば出力部１２は、キャパシタ１３ａの電位を検出して正の積和信号を生成し、キャパシタ１３ｂの電位を検出して負の積和信号を生成する。このように、ニューロン回路９（蓄積部１１及び出力部１２）は、複数のシナプス回路８の各々により生成された乗算値に対応する電荷を蓄積することで、乗算値の和を表す積和信号を出力する。
【００７５】
また出力部は、所定の出力期間内に、乗算値の和を表す積和信号（正負の積和信号）を出力する。所定の出力期間は、例えば入力期間Ｔと同様の長さの期間である。出力期間は、入力期間の後に引き続く期間であり、例えば入力期間の終了と同時に開始され、期間Ｔが経過すると終了する。以下では出力期間を、入力期間Ｔと同じ長さの期間として、出力期間Ｔと記載する場合がある。
【００７６】
上記したように、本実施形態では、ＴＡＣＴ方式の電気信号が用いられる。例えばＴＡＣＴ方式の電気信号がシナプス回路８に入力されると、パルスの入力タイミングから、一定の割合で継続的に電荷が生成され、出力線７に出力される。この結果、キャパシタ１３には、一定の割合で電荷が蓄積される。例えば、キャパシタ１３の電位が、所定の閾値を超えたタイミングを検出することで、出力線７に出力された電荷の総量を検出することが可能である。
【００７７】
このように、ＴＡＣＴ方式では、それぞれの荷重値ｗiに応じた割合（傾き）で電荷を出力し、閾値を超えるまでキャパシタが充電される。この場合、１つのアナログ回路３で算出される全体の積和結果は、例えば特許文献１に示すように、以下の式を用いて算出することが可能である。
【００７８】
【数２】
2020017444.tif 000004
【００７９】
ここで、θ+及びθ-は、キャパシタ１３ａ及び１３ｂの電位を検出するための閾値である。またβは、各シナプス回路８に設定される荷重値ｗiの総和である。β+及びβ-は、それぞれ正の荷重値ｗi+の総和及び負の荷重値｜ｗi-｜の総和であり、β＝β+−β-である。またＴinは、入力期間Ｔ（出力期間Ｔ）である。
【００８０】
ｔν+及びｔν-は、それぞれ、キャパシタ１３ａ及び１３ｂの電位が各閾値を超えたタイミングである。出力部１２では、正の積和信号として、ｔν+のタイミングでパルスが開始されるＴＡＣＴ方式の電気信号が生成される。また負の積和信号として、ｔν-のタイミングでパルスが開始されるＴＡＣＴ方式の電気信号が生成される。
【００８１】
一般に、正の荷重値ｗi+の総和であるβ+と負の荷重値｜ｗi-｜の総和であるβ-とは、それぞれ異なる値となる。しかしながら、図１及び図３に示すように、正負１対の入力信号線６ａ及び６ｂを設けて、正の信号値ｘi+及び負の信号値ｘi-に共通の荷重値ｗiを乗算する構成とすることで、β+＝β-＝β0とすることが可能である。この場合、全体の荷重値ｗiの総和βは、β＝β+−β-＝０となる。
【００８２】
例えば、各キャパシタ１３ａ及び１３ｂに対する閾値θ+及びθ-は、出力される積和結果のスケールを等しくするために同じ値に設定される。この結果、アナログ回路２０３により算出される積和結果である（数２）式は、以下のように変形される。
【００８３】
【数３】
2020017444.tif 000005
【００８４】
（数３）式に示すように、全体の積和結果は、キャパシタ１３ｂの電位が閾値を超えたタイミングｔν-から、キャパシタ１３ｂの電位が閾値を超えたタイミングｔν+を引いた差分として算出することが可能となる。このような演算は、例えばタイミングｔν+を表す正の積和信号と、タイミングｔν-を表す負の積和信号とに基づいて、論理回路等を用いて容易に実行することが可能である。
【００８５】
本実施形態では、下位層のアナログ回路３から上位層のアナログ回路３に対して、正の信号値ｘ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+）／Ｔinを満たす値である。従って、この関係によりｔi+及びｔi-は、ｘiに変換することが可能である。アナログ回路３には、このような（ｔi+，ｔi-）のセットが、Ｎ個入力される。これは、Ｎ個の入力値ｘiが入力されることに相当する。
【００９３】
アナログ回路３には、Ｎ個の（ｔi+，ｔi-）に乗算されるＮ個の荷重値ｗiが設定される。また、アナログ回路３には、バイアス項ｂが設定される。アナログ回路３に設定される荷重値ｗi及びバイアス項ｂ、積和器１５に設定される荷重値ｗi及びバイアス項と同様である。
【００９４】
アナログ回路３による時間軸アナログ積和演算では、各（ｔi+，ｔi-）と荷重値ｗiとの乗算値に対応する電荷が適宜蓄積され、正の積和信号（タイミングｔν+の電気信号）と負の積和信号（タイミングｔν-の電気信号）とが出力される。このように、アナログ回路３では、Ｎ対の入力（ｔi+，ｔi-）から１対の出力（ｔν+，ｔν-）が算出される。
【００９５】
バイアス項ｂが導入された場合、アナログ回路３で算出される１対の出力（ｔν+，ｔν-）と、積和器１５で算出される出力値ｙとの関係は、以下のように表される。
【００９６】
【数４】
2020017444.tif 000006
【００９７】
例えば、（数４）式を用いることで、アナログ回路３の出力（ｔν+，ｔν-）から、そのアナログ回路３による全体の積和結果を算出することが可能である。なお、下位層に設けられるアナログ回路３では、例えば全体の積和結果等を算出することなく、出力（ｔν+，ｔν-）が後段のアナログ回路３への入力としてそのまま用いられる。
【００９８】
アナログ回路３の出力（ｔν+，ｔν-）を直接後段に入力する構成では、（数４）に示すように、出力（ｔν+，ｔν-）の差分値（ｔν-−ｔν+）により、積和結果（出力値ｙ）に関する情報が伝送される。例えば、差分値（ｔν-−ｔν+）に着目すると、（数４）式は以下のように書き換えられる。
【００９９】
【数５】
2020017444.tif 000007
【０１００】
（数５）式に示すように、アナログ回路３の出力により表される情報である差分値（ｔν-−ｔν+）は、アナログ回路３を通過するたびに、１／β0倍される。従って、例えば各アナログ回路３に設定された荷重値ｗiの総和が大きいほど、差分値（ｔν-−ｔν+）は小さくなるとも言える。以下、具体的に説明する。
【０１０１】
図６は、２段に接続された積和器１５及び２段に接続されたアナログ回路３の動作を説明するための模式図である。以下では、１段目及び２段目に関する各パラメータを、上付きの添え字（１）及び（２）を用いて表す。
【０１０２】
図６Ａには、直列に接続された積和器１５ａ及び１５ｂが模式的に図示されている。例えば１段目の積和器１５ａから出力された出力値ｙ(1)は、そのまま２段目の積和器１５ｂの入力として用いられる。この場合、全体の積和結果を表す出力値ｙ(1)がそのまま次段の入力となるため、積和器１５を通過することで、それまでの演算結果を表す値が小さくなることはない。
【０１０３】
図６Ｂには、直列に接続されたアナログ回路３ａ及び３ｂが模式的に図示されている。例えば１段目のアナログ回路３ａの出力（ｔν(1)+，ｔν(1)-）により表される積和結果に関する値（ｔν(1)-−ｔν(1)+）／Ｔinは、本来の積和結果（ｙ(1)）を１／β0(1)倍した値となる。すなわち、１段目のアナログ回路３ａを通過した時点で、演算結果を表す値が小さくなる。
【０１０４】
２段目のアナログ回路３ｂには、１段目の出力（ｔν(1)+，ｔν(1)-）がそのまま入力される。すなわち、２段目のアナログ回路３ｂには、本来の積和結果を１／β0(1)倍した値が入力されるとも言える。この１／β0(1)倍された値に基づいて、時間軸アナログ演算が実行される。このため、２段目のアナログ回路３ｂの出力（ｔν(2)+，ｔν(2)-）により表される積和結果に関する値（ｔν(2)-−ｔν(2)+）／Ｔinは、本来の積和結果（ｙ(2)）を１／（β0(1)・β0(2)）倍した値となる。なお、２段目のアナログ回路３では、バイアス値としてｂ／β0(1)が用いられる。
【０１０５】
このように、アナログ回路３を通過することで、それまでの演算結果を表す値が小さくなる。すなわち、１つのアナログ回路３を通過する度に、そのアナログ回路３に設定された荷重値の総和β0に応じて、差分値（ｔν-−ｔν+）が１／β0倍され、積和結果に関する値が減少する。このため、複数のアナログ回路３を介して行われる演算では、例えば最終的な演算結果が小さくなってしまう恐れがある。
【０１０６】
図７は、アナログ回路３を用いた演算装置１００の一例を示す模式図である。演算装置１００は、入力層３０と、中間層３１と、出力層３２との３層構造からなる。図７に示す例では、入力データとして、２８×２８ピクセルの画像データが用いられる。演算装置１００には、例えば０〜９までの１０個の数字の認識を行う機能が実装される。
【０１０７】
入力層３０は、畳み込み層３３（Ｃｏｎｖ１）と、ＲｅＬＵ関数部３４ａと、プーリング部３５とを有する。畳み込み層３３は、対象範囲（５×５）を単位として画像データに対する畳み込み処理を実行する層である。例えば２８×２８の画像データに対して５×５の対象範囲を１ピクセルずつずらして積和演算が実行される。以下では、５×５の対象範囲での演算を単位演算と記載する。
【０１０８】
図７に示す例では、１つの対象範囲について３０種類の単位演算が実行される。例えば５×５の対象範囲を２８×２８の画像データに対して１ピクセルずつずらした場合、対象範囲をずらす回数は２４×２４回となる。従って、１つの画像データに対して、２４×２４×３０回の単位演算が実行されることになる。言い換えれば、２４×２４の位置に対して３０種類ずつの単位演算が実行されるため、単位演算の総数は、２４×２４×３０回となる。
【０１０９】
畳み込み層３３では、１回の単位演算が１つのアナログ回路３により実行される。従って１つのアナログ回路３には、２５対の入力信号線６が接続されることになる。すなわち、畳み込み層３３には５×５のデータに対して積和演算を実行するアナログ回路３が、２４×２４×３０個設けられる。
【０１１０】
なお１つのピクセルについてのデータは、例えば正負の入力信号線６ａ及び６ｂを介してアナログ回路３に入力される。従ってアナログ回路３には２５対の入力信号線６が接続される。またアナログ回路３からは、１対の出力信号線１０ａ及び１０ｂを介して積和結果が出力される（図３等参照）。
【０１１１】
ＲｅＬＵ関数部３４ａは、２４×２４×３０個のアナログ回路３の出力について、ＲｅＬＵ関数を作用させる回路である。例えば、アナログ回路３の積和結果が正である場合には積和結果がそのまま出力され、負である場合には０が出力される。
【０１１２】
プーリング部３５は、２４×２４×３０個の出力を減らす回路である。例えば２４×２４回の単位演算の結果から、縦横の演算結果をそれぞれ半分に減少させる。この結果、入力層３０からは、１２×１２×３０＝４３２０個の積和結果が後段の中間層３１に向けて出力される。
【０１１３】
中間層３１は、第１のＦＣ層３６（ＦＣ１：Ｆｕｌｌ  Ｃｏｎｎｅｃｔｉｏｎ  １）と、ＲｅＬＵ関数部３４ｂとを有する。第１のＦＣ層３６には、１００個のアナログ回路３が設けられる。各アナログ回路３には、入力層３０から出力された４３２０個の積和結果がそれぞれ入力される。ＲｅＬＵ関数部３４ｂは、第１のＦＣ層３６から出力された１００個の積和結果について、ＲｅＬＵ関数を作用させる。
【０１１４】
出力層３２は、第２のＦＣ層３７（ＦＣ２）と、ＳｏｆｔＭａｘ部３８とを有する。第２のＦＣ層３７には、１０個のアナログ回路３が設けられる。各アナログ回路３には、中間層３１から出力された１００個の積和結果がそれぞれ入力される。ＳｏｆｔＭａｘ部３８は、所定の変換関数（ＳｏｆｔＭａｘ関数等）を用いて第２のＦＣ層３７から出力された１０個の積和結果を出力用の値（確率値等）にそれぞれ変換する。ＳｏｆｔＭａｘ部３８から出力された１０個の結果が、演算装置１００の出力結果（例えば１０個の数字の認識結果）となる。
【０１１５】
図８は、図７に示す演算装置の動作の一例を説明するための模式図である。図８には、入力層３０（畳み込み層３３）、中間層３１（第１のＦＣ層３６）、出力層３２（第２のＦＣ層３７）に含まれるアナログ回路３ａ、３ｂ、及び３ｃが図示されている。アナログ回路３ａ〜３ｃは、それぞれ、２５入力、４３２０入力、１００入力の回路である。なお１入力とは、１対の入力信号線６ａ及び６ｂが接続されることに相当する。
【０１１６】
図８では、荷重値ｗiを２値化して設定するバイナリコネクトが用いられる。バイナリコネクトは、例えばニューラルネットワーク等による画像認識で用いられる手法である。荷重値ｗiを２値化することで、荷重値ｗiが設定されるシナプス回路８の構成を簡略化することが可能である。図８に示す例では、正規化された荷重値がｗi＝±１が用いられる。
【０１１７】
この場合、荷重値ｗiの総和Σ｜ｗi｜は、設定される荷重値ｗiの総数、すなわち入力の数と等しくなる。従ってアナログ回路３におけるβ0は、入力の数にバイアス項ｂを加えた値となる。各バイアス項ｂを１と見做すと、例えば、畳み込み層３３に含まれるアナログ回路３ａでは、β0(1)＝２５＋１＝２６となる。また第１のＦＣ層３６に含まれるアナログ回路３ｂでは、β0(2)＝４３２０＋１＝４３２１となる。また第２のＦＣ層３７に含まれるアナログ回路３ｃでは、β0(3)＝１００＋１＝１０１となる。
【０１１８】
例えば、入力層３０では、アナログ回路３ａにより（ｔν(1)+，ｔν(1)-）が出力される。この出力の差分値（ｔν(1)-−ｔν(1)+）／Ｔinは、本来の積和結果（ｙ(1)）を１／２６倍した値となっている。アナログ回路３ａの出力は、ＲｅＬＵ関数部３４ａ及びプーリング部３５を介してそのまま中間層３１のアナログ回路３ｂに入力される。
【０１１９】
中間層３１では、アナログ回路３ｂにより、１／２６倍された演算結果に基づいて、（ｔν(2)+，ｔν(2)-）が出力される。この出力の差分値（ｔν(2)-−ｔν(2)+）／Ｔinは、本来の積和結果（ｙ(2)）を１／（２６×４３２１）倍した値となる。アナログ回路３ｂの出力は、ＲｅＬＵ関数部３４ｂを介してそのまま出力層３２のアナログ回路３ｄに入力される。
【０１２０】
出力層３２では、アナログ回路３ｄにより、１／（２６×４３２１）倍された演算結果に基づいて、（ｔν(3)+，ｔν(3)-）が出力される。この出力の差分値（ｔν(3)-−ｔν(3)+）／Ｔinは、本来の積和結果（ｙ(3)）を１／（２６×４３２１×１０１）倍した値となる。アナログ回路３ｃの出力は、ＳｏｆｔＭａｘ部３８に入力され、演算装置１００の演算結果が出力される。
【０１２１】
図９は、アナログ回路３から出力されるタイミングの差分値の変化を示すグラフである。図９に示すグラフには、各階層に含まれるアナログ回路３から出力される差分値（ｔν(n)-−ｔν(n)+）の分布の幅が示されている。分布の幅は、差分値（ｔν(n)-−ｔν(n)+）の分布における±３σの値により表されており、単位は秒である。ここでσは分布の標準偏差である。なお図９では入力期間Ｔinは、１μ秒に設定されている。
【０１２２】
演算装置１００では、例えば各アナログ回路３から出力される差分値（ｔν(n)-−ｔν(n)+）を検出することで、積和結果の大小等を比較することが可能である。従って差分値の分布の幅が狭いほど、例えば個々の積和結果を比較することが難しくなると言える。
【０１２３】
図９に示すように、畳み込み層３３から出力された差分値（ｔν(1)-−ｔν(1)+）の分布の幅は、０．５μ秒程度である。また第１のＦＣ層３６から出力された差分値（ｔν(2)-−ｔν(2)+）の分布の幅は、１０ｎ秒程度に減少する。また第２のＦＣ層３７から出力された差分値（ｔν(3)-−ｔν(3)+）の分布の幅は、０．５ｎ秒程度まで減少する。このように、アナログ回路３を用いた時間軸アナログ積和演算では、各階層を通過する度に、演算結果を表すパラメータ（差分値）が減少することがあり得る。
【０１２４】
図１０は、積和器１５及びアナログ回路３の各出力の変化を示すグラフである。図１０には、アナログ回路３により構成された演算装置１００における、各部の出力（差分値）の分布幅（±３σ）が黒塗りのデータ点で示されている。黒塗りのデータ点のグラフは図９に示すグラフを詳細にしたグラフとなっている。なお一番左のデータ点は、演算装置１００への入力の分布幅を示している。
【０１２５】
また図１０には、積和器１５を用いて図７に示す演算装置１００を構成した場合の、各部の出力値ｙの分布幅（±３σ）が白抜きのデータ点で示されている。なお出力値ｙは、無次元量である。また一番左のデータ点は、入力値の分布幅を示している。
【０１２６】
図１０に示す例では、最後段の積和器１５の出力値ｙ（ＦＣ２の出力値ｙ(3)）の分布幅が、最初の入力値の分布幅と比べて増大している。このように、積和結果である出力値ｙを直接算出し、その値を次段の積和器１５に入力する構成とした場合、出力値ｙの分布幅が大きくなる場合があり得る。なお、積和器１５の構成によっては、最終的な出力値ｙが減少する場合もある。
【０１２７】
一方でアナログ回路３を直列に接続して時間軸アナログ積和演算を行う場合には、電気信号が各アナログ回路３を通過する際に、１／β0が作用することで、演算結果が減少する。この結果、最終的な演算結果を検出することが難しくなる可能性がある。
【０１２８】
［荷重値の設定］
本開示において、各アナログ回路３（シナプス回路８）に設定される荷重値ｗiの値は、所定の値域に含まれるように制限される。ここで所定の値域とは、例えば予め設定された荷重値ｗiの取り得る値の範囲である。すなわち、各アナログ回路３には、予め値の制限された荷重値ｗiが設定されるとも言える。値域が制限された荷重値ｗiを用いて、時間軸アナログ積和演算を行うことで、本実施形態に係る積和演算方法が実行される。
【０１２９】
また所定の値域は、複数の制限値を含んで構成される。すなわち、荷重値ｗiの取り得る値は、離散的な制限値によって制限される。従って、荷重値ｗiは、複数の制限値のいずれかに設定されることになる。このように荷重値ｗiを離散的に制限することで、例えば上記したβ0等を小さくすることが可能である。
【０１３０】
図１１は、荷重値ｗ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として設定される。
【０１３９】
本実施形態では、例えば量子化前荷重ｖ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が±１に設定される。このため、アナログ回路３ｂにおけるβ0(2)は、β0(2)＝４３２０／２＋１＝２１６１となる。従って、アナログ回路３ｂの出力（ｔν(2)+，ｔν(2)-）の差分値（ｔν(2)-−ｔν(2)+）／Ｔinは、本来の積和結果（ｙ(2)）を１／（２６×２１６１）倍した値となる。
【０１４７】
また、第１の割合が３／４（７５％）であった場合、４３２０×３／４＝３２４０の荷重値ｗiが０に設定される。また１０８０の荷重値ｗiが±１に設定される。このため、アナログ回路３ｂにおけるβ0(2)は、β0(2)＝４３２０／４＋１＝１０８１となる。従って、アナログ回路３ｂの出力（ｔν(2)+，ｔν(2)-）の差分値（ｔν(2)-−ｔν(2)+）／Ｔinは、本来の積和結果（ｙ(2)）を１／（２６×１０８１）倍した値となる。
【０１４８】
このように、第１の割合（５０％や７５％）で、荷重値ｗiを０に設定するスパース化を行うことで、β0(2)の値が小さくなる。この結果、スパース化をしない場合と比べ、アナログ回路３ｂから出力される積和結果を表す値、すなわち出力の差分値（ｔν(1)-−ｔν(1)+）／Ｔinを増大させることが可能である。荷重のスパース化により個々の出力差分値が増大し、これにより差分値の分布が拡大する。これにより図９を用いて説明した、積和結果を比較することが困難となるという問題が緩和される。
【０１４９】
図１３は、アナログ回路３から出力されるタイミングの差分値の変化を示すグラフである。図１３には、アナログ回路３ｂにスパース化された荷重値ｗiが設定された場合の各層の差分値の変化が示されている。なおアナログ回路３ｂの前段及び後段となるアナログ回路３ａ及び３ｃには、スパース化されていない荷重値ｗi（±１）が設定されている。
【０１５０】
白色のデータ点は、第１の割合が５０％に設定された場合のグラフであり、灰色のデータ点は、第１の割合が７５％に設定された場合のグラフである。また図１３には、図９を参照して説明したグラフ、すなわち全てのアナログ回路３ａ〜３ｃでスパース化されていない荷重値が用いられる場合のグラフが黒のデータ点で示されている。
【０１５１】
例えば、１段目に配置された畳み込み層３３（Ｃｏｎｖ１）の差分値の分布幅±３σは、３つのグラフで略同様の値となる。２段目に配置された第１のＦＣ層３６（ＦＣ１）の差分値の分布幅は、第１の割合が大きいほど、大きくなる。すなわち、０の荷重値ｗiが多く設定されているほど、２段目の値が増大する。また３段目に配置された第２のＦＣ層３７（ＦＣ２）の差分値の分布幅も、２段目の結果と同様に、第１の割合が大きいほど増大した値となる。
【０１５２】
このように、中間のアナログ回路３ｂの荷重値ｗiをスパース化することで、後段のアナログ回路３ｃから出力される演算結果を増大させることが可能である。これにより、例えば最終的な演算結果を精度よく検出することが可能となり、例えば演算装置１００による認識処理等を適正に実行することが可能となる。
【０１５３】
図１４は、差分値の標準偏差σの変化率を示すグラフである。図１５は、積和結果及び差分値の標準偏差σの変化率を示す表である。図１４には、４種類のスパース化（荷重制限処理）を行った場合の、差分値の標準偏差σの変化率が、棒グラフを用いて示されている。なお標準偏差σの変化率とは、スパース化を行わなかった場合の差分値の標準偏差σ0を基準とする変化の割合である。例えば、変化率が１である場合には、標準偏差σ0と同様となり変化はなかったことになる。
【０１５４】
図１４ではスパース化として、荷重値ｗiの５０％をランダムに０にしたパターンＡ、荷重値ｗiの７５％をランダムに０にしたパターンＢについての変化率が示されている。また量子化前荷重ｖiの絶対値の小さい方から５０％を０にしたパターンＣ、及び絶対値の小さい方から７５％を０にしたパターンＤについての変化率が示されている。
【０１５５】
荷重値ｗiをランダムに０にした場合（パターンＡ及びＢ）では、差分値（ｔν-−ｔν+）の標準偏差σは、ほとんど変化しない。このように、荷重値ｗiをランダムにまびく方法では、差分値の分布が十分に拡大することはなく、演算結果の増大はあまり見込めない。
【０１５６】
また絶対値の小さい方から５０％を０にした場合（パターンＣ）、差分値の標準偏差σは１．６７倍となり、７５％を０にした場合（パターンＤ）、差分値の標準偏差σは２．４１倍となる。このように、量子化前荷重ｖiの絶対値を基準に、各荷重値ｗiを制限することで、差分値の分布が十分に拡大し、演算結果を効果的に増大させることが可能となる。
【０１５７】
図１５には、パターンＣ及びＤにおける、積和結果ｙ、差分値、及び正規化された差分値の標準偏差の変化率が示されている。積和結果ｙは、例えば（数４）式に基づいて、算出された本来の積和結果ｙである。例えば荷重値ｗiをスパース化することで、入力値ｘiと荷重値ｗiとの乗算値（ｗi・ｘi）の値が０になる場合が増える。このため乗算値の和を表す積和結果ｙは、荷重値ｗiのスパース化に伴い減少する。
【０１５８】
この積和結果ｙの標準偏差の変化率を用いて、各パターンでの差分値の標準偏差の変化率を正規化する。正規化後の差分値の標準偏差変化率は、パターンＣでは２．０６（〜２）となり、パターンＤでは３．９５（〜４）となった。このように、正規化後の変化率は、スパース化した荷重値ｗiの割合（第１の割合）と符合する。
【０１５９】
以下では、荷重値ｗiのスパース化、すなわち荷重値ｗiの値域を制限する他の方法について説明する。
【０１６０】
図１１のステップ１０２で説明したように、上記した荷重制限処理では、量子化前荷重ｖiの絶対値が小さい方から所定の割合（第１の割合）で荷重値ｗiを０に変換する方法が用いられた。この方法は、N個の荷重値ｗiのうち、２値化前の値が相対的に小さいものを０とする方法であるとも言える。例えば、２値化前の値の絶対値を直接評価することで、荷重値ｗiを制限することも可能である。
【０１６１】
例えば、荷重制限処理として、量子化前荷重ｖiの絶対値が第１の閾値ｄ以下である時に、荷重値ｗiを０にする処理が実行される。これにより、量子化前荷重ｖiの大きさを直接評価することが可能である。
【０１６２】
第１の閾値ｄは、例えば量子化前荷重ｖiの絶対値の平均値ａｖｅ＝（Σ｜ｖi｜）／Ｎ等を基準として設定される。ここでＮは、量子化前荷重ｖiの個数であり、Σは、Ｎ個の量子化前荷重ｖiの絶対値の総和を表す。例えば絶対値の平均値ａｖｅの７０％を第１の閾値ｄとして設定した場合、第１の閾値ｄは、ｄ＝０．７×（Σ｜ｖi｜）／Ｎと表される。もちろん、ａｖｅの８０％や４０％といった、他の割合で第１の閾値ｄが算出されてもよい。
【０１６３】
荷重設定処理では、第１の閾値ｄに基づいて閾値判定を行い、第１の閾値ｄをよりも絶対値が小さい量子化前荷重ｖiに対応する荷重値ｗiとして０が算出される。また第１の閾値ｄをよりも絶対値が大きい量子化前荷重ｖiに対応する荷重値ｗiとして、量子化前荷重ｖiの符号に応じて±１が算出される。すなわち、荷重値ｗiは以下の式を用いて算出されることになる。
【０１６４】
【数６】
2020017444.tif 000008
【０１６５】
これにより、量子化前荷重ｖiが十分に小さい荷重値ｗiを０とすることが可能となり、演算に影響の少ない荷重値ｗiをまびくことが可能となる。算出された荷重値ｗiは、荷重値データ３９として記録され、アナログ回路３（各シナプス回路）に設定される。
【０１６６】
図１６は、第１の閾値ｄを用いてスパース化された荷重値ｗiの分布を示すグラフである。グラフの横軸は、荷重値ｗiであり、縦軸は、設定された荷重値ｗiの個数を荷重の総数で除算した頻度（Frequency）である。図１６には、絶対値の平均値ａｖｅの７０％を第１の閾値ｄとした場合に、１つの階層に含まれるアナログ回路３に設定される荷重値ｗiの分布が示されている。
【０１６７】
第１の閾値ｄがａｖｅの７０％に設定された場合、約７０％の荷重値ｗiが０に設定される。また残りの３０％の荷重値ｗiが±１に設定される。このように、７０％の荷重値ｗiを０にするスパース化により、入力値ｘiと荷重値ｗiとの乗算値ｗi・ｘiの和のうち、約７０％の成分が削減される。この結果、例えば１００入力のアナログ回路３からは、実質的に３０入力分の積和結果が出力されることになる。
【０１６８】
図１７は、電気信号により表される積和結果について説明するための模式図である。図２を参照して説明したように、ＴＡＣＴ方式の電気信号（パルス信号）は、設定された入力期間Ｔの期間内で数値を表現する信号である。図１７では、入力期間Ｔが矢印を用いて模式的に図示されている。
【０１６９】
入力値ｘiが所定のビット精度Ｋを有する値（２K）であった場合に、アナログ回路３に０でない荷重値ｗiが２L個設定されているとし、例えばその絶対値を１とする。この場合、時間軸アナログ積和演算を行うアナログ回路３からは、２K×２Lの大きさの出力値ｙが出力される可能性がある。すなわち、出力値ｙを正確に表現するには、Ｋ＋Ｌビット相当の精度が必要となる。
【０１７０】
一方、入力期間Ｔにおいてパルスタイミング（あるいはパルス幅）で表現できる時間分解能がＫビットであったとする。この場合、出力期間Ｔ'内でＫ＋Ｌビット相当の時間分解能を得ようとすると、出力期間Ｔ'の長さは、入力期間Ｔの２L倍必要となる。例えば、０でない荷重値ｗiが１００個程度あった場合は、Ｌ≒７となり、出力期間Ｔ'は、Ｔ'＝Ｔ×２L≒１００Ｔとなり、出力期間Ｔ'が著しく長くなる可能性がある。
【０１７１】
別の観点では、入力期間Ｔと同じ長さの出力期間Ｔ'を設定する場合（Ｔ＝Ｔ'）、アナログ回路３から出力される出力値ｙを正確に表すための時間分解能は、入力期間Ｔにおける時間分解能の１／１００とする必要が生じ、検出精度が低下する恐れが生じる。
【０１７２】
例えば、８ｂｉｔ（２8）の情報量を持った入力値ｘiで表される電気信号が、１００入力のアナログ回路３に入力されるとする。このとき、アナログ回路３の荷重値ｗiが、全て−１又は＋１であった場合、アナログ回路３による積和結果（出力値ｙ）は、約１５ビットとなる。この場合、図１７の上側に示すように、積和結果を表す電気信号は、２15＝３２７６８の情報を期間Ｔで表す信号となる。
【０１７３】
これに対し、例えば図１６に示すように、７０％の荷重値ｗiを０に制限するスパース化が行われた場合、アナログ回路３の入力は、実質的に３０入力（〜２5）と見做すことが可能である。このため、アナログ回路３による積和結果（出力値ｙ）は、約１３ビットとなる。この場合、図１７の下側に示すように、積和結果を表す電気信号は、２13＝８１９２の情報を期間Ｔで表す信号となる。
【０１７４】
このように、７０％の荷重値ｗiをスパース化することで、例えば単位出力（値が１の出力）を表現するために使うことのできる時間の長さは、約４倍となる。すなわち、スパース化による出力比は約４倍に増加される。これにより、積和結果を十分高精度に検出することが可能となる。この結果、時間軸アナログ積和演算を用いた各種の処理を適正に実行することが可能となる。
【０１７５】
以上、本実施形態に係る演算装置１００では、入力値ｘiに応じた電気信号が複数の入力信号線６から入力され、電気信号に基づいて入力値ｘiと荷重値ｗiとの乗算値に対応する電荷が生成される。生成された電荷を蓄積して乗算値の和を表す積和信号が出力される。この時、荷重値ｗiの値が制限される。荷重値ｗiを制限することで、例えば乗算値の和を調整することが可能となる。この結果、積和演算を行うアナログ方式の回路において、演算結果を精度よく検出することが可能となる。
【０１７６】
＜第２の実施形態＞
本技術に係る第２の実施形態の演算装置２００について説明する。これ以降の説明では、上記の実施形態で説明した演算装置１００における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０１７７】
本実施形態では、時間軸アナログ積和演算を行う際に、各信号線１に入力される電気信号の信号値（入力値）の取り得る値が制限される。このように信号値の値は、所定の値域に含まれるように制限されている。
【０１７８】
図１８は、第２の実施形態に係る演算装置２００の構成例を示す模式図である。演算装置２００は、複数のアナログ回路２０３と、複数の信号制限回路２０４とを有する。各アナログ回路２０３は、例えば図３を参照して説明したアナログ回路３と同様に構成される。なお図１８に示すアナログ回路２０３は、例えば中間層に含まれるアナログ回路２０３である。
【０１７９】
信号制限回路２０４は、信号値の値域を制限する回路である。信号制限回路２０４は、例えば前段と後段のアナログ回路２０３をつなぐ信号線（正負の入力信号線６ａ及び６ｂ／正負の出力信号線１０ａ及び１０ｂ）上に設けられる。この信号線１を伝送される信号値の値が、信号制限回路２０４により制限される。
【０１８０】
図１８に示す例では、中間層の出力側に接続された複数の信号制限回路２０４が図示されている。これに限定されず、中間層の入力側（プレニューロンの出力側）に信号制限回路２０４が設けられてもよい。
【０１８１】
図１８に示すように、信号制限回路２０４には、アナログ回路２０３（ニューロン回路２０９の出力部）により算出された積和結果ｓjを表す積和信号（正の積和信号及び負の積和信号）が入力される。ここで、添え字のｊは、中間層に含まれるアナログ回路２０３を示す指標である。以下では、中間層に含まれるアナログ回路２０３の総数をＭ個とする。従って指標ｊはｊ＝（１，２，…，Ｍ）で表される整数となる。
【０１８２】
また信号制限回路２０４から出力された信号は、後段のアナログ回路２０３に入力される。従って、後段のアナログ回路２０３から見て、信号制限回路２０４から出力される信号は、入力信号となり、入力信号により表される値は、入力値となる。すなわち、信号制限回路２０４は、後段のアナログ回路２０３に入力される入力値を制限する回路である。
【０１８３】
以下では、信号制限回路２０４から出力される信号を、後段入力信号と記載し、後段入力信号により表される値を後段入力値ｘjと記載する。従って、信号制限回路２０４に入力される積和結果ｓjは、後段入力値ｘjとなる値であるとも言える。本実施形態では、後段入力値ｘjは、入力値の一例である。また信号制限回路２０４は、制限部に相当する。
【０１８４】
信号制限回路２０４は、積和結果ｓjの絶対値に基づいて後段入力値ｘjを設定する信号制限処理を実行する。上記したように、積和結果ｓjは、１対の正負の積和信号を用いて表される。信号制限処理では、正負の積和信号から積和結果ｓjの絶対値が参照され、その絶対値に基づいて後段入力値ｘjの値が設定される。
【０１８５】
このように、信号制限回路２０４は、ニューロン回路２０９の出力部から出力される積和信号に基づいて信号制限処理を実行する。本実施形態では、積和結果ｓjの絶対値（乗算値の和の絶対値）は、第２の値に相当し、信号制限処理は、第２の処理に相当する。
【０１８６】
信号制限処理の一例として、Ｍ個のアナログ回路２０３から出力された積和結果ｓjのうち、積和結果ｓjの絶対値が小さい方から順番に、第２の割合で定められた個数の後段入力値ｘjを０に設定する処理が実行される。すなわち、Ｍ個の後段入力値ｘjのうち、もとの値（積和結果ｓj）の絶対値が小さいものは、第２の割合（例えば７０％、５０％等）で０に設定される。これにより、値の小さい後段入力値ｘjのスパース化を実現することが可能となる。
【０１８７】
なお、Ｍ個の後段入力信号は（後段入力値ｘj）、後段のアナログ回路２０３に設けられた複数のシナプス回路２０８にそれぞれ入力されることになる。従って、上記の信号制限処理は、複数のシナプス回路２０８の各々に入力される後段入力信号により表される後段入力値ｘjについて、積和結果ｓjの絶対値が小さい方から順番に第２の割合で後段入力値ｘjを０に設定する処理であるとも言える。
【０１８８】
信号制限回路２０４では、例えば積和結果ｓjの絶対値として、正負の積和信号で表されるタイミングの差分値｜ｔν-−ｔν+｜が算出される。具体的には、差分値をパルスタイミング等によって表すＴＡＣＴ方式のパルス信号（電気信号）等が生成される。
【０１８９】
各信号制限回路２０４で生成されたパルス信号のタイミングが比較され、差分値の小さい方から順に、第２の割合に応じた個数のパルス信号が０にされる。例えば対象となるパルス信号の配線がＯＦＦに切り替えられる。あるいは、０を表す信号が代わりに出力される。これにより、第２の割合で後段入力値ｘjを０に設定することが可能である。
【０１９０】
なお信号制限回路２０４は、例えば上記した差分値の算出をする論理回路、タイミングを比較・カウントするカウンター回路、及び配線のＯＮ／ＯＦＦを切り替えるスイッチ回路等を用いて適宜構成される。信号制限回路２０４の具体的な構成は限定されない。
【０１９１】
また、信号制限処理の他の一例として、積和結果ｓjの絶対値が第２の閾値ｄ以下であるときに後段入力値ｘjを０に設定する処理が実行されてもよい。例えば、信号制限回路２０４では、イミングの差分値｜ｔν-−ｔν+｜（積和結果ｓjの絶対値）を表すパルス信号が生成され、そのパルスタイミングについて第２の閾値ｄを用いた閾値処理が実行される。この結果、例えば差分値が閾値以下であると判定された場合、そのパルス信号の配線がＯＦＦに切り替えられる。例えばこのような処理が実行される。
【０１９２】
このように、信号制限回路２０４を適宜構成することで、所望とする信号制限処理を実装することが可能である。これにより、中間層から、後段の上位層等へ入力される後段入力値ｘjを適正にスパース化する事が可能である。
【０１９３】
なお０に設定されかった後段入力値ｘjとしては、例えば積和結果ｓjがそのまま用いられる。すなわち、正負の積和信号がそのまま後段入力信号として出力される。あるいは、積和結果ｓjの正負に応じて、後段入力値ｘjが±１に２値化されてもよい。これらの後段入力値ｘjが、上位層に含まれるアナログ回路２０３に対する実質的な入力値となる。
【０１９４】
このように、上位層に含まれるアナログ回路２０３では、実質的に入力数が減ることになる。すなわち、入力値と荷重値との乗算値のうち、入力値が０となる数が増加するため、０となる乗算値が増加する（（数１）等参照）。これにより、上位層の各アナログ回路２０３で算出される積和結果を小さくすることが可能である。
【０１９５】
この結果、積和結果を表すための精度を向上させることが可能となる。あるいは、積和結果に対応する差分値の大きさを増大させることが可能である。これにより、演算装置２００による演算結果等を高精度に検出することが可能となる。この結果、時間軸アナログ積和演算を用いた各種の処理を適正に実行することが可能となる。
【０１９６】
＜その他の実施形態＞
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【０１９７】
上記では、値域が制限された荷重値が設定された演算装置１００と、値域が制限された入力値が用いられる演算装置２００について説明した。これに限定されず、値域が制限された荷重値が設定され、値域が制限された入力値が用いられる演算装置が構成されてもよい。すなわち、荷重値と入力値との両方がスパース化されてもよい。
【０１９８】
例えば図１８を参照して説明した演算装置２００に対して、値域が制限された荷重値等を設定することで、荷重値と入力値との両方をスパース化することが可能である。これにより、例えば各アナログ回路で算出される積和結果を十分に抑制することが可能となり、演算装置による演算結果を高精度に検出することが可能となる。
【０１９９】
上記では、荷重値及び入力値の値域が、複数の制限値（±１，０等）を用いて制限された。これに限定されず、例えば、アナログ回路により算出される積和結果が小さくなるように、荷重値及び入力値の値域が適宜設定されてよい。
【０２００】
複数の制限値として、−１、−０．５、０、＋０．５、＋１といった、５つの値が用いられてもよい。例えば、入力値及び荷重値のもととなる値の大きさに基づいて、入力値及び荷重値を各制限値に設定する判定処理等が実行されてもよい。このように入力値及び荷重値の値域を詳細に設定することで、演算装置により処理精度を向上させることが可能である。もちろん、±３、±２、±１、０といった、規格化されていない離散値が制限値としてもちいられてもよい。この他、制限値を設定する方法は限定されない。
【０２０１】
また例えば、荷重値及び入力値の値が、所定の範囲に収まるように制限されてもよい。例えば荷重値及び入力値のもとになる値（量子化前荷重や積和結果）の絶対値等を基準として、もとの値が小さいものを、−０．１〜＋０．１の範囲に収まるように制限するといった処理が実行されてもよい。このように、荷重値及び入力値が連続した値域に制限される場合であっても、積和結果等を小さくすることが可能であり、検出精度を向上することが可能である。例えばこのような処理が実行されてもよい。
【０２０２】
上記の実施形態ではＴＡＣＴ方式の電気信号を用いた時間軸アナログ積和演算について説明した。電気信号の方式は限定されず、例えば時間軸アナログ積和演算を実行可能な任意の方式の電気信号が用いられてよい。
【０２０３】
例えば、電気信号として、パルス幅変調方式（ＰＷＭ：Pulse Width Modulation）の電気信号が用いられてもよい。ＰＷＭ方式の電気信号は、パルス幅を用いて入力値を表す信号である。また電気信号のパルス幅は、典型的には、所定の入力期間に収まるように設定される。従って、電気信号により表される入力値の精度は、入力値の増大に伴い低下する。例えば、ＰＷＭ方式の電気信号が用いられる場合であっても、上記した荷重値及び入力値のスパース化により、積和結果等を小さくすることが可能である。これにより、演算結果を精度よく検出することが可能である。
【０２０４】
各図面を参照して説明した演算装置、アナログ回路、シナプス回路、ニューロン回路等の各構成、荷重値及び入力値を制限する方法等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成や方法等が採用されてよい。
【０２０５】
荷重値をスパース化する回路（以下では、荷重制限回路と記載する）が設けられてもよい。荷重制限回路は、アナログ回路（積和演算装置）の各シナプス回路（乗算部）に設定される荷重値の値を制限する。荷重制限回路によるスパース化は、典型的には、１つのアナログ回路が含む複数のシナプス回路を対象として実行される。荷重制限回路により、例えば各シナプス回路に対応して算出された複数の量子化前荷重ｖiが、所定の値域に含まれる荷重値ｗiとなるように制限する処理が実行される。
【０２０６】
例えば、荷重制限回路は、入力された量子化前荷重ｖiの絶対値を計算し、絶対値の小さいほうから順に所定の数の荷重を選択して、選択した荷重の量子化後の荷重値ｗiにゼロを代入して出力する。あるいは、荷重制限回路は、入力された量子化前荷重ｖiの絶対値を計算し、絶対値が閾値ｄと比較して小さい荷重に対し、量子化後の荷重値ｗiにゼロを代入して出力する。荷重制限回路から出力された荷重値ｗiが、各シナプス回路に設定される。
【０２０７】
荷重制限回路の具体的な構成は限定されず、例えば比較器、論理素子、記憶素子等を適宜組み合わせることで実現可能である。また、荷重制限回路は、アナログ回路ごとに設けられてもよいし、複数のアナログ回路に共通の回路として構成されてもよい。いずれにしろ、荷重制限回路としては、入力された荷重（量子化前荷重ｖi）をスパース化して各シナプス回路に設定可能な回路が用いられる。
【０２０８】
また、図１８では、入力値をスパース化する回路（信号制限回路２０４）について説明した。このように、入力値や荷重値をスパース化する回路（信号制限回路及び荷重制限回路）を用いることが可能である。これらの回路により、アナログ回路に設けられた複数のシナプス回路の各々が乗算値に対応する電荷を生成する前に、入力値及び荷重値の少なくとも一方の値が制限される。これにより、演算結果を精度よく検出することが可能となる。信号制限回路及び荷重制限回路は、本技術に係る制限処理部として機能する。
【０２０９】
また図１等を参照して説明したように、複数のアナログ回路（積和演算装置）が接続されることで、ネットワーク回路が構成され、積和演算システムが実現される。上記した信号制限回路及び荷重制限回路は、このネットワーク回路上に設けられる回路である。従って、各アナログ回路にはネットワーク回路を介してスパース化処理済みの入力値や荷重値が入力されることになる。例えば下層側に配置された信号制限回路により、上層側のアナログ回路に入力される入力値がスパース化される。あるいはネットワーク回路に適宜接続された荷重制限回路により、アナログ回路の荷重値がスパース化される。
【０２１０】
このように、入力値及び荷重値の少なくとも一方は、ネットワーク回路を介して信号制限回路や荷重制限回路（制限処理部）により制限される。これにより、例えば信号制限回路を用いることで、スパース化されていない入力値が入力される場合であっても、実際の演算では、スパース化された入力値が用いられることになる。または、荷重制限回路を用いることで、事前にスパース化されていない荷重が入力される場合であっても、適正にスパース化された荷重値を設定することが可能である。この結果、演算結果の検出精度が高く、汎用性の高い演算装置を実現することが可能となる。
【０２１１】
本開示において、「同じ」「等しい」「直交」等は、「実質的に同じ」「実質的に等しい」「実質的に直交」等を含む概念とする。例えば「完全に同じ」「完全に等しい」「完全に直交」等を基準とした所定の範囲（例えば±１０％の範囲）に含まれる状態も含まれる。
【０２１２】
以上説明した本技術に係る特徴部分のうち、少なくとも２つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
【０２１３】
なお、本技術は以下のような構成も採ることができる。
（１）入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
演算装置。
（２）（１）に記載の演算装置であって、
前記入力値及び前記荷重値の少なくとも一方の値は、所定の値域に含まれるように制限されている
演算装置。
（３）（２）に記載の演算装置であって、
前記所定の値域は、複数の制限値を含み、
前記入力値及び前記荷重値の少なくとも一方は、前記複数の制限値のいずれかに設定される
演算装置。
（４）（３）に記載の演算装置であって、
前記複数の制限値は、０を含む
演算装置。
（５）（３）又は（４）に記載の演算装置であって、
前記複数の制限値は、互いに絶対値が等しい正の制限値及び負の制限値を含む
演算装置。
（６）（１）から（５）のうちいずれか１つに記載の演算装置であって、
前記荷重値は、前記荷重値となる値の絶対値である第１の値に基づいて前記荷重値を設定する第１の処理により制限される
演算装置。
（７）（６）に記載の演算装置であって、
前記第１の処理は、前記第１の値が第１の閾値以下であるときに前記荷重値を０に設定する処理である
演算装置。
（８）（６）に記載の演算装置であって、
前記第１の処理は、前記複数の乗算部の各々に設定される前記荷重値について、前記第１の値が小さい方から順番に第１の割合で前記荷重値を０に設定する処理である
演算装置。
（９）（１）から（８）のうちいずれか１つに記載の演算装置であって、
前記入力値は、前記入力値となる値の絶対値である第２の値に基づいて前記入力値を設定する第２の処理により制限される
演算装置。
（１０）（９）に記載の演算装置であって、
前記第２の処理は、前記第２の値が第２の閾値以下であるときに前記入力値を０に設定する処理である
演算装置。
（１１）（９）に記載の演算装置であって、
前記第２の処理は、前記複数の乗算部の各々に入力される前記パルス信号により表される前記入力値について、前記第２の値が小さい方から順番に第２の割合で前記入力値を０に設定する処理である
演算装置。
（１２）（９）から（１１）のうちいずれか１つに記載の演算装置であって、さらに、
前記積和信号により表される前記乗算値の和の絶対値を前記第２の値として、前記積和信号に基づいて前記第２の制限処理を実行する制限部を具備する
演算装置。
（１３）（１）から（１２）のうちいずれか１つに記載の演算装置であって、
前記複数の入力線の各々には、所定の入力期間内に、前記パルス信号が入力され、
前記出力部は、所定の出力期間内に、前記乗算値の和を表す積和信号を出力する
演算装置。
（１４）（１）から（１３）のうちいずれか１つに記載の演算装置であって、
前記入力値は、第１の入力値及び第２の入力値により表される値であり、
前記複数の入力線は、前記第１の入力値を表す第１のパルス信号が入力される第１の入力線と、前記第２の入力値を表す第２のパルス信号が入力される第２の入力線とを対とする、複数の前記入力線の対を含む
演算装置。
（１５）（１）から（１４）のうちいずれか１つに記載の演算装置であって、
前記パルス信号は、パルスのタイミング及びパルス幅の少なくとも一方を用いて前記入力値を表す信号である
演算装置
（１６）複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
積和演算装置。
（１７）入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数の積和演算装置と、
前記複数の積和演算装置を接続して構成されたネットワーク回路と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が制限されている
積和演算システム。
（１８）複数の入力線に、入力値に応じたパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
前記乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力し、
前記入力値及び前記荷重値の少なくとも一方の値を制限する
積和演算方法。
（１９）入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と、
前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する制限処理部と
を具備する演算装置。
（２０）入力値に応じたパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された乗算値に対応する電荷を蓄積することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数の積和演算装置と、
前記複数の積和演算装置を接続して構成されたネットワーク回路と、
前記複数の乗算部の各々が前記乗算値に対応する電荷を生成する前に、前記入力値及び前記荷重値の少なくとも一方の値を制限する制限処理部と
を具備し、
前記入力値及び前記荷重値の少なくとも一方の値が前記ネットワーク回路を介して前記制限処理部により制限される
積和演算システム。
【符号の説明】
【０２１４】
１、１ａ、１ｂ…信号線
３、３ａ〜３ｃ、２０３…アナログ回路
６、６ａ、６ｂ…入力信号線
８、２０８…シナプス回路
９、２０９…ニューロン回路
１０、１０ａ、１０ｂ…出力信号線
１１…蓄積部
１２…出力部
３９…荷重値データ
１００、２００…積和演算装置
２０４…信号制限回路
【図１】
2020017444.tif 000009
【図２】
2020017444.tif 000010
【図３】
2020017444.tif 000011
【図４】
2020017444.tif 000012
【図５】
2020017444.tif 000013
【図６】
2020017444.tif 000014
【図７】
2020017444.tif 000015
【図８】
2020017444.tif 000016
【図９】
2020017444.tif 000017
【図１０】
2020017444.tif 000018
【図１１】
2020017444.tif 000019
【図１２】
2020017444.tif 000020
【図１３】
2020017444.tif 000021
【図１４】
2020017444.tif 000022
【図１５】
2020017444.tif 000023
【図１６】
2020017444.tif 000024
【図１７】
2020017444.tif 000025
【図１８】
2020017444.tif 000026
【国際調査報告】
2020017444.tif 000027
2020017444.tif 000028
2020017444.tif 000029