(57)【要約】【課題】ニューラルネットワークの段数（層数）を変更する場合に、構成の大掛かりな変更を必要としなくする。【解決手段】アナログ積和演算を行う少なくとも１つのニューロンコア部１０と、前記ニューロンコア部１０へ重み値を供給する重み値供給コントロール部３０と、を具備するニューラルネットワークの演算装置である。このニューラルネットワークの演算装置は、前記ニューロンコア部１０のアナログ積和演算のタイミングに同期して前記重み値供給コントロール部３０から重み値を供給する制御を行うと共に、前記データ出力端子から前記アナログ積和演算毎に出力されるデータを直列なデータとして及び／または並列なデータとして処理する制御処理装置４０による制御処理を受ける。【選択図】図２
2020197922.tif 000002
【特許請求の範囲】
【請求項１】
データ入力端子とデータ出力端子と重み値入力端子と有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づきアナログ積和演算を行う少なくとも１つのニューロンコア部と、
前記重み値入力端子に接続され、重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、
を具備するニューラルネットワークの演算装置であって、
前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記アナログ積和演算毎に出力されるデータを直列なデータとして及び／または並列なデータとして処理する制御処理装置による制御処理を受けることを特徴とするニューラルネットワークの演算装置。
【請求項２】
少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部を具備し、
前記制御処理装置により、前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングが制御されることを特徴とする請求項１に記載のニューラルネットワークの演算装置。
【請求項３】
前記重み値供給コントロール部は、それぞれ重み値を保持する複数の第一のレジスタと、この複数のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するための第一のセレクタとを具備することを特徴とする請求項１または２に記載のニューラルネットワークの演算装置。
【請求項４】
前記データ保持供給コントロール部は、データを保持するための少なくとも１つの第二のレジスタと、この第二のレジスタを選択して保持されたデータを前記データ入力端子へ与える経路を開閉するための第二のセレクタとを具備することを特徴とする請求項２に記載のニューラルネットワークの演算装置。
【請求項５】
データ入力端子とデータ出力端子と重み値入力端子と有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づきアナログ積和演算を行う少なくとも１つのニューロンコア部と、
前記重み値入力端子に接続され、重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、
前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記アナログ積和演算毎に出力されるデータを直列なデータとして及び／または並列なデータとして処理する制御処理装置と、
を具備することを特徴とするニューラルネットワーク。
【請求項６】
少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部を具備し、
前記制御処理装置は、前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングを制御することを特徴とする請求項５に記載のニューラルネットワーク。
【請求項７】
前記重み値供給コントロール部は、それぞれ重み値を保持する複数の第一のレジスタと、この複数の第一のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するためのセレクタとを具備することを特徴とする請求項６に記載のニューラルネットワーク。
【請求項８】
前記データ保持供給コントロール部は、データを保持するための少なくとも１つの第二のレジスタと、この第二のレジスタのいずれかを選択して保持されたデータを前記データ入力端子へ与える経路を開閉するためのセレクタとを具備することを特徴とする請求項６または７に記載のニューラルネットワーク。
【請求項９】
制御処理装置は、当該ニューラルネットワークを統括制御する主制御装置と、
前記主制御装置の指示に基づき前記ニューロンコア部、前記重み値供給コントロール部、前記データ保持供給コントロール部を直接制御する従属制御部により構成され、
前記主制御装置から、前記重み値供給コントロール部へ重み値を、前記データ保持供給コントロール部へデータを設定可能であることを特徴とする請求項６乃至８のいずれか１項に記載のニューラルネットワーク。
【請求項１０】
前記主制御装置から、前記重み値供給コントロール部に設定された重み値を、前記データ保持供給コントロール部に設定されたデータを参照可能であることを特徴とする請求項９に記載のニューラルネットワーク。
【請求項１１】
前記データ保持供給コントロール部に設定されたデータと前記データ出力端子からの出力データを比較し、比較結果に基づき前記主制御装置へ通知を行うことを特徴とする請求項６乃至１０のいずれか１項に記載のニューラルネットワーク。
【請求項１２】
データ入力端子とデータ出力端子と重み値入力端子と有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づきアナログ積和演算を行う少なくとも１つのニューロンコア部と、
前記重み値入力端子に接続され、重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、
少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部と、
を具備するニューラルネットワークの制御方法において、
前記重み値供給コントロール部から重み値を供給する制御を行い、
前記データ出力端子から前記アナログ積和演算毎に出力されるデータを直列なデータとして及び／または並列なデータとして処理する
ことを特徴とするニューラルネットワークの制御方法。
【請求項１３】
前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングを制御することを特徴とする請求項１２に記載のニューラルネットワークの制御方法。
【請求項１４】
前記重み値供給コントロール部に設定されたデータと重み値と前記データ保持供給コントロール部に設定されたデータとを参照することを特徴とする請求項１２または１３に記載のニューラルネットワークの制御方法。
【請求項１５】
前記データ保持供給コントロール部に設定されたデータと前記データ出力端子からの出力データを比較し、比較結果に基づき当該ニューラルネットワークの状態を制御することを特徴とする請求項１２乃至１４のいずれか１項に記載のニューラルネットワークの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ニューラルネットワークの演算装置、ニューラルネットワーク、更には、ニューラルネットワークの制御方法に関するものである。
【背景技術】
【０００２】
従来の３並列演算を行うニューラルネットワークは、例えば図１Ａに示されるように構成されている。つまり、ニューロンコア部１−０、１−１、１−２と、３つの記憶装置２−０、２−１、２−２と、主制御装置３とにより構成される。ニューロンコア部１−０、１−１、１−２は、データ入力端子Ｘに到来する入力データｘと重み値入力端子Ｗに到来する重み値ｗとに基づきｙ＝ｆ（ｘ，ｗ）で表わされる関数のアナログ演算を行い、データ出力端子Ｙから出力データｙを出力する。なお、本明細書と図面では、ニューロンコア部に入力される入力データｘの値がｘｎ(ｎ＝０、１、２、３、・・・）である場合に、入力データｘ（ｘｎ）や入力データｘｎ、値ｘｎなどと記載する。また、ニューロンコア部に入力される重み値ｗの値がｗｎ（ｎ＝０、１、２、３、・・・）である場合に、重み値ｗ（ｗｎ）や重み値ｗｎ、値ｗｎなどと記載する。また、ニューロンコア部から出力される出力データｙの値がｙｎ（ｎ＝０、１、２、３、・・・）である場合に、出力データｙ（ｙｎ）や出力データｙｎ、ｙｎなどと記載する。また、出力データｙが次段のニューロンコア部の入力データｘｎとして用いられる中間結果値である場合に、中間結果値ｘｎ（出力データｙｎ）や中間結果値ｘｎ（ｙｎ）や中間結果値ｘｎ、値ｘｎ（ｙｎ）などと記載する。更に、出力データｙがこのニューラルネットワークの最終結果である場合に、結果値ｘｎ（ｙｎ）や結果値ｘｎなどと記載する。
【０００３】
上記の演算のために、主制御装置３が記憶装置２−０、２−１、２−２へ所要の重み値ｗ０〜ｗ２を設定し、この記憶装置２−０、２−１、２−２重み値ｗ０〜ｗ２をそれぞれニューロンコア部１−０、１−１、１−２へ供給されるようにしておく。この状態でニューロンコア部１−０へ前段装置０から入力データｘ０が供給されるように主制御装置３が制御を行い、ニューロンコア部１−１へ前段装置１から入力データｘ１が供給されるように主制御装置３が制御を行い、ニューロンコア部１−２へ前段装置２から入力データｘ２が供給されるように主制御装置３が制御を行う。
【０００４】
以上により、ニューロンコア部１−０のデータ出力端子Ｙ０からは演算時間ｔの経過後に出力データｙ０が出力され、ニューロンコア部１−１のデータ出力端子Ｙ１からは演算時間ｔの経過後に出力データｙ１が出力され、ニューロンコア部１−２のデータ出力端子Ｙ２からは演算時間ｔの経過後に出力データｙ２が出力される。この構成によると、並列数の増減には、ニューロンコア部と記憶装置の増減が必須であり、構成の大掛かりな変更を伴うものである。
【０００５】
また、従来の３直列演算を行うニューラルネットワークは、例えば図１Ｂに示されるように構成されている。ニューロンコア部１−０、１−１、１−２が縦続接続されており、各ニューロンコア部１−０、１−１、１−２には、主制御装置３の制御下において記憶装置２−０、２−１、２−２から重み値ｗ０〜ｗ２がそれぞれ供給される。
【０００６】
前段装置００からニューロンコア部１−０のデータ入力端子Ｘへ入力データｘ０が与えられ、ニューロンコア部１−０では入力データｘ０と重み値ｗ０とを用いた演算が行われて演算時間ｔを経てデータ出力端子Ｙから出力データｙ０が出力される。この出力データｙ０は、次段のニューロンコア部１−１に対する中間結果値ｘ１（出力データｙ０）として用いられる。ニューロンコア部１−１にとっては、そのデータ入力端子Ｘへ与えられる上記中間結果値ｘ１（出力データｙ０）が入力データｘ１である。
【０００７】
ニューロンコア部１−１では入力データｘ１と重み値ｗ１とを用いた演算が行われて演算時間ｔを経てデータ出力端子Ｙから出力データｙ１が出力される。この出力データｙ１は、次段のニューロンコア部１−２に対する中間結果値ｘ２（出力データｙ１）として用いられる。ニューロンコア部１−２にとっては、そのデータ入力端子Ｘへ与えられる上記中間結果値ｘ２（出力データｙ１）が入力データｘ２である。
【０００８】
ニューロンコア部１−２では入力データｘ２と重み値ｗ２とを用いた演算が行われて演算時間ｔを経てデータ出力端子Ｙから出力データｙ３が出力される。出力データｙ３は、このニューラルネットワークの結果値ｘ３である。この結果値ｘ３は３直列演算を行う当該ニューラルネットワークから出力されて次段のニューラルネットワークである後段装置０３へ与えられる。この構成によると、直列数の増減には、ニューロンコア部と記憶装置の増減が必須であり、構成の大掛かりな変更を伴うものである。また、中間結果値をモニタリングする場合には、信号本数が膨大となる。
【０００９】
非特許文献１には、ディープラーニングの基本単位としての３段のニューラルネットワークが開示されている。このニューラルネットワークとしては、乗算アキュームレータのようなディジタルまたはアナログ演算に焦点を当てた場合に、完全ディジタルタイプ、アナログ・ディジタル混合タイプ、完全アナログタイプとなるものが提示され、この形態の功罪について研究がなされている。
【００１０】
特許文献１には、入力値とシナプス係数とのシナプス演算を行うシナプス演算回路を備え、この演算回路にシナプス係数メモリからシナプス係数を供給するように構成されたニューラルネットワークにおいて、第１比較器で微分非線形回路６から出力される学習係数を“０”と比較し、また、第２比較器で学習誤差演算回路から出力される学習誤差を“０”と比較し、学習係数または学習誤差のいずれか一方が“０”となり、第１比較器または第２比較器から信号が出力された場合、制御回路はシナプス係数更新回路の動作を停止することにより、無駄なシナプス係数の更新演算を省略し、その分、演算量を削減するとともに、それに伴ってシナプス係数メモリへのアクセス回数を削減するものが開示されている。
【００１１】
特許文献２には、入力層、中間層及び出力層を有するニューラルネットワーク装置が開示されている。各層を構成するニューロンは、入力信号をラッチする時分割入力用のレジスタと、所定の演算に用いる乗算値を−２のべき乗で表された乗算値として記憶する乗算値記憶手段と、を具備する。また、ニューロンは、前記レジスタおよび記憶手段を制御し、前記レジスタを用い前記演算に用いる入力信号を時分割で順次取り込むとともに、前記記憶手段から前記演算に用いる乗算値を演算タイミングにあわせて逐次出力させる制御手段を備える。更に、ニューロンは、順次取込まれる入力信号と、前記記憶手段から逐次出力される乗算値とを用い、前記演算を積和演算として逐次行なう積和演算手段とを含み、各ニューロン内における演算を、入力信号を時分割で順次取り込み、積和演算として逐次実行する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平９−１０１９４４号公報
【特許文献２】特開平６−２５９５８５号公報
【非特許文献】
【００１３】
【非特許文献１】Marukame T., Ueyoshi K., Asai T., Motomura M., Schmid A., Suzuki M., Higashi Y., and Mitani Y., "Error Tolerance Analysis of Deep Learning Hardware Using a Restricted Boltzmann Machine Toward Low-Power Memory Implementation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 64, NO. 4, APRIL−2017, P462-466
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明の実施形態では、ニューラルネットワークの段数（層数）を変更する場合に、構成の大掛かりな変更を必要としないニューラルネットワークの演算装置を提供する。
【課題を解決するための手段】
【００１５】
本実施形態に係るニューラルネットワークの演算装置は、データ入力端子とデータ出力端子と重み値入力端子と有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づきアナログ積和演算を行う少なくとも１つのニューロンコア部と、前記重み値入力端子に接続され、重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、を具備するニューラルネットワークの演算装置であって、前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記アナログ積和演算毎に出力されるデータを直列なデータとして及び／または並列なデータとして処理する制御処理装置による制御処理を受けることを特徴とする。
【図面の簡単な説明】
【００１６】
【図１Ａ】従来の３並列演算を行うニューラルネットワークの構成図。
【図１Ｂ】従来の３直列演算を行うニューラルネットワークの構成図。
【図２】本発明の第１の実施形態に係るニューラルネットワークの構成図。
【図３Ａ】本発明の第２の実施形態に係るニューラルネットワークの構成図。
【図３Ｂ】本発明の第２の実施形態に係るニューラルネットワークにおいて重み値がレジスタに設定される経過を示す図。
【図３Ｃ】本発明の第２の実施形態に係るニューラルネットワークにおいて第１回目の演算が実行されるまでの経過を示す図。
【図３Ｄ】本発明の第２の実施形態に係るニューラルネットワークにおいて第１回目の演算結果がレジスタに格納されるまでの経過を示す図。
【図３Ｅ】本発明の第２の実施形態に係るニューラルネットワークにおいて第２回目の演算が実行されるまでの経過を示す図。
【図３Ｆ】本発明の第２の実施形態に係るニューラルネットワークにおいて第２回目の演算結果がレジスタに格納されるまでの経過を示す図。
【図３Ｇ】本発明の第２の実施形態に係るニューラルネットワークにおいて第３回目の演算が実行されるまでの経過を示す図。
【図３Ｈ】本発明の第２の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第３回目の演算が実行されるまでの経過を表形式で示す図。
【図４Ａ】本発明の第３の実施形態に係るニューラルネットワークの構成図。
【図４Ｂ】本発明の第３の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第３回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。
【図５Ａ】本発明の第４の実施形態に係るニューラルネットワークの構成図。
【図５Ｂ】本発明の第４の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第３回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。
【図６Ａ】本発明の第５の実施形態に係るニューラルネットワークの構成図。
【図６Ｂ】本発明の第５の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第３回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。
【図７】本発明の第６の実施形態に係るニューラルネットワークの構成図。
【図８】本発明の第７の実施形態に係るニューラルネットワークの構成図。
【図９】本発明の第８の実施形態に係るニューラルネットワークの構成図。
【図９Ａ】本発明の第８の実施形態に係るニューラルネットワークの動作を示す図であり、比較装置からの通知が行われない場合の図。
【図９Ｂ】本発明の第８の実施形態に係るニューラルネットワークの動作を示す図であり、比較装置からの通知が行われる場合の図。
【図１０】本発明の第９の実施形態に係るニューラルネットワークの構成図。
【発明を実施するための形態】
【００１７】
以下添付図面を参照して、本発明の実施形態を説明する。各図において同一の構成要素には、同一の符号を付して重複する説明を省略する。
【００１８】
以下の各実施形態において、主制御装置４１を除く構成は、ニューラルネットワークの演算装置を構成する。また、ニューラルネットワークは、少なくとも１つのニューロンコア部１０を備え、これに必要な重み値供給コントロール部３０、制御処理装置４０を備える構成を採用することができる。更に、ニューラルネットワークは、少なくとも１つのニューロンコア部１０を備え、これに必要な重み値供給コントロール部３０、データ保持供給コントロール部５０、制御処理装置４０を備える構成を採用することができる。図２には、第１の実施形態に係るニューラルネットワークの構成図が示されている。この実施形態は、３並列のニューラルネットワークを示すものである。
【００１９】
この実施形態では−１つのニューロンコア部１０を備える。ニューロンコア部１０は、データ入力端子Ｘとデータ出力端子Ｙと重み値入力端子Ｗと有し、上記データ入力端子Ｘから到来する入力データｘと上記重み値入力端子Ｗから到来する重み値ｗとに基づきアナログ積和演算を行う。この重み値ｗは、後に述べる重み値ｗ０、ｗ１、ｗ２のいずれかである。データ入力端子Ｘは第１のインタフェース８１に接続され、入力データｘは第１のインタフェース８１を介して到来する。このニューロンコア部１０においてはアナログ積和演算を行って、演算結果をデータ出力端子Ｙから出力データｙとして出力する。このアナログ積和演算は関数をｆとしてｙ＝ｆ（ｘ，ｗ）で表わされる。また、出力データｙは第２のインタフェース８２を介して送出される。
【００２０】
重み値入力端子Ｗには、重み値供給コントロール部３０を構成するセレクタ３１とレジスタ３２−０、３２−１、３２−２が接続され、この重み値供給コントロール部３０から重み値が供給される。即ち、重み値供給コントロール部３０は、それぞれ重み値ｗ０、ｗ１、ｗ２を保持する複数のレジスタ３２−０、３２−１、３２−２と、この複数のレジスタ３２−０、３２−１、３２−２のいずれかを選択して重み値ｗとして上記重み値入力端子Ｗへ与える経路を開閉するためのセレクタ３１とを具備する。
【００２１】
重み値供給コントロール部３０には、制御処理装置４０が接続されている。制御処理装置４０は、従属制御部４２と主制御装置４１により構成される。主制御装置４１は、当該ニューラルネットワークを統括制御するものであり、コンピュータなどにより構成することができる。また、従属制御部４２は、上記主制御装置４１の指示に基づき上記ニューロンコア部１０、上記重み値供給コントロール部３０を直接制御するインタフェースであり、コントローラ、シーケンサ、コマンドレジスタの機能を有する。従って、上記主制御装置４１からニューラルネットワークとして、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を実行する指示と必要なデータが従属制御部４２へ与えられると、従属制御部４２は、このニューラルネットワークとしての処理が行われる期間は、上記主制御装置４１が介在することなく、最終演算結果を得ることが可能であるように処理動作を行う。従属制御部４２は、レジスタ３２−０、３２−１、３２−２に重み値ｗ０、ｗ１、ｗ２をセットするときに、制御信号線Ｃ０、Ｃ１、Ｃ２を介してレジスタ３２−０、３２−１、３２−２に対しデータ（重み値）を受け入れ状態とさせるための制御信号を送る制御を行う。また、従属制御部４２は、制御信号線Ｃ３を介してセレクタ３１に制御信号を送ってレジスタ３２−０、３２−１、３２−２のいずれかから重み値を選択してニューロンコア部１０の重み値入力端子Ｗへ到るように制御を行う。
【００２２】
以上のように構成されたニューラルネットワークでは、入力データｘが、第１のインタフェース８１を介してニューロンコア部１０のデータ入力端子Ｘへ到来する前に、主制御装置４１の制御の下でレジスタ３２−０、３２−１、３２−２へ所要の重み値ｗ０、ｗ１、ｗ２をセットしておく。入力データｘがニューロンコア部１０のデータ入力端子Ｘへ到来し、ニューロンコア部１０のアナログ積和演算のタイミングとなると、制御処理装置４０がこのタイミングに同期して上記重み値供給コントロール部３０から重み値ｗ（ｗ０、ｗ１、ｗ２）を供給する制御を行う。
【００２３】
即ち、第１回目のアナログ積和演算のタイミングではセレクタ３１を制御してレジスタ３２−０から重み値ｗ０が送られるように制御を行い、第２回目のアナログ積和演算のタイミングではセレクタ３１を制御してレジスタ３２−１から重み値ｗ１が送られるように制御を行い、第３回目のアナログ積和演算のタイミングではセレクタ３１を制御してレジスタ３２−２から重み値ｗ０が送られるように制御を行う。
【００２４】
制御処理装置４０は、上記制御と共に、上記データ出力端子Ｙから上記アナログ積和演算毎の出力データを直列な出力データとして及び／または並列な出力データとして処理する。本実施形態では、３つの並列な出力データとして処理するため、上記第１回目の演算により得られた出力データｙ０、上記第２回目の演算により得られた出力データｙ１、上記第３回目の演算により得られた出力データｙ２について、それぞれの演算後のタイミングで出力データｙとして取り出す。即ち、時分割で３つの出力データｙ０、ｙ１、ｙ２を得る処理を行い、第２のインタフェース８２に接続されている図示しない例えば３つの経路へ時分割の順で送出する。本実施形態によれば、並列で３つの出力データｙ０、ｙ１、ｙ２を得るまでに時間を要するものの、３つのニューロンコア部１０を用いる必要がなく構成を簡素化できるものである。
【００２５】
次に、３直列接続（縦続接続）により実現される第２の実施形態に係るニューラルネットワークを説明する。本実施形態は、図３Ａに示されるように、第１の実施形態の構成に対し、更にデータ保持供給コントロール部５０としてレジスタ（記憶装置）５１−０とセレクタ５２を設け、このレジスタ５１−０からニューロンコア部１０のデータ入力端子Ｘへデータを供給するようにしたものである。このセレクタ５２は、データを保持するための少なくとも１つのレジスタを選択して、レジスタに保持されたデータを上記データ入力端子Ｘへ与える経路を開閉するための構成である。本実施形態においても、制御処理装置４０は、上記制御と共に、上記データ出力端子Ｙから上記アナログ積和演算毎に出力される出力データｙを直列なデータとして及び／または並列なデータとして処理する。本実施形態では、直列なデータとして処理するため、例えば、レジスタ３２−０、３２−１、３２−２に保持された重み値ｗ０、ｗ１、ｗ２を用いた積和演算の出力データを取り出すことはなく、最終結果値が例えば次段に送られる。
【００２６】
レジスタ５１−０はニューロンコア部１０のデータ出力端子Ｙから出力データｙ（ｙ０、ｙ１）を得て保持する。この出力データｙ（ｙ０、ｙ１）の保持タイミング制御は、主制御装置４１の制御の下で従属制御部４２によって制御信号線Ｃ１０を介し。出力データを受け入れ状態とさせるための制御信号を送ることによって行われる。また、前段装置からラインＩを介して到来する入力データｘ０は、セレクタ５２を介してニューロンコア部１０のデータ入力端子Ｘへ最初の入力データｘとして入力される。セレクタ５２の制御は、主制御装置４１の制御下で従属制御部４２に制御信号線Ｃ４を介して行われる。制御信号線Ｃ４の制御信号により前段装置からラインＩを介して到来する入力データｘ０か、レジスタ５１−０に保持された中間結果値ｘ１、ｘ２かをセレクタ５２に選択させて出力することができる。即ち、制御処理装置４０により、上記データ保持供給コントロール部５０へのデータ保持のタイミング及び保持したデータを上記データ入力端子Ｘへ供給するタイミングが制御される。本実施形態では、従属制御部４２は、主制御装置４１の指示に基づき上記ニューロンコア部１０、上記重み値供給コントロール部３０、上記データ保持供給コントロール部５０を直接制御する。また、上記主制御装置４１からの制御により、上記重み値供給コントロール部３０へ重み値を、上記データ保持供給コントロール部５０へデータを、それぞれ設定可能である。
【００２７】
以上のように構成されたニューラルネットワークでは、ニューラルネットワークとしての動作を行う前に、図３Ｂの太線矢印により示されるように、レジスタ３２−０、３２−１、３２−２へそれぞれ重み値ｗ０、ｗ１、ｗ２のセットを行う。重み値ｗ０、ｗ１、ｗ２は主制御装置４１から与えられ、レジスタ３２−０、３２−１、３２−２へのセットは、主制御装置４１の制御下で従属制御部４２によって行われる。
【００２８】
次に、レジスタ３２−０から重み値ｗ０の供給及び前段装置からラインＩを介して到来する入力データｘ０を最初の入力データｘとしてニューロンコア部１０のデータ入力端子Ｘへの供給と制御は、図３Ｃに太線矢印により示されるように行われる。即ち、セレクタ３１が従属制御部４２により制御されてレジスタ３２−０が選択されて重み値ｗ０がニューロンコア部１０の重み値入力端子Ｗへ供給される。これと共に、セレクタ５２が従属制御部４２により制御されて前段装置からラインＩを介して到来する入力データｘ０が選択されて、ニューロンコア部１０のデータ入力端子Ｘへ供給される。
【００２９】
ニューロンコア部１０において演算時間ｔにより、上記データ入力端子Ｘから到来するデータｘ０と上記重み値入力端子Ｗから到来する重み値ｗ０とに基づきアナログ積和演算が行われる。時間ｔの経過後にニューロンコア部１０のデータ出力端子Ｙから出力データｙとして出力データｙ０が出力される。
【００３０】
次に、図３Ｄに太線矢印により示すようにニューロンコア部１０のデータ出力端子Ｙから出力された出力データｙ０が、従属制御部４２によりレジスタ５１−０への保持制御がなされることにより、レジスタ５１−０へ中間結果値ｘ１（出力データｙ（ｙ０））として保持される。
【００３１】
次にレジスタ３２−１から重み値ｗ１の供給及び上記でレジスタ５１−０に保持された中間結果値ｘ１のニューロンコア部１０への供給は、図３Ｅに太線矢印により示されるように行われる。即ち、セレクタ３１が従属制御部４２により制御されてレジスタ３２−１が選択されて重み値ｗ１がニューロンコア部１０の重み値入力端子Ｗへ供給される。これと共に、セレクタ５２が従属制御部４２により制御されてレジスタ５１−０から保持されている中間結果値ｘ１が選択されて入力データｘ１としてニューロンコア部１０のデータ入力端子Ｘへ供給される。
【００３２】
ニューロンコア部１０において演算時間ｔにより、上記データ入力端子Ｘへ記憶する到来する入力データｘ１と上記重み値入力端子Ｗから到来する重み値ｗ１とに基づきアナログ積和演算が行われる。時間ｔの経過後にニューロンコア部１０のデータ出力端子Ｙから出力データｙ１が出力される。
【００３３】
次に、図３Ｆに示すようにニューロンコア部１０のデータ出力端子Ｙから出力データｙとして出力データｙ１が出力され、従属制御部４２によりレジスタ５１−０への保持制御がなされることにより、レジスタ５１−０へ出力データｙ１が中間結果値ｘ２として保持される。
【００３４】
次に図３Ｇに太線矢印で示されるように、レジスタ３２−２から重み値ｗ２の供給及び上記で保持された中間結果値ｘ２が入力データｘ（ｘ２）としてニューロンコア部１０のデータ入力端子Ｘへの供給が行われる。即ち、セレクタ３１が従属制御部４２により制御されてレジスタ３２−２が選択されて重み値ｗ２がニューロンコア部１０の重み値入力端子Ｗへ供給される。これと共に、セレクタ５２が従属制御部４２により制御されてレジスタ５１−０に保持されている中間結果値ｘ２が選択されてニューロンコア部１０のデータ入力端子Ｘへ入力データｘ２として供給される。
【００３５】
ニューロンコア部１０において演算時間ｔにより、上記データ入力端子Ｘへ到来するデータｘ２と上記重み値入力端子Ｗから到来する重み値ｗ２とに基づきアナログ積和演算が行われる。時間ｔの経過後にニューロンコア部１０のデータ出力端子Ｙから出力データｙ２が出力される。
【００３６】
以上の図３Ｂから図３Ｇまでの各図により説明した動作を表にまとめると、図３Ｈの如くなる。即ち、図３Ｈ「予め」の欄に記載の動作が図３Ｂに示されており、ステップＳ１、Ｓ２の欄に記載の動作が図３Ｃに示されており、ステップＳ３の欄に記載の動作が図３Ｄに示されている。更に、ステップＳ４、Ｓ５の欄に記載の動作が図３Ｅに示されており、ステップＳ６の欄に記載の動作が図３Ｆに示されている。更に、ステップＳ７、Ｓ８の欄に記載の動作が図３Ｇに示されている。
【００３７】
次に、３直列接続（縦続接続）により実現される第３の実施形態に係るニューラルネットワークを説明する。本実施形態は、図４Ａに示されるように、第２の実施形態の構成に対し、更にデータ保持供給コントロール部５０にレジスタ（記憶装置）５１−０以外に新たなレジスタ（記憶装置）５１−１を設け、このレジスタ５１−１からもニューロンコア部１０のデータ入力端子Ｘへデータを供給できるようにしたものである。本実施形態では、２つのレジスタ５１−０、５１−１が設けられており、この２つのレジスタへ図３Ａで既述した機能と同じ機能（出力データを受け入れ状態とさせる）を有する制御信号を制御信号線Ｃ１０、Ｃ１１を介して送ることにより２つのレジスタ５１−０、５１−１に対する制御がなされる。更に、本実施形態では、レジスタ５１−０、５１−１から、これらレジスタ５１−０、５１−１に保持されているデータ（中間結果値）を、従属制御部４２を介して主制御装置４１が読み出せるようにし、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てるものである。このように、主制御装置４１から上記データ保持供給コントロール部５０に設定されたデータを参照可能である。また、全ての実施形態において、主制御装置４１から上記重み値供給コントロール部３０に設定された重み値を参照可能である。
【００３８】
本実施形態に係るニューラルネットワークの動作は、基本的に第２の実施形態に係るニューラルネットワークの動作と基本的に同じであり、中間結果値を保持させるレジスタが２つになり、且つこの２つのレジスタの内容を主制御装置４１が読み出せるようになった点で異なる。また、セレクタ５２Ａの制御は、主制御装置４１の制御下で従属制御部４２に制御信号線Ｃ５を介して行われる。制御信号線Ｃ５の制御信号により前段装置からラインＩを介して到来する入力データｘ０か、レジスタ５１−０に保持された中間結果値ｘ１かレジスタ５１−１に保持された中間結果値ｘ２かをセレクタ５２Ａに選択させて出力することができる。このため、本実施形態に係るニューラルネットワークの動作を、第２の実施形態に係るニューラルネットワークの動作を記述した図３Ｈと同様の表にして図４Ｂに示す。
【００３９】
図４Ｂにおいて注目すべきは、ステップＳ１２において中間結果値ｘ１（ｙ０）を得た場合に、この中間結果値ｘ１（ｙ０）をレジスタ５１−０に記憶させている（ステップＳ１３）。そして、次のステップＳ１４においては、このレジスタ５１−０を選択して、保持されているｘ１（ｙ０）をニューロンコア部１０のデータ入力端子Ｘへ与えるように動作するものである。
【００４０】
次に、図４Ｂにおいて注目すべきは、ステップＳ１５において中間結果値ｘ２（ｙ１）を得た場合に、この中間結果値ｘ２（ｙ１）をレジスタ５１−１に記憶させている（ステップＳ１６）。そして、次のステップＳ１７においては、このレジスタ５１−１を選択して、保持されている中間結果値ｘ２（ｙ１）をニューロンコア部１０のデータ入力端子Ｘへ入力データｘ２として与えるように動作するものである。
【００４１】
上記のステップＳ１３以降においては、レジスタ５１−０において保持されている中間結果値ｘ１（ｙ０）を、従属制御部４２を介して主制御装置４１が読み出せるので、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てることができる。また、上記のステップＳ１６以降においては、レジスタ５１−１において保持されている中間結果値ｘ２（ｙ１）を、従属制御部４２を介して主制御装置４１が読み出せるので、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てることができる。
【００４２】
次に、３直列接続（縦続接続）により実現される第４の実施形態に係るニューラルネットワークを説明する。本実施形態は、図５Ａに示されるように、第３の実施形態の構成に対し、更にデータ保持供給コントロール部５０においてレジスタ（記憶装置）５１−０、５１−１以外に新たなレジスタ（記憶装置）５１−２、５１−３を設け、これらのレジスタ５１−０、５１−１、５１−２、５１−３のいずれにも前段装置からラインＩを介して到来する初期時の入力データｘ０を入力データｘとしてセットすることができるようする。更に、レジスタ５１−０、５１−１、５１−２、５１−３のいずれにもニューロンコア部１０のデータ出力端子Ｙから出力された出力データ。ｙを供給して保持させることができるようにし、且つレジスタ５１−０、５１−１、５１−２、５１−３のいずれに保持されている出力データｙをモニタ可能にしたものである、図５Ａ、図６Ａ、図７の実施形態では４つのレジスタ５１−０、５１−１、５１−２、５１−３が設けられており、この４つのレジスタへ図３Ａで既述した機能と同じ機能（出力データを受け入れ状態とさせる）を有する制御信号を制御信号線Ｃ１０、Ｃ１１、Ｃ１２、Ｃ１３を介して送ることにより４つの、ジスタ５１−０、５１−１、５１−２、５１−３に対する制御がなされる。また、セレクタ５２Ｂの制御は、主制御装置４１の制御下で従属制御部４２に制御信号線Ｃ６を介して行われる。制御信号線Ｃ６の制御信号により前段装置からラインＩを介して到来する入力データｘ０がレジスタ５１−０に保持された入力データｘ０か、レジスタ５１−１に保持された中間結果値ｘ１か、レジスタ５１−２に保持された中間結果値ｘ２かをセレクタ５２Ｂに選択させて出力することができる。セレクタ５２Ｂによって、レジスタ５１−３にセットされたデータを選択して出力することもできるが、図５Ａ、図６Ａ、図７の実施形態ではこのような使い方は採用していない。
【００４３】
本実施形態に係るニューラルネットワークの動作を、図５Ｂに示す。本実施形態では、図５Ｂに記載の通り、ニューロンコア部１０による演算が開始される前のステップＳ２０において、レジスタ５１−０に例えば前段からラインＩを介して到来する入力データｘ０を保持させ、ステップＳ２１においてセレクタ５２Ｂを制御してレジスタ５１−０を選択し、セレクタ３１を制御してレジスタ３２−０の重み値ｗ０を選択して演算中となり、ステップＳ２２においてニューロンコア部１０で積和演算によって中間結果値である出力データｙ０を得て、ステップＳ２３においてレジスタ５１−１に上記出力データｙ０を中間結果値ｘ１として保持させる。この時点で、演算に使用されたｘ０がレジスタ５１−０に保持され、ニューロンコア部１０の積和演算によって得られた出力データｙ０が中間結果値ｘ１としてレジスタ５１−１に保持されて、これらレジスタ５１−０、５１−１の内容を主制御装置４１から参照可能となる。
【００４４】
次のステップＳ２４においてセレクタ５２Ｂを制御してレジスタ５１−１を選択し、セレクタ３１を制御してレジスタ３２−１の重み値ｗ１を選択して演算中となり、ステップＳ２５においてニューロンコア部１０で積和演算によって出力データｙ１を得て、ステップＳ２６においてレジスタ５１−２に上記出力データｙ１を中間結果値ｘ２として保持させる。この時点で、最初の演算に使用された入力データｘ０がレジスタ５１−０に保持され、最初の積和演算によって得られた出力データｙ０が中間結果値ｘ１としてレジスタ５１−１に保持され、２度目の積和演算によって得られた出力データｙ１が中間結果値ｘ２としてレジスタ５１−２に保持されて、これら５１−０、５１−１、５１−２の内容を主制御装置４１から参照可能となる。
【００４５】
次のステップＳ２７においてセレクタ５２Ｂを制御してレジスタ５１−２を選択し、セレクタ３１を制御してレジスタ３２−２の重み値ｗ２を選択して演算中となり、ステップＳ２８においてニューロンコア部１０で積和演算によって出力データｙ２を得て、ステップＳ２９においてレジスタ５１−３に上記出力データｙ２（ｘ３）を保持させる。この時点で、最初の演算に使用された入力データｘ０がレジスタ５１−０に保持され、最初の積和演算によって得られた出力データｙ０が中間結果値ｘ１としてレジスタ５１−１に保持され、２度目の積和演算によって得られた出力データｙ１が中間結果値ｘ２としてレジスタ５１−２に保持されて、３度目の積和演算によって得られた出力データｙ２（ｘ３）がレジスタ５１−３に保持されて、これらを主制御装置４１から参照可能となる。
【００４６】
次に、３直列接続（縦続接続）により実現される第５の実施形態に係るニューラルネットワークを説明する。本実施形態は、図６Ａに太線矢印で示されるように、第４の実施形態の構成（図５Ａ）に対し、レジスタ（記憶装置）５１−０へ主制御装置４１から初期時の入力データｘ０をセットすることができるように構成されている。ラインＩを介して到来する入力データｘ０についても、レジスタ（記憶装置）５１−０へセット可能である。この本実施形態の構成は、本発明の全ての実施形態において採用することができる。
【００４７】
この第５の実施形態に係るニューラルネットワークの動作は図６Ｂに示されるようである。本実施形態では、図６Ｂに記載の通り、ニューロンコア部１０による演算が開始される前のステップ３０において、主制御装置４１から従属制御部４２を介してレジスタ５１−０に入力データｘ０を保持させる。これ以降のステップＳ２１〜Ｓ２９は、図５Ｂを用いて動作説明した第４の実施形態と同様であるので、その説明を省略する。
【００４８】
図７に、第６の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第４の実施形態の構成において、前段からラインＩを介して到来する入力データｘ０をレジスタ５１−０にセットする前に主制御装置４１が従属制御部４２を介して参照できる構成を備える（図７に太線矢印により示す）。この構成は、他の全ての実施形態において採用するようにしても良い。この構成により、前段の装置の出力の状態をレジスタ５１−０に保持させることなく素早く把握可能である。
【００４９】
また、この第６の実施形態に係るニューラルネットワークでは、ニューロンコア部１０による演算の結果（出力データｙ）をレジスタ５１−０〜５１−３などのデータ保持供給コントロール部５０へ保持させる前に、主制御装置４１が従属制御部４２を介して参照できる構成を採用している（図７に太線矢印により示す）。この構成は、直列接続（縦続接続）により実現される実施形態であれば採用することができる。この構成により、ニューロンコア部１０による演算の結果（出力データｙ）をデータ保持供給コントロール部５０に保持させることなく素早く把握可能である。
【００５０】
図８に、第７の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第６の実施形態のデータ保持供給コントロール部５０において２つのレジスタ５１−４、５１−５を増設したものである。即ち、図８、図９、図９Ａ、図９Ｂ、図１０の実施形態では６つのレジスタ５１−０、５１−１、５１−２、５１−３、５１−４、５１−５が設けられており、この６つのレジスタへ図３Ａで既述した機能と同じ機能（出力データを受け入れ状態とさせる）を有する制御信号を制御信号線Ｃ１０、Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１４、Ｃ１５を介して送ることにより６つのレジスタ５１−０、５１−１、５１−２、５１−３、５１−４、５１−５に対する制御がなされる。この実施形態は、例えば３並列接続のニューラルネットワークを実現することができる。ニューラルネットワークの演算処理を行う前に、主制御装置４１から従属制御部４２を介してレジスタ３２−０〜３２−２へ重み値ｗ０、ｗ１、ｗ２を格納し、また、主制御装置４１から従属制御部４２を介して演算すべき入力データｘ（ｘ０、ｘ１、ｘ２）をレジスタ５１−０〜５１−２へ格納しておく。勿論、例えば前段装置から入力ラインＩを介して３タイムスロットで到来する入力データｘ（ｘ０、ｘ１、ｘ２）をレジスタ５１−０〜５１−２へ格納しても良い。
【００５１】
主制御装置４１から従属制御部４２を介してセレクタ３１とセレクタ５２Ｃとを制御して、演算対象の入力データと重み値とを選択し、ニューロンコア部１０へ演算の制御を行って積和演算を開始させる。演算時間はｔであり、時刻ｔ１からの演算はｙ０＝ｆ（ｘ０，ｗ０）とし、時刻ｔ２からの演算はｙ１＝ｆ（ｘ１，ｗ１）とすることができ、時刻ｔ３からの演算はｙ２＝ｆ（ｘ２，ｗ２）とすることができる。また、セレクタ５２Ｃの制御は、主制御装置４１の制御下で従属制御部４２に制御信号線Ｃ６を介して行われる。図５Ａ、図６Ａ、図７の実施形態に準じた制御が行われるもので、図９、図９Ａ、図９Ｂ、図１０の実施形態でも同様である。
【００５２】
時刻ｔ１からの演算により得られた出力データｙ０は主制御装置４１の制御によりレジスタ５１‐３に格納され、時刻ｔ２からの演算により得られた出力データｙ１は主制御装置４１の制御によりレジスタ５１‐４に格納され、時刻ｔ３からの演算により得られた出力データｙ２は主制御装置４１の制御によりレジスタ５１‐５に格納されるものとすることができる。レジスタ５１−３、５１−４、５１‐５に格納された結果は従属制御部４２を介して主制御装置４１が読み出すことができる。勿論、レジスタ５１−０、５１−１、５１−２に格納されたデータについても、従属制御部４２を介して主制御装置４１が読み出すことができる。
【００５３】
なお、本実施形態に係るニューラルネットワークは、図８の構造から明らかな通り、セレクタ３１とセレクタ５２Ｃの制御によって、並列接続のニューラルネットワークとして動作する構成とすることができ、また、並列接続と直列接続が混在するニューラルネットワークとして動作する構成とすることができる。
【００５４】
図９に、第８の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第７の実施形態の構成に対し、比較装置７０を備えたものである。この比較装置７０は、上記データ保持供給コントロール部５０に設定されたデータのいずれかと上記データ出力端子Ｙからの出力データｙを比較し、比較結果に基づき上記主制御装置４１へ通知を行うものである。本実施形態では、データ保持供給コントロール部５０のレジスタ５１−０〜５１−５に格納されているデータｘ０〜ｘ５のいずれかを選択して比較装置７０における一方の入力端子へ与えるセレクタ７１が備えられている。本実施形態及び比較装置７０を用いる実施形態においては、例えば従属制御部４２などが、この比較及び通知の機能を有していればよく、比較装置７０や比較器が独立したハードウェアとして存在しなくともよい。
【００５５】
例えば、レジスタ５１−０〜５１−５中の或る１つのレジスタにニューロンコア部１０の出力データｙを格納した後に、主制御装置４１がスリープ状態や停止状態に移行した場合において、ニューロンコア部１０の出力データｙに変動が生じたときに比較装置７０から通知が行われるＷａｋｅＵｐ機能や割込み機能として用いることができる。
【００５６】
第８の実施形態に係るニューラルネットワークの動作説明を図９Ａと図９Ｂを用いて行う。この動作においては、データ保持供給コントロール部５０のレジスタ５１−０を用いる。図９Ａは、比較装置７０における比較の結果が一致であり、主制御装置４１へ演算結果が変動したことを示す通知が行われない場合の動作を太線矢印により示すものである。主制御装置４１の制御に基づいて従属制御部４２はレジスタ３２−０へ重み値ｗ０をセットする。次に、セレクタ５２Ｃを制御して入力ラインＩを介して到来する入力データｘ０を選択してニューロンコア部１０の入力端子Ｘへ導くと共に、セレクタ３１を制御してレジスタ３２−０に保持されている重み値ｗ０をニューロンコア部１０の重み値入力端子Ｗへ導く。
【００５７】
ニューロンコア部１０による積和演算が行われ、出力データｙ０が得られ、比較装置７０の一方の入力端子へ与えられると共に、レジスタ５１−０に対し制御が行われて上記出力データｙ０がレジスタ５１−０にセットされる。ここで、セレクタ７１が制御されてレジスタ５１−０が選択されて、比較装置７０の他方の入力端子へ与えられる。このとき、レジスタ５１−０にはデータｙ０がセットされているので、比較装置７０の２つの入力端子へ与えられるデータは共にｙ０であり一致し、比較装置７０からは主制御装置４１へ演算結果が変動したことを示す通知信号はず送られないことになる。
【００５８】
図９Ｂは、主制御装置４１へ演算結果が変動したことを示す通知が行われる場合の動作を太破線矢印により示すものである。図９Ａの最終状態から入力ラインＩを介して入力データｘ０αが到来すると、セレクタ５２Ｃが入力ラインＩを選択するように制御されているため、入力データｘ０αはニューロンコア部１０のデータ入力端子Ｘへ導かれる。ニューロンコア部１０では、この入力データｘ０αと重み値ｗ０による積和演算が行われ、出力データｙ０αが得られる。
【００５９】
上記出力データｙ０αは破線の矢印に示されるように比較装置７０の一方の入力端子に与えられ、先にデータｙ０を保持しているレジスタ５１−０が選択されて、比較装置７０の他方の入力端子へデータｙ０が与えられているため比較結果は不一致となり、比較装置７０からは、先の演算結果が変動したことを示す通知が主制御装置４１へ送られる。
【００６０】
図１０に、第９の実施形態に係るニューラルネットワークの構成図を示す。この実施形態に係るニューラルネットワークは、図９に示す第８の実施形態に係るニューラルネットワークと図面上において同一である。そして、第８の実施形態と同じく比較装置７０を用いて主制御装置４１へ通知を行う機能を備える。これ以外に、図８において説明した第７の実施形態に係るニューラルネットワークの機能を備えている。即ち、３並列接続のニューラルネットワークとして動作する機能、並列接続のニューラルネットワークとして動作する機能、また、並列接続と直列接続が混在するニューラルネットワークとして動作する機能を備える。また、レジスタ５１−０〜５１‐５に格納されたデータをラインＬ１０〜Ｌ１５と従属制御部４２を介して主制御装置４１が読み出すことができる機能も備えている。
【００６１】
本実施形態では、第６の実施形態に係るニューラルネットワークと同様に、前段からラインＩを介して到来する入力データｘ０をレジスタ５１−０にセットする前に主制御装置４１がラインＬ２１と従属制御部４２を介して参照できる構成を備える。また、ニューロンコア部１０による演算の結果である出力データｙをレジスタ５１−０〜５１−５などのデータ保持供給コントロール部５０へ保持させる前に、主制御装置４１がラインＬ２２と従属制御部４２を介して参照できる構成を有している。
【００６２】
また、第５の実施形態に係るニューラルネットワークと同様の機能を備える。例えば、ニューロンコア部１０による演算が開始される前において、主制御装置４１から従属制御部４２を介してレジスタ５１−０に入力データｘ０を保持させる。即ち、主制御装置４１からニューロンコア部１０による演算で用いる入力データｘ０を与える。
【００６３】
また、レジスタ５１−０〜５１−５のいずれにも前段装置からラインＩを介して到来する初期時の入力データｘ０をセットすることができるようすると共に、レジスタ５１−０〜５１−５のいずれにもニューロンコア部１０のデータ出力端子Ｙから出力された出力データｙを供給して保持させることができるように構成されている。
【００６４】
更に、重み値供給コントロール部３０のレジスタ３２−０、３２−１、３２−２に格納されている重み値ｗ（ｗ０、ｗ１、ｗ２）を、主制御装置４１がラインＬ３０〜Ｌ３２と従属制御部４２を介して参照できる構成を有している。
【００６５】
上記各実施形態において採用されている重み値ｗを保持するレジスタ（例えば３２−０〜３２−２）の数は３に限定されるものでなく、任意の数とすることができる。また、データを保持するための少なくとも１つのレジスタ（例えば、５１−０〜５０−５）の数についても制限はない。また、特許請求の範囲において「第一のレジスタ」はレジスタ３２−０〜３２−２に該当し、特許請求の範囲において「第一のセレクタ」はセレクタ３１に該当している。更に、特許請求の範囲において「第二のレジスタ」はレジスタ５１−０〜５１−５に該当し、特許請求の範囲において「第二のセレクタ」はセレクタ５２、５２Ａ、５２Ｂ、５２Ｃに該当している。また、セレクタ７１は、特許請求の範囲に現れないセレクタである。
【符号の説明】
【００６６】
１０  ニューロンコア部
３０  重み値供給コントロール部
３１  セレクタ
３２−０〜３２−２  レジスタ
４０  制御処理装置
４１  主制御装置
４２  従属制御部
５０  データ保持供給コントロール部
５１−０〜５１−５  レジスタ
５２、５２Ａ、５２Ｂ、５２Ｃ  セレクタ
７０  比較装置
７１  セレクタ
８１  第１のインタフェース
８２  第２のインタフェース
【図１Ａ】
2020197922.tif 000003
【図１Ｂ】
2020197922.tif 000004
【図２】
2020197922.tif 000005
【図３Ａ】
2020197922.tif 000006
【図３Ｂ】
2020197922.tif 000007
【図３Ｃ】
2020197922.tif 000008
【図３Ｄ】
2020197922.tif 000009
【図３Ｅ】
2020197922.tif 000010
【図３Ｆ】
2020197922.tif 000011
【図３Ｇ】
2020197922.tif 000012
【図３Ｈ】
2020197922.tif 000013
【図４Ａ】
2020197922.tif 000014
【図４Ｂ】
2020197922.tif 000015
【図５Ａ】
2020197922.tif 000016
【図５Ｂ】
2020197922.tif 000017
【図６Ａ】
2020197922.tif 000018
【図６Ｂ】
2020197922.tif 000019
【図７】
2020197922.tif 000020
【図８】
2020197922.tif 000021
【図９】
2020197922.tif 000022
【図９Ａ】
2020197922.tif 000023
【図９Ｂ】
2020197922.tif 000024
【図１０】
2020197922.tif 000025