(57)【特許請求の範囲】
【請求項１】
可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対して前記ニューロモルフィック素子に応じた処理を行った結果の第１の信号を出力する第１のアレイ領域と、
前記第１のアレイ領域から出力された前記第１の信号または前記第１の信号が所定の演算部に入力された場合に出力される第２の信号を保持し、保持された前記第１の信号または前記第２の信号を前記第１のアレイ領域に入力させることが可能な保持部と、
を備えるアレイ装置。
【請求項２】
前記保持部は、前記第１の信号または前記第２の信号に応じた電流を蓄積する容量性素子と、前記容量性素子に対する充放電のスイッチングを行うスイッチング回路と、を有する、
請求項１に記載のアレイ装置。
【請求項３】
前記保持部は、前記第１の信号または前記第２の信号に応じた電流をデジタル値に変換した後のデータを保持する、
請求項１に記載のアレイ装置。
【請求項４】
前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号は、前記第１のアレイ領域に入力される他の信号と同期させられる、
請求項１から請求項３のいずれか１項に記載のアレイ装置。
【請求項５】
前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と、前記第１のアレイ領域に入力される前記他の信号は、いずれも、離散時間単位のデータであり、
前記他の信号は、前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と比べて、時間的に後の信号である、
請求項４に記載のアレイ装置。
【請求項６】
前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と、前記第１のアレイ領域に入力される前記他の信号は、同一の配線を介して出力される、
請求項４または請求項５のいずれか１項に記載のアレイ装置。
【請求項７】
前記第１のアレイ領域は、共通の配線を含む複数の異なる領域を有し、前記第１の信号として複数の前記領域から信号を出力し、
前記保持部は、前記第１のアレイ領域が有する複数の前記領域から出力された信号が前記演算部に入力された場合に出力される前記第２の信号を保持し、保持された前記第２の信号を前記第１のアレイ領域が有する複数の前記領域のうちの１以上に入力させることが可能である、
請求項１から請求項６のいずれか１項に記載のアレイ装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載のアレイ装置を含み、ニューラルネットワークの処理を行うニューラルネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステムに関する。
本願は、２０１７年１１月２日に、日本に出願された特願２０１７−２１３１９５号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
従来から、ニューラルネットワークの技術が検討されている（例えば、特許文献１−３参照。）。
ニューラルネットワークの技術を用いることで、高度な情報の識別あるいは分類を行うことが可能である。このようなニューラルネットワークの技術は、例えば、深層学習、医療、ヘルスケア、金融、マーケティング、認証、セキュリティなどの広い分野で実用化されている。【０００３】
また、再帰（Ｒｅｃｕｒｒｅｎｔ）型のニューラルネットワークの技術が検討されている。
再帰型のニューラルネットワークでは、多層パーセプトトロンのようなニューラルネットワークの隠れ層が、後段層（例えば、出力層）への結合以外に、隠れ層自体の入力に再帰的に結合する層（再帰層）を有する。再帰層の重みは、例えば、隠れ層のすべてのユニット同士の総当たりの組み合わせになる。
再帰層の重みの学習アルゴリズム等の研究も広範に進められており、例えば、ＢＰＴＴ（Ｂａｃｋ  Ｐｒｏｐａｇａｔｉｏｎ  Ｔｈｒｏｕｇｈ  Ｔｉｍｅ）などが知られている。
ここで、再帰層は、時間的（あるいは、空間的）な遅れの成分を扱うことになり、メモリと同様な機能を実現すると捉えることも可能である。【０００４】
上述までの単純な再帰層に加えて、メモリ・ゲート機構をもった構成にすると、長短期可塑性の記憶が可能なＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）になる。つまり、再帰層によって、現在の時刻ｔの情報に加えて、それよりも長い過去の時刻（例えば、時刻（ｔ−１）、時刻（ｔ−２）、・・・）の情報を結び付けた学習機能を実現することができる。
ここで、再帰型のニューラルネットワークとしては、再帰的な様々な構成を有する広い範囲の技術が含まれてもよい。
再帰型のニューラルネットワークの実装手法として、例えば、ＬＳＴＭ以外にも、ｒｅｓｅｒｖｏｉｒ、あるいはＥｌｍａｎネットなどが提案されている。【０００５】
再帰型のニューラルネットワークでは、再帰的な要素を有することから、時間的（あるいは、空間的）な前後関係を使用して識別情報を取得することが可能である。このため、再帰型のニューラルネットワークは、連続的な信号から高度な情報を抽出する場合に有効である。
再帰型のニューラルネットワークは、例えば、時系列的な信号について、識別、予測、異常検知、あるいは他の解析に適しており、具体例として、センサ等の時系列信号の非線形フィルタ、単語の前後関係から文脈の理解あるいは推定を行う技術、ノイズのなかから情報を抽出する技術、翻訳機などの自然言語処理の技術、人工知能（ＡＩ：Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）の技術など、様々な分野で応用が期待されている。【０００６】
近年、アナログ的にコンダクタンス（抵抗の逆数）が変化するニューロモルフィック（Ｎｅｕｒｏｍｏｒｐｈｉｃ）素子を利用して、積和演算を低電力で高速に実行することが可能な新たな演算機構が研究されている。このような演算機構は、ニューラルネットワークに応用することができる。【０００７】
しかしながら、ニューロモルフィック素子を用いて再帰型のニューラルネットワークを構成する場合、ニューロモルフィック素子をアレイ状に接続するとともに、再帰的なメカニズムを導入する必要がある。また、再帰型のニューラルネットワークにおける識別速度を向上させるためには、時間軸の処理に適した物理アレイの構成、および物理アレイへのマッピングを適切に設計する必要がある。【０００８】
なお、再帰型のニューラルネットワーク自体は、従前から提唱されてきた仕組みであるが、他のニューラルネットワークと同様に、膨大な計算資源を消費することから、数年前までは学術研究の領域を超えることはなかった。しかしながら、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）のスケーリング、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのハードウェアの性能が格段に改善され、昨今ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ  Ｃｏｍｐｕｔｉｎｇ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）あるいはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いた実用化が主にコンボリューショナルニューラルネットワーク（ＣＮＮ）あるいはディープニューラルネットワーク（ＤＮＮ）などの分野で進んでいる。【０００９】
例えば、特許文献１には、ＧＰＧＰＵなどに、再帰型のニューラルネットワークシステムを実行するための要求資源を最適にマッピングする手法が開示されている。
特許文献１に記載された「マルチコア最適化リカレントニューラルネットワーク用のシステムおよび方法」では、リカレント型（再帰型）のニューラルネットワークを実行するために必要なリソースを現代のプロセッサのリソースにマッピングする手法について開示されている。具体的には、ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃ  Ｕｎｉｔ）およびメモリなどから構成されるマイクロプロセッサの多並列構成であるマルチバルク同期並列（ＭＢＳＰ）を使用してリカレント型（再帰型）のニューラルネットワークを構成すること、および、結合密度あるいは帯域が異なるハードウェアモジュールで時間的な再帰の信号を効率的にマッピングすることで、ロードバランシング効果を得ることが図られている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１７−１０７５６８号公報
【特許文献２】特表２０１７−５１６１９２号公報
【特許文献３】特開平７−８４９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、従来では、コンピュータを用いて再帰型のニューラルネットワークの計算最適化やロードバランシングなどの研究、応用が進められてきた。しかしながら、膨大な積和演算機構を必要とするため、大規模なプロセッサやＧＰＧＰＵなどのデバイスを必要とした。また、ＧＰＧＰＵやプロセッサなどは、ＨＷ（ハードウェア）的に固定した構造をもつため、ニューラルネットワークの構造を変えて試行するなどの最適化などに用いることは難しかった。
また、再帰型の演算は、例えば、ニューラルネットワーク以外の分野で使用される可能性もあり、この場合においても、改良が期待される。【００１２】
本発明は、このような事情を考慮してなされたもので、ニューロモルフィック素子を用いて再帰型の演算を行うことができるニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステムを提供することを課題とする。
【課題を解決するための手段】
【００１３】
本発明の一態様は、可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対して前記ニューロモルフィック素子に応じた処理を行った結果の第１の信号を出力する第１のアレイ領域と、前記第１のアレイ領域から出力された前記第１の信号または前記第１の信号が所定の演算部に入力された場合に出力される第２の信号を保持し、保持された前記第１の信号または前記第２の信号を前記第１のアレイ領域に入力させることが可能な保持部と、を備えるアレイ装置である。【００１４】
本発明の一態様は、アレイ装置において、前記保持部は、前記第１の信号または前記第２の信号に応じた電流を蓄積する容量性素子と、前記容量性素子に対する充放電のスイッチングを行うスイッチング回路と、を有する。
本発明の一態様は、アレイ装置において、前記保持部は、前記第１の信号または前記第２の信号に応じた電流をデジタル値に変換した後のデータを保持する。
本発明の一態様は、アレイ装置において、前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号は、前記第１のアレイ領域に入力される他の信号と同期させられる。
本発明の一態様は、アレイ装置において、前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と、前記第１のアレイ領域に入力される前記他の信号は、いずれも、離散時間単位のデータであり、前記他の信号は、前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と比べて、時間的に後の信号である。
本発明の一態様は、アレイ装置において、前記保持部から前記第１のアレイ領域に入力される前記第１の信号または前記第２の信号と、前記第１のアレイ領域に入力される前記他の信号は、同一の配線を介して出力される。
本発明の一態様は、アレイ装置において、前記第１のアレイ領域は、共通の配線を含む複数の異なる領域を有し、前記第１の信号として複数の前記領域から信号を出力し、前記保持部は、前記第１のアレイ領域が有する複数の前記領域から出力された信号が前記演算部に入力された場合に出力される前記第２の信号を保持し、保持された前記第２の信号を前記第１のアレイ領域が有する複数の前記領域のうちの１以上に入力させることが可能である。【００１５】
本発明の一態様は、以上のようないずれかのアレイ装置を含み、ニューラルネットワークの処理を行うニューラルネットワークシステムである。
【発明の効果】
【００１６】
本発明の一態様によれば、ニューロモルフィック素子を用いて再帰型の演算を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態（第１実施形態）に係るアレイ装置の概略的な構成を示す図である。
【図２】本発明の実施形態（第１実施形態）に係るアレイ装置における概略的な処理を説明するための図である。
【図３】本発明の実施形態（第２実施形態）に係るアレイ装置の概略的な構成を示す図である。
【図４】本発明の実施形態（第３実施形態）に係るニューラルネットワークシステムの概略的な構成を示す図である。
【図５】本発明の実施形態（第４実施形態）に係るアレイ装置の概略的な構成を示す図である。
【図６】本発明の実施形態（第５実施形態）に係るニューロモルフィック素子の概略的な構成を示す図である。
【図７】本発明の実施形態（第６実施形態）に係る保持機構の概略的な構成を示す図である。
【図８】本発明の実施形態（第７実施形態）に係る複数のアレイで共通化された配線の概略的な構成を示す図である。
【図９】再帰型のニューラルネットワークシステムにおけるアレイユニットの概念的な構成を示すブロック図である。
【図１０】再帰型のニューラルネットワークシステムにおけるアレイユニットでの信号の流れの概略を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明の実施形態について説明する。
【００１９】
［実施形態における用語の定義］
以下では、説明の便宜上、「アレイ」、「アレイ領域」、「アレイユニット」、「アレイシステム」という用語を使い分ける。
本実施形態では、「アレイ」は、物理的に独立した個々の集積素子群のことを表し、つまり、単体の集積素子群のことを表す。
本実施形態では、「アレイ領域」は、アレイの領域のことを表し、例えば、アレイが有する領域のすべてであってもよく、あるいは、アレイが有する領域の一部であってもよい。例えば、アレイは、当該アレイの領域が複数に分割されて、それぞれの分割領域（分割された領域）ごとに別々に使用されてもよい。また、２個以上のアレイ領域がある場合、例えば、これら２個以上のアレイ領域が同一のアレイの分割領域である場合があってもよく、あるいは、これら２個以上のアレイ領域が異なる２個以上のアレイのそれぞれの領域である場合があってもよい。
【００２０】
本実施形態では、「アレイユニット」は、ニューラルネットワークの一層分を実現するためのアレイと他の回路を含む部分（基本機能単位）のことを表す。当該他の回路は、例えば、入力のための回路、出力のための回路、クロックの回路、活性化関数回路などのうちの１以上を含んでもよい。
本実施形態では、「アレイシステム」は、複数のアレイユニットを含んで構成されたシステムのことを表し、例えば、ニューラルネットワークの識別器などを実現することが可能なシステムの全体を表す。
【００２１】
また、本実施形態では、「アレイ装置」は、アレイを含む任意の装置のことを表し、例えば、アレイであってもよく、アレイユニットであってもよく、あるいは、アレイシステムであってもよい。
また、本実施形態では、信号がアナログ信号であるかデジタル信号であるかが明示されないところでは、アナログ信号が用いられてもよく、あるいは、デジタル信号（デジタル値）が用いられてもよい。
【００２２】
［再帰型のニューラルネットワークシステムの概要］
まず、図９および図１０を参照して、再帰型のニューラルネットワークシステムについて説明する。
図９は、再帰型のニューラルネットワークシステムにおけるアレイユニット１００１の概念的な構成を示すブロック図である。
【００２３】
図９の例では、３層のパーセプトロンを用いた例を示す。
アレイユニット１００１は、ｎ（ｎは１以上の整数）個の信号を入力し、ｒ（ｒは１以上の整数）個の信号を出力する。
アレイユニット１００１は、入力層に、ｎ個のユニット１０１１−１〜１０１１−ｎと、所定値を出力する１個のバイアス項のユニット１０１１−０を備える。
アレイユニット１００１は、順方向結合に関し、隠れ層に、ｍ（ｍは１以上の整数）個のユニット１０２１−１〜１０２１−ｍと、所定値を出力する１個のバイアス項のユニット１０２１−０を備える。
アレイユニット１００１は、出力層に、ｒ（ｒは１以上の整数）個のユニット１０３１−１〜１０３１−ｒを備える。
【００２４】
アレイユニット１００１は、再帰結合に関し、隠れ層に、ｓ（ｓは１以上の整数）個のユニット１１１１−１〜１１１１−ｓと、所定値を出力する１個のバイアス項のユニット１１１１−０を備える。
アレイユニット１００１は、再帰結合に関し、再帰層（記憶層）に、（ｓ＋１）個のユニット１１２１−０〜１１２１−ｓを備える。
【００２５】
図９の例では、ｉ＝１〜ｎとして、順方向結合における入力層における入力信号（入力値）ｘｉを示してある。また、ｉ＝０である場合は、値ｘｉは所定値となる。
また、図９の例では、ｊ＝１〜ｍとして、順方向結合における隠れ層における信号（活性化関数に代入する値）ｕｊを示してあり、また、ｊ＝１〜ｍとして、当該信号が活性化関数に代入された結果の値ｙｊを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。また、ｊ＝０である場合は、値ｙｊは所定値となる。
また、図９の例では、ｋ＝１〜ｒとして、順方向結合における出力層における信号（活性化関数に代入する値）ｖｋを示してあり、また、ｋ＝１〜ｒとして、当該信号が活性化関数に代入された結果の値ｚｋを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。
【００２６】
また、図９の例では、ｄ＝１〜ｓとして、再帰結合における隠れ層における信号（活性化関数に代入する値）ｕｄを示してあり、また、ｄ＝１〜ｓとして、当該信号が活性化関数に代入された結果の値ｙｄを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。また、ｄ＝０である場合は、値ｙｄは所定値となる。
また、図９の例では、ｅ＝０〜ｓとして、再帰結合における再帰層における信号（活性化関数に代入する値）ｈｅを示してあり、また、ｅ＝０〜ｓとして、当該信号が活性化関数に代入された結果の値ｑｅを示してある。なお、活性化関数は、必ずしも用いられなくてもよい。
【００２７】
ここで、本実施形態では、順方向結合における隠れ層のユニットの数である（ｍ＋１）と、再帰結合における隠れ層のユニットの数である（ｓ＋１）とが等しいとし、つまり、ｓ＝ｍである場合を説明する。他の例として、ｓとｍとが等しくない構成が用いられてもよく、例えば、ｓがｍよりも小さい値である構成が用いられてもよい。
【００２８】
入力層におけるそれぞれのユニット１０１１−１〜１０１１−ｎは、ｎ個の入力信号（入力値）のそれぞれを入力して出力する。
また、入力層におけるユニット１０１１−０は、所定の信号（値）を出力する。
【００２９】
隠れ層におけるそれぞれのユニット１０２１−１〜１０２１−ｍは、入力層における（ｎ＋１）個のユニット１０１１−０〜１０１１−ｎからの出力信号（出力値）について所定の重みを用いて積和演算した結果の信号（値）と再帰層におけるｓ個のユニット１１２１−１〜１１２１−ｓのそれぞれからの出力信号（出力値）とを加算し、その加算結果の信号（値）をユニット１０２１−１〜１０２１−ｍの各々の活性化関数に入力することで得られる出力値を、出力層におけるそれぞれのユニット１０３１−１〜１０３１−ｒに出力する。この積和演算は、入力層の出力から隠れ層の入力までの間で行われる。重みは、例えば、入力層におけるそれぞれのユニット１０１１−０〜１０１１−ｎごとに異なってもよく、また、隠れ層におけるそれぞれのユニット１０２１−１〜１０２１−ｍごとに異なってもよい。
また、隠れ層におけるユニット１０２１−０は、所定の信号（値）と、再帰層におけるユニット１１２１−０からの出力信号（出力値）とを加算した結果の信号（値）をユニット１０２１−０の活性化関数に入力することで得られる出力値を、出力する。
【００３０】
出力層におけるそれぞれのユニット１０３１−１〜１０３１−ｒは、隠れ層における（ｍ＋１）個のユニット１０２１−０〜１０２１−ｍからの出力信号（出力値）について所定の重みを用いて積和演算した結果の信号（値）をユニット１０３１−１〜１０３１−ｒの各々の活性化関数に入力することで得られる出力値を、出力する。この積和演算は、隠れ層の出力から出力層の出力までの間で行われる。重みは、例えば、隠れ層におけるそれぞれのユニット１０２１−０〜１０２１−ｍごとに異なってもよく、また、出力層におけるそれぞれのユニット１０３１−１〜１０３１−ｒごとに異なってもよい。
【００３１】
ここで、一例として、再帰結合における隠れ層のユニット１１１１−０〜１１１１−ｓの出力信号（出力値）としては、順方向結合における隠れ層のユニット１０２１−０〜１０２１−ｍの出力信号（出力値）を複製（コピー）したものが用いられてもよい。他の例として、再帰結合における隠れ層のユニット１１１１−０〜１１１１−ｓと、順方向結合における隠れ層のユニット１０２１−０〜１０２１−ｍとが一部または全部で共通化されてもよく、特に、本実施形態のようにｓ＝ｍであるときは全部のユニットを共通化することが可能である。
【００３２】
再帰層におけるそれぞれのユニット１１２１−０〜１１２１−ｓは、再帰結合における隠れ層における（ｓ＋１）個のユニット１１１１−０〜１１１１−ｓからの出力信号（出力値）について所定の重みを用いて積和演算した結果の信号（値）をユニット１１２１−０〜１１２１−ｓの各々の活性化関数に入力することで得られる出力値を、順方向結合における隠れ層におけるユニット１０２１−０〜１０２１−ｓのそれぞれに出力する。この積和演算は、再帰結合における隠れ層の出力から再帰層の出力までの間で行われる。重みは、例えば、再帰結合における隠れ層のそれぞれのユニット１１１１−０〜１１１１−ｓごとに異なってもよく、また、再帰層におけるそれぞれのユニット１１２１−０〜１１２１−ｓごとに異なってもよい。
ここで、再帰層におけるそれぞれのユニット１１２１−０〜１１２１−ｓからの出力信号は、再帰の信号として、順方向結合における隠れ層のそれぞれのユニット１０２１−０〜１０２１−ｍに出力される。
【００３３】
なお、本実施形態では、順方向結合において、前段の層におけるそれぞれのユニットから後段の層におけるすべてのユニット（固定値とされるバイアス項のユニットを除く。）へ信号を出力するニューラルネットワークの構成を示すが、他の構成が用いられてもよい。図９の例では、順方向結合において、入力層におけるそれぞれのユニット１０１１−０〜１０１１−ｎから隠れ層におけるｍ個のユニット１０２１−１〜１０２１−ｍのすべてへ信号を出力しており、また、隠れ層におけるそれぞれのユニット１０２１−０〜１０２１−ｍから出力層におけるｒ個のユニット１０３１−１〜１０３１−ｒのすべてへ信号を出力している。
【００３４】
また、本実施形態では、再帰結合において、前段の層におけるそれぞれのユニットから後段の層におけるすべてのユニット（固定値とされるバイアス項のユニットを除く。）へ信号を出力するニューラルネットワークの構成を示すが、他の構成が用いられてもよい。図９の例では、再帰結合における隠れ層におけるそれぞれのユニット１１１１−０〜１１１１−ｓから再帰層における（ｓ＋１）個のユニット１１２１−０〜１１２１−ｓのすべてへ信号を出力している。
【００３５】
ここで、ニューラルネットワークのアレイユニット１００１では、様々なデータを処理してもよい。
例えば、アレイユニット１００１は、画像のデータを入力し、入力された画像のデータの識別結果の情報（識別結果のデータ）を出力してもよい。
一例として、画像は、７８４個の画素（０番目〜７８３番目の画素）を有する画像であってもよい。この場合、当該画像に対応する入力層のユニット数（ｎ）は７８４個となる。
また、図９の例では、識別結果の情報は、出力層から出力されるｒ個の情報となる。
【００３６】
なお、複数の層を有するニューラルネットワークが構成される場合、それぞれの層間（例えば、１−２層間、２−３層間）に対応する重みは、例えば、それぞれの層間ごとに別々のアレイ（例えば、複数のニューロモルフィック素子の並びを層間ごとに持つアレイ）を用いて構成されてもよく、あるいは、１組のアレイ（例えば、複数のニューロモルフィック素子の並びを持つ１組のアレイ）が、時間差（時分割）などによって仮想的に分割されて、２つ以上の層間に対応する重みを実現する構成が用いられてもよい。さらには、１組のアレイを空間的に複数のサブアレイに分割して２つ以上の層間に対応する重みを実現する構成が用いられてもよい。同様に、１個のニューロモルフィック素子は、例えば、１個の重みに対応して用いられてもよく、あるいは、時間差（時分割）などによって仮想的に分割されて、２個以上の重みに対応して用いられてもよい。
【００３７】
図１０は、再帰型のニューラルネットワークシステムにおけるアレイユニット２００１での信号の流れの概略を示すブロック図である。
アレイユニット２００１は、概略的には、入力層２０１１と、隠れ層２０１２と、出力層２０１３と、再帰層２０２１を備える。
アレイユニット２００１では、順方向結合において、入力値について入力層２０１１から隠れ層２０１２までの間に重み付け（１層目の重み付け）および総和が行われ、当該総和の結果と再帰層２０２１からの出力値とが加算された結果が所定の活性化関数ｆ（）に入力され、当該活性化関数ｆ（）からの出力値が隠れ層２０１２から出力される。また、順方向結合において、隠れ層２０１２からの出力値について隠れ層２０１２から出力層２０１３までの間に重み付け（２層目の重み付け）および総和が行われ、当該総和の結果が所定の活性化関数ｇ（）に入力され、当該活性化関数ｇ（）からの出力値が出力層２０１３から出力される。また、再帰結合において、順方向結合における隠れ層２０１２からの出力値に基づいて再帰層２０２１からの出力値が得られて、当該出力値が順方向結合における隠れ層２０１２に戻される。
【００３８】
なお、順方向結合における隠れ層２０１２における各ユニットの活性化関数ｆ（）は、例えば、当該各ユニットごとに異なってもよく、あるいは、２個以上のユニットで同一であってもよい。
同様に、出力層２０１３における各ユニットの活性化関数ｇ（）は、例えば、当該各ユニットごとに異なってもよく、２個以上のユニットで同一であってもよい。
【００３９】
ここで、アレイユニット２００１において、説明の便宜上、入力層２０１１および１層目の重み付けの部分を入力重み付け部３０２１と呼び、再帰層２０２１の部分を再帰層部３０２２と呼び、順方向結合における隠れ層２０１２における活性化関数ｆ（）の部分を活性化関数部３０２３と呼ぶ。
【００４０】
（式１）には、順方向結合における隠れ層２０１２における各ユニットからの出力値ｙｊｔを示してある。ｕｊｔは、活性化関数部３０２３における活性化関数ｆ（）への入力値であり、順方向結合における入力重み付け部３０２１からの値Ｑ１と、再帰層部３０２２からの値Ｑ２との和である。
【００４１】
【数１】
0006489295.tif 000002
【００４２】
（式１）において、ｘｉｔは、時刻ｔにおいて、入力層のｉ（ｉ＝０、１、２、・・・、ｎ）番目のユニット１０１１−ｉから出力される値を表す。また、ｗ（Ｌ）ｊ，ｉは、第Ｌ層（ここでは、Ｌ＝１とする。）の重み付けにおいて、入力層のｉ（ｉ＝０、１、２、・・・、ｎ）番目のユニット１０１１−ｉから出力される値が隠れ層のｊ番目のユニット１０２１−ｊに入力されるときに乗算される重みの値を表す。また、ｗ（ｒ）ｊ，ｊ’は、再帰層のｊ’（＝ｅ）番目のユニット１１２１−ｊ’から出力される値が隠れ層のｊ番目のユニット１０２１−ｊに入力されるときに乗算される重みの値を表す。Ｑ１に関し、Σはｉについての総和を表す。Ｑ２に関し、Σはｊ’についての総和を表す。ｕｊｔは、時刻ｔにおいて、隠れ層のｊ番目のユニット１０２１−ｊにおける積和演算の結果の値の和（Ｑ１＋Ｑ２）を表す。ｆ（ｕｊｔ）は、ｕｊｔを所定の活性化関数ｆ（）に代入したときに得られる結果の値を表す。当該値に相当するｙｊｔは、時刻ｔにおいて、隠れ層のｊ番目のユニット１０２１−ｊから出力される値を表す。
【００４３】
ここで、説明の便宜上、時刻ｔは、１ずつ進んでいくと想定している。この場合、例えば、１ずつ進む時刻ｔの離散的な間隔がクロックの間隔であると捉えることが可能である。また、このような時刻ｔごとのデータを、離散時間単位（離散的な時間の単位）のデータと捉えることも可能である。
また、再帰型の構成が用いられる場合、処理される信号としては、例えば、時間的な前後で関係性を有する信号が用いられる。
【００４４】
また、再帰型の構成で用いられる再帰の情報としては、任意の時間だけ遅延した情報が用いられてもよく、例えば、新たな時刻ｔの信号に対して、任意の時間Ｔｄ（Ｔｄ＞０）遅延した時刻（ｔ−Ｔｄ）の情報が、再帰の情報として用いられてもよい。
また、再帰型の構成で用いられる再帰の情報としては、例えば、一定の時間（１種類の時間）遅延した情報が用いられてもよく、あるいは、複数の異なる時間（２種類以上の異なる時間）遅延した情報が用いられてもよい。
【００４５】
（第１実施形態）
図１は、本発明の実施形態（第１実施形態）に係るアレイ装置１の概略的な構成を示す図である。
本実施形態では、アレイ装置１は、ニューラルネットワークにおける第Ｌ層のアレイユニットに相当する。本実施形態では、Ｌ＝１である場合を説明するが、Ｌが２以上である場合についても同様である。
アレイ装置１は、入力インタフェース（入力ＩＦ）２１と、変換回路２２と、重みアレイ２３と、再帰重みアレイ２４と、検出回路２５と、活性化関数回路（ニューロン回路）２６と、保持機構２７と、同期回路２８と、出力バッファ２９を備える。
【００４６】
これらの配置の一例が、図１に示される配置である。
ここでは、説明の便宜上、長方形（正方形でもよい。）の一辺（および対向する辺）の方向を縦方向と呼び、縦方向の２つの方向を上下の方向とし、それに対して垂直な一辺（および対向する辺）の方向を横方向と呼び、横方向の２つの方向を左右の方向として、説明する。
図１の例に係るアレイ装置１では、上側の入力インタフェース２１と下側の同期回路２８とが縦方向に並んで配置されており、これらに対して変換回路２２が横方向の右側に並んで配置されている。また、上側の重みアレイ２３と下側の再帰重みアレイ２４とが縦方向に並んで配置されており、これらは変換回路２２の右側に並んで配置されている。また、同期回路２８および変換回路２２の下側に保持機構２７が並んで配置されている。また、再帰重みアレイ２４の下側に、検出回路２５、活性化関数回路２６、出力バッファ２９が順番に並んで配置されている。
なお、図１の例に係る配置は、概略的なものである。また、図１の例に限られず、様々な配置が用いられてもよい。
【００４７】
入力インタフェース２１は、外部から信号（例えば、データの値）を入力するインタフェースの回路である。そして、入力インタフェース２１は、入力された信号を変換回路２２に出力する。第１層においては、入力インタフェース２１は、例えば、ニューラルネットワークの外部から当該ニューラルネットワークに入力されるデータの信号を入力する。
なお、第２層以降では、入力インタフェース２１は、前段の層から出力されるデータの信号を入力する。
【００４８】
変換回路２２は、入力インタフェース２１から入力された信号を、重みアレイ２３で処理される信号へ変換する。そして、変換回路２２は、変換された信号を重みアレイ２３に出力する。
また、変換回路２２は、同期回路２８から入力された信号を、再帰重みアレイ２４で処理される信号へ変換する。そして、変換回路２２は、変換された信号を再帰重みアレイ２４に出力する。
【００４９】
重みアレイ２３は、順方向結合における第Ｌ層（本実施形態では、Ｌ＝１）の重みによる積和演算を行うアレイである。重みアレイ２３は、変換回路２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、重みアレイ２３は、積和演算の結果の信号を再帰重みアレイ２４に出力する。
説明の便宜上、図９の例を用いると、第１層の重みアレイ２３は、図９に示される順方向結合における入力層と隠れ層との間における積和演算を行うアレイに相当する。
【００５０】
再帰重みアレイ２４は、再帰結合における再帰層の重みによる積和演算を行うアレイである。再帰重みアレイ２４は、変換回路２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行い、さらに、当該積和演算の結果の信号と重みアレイ２３から入力された積和演算の結果の信号とを加算する。そして、再帰重みアレイ２４は、このような加算の結果の信号を検出回路２５に出力する。
説明の便宜上、図９の例を用いると、再帰重みアレイ２４は、図９に示される再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算（例えば、再帰結合において活性化関数が用いられる場合にはその演算）、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
【００５１】
ここで、重みアレイ２３および再帰重みアレイ２４は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、重みアレイ２３および再帰重みアレイ２４は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みの値とを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【００５２】
検出回路２５は、再帰重みアレイ２４から出力された信号を入力し、入力された信号を、活性化関数回路２６で処理される信号へ変換する。そして、検出回路２５は、変換された信号を活性化関数回路２６に出力する。
なお、検出回路２５は、一例として、デジタルの信号（デジタルの値）を処理する。
【００５３】
活性化関数回路２６は、検出回路２５から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を保持機構２７と出力バッファ２９に出力する。
ここで、本実施形態に係るアレイ装置１では、活性化関数回路２６を備える構成を示すが、他の構成例として、活性化関数回路２６を備えない構成が用いられてもよく、この場合、検出回路２５から出力される信号が保持機構２７と出力バッファ２９に出力される。
【００５４】
保持機構２７は、活性化関数回路２６から入力された信号（その値）を保持（記憶）する。そして、保持機構２７は、同期回路２８により制御されて、保持された信号（その値）を同期回路２８に出力する。
ここで、保持機構２７は、例えば、信号（その値）を保持（記憶）するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構２７は、例えば、保持されてから読み出される信号（その値）について、任意の時間の遅延を与えてもよく、本実施形態では、１単位の時間分の遅延を与える構成となっている。
【００５５】
同期回路２８は、保持機構２７を制御し、保持機構２７により保持された信号（その値）を読み出して変換回路２２に出力する。この場合に、同期回路２８は、入力インタフェース２１から変換回路２２に入力される信号のタイミングと、保持機構２７から読み出されて変換回路２２に入力される信号のタイミングとが所定のタイミング関係となるように制御する。当該所定のタイミング関係としては、本実施形態では、図９に示されるニューラルネットワークにおける再帰層からの再帰の信号のタイミングが、順方向結合における隠れ層において所定の時間だけ後の信号の情報のタイミングと合うタイミング関係が用いられている。
なお、本実施形態では、保持機構２７に記憶された信号（その値）が同期回路２８を経由して変換回路２２に入力される構成を示したが、他の構成例として、保持機構２７に記憶された信号（その値）が同期回路２８を経由しないで変換回路２２に入力される構成が用いられてもよい。
【００５６】
出力バッファ２９は、活性化関数回路２６から入力された信号をいったん記憶し、記憶された当該信号を外部に出力する。
ここで、時刻ｔにおける入力データｘｔに対して出力データｙｔが出力されるとすると、保持機構２７から変換回路２２に入力される信号ｙｔ−１は、当該出力データｙｔが遅延させられた信号となる。本実施形態では、時刻ｔを１だけ遅延させた信号ｙｔ−１が再帰するように構成されている。
【００５７】
なお、本実施形態では、アレイ装置１は、図９に示される順方向結合における隠れ層から出力される信号に相当する信号（活性化関数ｆ（）の結果の信号）を出力することができるように構成される。
また、例えば、変換回路２２、検出回路２５、あるいは、出力バッファ２９のうちの１以上の回路が省略されてもよい場合には、該当する回路がアレイ装置１に備えられなくてもよい。
【００５８】
図２は、本発明の実施形態（第１実施形態）に係るアレイ装置１における概略的な処理を説明するための図である。
図２には、図１に示されるアレイ装置１を示してあり、さらに、アレイ装置１に関して３個の処理部（入力重み付け部３０１１、再帰層部３０１２、活性化関数部３０１３）を示してある。
入力重み付け部３０１１は、入力インタフェース２１、変換回路２２、および重みアレイ２３によって入力信号を処理する部分である。入力重み付け部３０１１は、（式１）における積和Ｑ１を演算する。
再帰層部３０１２は、同期回路２８、変換回路２２、および再帰重みアレイ２４によって再帰の信号（再帰された出力データ）を処理する部分である。再帰層部３０１２は、（式１）における積和Ｑ２を演算する。また、本実施形態では、再帰層部３０１２は、積和Ｑ１と積和Ｑ２とを加算する機能を有する。
活性化関数部３０１３は、検出回路２５および活性化関数回路２６によって活性化関数ｆ（）の演算を処理する部分である。活性化関数部３０１３は、（式１）における、活性化関数ｆ（）に（Ｑ１＋Ｑ２）を代入したときの結果を演算する。
【００５９】
以上のように、本実施形態に係るアレイ装置１では、ニューロモルフィック素子を用いて再帰型の演算を行うことができる。そして、本実施形態に係るアレイ装置１では、ニューロモルフィック素子を用いて再帰型のニューラルネットワークを簡易に構成することができる。
【００６０】
本実施形態に係るアレイ装置１では、入力側の層（本実施形態では、入力層）の重みと再帰層の重みをマッピングし、再入力機構を備えることで、再帰型のニューラルネットワークの構成単位を実現することが可能である。
本実施形態に係るアレイ装置１では、例えば、ある時刻における信号を処理した積和演算の結果と、それよりも前の信号（時間遅れの信号）を処理した積和演算の結果を、１クロックで取得することが可能である。
【００６１】
なお、本実施形態では、重みアレイ２３と再帰重みアレイ２４とを別々のアレイで構成したが、他の構成例として、同一のアレイにおける領域を２個以上に分割して、重みアレイ２３の機能と再帰重みアレイ２４の機能とを同一のアレイにおける別々の領域で構成することも可能である。この場合、例えば、１個のアレイに入力側の層（本実施形態では、入力層）の重みと再帰層の重みをマッピングし、再帰入力機構を備えることにより、例えば、小さいサイズで再帰型のニューラルネットワークの構成単位を実現することが可能になる。
【００６２】
このように、本実施形態では、ニューロモルフィック素子を用いて所定の演算を行うアレイ装置１の基本的な構成あるいは信号処理を実現する。
例えば、本実施形態に係るアレイ装置１では、ニューロモルフィック素子を含むアレイ（重みアレイ２３、再帰重みアレイ２４）、再帰入力機構、制御機構を備えて、アレイの重みの配置を制御することで、周辺回路を削減すること、あるいは、ネットワークの基本的な構造を単純なアレイを用いて実現することができる。
【００６３】
ここで、例えば、ニューロモルフィック素子を含むアレイの利用が想定されるスタティックなネットワークでは、入力部と出力部とアレイで構成される一面をニューラルネットワークの一つの層間の重みに対応させ、当該アレイを活性化関数回路を介して次段のアレイに接続させることが考えられる。このようなアレイを組み合わせて再帰型のニューラルネットワークを構成する場合、アレイの入出力回路等の周辺回路あるいはアレイ間の配線が増加し、これにより、サイズが増大し、制御回路の設計が複雑になる可能性が考えられる。また、このような場合、複数のアレイなどの回路の同期制御を行うことから、高速化には向かない可能性も考えられる。
このため、理想的には、１個のアレイを使用して、再帰型のニューラルネットワークを構成することが可能な基本単位を構成することができることが望ましい。
【００６４】
本実施形態に係るアレイ装置１では、可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対してニューロモルフィック素子に応じた処理を行った結果の第１の信号（本実施形態では、再帰重みアレイ２４から出力される信号）を出力する第１のアレイ領域（本実施形態では、再帰重みアレイ２４の領域）を備える。また、本実施形態に係るアレイ装置１では、第１のアレイ領域から出力された第１の信号（所定の演算部が用いられない場合）または第１の信号が所定の演算部（本実施形態では、活性化関数回路２６）に入力された場合に出力される第２の信号（本実施形態では、活性化関数回路２６から出力される信号）を保持し、保持された第１の信号または第２の信号を第１のアレイ領域に入力させることが可能な保持部（本実施形態では、保持機構２７）を備える。
このような構成により、本実施形態に係るアレイ装置１では、保持機構２７と再入力機構（例えば、同期回路２８の機構）により、当該アレイ装置１の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
ここで、本実施形態に係るアレイ装置１では、第１のアレイ領域は、再帰型のアレイ領域である。また、所定の演算部は、所定の活性化関数による演算を行う。
【００６５】
本実施形態に係るアレイ装置１では、保持部から第１のアレイ領域に入力される第１の信号または第２の信号は、第１のアレイ領域に入力される他の信号（本実施形態では、重みアレイ２３から入力される信号であり、アレイ装置１への入力信号に応じた信号）と同期させられる。
本実施形態に係るアレイ装置１では、保持部から第１のアレイ領域に入力される第１の信号または第２の信号と、第１のアレイ領域に入力される他の信号は、いずれも、離散時間単位のデータである。また、他の信号は、保持部から第１のアレイ領域に入力される第１の信号または第２の信号と比べて、時間的に後の信号である。
このような構成により、本実施形態に係るアレイ装置１では、例えば、離散的な信号について、サンプリングと同期したシステムを構築することで、外部回路を少なくすること、アレイで時間的な再入力の仕組みを完結することが可能である。離散的な信号は、任意の信号であってもよく、例えば、任意のセンサにより検出される信号であってもよい。
【００６６】
ここで、本実施形態に係るアレイ装置１では、隠れ層におけるすべてのユニットの出力信号（本実施形態では、活性化関数回路２６から出力される信号）が再帰の信号として再帰重みアレイ２４に入力される構成を示したが、他の構成例として、隠れ層における一部のユニットの出力信号（本実施形態では、活性化関数回路２６から出力される一部の信号）が再帰の信号として再帰重みアレイ２４に入力される構成が用いられてもよい。また、例えば、隠れ層における複数のユニットのうちで、ユニットからの出力信号を再帰の信号として再帰重みアレイ２４に入力するユニットと、このような再帰を行わないユニットとを切り替えることが可能な構成が用いられてもよい。このような切り替えは、例えば、ユーザにより手動で行われてもよく、あるいは、あらかじめ定められた規則にしたがって制御部（図示せず）により自動で行われてもよい。
このような構成により、アレイ装置１では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
【００６７】
（第２実施形態）
図３は、本発明の実施形態（第２実施形態）に係るアレイ装置１０１の概略的な構成を示す図である。
本実施形態では、アレイ装置１０１は、ニューラルネットワークにおける第Ｌ層のアレイユニットに相当する。本実施形態では、Ｌ＝１である場合を説明するが、Ｌが２以上である場合についても同様である。
【００６８】
アレイ装置１０１は、入力インタフェース（入力ＩＦ）１２１と、変換回路１２２と、重みアレイ１３１と、再帰重みアレイ１３２と、検出回路１３３と、活性化関数回路１３４と、入力ゲート重みアレイ１４１と、入力ゲート再帰重みアレイ１４２と、検出回路１４３と、活性化関数回路１４４と、忘却ゲート重みアレイ１５１と、忘却ゲート再帰重みアレイ１５２と、検出回路１５３と、活性化関数回路１５４と、出力ゲート重みアレイ１６１と、出力ゲート再帰重みアレイ１６２と、検出回路１６３と、活性化関数回路１６４と、保持機構１７１と、同期回路１７２と、出力バッファ１７３を備える。
【００６９】
出力バッファ１７３は、演算器１８１と、演算器１８２と、演算器１８３を備える。
なお、本実施形態では、出力バッファ１７３が演算器１８１〜１８３を備える構成としたが、他の構成例として、出力バッファ１７３と演算器１８１〜１８３とが別体である構成が用いられてもよい。
【００７０】
これらの配置の一例が、図３に示される配置である。
ここでは、説明の便宜上、長方形（正方形でもよい。）の一辺（および対向する辺）の方向を縦方向と呼び、縦方向の２つの方向を上下の方向とし、それに対して垂直な一辺（および対向する辺）の方向を横方向と呼び、横方向の２つの方向を左右の方向として、説明する。
図３の例に係るアレイ装置１０１では、上側の入力インタフェース１２１と下側の同期回路１７２とが縦方向に並んで配置されており、これらに対して変換回路１２２が横方向の右側に並んで配置されている。また、上側から下側へ重みアレイ１３１と再帰重みアレイ１３２と検出回路１３３が縦方向に並んで配置されており、上側から下側へ入力ゲート重みアレイ１４１と入力ゲート再帰重みアレイ１４２と検出回路１４３が縦方向に並んで配置されており、上側から下側へ忘却ゲート重みアレイ１５１と忘却ゲート再帰重みアレイ１５２と検出回路１５３が縦方向に並んで配置されており、上側から下側へ出力ゲート重みアレイ１６１と出力ゲート再帰重みアレイ１６２と検出回路１６３が縦方向に並んで配置されており、これらが変換回路１２２の右側に順番に横方向に並んで配置されている。また、同期回路１７２および変換回路１２２の下側に保持機構１７１が縦方向に並んで配置されている。また、検出回路１３３の下側に活性化関数回路１３４が縦方向に並んで配置されており、検出回路１４３の下側に活性化関数回路１４４が縦方向に並んで配置されており、検出回路１５３の下側に活性化関数回路１５４が縦方向に並んで配置されており、検出回路１６３の下側に活性化関数回路１６４が縦方向に並んで配置されており、これらが保持機構１７１の右側に順番に横方向に並んで配置されている。また、４個の活性化関数回路１３４、１４４、１５４、１６４の下側に出力バッファ１７３が縦方向に並んで配置されている。出力バッファ１７３において、活性化関数回路１４４の下側に演算器１８１が配置されており、活性化関数回路１５４の下側に演算器１８２が配置されており、活性化関数回路１６４の下側に演算器１８３が配置されている。
なお、図３の例に係る配置は、概略的なものである。また、図３の例に限られず、様々な配置が用いられてもよい。
【００７１】
アレイ装置１０１は、第１実施形態に係るアレイ装置１と比べて、概略的には、重み付けを行うアレイと再帰のアレイとの組み合わせを複数備えた点で相違している。アレイ装置１０１では、上記のように説明の便宜上、重み付けを行うアレイと再帰のアレイとの組み合わせが並ぶ方向を縦方向と呼び、このような組み合わせが複数並ぶ方向を横方向と呼ぶと、複数のアレイが縦方向と横方向に面的に並ぶものであると捉えることができる（縦方向と横方向とは逆に定義されてもよい。）。
本実施形態では、一例として、ＬＳＴＭに適用されたアレイ装置１０１を示す。
【００７２】
入力インタフェース１２１は、外部から信号（例えば、データの値）を入力するインタフェースの回路である。第１層においては、入力インタフェース１２１は、例えば、ニューラルネットワークの外部から当該ニューラルネットワークに入力されるデータの信号を入力する。
なお、第２層以降では、入力インタフェース１２１は、前段の層から出力されるデータの信号を入力する。
【００７３】
変換回路１２２は、入力インタフェース１２１から入力された信号を、重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１で処理される信号へ変換する。そして、変換回路１２２は、変換された信号を重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１に出力する。
ここで、本実施形態では、重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１のそれぞれで処理される信号は同じであるとする。また、本実施形態では、変換回路１２２から重みアレイ１３１に供給される信号は、重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１において、共通の配線を介して伝送される構成となっている。
【００７４】
また、変換回路１２２は、同期回路１７２から入力された信号を、再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２で処理される信号へ変換する。そして、変換回路１２２は、変換された信号を再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２に出力する。
ここで、本実施形態では、再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２のそれぞれで処理される信号は同じであるとする。また、本実施形態では、変換回路１２２から再帰重みアレイ１３２に供給される信号は、再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２において、共通の配線を介して伝送される構成となっている。
【００７５】
重みアレイ１３１は、順方向結合における第Ｌ層（本実施形態では、Ｌ＝１）の重みによる積和演算を行うアレイである。重みアレイ１３１は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、重みアレイ１３１は、積和演算の結果の信号を再帰重みアレイ１３２に出力する。
【００７６】
再帰重みアレイ１３２は、再帰結合における再帰層の重みによる積和演算を行うアレイである。再帰重みアレイ１３２は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行い、さらに、当該積和演算の結果の信号と重みアレイ１３１から入力された積和演算の結果の信号とを加算する。そして、再帰重みアレイ１３２は、このような加算の結果の信号を検出回路１３３に出力する。
説明の便宜上、図９の例を用いると、再帰重みアレイ１３２は、図９に示される再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算（例えば、再帰結合において活性化関数が用いられる場合にはその演算）、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
【００７７】
ここで、重みアレイ１３１および再帰重みアレイ１３２は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、重みアレイ１３１および再帰重みアレイ１３２は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【００７８】
入力ゲート重みアレイ１４１は、ＬＳＴＭにおける入力ゲートの重みによる積和演算を行うアレイである。入力ゲート重みアレイ１４１は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、入力ゲート重みアレイ１４１は、積和演算の結果の信号を入力ゲート再帰重みアレイ１４２に出力する。
【００７９】
入力ゲート再帰重みアレイ１４２は、ＬＳＴＭにおける入力ゲートの再帰層の重みによる積和演算を行うアレイである。入力ゲート再帰重みアレイ１４２は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行い、さらに、当該積和演算の結果の信号と入力ゲート重みアレイ１４１から入力された積和演算の結果の信号とを加算する。そして、入力ゲート再帰重みアレイ１４２は、このような加算の結果の信号を検出回路１４３に出力する。
入力ゲート再帰重みアレイ１４２は、入力ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算（例えば、再帰結合において活性化関数が用いられる場合にはその演算）、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
【００８０】
ここで、入力ゲート重みアレイ１４１および入力ゲート再帰重みアレイ１４２は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、入力ゲート重みアレイ１４１および入力ゲート再帰重みアレイ１４２は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【００８１】
忘却ゲート重みアレイ１５１は、ＬＳＴＭにおける忘却ゲートの重みによる積和演算を行うアレイである。忘却ゲート重みアレイ１５１は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、忘却ゲート重みアレイ１５１は、積和演算の結果の信号を忘却ゲート再帰重みアレイ１５２に出力する。
【００８２】
忘却ゲート再帰重みアレイ１５２は、ＬＳＴＭにおける忘却ゲートの再帰層の重みによる積和演算を行うアレイである。忘却ゲート再帰重みアレイ１５２は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行い、さらに、当該積和演算の結果の信号と忘却ゲート重みアレイ１５１から入力された積和演算の結果の信号とを加算する。そして、忘却ゲート再帰重みアレイ１５２は、このような加算の結果の信号を検出回路１５３に出力する。
忘却ゲート再帰重みアレイ１５２は、忘却ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算（例えば、再帰結合において活性化関数が用いられる場合にはその演算）、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
【００８３】
ここで、忘却ゲート重みアレイ１５１および忘却ゲート再帰重みアレイ１５２は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、忘却ゲート重みアレイ１５１および忘却ゲート再帰重みアレイ１５２は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【００８４】
出力ゲート重みアレイ１６１は、ＬＳＴＭにおける出力ゲートの重みによる積和演算を行うアレイである。出力ゲート重みアレイ１６１は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、出力ゲート重みアレイ１６１は、積和演算の結果の信号を出力ゲート再帰重みアレイ１６２に出力する。
【００８５】
出力ゲート再帰重みアレイ１６２は、ＬＳＴＭにおける出力ゲートの再帰層の重みによる積和演算を行うアレイである。出力ゲート再帰重みアレイ１６２は、変換回路１２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行い、さらに、当該積和演算の結果の信号と出力ゲート重みアレイ１６１から入力された積和演算の結果の信号とを加算する。そして、出力ゲート再帰重みアレイ１６２は、このような加算の結果の信号を検出回路１６３に出力する。
出力ゲート再帰重みアレイ１６２は、出力ゲートに関し、再帰結合における隠れ層と再帰層との間における積和演算、必要な場合には再帰層からの出力信号の演算（例えば、再帰結合において活性化関数が用いられる場合にはその演算）、および上記のような順方向結合における情報と再帰結合における情報との加算を行うアレイに相当する。
【００８６】
ここで、出力ゲート重みアレイ１６１および出力ゲート再帰重みアレイ１６２は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、出力ゲート重みアレイ１６１および出力ゲート再帰重みアレイ１６２は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【００８７】
検出回路１３３は、再帰重みアレイ１３２から出力された信号を入力し、入力された信号を、活性化関数回路１３４で処理される信号へ変換する。そして、検出回路１３３は、変換された信号を活性化関数回路１３４に出力する。
検出回路１４３は、入力ゲート再帰重みアレイ１４２から出力された信号を入力し、入力された信号を、活性化関数回路１４４で処理される信号へ変換する。そして、検出回路１４３は、変換された信号を活性化関数回路１４４に出力する。
検出回路１５３は、忘却ゲート再帰重みアレイ１５２から出力された信号を入力し、入力された信号を、活性化関数回路１５４で処理される信号へ変換する。そして、検出回路１５３は、変換された信号を活性化関数回路１５４に出力する。
検出回路１６３は、出力ゲート再帰重みアレイ１６２から出力された信号を入力し、入力された信号を、活性化関数回路１６４で処理される信号へ変換する。そして、検出回路１６３は、変換された信号を活性化関数回路１６４に出力する。
なお、それぞれの検出回路１３３、１４３、１５３、１６３は、一例として、デジタルの信号（デジタルの値）を処理する。
【００８８】
活性化関数回路１３４は、検出回路１３３から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力バッファ１７３に出力する。
活性化関数回路１４４は、検出回路１４３から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力バッファ１７３に出力する。
活性化関数回路１５４は、検出回路１５３から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力バッファ１７３に出力する。
活性化関数回路１６４は、検出回路１６３から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力バッファ１７３に出力する。
なお、活性化関数ｆ（）は、それぞれの活性化関数回路１３４、１４４、１５４、１６４ごとに異なってもよい。
【００８９】
ここで、本実施形態に係るアレイ装置１０１では、活性化関数回路１３４、１４４、１５４、１６４を備える構成を示すが、他の構成例として、活性化関数回路１３４、１４４、１５４、１６４を備えない構成が用いられてもよく、この場合、検出回路１３３、１４３、１５３、１６３から出力される信号が出力バッファ１７３に出力される。
【００９０】
保持機構１７１は、出力バッファ１７３から入力された信号（その値）を保持（記憶）する。そして、保持機構１７１は、同期回路１７２により制御されて、保持された信号（その値）を同期回路１７２に出力する。
ここで、保持機構１７１は、例えば、信号（その値）を保持（記憶）するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構１７１は、例えば、保持されてから読み出される信号（その値）について、任意の時間の遅延を与えてもよく、本実施形態では、１単位の時間分の遅延を与える構成となっている。
【００９１】
同期回路１７２は、保持機構１７１を制御し、保持機構１７１により保持された信号（その値）を読み出して変換回路１２２に出力する。この場合に、同期回路１７２は、入力インタフェース１２１から変換回路１２２に入力される信号のタイミングと、保持機構１７１から読み出されて変換回路１２２に入力される信号のタイミングとが所定のタイミング関係となるように制御する。当該所定のタイミング関係としては、ＬＳＴＭのニューラルネットワークにおける再帰層からの再帰の信号のタイミングが、順方向結合における隠れ層において所定の時間だけ後の信号の情報のタイミングと合うタイミング関係が用いられている。
なお、本実施形態では、保持機構１７１に記憶された信号（その値）が同期回路１７２を経由して変換回路１２２に入力される構成を示したが、他の構成例として、保持機構１７１に記憶された信号（その値）が同期回路１７２を経由しないで変換回路１２２に入力される構成が用いられてもよい。
【００９２】
出力バッファ１７３は、４個の活性化関数回路１３４、１４４、１５４、１６４から入力された信号をいったん記憶し、記憶された当該信号に基づいて演算される信号を外部に出力する。
ここで、時刻ｔにおける入力データｘｔに対して出力データｙｔが出力されるとすると、保持機構１７１から変換回路１２２に入力される信号ｙｔ−１は、当該出力データｙｔが遅延させられた信号となる。本実施形態では、時刻ｔを１だけ遅延させた信号ｙｔ−１が再帰するように構成されている。
【００９３】
出力バッファ１７３では、４個の活性化関数回路１３４、１４４、１５４、１６４から出力された信号について、３個の演算器１８１〜１８３により演算を行い、その演算の結果の信号を出力する。
ここで、それぞれの演算器１８１は、例えば、乗算、または、加算を行う。
【００９４】
一例として、演算器１８１は、活性化関数回路１３４から入力された信号と、活性化関数回路１４４から入力された信号とを乗算し、その乗算の結果の信号を演算器１８２に出力する。
また、演算器１８２は、活性化関数回路１５４から入力された信号と、演算器１８１から入力された信号とを加算し、その加算の結果の信号を演算器１８３に出力する。
また、演算器１８３は、活性化関数回路１６４から入力された信号と、演算器１８２から入力された信号とを乗算し、その乗算の結果の信号を出力する。当該信号が、出力バッファ１７３から出力される信号となる。
【００９５】
なお、本実施形態では、変換回路１２２、検出回路１３３、１４３、１５３、１６３あるいは出力バッファ１７３（ここでは、３個の演算器１８１〜１８３の機能以外の部分）のうちの１以上の回路が省略されてもよい場合には、該当する回路がアレイ装置１０１に備えられなくてもよい。
【００９６】
以上のように、本実施形態に係るアレイ装置１０１では、ニューロモルフィック素子を用いて再帰型の演算を行うことができる。そして、本実施形態に係るアレイ装置１０１では、ニューロモルフィック素子を用いて再帰型のニューラルネットワークを簡易に構成することができる。
本実施形態に係るアレイ装置１０１では、ニューラルネットワークにおける複数の異なる系統（重みアレイ１３１の系統、入力ゲート重みアレイ１４１の系統、忘却ゲート重みアレイ１５１の系統、出力ゲート重みアレイ１６１の系統）の結合部を並列的に有しており、これら複数の系統における処理結果の信号を演算器１８１〜１８３により演算して再帰させることが可能である。
【００９７】
本実施形態に係るアレイ装置１０１では、可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対してニューロモルフィック素子に応じた処理を行った結果の第１の信号（本実施形態では、再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２から出力される信号）を出力する第１のアレイ領域（本実施形態では、再帰重みアレイ１３２の領域、入力ゲート再帰重みアレイ１４２の領域、忘却ゲート再帰重みアレイ１５２の領域、出力ゲート再帰重みアレイ１６２の領域）を備える。また、本実施形態に係るアレイ装置１０１では、第１のアレイ領域から出力された第１の信号（所定の演算部が用いられない場合）または第１の信号が所定の演算部（本実施形態では、活性化関数回路１３４、１４４、１５４、１６４および演算器１８１〜１８３）に入力された場合に出力される第２の信号（本実施形態では、演算器１８３から出力される信号）を保持し、保持された第１の信号または第２の信号を第１のアレイ領域に入力させることが可能な保持部（本実施形態では、保持機構１７１）を備える。
このような構成により、本実施形態に係るアレイ装置１０１では、保持機構１７１と再入力機構（例えば、同期回路１７２の機構）により、当該アレイ装置１０１の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
【００９８】
本実施形態に係るアレイ装置１０１では、保持部から第１のアレイ領域に入力される第１の信号または第２の信号は、第１のアレイ領域に入力される他の信号（本実施形態では、重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１から入力される信号であり、アレイ装置１０１への入力信号に応じた信号）と同期させられる。
本実施形態に係るアレイ装置１０１では、保持部から第１のアレイ領域に入力される第１の信号または第２の信号と、第１のアレイ領域に入力される他の信号は、いずれも、離散時間単位のデータである。また、他の信号は、保持部から第１のアレイ領域に入力される第１の信号または第２の信号と比べて、時間的に後の信号である。
このような構成により、本実施形態に係るアレイ装置１０１では、例えば、離散的な信号について、サンプリングと同期したシステムを構築することで、外部回路を少なくすること、アレイで時間的な再入力の仕組みを完結することが可能である。離散的な信号は、例えば、任意の信号であってもよく、任意のセンサにより検出される信号であってもよい。
【００９９】
また、本実施形態に係るアレイ装置１０１では、第１のアレイ領域は、共通の配線を含む複数の異なる領域（本実施形態では、再帰重みアレイ１３２の領域、入力ゲート再帰重みアレイ１４２の領域、忘却ゲート再帰重みアレイ１５２の領域、出力ゲート再帰重みアレイ１６２の領域）を有し、第１の信号としてこれら複数の領域から信号を出力する。また、本実施形態に係るアレイ装置１０１では、保持部は、第１のアレイ領域が有する複数の領域から出力された信号が演算部に入力された場合に出力される第２の信号を保持し、保持された第２の信号を第１のアレイ領域が有する複数の領域のうちの１個以上（本実施形態では、すべて）に入力させることが可能である。
このような構成により、本実施形態に係るアレイ装置１０１では、複数のアレイの領域を並列に設けることで各ゲートの演算を同時に行うことが可能である。本実施形態に係るアレイ装置１０１では、例えば、ＬＳＴＭなどのように、入力信号と再帰信号を複数のゲートで使用する場合に対応することができる。
【０１００】
また、本実施形態では、入力側の層のアレイ（重みアレイ１３１、入力ゲート重みアレイ１４１、忘却ゲート重みアレイ１５１、出力ゲート重みアレイ１６１）と再帰側のアレイ（再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２）とを別々のアレイで構成したが、他の構成例として、同一のアレイにおける領域を２個以上に分割して、入力側の層のアレイの機能と再帰側のアレイの機能とを同一のアレイの別々の領域で構成することも可能である。この場合、例えば、１個のアレイに入力側の層（本実施形態では、入力層）の重みと再帰層の重みをマッピングし、再帰入力機構を備えることにより、例えば、小さいサイズで再帰型のニューラルネットワークの構成単位を実現することが可能になる。
【０１０１】
また、本実施形態では、入力側の層のアレイと再帰側のアレイとの４種類の組み合わせ（重みアレイ１３１と再帰重みアレイ１３２との組み合わせ、入力ゲート重みアレイ１４１と入力ゲート再帰重みアレイ１４２との組み合わせ、忘却ゲート重みアレイ１５１と忘却ゲート再帰重みアレイ１５２との組み合わせ、出力ゲート重みアレイ１６１と出力ゲート再帰重みアレイ１６２との組み合わせ）について別々のアレイで構成したが、他の構成例として、同一のアレイにおける領域を２個以上に分割して、２種類以上の組み合わせについて同一のアレイの別々の領域で構成することも可能である。この場合、例えば、１個のアレイに２種類以上の組み合わせに係る重みをマッピングし、再帰入力機構を備えることにより、例えば、小さいサイズで再帰型のニューラルネットワークの構成単位を実現することが可能になる。
【０１０２】
ここで、本実施形態に係るアレイ装置１０１では、隠れ層におけるすべてのユニットの出力信号（本実施形態では、出力バッファ１７３から出力される信号）が再帰の信号として再帰型のアレイ（再帰重みアレイ１３２、入力ゲート再帰重みアレイ１４２、忘却ゲート再帰重みアレイ１５２、出力ゲート再帰重みアレイ１６２）に入力される構成を示したが、他の構成例として、隠れ層における一部のユニットの出力信号（本実施形態では、出力バッファ１７３から出力される一部の信号）が再帰の信号として再帰型のアレイに入力される構成が用いられてもよい。また、例えば、隠れ層における複数のユニットのうちで、ユニットからの出力信号を再帰の信号として再帰型のアレイに入力するユニットと、このような再帰を行わないユニットとを切り替えることが可能な構成が用いられてもよい。
このような切り替えの機構を備えることで、例えば、再帰型のネットワーク層と順方向型のネットワーク層とが混在するようなニューラルネットワークシステムにおいて、同一のモジュールによる階層構造を実現することが容易となり、つまり、同一のモジュールにおいて、再帰型のネットワーク層に対応した部分について再帰型に切り替えるとともに、順方向型のネットワーク層に対応した部分について順方向型（つまり、再帰型ではない型）に切り替えることができる。このような切り替えは、例えば、ユーザにより手動で行われてもよく、あるいは、あらかじめ定められた規則にしたがって制御部（図示せず）により自動で行われてもよい。
このような構成により、アレイ装置１０１では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
【０１０３】
（第３実施形態）
図４は、本発明の実施形態（第３実施形態）に係るニューラルネットワークシステム２０１の概略的な構成を示す図である。
本実施形態では、ニューラルネットワークシステム２０１は、アレイシステムに相当する。
図４には、さらに、イメージセンサ２０２と、自動運転制御ユニット２０３を示してある。本実施形態では、イメージセンサ２０２と自動運転制御ユニット２０３は、自動車などの車両（同一の車両）に備えられている。
【０１０４】
イメージセンサ２０２は、例えば、カメラなどのセンサであり、バッファメモリ（図示せず）を備える。
イメージセンサ２０２は、画像のデータを検出（例えば、撮像）し、検出された画像のデータをバッファメモリに記憶する。画像のデータは、例えば、１フレームごとにバッファメモリに記憶される。
イメージセンサ２０２は、バッファメモリに記憶された画像のデータを各フレームごとにニューラルネットワークシステム２０１に出力する。
【０１０５】
ニューラルネットワークシステム２０１は、イメージセンサ２０２から入力された画像のデータについて、特徴抽出処理および識別処理を行い、これらの処理の結果のデータを自動運転制御ユニット２０３に出力する。
自動運転制御ユニット２０３は、ニューラルネットワークシステム２０１から入力されたデータに基づいて、当該自動運転制御ユニット２０３が備えられた自動車などの車両に関する制御を行う。
【０１０６】
ここで、本実施形態では、イメージセンサ２０２により検出された画像のデータがニューラルネットワークシステム２０１に入力される場合を示したが、ニューラルネットワークシステム２０１に入力されるデータは、任意のデータであってもよい。
また、本実施形態では、ニューラルネットワークシステム２０１から出力されるデータが自動運転制御ユニット２０３に入力される場合を示したが、ニューラルネットワークシステム２０１から出力されるデータは、任意の装置に入力されて使用されてもよい。
【０１０７】
ニューラルネットワークシステム２０１は、デバイスインタフェース２２１と、制御回路２２２と、出力通信インタフェース２２３と、特徴抽出部２３１と、識別部２３２を備える。
特徴抽出部２３１は、２個の同期アレイ部（アレイ装置）２４１〜２４２を並列に備える。
それぞれの同期アレイ部２４１〜２４２は、前段の処理部から出力された信号（データの値）を入力して処理し、処理後の信号を後段の処理部に出力する。
【０１０８】
本実施形態では、それぞれの同期アレイ部２４１〜２４２の構成および動作は、概略的に、第１実施形態に係る図１に示されるアレイ装置１の構成および動作と同様である。このため、本実施形態では、それぞれの同期アレイ部２４１〜２４２の詳しい構成および動作の説明を省略する。
本実施形態では、同期アレイ部２４１は１層目の処理部であり、同期アレイ部２４２は２層目の処理部である。
【０１０９】
１層目の同期アレイ部２４１は、デバイスインタフェース２２１から出力された信号を入力して処理し、処理後の信号を２層目の同期アレイ部２４２に出力する。
２層目の同期アレイ部２４２は、１層目の同期アレイ部２４１から出力された信号を入力して処理し、処理後の信号を識別部２３２に出力する。
ここで、それぞれの同期アレイ部２４１〜２４２は、再帰型の構成を有している。また、それぞれの同期アレイ部２４１〜２４２は、処理対象のデータについて特徴を抽出する処理を行っていると捉えることも可能である。
【０１１０】
識別部２３２は、同期アレイ部３１１と、バッファ３２１を備える。同期アレイ部３１１は、重みアレイ３２２と活性化関数回路３２３を備える。
【０１１１】
これらの配置の一例が、図４に示される配置である。
ここでは、説明の便宜上、長方形（正方形でもよい。）の一辺（および対向する辺）の方向を縦方向と呼び、縦方向の２つの方向を上下の方向とし、それに対して垂直な一辺（および対向する辺）の方向を横方向と呼び、横方向の２つの方向を左右の方向として、説明する。
図４の例に係るニューラルネットワークシステム２０１では、左側から右側へ横方向に、デバイスインタフェース２２１、特徴抽出部２３１、識別部２３２が並んで配置されている。また、特徴抽出部２３１および識別部２３２の上側に制御回路２２２が縦方向に並んで配置されている。また、識別部２３２の下側に出力通信インタフェース２２３が縦方向に並んで配置されている。また、特徴抽出部２３１では、左側から右側へ２個の同期アレイ部２４１〜２４２が横方向に並んで配置されている。また、識別部２３２では、左側から右側へバッファ３２１と同期アレイ部３１１が横方向に並んで配置されている。また、同期アレイ部３１１では、上側から下側へ重みアレイ３２２、活性化関数回路３２３が縦方向に並んで配置されている。
なお、図４の例に係る配置は、概略的なものである。また、図４の例に限られず、様々な配置が用いられてもよい。
【０１１２】
バッファ３２１は、特徴抽出部２３１の最終段の同期アレイ部２４２から出力された信号を入力し、入力された信号をいったん記憶し、記憶された当該信号を重みアレイ３２２に出力する。
【０１１３】
重みアレイ３２２は、順方向結合における出力段の重みによる積和演算を行うアレイである。重みアレイ３２２は、バッファ３２１から入力された信号と、外部の制御回路２２２（制御部の一例）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、重みアレイ３２２は、積和演算の結果の信号を活性化関数回路３２３に出力する。
説明の便宜上、図９の例を用いると、重みアレイ３２２は、図９に示される順方向結合における隠れ層と出力層との間における積和演算を行うアレイに相当する。
【０１１４】
ここで、重みアレイ３２２は、それぞれ、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、重みアレイ３２２は、それぞれ、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【０１１５】
活性化関数回路３２３は、重みアレイ３２２から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力通信インタフェース２２３に出力する。
ここで、識別部２３２は、処理対象のデータについて、特徴抽出部２３１により抽出された特徴に基づいて識別を行っていると捉えることも可能である。
なお、活性化関数ｆ（）は、それぞれの同期アレイ部２４１、２４２、３１１ごとに異なってもよい。
【０１１６】
ここで、本実施形態に係るニューラルネットワークシステム２０１では、活性化関数回路３２３を備える構成を示すが、他の構成例として、活性化関数回路３２３を備えない構成が用いられてもよく、この場合、重みアレイ３２２から出力される信号が出力通信インタフェース２２３に入力される。
【０１１７】
出力通信インタフェース２２３は、識別部２３２の活性化関数回路３２３から入力された信号を外部の自動運転制御ユニット２０３に出力する。
識別部２３２から出力される信号（識別結果のデータ）としては、本実施形態では、デバイスインタフェース２２１に入力された画像のデータについて、当該画像に写っている物体に関するデータである。当該物体としては、本実施形態では、例えば、自動車等の車両が走行している道路、標識、白線、歩行者、対向車などであってもよい。
【０１１８】
制御回路２２２は、ニューラルネットワークシステム２０１における各種の制御を行う。
制御回路２２２は、例えば、同期の制御を行う回路、パワーマネジメントの制御を行う回路、リセットを行う回路、それぞれの重みアレイおよびそれぞれの再帰重みアレイに重みを設定する回路などを備える。
【０１１９】
ここで、制御回路２２２は、例えば、ニューラルネットワークシステム２０１において、学習（機械学習）を行う機能を有してもよい。この場合、制御回路２２２は、ニューラルネットワークシステム２０１において、取得された識別結果の情報（例えば、学習に関する情報）に基づいて、それぞれのアレイに含まれるニューロモルフィック素子に割り当てる重みの値を更新（演算）する機能を有する。
また、制御回路２２２は、それぞれのアレイに含まれるニューロモルフィック素子に重み（その値）を設定する。制御回路２２２は、一例として、それぞれのアレイに含まれるニューロモルフィック素子に対して所定の信号を送信することで、当該信号に応じた重み（その値）を当該ニューロモルフィック素子に設定してもよい。当該所定の信号としては、任意の信号が用いられてもよく、例えば、電圧パルスの信号が用いられてもよい。
【０１２０】
ここで、図４の例では、２個の同期アレイ部２４１〜２４２を並列に備える特徴抽出部２３１を示したが、他の構成例として、１個の同期アレイ部を備える特徴抽出部が用いられてもよく、あるいは、３個以上の同期アレイ部を並列に備える特徴抽出部が用いられてもよい。
また、図４の例では、特徴抽出部２３１に備えられるすべての同期アレイ部２４１〜２４２が再帰型の構成を有する場合を示したが、他の構成例として、複数の同期アレイ部のうちの一部が再帰型の構成を有する特徴抽出部が用いられてもよい。
【０１２１】
以上のように、本実施形態に係るニューラルネットワークシステム２０１では、ニューロモルフィック素子を含むアレイ装置（本実施形態では、同期アレイ部２４１〜２４２）を用いて、ニューラルネットワークの処理を行うことができる。
【０１２２】
（第４実施形態）
図５は、本発明の実施形態（第４実施形態）に係るアレイ装置４０１の概略的な構成を示す図である。
本実施形態では、アレイ装置４０１は、ニューラルネットワークにおける第Ｌ層のアレイユニットに相当する。本実施形態では、Ｌ＝１である場合を説明するが、Ｌが２以上である場合についても同様である。
アレイ装置４０１は、同期アレイ部４２１と、同期アレイ部４２２と、同期回路４２３と、加算回路４２４と、活性化関数回路４２５と、出力バッファ４２６と、保持機構４２７を備える。
【０１２３】
同期アレイ部４２１は、入力インタフェース（入力ＩＦ）５２１と、変換回路５２２と、重みアレイ５２３と、検出回路５２４と、出力バッファ５２５と、同期回路５２６を備える。
再帰の同期アレイ部４２２は、入力インタフェース（入力ＩＦ）６２１と、変換回路６２２と、再帰重みアレイ６２３と、検出回路６２４と、出力バッファ６２５と、同期回路６２６を備える。
【０１２４】
これらの配置の一例が、図５に示される配置である。
ここでは、説明の便宜上、長方形（正方形でもよい。）の一辺（および対向する辺）の方向を縦方向と呼び、縦方向の２つの方向を上下の方向とし、それに対して垂直な一辺（および対向する辺）の方向を横方向と呼び、横方向の２つの方向を左右の方向として、説明する。
図５の例に係るアレイ装置４０１では、右側から左側へ２個の同期アレイ部４２１〜４２２が横方向に並んで配置されている。また、右側から左側へ同期回路４２３、加算回路４２４が横方向に並んで配置されており、これらが２個の同期アレイ部４２１〜４２２の下側に縦方向に並んで配置されている。また、加算回路４２４の下側に活性化関数回路４２５が縦方向に並んで配置されている。また、活性化関数回路４２５の下側に出力バッファ４２６が縦方向に並んで配置されている。また、同期アレイ部４２２の上側に保持機構４２７が縦方向に並んで配置されている。
また、それぞれの同期アレイ部４２１〜４２２では、左側から右側へ入力インタフェース５２１、６２１、変換回路５２２、６２２、アレイ（重みアレイ５２３、再帰重みアレイ６２３）が順番に横方向に並んで配置されている。また、入力インタフェース５２１、６２１および変換回路５２２、６２２の下側に同期回路５２６、６２６が縦方向に並んで配置されている。また、アレイ（重みアレイ５２３、再帰重みアレイ６２３）の下側に検出回路５２４、６２４が縦方向に並んで配置されている。また、検出回路５２４、６２４の下側に出力バッファ５２５、６２５が縦方向に並んで配置されている。また、同期回路５２６、６２６と検出回路５２４、６２４とは横方向に並んで配置されている。
なお、図５の例に係る配置は、概略的なものである。また、図５の例に限られず、様々な配置が用いられてもよい。
【０１２５】
同期アレイ部４２１において行われる処理を説明する。
入力インタフェース５２１は、外部から信号（例えば、データの値）を入力するインタフェースの回路である。そして、入力インタフェース５２１は、入力された信号を変換回路５２２に出力する。第１層においては、入力インタフェース５２１は、例えば、ニューラルネットワークの外部から当該ニューラルネットワークに入力されるデータの信号を入力する。
なお、第２層以降では、入力インタフェース５２１は、前段の層から出力されるデータの信号を入力する。
【０１２６】
変換回路５２２は、入力インタフェース５２１から入力された信号を、重みアレイ５２３で処理される信号へ変換する。そして、変換回路５２２は、変換された信号を重みアレイ５２３に出力する。
【０１２７】
重みアレイ５２３は、順方向結合における第Ｌ層（本実施形態では、Ｌ＝１）の重みによる積和演算を行うアレイである。重みアレイ５２３は、変換回路５２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、重みアレイ５２３は、積和演算の結果の信号を検出回路５２４に出力する。
説明の便宜上、図９の例を用いると、第１層の重みアレイ５２３は、図９に示される順方向結合における入力層と隠れ層との間における積和演算を行うアレイに相当する。
【０１２８】
ここで、重みアレイ５２３は、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、重みアレイ５２３は、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【０１２９】
検出回路５２４は、重みアレイ５２３から出力された信号を入力し、入力された信号を、後段の処理部（例えば、活性化関数回路４２５）で処理される信号へ変換する。そして、検出回路５２４は、変換された信号を出力バッファ５２５に出力する。
なお、検出回路５２４は、一例として、デジタルの信号（デジタルの値）を処理する。
出力バッファ５２５は、検出回路５２４から入力された信号をいったん記憶し、記憶された当該信号を加算回路４２４に出力する。
同期回路５２６は、同期アレイ部４２１における同期を取るように制御する。
【０１３０】
再帰の同期アレイ部４２２において行われる処理を説明する。
入力インタフェース６２１は、外部から信号（例えば、データの値）を入力するインタフェースの回路である。そして、入力インタフェース６２１は、入力された信号を変換回路６２２に出力する。本実施形態では、入力インタフェース６２１は、保持機構４２７から出力されるデータの信号を入力する。
【０１３１】
変換回路６２２は、入力インタフェース６２１から入力された信号を、再帰重みアレイ６２３で処理される信号へ変換する。そして、変換回路６２２は、変換された信号を再帰重みアレイ６２３に出力する。
【０１３２】
再帰重みアレイ６２３は、再帰結合における再帰層の重みによる積和演算を行うアレイである。再帰重みアレイ６２３は、変換回路６２２から入力された信号と、外部の制御部（図示せず）により設定された重みに基づいて、あらかじめ設計された積和演算を行う。そして、再帰重みアレイ６２３は、積和演算の結果の信号を検出回路６２４に出力する。
説明の便宜上、図９の例を用いると、再帰重みアレイ６２３は、図９に示される再帰結合における隠れ層と再帰層との間における積和演算を行うアレイに相当する。
【０１３３】
ここで、再帰重みアレイ６２３は、図９の例に示されるように、複数のユニットに相当する演算を行う。
また、本実施形態では、再帰重みアレイ６２３は、ニューロモルフィック素子を備え、当該ニューロモルフィック素子により信号に重みを与える。具体的には、当該ニューロモルフィック素子は、入力された信号と設定された重みとを乗算して、乗算の結果の信号を出力する。
また、２個の信号の加算は、例えば、これら２個の信号（その値）をデジタル的に加算する加算器を用いて行われてもよく、あるいは、これら２個の信号の電流などをアナログ的に加算する信号線などを用いて構成されてもよい。
【０１３４】
検出回路６２４は、再帰重みアレイ６２３から出力された信号を入力し、入力された信号を、後段の処理部（例えば、活性化関数回路４２５）で処理される信号へ変換する。そして、検出回路６２４は、変換された信号を出力バッファ６２５に出力する。
なお、検出回路６２４は、一例として、デジタルの信号（デジタルの値）を処理する。
出力バッファ６２５は、検出回路６２４から入力された信号をいったん記憶し、記憶された当該信号を加算回路４２４に出力する。
同期回路６２６は、再帰の同期アレイ部４２２における同期を取るように制御する。
【０１３５】
ここで、図５の例では、再帰の同期アレイ部４２２において、活性化関数回路を備えない構成を示したが、他の構成例として、活性化関数回路を備えてもよい。一例として、検出回路６２４と出力バッファ６２５との間に活性化関数回路を備えてもよく、この場合、活性化関数回路は、検出回路６２４から出力された信号を入力し、入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を出力バッファ６２５に出力する。
【０１３６】
２個の同期アレイ部４２１〜４２２以外の処理部において行われる処理を説明する。
同期回路４２３は、順方向結合と再帰結合とのタイミングの同期を取る制御を行う。
例えば、同期回路４２３は、保持機構４２７を制御し、保持機構４２７により保持された信号（その値）を読み出して再帰の同期アレイ部４２２に出力する。この場合に、同期回路４２３は、同期アレイ部４２１から加算回路４２４に入力される信号のタイミングと、再帰の同期アレイ部４２２から加算回路４２４に入力される信号のタイミングとが所定のタイミング関係となるように制御する。当該所定のタイミング関係としては、本実施形態では、図９に示されるニューラルネットワークにおける再帰層からの再帰の信号のタイミングが、順方向結合における隠れ層において所定の時間だけ後の信号の情報のタイミングと合うタイミング関係が用いられている。
【０１３７】
加算回路４２４は、同期アレイ部４２１から入力された信号（本実施形態では、積和演算の結果の信号）と、再帰の同期アレイ部４２２から入力された信号（本実施形態では、積和演算の結果の信号）とを加算し、その加算の結果の信号を活性化関数回路４２５に出力する。
【０１３８】
活性化関数回路４２５は、加算回路４２４から入力された信号を所定の活性化関数ｆ（）に代入したときにおける当該活性化関数ｆ（）の演算結果の信号を保持機構４２７と出力バッファ４２６に出力する。
ここで、本実施形態に係るアレイ装置４０１では、活性化関数回路４２５を備える構成を示すが、他の構成例として、活性化関数回路４２５を備えない構成が用いられてもよく、この場合、加算回路４２４から出力される信号が保持機構４２７と出力バッファ４２６に出力される。
【０１３９】
出力バッファ４２６は、活性化関数回路４２５から入力された信号をいったん記憶し、記憶された当該信号を外部に出力する。
【０１４０】
保持機構４２７は、活性化関数回路４２５から入力された信号（その値）を保持（記憶）する。そして、保持機構４２７は、同期回路４２３により制御されて、保持された信号（その値）を再帰の同期アレイ部４２２に出力する。
ここで、保持機構４２７は、例えば、信号（その値）を保持（記憶）するレジスタなどのメモリを用いて構成されてもよい。
また、保持機構４２７は、例えば、保持されてから読み出される信号（その値）について、任意の時間の遅延を与えてもよく、本実施形態では、１単位の時間分の遅延を与える構成となっている。
【０１４１】
ここで、時刻ｔにおける入力データｘｔに対して出力データｙｔが出力されるとすると、保持機構４２７から再帰の同期アレイ部４２２に入力される信号ｙｔ−１は、当該出力データｙｔが遅延させられた信号となる。本実施形態では、時刻ｔを１だけ遅延させた信号ｙｔ−１が再帰するように構成されている。
【０１４２】
なお、本実施形態では、アレイ装置４０１は、図９に示される順方向結合における隠れ層から出力される信号に相当する信号（活性化関数ｆ（）の結果の信号）を出力することができるように構成される。
また、例えば、変換回路５２２、６２２、検出回路５２４、６２４、あるいは、出力バッファ５２５、６２５、４２６のうちの１以上の回路が省略されてもよい場合には、該当する回路がアレイ装置４０１に備えられなくてもよい。
【０１４３】
以上のように、本実施形態に係るアレイ装置４０１では、ニューロモルフィック素子を用いて再帰型の演算を行うことができる。そして、本実施形態に係るアレイ装置４０１では、ニューロモルフィック素子を用いて再帰型のニューラルネットワークを簡易に構成することができる。
【０１４４】
本実施形態に係るアレイ装置４０１では、可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対してニューロモルフィック素子に応じた処理を行った結果の第１の信号（本実施形態では、再帰重みアレイ６２３から出力される信号）を出力する第１のアレイ領域（本実施形態では、再帰重みアレイ６２３の領域）を備える。また、本実施形態に係るアレイ装置４０１では、第１のアレイ領域から出力された第１の信号が所定の演算部（本実施形態では、加算回路４２４および活性化関数回路４２５）に入力された場合に出力される第２の信号（本実施形態では、活性化関数回路４２５から出力される信号）を保持し、保持された第２の信号を第１のアレイ領域に入力させることが可能な保持部（本実施形態では、保持機構４２７）を備える。
このような構成により、本実施形態に係るアレイ装置４０１では、保持機構４２７と再入力機構（例えば、同期回路４２３の機構）により、当該アレイ装置４０１の内部で再帰の処理が可能であり、例えば、制御を行うことが容易で、拡張性の高い再帰型のニューラルネットワークを構築することが可能である。
ここで、本実施形態に係るアレイ装置４０１では、第１のアレイ領域は、再帰型のアレイ領域である。また、所定の演算部は、第１のアレイ領域以外の第２のアレイ領域（本実施形態では、重みアレイ５２３の領域）から出力される信号との加算および所定の活性化関数による演算を行う。
【０１４５】
また、本実施形態では、重みアレイ５２３と再帰重みアレイ６２３とを別々のアレイで構成したが、他の構成例として、同一のアレイにおける領域を２個以上に分割して、重みアレイ５２３の機能と再帰重みアレイ６２３の機能とを同一のアレイの別々の領域で構成することも可能である。この場合、例えば、１個のアレイに入力側の層（本実施形態では、入力層）の重みと再帰層の重みをマッピングし、再帰入力機構を備えることにより、例えば、小さいサイズで再帰型のニューラルネットワークの構成単位を実現することが可能になる。
【０１４６】
ここで、本実施形態に係るアレイ装置４０１では、隠れ層におけるすべてのユニットの出力信号（本実施形態では、活性化関数回路４２５から出力される信号）が再帰の信号として再帰重みアレイ６２３に入力される構成を示したが、他の構成例として、隠れ層における一部のユニットの出力信号（本実施形態では、活性化関数回路４２５から出力される一部の信号）が再帰の信号として再帰重みアレイ６２３に入力される構成が用いられてもよい。また、例えば、隠れ層における複数のユニットのうちで、ユニットからの出力信号を再帰の信号として再帰重みアレイ６２３に入力するユニットと、このような再帰を行わないユニットとを切り替えることが可能な構成が用いられてもよい。このような切り替えは、例えば、ユーザにより手動で行われてもよく、あるいは、あらかじめ定められた規則にしたがって制御部（図示せず）により自動で行われてもよい。
このような構成により、アレイ装置４０１では、再帰機構のなかで一部のユニットからの出力信号のみを再帰させることが可能であり、例えば、アプリケーションの識別に特化した動的な再構成が可能となる。
【０１４７】
なお、図１に示されるアレイ装置１と図５に示されるアレイ装置４０１は、いずれも、同様な処理を行うことが可能であるが、図１に示されるアレイ装置１の方が、簡易な構成とすることが容易であると考えられる。
【０１４８】
（第５実施形態）
本実施形態では、第１実施形態〜第４実施形態におけるアレイ（例えば、重みアレイ２３、１３１、３２２、５２３、再帰重みアレイ２４、１３２、６２３、入力ゲート重みアレイ１４１、入力ゲート再帰重みアレイ１４２、忘却ゲート重みアレイ１５１、忘却ゲート再帰重みアレイ１５２、出力ゲート重みアレイ１６１、出力ゲート再帰重みアレイ１６２）で使用されるニューロモルフィック素子について説明する。
【０１４９】
図６は、本発明の実施形態（第５実施形態）に係るニューロモルフィック素子７１１の概略的な構成を示す図である。
ニューロモルフィック素子７１１では、重みを割り当てる制御部（図示せず）から入力される制御信号により制御されて、当該ニューロモルフィック素子７１１の特性（例えば、コンダクタンス）が変化することで、重みの値が変化する。そして、ニューロモルフィック素子７１１では、当該ニューロモルフィック素子７１１の特性に応じた重み（その値）を入力された信号に乗算し、その乗算の結果の信号を出力する。
【０１５０】
具体例として、抵抗Ｒが変化し得るニューロモルフィック素子７１１が乗算器の機能として用いられる場合、当該ニューロモルフィック素子７１１のコンダクタンスＧ（＝１／Ｒ）を使用し、当該ニューロモルフィック素子７１１への入力信号として電圧Ｖを入力し、そのときに当該ニューロモルフィック素子７１１を流れる電流Ｉ（＝Ｇ×Ｖ）の大きさを乗算結果として使用する。
【０１５１】
なお、アレイ（例えば、重みアレイ２３、１３１、３２２、５２３、再帰重みアレイ２４、１３２、６２３、入力ゲート重みアレイ１４１、入力ゲート再帰重みアレイ１４２、忘却ゲート重みアレイ１５１、忘却ゲート再帰重みアレイ１５２、出力ゲート重みアレイ１６１、出力ゲート再帰重みアレイ１６２）に複数のニューロモルフィック素子７１１が含まれる構成では、例えば、それぞれのニューロモルフィック素子７１１ごとに制御されてもよく、あるいは、すべてのニューロモルフィック素子７１１についてまとめて制御されてもよく、あるいは、２個以上の異なるグループに複数のニューロモルフィック素子７１１が分けられて、それぞれのグループごとにまとめて制御されてもよい。
【０１５２】
ここで、特性の変化量が変動するニューロモルフィック素子７１１が用いられる場合には、その点が考慮されて、当該ニューロモルフィック素子７１１が制御されることが好ましい。特性の変化量が変動するとは、例えば、特性の変化が非線形的であるような素子のことを言う。
具体例として、コンダクタンスの変化量（ΔＧ）が変動するニューロモルフィック素子７１１では、例えば、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子７１１に与えられる電圧Ｖの一定変化量に対するコンダクタンスの変化量（ΔＧ）が増加していく場合がある。この場合、一例として、当該ニューロモルフィック素子７１１のコンダクタンスの変化量（ΔＧ）を一定値間隔ごとに切り替えるために、コンダクタンスの値が低い値から高い値へ変化するにしたがって、当該ニューロモルフィック素子７１１に与えられる電圧Ｖの変化量（切り替えの段階ごとの変化量）を小さくしていく構成が用いられてもよい。あるいは、コンダクタンスの変化量Δの変動に応じて、割り当てる重みの変化量を変動させるような構成が用いられてもよい。
なお、ニューロモルフィック素子７１１の特性の変化量が他の態様で変動する場合においても、その態様に合わせて制御が行われればよい。このような制御の仕方は、例えば、あらかじめ設定されて所定の記憶部などに記憶されてもよい。
【０１５３】
また、ニューロモルフィック素子７１１としては、任意の素子が用いられてもよい。また、ニューロモルフィック素子７１１としては、例えば、１種類のニューロモルフィック素子が複数組み合されて用いられてもよく、あるいは、２種類以上のニューロモルフィック素子が組み合されて用いられてもよい。
一例として、ニューロモルフィック素子７１１として、結晶と非晶質との相変化を段階的に制御するＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子７１１として、電気化学的反応により金属析出とイオン化との間のパスの形成および消滅を利用するＣＢＲＡＭ（Ｃｏｎｄｕｃｔｉｖｅ  Ｂｒｉｄｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を使用する素子が用いられてもよい。
他の例として、ニューロモルフィック素子７１１として、スピントロニクス（Ｓｐｉｎｔｒｏｎｉｃｓ）を使用する素子が用いられてもよく、例えば、磁壁の制御による線形的抵抗変化を発生させるドメインウォール型の素子、あるいは、スピン軌道トルク作用による磁化反転を使用したＳＯＴ（Ｓｐｉｎ  Ｏｒｂｉｔ  Ｔｏｒｑｕｅ）型の素子が用いられてもよい。
他の例として、ニューロモルフィック素子７１１として、ＴａＯ２等の媒体に金属析出によるフィラメントを形成して抵抗変化を利用するＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を使用する素子が用いられてもよい。
【０１５４】
なお、ニューロモルフィック素子７１１としては、任意の特性を変化させることが可能なものが用いられてもよく、例えば、抵抗、あるいは、光位相などの特性を変化させることが可能なものが用いられてもよい。
【０１５５】
以上のように、本実施形態に係るアレイ装置では、様々なニューロモルフィック素子７１１を利用することができ、アレイによる積和演算などを実現することができる。
【０１５６】
（第６実施形態）
本実施形態では、第１実施形態〜第４実施形態における保持機構（例えば、保持機構２７、１７１、４２７）として使用されることが可能な保持機構について説明する。
【０１５７】
図７は、本発明の実施形態（第６実施形態）に係る保持機構８０１の概略的な構成を示す図である。
保持機構８０１は、容量性素子８１１と、入力側のスイッチ８２１と、出力側のスイッチ８２２を備える。
本実施形態では、入力側のスイッチ８２１と出力側のスイッチ８２２により、容量性素子８１１に対する充放電のスイッチングを行うスイッチング回路が構成されている。
【０１５８】
入力側のスイッチ８２１は、電気的な信号を導通する閉の状態（閉状態）と、電気的な信号を遮断する開の状態（開状態）とが切り替えられる。
入力側のスイッチ８２１が閉状態であるとき、外部から保持機構８０１に入力される信号（例えば、電流）によって容量性素子８１１に電荷が蓄積される。なお、入力側のスイッチ８２１が開状態であるときには、入力側の信号（例えば、電流）は流れない。
【０１５９】
出力側のスイッチ８２２は、電気的な信号を導通する閉の状態（閉状態）と、電気的な信号を遮断する開の状態（開状態）とが切り替えられる。
出力側のスイッチ８２２が閉状態であるとき、容量性素子８１１に蓄積された電荷が保持機構８０１の外部に流れることで、それに応じた信号（例えば、電流）が保持機構８０１の外部に出力される。なお、出力側のスイッチ８２２が開状態であるときには、出力側の信号（例えば、電流）は流れない。
【０１６０】
本実施形態では、保持機構８０１において、入力側のスイッチ８２１が閉状態に切り替えられ、出力側のスイッチ８２２が開状態に切り替えられることで、外部から入力される信号（例えば、電流）の電荷が容量性素子８１１に蓄積される。その後、保持機構８０１において、入力側のスイッチ８２１が開状態に切り替えられ、出力側のスイッチ８２２が閉状態に切り替えられることで、容量性素子８１１に蓄積された電荷の信号（例えば、電流）が外部に出力される。
なお、保持機構８０１から外部に出力される信号（例えば、電流）は、例えば、抵抗などを用いて、電圧の信号へ変換されてもよい。
【０１６１】
以上のように、本実施形態に係るアレイ装置では、保持部（本実施形態では、保持機構８０１）は、信号（前記した第１の信号または第２の信号）に応じた電流を蓄積する容量性素子（本実施形態では、容量性素子８１１）と、容量性素子に対する充放電のスイッチングを行うスイッチング回路（本実施形態では、入力側のスイッチ８２１、出力側のスイッチ８２２）と、を有する。
このような構成により、本実施形態に係るアレイ装置では、信号をアナログ的に保持することで、消費電力性能を高めることができる。
【０１６２】
ここで、第１実施形態〜第４実施形態における保持機構（例えば、保持機構２７、１７１、４２７）として、他の保持機構が用いられてもよい。
一例として、アナログの信号（例えば、アナログの電流）をデジタル値に変換した後のデータを保持する保持機構が用いられてもよい。この場合、当該保持機構は、例えば、当該保持機構の外部において得られたデジタル値（データ）を保持する構成であってもよく、あるいは、当該保持機構にアナログの信号が入力されて、当該アナログ信号をデジタル値に変換して保持する構成であってもよい。当該構成では、当該保持機構は、当該アナログ信号を当該デジタル値に変換するＡ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）変換器を備えてもよい。
このようなアレイ装置では、保持部は、信号（前記した第１の信号または第２の信号）に応じた電流をデジタル値に変換した後のデータを保持する。
このような構成により、アレイ装置では、信号をデジタル値で保持することで、開発などを容易にすることができる。
【０１６３】
（第７実施形態）
本実施形態では、複数のアレイで共通化された配線について説明する。
例えば、第１実施形態に係る図１に示される重みアレイ２３と再帰重みアレイ２４とで共通化された配線（以下で、説明の便宜上、「縦配線」ともいう（カラムの配線と呼ばれてもよい。）。）が用いられてもよい。
例えば、第２実施形態に係る図３に示される重みアレイ１３１と再帰重みアレイ１３２とで共通化された配線（以下の説明では、説明の便宜上、「縦配線」とする。）が用いられてもよい。同様に、入力ゲート重みアレイ１４１と入力ゲート再帰重みアレイ１４２とで共通化された配線（以下の説明では、説明の便宜上、「縦配線」とする。）が用いられてもよい。同様に、忘却ゲート重みアレイ１５１と忘却ゲート再帰重みアレイ１５２とで共通化された配線（以下の説明では、説明の便宜上、「縦配線」とする。）が用いられてもよい。同様に、出力ゲート重みアレイ１６１と出力ゲート再帰重みアレイ１６２とで共通化された配線（以下の説明では、説明の便宜上、「縦配線」とする。）が用いられてもよい。
例えば、第３実施形態に係る図４に示されるそれぞれの同期アレイ部２４１〜２４２において、第１実施形態の場合と同様に重みアレイと再帰重みアレイとで共通化された配線（以下の説明では、説明の便宜上、「縦配線」とする。）が用いられてもよい。
【０１６４】
また、例えば、第２実施形態に係る図３に示される重みアレイ１３１と入力ゲート重みアレイ１４１と忘却ゲート重みアレイ１５１と出力ゲート重みアレイ１６１とで共通化された配線（以下で、説明の便宜上、「横配線」ともいう（ロウの配線と呼ばれてもよい。）。）が用いられてもよい。同様に、再帰重みアレイ１３２と入力ゲート再帰重みアレイ１４２と忘却ゲート再帰重みアレイ１５２と出力ゲート再帰重みアレイ１６２とで共通化された配線（以下の説明では、説明の便宜上、「横配線」とする。）が用いられてもよい。
【０１６５】
以下では、図８を参照して、説明の便宜上、共通化された縦配線と、共通化された横配線についてまとめて説明する。なお、共通化された縦配線と、共通化された横配線は、それぞれ、独立に使用されてもよく、あるいは、任意に組み合わされて使用されてもよい。
また、以下では、図８を参照して、２個の異なるアレイについて共通化された縦配線について説明するが、３個以上の異なるアレイについて共通化された縦配線についても同様である。
また、以下では、図８を参照して、説明の便宜上、２個の異なるアレイについて共通化された横配線について説明するが、３個以上の異なるアレイについて共通化された横配線についても同様である。
【０１６６】
図８は、本発明の実施形態（第７実施形態）に係る複数のアレイ９１１、９１２、９２１、９２２で共通化された配線の概略的な構成を示す図である。
アレイ９１１およびアレイ９１２に、共通の横配線Ｐ１、Ｐ２が配置されている。
アレイ９２１およびアレイ９２２に、共通の横配線Ｐ１１、Ｐ１２が配置されている。
アレイ９１１およびアレイ９２１に、共通の縦配線Ｑ１が配置されている。
アレイ９１２およびアレイ９２２に、共通の縦配線Ｑ２が配置されている。
【０１６７】
アレイ９１１において、横配線Ｐ１には、ニューロモルフィック素子Ｈ１の一端が接続されている。
アレイ９１１において、横配線Ｐ２には、ニューロモルフィック素子Ｈ２の一端が接続されている。
そして、アレイ９１１において、ニューロモルフィック素子Ｈ１の他端およびニューロモルフィック素子Ｈ２の他端が、縦配線Ｑ１に接続されている。
【０１６８】
アレイ９１２において、横配線Ｐ１には、ニューロモルフィック素子Ｈ１１の一端が接続されている。
アレイ９１２において、横配線Ｐ２には、ニューロモルフィック素子Ｈ１２の一端が接続されている。
そして、アレイ９１２において、ニューロモルフィック素子Ｈ１１の他端およびニューロモルフィック素子Ｈ１２の他端が、縦配線Ｑ２に接続されている。
【０１６９】
アレイ９２１において、横配線Ｐ１１には、ニューロモルフィック素子Ｈ２１の一端が接続されている。
アレイ９２１において、横配線Ｐ１２には、ニューロモルフィック素子Ｈ２２の一端が接続されている。
そして、アレイ９２１において、ニューロモルフィック素子Ｈ２１の他端およびニューロモルフィック素子Ｈ２２の他端が、配線Ｑ１１に接続されている。配線Ｑ１１は配線Ｑ１と接続されている。
【０１７０】
アレイ９２２において、横配線Ｐ１１には、ニューロモルフィック素子Ｈ３１の一端が接続されている。
アレイ９２２において、横配線Ｐ１２には、ニューロモルフィック素子Ｈ３２の一端が接続されている。
そして、アレイ９２２において、ニューロモルフィック素子Ｈ３１の他端およびニューロモルフィック素子Ｈ３２の他端が、配線Ｑ１２に接続されている。配線Ｑ１２は配線Ｑ２と接続されている。
【０１７１】
上記のような構成により、アレイ９１１では、横配線Ｐ１を流れる信号がニューロモルフィック素子Ｈ１により重み付けされた結果の信号と、横配線Ｐ２を流れる信号がニューロモルフィック素子Ｈ２により重み付けされた結果の信号とが加算された結果の信号が、縦配線Ｑ１を流れて、アレイ９２１に伝送される。
また、アレイ９２１では、横配線Ｐ１１を流れる信号がニューロモルフィック素子Ｈ２１により重み付けされた結果の信号と、横配線Ｐ１２を流れる信号がニューロモルフィック素子Ｈ２２により重み付けされた結果の信号とが加算された結果の信号が、配線Ｑ１１を流れて、縦配線Ｑ１に伝送される。この結果、縦配線Ｑ１には、アレイ９１１から伝送される信号と、アレイ９２１の配線Ｑ１１から伝送される信号とが加算された結果の信号が、流れる。
このような構成を利用することで、複数のアレイ９１１、９２１における積和演算の結果を総和することができる。
【０１７２】
また、上記のような構成により、アレイ９１２では、横配線Ｐ１を流れる信号がニューロモルフィック素子Ｈ１１により重み付けされた結果の信号と、横配線Ｐ２を流れる信号がニューロモルフィック素子Ｈ１２により重み付けされた結果の信号とが加算された結果の信号が、縦配線Ｑ２を流れて、アレイ９２２に伝送される。
また、アレイ９２２では、横配線Ｐ１１を流れる信号がニューロモルフィック素子Ｈ３１により重み付けされた結果の信号と、横配線Ｐ１２を流れる信号がニューロモルフィック素子Ｈ３２により重み付けされた結果の信号とが加算された結果の信号が、配線Ｑ１２を流れて、縦配線Ｑ２に伝送される。この結果、縦配線Ｑ２には、アレイ９１２から伝送される信号と、アレイ９２２の配線Ｑ１２から伝送される信号とが加算された結果の信号が、流れる。
このような構成を利用することで、複数のアレイ９１２、９２２における積和演算の結果を総和することができる。
【０１７３】
ここで、図８の例では、それぞれのアレイ９１１、９１２、９２１、９２２において、２本の共通な横配線Ｐ１〜Ｐ２、Ｐ１１〜Ｐ１２を示したが、共通な横配線の数は任意であってもよい。
また、図８の例では、それぞれのアレイ９１１、９１２、９２１、９２２において、１本の共通な縦配線Ｑ１、Ｑ２を示したが、共通な縦配線の数は任意であってもよい。
本実施形態では、それぞれのアレイ９１１、９１２、９２１、９２２において、ニューロモルフィック素子を複数使用して、所望のニューラルネットワークに対応する積和演算を行う回路が構成される。それぞれのアレイ９１１、９１２、９２１、９２２の回路は、一例として、マトリクス状になっている。
【０１７４】
以上のように、本実施形態に係るアレイ装置では、保持部から第１のアレイ領域（例えば、アレイ９２１、９２２）に入力される信号（前記した第１の信号または第２の信号）と、第１のアレイ領域に入力される他の信号（例えば、アレイ９１１、９１２から入力される信号）は、同一の配線（例えば、縦配線Ｑ１、Ｑ２）を介して出力される。
このような構成により、本実施形態に係るアレイ装置では、例えば、アレイの縮小化、周辺回路の共通化などを図ることができる。
このように、少なくとも配線の一部に新たな入力信号（時間的に後の信号）と再帰の信号（時間的に前の情報の信号）が入力される構成とすることで、配線の配置を簡易にすることが可能である。
【０１７５】
（以上の実施形態のまとめ）
なお、以上に示した実施形態に係る各装置等（例えば、制御回路２２２などの制御部）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体（記憶媒体）に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
【０１７６】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１７７】
本発明に係る実施形態は二値化ニューラルネットに適用することも可能であり、これについて説明する。
一般にニューロモルフィック素子は、所与の範囲でコンダクタンスを多段階に設定させることができる不揮発性素子を意味し、これによって、電圧×コンダクタンス＝電流値というオームの法則を利用して積和演算をアナログ的に実行する機能を提供する。例えば、コンダクタンスとして１μＳ（マイクロジーメンス）、１．２５μＳ、１．５μＳ、１．７５μＳ、２μＳを設定することが可能な素子の場合、１μＳ〜２μＳの間の５段階の量子化分解能で積和演算を実行することが可能である。
しかしながら、近年、ニューラルネットをＣＭＯＳデジタル演算素子で実現する分野の研究では、演算語長を縮減する研究が進められている。最も極端なケースにおいては、入力信号や重み、あるいは活性化関数出力を二値化する試みが盛んに研究されている。このような二値化が行われるニューラルネットワークは、例えば、バイナライズドニューラルネット、あるいはバイナリーニューラルネットワークなどと呼ばれる。例えば、重みと入力値がとりえる値が−１と１であるとし、それを０、１の値をとる論理素子で計算する場合、積和演算は下記の４種類のＸＮＯＲ型論理演算と“１”状態の素子のカウンタで実行可能である。
０（−１）×０（−１）＝１（１）
０（−１）×１（１）＝０（−１）
１（１）×０（−１）＝０（−１）
１（１）×１（１）＝１（１）
上記の演算は、例えば、２段階の抵抗変化を持つニューロモルフィック素子を使用する場合においても同様に可能である。バイナライズドニューラルネットは本出願の本質的な内容ではないことから詳しくは述べないが、このような二値化ニューラルネットで、再帰的構成を持たせる場合においても、本出願に係る技術を適用することは可能である。
【０１７８】
以上のニューラルネットワークシステムは、各種のセンサやロボットの脳として機能させることができる。例えば、このようなニューラルネットワークシステムを用いた制御装置にセンサから出力された信号（以下、説明の便宜上、センサ信号ともいう。）を入力すると、エッジ（Ｅｄｇｅ）素子として機能させることができる。センサ信号には一般的に多くのノイズが存在し、一般的なセンサモジュールでは得たいセンサ信号をノイズから取り出すことができる。したがって、センサ信号の時系列信号から、例えば信号処理技術を用いてノイズを除去し、得たい信号を取り出すなどの方法が取られる。この場合、得られた信号以外はエネルギーの消費だけであり、情報を生まない。このようなニューラルネットワークシステムを用いた制御装置にセンサ信号を入力することにより、高精度の認識を行うことができる。従来では源信号にノイズが重畳した観測信号を源信号とノイズに分離することで、初めて意味のある情報として抽出されたが、このようなニューラルネットワークシステムを用いた制御装置を用いるとノイズを含む時系列信号から得たい源信号を予測することができ、源信号の出力強度や統計値が小さくても意味のある信号として取り出すことができる。このようなモジュールはセンサと制御装置とが一体となったモジュールであり、ＡＩ（Artificial Intelligence）エッジセンサモジュールとすることができる。
このようなニューラルネットワークシステムを用いた制御装置を用いると、認識精度が高くなるために、従来よりも小さな演算機能で情報を取り出すことができ、低コスト・省電力・省体積化を実現することができる。
【０１７９】
このようなニューラルネットワークシステムを用いた制御装置に複数のセンサの信号を同時に入力することも好ましい。
制御装置に複数のセンサの信号が同時に入力することによって、互いのセンサの関連性に関する認識を得ることができる。例えば、ロボットにおいて手、足、胴体にセンサが設置され、当該センサからの信号が同時に制御装置に入力されると、当該信号によって、ロボットが歩いているかあるいは転んだのかなどの情報を複合的に判断することができる。さらに、ＡＩエッジセンサモジュールが複数設置されたロボットや車などにおいて、制御装置に同時に信号が入力されることによって、より省電力化や高機能化が実現されることが期待できる。複数のセンサが異なる種類のセンサであった場合には、それぞれのセンサに対応できる電圧や電流に対応した制御装置を設置する必要がある。この場合、制御装置のインタフェースに変圧器やＡＤ（アナログ  デジタル）変換機などが必要となることがあり、エネルギー変換によってエネルギーが消費され得る。ＡＩエッジセンサモジュールでも同様にエネルギーが消費されるが、ＡＩエッジセンサモジュールから中央の制御装置に出力される信号はＡＩエッジセンサモジュールで一定の認識と識別がされたものであり、例えば、ＡＩエッジセンサモジュールから中央の制御装置に、必要な情報のみを送ることができる。これらの機能によってＡＩエッジセンサモジュールと中央の制御装置との間の通信量を削減することができるため、システム全体としてのエネルギー消費を減少することができる。
【０１８０】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
なお、再帰型の演算は、例えば、ニューラルネットワークの分野で使用されてもよく、あるいは、ニューラルネットワーク以外の分野で使用されてもよい。
【産業上の利用可能性】
【０１８１】
本発明のアレイ装置によれば、ニューロモルフィック素子を用いて再帰型の演算を行うことができる。
【符号の説明】
【０１８２】
１、１０１、４０１…アレイ装置、２１、１２１、５２１、６２１…入力インタフェース、２２、１２２、５２２、６２２…変換回路、２３、１３１、３２２、５２３…重みアレイ、２４、１３２、６２３…再帰重みアレイ、２５、１３３、１４３、１５３、１６３、５２４、６２４…検出回路、２６、１３４、１４４、１５４、１６４、３２３、４２５…活性化関数回路、２７、１７１、４２７、８０１…保持機構、２８、１７２、４２３，５２６，６２６…同期回路、２９、１７３、４２６、５２５、６２５…出力バッファ、１４１…入力ゲート重みアレイ、１４２…入力ゲート再帰重みアレイ、１５１…忘却ゲート重みアレイ、１５２…忘却ゲート再帰重みアレイ、１６１…出力ゲート重みアレイ、１６２…出力ゲート再帰重みアレイ、１８１〜１８３…演算器、２０１…ニューラルネットワークシステム、２０２…イメージセンサ、２０３…自動運転制御ユニット、２２１…デバイスインタフェース、２２２…制御回路、２２３…出力通信インタフェース、２３１…特徴抽出部、２３２…識別部、２４１〜２４２、３１１、４２１、４２２…同期アレイ部、３２１…バッファ、４２４…加算回路、７１１、Ｈ１〜Ｈ２、Ｈ１１〜Ｈ１２、Ｈ２１〜Ｈ２２、Ｈ３１〜Ｈ３２…ニューロモルフィック素子、８１１…容量性素子、８２１〜８２２…スイッチ、９１１〜９１２、９２１〜９２２…アレイ、Ｐ１〜Ｐ２、Ｐ１１〜Ｐ１２…横配線、Ｑ１〜Ｑ２…縦配線、Ｑ１１〜Ｑ１２…配線、１０１１−０〜１０１１−ｎ、１０２１−０〜１０２１−ｍ、１０３１−１〜１０３１−ｒ、１１１１−０〜１１１１−ｓ、１１２１−０〜１１２１−ｓ…ユニット、２００１…アレイユニット、２０１１…入力層、２０１２…隠れ層、２０１３…出力層、３０１１、３０２１…入力重み付け部、３
０１２、３０２２…再帰層部、３０１３、３０２３…活性化関数部
【要約】
アレイ装置（１）は、可変な特性の値に応じた重みを信号に乗算するニューロモルフィック素子を含み、入力信号に対してニューロモルフィック素子に応じた処理を行った結果の第１の信号を出力する第１のアレイ領域と、第１のアレイ領域から出力された第１の信号または第１の信号が所定の演算部に入力された場合に出力される第２の信号を保持し、保持された第１の信号または第２の信号を第１のアレイ領域に入力させることが可能な保持部（２７）と、を備える。【図１】
0006489295.tif 000003
【図２】
0006489295.tif 000004
【図３】
0006489295.tif 000005
【図４】
0006489295.tif 000006
【図５】
0006489295.tif 000007
【図６】
0006489295.tif 000008
【図７】
0006489295.tif 000009
【図８】
0006489295.tif 000010
【図９】
0006489295.tif 000011
【図１０】
0006489295.tif 000012