(57)【要約】      （修正有）【課題】ニューラルネットワークの外部からの電力解析を防ぎ、電力解析攻撃への対策を施す。【解決手段】ニューラルネットワークの中間層の各層は、演算を実行するパーセプトロン２１−１〜２１−４と、パーセプトロン２１−１〜２１−４への入力を選択する入力マルチプレクサ２５−１〜２５−４と、パーセプトロン２１−１〜２１−４の演算結果を保持する出力レジスタ２６とを備える。この入力マルチプレクサ２５−１〜２５−４は、前層の出力信号と出力レジスタ２６の保持内容のいずれか一方を選択する。【選択図】図２
2020030620.tif 000002
【特許請求の範囲】
【請求項１】
外部からの信号を受ける入力層と、
前記信号に基づき演算を実行する複数の中間層と、
前記演算の結果を整形して外部に出力する出力層と、
を備えたニューラルネットワークのアーキテクチュアであって、
前記中間層の各層は、前記演算を実行する複数の演算部と、
前記演算部への入力を選択する入力マルチプレクサと、
前記演算部の演算結果を保持する出力レジスタと、を備え、
前記入力マルチプレクサは、前層の出力信号と前記出力レジスタの保持内容とのいずれか一方を選択する
ことを特徴とするニューラルネットワークのアーキテクチュア。
【請求項２】
前記入力マルチプレクサが、前層の出力信号を選択すれば前記出力レジスタの保持内容を次層に出力信号として出力する
ことを特徴とする請求項１記載のニューラルネットワークのアーキテクチュア。
【請求項３】
前記層の層番号を示し、
前記層番号を前記入力マルチプレクサと前記演算部とに通知する層番号カウンタをさらに備える
ことを特徴とする請求項１または２記載のニューラルネットワークのアーキテクチャ。
【請求項４】
並列の前記ニューラルネットワークの前記層数を合算したときの前記層の層番号を示し、
前記層番号を前記入力マルチプレクサと前記演算部とに通知する層番号カウンタをさらに備える
ことを特徴とする請求項１または２記載のニューラルネットワークのアーキテクチャ。
【請求項５】
前記各ニューラルネットワークへの入力と出力とを制御する入出力制御部をさらに備える
ことを特徴とする請求項４記載のニューラルネットワークのアーキテクチュア。
【請求項６】
前記層番号カウンタと前記出力レジスタとが同期動作することを特徴とする請求項３〜５のいずれかに記載のニューラルネットワークのアーキテクチャ。
【請求項７】
前記演算部への入力に対する重みとバイアスとを格納するパラメータメモリをさらに備え、
前記パラメータメモリの格納情報を調整することで前記重みと前記バイアスとが調整可能なことを特徴とする請求項１〜６のいずれかに記載のニューラルネットワークのアーキテクチュア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パイプライン処理を用いたニューラルネットワークのアーキテクチュアに関する。
【背景技術】
【０００２】
ニューラルネットワークは、主に三種類の層で構成され、外部からの信号を受ける入力層と、入力された信号に基づき演算を実行する中間層と、演算の結果を整形して外部に出力する出力層とを備え、各層間にはニューロン同士のつながりの強さを示す重みが設定されている。
【０００３】
すなわち、人間の脳のニューロンは電気信号として情報伝達を行う。その際にシナプスの結合強度（つながりの強さ）によって、情報の伝わりやすさが変わってくる。この結合強度を人工ニューロンでは重みで表現する。
【０００４】
個々の人工ニューロンは単純な仕組みであるが、それを多数組み合わせることで複雑な関数近似を行うことができる。このようなニューラルネットワークのアーキテクチュアは、例えば特許文献１〜４に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０２−０６４８８０
【特許文献２】特開平０５−３４６９１４
【特許文献３】特開平０６−１３９２１９
【特許文献４】特開平０６−１９５３２２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述のように人工ニューラルネットワークを多数組み合わせることで複雑な関数近似を行うことが可能となるものの、以下の問題が生じるおそれがある。
【０００７】
すなわち、ニューラルネットワーク内のパーセプロンの各入力には、入力信号に対して重みとバイアスとが付加されている。ここで従来、ニューラルネットワークは、重みとバイアスや層数の変更についての明確な示唆はない。
【０００８】
特にニューラルネットワークの電力消費は、層ごとの異なる演算量によって変動するため、消費電力により層数が外部から解析され、電力解析攻撃の対象となるおそれがある。
【０００９】
本発明は、このような従来の問題を解決するためになされ、ニューラルネットワークの電力消費を平準化することで外部からの電力解析を防ぎ、電力解析攻撃への対策を施すことを解決課題としている。
【課題を解決するための手段】
【００１０】
（１）本発明は、外部からの信号を受ける入力層と、
前記信号に基づき演算を実行する複数の中間層と、
前記演算の結果を整形して外部に出力する出力層と、
を備えたニューラルネットワークのアーキテクチュアであって、
前記中間層の各層は、前記演算を実行する複数の演算部と、
前記演算部への入力を選択する入力マルチプレクサと、
前記演算部の演算結果を保持する出力レジスタと、を備え、
前記入力マルチプレクサは、前層の出力信号と前記出力レジスタの保持内容とのいずれか一方を選択することを特徴としている。
【００１１】
（２）本発明の一態様は、前記入力マルチプレクサが、前層の出力信号を選択すれば前記出力レジスタの保持内容を次層に出力信号として出力する。
【００１２】
（３）本発明の他の態様は、前記層の層番号を示し、
前記層番号を前記入力マルチプレクサと前記演算部とに通知する層番号カウンタをさらに備える。
【００１３】
（４）本発明のさらに他の態様は、並列の前記ニューラルネットワークの前記層数を合算したときの前記層の層番号を示し、
前記層番号を前記入力マルチプレクサと前記演算部とに通知する層番号カウンタをさらに備える。
【００１４】
（５）本発明のさらに他の態様は、前記各ニューラルネットワークへの入力と出力とを制御する入出力制御部をさらに備える。
【００１５】
（６）本発明のさらに他の態様は、前記層番号カウンタと前記出力レジスタとが同期動作する。
【００１６】
（７）本発明のさらに他の態様は、前記演算部への入力に対する重みとバイアスとを格納するパラメータメモリをさらに備え、
前記パラメータメモリの格納情報を調整することで前記重みと前記バイアスとが調整することができる。
【発明の効果】
【００１７】
本発明によれば、ニューラルネットワークの電力消費が平準化され、外部からの電力解析を防ぐことができる。この点で電力解析攻撃への対策が施される。
【図面の簡単な説明】
【００１８】
【図１】ニューラルネットワークの全体構成図。
【図２】実施例１に係る各層の構成図。
【図３】同  パーセプトロンの内部構成図。
【図４】図２のパイプライン動作図。
【図５】実施例２に係る各層の構成図。
【図６】同  各層の演算を並列にパイプライン化した場合の１パイプラインステージ毎の演算を示す動作図。
【図７】図５のパイプライン動作図。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態に係るニューラルネットワークのアーキテクチュアを説明する。ここでは図１に示すニューラルネットワーク１への前記アーキテクチュアの適用例を説明する。
【００２０】
このニューラルネットワーク１は、外部からの信号を受ける入力層（１層）と、入力された信号に基づき演算を実行する中間層（６層）と、演算の結果を整形して外部に出力する出力層（１層）とを備えている。以下、実施例１，２に基づき前記アーキテクチャの詳細を説明する。
【００２１】
≪実施例１≫
図２〜図４に基づき実施例１を説明する。ここではニューラルネットワーク１の各層には消費電力の平準化を図る構成が採用されている。
【００２２】
（１）各層の構成
図２に基づき実施例１に係るニューラルネットワーク１の各層の構成を説明する。図２中の２１−１〜２１−４は４段のパーセプトロン２１を示し、同２５−１〜２５−４はパーセプトロン２１−１〜２１−４への入力を選択する入力マルチプレクサ２５を示し、同２６はパーセプトロン２１−１〜２１−４の演算結果を保持する出力レジスタ２６を示し、各層は前記各構成２１，２５，２６を備えている。
【００２３】
この入力マルチプレクサ２５−１〜２５−４は、入力信号Ｐ−１〜Ｐ−４の入力値／前層の出力信号Ｑ−１〜Ｑ−４と出力レジスタ２６の保持内容とのいずれか一方を選択し、選択の結果をパーセプロン２１−１〜２１−４に入力する。このとき中間層および出力層は、前層の出力信号Ｑ−１〜Ｑ−４が入力マルチプレクサ２５−１〜２５−４に選択対象として入力される。
【００２４】
一方、入力層では外部からの入力信号Ｐ−１〜Ｐ−４が入力マルチプレクサ２５−１〜２５−４に選択対象として入力される。なお、図２は中間層の第１層を示し、入力層に入力された入力信号Ｐ−１〜Ｐ−４がそのまま出力されて入力マルチプレクサ２５−１〜２５−４に入力される状態を示している。
【００２５】
また、各層には連続する層番号が付与され、層番号カウンタ２７の値により何層目としての層番号が示されている。この層番号カウンタ２７は、層番号を入力マルチプレクサ２５−１〜２５−４とパーセプトロン２１−１〜２１−４とに通知する。
【００２６】
ここでは出力レジスタ２６と層番号カウンタ２７とが同じクロックを使用することで両者２６，２７が同時動作し、層毎の演算結果を出力レジスタ２６に保持することができる。また、出力レジスタ２６は、層番号カウンタ２７の値で示される層の演算結果を出力信号Ｑ−１〜Ｑ−４に出力する。このような図２の１層分がパイプラインの１ステージを構成し、層番号カウンタ２７をインクリメントすれば次の層番号となる。
【００２７】
そして、入力マルチプレクサ２５−１〜２５−４が入力信号Ｐ−１〜Ｐ−４の入力値／前層の出力信号Ｑ−１〜Ｑ−４を選択すれば、その内容がパーセプロン２１−１〜２１−４に入力され、出力レジスタ２６の保持内容は出力信号Ｑ−１〜Ｑ−４として出力される。この点でパイプラインが現ステージの結果を次ステージの入力とする動作と同じとなる。
【００２８】
一方、入力マルチプレクサ２５−１〜２５−４が出力レジスタ２６の保持内容を選択すれば該出力レジスタ２６の保持内容は、出力信号Ｑ−１〜Ｑ−４として出力されことなく、パーセプロン２１−１〜２１−４に入力される。その結果、各マルチプレクサ２５−１〜２５−４の選択の設定に応じて、パーセプトロン２１−１〜２１−４の演算結果の使用・不使用を制御することが可能となる。
【００２９】
（２）パーセプトロンの内部構成
図３に基づき各パーセプトロン２１−１〜２１−４の内部構成を説明する。図３中では代表して一つのパーセプトロン２１の内部構成を中心に示しているが、ニューラルネットワーク１内のすべてのパーセプトロン２１−１〜２１−４で同じ構成とする。
【００３０】
具体的には各層のパーセプトロン２１−１〜２１−４は、パラメータメモリ３１，乗算器３２，加算器３３，演算器３４を備える。すなわち、パーセプトロン２１−１〜２１−４の入力１〜４に対する重みとバイアスとは、固定値なため、パラメータメモリ３１に格納される。この入力１〜４は、入力マルチプレクサ２５−１〜２５−４の選択により入力されたものとする。
【００３１】
ここでは層番号カウンタ２７の値に応じてパラメータメモリ３１から該当する重みとバイアスとを取得することができる。取得された重みは乗算器３２に入力される一方、バイアスは加算器３３に入力され、演算器３４により入力値を計算し、計算結果を出力レジスタ２６に出力する。
【００３２】
このとき１層を１パイプラインステージとするため、層を増やす場合には層番号カウンタ２７の最大カウント値とパラメータメモリ３１の格納内容を追加することで対応することができる。なお、重みとバイアスの変更は、パラメータメモリ３１の格納内容を変更することで対応可能である。
【００３３】
（３）動作例
図４に基づきニューラルネットワーク１のパイプライン動作を説明する。図４中の出力信号Ｑ−１〜Ｑ−４は、パーセプトロン２１−１〜２１−４の演算結果を示している。また、層番号カウンタ２７の層番号「０」は入力層を示し、層番号「１〜６」は中間層の各層を示し、層番号「７」は出力層を示している。
【００３４】
・入力層のステージ
入力層のステージでは、三つのパーセプトロン２１−１〜２１−３を使用し、出力信号Ｑ−１〜Ｑ−３に入力信号Ｐ−１〜Ｐ−３の内容を出力する。
【００３５】
・中間層のステージ
中間層のステージを「第１層〜第３層（層番号１〜３）」と「第４槽および第５層（層番号４，５）」と「第６層（層番号６）」とに大別して説明する。
【００３６】
（Ａ）まず「第１層〜第３層」のステージでは、４つのパーセプトロン２１−１〜２１−４を使用する。この第１層の入力マルチプレクサ２５−１〜２５−４は、入力層の出力信号Ｑ−１〜Ｑ−４をパーセプトロン２１−１〜２１−４の入力に選択する。この入力に基づくパーセプトロン２１−１〜２１−４の演算結果が、出力信号Ｑ−１〜Ｑ−４として第２層に出力される。
【００３７】
また、第２層の入力マルチプレクサ２５−１〜２５−４は、第１層の出力信号Ｑ−１〜Ｑ−４をパーセプトロン２１−１〜２１−４の入力に選択する。この入力に基づくパーセプトロン２１−１〜２１−４の演算結果が、出力信号Ｑ−１〜Ｑ−４として第３層に出力される。
【００３８】
さらに第３層の入力マルチプレクサ２５−１〜２５−４は、第２層の出力信号Ｑ−１〜Ｑ−４をパーセプトロン２１−１〜２１−４の入力に選択する。この入力に基づくパーセプトロン２１−１〜２１−４の演算結果が、出力信号Ｑ−１〜Ｑ−４として第４層に出力される。
【００３９】
（Ｂ）つぎに「第４槽および第５層」のステージでは、三つのパーセプトロン２１−１〜２１−３を使用する。この第４槽の入力マルチプレクサ２５−１〜２５−３は、第３層の出力信号Ｑ−１〜Ｑ−４をパーセプトロン２１−１〜２１−３の入力に選択する。この入力に基づくパーセプトロン２１−１〜２１−３の演算結果が、出力信号Ｑ−１〜Ｑ−３として第５層に出力される。
【００４０】
同様に第５層の入力マルチプレクサ２５−１〜２５−３は、第４層の出力信号Ｑ−１〜Ｑ−４をパーセプトロン２１−１〜２１−３の入力に選択する。この入力に基づくパーセプトロン２１−１〜２１−３の演算結果が、出力信号Ｑ−１〜Ｑ−３として第６層に出力される。
【００４１】
一方、第４槽および第５層の入力マルチプレクサ２５−４は、出力レジスタ２６の保持内容をパーセプトロン２１−４の入力に選択する。このときパーセプトロン２１−４の演算結果は出力されないものの、演算は実行される。これにより４つのパーセプトロン２１−１〜２１−４を使用する第１層〜第３層のステージと同等の演算量となり、電力消費も同等となる。
【００４２】
（Ｃ）「第６層」のステージでは、２つのパーセプトロン２１−１，２１−２を使用する。ここでは入力マルチプレクサ２５−１，２５−２は、第５層の出力信号Ｑ−１〜Ｑ−３をパーセプトロン２１−１，２１−２の入力に選択する。この入力に基づくパーセプトロン２１−１，２１−２の演算結果が、出力信号Ｑ−１，Ｑ−２として出力層に出力される。
【００４３】
一方、入力マルチプレクサ２５−３，２５−４は、出力レジスタ２６の保持内容をパーセプトロン２１−３，２１−４の入力に選択する。このときパーセプトロン２１−３，２１−４の演算結果は出力されないものの、演算は実行される。
【００４４】
これにより４つのパーセプトロン２１−１〜２１−４を使用する第１層〜第３層のステージと同等の演算量となり、電力消費も同等となる。その結果、中間層の各層で電力消費が平準化され、外部からの電力解析が困難となる。この点で電力解析攻撃による内部動作の情報漏えいを対策できる。
【００４５】
・出力ステージ
出力ステージでは、パーセプトロン２１−１を使用し、出力信号Ｑ−１にニューラルネットワーク全体の演算結果を出力する。すなわち、入力マルチプレクサ２５−１は、第６層の出力信号Ｑ−１，Ｑ−２をパーセプトロン２１−１の入力に選択する。
【００４６】
この入力信号に基づくパーセプトロン２１−１の演算結果をニューラルネットワーク全体の演算結果として出力する。このとき出力信号Ｑ−１が出力層の内容であることを後段の回路やソフトウェアに通知するため、出力信号Ｑ−４に任意の識別用のパターンを出力する。
【００４７】
一方、入力マルチプレクサ２５−２〜２５−４は、出力レジスタ２６の保持内容をパーセプトロン２１−２〜２５−４の入力に選択する。このときパーセプトロン２１−２〜２１−４の演算結果は出力されないものの、演算は実行される。これにより４つのパーセプトロン２１−１〜２１−４を使用する第１層〜第３層のステージと同等の演算量となり、電力消費も同等となる。
【００４８】
このように中間層だけでなく、パイプラインの各ステージ（入力層〜出力層のステージ）において電力消費を同等に平準化できるため、外部からの電力解析を困難とし、内部動作の情報漏洩を対策でき、ニューラルネットワーク１のセキュリティが向上する。
【００４９】
また、パイプライン動作は、周期的に動作し続けるため、パイプライン段数で実現するニューラルネットワークの層数の外部からの推測を困難とし、この点でも電力解析攻撃と同様に内部動作の情報漏えいが対策される。
【００５０】
≪実施例２≫
図５〜図７に基づき実施例２を説明する。ここではニューラルネットワークのセキュリティ向上と併せて消費電力の削減を図る。
【００５１】
すなわち、ニューラルネットワーク内のパーセプロンの各入力には入力信号に対して重みとバイアスが付与されている。一般的なニューラルネットワークは、入力層・出力層に比べて演算を行う中間層のパーセプトロン数が多く、消費電流が増加する傾向がある。
【００５２】
例えば演算処理速度の向上を図るため、２つの入力に対して並列してニューラルネットワークの演算を行おうとすれば、電流消費のピーク値は２倍になってしまう。特に電源供給を蓄電池に依存している電子機器、例えば遠方監視装置やマンホール型アンテナなどにニューラルネットワークを適用する場合に消費電力の削減が問題となる。そこで、実施例２では複数のニューラルネットワークの演算を実施した場合における消費電力の削減を図っている。
【００５３】
（１）各層の構成例
図５に基づき実施例２に係るニューラルネットワーク１の各層の構成を説明する。この実施例２では、各層のパーセプトロン２１数を複数のニューラルネットワーク１を並列動作させたときに必要となる最大の個数に設定する。
【００５４】
ここでは図６に示す並列動作を考慮して各層は、最大数を６つのパーセプロン２１を備えている。この６つのパーセプロン２１は、図５中のパーセプロン２１−１〜２１−６として示されている。
【００５５】
そして、各層はパーセプロン２１−１〜２１−６への入力を選択する入力マルチプレクサ２５−１〜２５−６と、パーセプロン２１−１〜２１−６の演算結果を保持する出力レジスタ２６と、並列動作のニューラルネットワークの入力と演算結果の出力を制御する入出力制御部２８とを備えている。
【００５６】
また、各層には並列ニューラルネットワークを合算したときに何層目を表す連続番号が付与され、層番号カウンタの値により層番号が示されている。この層番号カウンタ２７は、実施例１と同様に層番号を入力マルチプレクサ２５−１〜２５−６とパーセプトロン２１−１〜２１−６とに通知する。
【００５７】
ここでは層番号カウンタ２７は、２つのニューラルネットワークを並列動作させた際、先発動作を開始したネットワークに対する次の入力までインクリメントされ、その後にカウント「０」に戻って再開される。なお、各構成２１，２５，２６の詳細および動作内容などは実施例１と同様とする。
【００５８】
（２）動作例
図６および図７に基づきニューラルネットワーク１を並列動作させたときのパイプライン処理を説明する。図７中の出力信号Ｑ−１〜Ｑ−６は、パーセプトロン２１−１〜２１−６の演算結果を示している。
【００５９】
また、先発ネットワークＡは先に処理が開始されるニューラルネットワーク１を示し、後発ネットワークＢは先発ネットワークＡの後に続いて処理が開始されるニューラルネットワーク１を示している。以下、層番号カウンタ２７の示す層番号のステージ毎に説明する。
【００６０】
・層番号「０」
層番号「０」のステージでは、実施例１の入力層のステージと同じく、３つのパーセプトロン２１−１〜２１−３を使用し、出力信号Ｑ−１〜Ｑ−３に入力信号Ｐ−１〜Ｐ−３の演算結果を出力する。この入力信号Ｐ−１〜Ｐ−３の入力は、先発ネットワークＡへの入力となっている。
【００６１】
・層番号「１〜３」
層番号「１〜３」のステージでは、４つのパーセプトロン２１−１〜２１−４を使用し、出力信号Ｑ−１〜Ｑ−４にパーセプトロン２１−１〜２１−４の演算結果を出力する。
【００６２】
・層番号「４」
層番号「４」のステージでは、３つのパーセプトロン２１−１〜２１−３を使用し、出力信号Ｑ−１〜Ｑ−３にパーセプトロン２１−１〜２１−３の演算結果を出力する。
【００６３】
・層番号「５」
層番号「５」のステージでは、６つのパーセプトロン２１−１〜２１−６のすべてを使用する。ここでは図６および図７に示すように、先発ネットワークＡの中間層に対する演算に３つのパーセプトロン２１−１〜２１−３が使用され、出力信号Ｑ−１〜Ｑ−３にパーセプトロン２１−１〜２１−３の演算結果を出力する。
【００６４】
また、入出力制御部２８により後発ネットワークＢの入力が行われ、入力信号Ｐ−４〜Ｐ−６が３つのパーセプトロン２１−４〜２１−６に入力される。これにより後発ネットワークＢの動作が開始され、ニューラルネットワークＡ，Ｂの並列動作が始まる。ここではパーセプトロン２１−４〜２１−６は、出力信号Ｑ−４〜Ｑ−６に入力信号Ｐ−４〜Ｐ−６の演算結果を出力するものとする。
【００６５】
・層番号「６」
層番号「６」のステージでも、６つのパーセプトロン２１−１〜２１−６のすべてを使用する。すなわち、先発ネットワークＡの演算にパーセプトロン２１−１，２１−２を使用する一方、後発ネットワークＢの演算にパーセプトロン２６−３〜２６−６を使用する。このパーセプトロン２１−１〜２１−６の入出力は、入出力制御部２８により制御されている。
【００６６】
・層番号「７」〜「９」
層番号「７」のステージでは、５つのパーセプトロン２１−１，２１−３〜２１−６を使用する。このパーセプトロン２１−１は、入出力制御部２８の制御により出力信号Ｑ−１に先発ネットワークＡの全体としての演算結果を出力する。
【００６７】
また、層番号「７」〜「９」のステージにおいて、入出力制御部２８はパーセプトロン２１−３〜２１−６に後発ネットワークＢの演算を随時実施させる。その後、層番号が「９」〜「０」に切り替わる際、入出力制御部２８の制御により先発ネットワークＡの入力が行われるため、ネットワークＡ，Ｂの２度目の並列動作が開始される。
【００６８】
すなわち、パーセプトロン２１−１〜２１−３に先発ネットワークＡの入力が行われる一方、パーセプトロン２１−４〜２１−６で後発ネットワークＢの演算が行われる。
【００６９】
この２度目以降の並列動作時のネットワークＡ，Ｂに対する入出力制御部２８の制御を説明すれば、図６および図７に示すように、ネットワークＡについては層番号「０」のときに入力が行われる一方、層番号「６」のときに全体の演算結果が出力され、層番号「１〜５」の間で演算が実施される。
【００７０】
また、後発ネットワークＢについては、層番号「５」のときに入力が行われる一方、層番号「２」のときに全体の演算結果が出力され、層番号「６〜１」の間で演算が実施される。ただし、１回目の演算開始後は、層番号「２」であっても演算は出力されない。
【００７１】
このようなネットワークＡ，Ｂの並列動作を周期的に続行することにより、１パイプラインステージの演算に必要なパーセプトロン２１数を抑えながら並列動作が可能となる。その結果、実施例１の効果のほかに以下の効果が得られる。
（ａ）２つのネットワークＡ，Ｂの演算を実施した場合でも最大のパーセプロン２１数を抑制することで消費電力が低減される。
（ｂ）ネットワークＡ，Ｂの演算を並列動作させることで該ネットワークＡ，Ｂの演算結果を得られる時間が短縮される。この意味でも消費電力の低減化を図ることができる。
【００７２】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えばパーセプロン２１・マルチプレクサ２５は、実施例１，２の個数に限定されず、任意に変更可能である。特に実施例２は、ニューラルネットワークＡ，Ｂの並列動作時の最大必要数を用意すればよく、並列状態の変更に応じて可変とする。
【符号の説明】
【００７３】
１，Ａ，Ｂ…ニューラルネットワーク
２１…パーセプトロン
２２…ニューロン
２５…入力マルチプレクサ
２６…出力レジスタ
２７…層番号カウンタ
２８…入出力制御部
３１…パラメータメモリ
３２…乗算器
３３…加算器
３４…演算器
【図１】
2020030620.tif 000003
【図２】
2020030620.tif 000004
【図３】
2020030620.tif 000005
【図４】
2020030620.tif 000006
【図５】
2020030620.tif 000007
【図６】
2020030620.tif 000008
【図７】
2020030620.tif 000009