JP6489295B1 - ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム - Google Patents
ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム Download PDFInfo
- Publication number
- JP6489295B1 JP6489295B1 JP2018561066A JP2018561066A JP6489295B1 JP 6489295 B1 JP6489295 B1 JP 6489295B1 JP 2018561066 A JP2018561066 A JP 2018561066A JP 2018561066 A JP2018561066 A JP 2018561066A JP 6489295 B1 JP6489295 B1 JP 6489295B1
- Authority
- JP
- Japan
- Prior art keywords
- signal
- array
- input
- output
- weight
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
Description
本願は、2017年11月2日に、日本に出願された特願2017−213195号に基づき優先権を主張し、その内容をここに援用する。
ニューラルネットワークの技術を用いることで、高度な情報の識別あるいは分類を行うことが可能である。このようなニューラルネットワークの技術は、例えば、深層学習、医療、ヘルスケア、金融、マーケティング、認証、セキュリティなどの広い分野で実用化されている。
再帰型のニューラルネットワークでは、多層パーセプトトロンのようなニューラルネットワークの隠れ層が、後段層(例えば、出力層)への結合以外に、隠れ層自体の入力に再帰的に結合する層(再帰層)を有する。再帰層の重みは、例えば、隠れ層のすべてのユニット同士の総当たりの組み合わせになる。
再帰層の重みの学習アルゴリズム等の研究も広範に進められており、例えば、BPTT(Back Propagation Through Time)などが知られている。
ここで、再帰層は、時間的(あるいは、空間的)な遅れの成分を扱うことになり、メモリと同様な機能を実現すると捉えることも可能である。
ここで、再帰型のニューラルネットワークとしては、再帰的な様々な構成を有する広い範囲の技術が含まれてもよい。
再帰型のニューラルネットワークの実装手法として、例えば、LSTM以外にも、reservoir、あるいはElmanネットなどが提案されている。
再帰型のニューラルネットワークは、例えば、時系列的な信号について、識別、予測、異常検知、あるいは他の解析に適しており、具体例として、センサ等の時系列信号の非線形フィルタ、単語の前後関係から文脈の理解あるいは推定を行う技術、ノイズのなかから情報を抽出する技術、翻訳機などの自然言語処理の技術、人工知能(AI:Artificial Intelligence)の技術など、様々な分野で応用が期待されている。
特許文献1に記載された「マルチコア最適化リカレントニューラルネットワーク用のシステムおよび方法」では、リカレント型(再帰型)のニューラルネットワークを実行するために必要なリソースを現代のプロセッサのリソースにマッピングする手法について開示されている。具体的には、ALU(Arithmetic and Logic Unit)およびメモリなどから構成されるマイクロプロセッサの多並列構成であるマルチバルク同期並列(MBSP)を使用してリカレント型(再帰型)のニューラルネットワークを構成すること、および、結合密度あるいは帯域が異なるハードウェアモジュールで時間的な再帰の信号を効率的にマッピングすることで、ロードバランシング効果を得ることが図られている。
また、再帰型の演算は、例えば、ニューラルネットワーク以外の分野で使用される可能性もあり、この場合においても、改良が期待される。
本発明の一態様は、アレイ装置において、前記保持部は、前記第1の信号または前記第2の信号に応じた電流をデジタル値に変換した後のデータを保持する。
本発明の一態様は、アレイ装置において、前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号は、前記第1のアレイ領域に入力される他の信号と同期させられる。
本発明の一態様は、アレイ装置において、前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と、前記第1のアレイ領域に入力される前記他の信号は、いずれも、離散時間単位のデータであり、前記他の信号は、前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と比べて、時間的に後の信号である。
本発明の一態様は、アレイ装置において、前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と、前記第1のアレイ領域に入力される前記他の信号は、同一の配線を介して出力される。
本発明の一態様は、アレイ装置において、前記第1のアレイ領域は、共通の配線を含む複数の異なる領域を有し、前記第1の信号として複数の前記領域から信号を出力し、前記保持部は、前記第1のアレイ領域が有する複数の前記領域から出力された信号が前記演算部に入力された場合に出力される前記第2の信号を保持し、保持された前記第2の信号を前記第1のアレイ領域が有する複数の前記領域のうちの1以上に入力させることが可能である。
以下では、説明の便宜上、「アレイ」、「アレイ領域」、「アレイユニット」、「アレイシステム」という用語を使い分ける。
本実施形態では、「アレイ」は、物理的に独立した個々の集積素子群のことを表し、つまり、単体の集積素子群のことを表す。
本実施形態では、「アレイ領域」は、アレイの領域のことを表し、例えば、アレイが有する領域のすべてであってもよく、あるいは、アレイが有する領域の一部であってもよい。例えば、アレイは、当該アレイの領域が複数に分割されて、それぞれの分割領域(分割された領域)ごとに別々に使用されてもよい。また、2個以上のアレイ領域がある場合、例えば、これら2個以上のアレイ領域が同一のアレイの分割領域である場合があってもよく、あるいは、これら2個以上のアレイ領域が異なる2個以上のアレイのそれぞれの領域である場合があってもよい。
本実施形態では、「アレイシステム」は、複数のアレイユニットを含んで構成されたシステムのことを表し、例えば、ニューラルネットワークの識別器などを実現することが可能なシステムの全体を表す。
また、本実施形態では、信号がアナログ信号であるかデジタル信号であるかが明示されないところでは、アナログ信号が用いられてもよく、あるいは、デジタル信号(デジタル値)が用いられてもよい。
まず、図9および図10を参照して、再帰型のニューラルネットワークシステムについて説明する。
図9は、再帰型のニューラルネットワークシステムにおけるアレイユニット1001の概念的な構成を示すブロック図である。
アレイユニット1001は、n(nは1以上の整数)個の信号を入力し、r(rは1以上の整数)個の信号を出力する。
アレイユニット1001は、入力層に、n個のユニット1011−1〜1011−nと、所定値を出力する1個のバイアス項のユニット1011−0を備える。
アレイユニット1001は、順方向結合に関し、隠れ層に、m(mは1以上の整数)個のユニット1021−1〜1021−mと、所定値を出力する1個のバイアス項のユニット1021−0を備える。
アレイユニット1001は、出力層に、r(rは1以上の整数)個のユニット1031−1〜1031−rを備える。
アレイユニット1001は、再帰結合に関し、再帰層(記憶層)に、(s+1)個のユニット1121−0〜1121−sを備える。
また、図9の例では、j=1〜mとして、順方向結合における隠れ層における信号(活性化関数に代入する値)ujを示してあり、また、j=1〜mとして、当該信号が活性化関数に代入された結果の値yjを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。また、j=0である場合は、値yjは所定値となる。
また、図9の例では、k=1〜rとして、順方向結合における出力層における信号(活性化関数に代入する値)vkを示してあり、また、k=1〜rとして、当該信号が活性化関数に代入された結果の値zkを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。
また、図9の例では、e=0〜sとして、再帰結合における再帰層における信号(活性化関数に代入する値)heを示してあり、また、e=0〜sとして、当該信号が活性化関数に代入された結果の値qeを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。
また、入力層におけるユニット1011−0は、所定の信号(値)を出力する。
また、隠れ層におけるユニット1021−0は、所定の信号(値)と、再帰層におけるユニット1121−0からの出力信号(出力値)とを加算した結果の信号(値)をユニット1021−0の活性化関数に入力することで得られる出力値を、出力する。
ここで、再帰層におけるそれぞれのユニット1121−0〜1121−sからの出力信号は、再帰の信号として、順方向結合における隠れ層のそれぞれのユニット1021−0〜1021−mに出力される。
例えば、アレイユニット1001は、画像のデータを入力し、入力された画像のデータの識別結果の情報(識別結果のデータ)を出力してもよい。
一例として、画像は、784個の画素(0番目〜783番目の画素)を有する画像であってもよい。この場合、当該画像に対応する入力層のユニット数(n)は784個となる。
また、図9の例では、識別結果の情報は、出力層から出力されるr個の情報となる。
アレイユニット2001は、概略的には、入力層2011と、隠れ層2012と、出力層2013と、再帰層2021を備える。
アレイユニット2001では、順方向結合において、入力値について入力層2011から隠れ層2012までの間に重み付け(1層目の重み付け)および総和が行われ、当該総和の結果と再帰層2021からの出力値とが加算された結果が所定の活性化関数f()に入力され、当該活性化関数f()からの出力値が隠れ層2012から出力される。また、順方向結合において、隠れ層2012からの出力値について隠れ層2012から出力層2013までの間に重み付け(2層目の重み付け)および総和が行われ、当該総和の結果が所定の活性化関数g()に入力され、当該活性化関数g()からの出力値が出力層2013から出力される。また、再帰結合において、順方向結合における隠れ層2012からの出力値に基づいて再帰層2021からの出力値が得られて、当該出力値が順方向結合における隠れ層2012に戻される。
同様に、出力層2013における各ユニットの活性化関数g()は、例えば、当該各ユニットごとに異なってもよく、2個以上のユニットで同一であってもよい。
また、再帰型の構成が用いられる場合、処理される信号としては、例えば、時間的な前後で関係性を有する信号が用いられる。
また、再帰型の構成で用いられる再帰の情報としては、例えば、一定の時間(1種類の時間)遅延した情報が用いられてもよく、あるいは、複数の異なる時間(2種類以上の異なる時間)遅延した情報が用いられてもよい。
図1は、本発明の実施形態(第1実施形態)に係るアレイ装置1の概略的な構成を示す図である。
本実施形態では、アレイ装置1は、ニューラルネットワークにおける第L層のアレイユニットに相当する。本実施形態では、L=1である場合を説明するが、Lが2以上である場合についても同様である。
アレイ装置1は、入力インタフェース(入力IF)21と、変換回路22と、重みアレイ23と、再帰重みアレイ24と、検出回路25と、活性化関数回路(ニューロン回路)26と、保持機構27と、同期回路28と、出力バッファ29を備える。
ここでは、説明の便宜上、長方形(正方形でもよい。)の一辺(および対向する辺)の方向を縦方向と呼び、縦方向の2つの方向を上下の方向とし、それに対して垂直な一辺(および対向する辺)の方向を横方向と呼び、横方向の2つの方向を左右の方向として、説明する。
図1の例に係るアレイ装置1では、上側の入力インタフェース21と下側の同期回路28とが縦方向に並んで配置されており、これらに対して変換回路22が横方向の右側に並んで配置されている。また、上側の重みアレイ23と下側の再帰重みアレイ24とが縦方向に並んで配置されており、これらは変換回路22の右側に並んで配置されている。また、同期回路28および変換回路22の下側に保持機構27が並んで配置されている。また、再帰重みアレイ24の下側に、検出回路25、活性化関数回路26、出力バッファ29が順番に並んで配置されている。
なお、図1の例に係る配置は、概略的なものである。また、図1の例に限られず、様々な配置が用いられてもよい。
なお、第2層以降では、入力インタフェース21は、前段の層から出力されるデータの信号を入力する。
また、変換回路22は、同期回路28から入力された信号を、再帰重みアレイ24で処理される信号へ変換する。そして、変換回路22は、変換された信号を再帰重みアレイ24に出力する。
説明の便宜上、図9の例を用いると、第1層の重みアレイ23は、図9に示される順方向結合における入力層と隠れ層との間における積和演算を行うアレイに相当する。
説明の便宜上、図9の例を用いると、再帰重みアレイ24は、図9に示される再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算(例えば、再帰結合において活性化関数が用いられる場合にはその演算)、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
また、本実施形態では、重みアレイ23および再帰重みアレイ24は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みの値とを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
なお、検出回路25は、一例として、デジタルの信号(デジタルの値)を処理する。
ここで、本実施形態に係るアレイ装置1では、活性化関数回路26を備える構成を示すが、他の構成例として、活性化関数回路26を備えない構成が用いられてもよく、この場合、検出回路25から出力される信号が保持機構27と出力バッファ29に出力される。
ここで、保持機構27は、例えば、信号(その値)を保持(記憶)するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構27は、例えば、保持されてから読み出される信号(その値)について、任意の時間の遅延を与えてもよく、本実施形態では、1単位の時間分の遅延を与える構成となっている。
なお、本実施形態では、保持機構27に記憶された信号(その値)が同期回路28を経由して変換回路22に入力される構成を示したが、他の構成例として、保持機構27に記憶された信号(その値)が同期回路28を経由しないで変換回路22に入力される構成が用いられてもよい。
ここで、時刻tにおける入力データxtに対して出力データytが出力されるとすると、保持機構27から変換回路22に入力される信号yt−1は、当該出力データytが遅延させられた信号となる。本実施形態では、時刻tを1だけ遅延させた信号yt−1が再帰するように構成されている。
また、例えば、変換回路22、検出回路25、あるいは、出力バッファ29のうちの1以上の回路が省略されてもよい場合には、該当する回路がアレイ装置1に備えられなくてもよい。
図2には、図1に示されるアレイ装置1を示してあり、さらに、アレイ装置1に関して3個の処理部(入力重み付け部3011、再帰層部3012、活性化関数部3013)を示してある。
入力重み付け部3011は、入力インタフェース21、変換回路22、および重みアレイ23によって入力信号を処理する部分である。入力重み付け部3011は、(式1)における積和Q1を演算する。
再帰層部3012は、同期回路28、変換回路22、および再帰重みアレイ24によって再帰の信号(再帰された出力データ)を処理する部分である。再帰層部3012は、(式1)における積和Q2を演算する。また、本実施形態では、再帰層部3012は、積和Q1と積和Q2とを加算する機能を有する。
活性化関数部3013は、検出回路25および活性化関数回路26によって活性化関数f()の演算を処理する部分である。活性化関数部3013は、(式1)における、活性化関数f()に(Q1+Q2)を代入したときの結果を演算する。
本実施形態に係るアレイ装置1では、例えば、ある時刻における信号を処理した積和演算の結果と、それよりも前の信号(時間遅れの信号)を処理した積和演算の結果を、1クロックで取得することが可能である。
例えば、本実施形態に係るアレイ装置1では、ニューロモルフィック素子を含むアレイ(重みアレイ23、再帰重みアレイ24)、再帰入力機構、制御機構を備えて、アレイの重みの配置を制御することで、周辺回路を削減すること、あるいは、ネットワークの基本的な構造を単純なアレイを用いて実現することができる。
このため、理想的には、1個のアレイを使用して、再帰型のニューラルネットワークを構成することが可能な基本単位を構成することができることが望ましい。
このような構成により、本実施形態に係るアレイ装置1では、保持機構27と再入力機構(例えば、同期回路28の機構)により、当該アレイ装置1の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
ここで、本実施形態に係るアレイ装置1では、第1のアレイ領域は、再帰型のアレイ領域である。また、所定の演算部は、所定の活性化関数による演算を行う。
本実施形態に係るアレイ装置1では、保持部から第1のアレイ領域に入力される第1の信号または第2の信号と、第1のアレイ領域に入力される他の信号は、いずれも、離散時間単位のデータである。また、他の信号は、保持部から第1のアレイ領域に入力される第1の信号または第2の信号と比べて、時間的に後の信号である。
このような構成により、本実施形態に係るアレイ装置1では、例えば、離散的な信号について、サンプリングと同期したシステムを構築することで、外部回路を少なくすること、アレイで時間的な再入力の仕組みを完結することが可能である。離散的な信号は、任意の信号であってもよく、例えば、任意のセンサにより検出される信号であってもよい。
このような構成により、アレイ装置1では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
図3は、本発明の実施形態(第2実施形態)に係るアレイ装置101の概略的な構成を示す図である。
本実施形態では、アレイ装置101は、ニューラルネットワークにおける第L層のアレイユニットに相当する。本実施形態では、L=1である場合を説明するが、Lが2以上である場合についても同様である。
なお、本実施形態では、出力バッファ173が演算器181〜183を備える構成としたが、他の構成例として、出力バッファ173と演算器181〜183とが別体である構成が用いられてもよい。
ここでは、説明の便宜上、長方形(正方形でもよい。)の一辺(および対向する辺)の方向を縦方向と呼び、縦方向の2つの方向を上下の方向とし、それに対して垂直な一辺(および対向する辺)の方向を横方向と呼び、横方向の2つの方向を左右の方向として、説明する。
図3の例に係るアレイ装置101では、上側の入力インタフェース121と下側の同期回路172とが縦方向に並んで配置されており、これらに対して変換回路122が横方向の右側に並んで配置されている。また、上側から下側へ重みアレイ131と再帰重みアレイ132と検出回路133が縦方向に並んで配置されており、上側から下側へ入力ゲート重みアレイ141と入力ゲート再帰重みアレイ142と検出回路143が縦方向に並んで配置されており、上側から下側へ忘却ゲート重みアレイ151と忘却ゲート再帰重みアレイ152と検出回路153が縦方向に並んで配置されており、上側から下側へ出力ゲート重みアレイ161と出力ゲート再帰重みアレイ162と検出回路163が縦方向に並んで配置されており、これらが変換回路122の右側に順番に横方向に並んで配置されている。また、同期回路172および変換回路122の下側に保持機構171が縦方向に並んで配置されている。また、検出回路133の下側に活性化関数回路134が縦方向に並んで配置されており、検出回路143の下側に活性化関数回路144が縦方向に並んで配置されており、検出回路153の下側に活性化関数回路154が縦方向に並んで配置されており、検出回路163の下側に活性化関数回路164が縦方向に並んで配置されており、これらが保持機構171の右側に順番に横方向に並んで配置されている。また、4個の活性化関数回路134、144、154、164の下側に出力バッファ173が縦方向に並んで配置されている。出力バッファ173において、活性化関数回路144の下側に演算器181が配置されており、活性化関数回路154の下側に演算器182が配置されており、活性化関数回路164の下側に演算器183が配置されている。
なお、図3の例に係る配置は、概略的なものである。また、図3の例に限られず、様々な配置が用いられてもよい。
本実施形態では、一例として、LSTMに適用されたアレイ装置101を示す。
なお、第2層以降では、入力インタフェース121は、前段の層から出力されるデータの信号を入力する。
ここで、本実施形態では、重みアレイ131、入力ゲート重みアレイ141、忘却ゲート重みアレイ151、出力ゲート重みアレイ161のそれぞれで処理される信号は同じであるとする。また、本実施形態では、変換回路122から重みアレイ131に供給される信号は、重みアレイ131、入力ゲート重みアレイ141、忘却ゲート重みアレイ151、出力ゲート重みアレイ161において、共通の配線を介して伝送される構成となっている。
ここで、本実施形態では、再帰重みアレイ132、入力ゲート再帰重みアレイ142、忘却ゲート再帰重みアレイ152、出力ゲート再帰重みアレイ162のそれぞれで処理される信号は同じであるとする。また、本実施形態では、変換回路122から再帰重みアレイ132に供給される信号は、再帰重みアレイ132、入力ゲート再帰重みアレイ142、忘却ゲート再帰重みアレイ152、出力ゲート再帰重みアレイ162において、共通の配線を介して伝送される構成となっている。
説明の便宜上、図9の例を用いると、再帰重みアレイ132は、図9に示される再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算(例えば、再帰結合において活性化関数が用いられる場合にはその演算)、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
また、本実施形態では、重みアレイ131および再帰重みアレイ132は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
入力ゲート再帰重みアレイ142は、入力ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算(例えば、再帰結合において活性化関数が用いられる場合にはその演算)、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
また、本実施形態では、入力ゲート重みアレイ141および入力ゲート再帰重みアレイ142は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
忘却ゲート再帰重みアレイ152は、忘却ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算(例えば、再帰結合において活性化関数が用いられる場合にはその演算)、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
また、本実施形態では、忘却ゲート重みアレイ151および忘却ゲート再帰重みアレイ152は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
出力ゲート再帰重みアレイ162は、出力ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算(例えば、再帰結合において活性化関数が用いられる場合にはその演算)、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
また、本実施形態では、出力ゲート重みアレイ161および出力ゲート再帰重みアレイ162は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
検出回路143は、入力ゲート再帰重みアレイ142から出力された信号を入力し、入力された信号を、活性化関数回路144で処理される信号へ変換する。そして、検出回路143は、変換された信号を活性化関数回路144に出力する。
検出回路153は、忘却ゲート再帰重みアレイ152から出力された信号を入力し、入力された信号を、活性化関数回路154で処理される信号へ変換する。そして、検出回路153は、変換された信号を活性化関数回路154に出力する。
検出回路163は、出力ゲート再帰重みアレイ162から出力された信号を入力し、入力された信号を、活性化関数回路164で処理される信号へ変換する。そして、検出回路163は、変換された信号を活性化関数回路164に出力する。
なお、それぞれの検出回路133、143、153、163は、一例として、デジタルの信号(デジタルの値)を処理する。
活性化関数回路144は、検出回路143から入力された信号を所定の活性化関数f()に代入したときにおける当該活性化関数f()の演算結果の信号を出力バッファ173に出力する。
活性化関数回路154は、検出回路153から入力された信号を所定の活性化関数f()に代入したときにおける当該活性化関数f()の演算結果の信号を出力バッファ173に出力する。
活性化関数回路164は、検出回路163から入力された信号を所定の活性化関数f()に代入したときにおける当該活性化関数f()の演算結果の信号を出力バッファ173に出力する。
なお、活性化関数f()は、それぞれの活性化関数回路134、144、154、164ごとに異なってもよい。
ここで、保持機構171は、例えば、信号(その値)を保持(記憶)するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構171は、例えば、保持されてから読み出される信号(その値)について、任意の時間の遅延を与えてもよく、本実施形態では、1単位の時間分の遅延を与える構成となっている。
なお、本実施形態では、保持機構171に記憶された信号(その値)が同期回路172を経由して変換回路122に入力される構成を示したが、他の構成例として、保持機構171に記憶された信号(その値)が同期回路172を経由しないで変換回路122に入力される構成が用いられてもよい。
ここで、時刻tにおける入力データxtに対して出力データytが出力されるとすると、保持機構171から変換回路122に入力される信号yt−1は、当該出力データytが遅延させられた信号となる。本実施形態では、時刻tを1だけ遅延させた信号yt−1が再帰するように構成されている。
ここで、それぞれの演算器181は、例えば、乗算、または、加算を行う。
また、演算器182は、活性化関数回路154から入力された信号と、演算器181から入力された信号とを加算し、その加算の結果の信号を演算器183に出力する。
また、演算器183は、活性化関数回路164から入力された信号と、演算器182から入力された信号とを乗算し、その乗算の結果の信号を出力する。当該信号が、出力バッファ173から出力される信号となる。
本実施形態に係るアレイ装置101では、ニューラルネットワークにおける複数の異なる系統(重みアレイ131の系統、入力ゲート重みアレイ141の系統、忘却ゲート重みアレイ151の系統、出力ゲート重みアレイ161の系統)の結合部を並列的に有しており、これら複数の系統における処理結果の信号を演算器181〜183により演算して再帰させることが可能である。
このような構成により、本実施形態に係るアレイ装置101では、保持機構171と再入力機構(例えば、同期回路172の機構)により、当該アレイ装置101の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
本実施形態に係るアレイ装置101では、保持部から第1のアレイ領域に入力される第1の信号または第2の信号と、第1のアレイ領域に入力される他の信号は、いずれも、離散時間単位のデータである。また、他の信号は、保持部から第1のアレイ領域に入力される第1の信号または第2の信号と比べて、時間的に後の信号である。
このような構成により、本実施形態に係るアレイ装置101では、例えば、離散的な信号について、サンプリングと同期したシステムを構築することで、外部回路を少なくすること、アレイで時間的な再入力の仕組みを完結することが可能である。離散的な信号は、例えば、任意の信号であってもよく、任意のセンサにより検出される信号であってもよい。
このような構成により、本実施形態に係るアレイ装置101では、複数のアレイの領域を並列に設けることで各ゲートの演算を同時に行うことが可能である。本実施形態に係るアレイ装置101では、例えば、LSTMなどのように、入力信号と再帰信号を複数のゲートで使用する場合に対応することができる。
このような切り替えの機構を備えることで、例えば、再帰型のネットワーク層と順方向型のネットワーク層とが混在するようなニューラルネットワークシステムにおいて、同一のモジュールによる階層構造を実現することが容易となり、つまり、同一のモジュールにおいて、再帰型のネットワーク層に対応した部分について再帰型に切り替えるとともに、順方向型のネットワーク層に対応した部分について順方向型(つまり、再帰型ではない型)に切り替えることができる。このような切り替えは、例えば、ユーザにより手動で行われてもよく、あるいは、あらかじめ定められた規則にしたがって制御部(図示せず)により自動で行われてもよい。
このような構成により、アレイ装置101では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
図4は、本発明の実施形態(第3実施形態)に係るニューラルネットワークシステム201の概略的な構成を示す図である。
本実施形態では、ニューラルネットワークシステム201は、アレイシステムに相当する。
図4には、さらに、イメージセンサ202と、自動運転制御ユニット203を示してある。本実施形態では、イメージセンサ202と自動運転制御ユニット203は、自動車などの車両(同一の車両)に備えられている。
イメージセンサ202は、画像のデータを検出(例えば、撮像)し、検出された画像のデータをバッファメモリに記憶する。画像のデータは、例えば、1フレームごとにバッファメモリに記憶される。
イメージセンサ202は、バッファメモリに記憶された画像のデータを各フレームごとにニューラルネットワークシステム201に出力する。
自動運転制御ユニット203は、ニューラルネットワークシステム201から入力されたデータに基づいて、当該自動運転制御ユニット203が備えられた自動車などの車両に関する制御を行う。
また、本実施形態では、ニューラルネットワークシステム201から出力されるデータが自動運転制御ユニット203に入力される場合を示したが、ニューラルネットワークシステム201から出力されるデータは、任意の装置に入力されて使用されてもよい。
特徴抽出部231は、2個の同期アレイ部(アレイ装置)241〜242を並列に備える。
それぞれの同期アレイ部241〜242は、前段の処理部から出力された信号(データの値)を入力して処理し、処理後の信号を後段の処理部に出力する。
本実施形態では、同期アレイ部241は1層目の処理部であり、同期アレイ部242は2層目の処理部である。
2層目の同期アレイ部242は、1層目の同期アレイ部241から出力された信号を入力して処理し、処理後の信号を識別部232に出力する。
ここで、それぞれの同期アレイ部241〜242は、再帰型の構成を有している。また、それぞれの同期アレイ部241〜242は、処理対象のデータについて特徴を抽出する処理を行っていると捉えることも可能である。
ここでは、説明の便宜上、長方形(正方形でもよい。)の一辺(および対向する辺)の方向を縦方向と呼び、縦方向の2つの方向を上下の方向とし、それに対して垂直な一辺(および対向する辺)の方向を横方向と呼び、横方向の2つの方向を左右の方向として、説明する。
図4の例に係るニューラルネットワークシステム201では、左側から右側へ横方向に、デバイスインタフェース221、特徴抽出部231、識別部232が並んで配置されている。また、特徴抽出部231および識別部232の上側に制御回路222が縦方向に並んで配置されている。また、識別部232の下側に出力通信インタフェース223が縦方向に並んで配置されている。また、特徴抽出部231では、左側から右側へ2個の同期アレイ部241〜242が横方向に並んで配置されている。また、識別部232では、左側から右側へバッファ321と同期アレイ部311が横方向に並んで配置されている。また、同期アレイ部311では、上側から下側へ重みアレイ322、活性化関数回路323が縦方向に並んで配置されている。
なお、図4の例に係る配置は、概略的なものである。また、図4の例に限られず、様々な配置が用いられてもよい。
説明の便宜上、図9の例を用いると、重みアレイ322は、図9に示される順方向結合における隠れ層と出力層との間における積和演算を行うアレイに相当する。
また、本実施形態では、重みアレイ322は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
ここで、識別部232は、処理対象のデータについて、特徴抽出部231により抽出された特徴に基づいて識別を行っていると捉えることも可能である。
なお、活性化関数f()は、それぞれの同期アレイ部241、242、311ごとに異なってもよい。
識別部232から出力される信号(識別結果のデータ)としては、本実施形態では、デバイスインタフェース221に入力された画像のデータについて、当該画像に写っている物体に関するデータである。当該物体としては、本実施形態では、例えば、自動車等の車両が走行している道路、標識、白線、歩行者、対向車などであってもよい。
制御回路222は、例えば、同期の制御を行う回路、パワーマネジメントの制御を行う回路、リセットを行う回路、それぞれの重みアレイおよびそれぞれの再帰重みアレイに重みを設定する回路などを備える。
また、制御回路222は、それぞれのアレイに含まれるニューロモルフィック素子に重み(その値)を設定する。制御回路222は、一例として、それぞれのアレイに含まれるニューロモルフィック素子に対して所定の信号を送信することで、当該信号に応じた重み(その値)を当該ニューロモルフィック素子に設定してもよい。当該所定の信号としては、任意の信号が用いられてもよく、例えば、電圧パルスの信号が用いられてもよい。
また、図4の例では、特徴抽出部231に備えられるすべての同期アレイ部241〜242が再帰型の構成を有する場合を示したが、他の構成例として、複数の同期アレイ部のうちの一部が再帰型の構成を有する特徴抽出部が用いられてもよい。
図5は、本発明の実施形態(第4実施形態)に係るアレイ装置401の概略的な構成を示す図である。
本実施形態では、アレイ装置401は、ニューラルネットワークにおける第L層のアレイユニットに相当する。本実施形態では、L=1である場合を説明するが、Lが2以上である場合についても同様である。
アレイ装置401は、同期アレイ部421と、同期アレイ部422と、同期回路423と、加算回路424と、活性化関数回路425と、出力バッファ426と、保持機構427を備える。
再帰の同期アレイ部422は、入力インタフェース(入力IF)621と、変換回路622と、再帰重みアレイ623と、検出回路624と、出力バッファ625と、同期回路626を備える。
ここでは、説明の便宜上、長方形(正方形でもよい。)の一辺(および対向する辺)の方向を縦方向と呼び、縦方向の2つの方向を上下の方向とし、それに対して垂直な一辺(および対向する辺)の方向を横方向と呼び、横方向の2つの方向を左右の方向として、説明する。
図5の例に係るアレイ装置401では、右側から左側へ2個の同期アレイ部421〜422が横方向に並んで配置されている。また、右側から左側へ同期回路423、加算回路424が横方向に並んで配置されており、これらが2個の同期アレイ部421〜422の下側に縦方向に並んで配置されている。また、加算回路424の下側に活性化関数回路425が縦方向に並んで配置されている。また、活性化関数回路425の下側に出力バッファ426が縦方向に並んで配置されている。また、同期アレイ部422の上側に保持機構427が縦方向に並んで配置されている。
また、それぞれの同期アレイ部421〜422では、左側から右側へ入力インタフェース521、621、変換回路522、622、アレイ(重みアレイ523、再帰重みアレイ623)が順番に横方向に並んで配置されている。また、入力インタフェース521、621および変換回路522、622の下側に同期回路526、626が縦方向に並んで配置されている。また、アレイ(重みアレイ523、再帰重みアレイ623)の下側に検出回路524、624が縦方向に並んで配置されている。また、検出回路524、624の下側に出力バッファ525、625が縦方向に並んで配置されている。また、同期回路526、626と検出回路524、624とは横方向に並んで配置されている。
なお、図5の例に係る配置は、概略的なものである。また、図5の例に限られず、様々な配置が用いられてもよい。
入力インタフェース521は、外部から信号(例えば、データの値)を入力するインタフェースの回路である。そして、入力インタフェース521は、入力された信号を変換回路522に出力する。第1層においては、入力インタフェース521は、例えば、ニューラルネットワークの外部から当該ニューラルネットワークに入力されるデータの信号を入力する。
なお、第2層以降では、入力インタフェース521は、前段の層から出力されるデータの信号を入力する。
説明の便宜上、図9の例を用いると、第1層の重みアレイ523は、図9に示される順方向結合における入力層と隠れ層との間における積和演算を行うアレイに相当する。
また、本実施形態では、重みアレイ523は、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
なお、検出回路524は、一例として、デジタルの信号(デジタルの値)を処理する。
出力バッファ525は、検出回路524から入力された信号をいったん記憶し、記憶された当該信号を加算回路424に出力する。
同期回路526は、同期アレイ部421における同期を取るように制御する。
入力インタフェース621は、外部から信号(例えば、データの値)を入力するインタフェースの回路である。そして、入力インタフェース621は、入力された信号を変換回路622に出力する。本実施形態では、入力インタフェース621は、保持機構427から出力されるデータの信号を入力する。
説明の便宜上、図9の例を用いると、再帰重みアレイ623は、図9に示される再帰結合における隠れ層と再帰層との間における積和演算を行うアレイに相当する。
また、本実施形態では、再帰重みアレイ623は、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、2個の信号の加算は、例えば、これら2個の信号(その値)をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら2個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
なお、検出回路624は、一例として、デジタルの信号(デジタルの値)を処理する。
出力バッファ625は、検出回路624から入力された信号をいったん記憶し、記憶された当該信号を加算回路424に出力する。
同期回路626は、再帰の同期アレイ部422における同期を取るように制御する。
同期回路423は、順方向結合と再帰結合とのタイミングの同期を取る制御を行う。
例えば、同期回路423は、保持機構427を制御し、保持機構427により保持された信号(その値)を読み出して再帰の同期アレイ部422に出力する。この場合に、同期回路423は、同期アレイ部421から加算回路424に入力される信号のタイミングと、再帰の同期アレイ部422から加算回路424に入力される信号のタイミングとが所定のタイミング関係となるように制御する。当該所定のタイミング関係としては、本実施形態では、図9に示されるニューラルネットワークにおける再帰層からの再帰の信号のタイミングが、順方向結合における隠れ層において所定の時間だけ後の信号の情報のタイミングと合うタイミング関係が用いられている。
ここで、本実施形態に係るアレイ装置401では、活性化関数回路425を備える構成を示すが、他の構成例として、活性化関数回路425を備えない構成が用いられてもよく、この場合、加算回路424から出力される信号が保持機構427と出力バッファ426に出力される。
ここで、保持機構427は、例えば、信号(その値)を保持(記憶)するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構427は、例えば、保持されてから読み出される信号(その値)について、任意の時間の遅延を与えてもよく、本実施形態では、1単位の時間分の遅延を与える構成となっている。
また、例えば、変換回路522、622、検出回路524、624、あるいは、出力バッファ525、625、426のうちの1以上の回路が省略されてもよい場合には、該当する回路がアレイ装置401に備えられなくてもよい。
このような構成により、本実施形態に係るアレイ装置401では、保持機構427と再入力機構(例えば、同期回路423の機構)により、当該アレイ装置401の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
ここで、本実施形態に係るアレイ装置401では、第1のアレイ領域は、再帰型のアレイ領域である。また、所定の演算部は、第1のアレイ領域以外の第2のアレイ領域(本実施形態では、重みアレイ523の領域)から出力される信号との加算および所定の活性化関数による演算を行う。
このような構成により、アレイ装置401では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
本実施形態では、第1実施形態〜第4実施形態におけるアレイ(例えば、重みアレイ23、131、322、523、再帰重みアレイ24、132、623、入力ゲート重みアレイ141、入力ゲート再帰重みアレイ142、忘却ゲート重みアレイ151、忘却ゲート再帰重みアレイ152、出力ゲート重みアレイ161、出力ゲート再帰重みアレイ162)で使用されるニューロモルフィック素子について説明する。
ニューロモルフィック素子711では、重みを割り当てる制御部(図示せず)から入力される制御信号により制御されて、当該ニューロモルフィック素子711の特性(例えば、コンダクタンス)が変化することで、重みの値が変化する。そして、ニューロモルフィック素子711では、当該ニューロモルフィック素子711の特性に応じた重み(その値)を入力された信号に乗算し、その乗算の結果の信号を出力する。
具体例として、コンダクタンスの変化量(ΔG)が変動するニューロモルフィック素子711では、例えば、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子711に与えられる電圧Vの一定変化量に対するコンダクタンスの変化量(ΔG)が増加していく場合がある。この場合、一例として、当該ニューロモルフィック素子711のコンダクタンスの変化量(ΔG)を一定値間隔ごとに切り替えるために、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子711に与えられる電圧Vの変化量(切り替えの段階ごとの変化量)を小さくしていく構成が用いられてもよい。あるいは、コンダクタンスの変化量Δの変動に応じて、割り当てる重みの変化量を変動させるような構成が用いられてもよい。
なお、ニューロモルフィック素子711の特性の変化量が他の態様で変動する場合においても、その態様に合わせて制御が行われればよい。このような制御の仕方は、例えば、あらかじめ設定されて所定の記憶部などに記憶されてもよい。
一例として、ニューロモルフィック素子711として、結晶と非晶質との相変化を段階的に制御するPCM(Phase Change Memory)を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子711として、電気化学的反応により金属析出とイオン化との間のパスの形成および消滅を利用するCBRAM(Conductive Bridge Random Access Memory)を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子711として、スピントロニクス(Spintronics)を使用する素子が用いられてもよく、例えば、磁壁の制御による線形的抵抗変化を発生させるドメインウォール型の素子、あるいは、スピン軌道トルク作用による磁化反転を使用したSOT(Spin Orbit Torque)型の素子が用いられてもよい。
他の例として、ニューロモルフィック素子711として、TaO2等の媒体に金属析出によるフィラメントを形成して抵抗変化を利用するReRAM(Resistive Random Access Memory)を使用する素子が用いられてもよい。
本実施形態では、第1実施形態〜第4実施形態における保持機構(例えば、保持機構27、171、427)として使用されることが可能な保持機構について説明する。
保持機構801は、容量性素子811と、入力側のスイッチ821と、出力側のスイッチ822を備える。
本実施形態では、入力側のスイッチ821と出力側のスイッチ822により、容量性素子811に対する充放電のスイッチングを行うスイッチング回路が構成されている。
入力側のスイッチ821が閉状態であるとき、外部から保持機構801に入力される信号(例えば、電流)によって容量性素子811に電荷が蓄積される。なお、入力側のスイッチ821が開状態であるときには、入力側の信号(例えば、電流)は流れない。
出力側のスイッチ822が閉状態であるとき、容量性素子811に蓄積された電荷が保持機構801の外部に流れることで、それに応じた信号(例えば、電流)が保持機構801の外部に出力される。なお、出力側のスイッチ822が開状態であるときには、出力側の信号(例えば、電流)は流れない。
なお、保持機構801から外部に出力される信号(例えば、電流)は、例えば、抵抗などを用いて、電圧の信号へ変換されてもよい。
このような構成により、本実施形態に係るアレイ装置では、信号をアナログ的に保持することで、消費電力性能を高めることができる。
一例として、アナログの信号(例えば、アナログの電流)をデジタル値に変換した後のデータを保持する保持機構が用いられてもよい。この場合、当該保持機構は、例えば、当該保持機構の外部において得られたデジタル値(データ)を保持する構成であってもよく、あるいは、当該保持機構にアナログの信号が入力されて、当該アナログ信号をデジタル値に変換して保持する構成であってもよい。当該構成では、当該保持機構は、当該アナログ信号を当該デジタル値に変換するA/D(Analog to Digital)変換器を備えてもよい。
このようなアレイ装置では、保持部は、信号(前記した第1の信号または第2の信号)に応じた電流をデジタル値に変換した後のデータを保持する。
このような構成により、アレイ装置では、信号をデジタル値で保持することで、開発などを容易にすることができる。
本実施形態では、複数のアレイで共通化された配線について説明する。
例えば、第1実施形態に係る図1に示される重みアレイ23と再帰重みアレイ24とで共通化された配線(以下で、説明の便宜上、「縦配線」ともいう(カラムの配線と呼ばれてもよい。)。)が用いられてもよい。
例えば、第2実施形態に係る図3に示される重みアレイ131と再帰重みアレイ132とで共通化された配線(以下の説明では、説明の便宜上、「縦配線」とする。)が用いられてもよい。同様に、入力ゲート重みアレイ141と入力ゲート再帰重みアレイ142とで共通化された配線(以下の説明では、説明の便宜上、「縦配線」とする。)が用いられてもよい。同様に、忘却ゲート重みアレイ151と忘却ゲート再帰重みアレイ152とで共通化された配線(以下の説明では、説明の便宜上、「縦配線」とする。)が用いられてもよい。同様に、出力ゲート重みアレイ161と出力ゲート再帰重みアレイ162とで共通化された配線(以下の説明では、説明の便宜上、「縦配線」とする。)が用いられてもよい。
例えば、第3実施形態に係る図4に示されるそれぞれの同期アレイ部241〜242において、第1実施形態の場合と同様に重みアレイと再帰重みアレイとで共通化された配線(以下の説明では、説明の便宜上、「縦配線」とする。)が用いられてもよい。
また、以下では、図8を参照して、2個の異なるアレイについて共通化された縦配線について説明するが、3個以上の異なるアレイについて共通化された縦配線についても同様である。
また、以下では、図8を参照して、説明の便宜上、2個の異なるアレイについて共通化された横配線について説明するが、3個以上の異なるアレイについて共通化された横配線についても同様である。
アレイ911およびアレイ912に、共通の横配線P1、P2が配置されている。
アレイ921およびアレイ922に、共通の横配線P11、P12が配置されている。
アレイ911およびアレイ921に、共通の縦配線Q1が配置されている。
アレイ912およびアレイ922に、共通の縦配線Q2が配置されている。
アレイ911において、横配線P2には、ニューロモルフィック素子H2の一端が接続されている。
そして、アレイ911において、ニューロモルフィック素子H1の他端およびニューロモルフィック素子H2の他端が、縦配線Q1に接続されている。
アレイ912において、横配線P2には、ニューロモルフィック素子H12の一端が接続されている。
そして、アレイ912において、ニューロモルフィック素子H11の他端およびニューロモルフィック素子H12の他端が、縦配線Q2に接続されている。
アレイ921において、横配線P12には、ニューロモルフィック素子H22の一端が接続されている。
そして、アレイ921において、ニューロモルフィック素子H21の他端およびニューロモルフィック素子H22の他端が、配線Q11に接続されている。配線Q11は配線Q1と接続されている。
アレイ922において、横配線P12には、ニューロモルフィック素子H32の一端が接続されている。
そして、アレイ922において、ニューロモルフィック素子H31の他端およびニューロモルフィック素子H32の他端が、配線Q12に接続されている。配線Q12は配線Q2と接続されている。
また、アレイ921では、横配線P11を流れる信号がニューロモルフィック素子H21により重み付けされた結果の信号と、横配線P12を流れる信号がニューロモルフィック素子H22により重み付けされた結果の信号とが加算された結果の信号が、配線Q11を流れて、縦配線Q1に伝送される。この結果、縦配線Q1には、アレイ911から伝送される信号と、アレイ921の配線Q11から伝送される信号とが加算された結果の信号が、流れる。
このような構成を利用することで、複数のアレイ911、921における積和演算の結果を総和することができる。
また、アレイ922では、横配線P11を流れる信号がニューロモルフィック素子H31により重み付けされた結果の信号と、横配線P12を流れる信号がニューロモルフィック素子H32により重み付けされた結果の信号とが加算された結果の信号が、配線Q12を流れて、縦配線Q2に伝送される。この結果、縦配線Q2には、アレイ912から伝送される信号と、アレイ922の配線Q12から伝送される信号とが加算された結果の信号が、流れる。
このような構成を利用することで、複数のアレイ912、922における積和演算の結果を総和することができる。
また、図8の例では、それぞれのアレイ911、912、921、922において、1本の共通な縦配線Q1、Q2を示したが、共通な縦配線の数は任意であってもよい。
本実施形態では、それぞれのアレイ911、912、921、922において、ニューロモルフィック素子を複数使用して、所望のニューラルネットワークに対応する積和演算を行う回路が構成される。それぞれのアレイ911、912、921、922の回路は、一例として、マトリクス状になっている。
このような構成により、本実施形態に係るアレイ装置では、例えば、アレイの縮小化、周辺回路の共通化などを図ることができる。
このように、少なくとも配線の一部に新たな入力信号(時間的に後の信号)と再帰の信号(時間的に前の情報の信号)が入力される構成とすることで、配線の配置を簡易にすることが可能である。
なお、以上に示した実施形態に係る各装置等(例えば、制御回路222などの制御部)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体(記憶媒体)に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
一般にニューロモルフィック素子は、所与の範囲でコンダクタンスを多段階に設定させることができる不揮発性素子を意味し、これによって、電圧×コンダクタンス=電流値というオームの法則を利用して積和演算をアナログ的に実行する機能を提供する。例えば、コンダクタンスとして1μS(マイクロジーメンス)、1.25μS、1.5μS、1.75μS、2μSを設定することが可能な素子の場合、1μS〜2μSの間の5段階の量子化分解能で積和演算を実行することが可能である。
しかしながら、近年、ニューラルネットをCMOSデジタル演算素子で実現する分野の研究では、演算語長を縮減する研究が進められている。最も極端なケースにおいては、入力信号や重み、あるいは活性化関数出力を二値化する試みが盛んに研究されている。このような二値化が行われるニューラルネットワークは、例えば、バイナライズドニューラルネット、あるいはバイナリーニューラルネットワークなどと呼ばれる。例えば、重みと入力値がとりえる値が−1と1であるとし、それを0、1の値をとる論理素子で計算する場合、積和演算は下記の4種類のXNOR型論理演算と“1”状態の素子のカウンタで実行可能である。
0(−1)×0(−1)=1(1)
0(−1)×1(1)=0(−1)
1(1)×0(−1)=0(−1)
1(1)×1(1)=1(1)
上記の演算は、例えば、2段階の抵抗変化を持つニューロモルフィック素子を使用する場合においても同様に可能である。バイナライズドニューラルネットは本出願の本質的な内容ではないことから詳しくは述べないが、このような二値化ニューラルネットで、再帰的構成を持たせる場合においても、本出願に係る技術を適用することは可能である。
このようなニューラルネットワークシステムを用いた制御装置を用いると、認識精度が高くなるために、従来よりも小さな演算機能で情報を取り出すことができ、低コスト・省電力・省体積化を実現することができる。
制御装置に複数のセンサの信号が同時に入力することによって、互いのセンサの関連性に関する認識を得ることができる。例えば、ロボットにおいて手、足、胴体にセンサが設置され、当該センサからの信号が同時に制御装置に入力されると、当該信号によって、ロボットが歩いているかあるいは転んだのかなどの情報を複合的に判断することができる。さらに、AIエッジセンサモジュールが複数設置されたロボットや車などにおいて、制御装置に同時に信号が入力されることによって、より省電力化や高機能化が実現されることが期待できる。複数のセンサが異なる種類のセンサであった場合には、それぞれのセンサに対応できる電圧や電流に対応した制御装置を設置する必要がある。この場合、制御装置のインタフェースに変圧器やAD(アナログ デジタル)変換機などが必要となることがあり、エネルギー変換によってエネルギーが消費され得る。AIエッジセンサモジュールでも同様にエネルギーが消費されるが、AIエッジセンサモジュールから中央の制御装置に出力される信号はAIエッジセンサモジュールで一定の認識と識別がされたものであり、例えば、AIエッジセンサモジュールから中央の制御装置に、必要な情報のみを送ることができる。これらの機能によってAIエッジセンサモジュールと中央の制御装置との間の通信量を削減することができるため、システム全体としてのエネルギー消費を減少することができる。
なお、再帰型の演算は、例えば、ニューラルネットワークの分野で使用されてもよく、あるいは、ニューラルネットワーク以外の分野で使用されてもよい。
012、3022…再帰層部、3013、3023…活性化関数部
Claims (8)
- 可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対して前記ニューロモルフィック素子に応じた処理を行った結果の第1の信号を出力する第1のアレイ領域と、
前記第1のアレイ領域から出力された前記第1の信号または前記第1の信号が所定の演算部に入力された場合に出力される第2の信号を保持し、保持された前記第1の信号または前記第2の信号を前記第1のアレイ領域に入力させることが可能な保持部と、
を備えるアレイ装置。 - 前記保持部は、前記第1の信号または前記第2の信号に応じた電流を蓄積する容量性素子と、前記容量性素子に対する充放電のスイッチングを行うスイッチング回路と、を有する、
請求項1に記載のアレイ装置。 - 前記保持部は、前記第1の信号または前記第2の信号に応じた電流をデジタル値に変換した後のデータを保持する、
請求項1に記載のアレイ装置。 - 前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号は、前記第1のアレイ領域に入力される他の信号と同期させられる、
請求項1から請求項3のいずれか1項に記載のアレイ装置。 - 前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と、前記第1のアレイ領域に入力される前記他の信号は、いずれも、離散時間単位のデータであり、
前記他の信号は、前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と比べて、時間的に後の信号である、
請求項4に記載のアレイ装置。 - 前記保持部から前記第1のアレイ領域に入力される前記第1の信号または前記第2の信号と、前記第1のアレイ領域に入力される前記他の信号は、同一の配線を介して出力される、
請求項4または請求項5のいずれか1項に記載のアレイ装置。 - 前記第1のアレイ領域は、共通の配線を含む複数の異なる領域を有し、前記第1の信号として複数の前記領域から信号を出力し、
前記保持部は、前記第1のアレイ領域が有する複数の前記領域から出力された信号が前記演算部に入力された場合に出力される前記第2の信号を保持し、保持された前記第2の信号を前記第1のアレイ領域が有する複数の前記領域のうちの1以上に入力させることが可能である、
請求項1から請求項6のいずれか1項に記載のアレイ装置。 - 請求項1から請求項7のいずれか1項に記載のアレイ装置を含み、ニューラルネットワークの処理を行うニューラルネットワークシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017213195 | 2017-11-02 | ||
JP2017213195 | 2017-11-02 | ||
PCT/JP2018/029208 WO2019087500A1 (ja) | 2017-11-02 | 2018-08-03 | ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6489295B1 true JP6489295B1 (ja) | 2019-03-27 |
JPWO2019087500A1 JPWO2019087500A1 (ja) | 2019-11-14 |
Family
ID=65895299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018561066A Active JP6489295B1 (ja) | 2017-11-02 | 2018-08-03 | ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6489295B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832715A (zh) * | 2019-04-18 | 2020-10-27 | 爱思开海力士有限公司 | 处理元件和处理系统 |
WO2022185153A1 (ja) * | 2021-03-05 | 2022-09-09 | 株式会社半導体エネルギー研究所 | 半導体装置および電子装置 |
CN116566048A (zh) * | 2023-05-06 | 2023-08-08 | 浙江鲲游科技有限公司 | 一种智慧用电安全监测系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628331A (ja) * | 1990-12-28 | 1994-02-04 | Intel Corp | マルチプレクスされる出力ニューロンを採用する多層ニューロンネットワーク |
US20170116513A1 (en) * | 2015-10-21 | 2017-04-27 | International Business Machines Corporation | Short-term memory using neuromorphic hardware |
-
2018
- 2018-08-03 JP JP2018561066A patent/JP6489295B1/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628331A (ja) * | 1990-12-28 | 1994-02-04 | Intel Corp | マルチプレクスされる出力ニューロンを採用する多層ニューロンネットワーク |
US20170116513A1 (en) * | 2015-10-21 | 2017-04-27 | International Business Machines Corporation | Short-term memory using neuromorphic hardware |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832715A (zh) * | 2019-04-18 | 2020-10-27 | 爱思开海力士有限公司 | 处理元件和处理系统 |
WO2022185153A1 (ja) * | 2021-03-05 | 2022-09-09 | 株式会社半導体エネルギー研究所 | 半導体装置および電子装置 |
CN116566048A (zh) * | 2023-05-06 | 2023-08-08 | 浙江鲲游科技有限公司 | 一种智慧用电安全监测系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019087500A1 (ja) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019087500A1 (ja) | ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム | |
Li et al. | Long short-term memory networks in memristor crossbar arrays | |
Hinz et al. | Speeding up the hyperparameter optimization of deep convolutional neural networks | |
JP6489295B1 (ja) | ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム | |
Farabet et al. | Comparison between frame-constrained fix-pixel-value and frame-free spiking-dynamic-pixel convnets for visual processing | |
Yousefzadeh et al. | On practical issues for stochastic STDP hardware with 1-bit synaptic weights | |
US7028271B2 (en) | Hierarchical processing apparatus | |
US20130236048A1 (en) | Image processor for feature detection | |
US12001945B2 (en) | Event driven mathematical engine and method | |
Hasan et al. | A fast training method for memristor crossbar based multi-layer neural networks | |
Deng et al. | SemiMap: A semi-folded convolution mapping for speed-overhead balance on crossbars | |
CN111914989A (zh) | 神经网络系统及其学习方法、以及迁移学习方法 | |
Mukhopadhyay et al. | Systematic realization of a fully connected deep and convolutional neural network architecture on a field programmable gate array | |
CN114626503A (zh) | 模型的训练方法、目标检测方法、装置、电子设备及介质 | |
Goyal et al. | Neural ordinary differential equations with irregular and noisy data | |
JP4579798B2 (ja) | 演算装置 | |
Seng et al. | Embedded intelligence: State-of-the-art and research challenges | |
Laiho et al. | MIPA4k: Mixed-mode cellular processor array | |
Carpegna et al. | Spiker+: a framework for the generation of efficient Spiking Neural Networks FPGA accelerators for inference at the edge | |
Wang et al. | Architectural design exploration for neuromorphic processors with memristive synapses | |
KR20200062014A (ko) | 다이어딕 매트릭스 형태의 웨이트를 이용해 뉴럴 네트워크를 가속하는 장치 및 그것의 동작 방법 | |
Wilson et al. | An efficient non-parametric background modeling technique with cuda heterogeneous parallel architecture | |
Ye et al. | LaCERA: Layer-centric event-routing architecture | |
Ghani et al. | Step forward to map fully parallel energy efficient cortical columns on field programmable gate arrays | |
Dawwd et al. | A reconfigurable interconnected filter for face recognition based on convolution neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181120 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181120 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20181204 |
|
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: 20190129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6489295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |