(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023064732
(43)【公開日】2023-05-11
(54)【発明の名称】変分推論のためのシナプス回路
(51)【国際特許分類】
G06N 3/063 20230101AFI20230501BHJP
G06G 7/60 20060101ALI20230501BHJP
【FI】
G06N3/063
G06G7/60
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022169949
(22)【出願日】2022-10-24
(31)【優先権主張番号】21306485.0
(32)【優先日】2021-10-26
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】507362786
【氏名又は名称】コミサリア ア エナジー アトミック エ オックス エナジーズ オルタネティヴ
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】ダルガティ トーマス
(57)【要約】 (修正有)
【課題】ベイズニューラルネットワークを実装するためのシナプス回路及び方法を提供する。
【解決手段】ベイズニューラルネットワークのためのシナプス回路202は、可変コンダクタンス306を介して第1の電圧レールに連結されているコンデンサ308の第1の端子に第2の電圧レール(V
read)を連結する第1の抵抗性メモリデバイス302と、第3の電圧レール(V
data)をシナプス回路202の出力線312に連結して、コンデンサ308の第2の端子に連結されている端子を有する第2の抵抗性メモリデバイス304と、を備えている。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ベイズニューラルネットワークのためのシナプス回路であって、
- 可変コンダクタンスを介して第1の電圧レールに連結されているコンデンサの第1の端子に第2の電圧レールを連結する第1の抵抗性メモリデバイスと、
- 前記シナプス回路の第1の出力線に第3の電圧レールを連結して、前記コンデンサの第2の端子に連結されている端子を有する第2の抵抗性メモリデバイスと
を備えている、シナプス回路。
【請求項2】
前記第2の抵抗性メモリデバイスと直列に連結されている選択スイッチを更に備えている、請求項1に記載のシナプス回路。
【請求項3】
前記可変コンダクタンスは可変抵抗器を有している、請求項1又は2に記載のシナプス回路。
【請求項4】
前記可変コンダクタンスはカレントミラーのミラーリングブランチである、請求項1又は2に記載のシナプス回路。
【請求項5】
前記可変コンダクタンスによって伝導されるバイアス電流を調節するように構成されている電流制御回路を更に備えている、請求項1又は2に記載のシナプス回路。
【請求項6】
前記第1の抵抗性メモリデバイス及び前記第2の抵抗性メモリデバイスは、低コンダクタンス状態及び高コンダクタンス状態の一方を有するように夫々プログラミングされることができ、前記第1の抵抗性メモリデバイスは、低コンダクタンス状態を有するようにプログラミングされ、前記第2の抵抗性メモリデバイスは、高コンダクタンス状態を有するようにプログラミングされる、請求項1又は2に記載のシナプス回路。
【請求項7】
前記第1の抵抗性メモリデバイス及び前記第2の抵抗性メモリデバイスは、酸化物ベースの抵抗性ランダムアクセスメモリデバイスである、請求項1又は2に記載のシナプス回路。
【請求項8】
前記シナプス回路はガウス混合シナプスであり、
前記第1の抵抗性メモリデバイス、前記第2の抵抗性メモリデバイス、コンデンサ、可変コンダクタンス及び選択スイッチは第1のサブ回路を形成しており、
前記シナプス回路は、更なる可変コンダクタンスを介して前記第1の電圧レールに連結されている更なるコンデンサの第1の端子に前記第2の電圧レールを連結する第1の更なる抵抗性メモリデバイスと、前記第3の電圧レールを少なくとも1つの更なるサブ回路の出力線に連結して、前記更なるコンデンサの第2の端子に連結されている端子を有する第2の更なる抵抗性メモリデバイスと、前記第2の更なる抵抗性メモリデバイスと直列に連結されている更なる選択スイッチとを有する前記少なくとも1つの更なるサブ回路を更に備えており、
前記第1の出力線及び前記少なくとも1つの更なるサブ回路の出力線は、前記ガウス混合シナプスの共通出力線に連結されており、
前記シナプス回路は、各サブ回路の選択スイッチを制御するように構成されている選択回路を更に備えている、請求項2に記載のシナプス回路。
【請求項9】
前記選択回路は、乱数発生器と、前記乱数発生器によって発生した乱数に基づき各サブ回路の前記選択スイッチを制御するように構成されているデコーダ回路とを有している、請求項8に記載のシナプス回路。
【請求項10】
ニューラルネットワークの層間にシナプス荷重行列を実装するためのクロスポイントメモリアレイであって、
請求項1、2、8及び9のいずれか1つに記載のシナプス回路を複数備えており、前記シナプス回路は、前記クロスポイントメモリアレイの夫々のポイントに夫々配置されている、クロスポイントメモリアレイ。
【請求項11】
ベイズニューラルネットワークのシナプス回路の出力線に電流信号を生成する方法であって、
- 可変コンダクタンスを介して第1の電圧レールに連結されているコンデンサの第1の端子に第2の電圧レールを連結する、前記シナプス回路の第1の抵抗性メモリデバイスを第1のコンダクタンスレベルを有するようにプログラミングし、
- 前記シナプス回路の出力線に第3の電圧レールを連結して、前記コンデンサの第2の端子に連結されている端子を有する第2の抵抗性メモリデバイスを第2のコンダクタンスレベルを有するようにプログラミングし、
- 前記第2の電圧レールに電圧を印加して、前記出力線に電流信号を生成する、方法。
【請求項12】
前記電流信号をサンプリングして、前記電流信号を前記出力線に生成する、請求項11に記載の方法。
【請求項13】
前記シナプス回路は、前記第2の抵抗性メモリデバイスと直列に連結されている選択スイッチを更に備えており、
前記電流信号を前記出力線に生成するために、前記電圧を前記第2の電圧レールに印加しながら、前記選択スイッチを起動させる、請求項11又は12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に人工ニューラルネットワークの分野に関し、特にベイズニューラルネットワークを実装するためのデバイス及び方法に関する。
【背景技術】
【0002】
人工ニューラルネットワーク(ANN) は、神経生物系をある程度まで模倣するように開発されたコンピューティングアーキテクチャである。このようなニューラルネットワークは一般に、出力信号を生成するために、入力を受けて、これらの入力を内部状態と組み合わせ、多くの場合は組み合わされた入力に関数を適用する人工ニューロンのネットワークを備えている。ニューロンの出力は、生物学的脳における同等物であるシナプスと称される接続部分によって他のニューロンの入力に連結されている。
【0003】
シナプスは一般に、ニューロン間で伝達される信号のある処理を行う。例えば、各シナプスは、一又は複数のシナプス後ニューロンに伝達される前に強度を増減するために、送信元ニューロンからの信号に適用されるゲイン係数又は重みを記憶している。ANN のニューロンの各層間のシナプスは一般に、行列乗算又はドット/内積計算によって実装される。
【0004】
ニューラルネットワークは、所与の入力に対して決定論的な出力を与える決定論的ニューラルネットワーク、及び、確率分布を使用してシナプスパラメータを符号化する、ベイズディープラーニングモデルに基づくベイズニューラルネットワーク又は確率論的ニューラルネットワークの2つの群に分類され得る。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ベイズディープラーニングモデルは、確率分布を使用してパラメータを記述するため、出力の確率分布を使用して予測の不確実性を記述できるので非常に興味深い。不確実性は、自動運転などの安全重視の用途で特に有用であり得る。ニューラルネットワークの出力に基づく潜在的に危険な措置は、これらの出力が非常に確実な場合にのみ、システムによって講じられるべきである。ベイジシナプスによって記述される不確実性はモデルの出力に伝搬するため、モデルによって生成される予測の不確実性を特徴付ける手段を提供する。
【0006】
Neal, Radford M.著の「Bayesian learning for neural networks」という題名の刊行物(Vol. 118. Springer Science & Business Media, 2012)には、マルコフ連鎖モンテカルロサンプリングに基づくベイズ機械学習スキームが記載されており、このスキームは、ネットワークのシナプス荷重を符号化するための確率分布を導くべく使用される。しかしながら、マルコフ連鎖モンテカルロサンプリング手法の欠点は、アルゴリズムが、ディープラーニングとの関連で使用されて数百万又は数億のパラメータが存在し得る大規模なモデルに十分拡張されないということである。
【0007】
Blundell, Charles 等著の「Weight uncertainty in neural network」という題名の刊行物(International Conference on Machine Learning. PMLR, 2015)には、大規模なモデルのためのより有望な解決策を提供する変分推論に基づく手法が記載されている。
【0008】
変分推論に基づくベイズニューラルネットワークのハードウェア実装を提供するために、ネットワークのシナプス内のある形態の乱数生成を使用すべきである。しかしながら、このような乱数値生成のために提案されている解決策は、エネルギー効率及び拡張性の観点から問題になる。実際、ランダムな動作は一般に、比較的大きなDC電流をデバイスに導入することに依拠しており、ネットワークのサイズが大きいほど、必要な電流が高くなる。
【0009】
本技術分野では、エネルギー消費量を削減して拡張性を高めたベイズニューラルネットワーク用途に適した乱数値生成のための解決策が必要である。
【0010】
本開示の実施形態の目的は、先行技術における一又は複数の必要性に少なくとも部分的に対処することである。
【課題を解決するための手段】
【0011】
一態様によれば、ベイズニューラルネットワークのためのシナプス回路であって、可変コンダクタンスを介して第1の電圧レールに連結されているコンデンサの第1の端子に第2の電圧レールを連結する第1の抵抗性メモリデバイスと、前記シナプス回路の第1の出力線に第3の電圧レールを連結して、前記コンデンサの第2の端子に連結されている端子を有する第2の抵抗性メモリデバイスとを備えている、シナプス回路を提供する。
【0012】
一実施形態によれば、前記シナプス回路は、前記第2の抵抗性メモリデバイスと直列に連結されている選択スイッチを更に備えている。
【0013】
一実施形態によれば、前記可変コンダクタンスは可変抵抗器を有している。
【0014】
一実施形態によれば、前記可変コンダクタンスはカレントミラーのミラーリングブランチである。
【0015】
一実施形態によれば、前記シナプス回路は、前記可変コンダクタンスによって伝導されるバイアス電流を調節するように構成されている電流制御回路を更に備えている。
【0016】
一実施形態によれば、前記第1の抵抗性メモリデバイス及び前記第2の抵抗性メモリデバイスは、低コンダクタンス状態及び高コンダクタンス状態の一方を有するように夫々プログラミングされることができ、前記第1の抵抗性メモリデバイスは、低コンダクタンス状態を有するようにプログラミングされ、前記第2の抵抗性メモリデバイスは、高コンダクタンス状態を有するようにプログラミングされる。
【0017】
一実施形態によれば、前記第1の抵抗性メモリデバイス及び前記第2の抵抗性メモリデバイスは、酸化物ベースの抵抗性ランダムアクセスメモリデバイスである。
【0018】
一実施形態によれば、前記シナプス回路はガウス混合シナプスであり、前記第1の抵抗性メモリデバイス、前記第2の抵抗性メモリデバイス、コンデンサ、可変コンダクタンス及び選択スイッチは第1のサブ回路を形成しており、前記シナプス回路は、更なる可変コンダクタンスを介して前記第1の電圧レールに連結されている更なるコンデンサの第1の端子に前記第2の電圧レールを連結する第1の更なる抵抗性メモリデバイス、前記第3の電圧レールを少なくとも1つの更なるサブ回路の出力線に連結して、前記更なるコンデンサの第2の端子に連結されている端子を有する第2の更なる抵抗性メモリデバイス、及び、前記第2の更なる抵抗性メモリデバイスと直列に連結されている更なる選択スイッチを有する前記少なくとも1つの更なるサブ回路を更に備えており、前記第1の出力線及び前記少なくとも1つの更なるサブ回路の出力線は、前記ガウス混合シナプスの共通出力線に連結されており、前記シナプス回路は、各サブ回路の選択スイッチを制御するように構成されている選択回路を更に備えている。
【0019】
一実施形態によれば、前記選択回路は、乱数発生器と、前記乱数発生器によって発生した乱数に基づき各サブ回路の前記選択スイッチを制御するように構成されているデコーダ回路とを有している。
【0020】
更なる態様によれば、ニューラルネットワークの層間にシナプス荷重行列を実装するためのクロスポイントメモリアレイであって、上記のシナプス回路を複数備えており、前記シナプス回路は、前記クロスポイントメモリアレイの夫々のポイントに夫々配置されている、クロスポイントメモリアレイを提供する。
【0021】
更なる態様によれば、ベイズニューラルネットワークのシナプス回路の出力線に電流信号を生成する方法であって、
- 可変コンダクタンスを介して第1の電圧レールに連結されているコンデンサの第1の端子に第2の電圧レールを連結する、前記シナプス回路の第1の抵抗性メモリデバイスを第1のコンダクタンスレベルを有するようにプログラミングし、
- 前記シナプス回路の出力線に第3の電圧レールを連結して、前記コンデンサの第2の端子に連結されている端子を有する第2の抵抗性メモリデバイスを第2のコンダクタンスレベルを有するようにプログラミングし、
- 前記第2の電圧レールに電圧を印加して、前記出力線に電流信号を生成する、方法を提供する。
【0022】
一実施形態によれば、前記方法では更に、前記電流信号をサンプリングして、前記電流信号を前記出力線に生成する。
【0023】
一実施形態によれば、前記シナプス回路は、前記第2の抵抗性メモリデバイスと直列に連結されている選択スイッチを更に備えており、前記方法では更に、前記電流信号を前記出力線に生成するために、前記電圧を前記第2の電圧レールに印加しながら、前記選択スイッチを起動させる。
【図面の簡単な説明】
【0024】
前述及び他の特徴及び利点は、添付図面を参照して本発明を限定するものではない実例として与えられる以下の特定の実施形態に詳細に記載される。
【0025】
【
図1】例示的な実施形態に係るベイズニューラルネットワークを概略的に示す図である。
【
図2】例示的な実施形態に係るニューラルネットワークの層間にシナプス荷重行列を実装するクロスポイントメモリアレイを概略的に示す図である。
【
図3】本開示の例示的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路を概略的に示す図である。
【
図4A】本開示の例示的な実施形態に係る
図3の回路の、熱/ジョンソンノイズによるノイズを含む抵抗性メモリ素子の電圧信号を示す図表である。
【
図4B】本開示の例示的な実施形態に係る
図3の回路のノードでのDCオフセットを有するノイズ信号を示す図表である。
【
図4C】本開示の例示的な実施形態に係る
図3の回路のノードでのACノイズ信号を示す図表である。
【
図5】
図3の実施形態の代替的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路を概略的に示す図である。
【
図6】本開示の例示的な実施形態に係る
図5の複数のシナプス回路の並列配置を概略的に示す図である。
【
図7】シナプス回路がガウス混合シナプスを実装している、
図3及び
図5の実施形態の代替的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路を概略的に示す図である。
【
図8】本開示の例示的な実施形態に係る
図7のシナプス回路のコンダクタンスの確率密度を示す図表である。
【
図9】例示的な実施形態に係るOxRAM デバイスのプログラミング電流に対するコンダクタンスを示す図表である。
【
図10】例示的な実施形態に係る抵抗性メモリデバイスの反復プログラミングを概略的に示す図である。
【発明を実施するための形態】
【0026】
同様の特徴が、様々な図で同様の参照符号によって示されている。特に、様々な実施形態に共通する構造的特徴及び/又は機能的特徴は同一の参照符号を有してもよく、同一の構造特性、寸法特性及び材料特性を有してもよい。
【0027】
明瞭化のために、本明細書に記載されている実施形態の理解に有用な動作及び要素のみが示されて詳細に記載されている。特に、例えば損失関数などの目的関数の最小化に基づいて人工ニューラルネットワークを訓練する技術が当業者に知られており、本明細書では詳細に記載されない。
【0028】
特に示されていない場合、共に接続された2つの要素を参照するとき、これは、導体以外のいかなる中間要素も無しの直接接続を表し、共に連結された2つの要素を参照するとき、これは、これら2つの要素が接続され得るか、又は一若しくは複数の他の要素を介して連結され得ることを表す。
【0029】
以下の開示では、特に示されていない場合、「前」、「後ろ」、「最上部」、「底部」、「左」、「右」などの絶対位置、若しくは「上方」、「下方」、「高」、「低」などの相対位置を限定する文言、又は「水平」、「垂直」などの向きを限定する文言を参照するとき、この文言は図面の向きを指す。
【0030】
特に指定されていない場合、「約」、「略」、「実質的に」及び「程度」という表現は、該当する値の10%の範囲内、好ましくは5%の範囲内を表す。
【0031】
図1は、例示的な実施形態に係るベイズニューラルネットワーク100 を概略的に示す。ベイズニューラルネットワーク100 は、
図1の例では、送信元ニューロンN1~N4の層L1、及び送信先ニューロンN1’~N4’の層L2を備えており、ニューロンN1~N4の各々の出力は、ニューロンN1’~N4’の各々の入力に連結されている。場合によっては、層L1はネットワークの入力層であってもよく、及び/又は、層L2はネットワークの出力層であってもよい。更に、ベイズニューラルネットワーク100 はより大規模なネットワークの一部であってもよく、特に、層L1の前及び/又は層L2の後に追加の層があってもよく、追加の層はベイズタイプであってもよく又はベイズタイプでなくてもよい。
【0032】
送信元ニューロンN1~N4の各々は、ベイズニューラルネットワークの場合には固定値ではなく確率分布WPD
i,jである関連する重みを有する対応するシナプスを介してニューロンN1’~N4’の各々に連結されている。ここで、iは送信元ニューロンのインデックスであり、jは送信先ニューロンのインデックスである。WPD
1,1の分布q(w|θ)の例が
図1に挿入図として示されている図表で表されており、q(w|θ)は、モデルのサンプルwを生成するために使用される、パラメータθに関するサンプリング分布である。ネットワークを介した順方向伝搬毎に、重みWPD
i,jの各々の値が、例えばガウス分布であるシナプスの確率分布を表す少なくとも2つの対応する確率分布パラメータに基づいてサンプリングされる。
【0033】
言うまでもなく、
図1は、夫々の層が4つのニューロンを有する、ネットワークの2つの層の例を示しているが、任意の数のニューロンを夫々有する任意の数の層とすることが可能である。更に、
図1の例では、層L1及び層L2は完全に接続されているが、代替的な実施形態では、層は部分的にしか接続され得ない。
【0034】
図2は、
図1のニューラルネットワークの層L1及び層L2間にシナプス荷重確率分布行列を実装しているクロスポイントメモリアレイ200 を概略的に示す。送信元ニューロンiと送信先ニューロンjとの間の各シナプスS
i,jは、対応するシナプス回路202 によって実装されている。このため、
図2の例では16のシナプス回路202 があり、シナプス回路は、4つの送信元ニューロンN1~N4の各々を4つの送信先ニューロンN1’~N4’の各々に連結している。シナプス回路202 は、例えば列及び行に配置されている。各シナプス回路202 は、例えば、
図2に挿入図として示されている図表によって表されているように確率分布q(w|θ)を記憶してサンプリングするように構成されている。同一列のシナプス回路202 は、例えば各列の共通ニューロン出力線204 に連結されており、この共通ニューロン出力線204 は、例えば列のシナプス回路202 の送信元ニューロンの出力線である。更に、同一列のシナプス回路202 は、例えば各列の共通制御線206, 208に連結されている。同一行のシナプス回路202 は、例えば各行の共通ニューロン入力線210 に連結されており、この共通ニューロン入力線210 は、例えば行のシナプス回路202 の送信先ニューロンの入力に連結されている。例えば、各行の各シナプス回路202 は、対応する共通ニューロン入力線210 に出力電流を発生させ、これらの電流の合計が、入力電流i
outjとして対応する送信先ニューロンNj’に与えられる。
図2に別の図表挿入図で表されているように、行の共通ニューロン線に存在する生じた確率分布は、行の各シナプス回路202 の確率分布の合計である。制御線206, 208は、例えば制御回路(CTRL)212 によって制御される。
【0035】
図3は、本開示の例示的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路202 を概略的に示す。シナプス回路202 は、例えば変分推論の実行に適している。アルゴリズムによって受け入れられた全てのサンプルを記憶するための外部メモリを追加して、マルコフ連鎖モンテカルロサンプリングのために同様のシナプス回路を使用することが更に可能である。例えば、この場合、比較的多数のサンプルが、例えば変化する電圧に適用されるADC を使用してデジタル化され、そのため、比較的多数のサンプルが、その特定のサンプルの「受入率」に対応するインデックスと共に記憶される。インデックスは、データ及び事前確率を考慮してモデル全体についてその特定のサンプルの事後確率を推定する計算可能な数である。
【0036】
シナプス回路202 は、例えば、シナプスの2つの確率分布パラメータを記憶する2つの抵抗性メモリデバイス302, 304を備えている。例えば、抵抗性メモリデバイス302 は、所望の確率分布の標準偏差を表すコンダクタンスGsigmaを有するようにプログラミングされ、抵抗性メモリデバイス304 は、所望の確率分布の平均を表すコンダクタンスGmu を有するようにプログラミングされる。
【0037】
抵抗性メモリデバイス302, 304は夫々、例えば抵抗性RAM (RRAM)デバイスである。本明細書では、いわゆる「フィラメント切替」に基づく酸化物ベースの抵抗性RAM (OxRAM) デバイスを備えた実施形態が記載されている。しかしながら、例えば相変化メモリ(PCM) 、導電性ブリッジRRAM、強磁性電界効果トランジスタ、FLASH(登録商標) トランジスタなどを含む他の抵抗性メモリ技術が使用され得る。このようなデバイスは全て、所与のコンダクタンスレベルを有するように不揮発的にプログラミングされ得る。
【0038】
当業者に知られているように、OxRAM デバイスは、酸化物材料によって分離した2つの電極を有しており、その一例が二酸化ハフニウムである。OxRAM デバイスは、酸化物材料内の導電性酸素空孔フィラメントの有無によって夫々生じる高コンダクタンス状態及び低コンダクタンス状態に切り替えられ得る。例えば、OxRAM デバイスは、正電圧をデバイスの電極に印加することにより、高コンダクタンス状態に設定されることができ、その結果生じるコンダクタンスは電流のレベルに比例する。OxRAM デバイスは、例えば、負電圧をデバイスの電極に印加することにより、低コンダクタンス状態にリセットされることができ、その結果生じるコンダクタンスはリセット電圧の大きさに比例する。
【0039】
抵抗性メモリデバイス302 は、例えば、制御線206 と、例えば接地電圧レールである基準電圧レールとの間で可変コンダクタンス306 と直列に連結されている。可変コンダクタンス306 は、例えばGrefのコンダクタンスを有する。ある実施形態では、可変コンダクタンス306 は、ポリシリコン抵抗器などの可変抵抗器、又は擬似トランジスタによって実装される。例えば、可変コンダクタンス306 は、抵抗性メモリデバイス302 のプログラミングされたコンダクタンスレベルと無関係なバイアス電流ibiasを伝導するために制御される。例えば、可変コンダクタンス306 は、例えば制御回路212 に実装されている電流制御回路(ibias CTRL)307 によって制御される。
【0040】
図3には示されていないが、抵抗性メモリデバイス302 は、例えば、プログラミング中に抵抗性メモリデバイス302 を選択するために使用され得る選択トランジスタと直列に連結されている。例えば、選択トランジスタは、抵抗性メモリデバイス302 をノード305 に連結するか又はノード305 をコンダクタンス306 に連結するnチャネルMOS (NMOS)トランジスタとすることができる。選択トランジスタが、可変コンダクタンス306 を実装する回路の一部を形成することが更に可能である。
【0041】
図2の制御回路212 は、例えば電圧V
read を制御線206 に印加する。抵抗性メモリデバイス302 と可変コンダクタンス306 との間のノード305 は、例えばコンデンサ308 の一方の端子に連結されており、コンデンサ308 の他方の端子は抵抗性メモリデバイス304 の一方の端子に連結されている。コンデンサ308 は、例えばDC遮断の機能を提供する。例えば、コンデンサ308 の静電容量は1fF~1pFの範囲内である。ある実施形態では、コンデンサ308 はMOSCAPによって実装されている。
【0042】
抵抗性メモリデバイス304 は、例えば、共通ニューロン出力線204 とシナプス回路202 の出力線312 との間に、例えばNMOSトランジスタによって実装されている選択スイッチ310 と直列に連結されている。選択スイッチ310 は、例えば制御線208 (
図2参照)を介して制御される。例えば、制御線208 は、スイッチ310 を実装するトランジスタのゲートに連結されている。シナプス回路202 に連結されている(
図3には示されていない)送信元ニューロンは、例えば、共通ニューロン出力線204 に電圧V
dataの形態でデータ信号を与える。データ信号V
dataは、例えば、送信元ニューロンによって生成されるアナログ電圧レベルである。或いは、例えばクロスポイントがスパイキングニューラルネットワークの一部である場合、データ信号V
dataはバイナリ電圧とすることができる。制御回路212 は、例えば電圧V
gateを制御線208 に印加する。
【0043】
シナプス回路202 の出力電流ioutが、例えば、送信先ニューロンの入力でもある出力線312 に与えられる。特に、出力線312 は、行の各シナプス回路からの合計電流を送信先ニューロンに与える共通ニューロン入力線210 に連結されている。シナプス回路202 の出力電流ioutを含む合計電流は、例えば送信先ニューロンの入力回路(ニューロンサンプリング)314 によってサンプリングされる。
【0044】
動作中、可変コンダクタンス306 及び読み取り電圧V
readの印加により、抵抗性メモリデバイス302 を介して電流が伝導される。抵抗性メモリデバイス302 のプログラミングされたコンダクタンスレベルで(コンダクタンス変動としても知られている)固有のジョンソンナイキストノイズが、抵抗性メモリデバイス302 と可変コンダクタンス306 との間で分圧を使用してノード305 で電圧に変換される。抵抗性メモリデバイス302 は、例えば低コンダクタンス状態にプログラミングされ、例えばメガオーム又はギガオームの範囲内の比較的高い抵抗、ひいては固有のジョンソンナイキストノイズの比較的高いレベルを有することを意味する。例えば、抵抗性メモリデバイス302 は、少なくとも100kオーム、例えば少なくとも1Mオームの抵抗を有するようにプログラミングされる。従って、ノード305 の電圧は、G
sigma及びG
refの値に応じて決められるDCオフセットを有するノイズ含有ガウス信号である。このノイズ信号の標準偏差は、以下の式に示されているように、抵抗性メモリデバイス302 のプログラミングされたコンダクタンスレベルに応じて決められる。
[数式1]
σ=(4kT/G
sigma)
ここで、kはボルツマン定数であり、Tは温度である。この温度が調節され得る実施形態が、
図5を参照して以下に記載される。
【0045】
図4Aは、
図3の回路のノイズを含む抵抗性メモリ素子302 の電圧信号を示す図表である。
図4の左側の図表から、ノイズ電圧密度がガウス型になることが分かる。
図4の右側の図表から、ノイズ信号が平均値μ、平均値からの1つの標準偏差σに相当するRMS (二乗平均平方根)電圧レベルV
nRMS、及び3.3 σのピーク間レベルを有することが分かる。
【0046】
図4Bは、デバイス302 と可変コンダクタンス306 との間での分圧によって生じるDCオフセットV
dcに追加された
図4Aのガウスノイズ信号に対応する、ノード305 の電圧V
1の例を示す図表である。
【0047】
図3を再度参照すると、コンデンサ308 は、ノード305 の信号のDCオフセットを除去して、ACノイズガウス信号部分のみを抵抗性メモリデバイス304 の端子に導入する。
【0048】
図4Cは、データ符号化電圧V
data を追加する前のコンデンサ308 とデバイス304 との間のノードでの電圧信号V
2の例を示す図表である。
【0049】
図3を再度参照すると、抵抗性メモリデバイス304 は、電圧V
data及び電圧V
2の合計をオームの法則に従って電流信号i
out(t) に変換する。デバイス304 は、例えば高コンダクタンス状態になるようにプログラミングされており、例えば20kオーム未満、例えば10kオーム未満の抵抗を有する。デバイス304 の抵抗は、デバイス302 の抵抗より、例えば少なくとも2桁著しく低い。言い換えれば、デバイス304 の抵抗は、デバイス302 の抵抗より少なくとも100 分の1低い。従って、固有のジョンソンナイキストノイズの量は比較的少なく、無視され得る。従って、電流信号i
out(t) は、以下のように表現され得る。
[数式2]
i
out(t)=(V
data+V
2(t))G
mu
【0050】
この電流i
out(t) は、G
sigmaのプログラム可能なノイズによって定められた標準偏差を有する、G
muを中心としたガウス分布に対応する。この電流i
out(t) は、例えば、
図3のニューロンサンプリングブロック314 で示されているような送信先ニューロンの入力でサンプリングされる。例えば、このために、電流を電圧信号に変換するための抵抗器、及び、電圧をサンプリングして蓄えるためのサンプル・ホールド回路が送信先ニューロンに使用されてもよい。或いは、ゲート信号V
gateとして比較的短い電圧パルスが適用されて、ニューロンサンプリング回路314 の比較的高速なアナログ-デジタルコンバータが、例えば電圧パルス中に測定された電圧のデジタル値を取り込むために使用される。更なる例として、ゲート信号V
gateとして比較的短い電圧パルスが適用されるが、電流は、電圧に変換されるのではなく、例えばカレントミラーを介してアナログニューロン回路の膜コンデンサに導入される。このような膜コンデンサを有するアナログニューロン回路の例が、例えば欧州特許出願公開第3855366 号明細書として「Neuromorphic Architecture」という題名で公開されている特許公開公報に記載されている。いかなる場合でも、電流/電圧の変動が経時的に平均されないように、電流i
out(t) の瞬間的なレベルの取り込みが、例えば比較的迅速に行われる。例えば、電圧V
2のサンプリング動作時間は、ピコ秒又はナノ秒の範囲内であり、例えば10ナノ秒未満であり、場合によっては1ピコ秒~5ナノ秒の範囲内である。ある実施形態では、サンプリング時間アーチファクトを打ち消して、測定された分散の比較的大きな変化を維持するために較正ステップを使用する。例えば、較正ステップでは、上記の式によって生成されたσの値に1~0の範囲内、例えば0.9 ~1の範囲内の定数を乗算する。
【0051】
図3の例では、コンデンサ308 は回路の線204 にACノイズ信号を導入するように構成されているが、代替的な実施形態では、コンデンサ308 はACノイズ信号を異なる位置に導入し得る。例えば、コンデンサ308 は、ノード305 と線204 との間に連結されるのではなく、ノード305 とデバイス304 及びトランジスタ310 間のノードとの間、又はノード305 と線210 との間に連結され得る。スイッチ310 が代わりにデバイス304 とコンデンサ/線204 との間に連結されることが更に可能である。
【0052】
図5は、
図3の実施形態の代替的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路202 を概略的に示す。
図5の実施形態のある特徴は、
図3の実施形態の特徴と同一であり、これらの特徴は同一の参照番号が付されており、再度詳細に記載されない。
【0053】
図5の実施形態では、可変コンダクタンス306 は、カレントミラーのミラーリングブランチによって実装されている。例えば、カレントミラーは、ミラーリングブランチを形成するトランジスタ502 、及び、基準ブランチを形成するトランジスタ504 を有している。トランジスタ502 は、例えば、ノード305 と接地レールなどの基準電圧レールとの間に主導電ノードによって連結されている。トランジスタ504 は、例えば、基準電流入力線506 と基準電圧レールとの間に主導電ノードによって連結されている。トランジスタ502, 504は、例えば、ゲートが共に連結されてバイアス電流入力線506 に連結されているMOS トランジスタである。カレントミラーの基準電流i
refが、例えば、入力線506 に例えば電流源508 によって供給される。例えば、ある実施形態では、カレントミラーの電流が読み取り動作中にのみ存在するように、電流源508 は電圧V
readに応じて選択的に起動する。ある実施形態では、基準電流i
refが対応するデバイス304 のプログラミングされた抵抗に基づき調節され得るように、電流源508 は可変である。例えば、電流源508 は、複数の異なる電流レベル、例えば少なくとも4つの異なる電流レベルの内の1つを供給することができる。このため、例えば、ノイズ電圧V
1の大きさが、例えば約V
read/2に等しい所望のレベルに比較的近く維持され得る。各デバイス302 のプログラミングされた抵抗レベルに基づき、制御回路307 は、例えば、電流源508 を制御して適切な電流を供給するために制御信号CTRLを生成するように構成されている。
【0054】
動作中、抵抗性メモリデバイス302 のプログラミングされたコンダクタンスと無関係な電流を抵抗性メモリデバイス302 を介して供給するために、電流ibiasを使用してトランジスタ502 のゲートを制御する。
【0055】
バイアス電流i
bias を生成するために
図5のカレントミラーを使用する利点は、電流i
refによって温度が調整され得るということである。
【0056】
図6は、202_1 ~202_M の参照番号が付されている、
図5の複数Mのシナプス回路の並列配置600 を概略的に示す。例えば、並列配置600 は、
図2のクロスポイントメモリアレイ200 のシナプス回路202 の1行に対応する。
図6に示されているように、M個のシナプス回路の出力線312 が共に連結されて行の共通出力線210 を形成し、共通出力線210 は電流SUM OUT を伝導し、例えば送信先ニューロンのサンプリング回路(ニューロンサンプリング)314 に連結されている。
【0057】
各シナプス回路202_1 ~202_M のカレントミラーの各基準ブランチ504 に与えられる基準電流i
refは、例えば同一の電流レベルである。このため、実施形態ではシナプス回路202_1 ~202_M 毎に基準ブランチが図示されているが、代替的な実施形態では、トランジスタ504 を有する共通の基準ブランチが、各シナプス回路のミラーリングブランチを駆動するために使用され得る。或いは、ノイズ電圧V
1の大きさが、例えば約V
read/2に等しい所望のレベルに比較的近く維持されるように、基準電流i
refは、対応するデバイス304 のプログラミングされた抵抗に基づき、
図5に関連して上述されたように、シナプス回路202_1 ~202_M 毎に調節され得る。
【0058】
図6の例は
図5のシナプス回路202 に基づいているが、代替的な実施形態ではシナプス回路202_1 ~202_M は
図3の実施形態によって実装され得る。
【0059】
図7は、シナプス回路202 がガウス混合シナプスを実装している、
図3及び
図5の実施形態の代替的な実施形態に係るより詳細な
図2のメモリアレイのシナプス回路202 を概略的に示す。この実施形態は、あらゆる任意の分布が一群のガウス確率分布から収集されたサンプルの加重和により近似され得ることを記載しているガウス混合モデル理論に基づいている。この原理は、D. Reynolds 著の「Gaussian Mixture Models」という題名の刊行物(Encyclopedia of biometrics 741 (2009): 659-663)により詳細に記載されている。
【0060】
図7の例では、N個のシナプスサブ回路700_1 ~700_N が並列に配置されており、これらのシナプスサブ回路は、
図3のシナプス回路202 の対応する具体化によって夫々実装されている。或いは、シナプスサブ回路を
図5のシナプス回路202 に基づき実装することが可能である。サブ回路700_1 ~700_N の出力線312 は、例えば共に連結されて、シナプス回路202 の1つの出力線312’を形成する。
図7のシナプス回路202 は、例えば乱数発生器(RNG)702を更に有しており、乱数発生器702 の出力がデコーダ回路(DEC)704に連結されており、デコーダ回路704 は、N個のサブ回路700_1 ~700_N の選択トランジスタ310 を制御する。デコーダ回路704 は、例えばサブ回路700_1 ~700_N の確率分布の各々に関連付けられた重み係数706 を記憶する。ある実施形態では、全ての重み係数706 は合計して1になる。デコーダ回路704 は、例えば、乱数発生器702 によって発生した値及び重み係数706 に応じて、各サブ回路700_1 ~700_N のトランジスタ310 に読み取り信号を与えるように構成されている。専用の乱数発生器702 及びデコーダ回路704 が、例えばシナプス回路202 毎(つまり
図2のクロスポイント毎)に設けられている。しかしながら、スパイキングニューロンネットワークの場合、例えば、同一の出願人の名前で本願と同一の優先日を共有する「Neural network and method for variational inference」という題名の特許出願(代理人番号B21181)に記載されているように、スパイクが発生した場合にのみ乱数を発生させることができるので、乱数発生器702 を複数のシナプス回路202 によって共有することが可能である。
【0061】
動作中、乱数発生器702 は、例えば乱数値に基づき起動するサブ回路700_1 ~700_N の内の1つを選択するように構成されているデコーダ回路704 に乱数値を供給する。例えば、乱数値は均一な分布からサンプリングされる。乱数値の可能な値の範囲は、例えば、サブ回路700_1 ~700_N の内の対応するサブ回路に夫々関連付けられているサブ範囲に分割される。各サブ範囲のサイズは、対応するサブ回路の重み係数を表し、例えば変分推論中に学習される。デコーダ回路704 は、例えば、乱数値をサブ範囲の各々と比較して、乱数値が含まれるサブ範囲に関連付けられているサブ回路700_1 ~700_N を起動させるように構成されている。
【0062】
例として、乱数値は、0と31との間の任意の値を有する5ビット値とすることができる。例えば、2つのサブ回路700_1 及びサブ回路700_2 があり、サブ回路700_1 は、サブ範囲0~24に関連付けられており、サブ回路700_2 は、サブ範囲25~31に関連付けられている。乱数値が0~24の範囲内にある場合、サブ回路700_1 が、例えばデコーダ回路704 によって起動し、このため、シナプス回路202 の出力電流ioutは、このサブ回路700_1 によって与えられる。乱数値が25~31の範囲内にある場合、サブ回路700_2 が、例えばデコーダ回路704 によって起動し、このため、シナプス回路202 の出力電流ioutは、このサブ回路700_2 によって与えられる。
【0063】
推論中、一般に予測毎に各シナプス荷重の多くのサンプルが取得される、言い換えれば、ニューラルネットワークを通る複数の順方向経路が存在することに注目すべきである。各経路で、乱数発生器702 によって発生した新たな乱数値に基づき、新たなサブ回路が選択され、このようにして、各サブ回路は、学習した確率分布の重みに比例する回数分、選択され、その結果、
図8に表されているようなガウス混合になる。
【0064】
図8は、本開示の例示的な実施形態に係る
図7のシナプス回路202 のコンダクタンス(g(μS))の確率密度を示す図表である。
図8の破線の曲線K
1~K
5は、5つの対応するサブ回路の確率密度の例を表す。実線の曲線PD_MIXは、ネットワークを通る多くの順方向経路に亘ってサブ回路の内の別の1つを選択することによって得られ得る全体的な確率分布の例を表す。
【0065】
図3~8を参照して記載されている実施形態では、抵抗性メモリデバイス302, 304は、変分推論動作中の学習に基づいて夫々プログラミングされる。特に、抵抗性メモリデバイス302 のコンダクタンスG
sigmaは、確率分布の標準偏差を表すべく適切なレベルに調節され、抵抗性メモリデバイス304 のコンダクタンスG
muは、確率分布の平均を表すべく適切なレベルに調節される。抵抗性メモリデバイスのコンダクタンスが学習段階中に調節されるべき量は、例えばBlundell, Charles 等著の「Weight uncertainty in neural network」という題名の刊行物(International Conference on Machine Learning. PMLR, 2015)に記載されているような標準的な逆伝搬技術に基づいており、本明細書には詳細に記載されない。抵抗性メモリデバイス302, 304のコンダクタンスをプログラミングすべく使用され得るプログラミング動作の例を、
図9及び10を参照して記載する。
【0066】
図9は、設定動作中にOxRAM デバイスを高コンダクタンス/低抵抗状態にプログラミングすることにより得られるコンダクタンスレベルの例を示す図表である。特に、
図9の図表は、設定プログラミング電流範囲11~120 μA(電流(μA))について、左側の軸に対数目盛で曲線902 によって表されている中央コンダクタンス(μS)を表し、右側の軸に対数目盛で曲線904 によって表されている、OxRAM デバイスでのリセット動作後のコンダクタンス状態のサイクル間標準偏差(サイクル間S.D.%)を表す。一部のより低いコンダクタンスでは標準偏差は比較的高い(約70%)が、精度は許容範囲内である。
【0067】
図10は、例示的な実施形態に係る抵抗性メモリデバイスの反復プログラミングを概略的に示す。この例は、設定動作を使用して高コンダクタンス状態(HCS)をプログラミングすることにより、シナプス回路202 のデバイス304 のプログラミングに基づいている。
【0068】
図10の例では、3つのデバイス304 が示されている。各デバイス304 は、例えば
図3のトランジスタ310 又は別のトランジスタであるプログラミング選択トランジスタと直列に連結されている。プログラミング選択トランジスタ310 は、例えば電圧信号V
gateによって制御され、電圧信号は、例えば制御回路212 によって与えられる。例えば、各デバイス304 及びトランジスタ310 の直列接続部分は、対応するプログラミング電圧線V[0]、V[1]、V[2]と、共通下部電極電圧レールVBE が適用される出力線312 との間に連結されている。
【0069】
各デバイス304 は、プログラミングされるべきデバイス304 を通る対応する導電経路をアクティブ化するために、例えば、プログラミング電圧を対応する電圧線V[0], V[1], V[2]に、例えば制御回路212 によって印加して電圧信号V
gateをアサートすることによって順番にプログラミングされる。ある実施形態では、デバイス304 の十分に正確な目標コンダクタンスが、1回のプログラミング動作後に必ずしも達成されるとは限らない。従って、反復プログラミング手法を適用することが可能である。この手法によれば、プログラミング動作後、読み取り電圧が、例えば制御回路212 によって対応する電圧線V[0], V[1], V[2]に印加され、デバイスのコンダクタンスが所望のコンダクタンス範囲に達したか否か、又はデバイスのコンダクタンスを増加又は減少すべきか否かを決定するために、出力線312 の得られた電流を、例えば制御回路212 によって所望の範囲と比較する。範囲外である場合、プログラミング電圧にどのような調節を適用すべきであるかを決定し、次に、調節されたプログラミング電圧は、例えばコンダクタンスレベルを調節するためにデバイスに印加される。PCM デバイスの場合、調節は、コンダクタンスを増加又は減少するために設定パルス又はリセットパルスを使用して適用され得る。OxRAM デバイスの場合、リセット動作が例えばまず行われて、その後、変更されたプログラミング電圧で新たな設定動作を行う。
図10に図表挿入図で表されているように、この処理は、コンダクタンス(μS)が所望の目標範囲に達するまで複数のプログラミング反復(PROG. ITRN)中に反復的に繰り返される。
【0070】
各シナプス回路202 のデバイス302 は、例えば
図10の技術と同様の技術を使用してプログラミングされ得る。しかしながら、デバイス302 は、例えばリセット動作を使用して低コンダクタンス状態(LCS) にプログラミングされる。トランジスタ310 ではなく、
図5のトランジスタ502 などの他の選択トランジスタが使用され、選択トランジスタは、共通線312 ではなく別の共通線に連結される。この動作では、例えば、プログラミングされるデバイス302 の上部電極に0Vを印加し、デバイスに負の電圧が印加されるように正電圧を共通線に印加する。
【0071】
本明細書に記載されている実施形態の利点は、所与の学習済み確率分布に従う重みがシナプス回路によって簡単且つエネルギー効率の高い方法でサンプリングされ得るということである。実際、ランダムな分布信号を生成するために使用される電流は比較的低いことが可能である。例えば、デバイス302 のプログラミングされた状態を妨げずに、カレントミラートランジスタを飽和状態にするように十分高く選択された0.4 Vの電圧Vreadを仮定し、200 メガオームのLCS が使用され、カレントミラーが約200 メガオームの抵抗を与えるとすると、オームの法則によって、ランダムな分布信号を生成するための電流は約1nAになる。この電流は、先行技術の解決策では数十又は数百マイクロアンペアの電流に匹敵する。
【0072】
様々な実施形態及び変形例が記載されている。当業者は、これらの実施形態のある特徴を組み合わせることができると理解し、他の変形例が当業者に容易に想起される。
【0073】
最後に、本明細書に記載されている実施形態及び変形例の実際の実施は、上記の機能的な記載に基づく当業者の技能の範囲内である。