JP7027371B2 - ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法 - Google Patents

ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法 Download PDF

Info

Publication number
JP7027371B2
JP7027371B2 JP2019103803A JP2019103803A JP7027371B2 JP 7027371 B2 JP7027371 B2 JP 7027371B2 JP 2019103803 A JP2019103803 A JP 2019103803A JP 2019103803 A JP2019103803 A JP 2019103803A JP 7027371 B2 JP7027371 B2 JP 7027371B2
Authority
JP
Japan
Prior art keywords
data
weight value
control unit
input terminal
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019103803A
Other languages
English (en)
Other versions
JP2020197922A (ja
Inventor
孝生 丸亀
和男 石川
順一 杉野
俊光 北村
豊 田村
功次 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Corp
Toshiba Information Systems Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Information Systems Japan Corp filed Critical Toshiba Corp
Priority to JP2019103803A priority Critical patent/JP7027371B2/ja
Priority to US16/891,079 priority patent/US20200380347A1/en
Publication of JP2020197922A publication Critical patent/JP2020197922A/ja
Application granted granted Critical
Publication of JP7027371B2 publication Critical patent/JP7027371B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4814Non-logic devices, e.g. operational amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Feedback Control In General (AREA)

Description

この発明は、ニューラルネットワークの演算装置、ニューラルネットワーク、更には、ニューラルネットワークの制御方法に関するものである。
従来の3並列演算を行うニューラルネットワークは、例えば図1Aに示されるように構成されている。つまり、ニューロンコア部1-0、1-1、1-2と、3つの記憶装置2-0、2-1、2-2と、主制御装置3とにより構成される。ニューロンコア部1-0、1-1、1-2は、データ入力端子Xに到来する入力データxと重み値入力端子Wに到来する重み値wとに基づきy=f(x,w)で表わされる関数のアナログ演算を行い、データ出力端子Yから出力データyを出力する。なお、本明細書と図面では、ニューロンコア部に入力される入力データxの値がxn(n=0、1、2、3、・・・)である場合に、入力データx(xn)や入力データxn、値xnなどと記載する。また、ニューロンコア部に入力される重み値wの値がwn(n=0、1、2、3、・・・)である場合に、重み値w(wn)や重み値wn、値wnなどと記載する。また、ニューロンコア部から出力される出力データyの値がyn(n=0、1、2、3、・・・)である場合に、出力データy(yn)や出力データyn、ynなどと記載する。また、出力データyが次段のニューロンコア部の入力データxnとして用いられる中間結果値である場合に、中間結果値xn(出力データyn)や中間結果値xn(yn)や中間結果値xn、値xn(yn)などと記載する。更に、出力データyがこのニューラルネットワークの最終結果である場合に、結果値xn(yn)や結果値xnなどと記載する。
上記の演算のために、主制御装置3が記憶装置2-0、2-1、2-2へ所要の重み値w0~w2を設定し、この記憶装置2-0、2-1、2-2重み値w0~w2をそれぞれニューロンコア部1-0、1-1、1-2へ供給されるようにしておく。この状態でニューロンコア部1-0へ前段装置0から入力データx0が供給されるように主制御装置3が制御を行い、ニューロンコア部1-1へ前段装置1から入力データx1が供給されるように主制御装置3が制御を行い、ニューロンコア部1-2へ前段装置2から入力データx2が供給されるように主制御装置3が制御を行う。
以上により、ニューロンコア部1-0のデータ出力端子Y0からは演算時間tの経過後に出力データy0が出力され、ニューロンコア部1-1のデータ出力端子Y1からは演算時間tの経過後に出力データy1が出力され、ニューロンコア部1-2のデータ出力端子Y2からは演算時間tの経過後に出力データy2が出力される。この構成によると、並列数の増減には、ニューロンコア部と記憶装置の増減が必須であり、構成の大掛かりな変更を伴うものである。
また、従来の3直列演算を行うニューラルネットワークは、例えば図1Bに示されるように構成されている。ニューロンコア部1-0、1-1、1-2が縦続接続されており、各ニューロンコア部1-0、1-1、1-2には、主制御装置3の制御下において記憶装置2-0、2-1、2-2から重み値w0~w2がそれぞれ供給される。
前段装置00からニューロンコア部1-0のデータ入力端子Xへ入力データx0が与えられ、ニューロンコア部1-0では入力データx0と重み値w0とを用いた演算が行われて演算時間tを経てデータ出力端子Yから出力データy0が出力される。この出力データy0は、次段のニューロンコア部1-1に対する中間結果値x1(出力データy0)として用いられる。ニューロンコア部1-1にとっては、そのデータ入力端子Xへ与えられる上記中間結果値x1(出力データy0)が入力データx1である。
ニューロンコア部1-1では入力データx1と重み値w1とを用いた演算が行われて演算時間tを経てデータ出力端子Yから出力データy1が出力される。この出力データy1は、次段のニューロンコア部1-2に対する中間結果値x2(出力データy1)として用いられる。ニューロンコア部1-2にとっては、そのデータ入力端子Xへ与えられる上記中間結果値x2(出力データy1)が入力データx2である。
ニューロンコア部1-2では入力データx2と重み値w2とを用いた演算が行われて演算時間tを経てデータ出力端子Yから出力データy3が出力される。出力データy3は、このニューラルネットワークの結果値x3である。この結果値x3は3直列演算を行う当該ニューラルネットワークから出力されて次段のニューラルネットワークである後段装置03へ与えられる。この構成によると、直列数の増減には、ニューロンコア部と記憶装置の増減が必須であり、構成の大掛かりな変更を伴うものである。また、中間結果値をモニタリングする場合には、信号本数が膨大となる。
非特許文献1には、ディープラーニングの基本単位としての3段のニューラルネットワークが開示されている。このニューラルネットワークとしては、乗算アキュームレータのようなディジタルまたはアナログ演算に焦点を当てた場合に、完全ディジタルタイプ、アナログ・ディジタル混合タイプ、完全アナログタイプとなるものが提示され、この形態の功罪について研究がなされている。
特許文献1には、入力値とシナプス係数とのシナプス演算を行うシナプス演算回路を備え、この演算回路にシナプス係数メモリからシナプス係数を供給するように構成されたニューラルネットワークにおいて、第1比較器で微分非線形回路6から出力される学習係数を“0”と比較し、また、第2比較器で学習誤差演算回路から出力される学習誤差を“0”と比較し、学習係数または学習誤差のいずれか一方が“0”となり、第1比較器または第2比較器から信号が出力された場合、制御回路はシナプス係数更新回路の動作を停止することにより、無駄なシナプス係数の更新演算を省略し、その分、演算量を削減するとともに、それに伴ってシナプス係数メモリへのアクセス回数を削減するものが開示されている。
特許文献2には、入力層、中間層及び出力層を有するニューラルネットワーク装置が開示されている。各層を構成するニューロンは、入力信号をラッチする時分割入力用のレジスタと、所定の演算に用いる乗算値を-2のべき乗で表された乗算値として記憶する乗算値記憶手段と、を具備する。また、ニューロンは、前記レジスタおよび記憶手段を制御し、前記レジスタを用い前記演算に用いる入力信号を時分割で順次取り込むとともに、前記記憶手段から前記演算に用いる乗算値を演算タイミングにあわせて逐次出力させる制御手段を備える。更に、ニューロンは、順次取込まれる入力信号と、前記記憶手段から逐次出力される乗算値とを用い、前記演算を積和演算として逐次行なう積和演算手段とを含み、各ニューロン内における演算を、入力信号を時分割で順次取り込み、積和演算として逐次実行する。
特開平9-101944号公報 特開平6-259585号公報
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
本発明の実施形態では、ニューラルネットワークの段数(層数)を変更する場合に、構成の大掛かりな変更を必要としないニューラルネットワークの演算装置を提供する。
本実施形態に係るニューラルネットワークの演算装置は、データ入力端子とデータ出力端子と重み値入力端子とを有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づき所定タイミングでアナログ積和演算を行う少なくとも1つのニューロンコア部と、前記重み値入力端子に接続され、該重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、を具備し、前記重み値供給コントロール部は、それぞれ重み値を保持する複数の第一のレジスタと、この複数の第一のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するための第一のセレクタとを備えており、前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記ニューロンコア部において前記所定タイミングで行われるアナログ積和演算毎に出力される連続所定回分のデータを得て、それぞれの演算後のタイミングで出力データとして取り出し次へ送るか、積和演算の出力データを取り出すことはなく、最終結果値を次へ送るか、を制御することにより、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を選択的に実行するニューラルネットワークを実現する制御処理装置による制御処理を受けることを特徴とする。

従来の3並列演算を行うニューラルネットワークの構成図。 従来の3直列演算を行うニューラルネットワークの構成図。 本発明の第1の実施形態に係るニューラルネットワークの構成図。 本発明の第2の実施形態に係るニューラルネットワークの構成図。 本発明の第2の実施形態に係るニューラルネットワークにおいて重み値がレジスタに設定される経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて第1回目の演算が実行されるまでの経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて第1回目の演算結果がレジスタに格納されるまでの経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて第2回目の演算が実行されるまでの経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて第2回目の演算結果がレジスタに格納されるまでの経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて第3回目の演算が実行されるまでの経過を示す図。 本発明の第2の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第3回目の演算が実行されるまでの経過を表形式で示す図。 本発明の第3の実施形態に係るニューラルネットワークの構成図。 本発明の第3の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第3回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。 本発明の第4の実施形態に係るニューラルネットワークの構成図。 本発明の第4の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第3回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。 本発明の第5の実施形態に係るニューラルネットワークの構成図。 本発明の第5の実施形態に係るニューラルネットワークにおいて、重み値がレジスタに設定されるときから第3回目の演算が実行され結果がレジスタへ格納されるまでの経過を表形式で示す図。 本発明の第6の実施形態に係るニューラルネットワークの構成図。 本発明の第7の実施形態に係るニューラルネットワークの構成図。 本発明の第8の実施形態に係るニューラルネットワークの構成図。 本発明の第8の実施形態に係るニューラルネットワークの動作を示す図であり、比較装置からの通知が行われない場合の図。 本発明の第8の実施形態に係るニューラルネットワークの動作を示す図であり、比較装置からの通知が行われる場合の図。 本発明の第9の実施形態に係るニューラルネットワークの構成図。
以下添付図面を参照して、本発明の実施形態を説明する。各図において同一の構成要素には、同一の符号を付して重複する説明を省略する。
以下の各実施形態において、主制御装置41を除く構成は、ニューラルネットワークの演算装置を構成する。また、ニューラルネットワークは、少なくとも1つのニューロンコア部10を備え、これに必要な重み値供給コントロール部30、制御処理装置40を備える構成を採用することができる。更に、ニューラルネットワークは、少なくとも1つのニューロンコア部10を備え、これに必要な重み値供給コントロール部30、データ保持供給コントロール部50、制御処理装置40を備える構成を採用することができる。図2には、第1の実施形態に係るニューラルネットワークの構成図が示されている。この実施形態は、3並列のニューラルネットワークを示すものである。
この実施形態では-1つのニューロンコア部10を備える。ニューロンコア部10は、データ入力端子Xとデータ出力端子Yと重み値入力端子Wと有し、上記データ入力端子Xから到来する入力データxと上記重み値入力端子Wから到来する重み値wとに基づきアナログ積和演算を行う。この重み値wは、後に述べる重み値w0、w1、w2のいずれかである。データ入力端子Xは第1のインタフェース81に接続され、入力データxは第1のインタフェース81を介して到来する。このニューロンコア部10においてはアナログ積和演算を行って、演算結果をデータ出力端子Yから出力データyとして出力する。このアナログ積和演算は関数をfとしてy=f(x,w)で表わされる。また、出力データyは第2のインタフェース82を介して送出される。
重み値入力端子Wには、重み値供給コントロール部30を構成するセレクタ31とレジスタ32-0、32-1、32-2が接続され、この重み値供給コントロール部30から重み値が供給される。即ち、重み値供給コントロール部30は、それぞれ重み値w0、w1、w2を保持する複数のレジスタ32-0、32-1、32-2と、この複数のレジスタ32-0、32-1、32-2のいずれかを選択して重み値wとして上記重み値入力端子Wへ与える経路を開閉するためのセレクタ31とを具備する。
重み値供給コントロール部30には、制御処理装置40が接続されている。制御処理装置40は、従属制御部42と主制御装置41により構成される。主制御装置41は、当該ニューラルネットワークを統括制御するものであり、コンピュータなどにより構成することができる。また、従属制御部42は、上記主制御装置41の指示に基づき上記ニューロンコア部10、上記重み値供給コントロール部30を直接制御するインタフェースであり、コントローラ、シーケンサ、コマンドレジスタの機能を有する。従って、上記主制御装置41からニューラルネットワークとして、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を実行する指示と必要なデータが従属制御部42へ与えられると、従属制御部42は、このニューラルネットワークとしての処理が行われる期間は、上記主制御装置41が介在することなく、最終演算結果を得ることが可能であるように処理動作を行う。従属制御部42は、レジスタ32-0、32-1、32-2に重み値w0、w1、w2をセットするときに、制御信号線C0、C1、C2を介してレジスタ32-0、32-1、32-2に対しデータ(重み値)を受け入れ状態とさせるための制御信号を送る制御を行う。また、従属制御部42は、制御信号線C3を介してセレクタ31に制御信号を送ってレジスタ32-0、32-1、32-2のいずれかから重み値を選択してニューロンコア部10の重み値入力端子Wへ到るように制御を行う。
以上のように構成されたニューラルネットワークでは、入力データxが、第1のインタフェース81を介してニューロンコア部10のデータ入力端子Xへ到来する前に、主制御装置41の制御の下でレジスタ32-0、32-1、32-2へ所要の重み値w0、w1、w2をセットしておく。入力データxがニューロンコア部10のデータ入力端子Xへ到来し、ニューロンコア部10のアナログ積和演算のタイミングとなると、制御処理装置40がこのタイミングに同期して上記重み値供給コントロール部30から重み値w(w0、w1、w2)を供給する制御を行う。
即ち、第1回目のアナログ積和演算のタイミングではセレクタ31を制御してレジスタ32-0から重み値w0が送られるように制御を行い、第2回目のアナログ積和演算のタイミングではセレクタ31を制御してレジスタ32-1から重み値w1が送られるように制御を行い、第3回目のアナログ積和演算のタイミングではセレクタ31を制御してレジスタ32-2から重み値w0が送られるように制御を行う。
制御処理装置40は、上記制御と共に、上記データ出力端子Yから上記アナログ積和演算毎の出力データを直列な出力データとして及び/または並列な出力データとして処理する。本実施形態では、3つの並列な出力データとして処理するため、上記第1回目の演算により得られた出力データy0、上記第2回目の演算により得られた出力データy1、上記第3回目の演算により得られた出力データy2について、それぞれの演算後のタイミングで出力データyとして取り出す。即ち、時分割で3つの出力データy0、y1、y2を得る処理を行い、第2のインタフェース82に接続されている図示しない例えば3つの経路へ時分割の順で送出する。本実施形態によれば、並列で3つの出力データy0、y1、y2を得るまでに時間を要するものの、3つのニューロンコア部10を用いる必要がなく構成を簡素化できるものである。
次に、3直列接続(縦続接続)により実現される第2の実施形態に係るニューラルネットワークを説明する。本実施形態は、図3Aに示されるように、第1の実施形態の構成に対し、更にデータ保持供給コントロール部50としてレジスタ(記憶装置)51-0とセレクタ52を設け、このレジスタ51-0からニューロンコア部10のデータ入力端子Xへデータを供給するようにしたものである。このセレクタ52は、データを保持するための少なくとも1つのレジスタを選択して、レジスタに保持されたデータを上記データ入力端子Xへ与える経路を開閉するための構成である。本実施形態においても、制御処理装置40は、上記制御と共に、上記データ出力端子Yから上記アナログ積和演算毎に出力される出力データyを直列なデータとして及び/または並列なデータとして処理する。本実施形態では、直列なデータとして処理するため、例えば、レジスタ32-0、32-1、32-2に保持された重み値w0、w1、w2を用いた積和演算の出力データを取り出すことはなく、最終結果値が例えば次段に送られる。
レジスタ51-0はニューロンコア部10のデータ出力端子Yから出力データy(y0、y1)を得て保持する。この出力データy(y0、y1)の保持タイミング制御は、主制御装置41の制御の下で従属制御部42によって制御信号線C10を介し。出力データを受け入れ状態とさせるための制御信号を送ることによって行われる。また、前段装置からラインIを介して到来する入力データx0は、セレクタ52を介してニューロンコア部10のデータ入力端子Xへ最初の入力データxとして入力される。セレクタ52の制御は、主制御装置41の制御下で従属制御部42に制御信号線C4を介して行われる。制御信号線C4の制御信号により前段装置からラインIを介して到来する入力データx0か、レジスタ51-0に保持された中間結果値x1、x2かをセレクタ52に選択させて出力することができる。即ち、制御処理装置40により、上記データ保持供給コントロール部50へのデータ保持のタイミング及び保持したデータを上記データ入力端子Xへ供給するタイミングが制御される。本実施形態では、従属制御部42は、主制御装置41の指示に基づき上記ニューロンコア部10、上記重み値供給コントロール部30、上記データ保持供給コントロール部50を直接制御する。また、上記主制御装置41からの制御により、上記重み値供給コントロール部30へ重み値を、上記データ保持供給コントロール部50へデータを、それぞれ設定可能である。
以上のように構成されたニューラルネットワークでは、ニューラルネットワークとしての動作を行う前に、図3Bの太線矢印により示されるように、レジスタ32-0、32-1、32-2へそれぞれ重み値w0、w1、w2のセットを行う。重み値w0、w1、w2は主制御装置41から与えられ、レジスタ32-0、32-1、32-2へのセットは、主制御装置41の制御下で従属制御部42によって行われる。
次に、レジスタ32-0から重み値w0の供給及び前段装置からラインIを介して到来する入力データx0を最初の入力データxとしてニューロンコア部10のデータ入力端子Xへの供給と制御は、図3Cに太線矢印により示されるように行われる。即ち、セレクタ31が従属制御部42により制御されてレジスタ32-0が選択されて重み値w0がニューロンコア部10の重み値入力端子Wへ供給される。これと共に、セレクタ52が従属制御部42により制御されて前段装置からラインIを介して到来する入力データx0が選択されて、ニューロンコア部10のデータ入力端子Xへ供給される。
ニューロンコア部10において演算時間tにより、上記データ入力端子Xから到来するデータx0と上記重み値入力端子Wから到来する重み値w0とに基づきアナログ積和演算が行われる。時間tの経過後にニューロンコア部10のデータ出力端子Yから出力データyとして出力データy0が出力される。
次に、図3Dに太線矢印により示すようにニューロンコア部10のデータ出力端子Yから出力された出力データy0が、従属制御部42によりレジスタ51-0への保持制御がなされることにより、レジスタ51-0へ中間結果値x1(出力データy(y0))として保持される。
次にレジスタ32-1から重み値w1の供給及び上記でレジスタ51-0に保持された中間結果値x1のニューロンコア部10への供給は、図3Eに太線矢印により示されるように行われる。即ち、セレクタ31が従属制御部42により制御されてレジスタ32-1が選択されて重み値w1がニューロンコア部10の重み値入力端子Wへ供給される。これと共に、セレクタ52が従属制御部42により制御されてレジスタ51-0から保持されている中間結果値x1が選択されて入力データx1としてニューロンコア部10のデータ入力端子Xへ供給される。
ニューロンコア部10において演算時間tにより、上記データ入力端子Xへ記憶する到来する入力データx1と上記重み値入力端子Wから到来する重み値w1とに基づきアナログ積和演算が行われる。時間tの経過後にニューロンコア部10のデータ出力端子Yから出力データy1が出力される。
次に、図3Fに示すようにニューロンコア部10のデータ出力端子Yから出力データyとして出力データy1が出力され、従属制御部42によりレジスタ51-0への保持制御がなされることにより、レジスタ51-0へ出力データy1が中間結果値x2として保持される。
次に図3Gに太線矢印で示されるように、レジスタ32-2から重み値w2の供給及び上記で保持された中間結果値x2が入力データx(x2)としてニューロンコア部10のデータ入力端子Xへの供給が行われる。即ち、セレクタ31が従属制御部42により制御されてレジスタ32-2が選択されて重み値w2がニューロンコア部10の重み値入力端子Wへ供給される。これと共に、セレクタ52が従属制御部42により制御されてレジスタ51-0に保持されている中間結果値x2が選択されてニューロンコア部10のデータ入力端子Xへ入力データx2として供給される。
ニューロンコア部10において演算時間tにより、上記データ入力端子Xへ到来するデータx2と上記重み値入力端子Wから到来する重み値w2とに基づきアナログ積和演算が行われる。時間tの経過後にニューロンコア部10のデータ出力端子Yから出力データy2が出力される。
以上の図3Bから図3Gまでの各図により説明した動作を表にまとめると、図3Hの如くなる。即ち、図3H「予め」の欄に記載の動作が図3Bに示されており、ステップS1、S2の欄に記載の動作が図3Cに示されており、ステップS3の欄に記載の動作が図3Dに示されている。更に、ステップS4、S5の欄に記載の動作が図3Eに示されており、ステップS6の欄に記載の動作が図3Fに示されている。更に、ステップS7、S8の欄に記載の動作が図3Gに示されている。
次に、3直列接続(縦続接続)により実現される第3の実施形態に係るニューラルネットワークを説明する。本実施形態は、図4Aに示されるように、第2の実施形態の構成に対し、更にデータ保持供給コントロール部50にレジスタ(記憶装置)51-0以外に新たなレジスタ(記憶装置)51-1を設け、このレジスタ51-1からもニューロンコア部10のデータ入力端子Xへデータを供給できるようにしたものである。本実施形態では、2つのレジスタ51-0、51-1が設けられており、この2つのレジスタへ図3Aで既述した機能と同じ機能(出力データを受け入れ状態とさせる)を有する制御信号を制御信号線C10、C11を介して送ることにより2つのレジスタ51-0、51-1に対する制御がなされる。更に、本実施形態では、レジスタ51-0、51-1から、これらレジスタ51-0、51-1に保持されているデータ(中間結果値)を、従属制御部42を介して主制御装置41が読み出せるようにし、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てるものである。このように、主制御装置41から上記データ保持供給コントロール部50に設定されたデータを参照可能である。また、全ての実施形態において、主制御装置41から上記重み値供給コントロール部30に設定された重み値を参照可能である。
本実施形態に係るニューラルネットワークの動作は、基本的に第2の実施形態に係るニューラルネットワークの動作と基本的に同じであり、中間結果値を保持させるレジスタが2つになり、且つこの2つのレジスタの内容を主制御装置41が読み出せるようになった点で異なる。また、セレクタ52Aの制御は、主制御装置41の制御下で従属制御部42に制御信号線C5を介して行われる。制御信号線C5の制御信号により前段装置からラインIを介して到来する入力データx0か、レジスタ51-0に保持された中間結果値x1かレジスタ51-1に保持された中間結果値x2かをセレクタ52Aに選択させて出力することができる。このため、本実施形態に係るニューラルネットワークの動作を、第2の実施形態に係るニューラルネットワークの動作を記述した図3Hと同様の表にして図4Bに示す。
図4Bにおいて注目すべきは、ステップS12において中間結果値x1(y0)を得た場合に、この中間結果値x1(y0)をレジスタ51-0に記憶させている(ステップS13)。そして、次のステップS14においては、このレジスタ51-0を選択して、保持されているx1(y0)をニューロンコア部10のデータ入力端子Xへ与えるように動作するものである。
次に、図4Bにおいて注目すべきは、ステップS15において中間結果値x2(y1)を得た場合に、この中間結果値x2(y1)をレジスタ51-1に記憶させている(ステップS16)。そして、次のステップS17においては、このレジスタ51-1を選択して、保持されている中間結果値x2(y1)をニューロンコア部10のデータ入力端子Xへ入力データx2として与えるように動作するものである。
上記のステップS13以降においては、レジスタ51-0において保持されている中間結果値x1(y0)を、従属制御部42を介して主制御装置41が読み出せるので、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てることができる。また、上記のステップS16以降においては、レジスタ51-1において保持されている中間結果値x2(y1)を、従属制御部42を介して主制御装置41が読み出せるので、ニューラルネットワークのデバック性能の向上や動作把握の促進に役立てることができる。
次に、3直列接続(縦続接続)により実現される第4の実施形態に係るニューラルネットワークを説明する。本実施形態は、図5Aに示されるように、第3の実施形態の構成に対し、更にデータ保持供給コントロール部50においてレジスタ(記憶装置)51-0、51-1以外に新たなレジスタ(記憶装置)51-2、51-3を設け、これらのレジスタ51-0、51-1、51-2、51-3のいずれにも前段装置からラインIを介して到来する初期時の入力データx0を入力データxとしてセットすることができるようする。更に、レジスタ51-0、51-1、51-2、51-3のいずれにもニューロンコア部10のデータ出力端子Yから出力された出力データ。yを供給して保持させることができるようにし、且つレジスタ51-0、51-1、51-2、51-3のいずれに保持されている出力データyをモニタ可能にしたものである、図5A、図6A、図7の実施形態では4つのレジスタ51-0、51-1、51-2、51-3が設けられており、この4つのレジスタへ図3Aで既述した機能と同じ機能(出力データを受け入れ状態とさせる)を有する制御信号を制御信号線C10、C11、C12、C13を介して送ることにより4つの、ジスタ51-0、51-1、51-2、51-3に対する制御がなされる。また、セレクタ52Bの制御は、主制御装置41の制御下で従属制御部42に制御信号線C6を介して行われる。制御信号線C6の制御信号により前段装置からラインIを介して到来する入力データx0がレジスタ51-0に保持された入力データx0か、レジスタ51-1に保持された中間結果値x1か、レジスタ51-2に保持された中間結果値x2かをセレクタ52Bに選択させて出力することができる。セレクタ52Bによって、レジスタ51-3にセットされたデータを選択して出力することもできるが、図5A、図6A、図7の実施形態ではこのような使い方は採用していない。
本実施形態に係るニューラルネットワークの動作を、図5Bに示す。本実施形態では、図5Bに記載の通り、ニューロンコア部10による演算が開始される前のステップS20において、レジスタ51-0に例えば前段からラインIを介して到来する入力データx0を保持させ、ステップS21においてセレクタ52Bを制御してレジスタ51-0を選択し、セレクタ31を制御してレジスタ32-0の重み値w0を選択して演算中となり、ステップS22においてニューロンコア部10で積和演算によって中間結果値である出力データy0を得て、ステップS23においてレジスタ51-1に上記出力データy0を中間結果値x1として保持させる。この時点で、演算に使用されたx0がレジスタ51-0に保持され、ニューロンコア部10の積和演算によって得られた出力データy0が中間結果値x1としてレジスタ51-1に保持されて、これらレジスタ51-0、51-1の内容を主制御装置41から参照可能となる。
次のステップS24においてセレクタ52Bを制御してレジスタ51-1を選択し、セレクタ31を制御してレジスタ32-1の重み値w1を選択して演算中となり、ステップS25においてニューロンコア部10で積和演算によって出力データy1を得て、ステップS26においてレジスタ51-2に上記出力データy1を中間結果値x2として保持させる。この時点で、最初の演算に使用された入力データx0がレジスタ51-0に保持され、最初の積和演算によって得られた出力データy0が中間結果値x1としてレジスタ51-1に保持され、2度目の積和演算によって得られた出力データy1が中間結果値x2としてレジスタ51-2に保持されて、これら51-0、51-1、51-2の内容を主制御装置41から参照可能となる。
次のステップS27においてセレクタ52Bを制御してレジスタ51-2を選択し、セレクタ31を制御してレジスタ32-2の重み値w2を選択して演算中となり、ステップS28においてニューロンコア部10で積和演算によって出力データy2を得て、ステップS29においてレジスタ51-3に上記出力データy2(x3)を保持させる。この時点で、最初の演算に使用された入力データx0がレジスタ51-0に保持され、最初の積和演算によって得られた出力データy0が中間結果値x1としてレジスタ51-1に保持され、2度目の積和演算によって得られた出力データy1が中間結果値x2としてレジスタ51-2に保持されて、3度目の積和演算によって得られた出力データy2(x3)がレジスタ51-3に保持されて、これらを主制御装置41から参照可能となる。
次に、3直列接続(縦続接続)により実現される第5の実施形態に係るニューラルネットワークを説明する。本実施形態は、図6Aに太線矢印で示されるように、第4の実施形態の構成(図5A)に対し、レジスタ(記憶装置)51-0へ主制御装置41から初期時の入力データx0をセットすることができるように構成されている。ラインIを介して到来する入力データx0についても、レジスタ(記憶装置)51-0へセット可能である。この本実施形態の構成は、本発明の全ての実施形態において採用することができる。
この第5の実施形態に係るニューラルネットワークの動作は図6Bに示されるようである。本実施形態では、図6Bに記載の通り、ニューロンコア部10による演算が開始される前のステップ30において、主制御装置41から従属制御部42を介してレジスタ51-0に入力データx0を保持させる。これ以降のステップS21~S29は、図5Bを用いて動作説明した第4の実施形態と同様であるので、その説明を省略する。
図7に、第6の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第4の実施形態の構成において、前段からラインIを介して到来する入力データx0をレジスタ51-0にセットする前に主制御装置41が従属制御部42を介して参照できる構成を備える(図7に太線矢印により示す)。この構成は、他の全ての実施形態において採用するようにしても良い。この構成により、前段の装置の出力の状態をレジスタ51-0に保持させることなく素早く把握可能である。
また、この第6の実施形態に係るニューラルネットワークでは、ニューロンコア部10による演算の結果(出力データy)をレジスタ51-0~51-3などのデータ保持供給コントロール部50へ保持させる前に、主制御装置41が従属制御部42を介して参照できる構成を採用している(図7に太線矢印により示す)。この構成は、直列接続(縦続接続)により実現される実施形態であれば採用することができる。この構成により、ニューロンコア部10による演算の結果(出力データy)をデータ保持供給コントロール部50に保持させることなく素早く把握可能である。
図8に、第7の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第6の実施形態のデータ保持供給コントロール部50において2つのレジスタ51-4、51-5を増設したものである。即ち、図8、図9、図9A、図9B、図10の実施形態では6つのレジスタ51-0、51-1、51-2、51-3、51-4、51-5が設けられており、この6つのレジスタへ図3Aで既述した機能と同じ機能(出力データを受け入れ状態とさせる)を有する制御信号を制御信号線C10、C11、C12、C13、C14、C15を介して送ることにより6つのレジスタ51-0、51-1、51-2、51-3、51-4、51-5に対する制御がなされる。この実施形態は、例えば3並列接続のニューラルネットワークを実現することができる。ニューラルネットワークの演算処理を行う前に、主制御装置41から従属制御部42を介してレジスタ32-0~32-2へ重み値w0、w1、w2を格納し、また、主制御装置41から従属制御部42を介して演算すべき入力データx(x0、x1、x2)をレジスタ51-0~51-2へ格納しておく。勿論、例えば前段装置から入力ラインIを介して3タイムスロットで到来する入力データx(x0、x1、x2)をレジスタ51-0~51-2へ格納しても良い。
主制御装置41から従属制御部42を介してセレクタ31とセレクタ52Cとを制御して、演算対象の入力データと重み値とを選択し、ニューロンコア部10へ演算の制御を行って積和演算を開始させる。演算時間はtであり、時刻t1からの演算はy0=f(x0,w0)とし、時刻t2からの演算はy1=f(x1,w1)とすることができ、時刻t3からの演算はy2=f(x2,w2)とすることができる。また、セレクタ52Cの制御は、主制御装置41の制御下で従属制御部42に制御信号線C6を介して行われる。図5A、図6A、図7の実施形態に準じた制御が行われるもので、図9、図9A、図9B、図10の実施形態でも同様である。
時刻t1からの演算により得られた出力データy0は主制御装置41の制御によりレジスタ51‐3に格納され、時刻t2からの演算により得られた出力データy1は主制御装置41の制御によりレジスタ51‐4に格納され、時刻t3からの演算により得られた出力データy2は主制御装置41の制御によりレジスタ51‐5に格納されるものとすることができる。レジスタ51-3、51-4、51‐5に格納された結果は従属制御部42を介して主制御装置41が読み出すことができる。勿論、レジスタ51-0、51-1、51-2に格納されたデータについても、従属制御部42を介して主制御装置41が読み出すことができる。
なお、本実施形態に係るニューラルネットワークは、図8の構造から明らかな通り、セレクタ31とセレクタ52Cの制御によって、並列接続のニューラルネットワークとして動作する構成とすることができ、また、並列接続と直列接続が混在するニューラルネットワークとして動作する構成とすることができる。
図9に、第8の実施形態に係るニューラルネットワークの構成図を示す。本実施形態では、第7の実施形態の構成に対し、比較装置70を備えたものである。この比較装置70は、上記データ保持供給コントロール部50に設定されたデータのいずれかと上記データ出力端子Yからの出力データyを比較し、比較結果に基づき上記主制御装置41へ通知を行うものである。本実施形態では、データ保持供給コントロール部50のレジスタ51-0~51-5に格納されているデータx0~x5のいずれかを選択して比較装置70における一方の入力端子へ与えるセレクタ71が備えられている。本実施形態及び比較装置70を用いる実施形態においては、例えば従属制御部42などが、この比較及び通知の機能を有していればよく、比較装置70や比較器が独立したハードウェアとして存在しなくともよい。
例えば、レジスタ51-0~51-5中の或る1つのレジスタにニューロンコア部10の出力データyを格納した後に、主制御装置41がスリープ状態や停止状態に移行した場合において、ニューロンコア部10の出力データyに変動が生じたときに比較装置70から通知が行われるWakeUp機能や割込み機能として用いることができる。
第8の実施形態に係るニューラルネットワークの動作説明を図9Aと図9Bを用いて行う。この動作においては、データ保持供給コントロール部50のレジスタ51-0を用いる。図9Aは、比較装置70における比較の結果が一致であり、主制御装置41へ演算結果が変動したことを示す通知が行われない場合の動作を太線矢印により示すものである。主制御装置41の制御に基づいて従属制御部42はレジスタ32-0へ重み値w0をセットする。次に、セレクタ52Cを制御して入力ラインIを介して到来する入力データx0を選択してニューロンコア部10の入力端子Xへ導くと共に、セレクタ31を制御してレジスタ32-0に保持されている重み値w0をニューロンコア部10の重み値入力端子Wへ導く。
ニューロンコア部10による積和演算が行われ、出力データy0が得られ、比較装置70の一方の入力端子へ与えられると共に、レジスタ51-0に対し制御が行われて上記出力データy0がレジスタ51-0にセットされる。ここで、セレクタ71が制御されてレジスタ51-0が選択されて、比較装置70の他方の入力端子へ与えられる。このとき、レジスタ51-0にはデータy0がセットされているので、比較装置70の2つの入力端子へ与えられるデータは共にy0であり一致し、比較装置70からは主制御装置41へ演算結果が変動したことを示す通知信号はず送られないことになる。
図9Bは、主制御装置41へ演算結果が変動したことを示す通知が行われる場合の動作を太破線矢印により示すものである。図9Aの最終状態から入力ラインIを介して入力データx0αが到来すると、セレクタ52Cが入力ラインIを選択するように制御されているため、入力データx0αはニューロンコア部10のデータ入力端子Xへ導かれる。ニューロンコア部10では、この入力データx0αと重み値w0による積和演算が行われ、出力データy0αが得られる。
上記出力データy0αは破線の矢印に示されるように比較装置70の一方の入力端子に与えられ、先にデータy0を保持しているレジスタ51-0が選択されて、比較装置70の他方の入力端子へデータy0が与えられているため比較結果は不一致となり、比較装置70からは、先の演算結果が変動したことを示す通知が主制御装置41へ送られる。
図10に、第9の実施形態に係るニューラルネットワークの構成図を示す。この実施形態に係るニューラルネットワークは、図9に示す第8の実施形態に係るニューラルネットワークと図面上において同一である。そして、第8の実施形態と同じく比較装置70を用いて主制御装置41へ通知を行う機能を備える。これ以外に、図8において説明した第7の実施形態に係るニューラルネットワークの機能を備えている。即ち、3並列接続のニューラルネットワークとして動作する機能、並列接続のニューラルネットワークとして動作する機能、また、並列接続と直列接続が混在するニューラルネットワークとして動作する機能を備える。また、レジスタ51-0~51‐5に格納されたデータをラインL10~L15と従属制御部42を介して主制御装置41が読み出すことができる機能も備えている。
本実施形態では、第6の実施形態に係るニューラルネットワークと同様に、前段からラインIを介して到来する入力データx0をレジスタ51-0にセットする前に主制御装置41がラインL21と従属制御部42を介して参照できる構成を備える。また、ニューロンコア部10による演算の結果である出力データyをレジスタ51-0~51-5などのデータ保持供給コントロール部50へ保持させる前に、主制御装置41がラインL22と従属制御部42を介して参照できる構成を有している。
また、第5の実施形態に係るニューラルネットワークと同様の機能を備える。例えば、ニューロンコア部10による演算が開始される前において、主制御装置41から従属制御部42を介してレジスタ51-0に入力データx0を保持させる。即ち、主制御装置41からニューロンコア部10による演算で用いる入力データx0を与える。
また、レジスタ51-0~51-5のいずれにも前段装置からラインIを介して到来する初期時の入力データx0をセットすることができるようすると共に、レジスタ51-0~51-5のいずれにもニューロンコア部10のデータ出力端子Yから出力された出力データyを供給して保持させることができるように構成されている。
更に、重み値供給コントロール部30のレジスタ32-0、32-1、32-2に格納されている重み値w(w0、w1、w2)を、主制御装置41がラインL30~L32と従属制御部42を介して参照できる構成を有している。
上記各実施形態において採用されている重み値wを保持するレジスタ(例えば32-0~32-2)の数は3に限定されるものでなく、任意の数とすることができる。また、データを保持するための少なくとも1つのレジスタ(例えば、51-0~50-5)の数についても制限はない。また、特許請求の範囲において「第一のレジスタ」はレジスタ32-0~32-2に該当し、特許請求の範囲において「第一のセレクタ」はセレクタ31に該当している。更に、特許請求の範囲において「第二のレジスタ」はレジスタ51-0~51-5に該当し、特許請求の範囲において「第二のセレクタ」はセレクタ52、52A、52B、52Cに該当している。また、セレクタ71は、特許請求の範囲に現れないセレクタである。
10 ニューロンコア部
30 重み値供給コントロール部
31 セレクタ
32-0~32-2 レジスタ
40 制御処理装置
41 主制御装置
42 従属制御部
50 データ保持供給コントロール部
51-0~51-5 レジスタ
52、52A、52B、52C セレクタ
70 比較装置
71 セレクタ
81 第1のインタフェース
82 第2のインタフェース

Claims (13)

  1. データ入力端子とデータ出力端子と重み値入力端子とを有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づき所定タイミングでアナログ積和演算を行う少なくとも1つのニューロンコア部と、
    前記重み値入力端子に接続され、該重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、
    を具備し、
    前記重み値供給コントロール部は、それぞれ重み値を保持する複数の第一のレジスタと、この複数の第一のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するための第一のセレクタとを備えており、
    前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記ニューロンコア部において前記所定タイミングで行われるアナログ積和演算毎に出力される連続所定回分のデータを得て、それぞれの演算後のタイミングで出力データとして取り出し次へ送るか、積和演算の出力データを取り出すことはなく、最終結果値を次へ送るか、を制御することにより、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を選択的に実行するニューラルネットワークを実現する制御処理装置による制御処理を受けることを特徴とするニューラルネットワークの演算装置。
  2. 少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部を具備し、
    前記制御処理装置により、前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングが制御されることを特徴とする請求項1に記載のニューラルネットワークの演算装置。
  3. 前記データ保持供給コントロール部は、データを保持するための少なくとも1つの第二のレジスタと、この第二のレジスタを選択して保持されたデータを前記データ入力端子へ与える経路を開閉するための第二のセレクタとを具備することを特徴とする請求項2に記載のニューラルネットワークの演算装置。
  4. データ入力端子とデータ出力端子と重み値入力端子とを有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づき所定タイミングでアナログ積和演算を行う少なくとも1つのニューロンコア部と、
    前記重み値入力端子に接続され、該重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部と、
    前記重み値供給コントロール部から重み値を供給する制御を行うと共に、前記データ出力端子から前記ニューロンコア部において前記所定タイミングで行われるアナログ積和演算毎に出力される連続所定回分のデータを得て、それぞれの演算後のタイミングで出力データとして取り出し次へ送るか、積和演算の出力データを取り出すことはなく、最終結果値を次へ送るか、を制御することにより、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を選択的に実行するニューラルネットワークを実現する制御処理装置と、
    を具備
    前記重み値供給コントロール部は、それぞれ重み値を保持する複数の第一のレジスタと、この複数の第一のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するための第一のセレクタとを具備することを特徴とするニューラルネットワーク。
  5. 少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部を具備し、
    前記制御処理装置は、前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングを制御することを特徴とする請求項に記載のニューラルネットワーク。
  6. 前記データ保持供給コントロール部は、データを保持するための少なくとも1つの第二のレジスタと、この第二のレジスタのいずれかを選択して保持されたデータを前記データ入力端子へ与える経路を開閉するためのセレクタとを具備することを特徴とする請求項に記載のニューラルネットワーク。
  7. 制御処理装置は、当該ニューラルネットワークを統括制御する主制御装置と、
    前記主制御装置の指示に基づき前記ニューロンコア部、前記重み値供給コントロール部、前記データ保持供給コントロール部を直接制御する従属制御部により構成され、
    前記主制御装置から、前記重み値供給コントロール部へ重み値を、前記データ保持供給コントロール部へデータを設定可能であることを特徴とする請求項5または6に記載のニューラルネットワーク。
  8. 前記主制御装置から、前記重み値供給コントロール部に設定された重み値を、前記データ保持供給コントロール部に設定されたデータを参照可能であることを特徴とする請求項に記載のニューラルネットワーク。
  9. 前記データ保持供給コントロール部に設定されたデータと前記データ出力端子からの出力データを比較し、比較結果に基づき前記主制御装置へ通知を行うことを特徴とする請求項7または8に記載のニューラルネットワーク。
  10. データ入力端子とデータ出力端子と重み値入力端子とを有し、前記データ入力端子から到来するデータと前記重み値入力端子から到来する重み値とに基づき所定タイミングでアナログ積和演算を行う少なくとも1つのニューロンコア部と、
    前記重み値入力端子に接続され、重み値入力端子から前記ニューロンコア部へ重み値を供給する重み値供給コントロール部であって、それぞれ重み値を保持する複数の第一のレジスタと、この複数の第一のレジスタのいずれかを選択して保持された重み値を前記重み値入力端子へ与える経路を開閉するための第一のセレクタとを備える重み値供給コントロール部と、
    少なくとも前記データ出力端子から出力されたデータを、前記データ入力端子へ供給可能に保持するデータ保持供給コントロール部と、
    を具備するニューラルネットワークの制御方法において、
    前記重み値供給コントロール部から重み値を供給する制御を行い、
    前記データ出力端子から前記ニューロンコア部において前記所定タイミングで行われるアナログ積和演算毎に出力される連続所定回分のデータを得て、それぞれの演算後のタイミングで出力データとして取り出し次へ送るか、積和演算の出力データを取り出すことはなく、最終結果値を次へ送るか、を制御することにより、幾つかの直列演算、幾つかの並列演算、幾つかの直列演算と幾つかの並列演算の混合演算を選択的に実行するニューラルネットワークを実現する
    ことを特徴とするニューラルネットワークの制御方法。
  11. 前記データ保持供給コントロール部へのデータ保持のタイミング及び保持したデータを前記データ入力端子へ供給するタイミングを制御することを特徴とする請求項10に記載のニューラルネットワークの制御方法。
  12. 前記重み値供給コントロール部に設定された重み値と前記データ保持供給コントロール部に設定されたデータとを参照することを特徴とする請求項10または11に記載のニューラルネットワークの制御方法。
  13. 前記データ保持供給コントロール部に設定されたデータと前記データ出力端子からの出力データを比較し、比較結果に基づき当該ニューラルネットワークの状態を制御することを特徴とする請求項11または12に記載のニューラルネットワークの制御方法。
JP2019103803A 2019-06-03 2019-06-03 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法 Active JP7027371B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019103803A JP7027371B2 (ja) 2019-06-03 2019-06-03 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法
US16/891,079 US20200380347A1 (en) 2019-06-03 2020-06-03 Neural network, method of control of neural network, and processor of neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019103803A JP7027371B2 (ja) 2019-06-03 2019-06-03 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法

Publications (2)

Publication Number Publication Date
JP2020197922A JP2020197922A (ja) 2020-12-10
JP7027371B2 true JP7027371B2 (ja) 2022-03-01

Family

ID=73551262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019103803A Active JP7027371B2 (ja) 2019-06-03 2019-06-03 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法

Country Status (2)

Country Link
US (1) US20200380347A1 (ja)
JP (1) JP7027371B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7132196B2 (ja) 2019-09-17 2022-09-06 株式会社東芝 処理装置および推論システム
JP2021111142A (ja) 2020-01-10 2021-08-02 株式会社東芝 演算装置
US11443091B1 (en) * 2020-07-31 2022-09-13 Xilinx, Inc. Data processing engines with cascade connected cores
JP7358312B2 (ja) 2020-08-25 2023-10-10 株式会社東芝 記憶装置およびニューラルネットワーク装置
JP7532284B2 (ja) 2021-02-24 2024-08-13 株式会社東芝 不揮発性メモリデバイス
CN114978842B (zh) * 2022-05-19 2023-05-02 西华大学 一种基于神经网络的二阶段ofdm系统的定时同步方法
CN116400597B (zh) * 2023-04-07 2023-10-24 盐城工学院 一种二阶神经网络的同步控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117900A (ja) 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ニューラルネットワーク演算装置
JP2018116469A (ja) 2017-01-18 2018-07-26 株式会社日立製作所 演算システムおよびニューラルネットワークの演算方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3804946A1 (de) * 1988-02-18 1989-08-31 Tetra Pak Rausing & Co Kg Verfahren und vorrichtung zum vereinzeln von ebenen teilen
EP0400147B1 (en) * 1988-08-31 1997-10-15 Fujitsu Limited Neurocomputer
JPH0440581A (ja) * 1990-06-06 1992-02-10 Matsushita Electric Ind Co Ltd ニューロプロセッサ
JPH0883261A (ja) * 1994-09-13 1996-03-26 Toshiba Corp ニューロ演算装置
US6067536A (en) * 1996-05-30 2000-05-23 Matsushita Electric Industrial Co., Ltd. Neural network for voice and pattern recognition
US11226840B2 (en) * 2015-10-08 2022-01-18 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US10360971B1 (en) * 2015-11-02 2019-07-23 Green Mountain Semiconductor, Inc. Artificial neural network functionality within dynamic random-access memory
US11509918B2 (en) * 2017-01-26 2022-11-22 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, and electronic device
JP7173709B2 (ja) * 2017-04-14 2022-11-16 株式会社半導体エネルギー研究所 ニューラルネットワーク回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117900A (ja) 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ニューラルネットワーク演算装置
JP2018116469A (ja) 2017-01-18 2018-07-26 株式会社日立製作所 演算システムおよびニューラルネットワークの演算方法

Also Published As

Publication number Publication date
JP2020197922A (ja) 2020-12-10
US20200380347A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7027371B2 (ja) ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法
US10891544B2 (en) Event-driven universal neural network circuit
CN112101517B (zh) 基于分段线性脉冲神经元网络的fpga实现方法
Liu et al. A novel recurrent neural network with one neuron and finite-time convergence for $ k $-winners-take-all operation
TW202022644A (zh) 一種運算裝置和運算方法
CN109242094A (zh) 用于执行人工神经网络正向运算的装置和方法
CN107085562B (zh) 一种基于高效复用数据流的神经网络处理器及设计方法
CN108446761A (zh) 一种神经网络加速器及数据处理方法
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
CN108304925B (zh) 一种池化计算装置及方法
TW202014886A (zh) 晶片及基於其的資料處理方法
CN110580519A (zh) 一种卷积运算结构及其方法
KR102263598B1 (ko) 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치
CN113516225B (zh) 具有脉动阵列的神经网络计算设备
Carpegna et al. Spiker+: a framework for the generation of efficient Spiking Neural Networks FPGA accelerators for inference at the edge
CN110197262B (zh) 用于lstm网络的硬件加速器
Aveyard A boolean model for a class of discrete event systems
Zhang et al. Shortest legal firing sequence of net condition/event systems using integer linear programming
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
Stamoulias et al. High-performance hardware accelerators for solving ordinary differential equations
Su et al. Processing element architecture design for deep reinforcement learning with flexible block floating point exploiting signal statistics
WO2020051918A1 (zh) 神经元电路、芯片、系统及其方法、存储介质
Sriraman et al. Customized FPGA Design and Analysis of Soft-Core Processor for DNN
CN117634577B (zh) 向量处理器、神经网络加速器、芯片及电子设备
CN113033798B (zh) 一种降低精度损失的装置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211129

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211224

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220216

R150 Certificate of patent or registration of utility model

Ref document number: 7027371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150