(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6647429
(24)【登録日】2020年1月16日
(45)【発行日】2020年2月14日
(54)【発明の名称】アナログ電子ニューラルネットワーク
(51)【国際特許分類】
G06N 3/063 20060101AFI20200203BHJP
G06N 3/08 20060101ALI20200203BHJP
G06G 7/60 20060101ALI20200203BHJP
【FI】
G06N3/063
G06N3/08
G06G7/60
【請求項の数】14
【全頁数】13
(21)【出願番号】特願2018-562704(P2018-562704)
(86)(22)【出願日】2017年2月17日
(65)【公表番号】特表2019-511799(P2019-511799A)
(43)【公表日】2019年4月25日
(86)【国際出願番号】EP2017053678
(87)【国際公開番号】WO2017144372
(87)【国際公開日】20170831
【審査請求日】2018年11月13日
(31)【優先権主張番号】16156629.4
(32)【優先日】2016年2月22日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】518297927
【氏名又は名称】チューリッヒ大学
【氏名又は名称原語表記】UNIVERSITAT ZURICH
(74)【代理人】
【識別番号】100134430
【弁理士】
【氏名又は名称】加藤 卓士
(74)【代理人】
【識別番号】100198960
【弁理士】
【氏名又は名称】奥住 忍
(72)【発明者】
【氏名】ジョナサン・ヤコブ・モーゼス・バイナス
(72)【発明者】
【氏名】ダニエル・ローレンス・ネイル
【審査官】
福西 章人
(56)【参考文献】
【文献】
国際公開第2013/108299(WO,A1)
【文献】
OGRENCI, Arif Selcuk et al.,FAULT-TOLERANT TRAINING OF NEURAL NETWORKS IN THE PRESENCE OF MOS TRANSISTOR MISMATCHES,IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING,2001年 3月,VOL.48, NO.3,p.272-281,URL,https://ieeexplore.ieee.org/document/924069
【文献】
LIU, Beiye et al.,Vortex: Variation-aware Training for Memristor X-bar,2015年 7月27日,p.1-6,URL,https://ieeexplore.ieee.org/stamp.jsp?tp=&arnumber=7167198
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
細胞体回路の複数の層を備え、細胞体回路の2つの連続した層がシナプス回路のマトリックスによって接続されるアナログ電子ニューラルネットワークをプログラムする方法であって、
前記ニューラルネットワークの入力に試験信号を適用するステップと、
少なくとも前記ニューラルネットワーク内の1つの測定位置において、少なくともいくつかの細胞体回路およびシナプス回路の前記試験信号への応答を測定するステップと、
前記応答に基づいて、前記ニューラルネットワークから、前記少なくともいくつかの細胞体回路の入力出力関係を特徴付ける第1パラメータセットを抽出するステップと、
前記第1パラメータセットおよび訓練データを訓練アルゴリズムに適用することによって、前記ニューラルネットワークの訓練を実行して、第2パラメータセットを取得するステップと、
前記第2パラメータセットを用いて、前記ニューラルネットワークをプログラムするステップと、
を含み、
個々の前記細胞体回路の前記応答は、個々の前記細胞体回路の前記応答を記述する前記第1パラメータセットを取得するために測定される、方法。
【請求項2】
前記試験信号は電流である、請求項1に記載の方法。
【請求項3】
所与の時点に前記ニューラルネットワークの入力に適用される前記試験信号のうちの少なくとも2つは実質的に等しい、請求項1または2に記載の方法。
【請求項4】
前記測定位置の少なくとも1つは、1つの細胞体回路からの入力を受け取る、請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記細胞体回路からの入力は、それぞれの前記測定位置と前記細胞体回路との間に接続されたシナプス回路を介して受け取られ、それぞれの前記測定位置に接続された他のシナプス回路はオフにされる、請求項4に記載の方法。
【請求項6】
前記応答は、前記少なくともいくつかの細胞体回路の伝達関数の出力である、請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
線形関数または区分的線形関数を用いて前記伝達関数の少なくとも1つを近似するステップを含む、請求項6に記載の方法。
【請求項8】
前記第1パラメータセットのうちの少なくとも1つのパラメータは、前記線形関数または区分的線形関数を特徴付ける、請求項7に記載の方法。
【請求項9】
前記ニューラルネットワークをプログラムするステップにおいて、前記シナプス回路の少なくともいくつかの重み構成を調整するステップを含む、請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記重み構成は、前記第1パラメータセットのうちの少なくとも1つのパラメータを用いて前記ニューラルネットワークのための特定の重み構成を導出することによって調整される、請求項9に記載の方法。
【請求項11】
細胞体回路の複数の層を備え、細胞体回路の2つの連続した層がシナプス回路のマトリックスによって接続されるアナログ電子ニューラルネットワークであって、
前記細胞体回路の少なくともいくつかは、それらの入力における、入力電流の整流を実行するための第1回路素子と、第1細胞体回路出力に接続された、第1出力電圧を提供するための第1出力トランジスタと、第2細胞体回路出力に接続された、第2出力電圧を提供するための第2出力トランジスタとを備え、前記第1細胞体回路出力および第2細胞体回路出力は、第1シナプス回路入力および第2シナプス回路入力にそれぞれ接続され、
前記シナプス回路の少なくともいくつかは、増幅器の第1セットと増幅器の第2セットとを備え、
前記増幅器の第1セットは、前記第1シナプス回路入力に接続された共通第1ノードを有し、前記第1出力トランジスタとともに、整流入力電流のスケールされた正のコピーを生成するための電流ミラーの第1セットを形成し、
前記増幅器の第2セットは、前記第2シナプス回路入力に接続された共通第2ノードを有し、前記第2出力トランジスタとともに、前記整流入力電流のスケールされた負のコピーを生成するための電流ミラーの第2セットを形成し、
前記シナプス回路は、前記増幅器の第1セットもしくは第2セットをオンまたはオフにし、または前記増幅器の第1セットおよび第2セットにおける個々の増幅器をオンまたはオフにするためのスイッチのセットをさらに備え、
前記シナプス回路は、前記スイッチのセットを制御するための制御素子をさらに備え、
前記制御素子は、前記スイッチのセットをオンまたはオフにするために前記スイッチのセットに適用される電圧を有効または無効にするための構成ビットを格納するためのメモリを備える、ネットワーク。
【請求項12】
前記第1回路素子は、第1ダイオード接続トランジスタおよび第2トランジスタを備える第1電流ミラーを備え、前記第1電流ミラーは、前記第1出力トランジスタおよび第3出力トランジスタを備える第2電流ミラーに接続され、前記第2電流ミラーは、前記第2出力トランジスタに接続され、前記第1出力トランジスタおよび前記第2出力トランジスタはダイオード接続される、請求項11に記載のネットワーク。
【請求項13】
前記電流ミラーの第1セットおよび第2セットのうち、一度に1つがオンになるように配置される、請求項11または12に記載のネットワーク。
【請求項14】
前記入力電流および/または電圧源によって提供される電圧は、前記アナログ電子ニューラルネットワークをサブスレッショルド体制で動作させるものである、請求項11乃至13のいずれか1項に記載のアナログ電子ニューラルネットワークを動作させる、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アナログ電子ニューラルネットワークをプログラムする方法に関する。また本発明は、アナログ電子ニューラルネットワーク、およびアナログ電子ニューラルネットワークを動作させる方法にも関する。
【背景技術】
【0002】
過去数年にわたってディープニューラルネットワークは進化を遂げ、多くのコンピュータビジョン、音声認識、およびデータ分析タスクのための最もよい方法になりつつあり、多くの場合、以前から知られている方法よりも優れた性能であり、多数の分野における躍進を可能にする。ディープニューラルネットワークは一般に、3より多い数の隠れニューロン層を備え、隠れ層とは入力層および出力層以外の層である。対応して、これらのディープネットワークを用いて計算する効率的な方法が、アルゴリズムレベルおよびハードウェアレベルの両方で探求されてきた。これらのニューラルネットワークを実装するために必要な数学的演算は、デジタル論理において、またはアナログ回路素子を用いて実現され得る。デジタルシステムとは対照的に、アナログシステムは、電流および電圧を用いて計算の一部である数値を表し、デジタルシステム内の回路よりも単純な回路によって特定の演算が遂行されることが可能であり、速度および電力消費における利点をもたらす可能性がある。しかし、電流および電圧は実際値を伝えるので、デバイスの物理的特性が計算に影響を及ぼし、マイクロチップ製造プロセスに固有の変動性が、個々のデバイス間での著しい機能差を招き得る。これは、2つのアナログ電子デバイスが全く同じように挙動することはなく、したがってそれらが精度および信頼性要件を満たすことは難しいということを意味する。
【0003】
ニューラルネットワークは一般に、アナログ入力信号を処理し、広範囲にわたる訓練プロセスを通して、所与のタスクを実行するようにプログラムされる。ニューラルネットワークを実装するアナログ回路が過去に提案されたが、デジタルニューラルネットワークアーキテクチャが主流になった後、高度なツールおよび訓練技術がないことによりアナログ回路の発展性は実現されなかった。アナログディープニューラルネットワークは、デジタルニューラルネットワークと比べて、製造欠陥によって受ける影響が著しく大きい。また、既知のアナログニューラルネットワークは、高周波数でクロックされた場合に高い電力消費が生じるため、バッテリ式デバイスにおいてリアルタイムで大きなディープニューラルネットワークを動かすことは不可能であった。
【0004】
したがって、高速かつ電力効率のよいアナログ電子ニューラルネットワーク、これを動作させる方法、およびこの種のネットワークをプログラムするためのより高度な方法へのニーズがある。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明の第1の態様によると、請求項1に記載されたようなアナログ電子ニューラルネットワークをプログラムする方法が提供される。
【0006】
この方法を用いると、ニューラルネットワークにおける製造欠陥または他の変動を考慮に入れ、各々製造されたニューラルネットワークを個々にプログラムすることが可能であるため、各々プログラムされたネットワークが最適な方法で動作することができる。
【0007】
本発明の第2の態様によると、請求項11に記載されるようなアナログ電子ニューラルネットワークが提供される。
【0008】
本発明の第3の態様によると、第2の態様に係るアナログ電子ニューラルネットワークを動作させる方法が提供される。
【0009】
提案されるアナログ電子ニューラルネットワークは、正確にプログラムされると、最も効率のよいデジタル電子ニューラルネットワークよりも大幅に低い電力しか消費せずに最先端の性能を実現し得る。非常に低い電力消費は、ネットワークの少なくともいくつかの構成要素をそれらのサブスレッショルド(弱反転)領域で動かすことによってもたらされ得る。
【0010】
本発明の他の態様は、付随する従属請求項において記載される。
【0011】
本発明の他の特徴および利点は、添付図面を参照して、以下の非限定的な典型的実施形態の説明から明らかになる。
【図面の簡単な説明】
【0012】
【
図1】本発明に係るアナログ電子ニューラルネットワークをプログラムする方法の例を示す図である。
【
図2】本発明に係る細胞体回路の例の略回路図である。
【
図3】本発明に係るシナプス回路の例の略回路図である。
【
図4】シナプス回路のマトリックスによって接続された、細胞体回路の2つの層の略図である。
【
図5】本発明に係るアナログ電子ニューラルネットワークの例における測定構成の略図である。
【
図6】
図5のネットワークにおける細胞体シナプスエンティティの入力/出力関係の例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態が添付図面を参照して詳しく説明される。様々な図面に示される同一のまたは対応する機能要素および構造要素には、同じ参照番号が割り当てられる。
【0014】
ディープニューラルネットワークは、細胞体またはセルとも称されるニューロンの複数の層で構成され、それらの入力の合算に後続して、例えばシグモイド関数または整流関数などの非線形関数を実行する。細胞体は、1つの細胞体から次の細胞体へ出力を受け渡す前にスカラー乗算を実行する重み付きリンクを介して接続される。したがって、1つの細胞体の出力iは、x
i=f(Σ
jw
ijx
j)によって求められ、式中、fは非線形関数であり、w
ijは、細胞体jから細胞体iへの接続の重みである。
【0015】
説明される実施形態例は、ディープネットワークを訓練するための現在最も一般的かつ効果的な方法であるバックプロパゲーションアルゴリズムを用いて、確率的勾配降下法によって訓練される完全接続フィードフォワードネットワークによって図示される。完全接続フィードフォワードネットワークは、情報が常に一方向に移動し(すなわち、ネットワークを通して後向きに伝わることはなく)、1つの層における1つの細胞体が後続層の全ての細胞体に接続されるネットワークである。ただし、本発明はこの事例に限定されるものではなく、他のネットワークアーキテクチャ(例えば畳み込みネットワーク)に適用することができ、より高度な勾配降下法と関連して適用することもできる。また本発明の教示は、部分接続および/または反復接続ニューラルネットワークに適用することも可能である。
【0016】
合算、乗算、および非線形変換演算は全て、アナログ電子回路において、すなわち少数のトランジスタを用いて効率的に実行され得る。これらの回路において、数値は、デジタル符号化されるのではなく、実際の電圧値または電流値によって表される。デジタルシステムは、全ての値を0または1のいずれかとして解釈することによってノイズおよび小さな変動に鈍感であるが、アナログシステムの性能は、製造のミスマッチ、すなわちデバイス間および同一デバイスにおける様々な要素間で僅かに異なる特性をもたらす製造プロセス中の小さな変動、および様々なノイズ源による影響を受ける。その結果、細胞体を定義する演算は細胞体依存になり、
【数1】
であり、式中、
【数2】
はfにほぼ対応するが、細胞体iごとに僅かに異なる。ただし、合算演算における偏差は
【数3】
の一部として表すことができ、重みwijの偏差はここでは無視される。
【0017】
一般に、ニューラルネットワークは、訓練プロセスを通して特定のタスクのために構成され、所与の訓練データセットに近似するように自身の入力出力関係を最適化する。バックプロパゲーションアルゴリズムは2ステップの教師付き訓練方法であり、入力刺激が全ての層を連続的に通過するフォワードパスと、ネットワークの出力誤差が計算され、連続的に層を後向きに通過するバックワードパスとで構成される。したがって、連鎖法則の結果、ネットワークパラメータ(重み)を更新するために用いられる誤差勾配は層ごとに計算され、ネットワーク全体について一度に計算されてはならず、訓練プロセスを著しく単純化する。これを機能させるために、伝達関数fは微分可能でなくてはならない(実際は、多くの場合用いられる整流線形伝達関数と同様、区分的微分可能性で十分である)。従来、ニューラルネットワークは、全ての細胞体について同じ伝達関数fを用いて、中央処理ユニット(CPU)およびグラフィック処理ユニット(GPU)を用いるデジタル汎用ハードウェアにおいて実装されてきた。しかし、アナログ電子ニューラルネットワーク実装の様々な細胞体の伝達特性
【数4】
が既知である場合、ネットワークは、対応するアナログ電子システムにおける所望のタスクを実行するネットワーク構成を得るために、そのような異種伝達特性に基づいて訓練することができる。
【0018】
そのような異種ニューラルネットワークにターゲット機能を実装するプロセスが
図1に示される。ステップa)において、一般的なプログラマブル(すなわち可変の重みを有する)ニューラルネットワーク1が、(
図3に示す)重み構成を格納するメモリ素子とともに、
図2および
図3に示すようなアナログ回路によって基板上に物理的に実装される。ステップb)において、伝達特性、またはより一般的には、以下で詳しく説明するように特定の方法で接続性を構成し、様々な細胞体回路3の活動を記録する、様々な細胞体回路3の第1パラメータセットが、特定の入力パターンを適用することによる測定から抽出され得る。すなわち、様々な層における細胞体回路3の活動を測定しながら、ネットワーク1に変化する入力を提供し、シナプス回路5の重み構成を変化させることによって、これらの細胞体の潜在的にミスマッチである個々の伝達関数が再構成され得る。このように、個々の細胞体回路3の応答は、個々の細胞体の応答を記述する第1パラメータセットを取得するために測定される。したがって個々の細胞体は、個々の細胞体の対応する測定に基づいてモデル化される。したがって、第1パラメータセットは、平均化されていない、および/または分散に基づかない、および/または他の方法で処理されていない値で構成され、または値を備えてよい。伝達特性曲線が十分に単純である(使用される実際の回路に依存する)場合、連続した区分的微分可能関数は離散測定に適合し(
図6を参照)、フィッティングパラメータはデバイス特性を記述するために用いられる。あるいは、いくつかの補間スキーム(例えば線形性)が曲線を記述するために用いられ得る。すなわち、伝達関数は、例えば少なくとも2つの線形曲線から成り得る、略線形曲線または部分線形曲線によって近似され得る。ここで、連続曲線描写は、仮想アクティブ化およびそれらの導関数を計算するために、従来のハードウェアで実行する訓練アルゴリズムによってステップc)において用いられ、特徴付けされた特定の物理ネットワークデバイスに合わせたネットワーク構成が導かれる。すなわち、ミスマッチ伝達特性が訓練に含まれることによって、測定された特定のデバイス(ニューラルネットワーク)のためのネットワーク1の最適化が可能である。ステップd)において、訓練アルゴリズムによって求められた、第2パラメータセットとも称されるパラメータは、ミスマッチがない理論上の理想に匹敵する性能のネットワークを実現するために、ネットワーク1にマッピングし戻される。ただし、第1パラメータセットおよび第2パラメータセットは同じ種類のパラメータを備えなくてもよいことに留意すべきである。第1パラメータセットは、物理ハードウェアを特徴付ける測定値で構成され、第2パラメータセットは、特定のタスクを実行するようにハードウェアを設定する重みを備えてよい。
【0019】
提案される方法および提案されるアナログディープニューラルネットワーク1は、以下、
図2および
図3にそれぞれ示される細胞体回路およびシナプス回路に基づくフィードフォワードネットワーク実装の例を参照してさらに詳しく説明される。すなわち、多層ニューラルネットワーク1は、
図2および
図3の電流モードアナログ回路から生成される。電流モードという用語は、(全ての電子回路と同様に)電流および電圧の両方を用いるが、信号が電流として表され、電圧は付随的役割のみを果たす回路を指す。ニューラルネットワーク1の一部は、シナプス回路5のマトリックスによって接続された2つの連続した細胞体回路3の層を示す
図4において図示される。したがってネットワークは、プログラマブルシナプス回路のマトリックスを介して細胞体回路3の層を接続することによって構成される。
図2および
図3に示す回路を用いると、細胞体回路3の出力は、(
図4の太線で示す)電圧として伝達または符号化され、スカラーによる乗算を実行するシナプス回路5の縦列へ受け渡される。シナプス回路5の出力は(
図4の細線で示す)電流であり、シナプス回路5の横列の出力は、ワイヤを介してそれらを単純に接続することによって合算され得るので、追加のトランジスタは必要ではない。合算電流はその後、非線形性を実現する次の層の細胞体への入力として受け渡される。
【0020】
この細胞体回路3は、ソフトウェア実装ディープネットワークにおいて一般的に用いられる「ReLU」伝達関数と同様、入力として電流を受け取り、基本的に整流(非線形関数)を実行し、log変換された整流入力回路に比例する電圧を出力として提供する。ただし、適切に変換される場合、電流の代わりに入力電圧が用いられ得ることに留意すべきである。シナプス回路5は、自身の出力が細胞体回路3への入力において概ね線形であるように、自身の入力のべき乗を実行する。シナプス回路5における乗算は、スケーリング電流ミラーを介して実行され、それによって乗算係数は、使用されるそれぞれのトランジスタの幅に比例する。より詳しく後述するように、提案される実装例において、異なる寸法の2×3の電流ミラー(正値が3および負値が3)に基づく符号付き3ビットシナプス回路5が用いられる。シナプスの考えられる2
4の重み値のうち1つは、その後、それぞれの電流ミラーをオンまたはオフに切り換えることによって実行される。その結果、個々のシナプス回路5の重み構成は、実際のシナプス回路5の一部であるメモリ素子7においてデジタルに格納され得る。したがって、提案される回路は、「メモリ内で」計算し、メモリ素子と処理素子との間での費用のかかるデータシャッフリングには頼らない。
【0021】
ネットワーク1は、並外れた電力特性を実現するために、サブスレッショルド体制で動かされ得る。トランジスタのサブスレッショルド(弱反転)電流は、閾値を超える動作の場合のように多項式ではなく、ゲート電圧のべき乗であり、何桁もの大きさにおよび得るので、この技術に基づくシステムは、デジタルのものより何桁分も低い電流で動かされ得る。すなわち、サブスレッショルド動作領域では、電圧および電流は、対数関係および指数関係に従う。同様に、指数関数的な電圧電流関係により、デバイスミスマッチが著しく大きな影響を有し、これは、この技術が一般的に用いられない理由をある程度説明する。ミスマッチを制御するのではなく、ミスマッチをパラメータとして最適化に組み込むことによって、これらの制限が回避される。したがって本発明において、例えば特定のデバイスの物理的パラメータなどの制約は、ネットワーク最適化プロセスを導くために用いられる。サブスレッショルド動作は、低いネットワーク入力電流I
inおよび/または電圧源からの低電圧V
ddを適用することによって実現され得る。
【0022】
ニューラルネットワーク1において、電流および電圧の両方が情報を伝送するために用いられてよく、
図2に示すように、細胞体回路3は、入力電流I
inを受け取り、出力電圧V
n、V
p(すなわち、同じ値を有してもよい第1電圧および第2電圧)のセットを生成し、これは全ての外向きシナプス回路5へ受け渡される。次にシナプス回路5は、
図3に示すように出力電流I
outを生成する。上述したように、様々なシナプス回路5の出力の合算は、単純にそれらを互いに接続することによってなされ得る。合算電流はその後、非線形性を実現する次の層の細胞体回路3への入力として受け渡される。シナプス回路5の二進重みおよび符号は、構成ビットw
±、w
iによって設定され(図示される回路例は符号付き3ビットシナプス回路を示す)、それによって考えられる様々な重みの実際の値は、使用されるトランジスタのサイズによって決定される。細胞体回路3は、整流を実行し、入力電流に依存して入力電流の非線形圧縮を実行する。非線形圧縮は、細胞体回路3に高い入力電流が適用された場合、または電圧V
ddが低い場合に起こる。その結果生じる電流はその後、シナプス回路5にコピーされ、そこで、それぞれのトランジスタのサイズに比例するスカラーによって乗算される。
【0023】
図2を参照すると、ダイオード接続n型電界効果トランジスタ(nFET)としてトランジスタM
0を用いて、細胞体回路3は基本的に入力電流I
inの整流を実行する。また、電流はトランジスタM
1にコピーされ、トランジスタM
2およびM
3を介してトランジスタM
4にもコピーされる。トランジスタM
0およびM
1は、第1電流ミラーを形成すると考えることができ、トランジスタM
2およびM
3は、第2電流ミラーを形成する。トランジスタM
2は、接続されたシナプス回路5からのp型電界効果トランジスタ(pFET)とともに、第1スケーリング電流ミラー、より具体的には電流ミラーの第1セットを形成し(M
2はpFETごとに電流ミラーを形成し)、トランジスタM
4は、接続されたシナプス回路5からのnFETとともに、第2スケーリング電流ミラー、より具体的には電流ミラーの第2セットを形成し(M
4はnFETごとに電流ミラーを形成し)、整流入力電流I
inのスケール変更コピーを生成するので、第1スケーリング電流ミラーは正電流を生成し、第2スケーリング電流ミラーは負電流を生成する。これらの電流は、同じ振幅を有してよい。したがってスケーリング係数は、M
10〜M
15(
図3)の寸法によって決定される。このように、トランジスタM
0およびM
1は電流ミラーを形成し、トランジスタM
2およびM
3は別の電流ミラーを形成する。この例において、トランジスタM
0、M
2、およびM
4は全てダイオード接続される。トランジスタM
16〜M
20はスイッチとして動作し、デジタル信号(電圧)w
±、w
0、w
1、およびw
2によって制御される。w
±の値は、正の分岐(ノードI
outへ電流を足すpFET M
13〜M
15)または負の分岐(ノードI
outから電流を減じるnFET M
10〜M
12)のどちらがオンに切り換えられるか、およびそれに従うシナプス乗算係数の符号を決定する。したがって、一度に、トランジスタM
16およびM
17のいずれかのみがオンである。w
0、w
1、およびw
2の設定は、出力電流I
outへの特定の寄与をオンまたはオフに切り換えることを可能にする。すなわち、スイッチM
18、M
19、およびM
20によって、トランジスタM
10〜M
15のいずれかを個々にオンまたはオフにすることが可能である。例えば、トランジスタM
18がオンである場合、(M
17もオンであり、M
13およびM
2は等しい長さであると仮定すると)M
13の個別的寄与は、M
13およびM
2の幅の比に比例する。実装例において、M
10〜M
12の幅、およびM
13〜M
15の幅はそれぞれ、2のべき乗によってスケールされる(表1を参照)ので、シナプス回路5は、構成ビット(w
0、w
1、w
2)の二進値にほぼ対応する係数による乗算を実行する。原則として、スイッチおよびメモリ素子7は1つのデバイス内にあってよい(これは、例えばフローティングゲート(フラッシュメモリ)またはメモリスタデバイスを用いて実装され得る)。説明される回路は符号付き3ビットバージョンに基づくが、乗算トランジスタおよび対応するスイッチの数を変更することによって任意の精度が実現され得る。M
3およびM
4の寸法は、シナプス回路5の1つの特定ビットの正および負の分岐のトランジスタを通る電流が、オンに切り換えられた時に概ね一致するように調整され得る。表1は、この例において用いられるトランジスタ寸法を示す。
【表1】
【0024】
提案される単純な細胞体回路3およびシナプス回路5は、非常に小さな回路面積に実装することができるという点以外にもいくつかの利点を提供する。第1に、数値は電流ミラーを通してしか伝達されないので、温度非依存である。第2に、製造由来の変動性の多くは、5つの連続したトランジスタM
0〜M
4を有する細胞体におけるデバイスに起因する。これは、シナプス由来のミスマッチは一次近似式において無視してよいことを意味する。サブスレッショルド体制でトランジスタを動かすこと、すなわち電流を数十または数百nAに制限することによって、非常に低い電力特性が実現され得る。この例において、M
16〜M
20を除く全てのトランジスタは、サブスレッショルド体制で動かされる。ただし、説明される回路は典型例であり、限定的ではないことに留意すべきである。特に、1つの入力電流I
inを受け取り、細胞体によって実現される非線形性のlog変換後の出力を表す2つの出力電圧V
nおよびV
pを提供する細胞体回路の他の実装が考えられる。
【0025】
多層ニューラルネットワーク1は、既述したようにシナプス回路5で構成されたマトリックスを介して細胞体回路3の層を接続することによって、上述した細胞体回路3およびシナプス回路5を用いて構成され得る。よって、この方法で構成されたネットワークの第1ステージは、人工ニューラルネットワーク実装における一般的な場合のように、重みマトリックスではなく、細胞体回路の層である。これは、提案される解決策において、電圧ではなく入力電流が提供され、細胞体回路3は入力として電流を受け取ることによる。その結果、整流により、提案されるネットワーク1は負の入力信号を無視する。電圧ではなく電流出力を得るために、1つのシナプス回路5が出力層の各細胞体回路3に接続され、その重みは、出力電圧を電流に変換するために1に設定される。
【0026】
個々の細胞体回路3の特性伝達曲線を決定するために、それぞれの細胞体回路3の入力出力関係を測定する必要がある。この例において、対数領域出力電圧V
nおよびV
pを測定するのではなく、後続層への入力電流I
inが記録される。ただし、代わりに電圧を記録し、対応する電流を計算することも可能である。このアプローチ例の利点は、数量が電圧ではなく、log変換された電流に比例し、細胞体回路3の出力信号であること、および、シナプス回路5に起因する潜在的な歪みが考慮されることである。したがって、シナプス回路5におけるミスマッチによって生じる偏差は、多数のシナプス回路5を平均することによって平均化される。また、この方法の場合、入力および出力信号のために2つの別々のプローブを必要とするのではなく、細胞体ごとに1つのプローブを必要とする。さらに、(先験的に知られていない)シナプス回路5の単位重量がここでは細胞体回路3の特性になるので、重みは自動的に標準化(正規化)される。ただし、後続層への入力電圧の代わりに細胞体回路3の直接の出力電圧が測定され、細胞体伝達特性を抽出するために用いられてよいことに留意すべきである。
【0027】
具体的には、それぞれのシナプス回路5をそれらの最大値(すなわち最大回路出力電流)に設定し、それぞれの細胞体回路3に至る他のシナプス回路5をオフにすることによって、全ての細胞体回路3は、前の層のちょうど1つの細胞体回路3からの入力を(1つのシナプス回路5を介して)受け取るように構成される。ただし、必ずしもそれぞれのシナプス回路5をそれらの最大値に設定する必要はなく、任意の正値が機能するが、より大きなトランジスタが回路ミスマッチを最小化するので最大値が好適であることに留意すべきである。
図5は、1つの入力層、1つの隠れ層、および1つの出力層を有するネットワークのパラメータ抽出手順中に生じ得る、考えられる重み構成の1つを示す。円は細胞体回路3を表し、正方形はシナプス回路5を表す。電圧は太線によって表され、電流は細線によって表される。非ゼロ値に設定されたシナプス回路5のみが示される。この例において、全ての細胞体回路3は、ちょうど1つの入力信号を受信し、接続されたシナプス回路5とともに、最大1つの出力電流を生成し、これは後続層の細胞体回路3への入力として測定され得る。ただし、電流は線形的に相互作用するので、入力として複数の細胞体を用いて同じプロセスを行い、より多くの測定を行うことが可能である。ネットワークへの入力は、入力電流の設定に関して提供され、出力は、最後の層の後のシナプス回路5の追加のアレイによって電流に変換され得る。3つの測定点A、B、およびCもまた
図5に示される。点Aは層L1の細胞体#3の入力であり、点Bは層L2の細胞体#1の入力であり、点Cは層L2の細胞体#2における全回路の出力である。
【0028】
様々な層における細胞体回路3の伝達曲線11を決定するために、シナプス回路5の重み構成は、複数の様々な構成に設定されてよく、様々な細胞体回路3への入力電流はその後、ネットワーク1へ提供された複数の様々な入力パターンの各々について測定され得る。この例において、単一の測定周回中、入力層の全ての細胞体回路3への入力電流は同じ値に設定され、より深い層の細胞体回路3への入力が記録される。シナプス回路5を構成する接続マトリックスを並べ替えることによって多数の接続パターンを生成すること、および入力電流を様々な値に設定することにより、細胞体回路3ごとに複数のデータ点9(入力出力関係)が記録され、それによって連続伝達曲線11は、例として1つの測定点に関して
図6に示したように、データに適合し得る。その後、整流線形関数f(v)=max{0,α・v}がデータに適合され、その結果生じるパラメータαは、
図1のステップc)において訓練アルゴリズムの一部として用いられる。
【0029】
ステップc)におけるネットワーク1の訓練は、例えば確率的勾配降下法を用いて実行され得る。この例において、抽出されたパラメータαを用いてパラメータ化された活性化関数f(v)=max{0,α・Wv}を有する細胞体回路3のカスタム伝達関数が追加され、細胞体活性化関数をモデル化するために用いられる。この例において、パラメータは、区分的線形関数の一部の勾配である。入力Wvの積総和は特性化されず、すなわち、シナプス回路5におけるデバイス変動は多くの場合無視してよいが、行列乗算としてソフトウェア内でモデル化され得る。ただし、訓練において、細胞体回路3および/またはシナプス回路5を特徴付けするα以外のパラメータが追加または代替として用いられてよいことに留意すべきである。
【0030】
本発明は、図面および上記説明において詳しく図示および説明されたが、そのような図示および説明は、限定的ではなく例示的または典型的なものと見なされ、本発明は開示される実施形態に限定されるものではない。図面、本開示、および特許請求の範囲の検討に基づいて特許請求対象の発明を実行する際、当業者によって他の実施形態および変形例が理解され、実現され得る。
【0031】
特許請求の範囲において、「備える」という語は、他の要素またはステップを除外するものではなく、不定冠詞の「a」または「an」は、複数形を除外するものではない。様々な特徴が互いに異なる従属請求項に記載されることは、これらの特徴の組み合わせが有益に用いられないことを示すものではない。特許請求の範囲における任意の参照符号は、本発明の範囲を限定するものとして解釈されてはならない。