(57)【要約】【課題】ニューラル・ネットワークを実施するための、抵抗処理ユニット（ＲＰＵ）アレイのクロスポイント・デバイスに重みを記憶するための方法を提供。【解決手段】クロスポイント・デバイスの一組の単一ビット・カウンタからの各単一ビット・カウンタの状態を設定するステップを含み、単一ビット・カウンタの状態がクロスポイント・デバイスに記憶される重みを表す。クロスポイント・デバイスの抵抗器デバイスの電気コンダクタンスを調整するステップをさらに含む。抵抗器デバイスは、一組の抵抗回路を含み、各抵抗回路が一組の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられ、電気抵抗が、関連付けられた単一ビット・カウンタの状態に従って各抵抗回路を活性化または非活性化することによって調整される。【選択図】図１７
2021507349.tif 000002
【特許請求の範囲】
【請求項１】
抵抗処理ユニット（ＲＰＵ）アレイのクロスポイント・デバイスに重みを記憶するための方法であって、
前記クロスポイント・デバイスの複数の単一ビット・カウンタからの各単一ビット・カウンタの状態を設定するステップであり、前記単一ビット・カウンタの前記状態が前記クロスポイント・デバイスに記憶される前記重みを表す、前記設定するステップと、
前記クロスポイント・デバイスの抵抗器デバイスの電気コンダクタンスを調整するステップであり、前記抵抗器デバイスが複数の抵抗回路を含み、各抵抗回路が前記複数の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられ、前記電気コンダクタンスが、前記関連付けられた単一ビット・カウンタの状態に応じて、各抵抗回路を活性化または非活性化することによって調整される、前記調整するステップと、
を含む方法。
【請求項２】
前記抵抗回路が直列に通信可能に結合されている、請求項１に記載の方法。
【請求項３】
前記抵抗回路が２次関数的に増加する抵抗を含み、第１の抵抗回路が所定の抵抗を有し、さらなる後続の各抵抗回路が、前の抵抗回路の値の２倍の抵抗を含む、請求項１に記載の方法。
【請求項４】
前記抵抗回路が電界効果トランジスタ（ＦＥＴ）を含む、請求項３に記載の方法。
【請求項５】
前記ＦＥＴが２次関数的に減少するトランジスタ幅に少なくとも部分的に基づいて、２次関数的に増加する抵抗を含む、請求項４に記載の方法。
【請求項６】
前記ＦＥＴが、２次関数的に増加するゲート長に少なくとも部分的に基づいて、２次関数的に増加する抵抗を含む、請求項４に記載の方法。
【請求項７】
前記ＦＥＴが、ＦＥＴの縦型スタックの一部である、請求項６に記載の方法。
【請求項８】
前記抵抗回路が抵抗器ラダーを含み、前記抵抗回路のそれぞれが、
論理ゲートと、
直列の抵抗器と、
を備え、
前記論理ゲートが、前記対応する単一ビット・カウンタの前記状態に少なくとも部分的に基づいて活性化される、
請求項３に記載の方法。
【請求項９】
抵抗処理ユニット（ＲＰＵ）アレイのクロスポイントに重み値を記憶するためのクロスポイント・デバイスであって、
複数の単一ビット・カウンタを含むカウンタであり、前記単一ビット・カウンタの状態が前記クロスポイント・デバイスに記憶される前記重みを表す、前記カウンタと、
複数の抵抗回路を備える抵抗器デバイスであり、各抵抗回路が前記複数の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられており、前記抵抗回路が前記関連付けられた単一ビット・カウンタの状態に従って活性化または非活性化され、前記抵抗器デバイスの電気コンダクタンスが、活性化されている前記抵抗回路に少なくとも部分的に基づいて調整される、前記抵抗器デバイスと、
を備える、クロスポイント・デバイス。
【請求項１０】
前記抵抗回路が直列に接続されている、請求項９に記載のクロスポイント・デバイス。
【請求項１１】
前記抵抗回路が、２次関数的に増加する抵抗を含み、第１の抵抗回路が所定の抵抗を有し、さらなる後続の各抵抗回路が前の抵抗回路の２倍の抵抗を有する、請求項９に記載のクロスポイント・デバイス。
【請求項１２】
前記抵抗回路が電界効果トランジスタ（ＦＥＴ）である、請求項１１に記載のクロスポイント・デバイス。
【請求項１３】
前記ＦＥＴが２次関数的に減少するトランジスタ幅に少なくとも部分的に基づいて、２次関数的に増加する抵抗を含む、請求項１２に記載のクロスポイント・デバイス。
【請求項１４】
前記ＦＥＴが２次関数的に増加するゲート長に少なくとも部分的に基づいて、２次関数的に増加する抵抗を含む、請求項１２に記載のクロスポイント・デバイス。
【請求項１５】
前記抵抗回路が抵抗器ラダーであり、前記抵抗回路のそれぞれが、
論理ゲートと
直列の抵抗器と、
を備え、
前記論理ゲートが前記対応する単一ビット・カウンタの前記状態に少なくとも部分的に基づいて活性化される、
請求項１１に記載のクロスポイント・デバイス。
【請求項１６】
ニューラル・ネットワークを実施するためのクロスポイント・アレイであって、
各クロスポイント・デバイスが前記クロスポイント・アレイの各ノードにある複数のクロスポイント・デバイスであり、各ノードが前記ニューラル・ネットワークのニューロン間の接続を表し、各ノードが前記ノードに割り当てられた重みを記憶し、各クロスポイント・デバイスが請求項９ないし１５のいずれかに記載されるようなものである、前記複数のクロスポイント・デバイス、
を備えるクロスポイント・アレイ。
【請求項１７】
ニューラル・ネットワークを実施するためのシステムであって、
請求項１６に記載されるようなクロスポイント・アレイと、
前記クロスポイント・アレイの各クロスポイント・デバイスに記憶された値を調整するように構成されたグローバル・コントローラと、
を備えるシステム。
【請求項１８】
前記クロスポイント・アレイが、
各クロスポイントにおけるローカル・メモリであって、前記クロスポイントの前記クロスポイント・デバイスに割り当てられた複数の重みを記憶するように構成され、前記複数の重みのそれぞれが前記ニューラル・ネットワークからのそれぞれの層間接続に対応する、前記ローカル・メモリと、
各クロスポイントにおけるローカル・コントローラであって、前記ローカル・メモリと結合され、
前記ローカル・メモリから重みを読み出し、
前記クロスポイントにおける前記クロスポイント・デバイスのカウンタの値として重みを設定する、
ように構成されている、前記ローカル・コントローラと、
をさらに備える、請求項１７に記載のシステム。
【請求項１９】
前記ローカル・コントローラが前記クロスポイント・デバイスの前記カウンタの前記値を前記ローカル・メモリに記憶するようにさらに構成されている、請求項１８に記載のシステム。
【請求項２０】
ニューラル・ネットワークを実施するための方法であって、
グローバル・コントローラによって、クロスポイント・アレイにロードされるマトリックスを選択するステップであり、前記マトリックスが前記ニューラル・ネットワークの２つの層間の接続に対応する、前記選択するステップと、
それに応じて、前記クロスポイント・アレイのクロスポイントのローカル・コントローラによって、前記クロスポイントに関連付けられたクロスポイント・デバイスの重み値をロードするステップであり、前記重み値が前記選択されたマトリックスの前記クロスポイントに割り当てられ、請求項１ないし８のいずれかに記載の方法のステップを含む、前記ロードするステップと、
それに応じて、前記クロスポイント・デバイスによって、前記クロスポイントに関連付けられた抵抗器デバイスのコンダクタンスを調整するステップであり、前記コンダクタンスが前記クロスポイント・デバイスにロードされた前記重み値に対応する、前記調整するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、本明細書ではプログラム可能で再構成可能な人工ニューラル・ネットワーク用のカウンタ・ベースの抵抗処理ユニット（ＲＰＵ:resistive processing unit）と呼ばれる、トレーニング可能な抵抗クロスポイント・デバイスの構成に関する。より詳細には、本発明は、ＲＰＵ以外の追加の処理要素を必要としないローカル・データ記憶およびローカル・データ処理を提供し、それによって行列反転(matrix inversion)、行列分解(matrix decomposition)などのアルゴリズムを実施するＡＮＮの能力を加速する、抵抗処理ユニット（ＲＰＵ）のクロスバー・アレイから形成された人工ニューラル・ネットワーク（ＡＮＮ）に関する。
【背景技術】
【０００２】
コンピュータによる文字認識および画像認識などの技術的問題は、機械学習技術によってうまく処理されることが知られている。「機械学習」は、データから学習する電子システムの主要な機能を広く説明するために使用される。機械学習および認知科学では、ＡＮＮは、動物の生体ニューラル・ネットワーク、特に脳に発想を得た統計学習モデルのファミリーである。ＡＮＮを使用して、多数の入力に依存する、一般に未知であるシステムおよび機能を推定または近似することができる。クロスバー・アレイは、ＡＮＮアーキテクチャ、ニューロモーフィック・マイクロチップ、超高密度不揮発性メモリを含む、様々な電子回路およびデバイスを形成するために使用される高密度、低コストの回路アーキテクチャである。基本的なクロスバー・アレイ構成は、一組の導電性行ワイヤ、および一組の導電性行ワイヤと交差するように形成された一組の導電性列ワイヤを含む。２組のワイヤ間の交差部は、いわゆるクロスポイント・デバイスによって分離される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、抵抗処理ユニット（ＲＰＵ）アレイのクロスポイント・デバイスに重みを記憶するための方法、そのクロスポイント・デバイス、ニューラル・ネットワークを実施するためのクロスポイント・アレイ、そのシステム、およびニューラル・ネットワークを実施するための方法を提供する。
【課題を解決するための手段】
【０００４】
本発明の一実施形態によると、クロスポイント・デバイスに重みを記憶するための方法は、クロスポイント・デバイスの一組の単一ビット・カウンタからの各単一ビット・カウンタの状態を設定するステップを含み、単一ビット・カウンタの状態が、クロスポイント・デバイスに記憶される重みを表す。本方法は、クロスポイント・デバイスの抵抗器デバイスの電気コンダクタンスを調整するステップをさらに含む。抵抗器デバイスは、一組の抵抗回路を含み、各抵抗回路は、一組の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられている。抵抗器デバイスの電気コンダクタンスは、関連付けられた単一ビット・カウンタの状態に従って各抵抗回路を活性化または非活性化することによって調整される。
【０００５】
本発明の一実施形態によると、クロスポイント・デバイスは、一組の単一ビット・カウンタを有するカウンタを含み、単一ビット・カウンタの状態が、クロスポイント・デバイスに記憶される重みを表す。抵抗器デバイスは、一組の抵抗回路を含み、各抵抗回路は、一組の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられている。抵抗回路は、関連付けられた単一ビット・カウンタの状態に従って活性化または非活性化され、抵抗器デバイスの電気コンダクタンスは、活性化された抵抗回路に少なくとも部分的に基づいて調整される。
【０００６】
本発明の一実施形態によると、ニューラル・ネットワークを実施するためのシステムは、複数のノードを含むクロスポイント・アレイを含み、各ノードがニューラル・ネットワークのニューロン間の接続を表し、各ノードがノードに割り当てられた重みを記憶する。クロスポイント・アレイは、各ノードにクロスポイント・デバイスを含む。クロスポイント・デバイスは、複数の単一ビット・カウンタを有するカウンタを含み、単一ビット・カウンタの状態がクロスポイント・デバイスに記憶される重みを表す。さらに、クロスポイント・デバイスは、複数の抵抗回路を有する抵抗器デバイスを含み、各抵抗回路が、単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられている。抵抗回路は、関連付けられた単一ビット・カウンタの状態に従って活性化または非活性化され、抵抗器デバイスの電気コンダクタンスが、活性化された抵抗回路に少なくとも部分的に基づいて調整される。さらに、グローバル・コントローラがクロスポイント・アレイの各クロスポイント・デバイスに記憶された値を調整する。
【０００７】
本発明の一実施形態によると、ニューラル・ネットワークを実施するためのクロスポイント・アレイは、クロスポイント・デバイスがクロスポイント・アレイの各ノードにある、一組のクロスポイント・デバイスを含み、各ノードがニューラル・ネットワークのニューロン間の接続を表し、各ノードがノードに割り当てられた重みを記憶する。クロスポイント・デバイスは、一組の単一ビット・カウンタを有するカウンタを含み、単一ビット・カウンタの状態が、クロスポイント・デバイスに記憶される重みを表す。抵抗器デバイスは、一組の抵抗回路を含み、各抵抗回路は、一組の単一ビット・カウンタからのそれぞれの単一ビット・カウンタに関連付けられている。抵抗回路は、関連付けられた単一ビット・カウンタの状態に従って活性化または非活性化され、抵抗器デバイスの電気コンダクタンスが、活性化された抵抗回路に少なくとも部分的に基づいて調整される。
【０００８】
本発明の一実施形態によると、ニューラル・ネットワークを実施するための方法は、グローバル・コントローラによって、クロスポイント・アレイにロードされるマトリックスを選択するステップを含み、マトリックスがニューラル・ネットワークの２つの層間の接続に対応する。本方法は、クロスポイント・アレイのクロスポイントにおけるローカル・コントローラによって、クロスポイントに関連付けられたクロスポイント・デバイスの重み値をロードするステップをさらに含み、重み値が、選択されたマトリックスのクロスポイントに割り当てられる。さらに、本方法は、クロスポイント・デバイスによって、クロスポイントに関連付けられた抵抗器デバイスのコンダクタンスを調整するステップを含み、コンダクタンスがクロスポイント・デバイスにロードされた重み値に対応する。
【０００９】
追加の技術的特徴および利点は、本発明の技術を通じて実現される。本発明の実施形態は、本明細書で詳細に説明され、特許請求される主題の一部と見なされる。より良好な理解のために、詳細な説明および図面を参照されたい。
【００１０】
本明細書に記載される例は、以下の図を参照してよりよく理解されるであろう。図における構成要素は、必ずしも縮尺通りではない。さらに、図において、同様の参照番号は、異なる図の全体を通して対応する部分を示す。
【図面の簡単な説明】
【００１１】
【図１】生体ニューロンの入力および出力接続の簡略図である。
【図２】図１に示す生体ニューロンの簡略化されたモデルである。
【図３】図２に示す生体ニューロンのモデルを組み込んだＡＮＮの簡略化されたモデルを示す図である。
【図４】重み更新方法の簡略化されたブロック図である。
【図５】本発明の一実施形態による重みのアレイを含むＡＮＮの図である。
【図６】本発明の一実施形態によるＲＰＵデバイスのクロスバー・アレイを、ＲＰＵの動作を示す電圧シーケンスとともに示す図である。
【図７】本発明の一実施形態による、ＲＰＵアレイのクロスポイント・デバイスとして使用することができるカウンタ・ベースのＲＰＵを示す図である。
【図８】カウンタの状態に少なくとも部分的に基づいた抵抗器デバイスの調整可能な抵抗である。
【図９】幅に少なくとも部分的に基づいてＦＥＴの抵抗／コンダクタンスを変化させることを示す図である。
【図１０】ゲート長に少なくとも部分的に基づいてＦＥＴの抵抗／コンダクタンスを変化させることを示す図である。
【図１１】垂直の幾何学的形状を使用した可変抵抗／コンダクタンスを有する抵抗器デバイスの例を示す図である。
【図１２】本発明の一実施形態による、ＲＰＵアレイのクロスポイント・デバイスとして使用することができるカウンタ・ベースのＲＰＵを示す図である。
【図１３】抵抗器ラダーを有するＲＰＵがＲＰＵアレイのクロスポイント・デバイスとしてどのように接続されるかを示す図である。
【図１４】ＲＰＵおよび接続回路を使用して実行される順方向伝搬パスを示す図である。
【図１５】ＲＰＵおよび接続回路を使用して実行される逆方向伝搬パスを示す図である。
【図１６】ＲＰＵデバイスを使用するＲＰＵアレイを示す図である。
【図１７】ＲＰＵデバイスを使用するＲＰＵアレイ内のデータフローを示す図である。
【発明を実施するための形態】
【００１２】
本明細書に示される図は、例示的なものである。本発明の思想から逸脱することなく、本明細書に記載される図または動作に対して多くの変形形態があり得る。例えば、アクションは、異なる順序で実行することができ、またはアクションは、追加、削除、または変更することができる。また、「結合された」という用語およびその変形形態は、２つの要素間に通信経路を有することを表し、それらの間に介在する要素／接続がない要素間の直接的な接続を意味するものではない。これらの変形形態はすべて、本明細書の一部と考えられる。
【００１３】
本発明の様々な実施形態は、関連する図面を参照して本明細書で説明される。本発明の範囲から逸脱することなく本発明の代替の実施形態を考案することができる。以下の説明および図面において、様々な接続および位置関係（例えば、上、下、隣接など）が要素間に記載されている。これらの接続または位置関係あるいはその両方は、別段の規定がない限り、直接的または間接的であってもよく、本発明は、この点に関して限定的であることは意図されていない。したがって、エンティティの結合は、直接的または間接的な結合のいずれかを指すことができ、エンティティ間の位置関係は、直接的または間接的な位置関係であってもよい。さらに、本明細書で説明される様々なタスクおよびプロセス・ステップは、本明細書で詳細に説明されない追加のステップまたは機能を有する、より包括的な手順またはプロセスに組み込むことができる。
【００１４】
以下の定義および略語は、特許請求の範囲および本明細書の解釈のために使用されるべきである。本明細書で使用されるとき、用語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」、「含有する」、または「含有している」、あるいはそれらの任意の他の変形形態は、非排他的な包含を含むことが意図されている。例えば、要素の列挙を含む組成物、混合物、プロセス、方法、物品、または装置は、必ずしもそれらの要素だけに限定されず、明示的に列挙されていない、またはそのような組成物、混合物、プロセス、方法、物品、もしくは装置に固有の他の要素を含むことができる。
【００１５】
さらに、「例示的」という用語は、本明細書では、「例、実例、または例示として役立つ」ことを意味するために使用される。「例示的」として本明細書に記載される任意の実施形態または設計は、他の実施形態または設計よりも好ましいもしくは有利であると必ずしも解釈されるべきではない。「少なくとも１つ」および「１つまたは複数」という用語は、１以上の任意の整数、すなわち１、２、３、４などを含むものと理解することができる。「複数」という用語は、２以上の任意の整数、すなわち２、３、４、５などを含むものと理解することができる。「接続」という用語は、間接的な「接続」および直接的な「接続」を含むことができる。
【００１６】
「約」、「実質的に」、「およそ」、およびそれらの変形形態の用語は、出願を申請する時点で利用可能な機器に基づいた特定の量の測定値に関連付けられた誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±８％、または５％、または２％の範囲を含むことができる。
【００１７】
簡潔にするために、本発明の態様を作成および使用することに関連する従来の技法は、本明細書で詳細に説明されることがあり、またはされないことがある。特に、本明細書に記載されている様々な技術的特徴を実施するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの様々な態様は、よく知られている。したがって、簡潔にするために、多くの従来の実施態様の詳細は、よく知られているシステムまたはプロセスあるいはその両方の詳細を提供することなく、本明細書で簡単に言及されるか、または完全に省略される。
【００１８】
本発明の１つまたは複数の実施形態は、脳の構造および機能のモデリングに特に重点を置いた生体ニューラル・ネットワークの文脈で説明されているが、本明細書で引用される教示の実施は、特定の環境のモデリングに限定されないことがあらかじめ理解されているものとする。むしろ、本発明の実施形態は、環境への様々な入力をベクトルに転換することができる限り、例えば、気象パターン、インターネットから収集された任意のデータなどを含む、任意のタイプの環境をモデル化することが可能である。
【００１９】
人工ニューラル・ネットワーク（ＡＮＮ）を使用して、多数の入力に依存する、一般に未知のシステムおよび機能を推定または近似することができる。ニューラル・ネットワークは、相互接続された「ニューロン」の概念に基づくクラスのアルゴリズムを使用する。典型的なニューラル・ネットワークでは、ニューロンは、入力に対して動作する所与の活性化関数(activation function)を有する。適切な接続の重みを決定すること（「トレーニング」とも呼ばれるプロセス）によって、ニューラル・ネットワークは、画像や文字などの所望のパターンの認識を効率的に行う。多くの場合、これらのニューロンは、グループ間の接続をより明確にし、値をそれぞれ計算するために、「層」にグループ化される。ニューラル・ネットワークのトレーニングは、計算量の多いプロセスである。
【００２０】
ＡＮＮは、多くの場合、シミュレートされた「ニューロン」として機能し、電子信号の形態で互いに「メッセージ」を交換する、相互接続されたプロセッサ要素のいわゆる「ニューロモーフィック」システムとして具現化される。生体ニューロン間でメッセージを伝達するシナプス神経伝達物質接続のいわゆる「可塑性」と同様に、シミュレートされたニューロン間で電子メッセージを伝達するＡＮＮの接続には、所与の接続の強弱に対応する数値的な重みが付けられている。ＡＮＮが入力に適応し、学習することができるように、重みは、経験に基づいて調節および調整され得る。例えば、手書き認識用のＡＮＮは、入力画像のピクセルによって活性化することができる一組の入力ニューロンによって定義される。ネットワークの設計者によって決定された関数によって重み付けされ、変換された後、これらの入力ニューロンの活性化は、その後、「隠れ（hidden）」ニューロンとしばしば呼ばれる他の下流のニューロンに渡される。このプロセスは、出力ニューロンが活性化されるまで繰り返される。活性化された出力ニューロンは、どの文字が読み取られたかを判定する。
【００２１】
クロスバー・アレイは、クロスポイント・アレイまたはクロスワイヤ・アレイとも呼ばれ、ＡＮＮアーキテクチャ、ニューロモーフィック・マイクロチップ、超高密度不揮発性メモリなどの、様々な電子回路およびデバイスを形成するために使用される高密度、低コストの回路アーキテクチャである。基本的なクロスバー・アレイ構成は、一組の導電性行ワイヤ、および一組の導電性行ワイヤと交差するように形成された一組の導電性列ワイヤを含む。２組のワイヤ間の交差部は、薄膜材料から形成することができる、いわゆるクロスポイント・デバイスによって分離される。
【００２２】
クロスポイント・デバイスは、事実上、ニューロン間のＡＮＮの重み付けされた接続として機能する。ナノスケール・デバイス、例えば、「理想的な」導通状態のスイッチング特性を有するメモリスタは、高いエネルギー効率でシナプス可塑性をエミュレートするために、クロスポイント・デバイスとしてしばしば使用される。理想的なメモリスタ材料の導通状態（例えば、抵抗）は、行ワイヤと列ワイヤの個々のワイヤ間に印加される電圧を制御することによって変更することができる。デジタル・データは、高い導通状態または低い導通状態を実現するために、交差部におけるメモリスタ材料の導通状態を変更することによって記憶することができる。メモリスタ材料は、材料の導通状態を選択的に設定することによって、２つ以上の別個の導通状態を維持するようにプログラムすることもできる。メモリスタ材料の導通状態は、材料に電圧を印加し、ターゲット・クロスポイント・デバイスを通過する電流を測定することによって読み出すことができる。しかしながら、これまでのところ、メモリスタおよびその他の抵抗ランダム・アクセス・メモリ（ＲＲＡＭ）ベースのクロスポイント・デバイスには、ＡＮＮアプリケーションに有害ないくつかの実用上の欠点があり、著しいデバイス間ばらつき、および「セット（すなわち、抵抗を増分するための）」操作と「リセット（すなわち、抵抗を減分するための）」操作の非対称性が、２つのそのような主たる制約である。
【００２３】
消費電力を制限するために、ＡＮＮチップ・アーキテクチャのクロスポイント・デバイスは、しばしば、オフライン学習技術を利用するように設計されており、ターゲット関数の近似は、最初のトレーニング・フェーズが解決されると、変化しない。オフライン学習は、非常にわずかな電力しか引き出さないように、クロスバー・タイプのＡＮＮアーキテクチャのクロスポイント・デバイスを簡略化することができる。
【００２４】
電力消費がより低くなる可能性があるにもかかわらず、オフライン・トレーニングの実行は、トレーニング・データの入力−出力ペアを一致させるために、典型的には、トレーニング中にＡＮＮモデルのかなりな数の調整可能パラメータ（例えば、重み）を修正する必要があるため、困難であり、リソースを大量に消費する可能性がある。したがって、省電力のオフライン学習技法を優先するためにＡＮＮアーキテクチャのクロスポイント・デバイスを簡略化することは、典型的には、トレーニング速度およびトレーニング効率が最適化されないことを意味する。
【００２５】
電力消費を許容範囲内に維持する単純なクロスポイント・デバイスを提供すること、ならびにＡＮＮアーキテクチャのトレーニングの速度および効率を加速することにより、全体的なＡＮＮの性能が向上し、より幅広いＡＮＮアプリケーションが可能になる。したがって、本明細書では、アレイ内に記憶される対応する重みを表す調整可能なコンダクタンス（抵抗）を提供することができるカウンタ・ベースのクロスポイント・デバイスを使用して、クロスポイント・アレイを使用およびトレーニングすることを容易にする技術的解決策が記載される。さらに、重み記憶のための典型的なコンデンサ・ベースの実施態様と比較して、本明細書に記載される技術的解決策は、電荷損失(charge-loss)および更新電流に対する厳しい要件などの技術的課題に対処する。また、メモリスタまたはＲＲＡＭベースのクロスポイント・デバイスとは異なり、カウンタ・ベースのクロスポイント・デバイスは、デバイス間のばらつきが少なく（十分に確立された半導体技術プロセスによってもたらされる）、重み値のアップ・カウント対ダウン・カウントの理想的な対称性を有する。
【００２６】
本明細書に記載される技術的解決策は、特定のクロック・イベントに少なくとも部分的に基づいて、カウンタ・ベースのクロスポイント・デバイスによって記憶された値を更新することをさらに容易にする。クロック・イベントは、ニューラル・ネットワークを表すクロスポイント・アレイを容易にし、順方向または逆方向あるいはその両方の伝播後に記憶された重みを更新する。次いで、記憶された重みが、その後の順方向または逆方向あるいはその両方の伝播中に使用される。
【００２７】
ＲＰＵアレイのＲＰＵとしてカウンタ・ベースのクロスポイント・デバイスを使用することにより、ＲＰＵアレイが従来のＣＭＯＳ技術の堅牢性を有することが容易になる。さらに、デジタル・カウンタを使用することにより、重み増分の増加対減少の対称性が容易になる。さらに、カウンタ・ベースのクロスポイント・デバイスにより、ＲＰＵアレイが逆方向伝播に対して確率的並列更新アルゴリズム(stochastic parallel update algorithm)で動作することが容易になる。
【００２８】
１つまたは複数の例では、重み要素は、クロスポイント・デバイスのデジタル・カウンタ（例えば、Ｊ‐Ｋフリップ・フロップ・ベースのカウンタ）に記憶される。カウンタの各ビットは、クロスポイント・デバイスの抵抗回路のスタックからの１つまたは複数の抵抗回路に関連付けられている。カウンタのビットは、ＦＥＴスタックの総抵抗が変換素子（すなわち、各ＲＰＵセルの抵抗器素子）として使用されるように、直列に接続されたＦＥＴのゲート端子を制御する。したがって、カウンタのビットは、さらに詳細に説明されるように、抵抗回路のスタックの総抵抗の制御を容易にする。
【００２９】
本発明の実施形態は、電子システムを対象としているが、参照および説明を容易にするために、電子システムの様々な態様は、例えば、ニューロン、可塑性およびシナプスなどの神経学的専門用語を使用して説明される。電子システムについての本明細書における議論または例示に対して、神経学的専門用語または神経学的省略表記の使用は、参照を容易にするためのものであり、記載された神経機能または神経構成要素の神経形態学的なＡＮＮ等価物をカバーすることが意図されていることが理解されよう。
【００３０】
０と１を操作する従来のデジタル・モデルを利用する代わりに、ＡＮＮは、推定または近似されるコア・システム機能の実質的に機能的な等価物である処理要素間の接続を作成する。例えば、ＩＢＭ（商標）のＳｙＮａｐｓｅ（商標）コンピュータ・チップは、哺乳類の脳と同様の形態、機能、アーキテクチャを提供しようとする電子ニューロモーフィック・マシンの中心的な構成要素である。ＩＢＭ  ＳｙＮａｐｓｅコンピュータ・チップは従来のコンピュータ・チップと同じ基本的なトランジスタ構成要素を使用しているが、そのトランジスタは、ニューロンの挙動およびそれらのシナプス接続を模倣するように構成されている。ＩＢＭ  ＳｙＮａｐｓｅコンピュータ・チップは、１００万強のシミュレートされた「ニューロン」のネットワークを使用して情報を処理し、この「ニューロン」が、生体ニューロン間のシナプス通信と同様の電気スパイクを使用して互いに通信する。ＩＢＭ  ＳｙＮａｐｓｅアーキテクチャは、メモリ（すなわち、シミュレートされた「シナプス」）を読み出して単純な動作を実行するプロセッサの構成（すなわち、シミュレートされた「ニューロン」）を含む。異なるコアに典型的には配置されているこれらのプロセッサ間の通信は、オン・チップ・ネットワーク・ルータによって実行される。
【００３１】
ここで、図１、図２、および図３を参照して、典型的なＡＮＮがどのように動作するかについての一般的な説明を提供する。本明細書で前述したように、典型的なＡＮＮは、ニューロンと呼ばれる約１，０００億の相互接続された細胞を含む人間の脳をモデル化している。図１は、図示するように構成および配置された、上流の入力１１２、１１４、下流の出力１１６、および下流の「他の」ニューロン１１８に接続する経路１０４、１０６、１０８、１１０を有する生体ニューロン１０２の簡略図を示す。各生体ニューロン１０２は、経路１０４、１０６、１０８、１１０を介して電気インパルスを送受信する。これらの電気インパルスの性質、およびそれらが生体ニューロン１０２においてどのように処理されるかが、主に全体的な脳の機能性の原因である。生体ニューロン間の経路接続は、強い場合と弱い場合がある。所与のニューロンが入力インパルスを受け取ると、ニューロンは、ニューロンの関数に従って入力を処理し、関数の結果を下流の出力または下流の「他の」ニューロンあるいはその両方に送信する。
【００３２】
生体ニューロン１０２は、図２に示す式によって表される数学関数ｆ（ｘ）を有するノード２０２として図２においてモデル化されている。ノード２０２は、入力２１２、２１４から電気信号を取得し、各入力２１２、２１４にそのそれぞれの接続経路２０４、２０６の強度を乗算し、入力の和を取り、その和を関数ｆ（ｘ）に渡して、結果２１６を生成し、この結果２１６を、最終出力または別のノードへの入力あるいはその両方とすることができる。本明細書では、アスタリスク（＊）を使用して乗算を表している。弱い入力信号は、非常に小さな接続強度数で乗算されるため、弱い入力信号が関数に与える影響は非常に小さい。同様に、強い入力信号は、より強い接続強度数で乗算されるため、強い入力信号が関数に与える影響は大きい。関数ｆ（ｘ）は、設計選択であり、様々な関数を用いることができる。ｆ（ｘ）の例示的な設計選択は、双曲線正接関数(hyperbolic tangent function)であり、これは、前の和の関数（function of the previous sum）を取り、マイナス１とプラス１との間の数を出力する。
【００３３】
図３は、重み付けされた指向性グラフ(weighted directional graph)として編成された簡略化されたＡＮＮモデル３００を示し、人工ニューロンは、ノード（例えば、３０２、３０８、３１６）であり、重み付けされた有向エッジ(directed edge)（例えば、ｍ１〜ｍ２０）がノードを接続する。ＡＮＮモデル３００は、ノード３０２、３０４、３０６が入力層ノードであり、ノード３０８、３１０、３１２、３１４が隠れ層ノードであり、ノード３１６、３１８が出力層ノードであるように編成されている。各ノードは、接続経路によって、隣接する層のすべてのノードに接続され、接続経路が、接続強度を有する指向性矢印ｍ１〜ｍ２０として図３に示されている。１つの入力層、１つの隠れ層、および１つの出力層のみが示されているが、実際には、複数の入力層、隠れ層、および出力層が設けられてもよい。
【００３４】
人間の脳の機能性と同様に、ＡＮＮ３００の各入力層ノード３０２、３０４、３０６は、接続強度調整およびノード加算なしで、ソース（図示せず）から直接、入力ｘ１、ｘ２、ｘ３を受け取る。したがって、図３の下部に列挙された式によって示されるように、ｙ１＝ｆ（ｘ１）、ｙ２＝ｆ（ｘ２）、およびｙ３＝ｆ（ｘ３）である。各隠れ層ノード３０８、３１０、３１２、３１４は、その入力を、関連する接続経路に関連付けられた接続強度に従って、すべての入力層ノード３０２、３０４、３０６から受け取る。したがって、隠れ層ノード３０８では、ｙ４＝ｆ（ｍ１＊ｙ１＋ｍ５＊ｙ２＋ｍ９＊ｙ３）であり、ここで、＊は、乗算を表す。図３の下部に示す関数ｙ５〜ｙ９を定義する式によって示されるように、隠れ層ノード３１０、３１２、３１４および出力層ノード３１６、３１８に対して、同様の接続強度乗算およびノード加算が実行される。
【００３５】
ＡＮＮモデル３００は、データ・レコードを一度に１つ処理し、レコードの最初の任意の分類をレコードの既知の実際の分類と比較することによって「学習」する。「逆伝播」（すなわち、「誤差の逆方向伝播」）として知られるトレーニング方法論を使用して、最初のレコードの最初の分類からの誤差がネットワークにフィードバックされ、ネットワークの重み付き接続を２回目に修正するために使用され、このフィードバック・プロセスが引き続き何度も繰り返される。ＡＮＮのトレーニング・フェーズでは、各レコードの正しい分類がわかっており、したがって、出力ノードに「正しい」値を割り当てることができる。例えば、正しいクラスに対応するノードのノード値は、「１」（または０．９）であり、その他のノード値は、「０」（または０．１）である。したがって、出力ノードに対するネットワークの計算値をこれらの「正しい」値と比較し、各ノードの誤差項を計算することができる（すなわち、「デルタ」ルール）。次いで、これらの誤差項が、次の反復で出力値が「正しい」値に近づくように、隠れ層の重みを調整するために使用される。
【００３６】
ニューラル・ネットワークには多くのタイプがあるが、２つの最も広いカテゴリは、フィードフォワード・ネットワークおよびフィードバック／回帰ネットワーク(recurrent network)である。ＡＮＮモデル３００は、入力、出力、および隠れ層を有する非回帰フィードフォワード・ネットワークである。信号は、一方向にのみ進むことができる。入力データは、計算を実行する処理要素の層上に渡される。各処理要素は、その入力の重み付けされた和に基づいてその計算を行う。次いで、新しい計算値が、次の層に供給される新しい入力値になる。このプロセスは、すべての層を通過して出力を決定するまで続く。しきい値伝達関数が、出力層のニューロンの出力を定量化するために使用されることがある。
【００３７】
フィードバック／回帰ネットワークは、フィードバック経路を含み、これは、信号がループを使用して両方向に進むことができることを意味する。ノード間の可能な接続のすべてが許可される。このタイプのネットワークにはループが存在するため、ある特定の動作の下では、このタイプのネットワークは、平衡状態に達するまで連続的に変化する非線形動的システム(non-linear dynamical system)となる可能性がある。フィードバック・ネットワークは、連想記憶(associative memory)および最適化問題においてしばしば使用され、ネットワークは、相互接続された因子の最良の配置を探す。
【００３８】
フィードフォワードおよび回帰ＡＮＮアーキテクチャにおける機械学習の速度および効率は、ＡＮＮクロスバー・アレイのクロスポイント・デバイスが、典型的な機械学習アルゴリズムのコア動作をどのように効果的に実行するかに依存する。機械学習の正確な定義は、定式化することが困難であるが、ＡＮＮコンテキストにおける学習プロセスは、ネットワークが特定のタスクを効率的に実行することができるようにクロスポイント・デバイスの接続重みを更新する問題と見なすことができる。クロスポイント・デバイスは、典型的には、利用可能なトレーニング・パターンから必要な接続重みを学習する。ネットワークの重みを繰り返し更新することによって、時間が経つにつれ性能が改善される。人間の専門家によって指定された一連のルールに従う代わりに、ＡＮＮは、代表的な例の所与のコレクションから（入出力関係のような）基本的なルールを「学習」する。したがって、学習アルゴリズムは、一般に、学習ルールを使用して、関連する重みを更新または調整あるいはその両方を行うための手順として定義することができる。
【００３９】
３つの主要な学習アルゴリズム・パラダイムは、教師あり、教師なし、およびハイブリッドである。教師あり学習(supervised learning)、または「教師」を伴う学習では、ネットワークに対して、すべての入力パターンに対する正解（出力）が提供される。重みは、ネットワークが既知の正解に可能な限り近い回答を生成することができるように決定される。強化学習(reinforcement learning)は、ネットワークには、正解自体ではなく、ネットワーク出力の正確性に関する評価（critique）のみが提供される教師あり学習の変形形態である。対照的に、教師なし学習(unsupervised learning)、または教師を伴わない学習では、トレーニング・データ・セットの各入力パターンに関連付けられた正解は、必要とされない。教師なし学習は、データの根本的な構造、またはデータ内のパターン間の相関関係を探索し、これらの相関関係からパターンをカテゴリに編成する。ハイブリッド学習は、教師あり学習と教師なし学習を組み合わせたものである。重みの部分は、通常、教師あり学習によって決定されるが、その他の部分は、教師なし学習によって取得される。
【００４０】
本明細書で前述したように、電力消費を制限するために、ＡＮＮチップ・アーキテクチャのクロスポイント・デバイスは、しばしば、オフライン学習技術を利用するように設計され、ターゲット関数の近似は、最初のトレーニング・フェーズが解決されると、変化しない。オフライン学習は、非常にわずかな電力しか引き出さないように、クロスバー・タイプのＡＮＮアーキテクチャのクロスポイント・デバイスを簡略化することができる。
【００４１】
電力消費がより低くなる可能性があるにもかかわらず、オフライン・トレーニングの実行は、トレーニング・データの入力−出力ペアを一致させるために、典型的には、トレーニング中にＡＮＮモデルのかなりな数の調整可能パラメータ（例えば、重み）を修正する必要があるため、困難であり、リソースを大量に消費する可能性がある。図４は、典型的な読み出し−処理−書き込み更新動作の簡略図を示し、ＣＰＵ／ＧＰＵコア（すなわち、シミュレートされた「ニューロン」）がメモリ（すなわち、シミュレートされた「シナプス」）を読み出し、重み更新処理動作を実行し、次いで更新された重みをメモリに書き戻す。したがって、省電力のオフライン学習技法を優先するためにＡＮＮアーキテクチャのクロスポイント・デバイスを簡略化することは、典型的には、トレーニング速度およびトレーニング効率が最適化されないことを意味する。
【００４２】
図５は、人工ニューラル・ネットワーク（ＡＮＮ）アーキテクチャ５００を示す。フィードフォワード動作の間、一組の入力ニューロン５０２はそれぞれ、それぞれの行の重み５０４に対して並列に入力電圧を提供する。重み５０４は、本明細書に記載されるカウンタ・ベースの重み要素であるＲＰＵデバイスなどのクロスポイント・デバイスである。重み５０４はそれぞれ、設定可能な抵抗値を有し、その結果、電流出力が、重み付けされた入力を表すように、重み５０４からそれぞれの隠れニューロン５０６に流れる。所与の重みによる電流出力は、
【数１】
2021507349.tif 000003
として決定され、ここで、Ｖは、入力ニューロン５０２からの入力電圧であり、ｒは、重み５０４の設定抵抗である。各重みからの電流は列ごとに加算され、隠れニューロン５０６に流れる。
【００４３】
隠れニューロン５０６は、重み５０４のアレイからの電流を使用して、いくつかの計算を実行する。次いで、隠れニューロン５０６は、それ自体の電圧を別のアレイの重み５０４’に出力する。このアレイは、同じ仕方で機能し、重み５０４’の列がそれぞれの隠れニューロン５０６から電圧を受け取って、行ごとに加算された重み付けされた電流出力を生成し、出力ニューロン５０８に提供する。
【００４４】
アレイの追加の層および隠れニューロン５０６を介在させることによって、任意の数のこれらのステージを実施することができることを理解されたい。
【００４５】
逆伝播の間、出力ニューロン５０８は、重み５０４’のアレイにわたって電圧を提供する。出力層は、生成されたネットワーク応答をトレーニング・データと比較し、誤差を計算する。誤差は、電圧パルスとしてアレイに印加され、パルスの高さまたは持続時間あるいはその両方が誤差値に比例して変調される。本例では、重み５０４’の行がそれぞれの出力ニューロン５０８から並列に電圧を受け取り、その電圧を電流に変換し、この電流を列ごとに加算して、隠れニューロン５０６への入力を提供する。隠れニューロン５０６は、重み付けされたフィードバック信号をそのフィードフォワード計算の導関数と組合せ、そのそれぞれの重み５０４の列にフィードバック信号電圧を出力する前に誤差値を記憶する。重み５０４’は、重み５０４と同じように動作し、ラベル付けは、重み５０４がニューロン５０２の層とニューロン５０６の層との間にあり、重み５０４’がニューロン５０６の層とニューロン５０８の層との間にあることを示すために提供されていることに留意されたい。この逆伝播は、すべての隠れニューロン５０６および入力ニューロン５０２が誤差値を記憶するまで、ネットワーク５００全体を通して進む。
【００４６】
重み更新の間、入力ニューロン５０２および隠れニューロン５０６は、第１の重み更新電圧を重み５０４のクロスポイント・アレイに印加し、出力ニューロン５０８および隠れニューロン５０６は、第２の重み更新電圧を、ネットワーク５００を介して重み５０４’のクロスポイント・アレイに印加する。さらに、重み５０４の更新フェーズの間に、入力層５０２は、入力値に比例する電圧パルスを（行ごとに）印加し、層５０６は、隠れ層５０６の誤差値に比例する電圧パルスを（列ごとに）印加する。さらに、ニューロン５０４’の更新フェーズの間に、隠れ層５０６は、そのフィードフォワード出力値に比例する電圧パルスを（列ごとに）印加し、出力層５０８は、出力層５０８の誤差に比例する電圧パルスを（行ごとに）印加する。これらの電圧の組合せにより、各重み５０４、５０４’内に状態変化が生じ、重み５０４、５０４’が新たなカウンタ値を取ることになり、ひいては抵抗値が変化する。このようにして、重み５０４、５０４’は、ニューラル・ネットワーク５００をその処理における誤差に適合させるようにトレーニングすることができる。フィードフォワード、逆伝播、および重み更新という３つの動作モードは、互いに重複しないことに留意されたい。
【００４７】
ここで本発明の概要に移ると、本発明の実施形態は、ローカル・データ記憶機能およびローカル・データ処理機能を提供する、本明細書でクロスポイント・デバイスまたは抵抗処理ユニット（ＲＰＵ）と呼ばれるプログラム可能な抵抗クロスポイント構成要素を対象とする。換言すると、データ処理を実行すると、各ＲＰＵに記憶された値が並列かつローカルに更新され、これにより、関連するデータをプロセッサおよび別の記憶素子に出し入れする必要がなくなる。さらに、記載されたＲＰＵによって提供されるローカル・データ記憶およびローカル・データ処理は、行列反転、行列分解などのアルゴリズムを実施するＡＮＮの能力を加速させる。したがって、記載されたＲＰＵを有する機械学習ＡＮＮアーキテクチャを実施することにより、ＡＮＮの速度、効率、および電力消費を最適化する実施態様が可能になる。記載されたＲＰＵおよび結果として得られるＡＮＮアーキテクチャは、全体的なＡＮＮ性能を向上させ、幅広い実用的なＡＮＮアプリケーションを可能にする。
【００４８】
記載されたＲＰＵは、カウンタと、抵抗回路のスタックを含む抵抗器デバイスと、を含む抵抗クロスポイント・デバイスとして実施することができる。カウンタは、カウンタの各ビットを記憶および出力するデジタル回路を含む。各ビットは、抵抗回路のスタックからのそれぞれの抵抗回路に関連付けられている。各抵抗回路は、対応する所定のコンダクタンス（または抵抗）を提供する。１つまたは複数の例では、抵抗器デバイスのスタックからの抵抗回路のコンダクタンス値は、２次関数的な関係などの所定の関係を有する。ビットの状態（ＯＮ＝１、ＯＦＦ＝０）に少なくとも部分的に基づいて、対応する抵抗回路は、その対応するコンダクタンスを抵抗器デバイスの総コンダクタンスに加算する。したがって、カウンタに記憶された値に少なくとも部分的に基づいて、抵抗器デバイスのコンダクタンス／抵抗を制御することができる。
【００４９】
図６は、ＲＰＵの動作を示す電圧シーケンスとともに、本発明を具現化する２端子の非線形ＲＰＵデバイスのクロスバー・アレイを示す。図６は、順方向行列乗算、逆方向行列乗算、および重み更新を実行する２次元（２Ｄ）クロスバー・アレイ８００の図である。クロスバー・アレイ８００は、一組の導電性行ワイヤ８０２、８０４、および８０６と、一組の導電性行ワイヤ８０２、８０４、８０６と交差する一組の導電性列ワイヤ８０８、８１０、８１２、および８１４と、から形成されている。一組の行ワイヤと一組の列ワイヤとの交差部は、ＲＰＵによって分離され、ＲＰＵは、それぞれが独自の調整可能／更新可能な抵抗重みを有する抵抗素子として図６に示され、σ１１、σ２１、σ３１、σ４１、σ１２、σ２２、σ３２、σ４２、σ１３、σ２３、σ３３、およびσ４３としてそれぞれ表されている。説明を容易にするために、図６では、１つのＲＰＵ８２０のみに参照番号が付けられている。順方向行列乗算では、ＲＰＵに電圧を印加し、ＲＰＵを通過する電流を測定することによって、ＲＰＵの導通状態（すなわち、記憶されている重み）を読み出すことができる。１つまたは複数の例では、クロスバー・アレイ８００は、二組の導電性ワイヤ、すなわち二組の行および二組の列を含む。換言すれば、８０２、８０４、８０６、８０８、８１０、８１２、および８１４のそれぞれは、２つの導電性ワイヤを含む。順方向／逆方向の伝播は、第１の組のワイヤを介して行われ、更新は、第２の組のワイヤを介して行われる。
【００５０】
入力電圧Ｖ１、Ｖ２、Ｖ３は、行ワイヤ８０２、８０４、８０６にそれぞれ印加される。各列ワイヤ８０８、８１０、８１２、８１４は、特定の列ワイヤに沿って各ＲＰＵによって生成された電流Ｉ１、Ｉ２、Ｉ３、Ｉ４を合計する。例えば、図６に示すように、列ワイヤ８１４によって生成される電流Ｉ４は、式Ｉ４＝Ｖ１σ４１＋Ｖ２σ４２＋Ｖ３σ４３に従う。したがって、アレイ８００は、ＲＰＵに記憶された値に、電圧Ｖ１、Ｖ２、Ｖ３によって規定される行ワイヤ入力を乗算し、各列の電流値を累積することによって順方向行列乗算を計算する。逆行列乗算（図示せず）は、非常に類似している。逆行列乗算では、列ワイヤ８０８、８１０、８１２、８１４に電圧が印加され、次いで、電流が行ワイヤ８０２、８０４、８０６から読み出され、累積される。以下でより詳細に説明する重み更新では、列ワイヤおよび行ワイヤに同時に電圧が印加され、関連するＲＰＵデバイスに記憶されているコンダクタンス値がすべて並行して更新される。したがって、重み更新を実行するために必要な乗算および加算演算は、ＲＰＵデバイス自体に加えて、アレイ８００の関連する行または列ワイヤを使用して、アレイ８００の各ＲＰＵ８２０においてローカルに実行される。
【００５１】
図６の図を引き続き参照すると、１つまたは複数の実施形態による、ＲＰＵ８２０の正の重み更新方法論の動作、および導電性行ワイヤ８０６と導電性列ワイヤ８１２の交差部におけるその対応する重みσ３３がここで提供される。２Ｄクロスバー・アレイ８００のすべてのＲＰＵに適用される確率的ビット・ストリーム(stochastic bit stream)の形態で必要な電圧パルスを生成するために、更新ジェネレータ回路（図示せず）がクロスバー・アレイ８００の周辺に設けられ、周辺「トランスレータ」として使用される。
【００５２】
したがって、本明細書に記載されたＲＰＵを含むクロスポイント・アレイを使用して実施されたＡＮＮを参照すると、アレイにおいて、各ノードの抵抗（またはコンダクタンス）の値がノード間の結合を決定し、ノードがアレイのＲＰＵデバイスによって表される。さらに、ＡＮＮに従ってクロスポイント・アレイをトレーニングすると、所望の結合に応じて、抵抗（またはコンダクタンス）がデバイス間で異なるようになる。ニューラル・ネットワークをトレーニングするためには、抵抗値を能動的に調整する必要がある。トレーニングが完了すると、抵抗値は、新たなタスクのトレーニングが開始されるまで、クロスポイント・アレイ回路の動作中は固定されたままである。
【００５３】
図７は、１つまたは複数の実施形態による、ＲＰＵアレイにおいてクロスポイント・デバイスとして使用することができるカウンタ・ベースのＲＰＵを表す。ＲＰＵデバイス８２０は、ＲＰＵ８２０をクロスポイント・アレイ８００に接続する一対の端子９０１、９０２を含む。
【００５４】
さらに、カウンタ・ベースのＲＰＵ８２０は、単一ビット・カウンタの組であるカウンタ９２０と、抵抗回路のスタックである抵抗器デバイス９３０と、を含む。図示するカウンタ・ベースのＲＰＵでは、抵抗器デバイスは、抵抗回路としてトランジスタＴ１、Ｔ２、Ｔ３、およびＴ４を含む。トランジスタは、電界効果トランジスタ（ＦＥＴ）または任意の他のタイプのトランジスタとすることができる。しかしながら、他の実施形態では、抵抗器デバイス９３０は、抵抗器ラダー（図１２）または任意の他のタイプの回路などの、他のタイプの抵抗回路を含み、これらを一緒に積み重ねて、本明細書に記載される技術的解決策によって提供されるような調整可能／制御可能な抵抗／コンダクタンスを提供することができる。
【００５５】
ＲＰＵアレイ８００の第１の組の導電性ワイヤは、（重み値を更新するのとは対照的に）クロスポイント・デバイス８２０に記憶された重み値を読み出すために、クロスポイント・デバイス８２０の読み出し１  ９０１および読み出し２  ９０２端子と結合されている。ＲＰＵアレイ８００の第２の組の導電性ワイヤは、ＲＰＵデバイス８２０の論理ゲート９４０およびアップ／ダウン・カウンタ９２０と結合されている。特に、第２の組のワイヤは、（ａ）デバイスの論理ゲート入力に接続し、共通の入射（incidence）の下でクロック・パルスを生成し、（ｂ）カウンタのアップ／ダウン入力に接続して、記憶された重み値に従ってカウンタを調整する。第２の組のワイヤに使用される電圧は、論理ゲート９４０（例えば、ＡＮＤゲート）およびカウンタ９２０の正確な論理演算のために選択される（典型的には、０およびＶＤＤ）。さらに、第２の組の各列ワイヤは、２つのワイヤを含み、１つは後続の層−ニューロンの誤差値（δ）に比例する電圧パルスを伝達し、２つ目は誤差値の対応する符号（例えば、０Ｖ＝−符号、ＶＤＤ＝＋符号）を伝達して、クロック・パルスを増分／減分させる。
【００５６】
前述したように、順方向／逆方向の伝播は、第１の組の列および行のワイヤを使用して行われ、重み更新は、第２の別個の組のワイヤ（行および列）を介して行われる。順方向および逆方向の伝播の間、電圧パルスは、電流累積動作のために最適化された第１の組のワイヤのワイヤに印加される（すなわち、電圧値は、クロスポイント・デバイスがＦＥＴ抵抗器スタックに基づいている場合、これらのＦＥＴが（飽和領域とは対照的に）線形領域で動作するように選択される）。一方、更新フェーズの間は、クロスバー・アレイ８００の第２の組のワイヤが使用される。
【００５７】
カウンタ９２０からの各単一ビット・カウンタは、抵抗器デバイス９３０からのそれぞれの抵抗回路に対応する。図７に示す例では、カウンタ９２０は、抵抗器デバイス９３０からの４つの抵抗回路のスタックによってそれぞれマッピングされた４つのビットを含むことに留意されたい。しかしながら、他の例では、ＲＰＵは、本明細書に示すものとは異なる数の単一カウンタのビットおよび抵抗回路を含むことができる。
【００５８】
抵抗器デバイス９３０によって提供される抵抗／コンダクタンスは、クロスポイントに印加される電圧に少なくとも部分的に基づいて、ＲＰＵ８２０によって出力される電流に影響を及ぼす。１つまたは複数の例では、抵抗回路のスタックは、直列に接続された抵抗回路を含む。したがって、抵抗器デバイス９３０の抵抗は、活性化された各抵抗回路の抵抗の合計である。抵抗器デバイス９３０からの抵抗回路は、カウンタ９２０からの対応する単一ビット・カウンタの状態に少なくとも部分的に基づいて活性化される。例えば、単一ビット・カウンタがセットされている場合（＝１／ＯＮ）、対応する抵抗回路が活性化され、単一ビット・カウンタがセットされていない場合（＝０／ＯＦＦ）、対応する抵抗回路は、活性化されず、またはその逆も同様である。
【００５９】
さらに、一連の抵抗状態を生成するために、抵抗器デバイス９３０からの抵抗回路は、特定の制約を有する。例えば、抵抗回路は、表１に示すように２次関数的(quadratically)に増加する抵抗を有し、連続する各抵抗回路は、スタック内の前の抵抗回路の２倍の抵抗／コンダクタンスを有する。他の例では、抵抗回路は、本明細書の例とは異なる所定の関係を有することができることに留意されたい。
【００６０】
【表１】
2021507349.tif 000004
【００６１】
図８は、本発明の実施形態による、カウンタの状態に少なくとも部分的に基づいた抵抗器デバイスの調整可能な抵抗を示す。Ｒ１ｈｉ＝Ｔ１のＯＦＦ状態の抵抗（例えば、１００ＫΩ）およびＲ１ｌｏｗ＝Ｔ１のＯＮ状態の抵抗（例えば、１０ＫΩ）であると考える。他の抵抗回路Ｔ２、Ｔ３、およびＴ４の抵抗は、抵抗回路間の関係、例えば、２次関数的な関係（表１）に少なくとも部分的に基づいて決定することができる。したがって、Ｒ２ｈｉ＝２Ｒ１ｈｉ、Ｒ３ｈｉ＝４Ｒ１ｈｉ、およびＲ４ｈｉ＝８Ｒ１ｈｉである。したがって、カウンタ９２０が１に設定されている場合、すなわち、Ｔ１のみがＯＮに設定されている場合、抵抗器デバイス９３０の総抵抗は、Ｒ１ｌｏｗ＋Ｒ２ｈｉ＋Ｒ３ｈｉ＋Ｒ４ｈｉ＝１４Ｒ１ｈｉ＋Ｒ１ｌｏｗである。カウンタ９２０に記憶された値に従って抵抗器デバイス９３０の抵抗を変化させる他の構成が、図８に示されている。したがって、抵抗器デバイス９３０の抵抗は、（Ｒｈｉ−Ｒｌｏｗ）の刻みで直線的に変化する。
【００６２】
抵抗器デバイス９３０の抵抗回路間の関係は、抵抗器デバイス９３０がカウンタ値９２０に従って調整される直線的な刻みを変化させるように、変化させることができることに留意されたい。例えば、抵抗器デバイスで使用される抵抗回路がＦＥＴである場合、その関係は、ＦＥＴの幅、長さ、しきい値電圧（Ｖｔ）またはバイアス電圧あるいはその組合せの、様々な組合せによって達成することができる。
【００６３】
図９は、本発明の実施形態による、ＦＥＴの抵抗／コンダクタンスを、その幅に少なくとも部分的に基づいて変化させることを示す。ＦＥＴ  Ｔ１、Ｔ２、Ｔ３、およびＴ４は、それぞれ、様々な幅ｗ１、ｗ２、ｗ３、およびｗ４のソース９６２およびドレイン９６８を有し、ゲート９６５が実質的に同じゲート長Ｌを有する。幅ｗ１、ｗ２、ｗ３、およびｗ４を、抵抗器デバイス９３０の抵抗／コンダクタンスを変化させるための関係に従って変化させる。例えば、幅ｗ１は、ｗ２の２倍、ｗ２は、ｗ３の２倍、ｗ３は、ｗ４の２倍であり、ここで、ｗ４は、Ｔ４に割り当てられた所定のトランジスタ幅である。１つまたは複数の例では、抵抗回路として使用されるＦＥＴがＦｉｎＦＥＴである場合、フィンの数を変更することによって幅を変化させる。例えば、表２は、抵抗回路として使用されるＦｉｎＦＥＴのフィンの数を変化させることによって、抵抗器デバイス９３０からの抵抗回路の抵抗／コンダクタンスを変化させる４ビットの例を示す。
【００６４】
【表２】
2021507349.tif 000005
【００６５】
図１０は、本発明の実施形態による、ゲート長に少なくとも部分的に基づいてＦＥＴの抵抗／コンダクタンスを変化させることを示す。この場合、ＦＥＴ  Ｔ１、Ｔ２、Ｔ３、およびＴ４は、それぞれ、共通の幅ｗのソース９６２およびドレイン９６８と、異なるゲート長Ｌ１、Ｌ２、Ｌ３、およびＬ４を有するゲート９６５と、を有する。長さＬ１、Ｌ２、Ｌ３、およびＬ４を、抵抗器デバイス９３０の抵抗／コンダクタンスを変化させる関係に従って変化させる。例えば、長さＬ４は、Ｌ３の２倍、Ｌ３は、Ｌ２の２倍、Ｌ２は、Ｌ１の２倍であり、ここでＬ１は、Ｌ１に割り当てられた所定のトランジスタのゲート長である。
【００６６】
図１１は、本発明の一実施形態による、垂直の幾何学的形状を使用した可変抵抗／コンダクタンスを有する抵抗器デバイス９３０の例を示す。ここでは、スタックＦＥＴは、垂直の幾何学的形状で製造されている。製造は、基板層上で実行される。基板は、二酸化シリコンを含むことができるＢＯＸ（埋め込み酸化物）層などの絶縁層の上に最上層またはシリコン層を含むシリコン・オン・インシュレータ・ウエハとすることができる。基板層は、Ｎ＋シリコン基板層または任意の他のそのような材料とすることができる。
【００６７】
スペーサ層１０１０は、様々なＦＥＴのゲート用のゲート充填層１０２０の間にスペーサ層１０１０を堆積させることによって、スタック内の様々なＦＥＴを分離するために使用される。例えば、スペーサ１０１０は、ＳｉＮｘ層とすることができる。
【００６８】
ゲート充填１０２０は、アルミニウム、コバルト、銅、金、ハフニウム、ニッケル、パラジウム、プラチナ、モリブデン、ニオブ、ポリシリコン、ロジウム、銀、タンタル、窒化タンタル、スズ、窒化チタン、チタンタングステン、タングステン、バナジウム、ジルコニウム、導電性ポリマ、およびそれらの混合物からなるグループから選択されたものなどの、任意のタイプの導電性材料で構成することができる。
【００６９】
さらに、ゲート誘電体１０３０を使用して、ゲート充填層１０２０をスペーサおよびトランジスタチャネル１０４０から分離する。ゲート誘電体１０３０は、ヒ化アルミニウム、ヒ化アルミニウムガリウム、窒化アルミニウム、酸化アルミニウム、フッ化バリウム、酸化バリウムストロンチウムチタン、酸化バリウムチタン、フッ化カルシウム、フッ化セリウム、酸化セリウム、ヒ化ガリウム、アルミン酸ハフニウム、酸化ハフニウム、酸窒化ハフニウム、酸化ハフニウムシリコン、酸窒化ハフニウム、酸化インジウム、窒化インジウムガリウム、リン化インジウム、酸化ランタン、酸化ランタンアルミニウム、酸化ランタンシリコン、酸化鉛スカンジウムタンタル、ニオブ酸鉛亜鉛、フッ化マグネシウム、フッ化ニオブ、酸化ニオブ、窒化ケイ素、酸化ケイ素、酸化ストロンチウムビスマスタンタライト、酸化ストロンチウムチタン、酸化ジルコニウム、酸化ジルコニウムシリコン、酸化チタン、二酸化チタン、二酸化タンタル、五酸化タンタル、酸化スズ、アルミン酸ジルコニウム、酸化ジルコニウム、酸窒化ジルコニウム、酸窒化ジルコニウムシリコン、酸化イットリウム、酸化イットリウムシリコン、およびそれらの混合物からなるグループから選択されたものなどの、任意の知られている誘電体材料で構成することができる。少なくとも１つの例では、ゲート誘電体９０は、酸化シリコンの誘電率よりも高い誘電率を示す。
【００７０】
ゲートチャネル１０４０をドープして、特定の電気的特性および性能特性を提供することができる。１つまたは複数の例では、チャネル１０４０は、ゲート電極１０２０によって囲まれたポリシリコン材料とすることができる。さらに、縦型ＦＥＴスタックは、抵抗器デバイス９３０のための読み出し−１  ９０１端子および読み出し−２  ９０２端子を提供する端子１０５０を含む。
【００７１】
ゲート誘電体１０２０の堆積は、ＦＥＴ  Ｔ１、Ｔ２、Ｔ３、およびＴ４のゲートの様々な長さに従って、間隔を空けて配置され、ゲート長、したがって抵抗／コンダクタンスの間の２次関数的な（または任意の他の所定の）関係を生成する。したがって、抵抗器デバイス９３０は、様々なゲート長を有する縦型ＦＥＴスタックとすることができる。
【００７２】
再び図７を参照すると、カウンタ９２０は、ｘおよびδの共通の入射時に生成されるクロック・エッジでＲＰＵアレイ８００のクロスポイントに重みを記憶するように更新され、したがって、カウンタ９２０の確率的更新が可能になる。ｘおよびδは、ＲＰＵアレイ８００の行および列に印加される電圧であり、電圧の確率的シーケンスを含む。ｘは、クロスポイント・デバイスへの入力によって生成される確率的パルス信号に対応する。１つまたは複数の例では、ｘは、所与の層のフィードフォワード出力に基づく確率的シーケンスであり、δは、ＲＰＵデバイス８２０のクロスバー・アレイの後続の層によって計算される誤差に基づいて生成される確率的シーケンスである。
【００７３】
したがって、確率的シーケンスｘおよびδの両方が共通の波形を有するときに、クロック・エッジが生成され、論理ゲート９４０によってカウンタに提供される。１つまたは複数の例では、論理ゲート９４０は、入力としてｘおよびδのシーケンスを受け取り、出力としてクロック（ＣＬＫ）を提供するＡＮＤゲートである。他の例では、他の論理ゲートを使用することができる。
【００７４】
カウンタ９２０は、入力としてのＣＬＫに加えて、δの符号を示す第２の入力を受け取る。この符号に基づいて、カウンタ９２０は、カウンタ９２０に記憶されたカウント値を増分（符号＝＋）または減分（符号＝−）する。増分／減分に基づいて、カウンタ９２０の単一ビット・カウンタのビットが変化し、次いで、抵抗器デバイス９３０の抵抗回路が活性化／非活性化されて、抵抗器デバイス９３０の抵抗／コンダクタンスが調整される。
【００７５】
図１２は、本発明の実施形態による、ＲＰＵアレイのクロスポイント・デバイスとして使用することができるカウンタ・ベースのＲＰＵを示す。ここで、ＲＰＵ８２０Ｂは、抵抗器デバイス９３０（図７）で用いられるＦＥＴのスタックを有するＲＰＵ８２０と比較して、抵抗器ラダーを変換素子として含む抵抗器デバイス９３０を用いている。図示する例では、４ビットの抵抗器ラダーが示されているが、他の例では、抵抗器ラダーに異なる数の抵抗回路を使用して、カウンタ９２０の異なる数のビットをサポートすることができることに留意されたい。図示する抵抗器ラダーは、カウンタ９２０の対応する単一ビット・カウンタにそれぞれ関連付けられた４つの抵抗回路を含む。
【００７６】
ここで、入力Ｋｉがハイにパルスされると、ラダー回路から流出する電流Ｃｉは、（単一ビット・カウンタ＜Ｑ１：Ｑ４＞によって表される）カウンタ９２０の値（すなわち、重み）に比例する。その後、順方向伝搬の間に、出力電流は、ＲＰＵアレイ８００によって列ごとに累積される。さらに、逆伝播の間に、出力電流は、ＲＰＵアレイ８００によって行ごとに累積される。
【００７７】
図示する４ビットの例では、ＡＮＤゲート１２１０の出力ノードの電圧が＜Ｖ１：Ｖ４＞（例えば、ＶＬ＝０ＶまたはＶＨ＝１Ｖのいずれか）であると考える。回路からＲＰＵアレイ８００の列に流出する電流Ｃｉは、
【数２】
2021507349.tif 000006
である。
【００７８】
より一般的には、ｒビットの場合、流出する電流は、
【数３】
2021507349.tif 000007
である。
【００７９】
したがって、電流は、４ビットの場合について表３に例示されているように、カウンタのデジタル値に比例し、電流は、１／１６Ｒの刻みで直線的に変化し、ここで、Ｒは所定の抵抗値である。
【００８０】
【表３】
2021507349.tif 000008
【００８１】
図１３は、本発明の一実施形態による、抵抗器ラダーを有するカウンタ・ベースのＲＰＵ８２０Ｂが、ＲＰＵアレイ８００内のクロスポイント・デバイスとしてどのように接続されるかを示す。ＲＰＵアレイ８００内でのＲＰＵ８２０Ｂの接続には、接続回路１３１０を使用する。接続回路１３１０は、さらに図示および説明されるように、４つのトランジスタＴｒ１  １３１２、Ｔｒ２  １３１４、Ｔｒ３  １３１６、およびＴｒ４  １３１８を含む。トランジスタＴｒ２およびＴｒ４は、抵抗＜＜Ｒ／２ｒを有し、ここで、ｒ＝カウンタ９２０で使用されるビット数である。
【００８２】
図１４は、本発明の一実施形態による、ＲＰＵ８２０Ｂおよび接続回路１３１０を使用して実行される順方向伝搬パスを示す。順方向伝搬の間、各クロスポイントの２つのＦＷＤトランジスタ（Ｔｒ１  １３１２およびＴｒ２  １３１４）は、ＯＮであり、２つのＢＷＤトランジスタ（Ｔｒ３  １３１６およびＴｒ４  １３１８）は、ＯＦＦである。
【００８３】
図１５は、本発明の一実施形態による、ＲＰＵ８２０Ｂおよび接続回路１３１０を使用して実行される逆方向伝搬パスを示す。逆伝播の間、各クロスポイントの２つのＦＷＤトランジスタ（Ｔｒ１  １３１２およびＴｒ２  １３１４）は、ＯＦＦであり、２つのＢＷＤトランジスタ（Ｔｒ３  １３１６およびＴｒ４  １３１８）は、ＯＮである。
【００８４】
順方向伝搬および逆方向伝搬の両方において、ＲＰＵ８２０Ｂを使用して、ＲＰＵアレイ８００の動作は、前述したように継続して、電流は、順方向伝搬では列ごとに、逆方向伝搬では行ごとに累積される。
【００８５】
図１６は、本発明の一実施形態による、カウンタ・ベースのＲＰＵデバイスを使用するＲＰＵアレイを示す。ＲＰＵアレイ８００は、各クロスポイントにカウンタ・ベースのＲＰＵ８２０を含む。ＲＰＵデバイス８２０は、本明細書に記載されるようなＦＥＴベースまたは抵抗器ラダー・ベースの抵抗器デバイス９３０を使用することができる。ＲＰＵアレイ８００は、各クロスポイントに、ローカル・メモリ１６１０およびローカル・コントローラ１６２０をさらに含む。
【００８６】
特定のクロスポイントのローカル・メモリ１６１０は、１つまたは複数のＡＮＮマトリックスのそれぞれによって特定のクロスポイントに割り当てられた複数の重みを記憶し、各マトリックスは、ＡＮＮの２つの隣接する層間の接続に対応する（例えば、マトリックス１は、層Ａを層Ｂに接続し、マトリックス２は、層Ｂを層Ｃに接続するなど）。ローカル・コントローラ１６２０は、グローバル・コントローラ１６４０から命令を受け取り、処理されているＡＮＮの層に基づいて、対応する重みをＲＰＵデバイス８２０にロードする。したがって、ローカル・コントローラ１６２０は、ローカル・メモリ１６１０からの対応する重み値にアクセスし、特定のクロスポイントにおいて、ＲＰＵデバイス８２０のカウンタ９２０に重み値をロードする。
【００８７】
さらに、グローバル・コントローラ１６４０は、重み更新動作後のカウンタ値の変更をローカル・コントローラ１６２０に命令する。１つまたは複数の例では、それに応答して、ローカル・コントローラ１６２０は、更新された重み値をカウンタ９２０から読み出し、更新された値をその後の使用のためにローカル・メモリ１６１０に記憶する。
【００８８】
１つまたは複数の例では、周辺メモリ１６５０は、グローバル・コントローラ１６４０によって使用される情報、例えば、とりわけ、どの層が処理されているかなどのＡＮＮの処理を示すパラメータ値を記憶する。
【００８９】
図１７は、本発明の一実施形態による、カウンタ・ベースのＲＰＵデバイスを使用したＲＰＵアレイ内のデータフローを示す。ＲＰＵアレイ８００は、各クロスポイントにカウンタ・ベースのＲＰＵ８２０を含む。ＲＰＵデバイス８２０は、本明細書に記載されるようなＦＥＴベースまたは抵抗器ラダー・ベースの抵抗器デバイス９３０を使用することができる。ＲＰＵアレイ８００の個々のセルの重み要素は、効率的なデータ転送のためにローカル・メモリ１６１０のセル・レベルにローカルに記憶される。各ＡＮＮ重みマトリックス（例えば、Ａ−Ｂ層間のマトリックス１、Ｂ−Ｃ層間のマトリックス２など）の特定のセル（例えば、クロスポイント（ｍ、ｎ））に割り当てることができるすべての異なる重みは、ローカル・メモリ１６１０に記憶される。重みは、それぞれの層動作（すなわち、順方向伝搬、逆方向伝搬、および重み更新）の間にセルにロードされる。さらに、セルの値は、重み更新ステップの後にローカル・メモリ１６１０に戻されて記憶される。
【００９０】
図示するように、ローカル・コントローラ１６２０は、特定の層（例えば、Ａ−Ｂ）が処理されるという指示／命令をグローバル・コントローラ１６４０から受け取る。したがって、特定のクロスポイント（ｍ、ｎ）のローカル・コントローラ１６２０は、ローカル・メモリ１６１０に記憶されているセル（ｍ、ｎ）の重み値を読み出し、ＲＰＵアレイ８００のクロスポイント（ｍ、ｎ）のＲＰＵデバイス８２０のカウンタ９２０を更新する。本明細書に記載されるように、カウンタ値は、クロスポイント（ｍ、ｎ）におけるＲＰＵデバイス８２０の抵抗器デバイス９３０の抵抗／コンダクタンスを調整する。したがって、電圧シーケンス（ａｎ）が行ｎにおいてＲＰＵアレイ８００に印加されると、ＲＰＵデバイス８２０は、カウンタ値に従って、調整された抵抗／コンダクタンスに少なくとも部分的に基づいて、電流Ｉｍを出力として通過させる。列内の複数のＲＰＵデバイス８２０を横切る電流は、順方向伝搬で累積され、後続の層に入力値を提供する。あるいは、逆伝播では、電流は、行にわたって累積される。
【００９１】
したがって、ＲＰＵアレイ８００は、ＲＰＵデバイス８２０の調整可能な抵抗／コンダクタンスを使用してＡＮＮの複数の層を実施することを容易にし、抵抗／コンダクタンスは、ＲＰＵデバイス８２０の抵抗器デバイス９３０の対応する抵抗回路を活性化／非活性化するカウンタ９２０を使用して調整可能である。
【００９２】
本明細書に記載された本発明の実施形態は、コンデンサ・ベースの重み記憶素子を使用する際に典型的には観察される電荷損失および更新電流に対する厳しい要件を排除することによって、ＲＰＵアレイで使用される典型的な重み記憶素子を改善する。本明細書に記載された本発明の実施形態は、カウンタ・ベースのＲＰＵデバイスを重み記憶素子として使用することを容易にし、ＦＥＴスタックの総抵抗が変換素子（すなわち、各ＲＰＵセルの抵抗器素子）として使用されるように、カウンタのビットが、直列に接続されたＦＥＴのゲート端子を制御する。あるいは、本明細書に記載された本発明の実施形態は、カウンタのビットに少なくとも部分的に基づいて抵抗器ラダーが変換素子として使用されるカウンタ・ベースのＲＰＵデバイスの使用を容易にする。
【００９３】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であること、または記載された本発明の実施形態に限定されることは意図されていない。多くの変更形態および変形形態が、本発明の思想から逸脱することなく、当業者には明らかであろう。本明細書で使用される用語は、本発明の実施形態の原理、市場で見出される技術に対する実際の応用または技術的改良を最も良く説明するか、または当業者が本明細書に記載される本発明の実施形態を理解することができるように選択された。
【図１】
2021507349.tif 000009
【図２】
2021507349.tif 000010
【図３】
2021507349.tif 000011
【図４】
2021507349.tif 000012
【図５】
2021507349.tif 000013
【図６】
2021507349.tif 000014
【図７】
2021507349.tif 000015
【図８】
2021507349.tif 000016
【図９】
2021507349.tif 000017
【図１０】
2021507349.tif 000018
【図１１】
2021507349.tif 000019
【図１２】
2021507349.tif 000020
【図１３】
2021507349.tif 000021
【図１４】
2021507349.tif 000022
【図１５】
2021507349.tif 000023
【図１６】
2021507349.tif 000024
【図１７】
2021507349.tif 000025
【国際調査報告】
2021507349.tif 000026
2021507349.tif 000027