IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ザパタ コンピューティング,インコーポレイテッドの特許一覧

特表2022-511331量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム
<>
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図1
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図2A
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図2B
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図3
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図4
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図5
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図6
  • 特表-量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-31
(54)【発明の名称】量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム
(51)【国際特許分類】
   G06N 10/00 20220101AFI20220124BHJP
【FI】
G06N10/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021515456
(86)(22)【出願日】2019-10-24
(85)【翻訳文提出日】2021-04-13
(86)【国際出願番号】 US2019057893
(87)【国際公開番号】W WO2020086867
(87)【国際公開日】2020-04-30
(31)【優先権主張番号】62/749,942
(32)【優先日】2018-10-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521111261
【氏名又は名称】ザパタ コンピューティング,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】アンシュッツ,エリック アール.
(72)【発明者】
【氏名】カオ,ユドン
(57)【要約】
ハイブリッド量子古典(HQC)コンピュータは、純粋状態の量子ボルツマンマシン(QBM)を準備する。状態は、カオス的で調整可能な量子ハミルトニアンに従って時間とともに発展する。純粋状態は、既知の温度での(潜在的に相関の高い)量子熱状態をローカルに近似する。カオス的量子ハミルトニアンを使用すると、量子クエンチを実行して、量子熱状態のオブザーバブルをローカルにサンプリングできる。サンプルを使用すると、QBMの損失関数の勾配の正しい符号と大きさを決定するために、必要に応じてQBMの逆温度を概算できる。
【選択図】図6
【特許請求の範囲】
【請求項1】
ハイブリッド量子古典コンピュータであって、
古典コンピューティングコンポーネントと、
量子コンピューティングコンポーネントであって、
第1の量子状態で準備された第1の複数のmキュービット及び第2の複数のnキュービットを含み、nはm未満であり、
前記第1の複数のキュービットは、前記古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用し、
前記第2の複数のキュービットは、前記ハミルトニアンに従って互いに相互作用し、
前記第2の複数のキュービットは、前記ハミルトニアンに従って、前記第1の複数のキュービットと弱く相互作用し、
測定ユニットであって、
(1)前記第1の複数のキュービット上のオブザーバブルの第1のセットの期待値と、
(2)前記第2の複数のキュービット上のオブザーバブルの第2のセットの期待値と
を測定する、前記測定ユニットを含む
前記量子コンピューティングコンポーネントと
を含み、
前記古典コンピューティングコンポーネントは、前記測定ユニットから前記第1及び第2のセットの期待値を受信して、前記第1の量子状態と前記第1及び第2のセットの期待値とに基づいて第2の量子状態を準備するプロセッサを含む、前記ハイブリッド量子古典コンピュータ。
【請求項2】
前記第1及び第2の複数のキュービットは、前記ハミルトニアンの下でクエンチされる、請求項1に記載のハイブリッド量子古典コンピュータ。
【請求項3】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントの量子回路によって前記第1及び第2の複数のキュービットの時間発展をシミュレーションすること含む、請求項2に記載のハイブリッド量子古典コンピュータ。
【請求項4】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントのアナログ量子シミュレータによって前記第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む、請求項2に記載のハイブリッド量子古典コンピュータ。
【請求項5】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントの量子アニーラによって前記第1及び第2の複数のキュービットの時間発展をシミュレーションすること含む、請求項2に記載のハイブリッド量子古典コンピュータ。
【請求項6】
前記古典コンピューティングコンポーネントは少なくとも1つの非一時的コンピュータ可読媒体に具体的に格納されるコンピュータプログラムコードをさらに含み、
前記コンピュータプログラムコードは前記量子コンピューティングコンポーネントをシミュレーションするために前記プロセッサによって実行可能である、請求項2に記載のハイブリッド量子古典コンピュータ。
【請求項7】
前記クエンチングの後、前記第2のセットの期待値は、前記第1の複数のキュービットに関連付けられた理想的量子ボルツマン分布の温度パラメータの値を識別する、請求項2に記載のハイブリッド量子古典コンピュータ。
【請求項8】
前記古典コンピューティングコンポーネントは前記第1及び第2のセットの期待値を使用して損失関数の勾配を推定する、請求項1に記載のハイブリッド量子古典コンピュータ。
【請求項9】
前記古典コンピューティングコンポーネントは前記第1及び第2のセットの期待値を使用して前記ハミルトニアンの前記パラメータを更新する、請求項1に記載のハイブリッド量子古典コンピュータ。
【請求項10】
人工ニューラルネットワークを実装しているコンピュータシステムをさらに含み、前記人工ニューラルネットワークは、前記量子コンピューティングコンポーネントを制御して前記第1及び第2のセットの期待値を測定し、前記古典コンピューティングコンポーネントを制御して前記第1及び第2のセットの期待値を受信して、前記第2の量子状態を準備する、請求項1に記載のハイブリッド量子古典コンピュータ。
【請求項11】
前記コンピュータシステムは前記古典コンピューティングコンポーネントを含む、請求項10に記載のハイブリッド量子古典コンピュータ。
【請求項12】
ハイブリッド量子古典コンピュータによって、既知の温度でのボルツマン分布をローカルに近似する確率分布に従う量子ボルツマンマシンの状態を準備するための方法であって、前記ハイブリッド量子古典コンピュータは、
古典コンピューティングコンポーネントと、
量子コンピューティングコンポーネントであって、
測定ユニットと、
第1の量子状態で準備される第1の複数のmキュービット及び第2の複数のnキュービットを含み、nはm未満であり、
前記第1の複数のキュービットは、前記古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用し、
前記第2の複数のキュービットは、前記ハミルトニアンに従って互いに相互作用し、
前記第2の複数のキュービットは、前記ハミルトニアンに従って、前記第1の複数のキュービットと弱く相互作用する
前記量子コンピューティングコンポーネントと
を含み、
前記古典コンピューティングコンポーネントは、プロセッサと、非一時的コンピュータ可読媒体と、前記非一時的コンピュータ可読媒体に格納されているコンピュータプログラム命令とを含み、
前記方法は、
前記量子コンピューティングコンポーネントの前記測定ユニットで、
(1)前記第1の複数のキュービット上のオブザーバブルの第1のセットの期待値を測定することと、
(2)前記第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定することと、
前記古典コンピューティングコンポーネントで、
(3)前記測定ユニットから前記第1及び第2のセットの期待値を受信することと、
(4)前記第1の量子状態と前記第1及び第2のセットの期待値とに基づいて第2の量子状態を準備することと
を含む、
前記方法。
【請求項13】
前記量子コンピューティングコンポーネントにおいて、前記ハミルトニアンの下で前記第1及び第2の複数のキュービットをクエンチすることをさらに含む、請求項12に記載の方法。
【請求項14】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントの量子回路において、前記第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む、請求項13に記載の方法。
【請求項15】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントのアナログ量子シミュレータにおいて、前記第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む、請求項13に記載の方法。
【請求項16】
前記第1及び第2の複数のキュービットの前記クエンチングは、前記量子コンピューティングコンポーネントの量子アニーラにおいて、前記第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む、請求項13に記載の方法。
【請求項17】
前記古典コンピューティングコンポーネントにおいて、前記量子コンピューティングコンポーネントをシミュレーションすることをさらに含む、請求項13に記載の方法。
【請求項18】
前記クエンチングの後、前記第2のセットの期待値は、前記第1の複数のキュービットに関連付けられた理想的量子ボルツマン分布の温度パラメータの値を識別する、請求項13に記載の方法。
【請求項19】
前記古典コンピューティングコンポーネントにおいて、前記第1及び第2のセットの期待値を使用して損失関数の勾配を推定することをさらに含む、請求項12に記載の方法。
【請求項20】
前記古典コンピューティングコンポーネントにおいて、前記第1及び第2のセットの期待値を使用して前記ハミルトニアンの前記パラメータを更新することをさらに含む、請求項12に記載の方法。
【請求項21】
前記古典コンピューティングコンポーネントにおいて、人工ニューラルネットワークを実行することをさらに含み、
前記人工ニューラルネットワークを実行することは、
前記量子コンピューティングコンポーネントを制御して(1)及び(2)を実行することと、
前記古典コンピューティングコンポーネントを制御して(3)及び(4)を実行することと
を含む、請求項12に記載の方法。
【請求項22】
前記古典コンピューティングコンポーネントを含まないコンピュータシステムにおいて、人工ニューラルネットワークを実行することをさらに含み、
前記人工ニューラルネットークを実行することは、
前記量子コンピューティングコンポーネントを制御して(1)及び(2)を実行することと、
前記古典コンピューティングコンポーネントを制御して(3)及び(4)を実行することと
を含む、請求項12に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
量子コンピュータは、他の方法では解決できない、または古典的なコンピュータを使用した場合は非常に非効率的にしか対処できない、産業上の重要な問題を解決することを約束する。量子コンピュータの応用分野には、化学と材料、生物科学とバイオインフォマティクス、そして金融が含まれる。量子コンピューティングへの関心は、量子コンピューティングのパフォーマンスの進歩の波に一部起因して、最近急上昇している。
【0002】
ボルツマンマシンは、古典的な機械学習における最初のニューラルネットワークベースのアーキテクチャの1つであった。相互接続されたノードのレイヤーから形成されたボルツマンマシンは、教師あり学習設定と教師なし学習設定の両方で使用されており、実際のデータ分布を学習するための多目的ツールとして機能する。古典ボルツマンマシンは、系のスピンアップとスピンダウンの組み合わせを表すナチュラルベースの状態で対角であるイジングハミルトニアンに従って相互作用しているスピンのセットとして解釈できる。量子計算における最近の努力は、非対角である量子ハミルトニアンを考慮することによって、古典的な計算で可能であるものを超えた量子ボルツマンマシンで学習タスクを実行できることを示した。
【0003】
物理系と同様に、ボルツマンマシンは、ハミルトニアンに関して、常に熱状態と呼ばれる特別な状態にある。ボルツマンマシンの能力を完全に実現するために、残っている実際的な問題は、ノイズの多い中規模量子デバイスで熱状態をどのように準備して測定するかである。文献のいくつかの提案は、(近似)熱状態のソースとして量子アニーリングデバイスを使用することを示している。ただし、このようなアイデアの有用性は、多くの場合、アニーリングデバイスで許される固有のノイズ、接続性、及び結合の形式によって制限される。さらに重要なことに、古典的な熱状態でさえ温度を推定することは困難な問題である。ゲートモデル量子コンピュータの急速な発展に伴い、これらの系の熱状態を近似的に準備して測定する必要がある。
【発明の概要】
【0004】
量子ボルツマンマシン(QBM)は、古典ボルツマンマシンの量子力学的一般化であり、古典ボルツマンマシンよりも表現力が高いため、古典ボルツマンマシンに挑戦する確率分布を学習するために使用できる。QBMは、古典ボルツマンマシン用に開発されたものと同様の勾配ベースの方法を使用してトレーニングできる。ただし、勾配ベースの方法を使用したQBMトレーニングでは、量子熱分布でオブザーバブルをサンプリングする必要があり、これはNP困難な問題である。有利なことに、本発明の実施形態は、固有状態熱化仮説(ETH)に基づくサンプリング技術でこの問題を回避し、それにより、近未来量子コンピューティングデバイス上でQBMを効率的にトレーニングする方法を提供する。
【0005】
本発明の実施形態では、QBMは純粋状態で準備され、状態は、カオス的で調整可能な量子ハミルトニアンに従って時間とともに発展する。純粋状態は、既知の温度での(潜在的に相関の高い)量子熱状態をローカルに近似する。カオス的量子ハミルトニアンを使用すると、量子クエンチを実行して、量子熱状態のオブザーバブルをローカルにサンプリングできる。サンプルを使用すると、QBMの損失関数の勾配の正しい符号と大きさを決定するために、必要に応じてQBMの逆温度を概算できる。
【0006】
QBMは、古典ボルツマンマシンと同様の用途に使用できる。例えば、QBMをトレーニングして使用し、敵対的アソシエートネットワーク(associate adversarial network)を作成できる。教師あり学習では、QBMは、例えば、自然言語処理、時系列予測、強化学習で使用できる。QBMは、データ圧縮の用途で、データの次元を削減するオートエンコーダーを実装するためにも使用できる。QBMは、古典ボルツマンマシンとともに使用することもできる。例えば、QBMを使用して、古典ボルツマンマシンのコスト関数のグローバル最適値をより迅速に見つけることにより、古典ボルツマンマシンのトレーニングを改善できる。
【0007】
本発明の一態様は、第1の複数のキュービットと、第1の複数のキュービットよりも小さく、第1の複数のキュービットに結合された第2の複数のキュービットとを含む計算デバイスである。第2の複数のキュービットについて測定されたボルツマン温度は、第1の複数のキュービットの少なくとも一部のボルツマン温度を表す。
【0008】
本発明の別の態様は、第1の複数のキュービットを含む計算デバイスの量子状態をサンプリングするための方法である。この方法は、第2の複数のキュービットを第1の複数のキュービットに結合し、第2の複数のキュービットのボルツマン温度を測定して、第1の複数のキュービットのボルツマン温度の表現を提供することを含む。第2の複数のキュービットは、第1の複数のキュービットよりも小さい。
【0009】
本発明のさらに別の態様は、第1の複数のキュービットを含む量子ボルツマンマシンのためのトレーニング方法である。この方法は、量子ボルツマンマシンを部分的にトレーニングし、第1の複数のキュービットよりも小さい第2の複数のキュービットのボルツマン温度を測定し、第2の複数のキュービットのボルツマン温度を使用して量子ボルツマンマシンの追加のトレーニングを指示することを含む。
【0010】
本発明の別の態様は、最初に損失関数の上限に関して最適化し、次にブラックボックス最適化技術を利用してサンプリングにより概算された正確な損失関数をトレーニングすることによって最適化を改良することによる、量子ボルツマンマシンのパラメータのトレーニング方法である。
【0011】
一実施形態では、ハイブリッド量子古典コンピュータは、古典コンピューティングコンポーネント及び量子コンピューティングコンポーネントを含む。量子コンピューティングコンポーネントは、第1の量子状態で準備された第1の複数のmキュービット及び第2の複数のnキュービットを含み、ここで、nはm未満である。第1の複数のキュービットは、古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って、第1の複数のキュービットと弱く相互作用する。量子コンピューティングコンポーネントはまた、(1)第1の複数のキュービット上のオブザーバブルの第1のセットの期待値、及び(2)第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定する測定ユニットを含む。古典コンピューティングコンポーネントはまた、測定ユニットから第1及び第2のセットの期待値を受信し、第1の量子状態及び第1及び第2のセットの期待値に基づいて第2の量子状態を準備するプロセッサを含む。
【0012】
別の実施形態では、既知の温度でのボルツマン分布をローカルに近似する確率分布に従う量子ボルツマンマシンの状態を準備するための方法が、ハイブリッド量子古典コンピュータ上に実装される。ハイブリッド量子古典コンピュータは、古典コンピューティングコンポーネント及び量子コンピューティングコンポーネントを含む。量子コンピューティングコンポーネントは、測定ユニットならびに、第1の量子状態で準備された第1の複数のmキュービット及び第2の複数のnキュービットを含み、ここで、nはm未満である。第1の複数のキュービットは、古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って、第1の複数のキュービットと弱く相互作用する。古典コンピューティングコンポーネントは、プロセッサ、非一時的なコンピュータ可読媒体、及び非一時的なコンピュータ可読媒体に格納されたコンピュータプログラム命令を含む。方法は、量子コンピューティングコンポーネントの測定ユニットにおいて、(1)第1の複数のキュービット上のオブザーバブルの第1のセットの期待値を測定すること、及び(2)第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定することを含む。方法は、古典コンピューティングコンポーネントにおいて、(3)測定ユニットから第1及び第2のセットの期待値を受信すること、及び(4)第1の量子状態及び第1及び第2のセットの期待値に基づいて第2の量子状態を準備することも含む。
【0013】
本発明の様々な態様及び実施形態の他の特徴及び利点は、以下の説明及び特許請求の範囲から明らかになる。
【0014】
本発明は、添付の特許請求の範囲に具体的に記載されている。本発明の上記及びさらなる態様は、添付の図面と併せて以下の説明を参照することによってよりよく理解することができ、ここで、同様の数字は、様々な図における同様の構造要素及び特徴を示す。図面は必ずしも一定の比率であるというわけではなく、その代わりに、本発明の原理を例示するにあたっては強調がなされる。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態に従って実装されているシステムの図である。
図2A】本発明の一実施形態による、図1のシステムによって実行される方法のフローチャートである。
図2B】量子アニーリングを実施するコンピュータシステムによって通常実行される動作を示す図である。
図3】本発明の一実施形態に従って実施されているハイブリッド量子古典コンピュータシステムの図である。
図4】ボルツマンマシン、制限付きボルツマンマシン、及び半制限付きボルツマンマシンの一例を示している。
図5】一実施形態における、複数の温度計キュービットから形成された温度計に弱く結合された量子ボルツマンマシンの一実施例を示す。
図6】実施形態における、古典コンピュータ及び量子コンピュータを備えたハイブリッド量子古典コンピュータの一実施例を示すブロック図である。
図7】実施形態において、既知の温度でのボルツマン分布をローカルに近似する確率分布に従う量子ボルツマンマシンの状態を準備するための方法のフローチャートである。
【発明を実施するための形態】
【0016】
古典及び量子ボルツマンマシン
生成モデリングの目標は、特定のデータセットに似たデータポイントを生成するモデルをトレーニングすることである。特に、ボルツマンマシンは、所与のデータセットを、古典イジングエネルギー関数
【数1】
【0017】
量子ボルツマンマシン(QBM)は、古典ボルツマンマシンの量子一般化であり、これは量子熱確率分布、
【数2】
【0018】
図4は、ボルツマンマシン400、制限付きボルツマンマシン410、及び半制限付きボルツマンマシン420の一例を示している。ボルツマンマシン400、410、及び420のそれぞれは、複数の可視ユニット402及び複数の隠れユニット404から形成されている。ボルツマンマシン400では、ユニットのすべてのペアは、重みwとペアで結合され、その中で、可視ユニット402(i)と隠れユニット402(j)との間の重みwijのみがラベル付けされる。加えて、各ユニットにはローカルバイアスフィールドbがあり、各ユニット402(i)及び404(j)について、ローカルバイアスフィールドb及びbのみが示されている。制限付きボルツマンマシン410は、可視ユニット402が互いにペアで結合されておらず、隠れユニット404が互いにペアで結合されていないことを除いて、ボルツマンマシン400と同様である。したがって、制限付きボルツマンマシン410の各可視ユニット402は、すべての隠れユニット404にペアで結合され、各隠れユニット404は、すべての可視ユニット402にペアで結合されている。半制限付きボルツマン420は、可視ユニット402だけが互いにペアで結合されているが隠れユニット404は各々にペアで結合されていないということを除いては、ボルツマンマシン400及び制限付きボルツマンマシン410と類似している。図4は、3つの可視ユニット402及び2つの隠れユニット402を有するボルツマンマシン400、410、及び420のそれぞれを示す一方で、ボルツマンマシン400、410、及び420のそれぞれは、本明細書の範囲から逸脱することなく、異なる数の可視ユニット402及び異なる数の隠れユニット404を有し得る。
【0019】
【数3】
【0020】
【数4】
【0021】
ローカル量子熱化及び固有状態熱化仮説
【数5】
【0022】
さらに、熱力学的極限では、演算子OがハミルトニアンHに対して等しいミクロカノニカル及びカノニカル期待値を持っている場合、
【数6】
【0023】
式14は、ミクロカノニカルアンサンブルとカノニカルアンサンブルの間で等価性を示すすべての系について、熱力学的極限でnのサポート劣線形のボリュームを持つすべてのオブザーバブルに当てはまると予想される。可積分系や多体局在系など、従来の意味で熱化しない系の場合、この等価性は、ミクロカノニカルアンサンブルと一般化されたカノニカルアンサンブルの間の等価性に一般化できる。
【0024】
ETHが式14の意味で与えられた系について成り立つと仮定して、時間発展のみを通して一定ボリュームkのサポートを使用してオブザーバブルOを近似的にサンプリングする手順がここで示される。まず、系が2つの非可換項HとHで構成されるハミルトニアンHで表されていると仮定する。
【数7】
【0025】
ETHによるQBMのトレーニング
【数8】
様々なβにおいてθを推定するために、QBMはO(1)キュービットのアンシラ系に結合することができる。このアンシラ系は、本明細書では温度計と呼ばれ、QBMハミルトニアンHQBMと同じ形式の温度計ハミルトニアンHthermを有するが、パラメータが固定されている。
【0026】
図5は、複数の温度計キュービット510から形成された温度計504に弱く結合されたQBM502の一実施例を示す。QBM502は、図4の隠れユニット404に対応する複数の隠れキュービット506及び図4の可視ユニット402に対応する複数の可視キュービット506を有している。キュービット504及び506は、QBMハミルトニアンに従って結合されている(例えば、式4または式5のHQBM)。QBM502と温度計504は、相互作用ハミルトニアン
【数9】
に従って結合することができ、ここで、v’は、可視キュービット508のサブセット上で実行され、αは、温度計キュービット510のサブセット上で実行されて、Hintは、温度計504の測定されたローカルの温度がQBM502のローカルの温度にほぼ等しくなるように、HQBMに対して疎に比較される。図5は、図5の制限付きボルツマンマシン410に対応する制限付きQBMとしてのQBM502を示すが、QBM502は、代替的に、図4のボルツマンマシン400に対応する無制限のQBMとして構成されてもよく、または図4の半制限付きボルツマンマシン420に対応する半制限付きQBMとして構成されてもよい。
【0027】
温度計504及びQBM502は、結合されて結合系を形成する場合、総ハミルトニアンで表すことができる。
【数10】
式24から27で行われた近似の誤差の詳細については、以下の「ローカル熱化とQBMクエンチダイナミクス」というタイトルのセクションに示す。原理的には、|T|=1が選択されてもよく、ただしより大きい|T|はそれらの時間平均から離れたオブザーバブルの変動の影響を低減する。
【0028】
式27は、式15と同じ意味でβを定義することに留意されたい。Hthermは既知であり、O(1)キュービットだけについてサポートを有するので、βは、サンプリングにより、温度計ハミルトニアンHthermの期待値を推定した後、式27を反転させて数値的に求めることができる。さらに、||Hint||が||HQBM||及び||Htherm||よりもはるかに小さい場合、温度計の測定された逆温度はQBMの温度を近似する。したがって、式9、10及び19のすべての項は、サンプリングを介して古典的な計算または近似をすることができ、そこからQBMを効率的にトレーニングできる。
【0029】
【数11】
【0030】
ローカル熱化とQBMクエンチダイナミクス
式18をより詳細に説明するために、次の形式のクエンチを検討する。
【数12】
【0031】
【数13】
【0032】
したがって、ミクロカノニカルアンサンブルとカノニカルアンサンブルにおけるOの期待値がO(k/n)項まで等価であると仮定すると(ミクロカノニカルエントロピーがエネルギーで凹であり、エネルギーが系ボリュームで広範囲である場合、非可積分系に当てはまる)、
【数14】
【0033】
【数15】
【0034】
隠れユニットの数が少ないQBMの明らかな強さのため、これは不合理な仮定ではない。しかしながら、この分析は半制限付きモデルまたは非制限モデルには当てはまらず、実際、数値的にシミュレートされた一般的な半制限付き横イジングモデルの場合、この収束は熱力学的極限に当てはまるように見えない。それにもかかわらず、実際のトレーニングデータでは、QBM/温度計スキームは、半制限付き横イジングモデルでもうまくトレーニングされているように見える。これは、一般に、熱化に必要な条件は次のとおりであることを与えている式39が原因である可能性がある。
【数16】
したがって、制限無しQBMの見かけの熱化さえも、トレーニング中の可視と可視の結合が小さいことが原因である可能性がある。あるいは、それは、勾配の推定における一定の誤差に対してさえもロバストであり、例えば、勾配の符号にのみ強く依存するトレーニング手順に起因する可能性がある。
【0035】
図6は、古典コンピュータ602及び量子コンピュータ604を備えたハイブリッド量子古典コンピュータ600の一実施例を示すブロック図である。古典コンピュータ602は、古典コンピューティングコンポーネント602と呼んでもよく、量子コンピュータ604は、量子コンピューティングコンポーネント604と呼んでもよい。
【0036】
量子コンピュータ604は、第1の複数のmキュービット610を備えたQBM(例えば、図5のQBM502)、及び第2の複数のnキュービット612を備えた温度計(例えば、図5の温度計504)を実装する。ここで、nはm未満である。第1の複数のキュービット610は、古典コンピュータ602によって指定されたハミルトニアン630に従って互いに相互作用する。第2の複数のキュービット612もまた、ハミルトニアン630に従って互いに相互作用し、第2の複数のキュービット612は、ハミルトニアン630に従って、第1の複数のキュービット610と弱く相互作用する。キュービット610及び612は、第1の量子状態で集合的に準備される。
【0037】
量子コンピュータ604はまた、第1の複数のキュービット610上のオブザーバブルの第1のセットの期待値620を測定する測定ユニット608を含む。測定ユニット608はまた、第2の複数のキュービット612上のオブザーバブルの第2のセットの期待値622を測定する。
【0038】
古典コンピュータ602は、第1の量子状態と、第1及び第2のセットの期待値620、622とに基づいて、第2の量子状態を準備する。古典コンピュータ602は、第2のセットの期待値622に基づいて、第1の複数のキュービット610に関連する理想的な量子ボルツマン分布の温度パラメータの値624を識別する温度推定器634を用いてこれを行う。古典コンピュータ602はまた、ハミルトニアン630を定義するパラメータ626を更新するパラメータアップデータ632を含む。パラメータアップデータ632は、第1のセットの期待値620及び温度パラメータの値624に基づいてパラメータ626を更新する。例えば、パラメータアップデータ632は、損失関数の勾配を推定して(例えば、式9及び10を参照)、更新されたパラメータ626を取得するために前のパラメータに追加されるパラメータステップを決定することができる。別の実施例として、パラメータアップデータ632は、非勾配ベースの技術を使用して、パラメータ626を更新することができる。ハミルトニアン630が更新されたパラメータ626で更新されると、古典コンピュータ602は、次に、第2の量子状態でキュービット610及び612を準備して更新された期待値620、622を得ることができる。
【0039】
図6には明示的に示されていないが、古典コンピュータ602は、プロセッサ及び、プロセッサによって実行されると、古典コンピュータ602を制御して、温度推定器634、パラメータアップデータ632、及びハミルトニアン630を含む古典コンピュータ602の機能を実施する、コンピュータプログラムコードを格納するメモリを含む。
【0040】
いくつかの実施形態では、第1及び第2の複数のキュービット610、612は、ハミルトニアンの下でクエンチされる(例えば、式17を参照)。第1及び第2の複数のキュービット610、612のこのクエンチングは、量子コンピュータ604の量子回路によって第1及び第2の複数のキュービット610、612の時間発展をシミュレーションすることを含み得る。あるいは、時間発展のシミュレーションは、量子コンピュータ604のアナログ量子シミュレータによって実行され得る。あるいは、時間発展をシミュレーションは、量子コンピュータ604の量子アニーラによって実行され得る。
【0041】
特定の実施形態では、ハイブリッド量子古典コンピュータ600は、人工ニューラルネットワークを実装する追加のコンピュータシステムを含む。人工ニューラルネットワークは、量子コンピュータ604を制御して、(例えば、測定ユニット608を用いて)第1及び第2のセットの期待値620、622を測定し、古典コンピュータ602を制御して、第1及び第2のセットの期待値620、622を受信し、2番目の量子状態を準備する。追加のコンピュータシステムは、追加のコンピュータシステムと古典コンピュータ602とが1つのコンピュータであるようにして、古典コンピュータ602を含み得る。あるいは、追加のコンピュータシステムは、古典コンピュータ602から分離されてもよく、その場合、追加のコンピュータシステム及び古典コンピュータ602は、互いに通信可能である。
【0042】
他の実施形態では、ハイブリッド量子古典コンピュータ600は、量子コンピュータ604の動作をシミュレーションするように構成された古典コンピュータ602のみを含む。具体的には、古典コンピュータ602は、少なくとも1つの非一時的なコンピュータ可読媒体に具体的に格納された追加のコンピュータプログラムコードを格納し、コンピュータプログラムコードは、古典コンピュータ602のプロセッサによって実行されると、古典コンピュータ602を制御して、量子コンピュータ604が無くても量子コンピュータ604の動作をシミュレーションする。
【0043】
図7は、既知の温度でのボルツマン分布をローカルに近似する確率分布に従う量子ボルツマンマシンの状態を準備するための方法700のフローチャートである。以下の議論を明確にするために、方法700は、図6のハイブリッド量子古典コンピュータ600上で実装されるものとして説明される。しかしながら、方法700は、本明細書の範囲から逸脱することなく、別のハイブリッド量子古典コンピュータによって実施することができる。
【0044】
方法700は、任意の順序で、または同時に発生し得るブロック702及びブロック704を含む。ブロック702及び704は両方とも、ハイブリッド量子古典コンピュータ600の量子コンピュータ604の測定ユニット608で発生する。ブロック702において、測定ユニット608は、第1の複数のキュービット上のオブザーバブルの第1のセットの期待値を測定する。ブロック704において、測定ユニット608は、第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定する。ブロック702及び704の一実施例では、量子コンピュータ604の測定ユニット608は、第1の複数のキュービット610上のオブザーバブルの期待値620、及び第2の複数のキュービット612上のオブザーバブルの期待値622を測定する。
【0045】
方法700はまた、両方ともハイブリッド量子古典コンピュータ600の古典コンピュータ602で発生するブロック706及びブロック708を含む。ブロック706において、古典コンピュータ602は、測定ユニット608から第1及び第2のセットの期待値を受信する。ブロック708において、古典コンピュータ602は、第1の量子状態と第1及び第2のセット期待値とに基づいて第2の量子状態を準備する。ブロック706及び708の一実施例では、古典コンピュータ602は、測定ユニット608から第1及び第2のセットの期待値620、622を受信し、第1及び第2のセットの期待値620、622を処理してパラメータ626を更新する。
【0046】
いくつかの実施形態では、方法700は、ハミルトニアン630の下で第1及び第2の複数のキュービットをクエンチすることをさらに含む。クエンチすることは、量子コンピュータ604の量子回路によって、第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含み得る。シミュレーションすることはまた、量子コンピュータ604のアナログ量子シミュレータを用いて実行され得る。シミュレーションすることはまた、量子コンピュータ604によって実装される量子アニーラを用いて実行され得る。
【0047】
いくつかの実施形態では、方法700は、第1の複数のキュービットに関連する理想的な量子ボルツマン分布の温度パラメータの値を識別することを含む。これらの実施形態の一実施例では、温度推定器634は、期待値622に基づいてキュービット610の温度を推定する。
【0048】
特定の実施形態では、方法700は、第1及び第2のセットの期待値に基づいて、ハミルトニアン630のパラメータを更新することを含む。いくつかの実施形態では、方法700は、第1及び第2のセットの期待値に基づいて、損失関数の勾配を推定することを含む。一実施例では、古典コンピュータ602のパラメータアップデータ632は、期待値620及び温度624(これは次に、期待値622に基づいている)に基づいてパラメータ626を更新する。
【0049】
方法700のいくつかの実施形態では、古典コンピュータ602は、人工ニューラルネットワークをさらに格納する。方法700は、量子コンピュータ604を制御してブロック702及び704を実行することによって、及び古典コンピュータ602を制御してブロック706及び708を実行することによって、人工ニューラルネットワークを実行することをさらに含む。他の実施形態では、人工ニューラルネットワークは、古典コンピュータに格納されており、これは古典コンピュータ602とは分離されており、古典コンピュータ602と通信可能に結合されている。
【0050】
方法700の他の実施形態では、ハイブリッド量子古典コンピュータ600は、量子コンピュータ604を用いずに量子コンピュータ604の動作をシミュレーションするように構成された、古典コンピュータ602のみを含む。これらの実施形態では、方法700のブロック706及び708は、古典コンピュータ604によって実行される。
【0051】
量子コンピュータの様々な物理的実施形態は、本開示による使用に適している。一般に、量子コンピューティングの基本的なデータストレージ単位は、量子ビットまたはキュービットである。キュービットは、古典デジタルコンピュータシステムビットの量子コンピューティングでの類似物である。古典ビットは、任意の時点で、2進数字(ビット)0または1に対応する2つの可能な状態のいずれかを占めると見なされる。対照的に、キュービットは、量子機械的特性を持つ物理媒体によってハードウェアに実装される。キュービットを物理的にインスタンス化するそのような媒体は、本明細書では、「キュービットの物理的インスタンス化」、「キュービットの物理的実施形態」、「キュービットを具体化する媒体」、もしくは同様の用語、または単に説明を簡単にするための「キュービット」と呼ばれる。したがって、本発明の実施形態の説明内の「キュービット」への本明細書における言及は、キュービットを具体化する物理媒体を指すことを理解されたい。
【0052】
各キュービットには、無限の数の異なる潜在的な量子力学的状態がある。キュービットの状態が物理的に測定されると、測定により、キュービットの状態から解決された2つの異なる基底状態の1つが生成される。したがって、単一のキュービットは、これら2つのキュービット状態の1、0、または任意の量子重ね合わせを表すことができ、キュービットのペアは、4つの直交基底状態の任意の量子重ね合わせになり、そして、3つのキュービットは8つの直交基底状態の任意の重ね合わせになり得る。キュービットの量子力学的状態を定義する関数は、その波動関数として知られている。波動関数は、所与の測定の結果の確率分布も指定する。次元2の量子状態を有する(つまり、2つの直交基底状態を有する)キュービットは、d次元の「キューディット(qudit)」に一般化でき、ここで、dは、2、3、4、またはそれ以上の任意の整数値である。キューディットの一般的なケースでは、キューディットの測定により、キューディットの状態から解決されたd個の異なる基底状態の1つが生成される。本明細書でのキュービットへの言及は、より一般的には、任意の値のdを有するd次元のキューディットを指すと理解されるべきである。
【0053】
本明細書でのキュービットの特定の説明は、それらの数学的特性の観点からそのようなキュービットを説明し得るが、そのような各キュービットは、様々な異なる方法のいずれかで物理媒体に実装され得る。このような物理媒体の例には、超伝導材料、トラップされたイオン、光子、光共振器、量子ドット内にトラップされた個々の電子、固体の点欠陥(例えば、シリコンのリン供与体またはダイヤモンドの窒素空孔中心)、分子(例えば、アラニン、バナジウム錯体)、またはキュービット挙動を示す、すなわち、制御可能に誘導または検出することができる量子状態及びそれらの間の遷移を含む、前述のいずれかの凝集体が含まれる。
【0054】
キュービットを実装する任意の媒体について、その媒体の様々な特性のいずれかを選択して、キュービットを実装することができる。例えば、電子がキュービットを実装するために選択された場合、そのスピン自由度のx成分は、そのようなキュービットの状態を表すそのような電子の特性として選択され得る。あるいは、スピン自由度のy成分またはz成分を、そのような電子の特性として選択して、そのようなキュービットの状態を表すことができる。これは、キュービットを実装するために選択された物理媒体の場合、0と1を表すように選択される複数の物理的自由度(例えば、電子スピンの例のx、y、z成分)が存在し得るという一般的な特徴の特定の例にすぎない。任意の特定の自由度に対して、物理媒体を制御可能に重ね合わせた状態にしてから、選択した自由度で測定を行って、キュービット値の読み取り値を取得できる。
【0055】
ゲートモデル量子コンピュータと呼ばれる量子コンピュータの特定の実装は、量子ゲートを含む。古典ゲートとは対照的に、キュービットの状態ベクトルを変更する可能性のある単一キュービット量子ゲートは無数にある。キュービット状態ベクトルの状態を変更することは、通常、単一キュービット回転と呼ばれ、本明細書では、状態変更または単一キュービット量子ゲート操作と呼ばれることもある。回転、状態変更、または単一キュービット量子ゲート操作は、複素数要素を持つユニタリ2×2行列によって数学的に表すことができる。回転は、キュービット状態のそのヒルベルト空間内の回転に対応し、これは、ブロッホ球の回転として概念化できる(当技術分野の通常のスキルを持つ人にはよく知られているように、ブロッホ球は、キュービットの純粋状態の空間の幾何学的表現である)。マルチキュービットゲートは、キュービットのセットの量子状態を変更する。例えば、2キュービットゲートは、2つのキュービットの4次元ヒルベルト空間での回転として2つのキュービットの状態を回転させる(当技術分野の通常のスキルを持つ人にはよく知られているように、ヒルベルト空間は長さと角度を測定できる内積の構造を持っている抽象的なベクトル空間である)。さらに、ヒルベルト空間は完全であり、微積分の手法を使用できるように、空間には十分な制限がある。
【0056】
量子回路は、量子ゲートのシーケンスとして指定できる。以下でより詳細に説明するように、本明細書で使用される「量子ゲート」という用語は、1つ以上のキュービットにゲート制御信号(以下に定義)を適用して、それらのキュービットに特定の物理的変換を受けさせ、それによって、論理ゲート操作を実施することを指す。量子回路を概念化するために、コンポーネントの量子ゲートに対応する行列をゲートシーケンスで指定された順序で共に乗算して、nキュービットで同じ全体的な状態変化を表す2n×2n複素行列を生成できる。したがって、量子回路は、単一の結果として生じる演算子として表すことができる。しかしながら、構成ゲートの観点から量子回路を設計すると、設計を標準セットのゲートに準拠させることができるため、配置がさらに容易になる。したがって、量子回路は、量子コンピュータの物理コンポーネントに対して実行されるアクションの設計に対応する。
【0057】
所与の変分量子回路は、適切なデバイス固有の方法でパラメータ化することができる。より一般的には、量子回路を構成する量子ゲートは、関連する複数の調整パラメータを有し得る。例えば、光スイッチングに基づく実施形態では、調整パラメータは、個々の光学要素の角度に対応し得る。
【0058】
量子回路の特定の実施形態では、量子回路は、1つ以上のゲート及び1つ以上の測定操作の両方を含む。このような量子回路を使用して実装された量子コンピュータは、本明細書では「測定フィードバック」の実装と呼ばれる。例えば、測定フィードバックを実装する量子コンピュータは、量子回路のゲートを実行し、次に量子コンピュータのキュービットのサブセット(つまり、すべてより少ない)のみを測定し、次に測定(複数可)の結果(複数可)に基づいて実行するゲート(複数可)を決定することができる。特に、測定値(複数可)は、ゲート操作(複数可)におけるエラーの程度を示すことができ、量子コンピュータは、エラーの程度に基づいて、次に実行するゲート(複数可)を決定することができる。次に、量子コンピュータは、決定によって示されたゲート(複数可)を実行することができる。ゲートを実行し、キュービットのサブセットを測定し、次に実行するゲート(複数可)を決定するこのプロセスは、何度でも繰り返すことができる。測定フィードバックは、量子エラー訂正を実行するのに役立てることができるが、量子エラー訂正の実行での使用に限定はされない。すべての量子回路について、測定フィードバックの有無にかかわらず、回路のエラー訂正される実装がある。
【0059】
すべての量子コンピュータがゲートモデルの量子コンピュータであるとは限らない。本発明の実施形態は、ゲートモデル量子コンピュータを使用して実装されることに限定されない。代替の実施例として、本発明の実施形態は、ゲートモデル量子コンピューティングアーキテクチャの代替である量子アニーリングアーキテクチャを使用して実装される量子コンピュータを使用して、全体的または部分的に実装され得る。より具体的には、量子アニーリングは、量子ゆらぎを使用するプロセスによって、所与の候補解(候補状態)のセットにわたって所与の目的関数のグローバル最小値を見つけるためのメタヒューリスティクスである。
【0060】
図2Bは、量子アニーリングを実施するコンピュータシステム250によって通常実行される動作を示す図である。コンピュータシステム250は、量子コンピュータ252と古典コンピュータ254の両方を含む。破線の垂直線256の左側に示される操作は、通常、量子コンピュータ252によって実行され、一方、破線の垂直線256の右側に示される操作は、通常、古典コンピュータ254によって実行される。
【0061】
量子アニーリングは、解決すべき計算問題258に基づいて初期ハミルトニアン260及び最終ハミルトニアン262を生成し、量子コンピュータ252への入力として初期ハミルトニアン260、最終ハミルトニアン262及びアニーリングスケジュール270を提供する古典コンピュータ254から始まる。量子コンピュータ252は、初期ハミルトニアン260に基づいて、等しい重みを有するすべての可能な状態(候補状態)の量子力学的重ね合わせなど、周知の初期状態266を準備する(図2B、操作264)。古典コンピュータ254は、初期ハミルトニアン260、最終ハミルトニアン262、及びアニーリングスケジュール270を量子コンピュータ252に提供する。量子コンピュータ252は、初期状態266で開始し、物理系の自然な量子力学的発展である時間依存シュレディンガー方程式(図2B、操作268)に従って、アニーリングスケジュール270によってその状態を発展させる。より具体的には、量子コンピュータ252の状態は、時間依存ハミルトニアンの下で時間発展を経るがこれは、初期ハミルトニアン260から始まり、最終ハミルトニアン262で終わる。系ハミルトニアンの変化率が十分に遅い場合、系は瞬時ハミルトニアンの基底状態に近いままである。系ハミルトニアンの変化率が加速されると、系は一時的に基底状態を離れることがあるが、最終問題ハミルトニアン、つまり断熱量子計算の基底状態になる可能性が高くなる。時間発展の終わりに、量子アニーラ上のキュービットのセットは最終状態272にあり、これは元の最適化問題258の解に対応する古典イジングモデルの基底状態に近いと予想される。ランダム磁性体の量子アニーリングの成功の実験的実証は、最初の理論的提案の直後に報告された。
【0062】
量子コンピュータ254の最終状態272が測定され、それにより、結果276(すなわち、測定)が生成される(図2B、操作274)。測定操作274は、例えば、図1の測定ユニット110に関連して本明細書に開示された方法のいずれかなど、本明細書に開示された方法のいずれかで実行され得る。古典コンピュータ254は、測定結果276に対して後処理を実行して、元の計算問題258の解を表す出力280を生成する(図2B、操作278)。
【0063】
別の代替の実施例として、本発明の実施形態は、ゲートモデル量子コンピューティングアーキテクチャの別の代替である、測定ベースの量子コンピューティングアーキテクチャとも呼ばれる一方向量子コンピューティングアーキテクチャを使用して実装される量子コンピュータを使用して、全体的または部分的に実装され得る。より具体的には、一方向または測定ベースの量子コンピュータは、最初にエンタングルされたリソース状態(通常はクラスター状態またはグラフ状態)を準備し、次にそれに対して単一キュービット測定を実行する、量子コンピューティングの方法である。これは、測定によってリソースの状態が破壊されるため、「一方向」である。
【0064】
各個別の測定の結果はランダムであるが、それらは計算が常に成功するように関連付けられている。一般に、後の測定の基準の選択は、前の測定の結果に依存する必要があるため、すべての測定を同時に実行することはできない。
【0065】
本明細書に開示される機能のいずれも、それらの機能を実行するための手段を使用して実装され得る。そのような手段には、以下に説明するコンピュータ関連のコンポーネントなど、本明細書に開示されるコンポーネントのいずれかが含まれるが、これらに限定されない。
【0066】
図1は、本発明の一実施形態に従って実装されているシステム100の図である。図2Aは、本発明の一実施形態による、図1のシステム100によって実行される方法200のフローチャートである。システム100は、量子コンピュータ102含む。量子コンピュータ102は、本明細書に開示される任意の方法で実装され得る複数のキュービット104を含む。量子コンピュータ102には、任意の数のキュービット104が存在し得る。例えば、キュービット104は、2キュービット以下、4キュービット、8キュービット以下、16キュービット以下、32キュービット以下、64キュービット以下、128キュービット以下、256キュービット以下、512キュービット以下、1024キュービット以下、2048キュービット以下、4096キュービット以下、または8192キュービット以下を含み得るか、またはそれらからなり得る。これらは単なる例であり、実際には、量子コンピュータ102には任意の数のキュービット104が存在し得る。
【0067】
量子回路には任意の数のゲートが存在し得る。しかしながら、いくつかの実施形態では、ゲートの数は、量子コンピュータ102内のキュービット104の数に少なくとも比例し得る。いくつかの実施形態では、ゲート深さは、量子コンピュータ102のキュービット104の数以下、または量子コンピュータ102のキュービット104の数のいくつかの線形倍数(例えば、2、3、4、5、6、または7)以下であり得る。
【0068】
キュービット104は、任意のグラフパターンで相互接続することができる。例えば、それらは線形チェーン、2次元グリッド、全結合、それらの任意の組み合わせ、または前述のいずれかのサブグラフで接続される。
【0069】
以下に明らかにされるように、要素102は、本明細書では「量子コンピュータ」と呼ばれるが、これは、量子コンピュータ102のすべてのコンポーネントが量子現象を活用することを意味するものではない。量子コンピュータ102の1つ以上のコンポーネントは、例えば、量子現象を利用しない古典コンポーネント(すなわち、非量子コンポーネント)であり得る。
【0070】
量子コンピュータ102は、制御ユニット106を含み、これは、本明細書に開示される機能を実行するための様々な回路及び/または他の機械のいずれかを含み得る。制御ユニット106は、例えば、完全に古典コンポーネントからなり得る。制御ユニット106は、出力として1つ以上の制御信号108を生成し、キュービット104に提供する。制御信号108は、電気信号、磁気信号、光信号(例えば、レーザーパルス)、またはそれらの任意の組み合わせなどの任意の種類の電磁信号など、様々な形態のいずれかをとることができる。
【0071】
例えば、以下のとおりである。
●キュービット104のいくつかまたはすべてが、導波路に沿って移動する光子(「量子光学」実装とも呼ばれる)として実装される実施形態では、制御ユニット106はビームスプリッタ(例えば、ヒーターまたはミラー)とすることができ、制御信号108はヒーターまたはミラーの回転を制御する信号とすることができ、測定ユニット110は光検出器とすることができ、測定信号112は光子とすることができる。
●キュービット104のいくつかまたはすべてが電荷タイプキュービット(例えば、トランスモン(transmon)、X-モン(X-mon)、G-モン(G-mon))またはフラックスタイプキュービット(例えば、フラックスキュービット、容量シャントされたフラックスキュービット)として実装される実施形態(「回路量子電磁力学」(回路QED)実装とも呼ばれる)では、制御ユニット106はドライブによって活性化されるバス共振器とすることができ、制御信号108はキャビティモードとすることができ、測定ユニット110は第2の共振器(例えば、低Q共振器)とすることができ、そして測定信号112は分散読み出し技術を使用して第2の共振器から測定された電圧とすることができる。
●キュービット104のいくつかまたはすべてが超伝導回路として実装される実施形態では、制御ユニット106は、回路QED支援制御ユニットまたは直接容量結合制御ユニットまたは誘導容量結合制御ユニットとすることができ、制御信号108はキャビティモードとすることができ、測定ユニット110は第2の共振器(例えば、低Q共振器)とすることができ、そして測定信号112は分散読み出し技術を使用して第2の共振器から測定された電圧とすることができる。
●キュービット104のいくつかまたはすべてがトラップされたイオン(例えば、マグネシウムイオンの電子状態)として実装される実施形態では、制御ユニット106はレーザーとすることができ、制御信号108はレーザーパルスとすることができ、測定ユニット110はレーザー及びCCDまたは光検出器(例えば、光電子増倍管)のいずれかとすることができ、測定信号112は光子とすることができる。
●キュービット104の一部またはすべてが核磁気共鳴(NMR)を使用して実施される実施形態(この場合、キュービットは、例えば、液体または固体形態の分子であり得る)では、制御ユニット106は無線周波数(RF)アンテナとすることができ、制御信号108はRFアンテナによって放射されるRFフィールドとすることができ、測定ユニット110は別のRFアンテナとすることができ、測定信号112は第2のRFアンテナによって測定されたRFフィールドとすることができる。
●キュービット104のいくつかまたはすべてが窒素空孔中心(NV中心)として実装される実施形態では、制御ユニット106は、例えば、レーザー、マイクロ波アンテナ、またはコイルとすることができ、制御信号108は、可視光、マイクロ波信号、または一定の電磁場とすることができ、測定ユニット110は光検出器とすることができ、測定信号112は光子とすることができる。
●キュービット104の一部またはすべてが「エニオン」と呼ばれる二次元準粒子として実装される実施形態(「トポロジカル量子コンピュータ」実装とも呼ばれる)では、制御ユニット106は、ナノワイヤとすることができ、制御信号108はローカル電場またはマイクロ波パルスとすることができ、測定ユニット110は超伝導回路とすることができ、測定信号112は電圧とすることができる。
●キュービット104のいくつかまたはすべてが半導体材料(例えば、ナノワイヤ)として実装される実施形態では、制御ユニット106は微細加工ゲートとすることができ、制御信号108はRFまたはマイクロ波信号とすることができ、測定ユニット110は微細加工ゲートとすることができ、測定信号112はRFまたはマイクロ波信号とすることができる。
【0072】
図1には明示的に示されておらず、必須ではないが、測定ユニット110は、測定信号112に基づいて、1つ以上のフィードバック信号114を制御ユニット106に提供することができる。例えば、「一方向量子コンピュータ」または「測定ベースの量子コンピュータ」と呼ばれる量子コンピュータは、測定ユニット110から制御ユニット106へのそのようなフィードバック114を利用する。このようなフィードバック114は、フォールトトレラントな量子コンピューティング及びエラー訂正の操作にも必要である。
【0073】
制御信号108は、例えば、1つ以上の状態準備信号を含むことができ、これは、キュービット104によって受信されると、キュービット104のいくつかまたはすべてにそれらの状態を変化させる。このような状態準備信号は、「仮説回路」とも呼ばれる量子回路を構成する。結果として生じるキュービット104の状態は、本明細書では「初期状態」または「仮説状態」と呼ばれる。キュービット104をそれらの初期状態にするために状態準備信号(複数可)を出力するプロセスは、本明細書では「状態準備」と呼ばれる(図2A、操作206)。状態準備の特別な場合は、「初期化」であり、「リセット操作」とも呼ばれ、その中で初期状態は、キュービット104の一部またはすべてが「ゼロ」状態、すなわちデフォルトの単一キュービット状態である(図2、操作208)。より一般的には、状態準備は、状態準備信号を使用して、キュービット104の一部またはすべてを所望の状態の任意の分布にすることを含み得る。いくつかの実施形態では、制御ユニット106は、最初にキュービット104を初期化するための第1のセットの状態準備信号を出力すること、そして次にキュービット104を部分的または完全に非ゼロ状態にするための第2のセットの状態準備信号を出力することによって、最初にキュービット104に対して初期化を実行し、次にキュービット104に対して準備を実行することができる。
【0074】
制御ユニット106によって出力され、キュービット104によって受信され得る制御信号108の別の実施例は、ゲート制御信号である。制御ユニット106は、そのようなゲート制御信号を出力することができ、それにより、1つ以上のゲートをキュービット104に適用する。ゲートを1つ以上のキュービットに適用すると、キュービットのセットは、受信したゲート制御信号によって指定された対応する論理ゲート操作(例えば、単一キュービット回転、2キュービットエンタングルゲート、またはマルチキュービット操作)を具体化する物理的状態変化を受ける。これが意味するように、ゲート制御信号の受信に応答して、キュービット104は、測定されたとき(以下を参照)、キュービット104の状態が、ゲート制御信号によって指定された論理ゲート操作を実行することの結果を表すように、キュービット104に状態を変化させる物理的変換を受ける。本明細書で用いられる「量子ゲート」という用語は、1つ以上のキュービットへゲート制御信号を適用して、それらのキュービットに上記の物理変換を受けさせて、このことにより論理ゲート操作を実行させることを指している。
【0075】
状態準備(及び対応する状態準備信号)とゲート(及び対応するゲート制御信号)の適用との間の境界線は、任意に選択できることを理解されたい。例えば、図1及び図2Aにおいて「状態準備」の要素として示されるコンポーネント及び操作のいくつかまたはすべては、代わりに、ゲート適用の要素として特徴付けることができる。反対に、例えば、図1及び図2Aにおいて「ゲート適用」の要素として示されるコンポーネント及び操作のいくつかまたはすべては、代わりに、状態準備の要素として特徴付けることができる。1つの特定の実施例として、図1及び図2Aのシステム及び方法は、いかなるゲート適用も無しで、状態準備とそれに続く測定のみを実行することとして特徴付けることができ、ここでは、ゲート適用の一部として本明細書に記載される要素が代わりに状態準備の一部であると見なされる。反対に、例えば、図1及び図2Aのシステム及び方法は、いかなる状態準備も無しで、ゲート適用とそれに続く測定のみを実行することとして特徴付けることができ、ここでは、状態準備の一部として本明細書に記載される要素が代わりにゲート適用の一部であると見なされる。
【0076】
量子コンピュータ102はまた、キュービット104に対して1つ以上の測定操作を実行して、キュービット104から測定信号112(本明細書では「測定結果」とも呼ばれる)を読み取る測定ユニット110を含み、ここで、測定結果112は、キュービット104のいくつかまたはすべての状態を表す信号である。実際には、制御ユニット106及び測定ユニット110は、互いに完全に別個であるか、または互いに共通のいくつかのコンポーネントを含み得るか、または単一のユニットを使用して実装され得る(すなわち、単一のユニットが制御ユニット106及び測定ユニット110の両方を実装し得る)。例えば、レーザーユニットは、制御信号108を生成するためと、キュービット104に刺激(例えば、1つ以上のレーザービーム)を与えて、測定信号112を生成させるための両方に使用され得る。
【0077】
一般に、量子コンピュータ102は、上記の様々な操作を何度でも実行することができる。例えば、制御ユニット106は、1つ以上の制御信号108を生成することができ、それによって、キュービット104に1つ以上の量子ゲート操作を実行させる。次に、測定ユニット110は、キュービット104に対して1つ以上の測定操作を実行して、1つ以上の測定信号112のセットを読み取ることができる。測定ユニット110は、制御ユニット106が追加の制御信号108を生成する前に、キュービット104に対してそのような測定操作を繰り返すことができ、それにより、測定ユニット110は、以前の測定信号112の読み取り前に実行されたのと同じゲート操作から生じる追加の測定信号112を読み取る。測定ユニット110は、このプロセスを任意の回数繰り返して、同じゲート操作に対応する任意の数の測定信号112を生成することができる。次に、量子コンピュータ102は、様々な方法のいずれかで、同じゲート操作のそのような複数の測定値を集約することができる。
【0078】
測定ユニット110が1セットのゲート操作を実行した後、キュービット104に対して1つ以上の測定操作を実行した後に、制御ユニット106は、1つ以上の追加の制御信号108を生成することができ、これは、前の制御信号108とは異なる場合があり、それにより、キュービット104は、1つ以上の追加の量子ゲート操作を実行するようになり、これは、以前の量子ゲート操作のセットとは異なってもよい。次に、上記のプロセスを繰り返すことができ、測定ユニット110は、(直近で実行されたゲート操作の結果としての)新しい状態のキュービット104に対して1つ以上の測定操作を実行する。
【0079】
一般に、システム100は、以下のように複数の量子回路を実装することができる。複数の量子回路内の各量子回路Cについて(図2A、操作202)、システム100は、キュービット104上で複数の「ショット」を実行する。ショットの意味は、以下の説明から明らかになる。複数のショットの各ショットSについて(図2A、操作204)、システム100は、キュービット104の状態を準備する(図2A、セクション206)。より具体的には、量子回路Cの各量子ゲートGについて(図2A、操作210)、システム100は、量子ゲートGをキュービット104に適用する(図2A、操作212及び214)。
【0080】
次に、キュービットQ104のそれぞれについて(図2A、操作216)、システム100は、キュービットQを測定して、キュービットQの現在の状態を表す測定出力を生成する(図2A、操作218及び220)。
【0081】
上記の操作は、各ショットS(図2A、操作222)、及び回路C(図2A、操作224)に対して繰り返される。上記の説明が示唆するように、単一の「ショット」は、キュービット104の状態を準備し、回路内のすべての量子ゲートをキュービット104に適用し、次にキュービット104の状態を測定することを含み、システム100は、1つ以上の回路に対して複数のショットを実行することができる。
【0082】
図3は、本発明の一実施形態に従って実施されているハイブリッド量子古典(HQC)コンピュータシステム300の図である。HQCコンピュータシステム300は、量子コンピュータコンポーネント102(例えば、図1に関連して示され、説明される方法で実装され得る)及び古典コンピュータコンポーネント306を含む。古典コンピュータコンポーネントは、ジョン・フォン・ノイマンによって確立された一般的なコンピューティングモデルに従って実装されたマシンとすることができ、その中でプログラムは、命令の順序付けられたリストの形で書かれ、古典(例えば、デジタル)メモリ310内に格納され、古典コンピュータの古典(例えば、デジタル)プロセッサ308によって実行される。メモリ310は、任意の時点で単一の明確なバイナリ状態を有するビットの形態でデータを記憶媒体に記憶するという意味で古典的である。メモリ310に格納されたビットは、例えば、コンピュータプログラムを表すことができる。古典コンピュータコンポーネント304は、通常は、バス314を含む。プロセッサ308は、バス314を介してメモリ310からビットを読み取り、メモリ310にビットを書き込むことができる。例えば、プロセッサ308は、メモリ310内のコンピュータプログラムから命令を読み取ることができ、任意選択で、マウス、キーボード、または任意の他の入力デバイスなどのユーザ入力デバイスからなど、コンピュータ302の外部のソースから入力データ316を受信することができる。プロセッサ308は、メモリ310から読み取られた命令を使用して、メモリ310及び/または入力316から読み取られたデータに対して計算を実行し、それらの命令から出力を生成することができる。プロセッサ308は、その出力をメモリ310に戻して格納し、及び/またはモニタ、スピーカー、またはネットワークデバイスなどの出力デバイスを介して出力データ318として外部に出力を提供することができる。
【0083】
量子コンピュータコンポーネント102は、図1に関連して上で説明したように、複数のキュービット104を含み得る。単一のキュービットは、これら2つのキュービット状態の1、0、または任意の量子重ね合わせを表すことができる。古典コンピュータコンポーネント304は、古典状態準備信号332を量子コンピュータ102に提供することができ、それに応答して、量子コンピュータ102は、図1及び図2Aに関連して開示される方法のいずれかなど、本明細書に開示される方法のいずれかでキュービット104の状態を準備することができる。
【0084】
キュービット104が準備されると、古典プロセッサ308は、古典制御信号334を量子コンピュータ102に提供することができ、これに応答して、量子コンピュータ102は、制御信号332によって指定されたゲート操作をキュービット104に適用することができ、その結果、キュービット104は最終状態に到達する。量子コンピュータ102の測定ユニット110(図1及び2Aに関連して上記のように実装され得る)は、キュービット104の状態を測定し、キュービット104の状態のそれらの固有状態の1つへの崩壊を表す測定出力338を生成することができる。結果として、測定出力338は、ビットを含むか、またはビットからなり、したがって、古典状態を表す。量子コンピュータ102は、測定出力338を古典プロセッサ308に提供する。古典プロセッサ308は、測定出力338を表すデータ及び/またはそこから導出されたデータを古典メモリ310に格納することができる。
【0085】
上記のステップは、キュービット104の最終状態として上記で説明されたものが次の反復の初期状態として機能することで、任意の回数繰り返すことができる。このようにして、古典コンピュータ304及び量子コンピュータ102は、コプロセッサとして協力して、単一のコンピュータシステムとして共同計算を実行することができる。
【0086】
特定の機能は、古典コンピュータによって実行されるものとして本明細書に説明することができ、他の機能は、量子コンピュータによって実行されるものとして本明細書に説明することができるが、これらは単なる例であり、本発明の制限を構成するものではない。量子コンピュータによって実行されるものとして本明細書に開示される機能のサブセットは、代わりに、古典コンピュータによって実行されてもよい。例えば、古典コンピュータは、量子コンピュータをエミュレートするための機能を実行することができ、機能がシミュレーションの指数関数的スケーリングによって制限されてはいるが、本明細書に記載の機能のサブセットを提供することができる。古典コンピュータによって実行されるものとして本明細書において開示される機能は、代わりに、量子コンピュータによって実行されてもよい。
【0087】
上記の技術は、例えば、ハードウェア、1つ以上のコンピュータ可読媒体、ファームウェア、またはそれらの任意の組み合わせに具体的に格納された1つ以上のコンピュータプログラムにおいて、例えば、量子コンピュータのみ、古典コンピュータのみ、またはHQCコンピュータシステム上に実装することができる。本明細書に開示される技術は、例えば、古典コンピュータ上にのみ実装することができ、古典コンピュータは、本明細書に開示される量子コンピュータ機能をエミュレートする。
【0088】
上記の技術は、以下の、プロセッサ、プロセッサによって読み取り可能及び/または書き込み可能な記憶媒体(例えば、揮発性及び不揮発性メモリ及び/または記憶素子を含む)、入力デバイス、及び出力デバイスの任意の数の任意の組み合わせを含む、プログラム可能なコンピュータ(古典コンピュータ、量子コンピュータ、またはHQCコンピュータシステムなど)上で実行される(または実行可能である)1つ以上のコンピュータプログラムに実装され得る。プログラムコードは、入力デバイスを使用して入力された入力に適用され、説明された機能を実行し、出力デバイスを使用して出力を生成することができる。
【0089】
本発明の実施形態は、1つ以上のコンピュータ、コンピュータプロセッサ、及び/またはコンピュータシステムの他の要素を使用して実装することのみが可能及び/または実行可能である機能を含む。このような機能は、思考的及び/または手動で実装することは不可能または非現実的である。例えば、本明細書で推定されるボルツマン温度は、量子コンピュータのキュービットの測定から得られる。適度に大規模なシステム(例えば、少なくとも50キュービット)の場合、これらの機能は、手動で、または古典コンピュータを使用して遂行することは実行不可能または不可能である。
【0090】
コンピュータ、プロセッサ、メモリ、または同様のコンピュータ関連要素を肯定して必要とする本明細書のあらゆる請求項は、そのような要素を必要とすることを意図しており、そのような要素がそのような請求項に存在しないか、またはそのような請求項によって要求されないかのように解釈されるべきではない。そのような請求項は、列挙されたコンピュータ関連の要素を欠く方法及び/またはシステムをカバーすることを意図しておらず、そう解釈されるべきではない。例えば、請求された方法がコンピュータ、プロセッサ、メモリ、及び/または同様のコンピュータ関連要素によって実行されることを記載する本明細書のいずれの方法請求項も、列挙されているコンピュータ関連の要素(複数可)によって実行される方法を包含することを意図しており、そう解釈されるべきである。そのような方法請求項は、例えば、精神的にまたは手動で(例えば、鉛筆と紙を使用して)実行される方法を包含すると解釈されるべきではない。同様に、製品請求項がコンピュータ、プロセッサ、メモリ、及び/または同様のコンピュータ関連要素を含むことを記載する本明細書のいずれの製品請求項も、列挙されているコンピュータ関連の要素(複数可)を含む製品を包含することを意図しており、そう解釈されるべきである。そのような製品請求項は、例えば、列挙されたコンピュータ関連要素(複数可)を含まない製品を包含すると解釈されるべきではない。
【0091】
古典コンピューティングコンポーネントが、以下の特許請求の範囲内の機能の任意のサブセットを提供するコンピュータプログラムを実行する実施形態では、コンピュータプログラムは、アセンブリ言語、機械語、高レベルの手続き型プログラミング言語、またはオブジェクト指向のプログラミング言語などの任意のプログラミング言語で実装され得る。プログラミング言語は、例えば、コンパイルされたかまたはインタープリタ型のプログラミング言語であり得る。
【0092】
そのような各コンピュータプログラムは、古典プロセッサまたは量子プロセッサのいずれかであり得るコンピュータプロセッサによって実行するために、機械可読記憶装置に具体的に実施されたコンピュータプログラム製品に実装され得る。本発明の方法ステップは、入力を操作して出力を生成することによって本発明の機能を実行するために、コンピュータ可読媒体上に具体的に実施されたプログラムを実行する1つ以上のコンピュータプロセッサによって実行され得る。適切なプロセッサには、例として、汎用マイクロプロセッサと特殊目的マイクロプロセッサの両方が含まれる。一般に、プロセッサは、メモリ(読み取り専用メモリ及び/またはランダムアクセスメモリなど)から命令とデータを受信(読み取り)し、命令とデータをメモリに書き込み(格納)する。コンピュータプログラム命令及びデータを具体的に実施するために適切な記憶装置は、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク及び着脱可能ディスクなどの磁気ディスク、磁気-光ディスク、ならびにCD-ROMを含む、すべての形式の不揮発性メモリを含んでもよい。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)によって補完されるかまたはそれに組み込まれ得る。古典コンピュータは、一般に、内蔵ディスク(図示せず)または着脱可能ディスクなどの非一時的なコンピュータ可読記憶媒体からプログラム及びデータを受信(読み取り)し、プログラム及びデータを書き込み(格納)することもできる。これらの要素は、従来のデスクトップまたはワークステーションコンピュータ、ならびに本明細書に記載の方法を実装するコンピュータプログラムを実行するのに適した他のコンピュータにも見られ、任意のデジタルプリントエンジンまたはマーキングエンジン、ディスプレイモニタ、または、紙、フィルム、ディスプレイ画面、またはその他の出力メディア上にカラーまたはグレースケールのピクセルを生成できる他のラスター出力デバイスと組み合わせて使用することができる。
【0093】
本発明は特定の実施形態に関して上記で説明されてきたが、前述の実施形態は例示としてのみ提供され、本発明の範囲を限定または定義するものではないことを理解されたい。以下を含むがこれらに限定されない様々な他の実施形態もまた、特許請求の範囲内にある。例えば、本明細書に記載の要素及びコンポーネントは、追加のコンポーネントにさらに分割されるか、または一緒に結合されて、同じ機能を実行するためのより少ないコンポーネントを形成し得る。
【0094】
本明細書に開示されるあらゆるデータは、例えば、非一時的なコンピュータ可読媒体に具体的に格納された1つ以上のデータ構造に実装され得る。本発明の実施形態は、そのようなデータをそのようなデータ構造(複数可)に格納し、そのようなデータ構造(複数可)からそのようなデータを読み取ることができる。
【0095】
以下の実施形態、ならびに互いに互換性のあるそのような実施形態の任意の組み合わせが具体的に企図される。
【0096】
(A) 古典コンピューティングコンポーネント及び量子コンピューティングコンポーネントを含むハイブリッド量子古典コンピュータ。量子コンピューティングコンポーネントは、第1の量子状態で準備された第1の複数のmキュービット及び第2の複数のnキュービットを含み、ここで、nはm未満である。第1の複数のキュービットは、古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って互いに相互作用し、第2の複数のキュービットは、ハミルトニアンに従って、第1の複数のキュービットと弱く相互作用する。量子コンピューティングコンポーネントはまた、(1)第1の複数のキュービット上のオブザーバブルの第1のセットの期待値、及び(2)第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定する測定ユニットを含む。古典コンピューティングコンポーネントは、測定ユニットから第1及び第2のセットの期待値を受信し、第1の量子状態及び第1及び第2のセットの期待値に基づいて第2の量子状態を準備するプロセッサを含む。
【0097】
(B) (A)として示されるハイブリッド量子古典コンピュータにおいて、第1及び第2の複数のキュービットはハミルトニアンの下でクエンチされる。
【0098】
(C) (A)または(B)として示されるハイブリッド量子古典コンピュータのいずれかにおいて、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントの量子回路によって第1及び第2の複数のキュービットの時間発展をシミュレーションすること含む。
【0099】
(D) (A)~(C)として示されるハイブリッド量子古典コンピュータのいずれかでは、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントのアナログ量子シミュレータによって第1及び第2の複数のキュービットの時間発展をシミュレーションすること含む。
【0100】
(E) (A)~(D)として示されるハイブリッド量子古典コンピュータのいずれかでは、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントの量子アニーラによって第1及び第2の複数のキュービットの時間発展をシミュレーションすること含む。
【0101】
(F) (A)~(E)として示されるハイブリッド量子古典コンピュータのいずれかでは、古典コンピューティングコンポーネントは少なくとも1つの非一時的コンピュータ可読媒体に具体的に格納されるコンピュータプログラムコードをさらに含み、コンピュータプログラムコードは量子コンピューティングコンポーネントをシミュレーションするためにプロセッサによって実行可能である。
【0102】
(G) (A)~(F)として示されるハイブリッド量子古典コンピュータのいずれかでは、クエンチングの後、第2のセットの期待値は、第1の複数のキュービットに関連付けられた理想的量子ボルツマン分布の温度パラメータの値を識別する。
【0103】
(H) (A)~(G)として示されるハイブリッド量子古典コンピュータのいずれかでは、古典コンピューティングコンポーネントは第1及び第2のセットの期待値を使用して損失関数の勾配を推定する。
【0104】
(I) (A)~(H)として示されるハイブリッド量子古典コンピュータのいずれかでは、古典コンピューティングコンポーネントは第1及び第2のセットの期待値を使用してハミルトニアンのパラメータを更新する。
【0105】
(J) (A)~(I)として示されるハイブリッド量子古典コンピュータのいずれかでは、人工ニューラルネットワークを実装しているコンピュータシステムをさらに含み、人工ニューラルネットワークは量子コンピューティングコンポーネントを制御して第1及び第2のセットの期待値を測定し、古典コンピューティングコンポーネントを制御して第1及び第2のセットの期待値を受信して、第2の量子状態を準備する。
【0106】
(K) (A)~(J)として示されるハイブリッド量子古典コンピュータのいずれかでは、コンピュータシステムは古典コンピューティングコンポーネントを含む。
【0107】
(L) 既知の温度でのボルツマン分布をローカルに近似する確率分布に従う量子ボルツマンマシンの状態を準備するための方法は、ハイブリッド量子古典コンピュータ上に実装される。ハイブリッド量子古典コンピュータは、古典コンピューティングコンポーネント及び量子コンピューティングコンポーネントを含む。量子コンピューティングコンポーネントは、測定ユニットならびに、第1の量子状態で準備された第1の複数のmキュービット及び第2の複数のnキュービットを含み、ここで、nはm未満である。第1の複数のキュービットは、古典コンピューティングコンポーネントによって指定されたハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って互いに相互作用する。第2の複数のキュービットは、ハミルトニアンに従って、第1の複数のキュービットと弱く相互作用する。古典コンピューティングコンポーネントは、プロセッサ、非一時的なコンピュータ可読媒体、及び非一時的なコンピュータ可読媒体に格納されたコンピュータプログラム命令を含む。方法は、量子コンピューティングコンポーネントの測定ユニットにおいて、(1)第1の複数のキュービット上のオブザーバブルの第1のセットの期待値を測定すること、及び(2)第2の複数のキュービット上のオブザーバブルの第2のセットの期待値を測定することを含む。方法は、古典コンピューティングコンポーネントにおいて、(3)測定ユニットから第1及び第2のセットの期待値を受信すること、及び(4)第1の量子状態及び第1及び第2のセットの期待値に基づいて第2の量子状態を準備することも含む。
【0108】
(M) (L)によって示される方法では、量子計算コンポーネントにおいて、ハミルトニアンの下で第1及び第2の複数のキュービットをクエンチする。
【0109】
(N) (L)及び(M)によって示される方法のいずれかでは、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントの量子回路において、第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む。
【0110】
(O) (L)~(N)によって示される方法のいずれかでは、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントのアナログ量子シミュレータにおいて、第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む。
【0111】
(P) (L)~(O)によって示される方法のいずれかでは、第1及び第2の複数のキュービットのクエンチングは、量子コンピューティングコンポーネントの量子アニーラにおいて、第1及び第2の複数のキュービットの時間発展をシミュレーションすることを含む。
【0112】
(Q) (L)~(P)によって示される方法のいずれかでは、古典コンピューティングコンポーネントにおいて、量子コンピューティングコンポーネントをシミュレーションすることをさらに含む。
【0113】
(R) (L)~(Q)によって示される方法のいずれかでは、クエンチングの後、第2のセットの期待値は、第1の複数のキュービットに関連付けられた理想的量子ボルツマン分布の温度パラメータの値を識別する。
【0114】
(S) (L)~(R)によって示される方法のいずれかでは、古典コンピューティングコンポーネントにおいて、第1及び第2のセットの期待値を使用して損失関数の勾配を推定することをさらに含む。
【0115】
(T) (L)~(S)によって示される方法のいずれかでは、古典コンピューティングコンポーネントにおいて、第1及び第2のセットの期待値を使用してハミルトニアンのパラメータを更新することをさらに含む。
【0116】
(U) (L)~(T)によって示される方法のいずれかでは、古典コンピューティングコンポーネントにおいて、人工ニューラルネットワークを実行することをさらに含み、人工ニューラルネットワークを実行することは、量子コンピューティングコンポーネントを制御して(1)及び(2)を実行することと、古典コンピューティングコンポーネントを制御して(3)及び(4)を実行することとを含む。
【0117】
(V) (L)~(U)によって示される方法のいずれかでは、古典コンピューティングコンポーネントを含まないコンピュータシステムにおいて、人工ニューラルネットワークを実行することをさらに含み、人工ニューラルネットワークを実行することは、量子コンピューティングコンポーネントを制御して(1)及び(2)を実行することと、古典コンピューティングコンポーネントを制御して(3)及び(4)を実行することとを含む。
図1
図2A
図2B
図3
図4
図5
図6
図7
【国際調査報告】