(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】機械学習のためのカーネル法を用いた量子コンピューティング
(51)【国際特許分類】
G06N 10/00 20220101AFI20240611BHJP
G06N 20/10 20190101ALI20240611BHJP
【FI】
G06N10/00
G06N20/10
(21)【出願番号】P 2023524185
(86)(22)【出願日】2021-10-19
(86)【国際出願番号】 US2021055545
(87)【国際公開番号】W WO2022086918
(87)【国際公開日】2022-04-28
【審査請求日】2023-06-16
(32)【優先日】2020-10-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャロッド・ライアン・マクレーン
(72)【発明者】
【氏名】シン-ユアン・フアン
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2020/0320437(US,A1)
【文献】MARIA SCHULD ET AL,QUANTUM MACHINE LEARNING IN FEATURE HILBERT SPACES,ARXIV,2018年03月19日,P.1-12
【文献】NICHOLAS C RUBIN,A HYBRID CLASSICAL/QUANTUM APPROACH FOR LARGE-SCALE STUDIES OF QUANTUM SYSTEMS WITH DENSITY MATRIX EMBEDDING THEORY,ARXIV,2016年10月21日,P.1-12
【文献】HSIN-YUAN HUANG ET AL,POWER OF DATA IN QUANTUM MACHINE LEARNING,ARXIV,2021年02月10日,P.1-34
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06N 20/10
(57)【特許請求の範囲】
【請求項1】
量子コンピューティングデバイスによって、量子データ点のトレーニングデータセットを取得するステップと、
前記量子コンピューティングデバイスによって、前記トレーニングデータセット中に含まれる前記量子データ点間の類似度を表すカーネル行列を計算するステップであって、
前記トレーニングデータセットにおける量子データ点の各ペアについて、カーネル関数の対応する値を計算するステップを含み、
前記カーネル関数が、前記量子データ点のための縮約密度行列に基づく、ステップと、
前記量子コンピューティングデバイスによって、古典的プロセッサに前記カーネル行列を提供するステップと
を含む、コンピュータ実装方法。
【請求項2】
前記量子コンピューティングデバイスから、前記古典的プロセッサによって、前記カーネル行列を受信するステップと、
前記古典的プロセッサによって、機械学習モデルを構築するために、前記カーネル行列を使用して、トレーニングアルゴリズムを実行するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記量子コンピューティングデバイスによって、量子データ点の検証データセットを取得するステップと、
前記量子コンピューティングデバイスによって、前記カーネル行列の新しい要素を計算するステップであって、
前記新しい要素が、前記検証データセットにおける前記量子データ点と前記トレーニングデータセットにおける前記量子データ点との間の類似度を表すエントリを備え、
前記新しい要素を計算するステップが、前記トレーニングデータセットおよび前記検証データセットにおける量子データ点の各ペアについて、前記カーネル関数の対応する値を計算するステップを含む、ステップと、
前記量子コンピューティングデバイスによって、前記古典的プロセッサに、前記カーネル行列の前記新しい要素を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記古典的プロセッサによって、前記カーネル行列の前記新しい要素を処理して、前記検証データセットにおける各量子データ点のための予測を出力するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記カーネル関数が、前記トレーニングデータセットにおける前記量子データ点のための単体縮約密度行列に基づく、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記カーネル関数が、線形カーネル関数を備える、請求項5に記載の方法。
【請求項7】
前記線形カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和を含み、
前記和が、N>1の場合のN量子ビットの各々にわたって及び、
被加数が、
それぞれの量子ビットに対応し、
a)前記それぞれの量子ビットに対応するサブシステム上の前記第1の量子データ点のための縮約密度行列、およびb)前記それぞれの量子ビットに対応するサブシステム上の前記第2の量子データ点のための縮約密度行列の積のトレースに等しい、請求項6に記載の方法。
【請求項8】
前記線形カーネル関数が、
【数1】
によって与えられ、ただし、
x
i、x
jが、第1の量子データ点および第2の量子データ点を表し、
lが、1から量子ビット数Nまでに及び、各量子ビットρ(x
i)=|x
i〉〈x
i|にラベルをつけるインデックスを表し、
Tr
m≠k[ρ(x
i)]が、量子ビットk上の1-縮約密度行列(RDM)を表す、請求項6または7に記載の方法。
【請求項9】
前記トレーニングデータセットにおける量子データ点のペアについて、前記カーネル関数の値を計算するステップであって、前記ペアが、N>1である第1のN量子ビット量子状態、およびN>1である第2のN量子ビット量子状態を備える、ステップが、
繰り返し、および各量子ビットインデックスについて、
量子ビットlに対応するサブシステム上の前記第1のN量子ビット量子状態のための1-縮約密度行列(RDM)を計算するステップであって、前記第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第1の縮約量子状態を取得するステップとを含む、ステップと、
量子ビットlに対応するサブシステム上の前記第2のN量子ビット量子状態のための1-RDMを計算するステップであって、前記第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、
前記第1の縮約量子状態および前記第2の縮約量子状態の積のトレースを決定するステップと、
各量子ビットインデックスについて前記決定されたトレースの平均を加算するステップと
を含む、請求項6から8のいずれか一項に記載の方法。
【請求項10】
前記カーネル関数が、二乗指数カーネル関数を備える、請求項5に記載の方法。
【請求項11】
前記二乗指数カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和の指数関数を含み、
前記和が、N>1の場合のN量子ビットの各々にわたって及び、
被加数が、
それぞれの量子ビットに対応し、
a)前記それぞれの量子ビットに対応するサブシステム上の前記第1の量子データ点のための縮約密度行列から、
b)前記それぞれの量子ビットに対応するサブシステム上の前記第2の量子データ点のための縮約密度行列
を引いたもののノルムに等しい、請求項10に記載の方法。
【請求項12】
前記二乗指数カーネル関数が、
【数2】
によって与えられ、ただし、
x
i、x
jが、第1の量子データ点および第2の量子データ点を表し、
lが、1から量子ビット数Nまでに及び、各量子ビットρ(x
i)=|x
i〉〈x
i|にラベルをつけるインデックスを表し、
Tr
m≠k[ρ(x
i)]が、量子ビットk上の1-RDMを表す、請求項10または11に記載の方法。
【請求項13】
前記トレーニングデータセットにおける量子データ点のペアについて、前記カーネル関数の値を計算するステップであって、前記ペアが、N>1である第1のN量子ビット量子状態、およびN>1である第2のN量子ビット量子状態を備える、ステップが、
繰り返し、および各量子ビットインデックスについて、
量子ビットlに対応するサブシステム上の前記第1のN量子ビット量子状態のための1-縮約密度行列(RDM)を計算するステップであって、前記第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第1の縮約量子状態を取得するステップとを含む、ステップと、
量子ビットlに対応するサブシステム上の前記第2のN量子ビット量子状態のための1-RDMを計算するステップであって、前記第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、
前記第1の縮約量子状態から前記第2の縮約量子状態を減算して、第3の縮約量子状態を取得し、前記第3の縮約量子状態のノルムを決定するステップと、
各量子ビットインデックスについて前記決定されたノルムの平均を加算し、前記加算された平均の指数を計算するステップと
を含む、請求項10から12のいずれか一項に記載の方法。
【請求項14】
前記カーネル関数が、前記量子データ点のためのk体RDMに基づき、
kが、予め決定された値未満である、請求項1から4のいずれか一項に記載の方法。
【請求項15】
前記カーネル関数が、線形カーネル関数を備える、請求項14に記載の方法。
【請求項16】
前記線形カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和を備え、
前記和が、N量子ビットから取られたk量子ビットの各サブセットにわたって及び、
各被加数が、
それぞれのサブセットに対応し、
a)k量子ビットの前記それぞれのサブセットに対応するサブシステム上の前記第1の量子データ点のための縮約密度行列、およびb)k量子ビットの前記それぞれのサブセットに対応するサブシステム上の前記第2の量子データ点のための縮約密度行列の積のトレースに等しい、請求項15に記載の方法。
【請求項17】
前記線形カーネル関数が、
【数3】
によって与えられ、ただし、
S
k(n)が、k量子ビットρ(x
i)=|x
i〉〈x
i|のサブセットのセットを表し、
Tr
m≠K[ρ(x
i)]がk-RDMを表す、請求項15または16に記載の方法。
【請求項18】
前記トレーニングデータセットにおける量子データ点のペアについて、前記カーネル関数の値を計算するステップであって、前記ペアが、第1のN量子ビット量子状態および第2のN量子ビット量子状態を備える、ステップが、
繰り返し、およびk量子ビットのセットごとに、
前記セットにおける量子ビットに対応するサブシステム上の前記第1のN量子ビット量子状態のためのk-RDMを計算するステップであって、前記第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、前記セット中に含まれる前記量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第1の縮約量子状態を取得するステップとを含む、ステップと、
前記セットにおける量子ビットに対応するサブシステム上の前記第2のN量子ビット量子状態のためのk-RDMを計算するステップであって、前記第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、前記セット中に含まれる前記量子ビットを除いて前記量子システムにおける各量子ビットを測定して、前記量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、
前記第1の縮約量子状態および前記第2の縮約量子状態の積のトレースを決定するステップと、
k量子ビットの各セットについて前記決定されたトレースの平均を加算するステップと
を含む、請求項15から17のいずれか一項に記載の方法。
【請求項19】
前記カーネル関数が、指数カーネル関数を備える、請求項14に記載の方法。
【請求項20】
前記指数カーネル関数が、
【数4】
によって与えられ、ただし、
期待値
【数5】
が、第1のシステムiおよび第2のシステムj上で測定される、ランダムに選ばれたパウリフレームからのn
s個のサンプルにわたって取られ、
【数6】
が、前記第1のシステムiおよび前記第2のシステムj上で独立して実行されたランダムパウリ測定結果の間の一致のための第1のインジケータ関数を表し、
【数7】
が、測定基底一致のための第2のインジケータ関数を表す、請求項19に記載の方法。
【請求項21】
前記トレーニングデータセットにおける量子データ点のペアについて、前記カーネル関数の値を計算するステップであって、前記ペアが、第1のN量子ビット量子状態および第2のN量子ビット量子状態を備える、ステップが、
繰り返し、
第1の測定結果を取得するステップであって、ランダムパウリ基底において前記第1のシステムにおける各量子ビットを測定して、h番目の量子ビットのための値
【数8】
および
【数9】
を取得するステップを含み、
【数10】
が、1または-1のいずれかであり、
【数11】
が、ランダム基底X、Y、またはZである、ステップと、
第2の測定結果を取得するステップであって、ランダムパウリ基底において前記第2のシステムにおける各量子ビットを測定して、h番目の量子ビットのための値
【数12】
および
【数13】
を取得するステップを含み、
【数14】
が、1または-1のいずれかであり、
【数15】
が、ランダム基底X、Y、またはZである、ステップと、
N量子ビットシステムにおける前記h番目の量子ビットについて、前記第1の測定結果および第2の測定結果を比較して、前記第1のインジケータ関数の値を決定するステップと、
前記N量子ビットシステムにおける前記h番目の量子ビットについて、前記第2のインジケータ関数の値を決定するステップと、
前記第1のインジケータ関数および前記第2のインジケータ関数の前記決定された値を乗算し、加算し、平均するステップと
を含む、請求項20に記載の方法。
【請求項22】
前記量子データ点が、N>1であるN量子ビット量子状態を備える、請求項1から21のいずれか一項に記載の方法。
【請求項23】
前記量子データ点のトレーニングデータセットを取得するステップが、
古典的データ点のトレーニングデータセットを受信するステップと、
前記量子データ点のトレーニングデータセットを生成するステップであって、それぞれの符号化回路を基準量子状態に適用することによって、各古典的データ点をそれぞれの量子状態に埋め込むステップを含む、ステップと
を含む、請求項1から22のいずれか一項に記載の方法。
【請求項24】
装置であって、
1つまたは複数の古典的プロセッサと、
前記1つまたは複数の古典的プロセッサとデータ通信している1つまたは複数の量子コンピューティングデバイスと
を備え、前記1つまたは複数の量子コンピューティングデバイスが、
1つまたは複数の量子ビットレジスタであって、各量子ビットレジスタが、1つまたは複数の量子ビットを備える、1つまたは複数の量子ビットレジスタと、
前記1つまたは複数の量子ビットレジスタを動作させるように構成された、複数の制御デバイスと
を備え、
前記装置が、請求項1から23のいずれか一項に記載の方法を実行するように構成される、装置。
【発明の詳細な説明】
【背景技術】
【0001】
カーネル法は、パターン分析のためのアルゴリズムのクラスである。パターン分析のタスクは、データセットにおける一般的なタイプの関係、たとえば、クラスタ、ランキング、主成分、相関、および分類を発見および検討することである。これらのタスクを解決する多数のアルゴリズムでは、生の表現におけるデータが、ユーザ指定の特徴マップを介して、特徴ベクトル表現に明示的に変換されなければならない。対照的に、カーネル法は、生の表現におけるデータ点のペアにわたるユーザ指定のカーネル-類似度関数(または「カーネル関数」)のみを必要とする。
【0002】
カーネル関数は、カーネル法が高次元の暗黙的な特徴空間内で、その空間内のデータの座標を計算することなしに演算することを可能にする。代わりに、特徴空間内のデータのすべてのペアの画像間の内積が計算される。これらの演算は、座標の明示的な計算よりも計算コストが低いことが多い。
【0003】
カーネルを用いて演算することが可能なアルゴリズムには、カーネルパーセプトロン、サポートベクターマシン(SVM)、ガウス過程、主成分分析(PCA)、正準相関分析、リッジ回帰、スペクトルクラスタリング、線形適応フィルタ、および多数の他のものが含まれる。カーネルトリックをモデルに適用すること、すなわち、その特徴(予測子)をカーネル関数に置き換えることによって、任意の線形モデルが非線形モデルに変えられ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書は、機械学習のためのカーネル法を用いた量子コンピューティングのための技法について説明する。
【課題を解決するための手段】
【0005】
概して、本明細書で説明する主題の1つの発明的態様は、方法において実装され得、方法は、量子コンピューティングデバイスによって、量子データ点のトレーニングデータセットを取得するステップと、量子コンピューティングデバイスによって、トレーニングデータセット中に含まれる量子データ点間の類似度を表すカーネル行列を計算するステップであって、トレーニングデータセットにおける量子データ点の各ペアについて、カーネル関数の対応する値を計算するステップを含み、カーネル関数が、量子データ点のための縮約密度行列(reduced density matrix)に基づく、ステップと、量子コンピューティングデバイスによって、古典的プロセッサにカーネル行列を提供するステップとを含む。
【0006】
この態様の他の実装形態は、方法のアクションを実行するように各々構成された、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システム上にインストールしていることによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【0007】
上記および他の実装形態は、各々、場合によっては、以下の特徴のうちの1つまたは複数を単独で、または組み合わせて含み得る。いくつかの実装形態では、方法は、量子コンピューティングデバイスから、古典的プロセッサによって、カーネル行列を受信するステップと、古典的プロセッサによって、機械学習モデルを構築するために、カーネル行列を使用して、トレーニングアルゴリズムを実行するステップとをさらに含む。
【0008】
いくつかの実装形態では、方法は、量子コンピューティングデバイスによって、量子データ点の検証データセットを取得するステップと、量子コンピューティングデバイスによって、カーネル行列の新しい要素を計算するステップであって、新しい要素が、検証データセットにおける量子データ点とトレーニングデータセットにおける量子データ点との間の類似度を表すエントリを備え、新しい要素を計算するステップが、トレーニングデータセットおよび検証データセットにおける量子データ点の各ペアについて、カーネル関数の対応する値を計算するステップを含む、ステップと、量子コンピューティングデバイスによって、古典的プロセッサに、カーネル行列の新しい要素を提供するステップとをさらに含む。
【0009】
いくつかの実装形態では、方法は、古典的プロセッサによって、カーネル行列の新しい要素を処理して、検証データセットにおける各量子データ点のための予測を出力するステップをさらに含む。
【0010】
いくつかの実装形態では、カーネル関数が、トレーニングデータセットにおける量子データ点のための単体縮約密度行列(single-body reduced density matrix)に基づく。
【0011】
いくつかの実装形態では、カーネル関数が線形カーネル関数を備える。
【0012】
いくつかの実装形態では、線形カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和を含み、和が、N>1の場合のN量子ビットの各々にわたって及び、被加数が、それぞれの量子ビットに対応し、a)それぞれの量子ビットに対応するサブシステム上の第1の量子データ点のための縮約密度行列、b)それぞれの量子ビットに対応するサブシステム上の第2の量子データ点のための縮約密度行列の積のトレース(trace of a product)に等しい。
【0013】
いくつかの実装形態では、線形カーネル関数が、
【0014】
【0015】
によって与えられ、ただし、xi、xjが、第1および第2の量子データ点を表し、lが、1から量子ビット数Nまでに及び、各量子ビットρ(xi)=|xi〉〈xi|にラベルをつけるインデックスを表し、Trm≠k[ρ(xi)]が、量子ビットk上の1-縮約密度行列(RDM)を表す。
【0016】
いくつかの実装形態では、トレーニングデータセットにおける量子データ点のペアについて、カーネル関数の値を計算するステップであって、ペアが、N>1である第1のN量子ビット量子状態、およびN>1である第2のN量子ビット量子状態を備える、ステップが、繰り返し、および各量子ビットインデックスについて、量子ビットlに対応するサブシステム上の第1のN量子ビット量子状態のための1-縮約密度行列(RDM)を計算するステップであって、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態(reduced quantum state)を取得するステップとを含む、ステップと、量子ビットlに対応するサブシステム上の第2のN量子ビット量子状態のための1-RDMを計算するステップであって、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、第1の縮約量子状態および第2の縮約量子状態の積のトレースを決定するステップと、各量子ビットインデックスについて決定されたトレースの平均を加算するステップとを含む。
【0017】
いくつかの実装形態では、カーネル関数が二乗指数カーネル関数(squared exponential kernel function)を備える。
【0018】
いくつかの実装形態では、二乗指数カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和の指数関数を含み、和が、N>1の場合のN量子ビットの各々にわたって及び、被加数が、それぞれの量子ビットに対応し、a)それぞれの量子ビットに対応するサブシステム上の第1の量子データ点のための縮約密度行列から、b)それぞれの量子ビットに対応するサブシステム上の第2の量子データ点のための縮約密度行列を引いたもののノルムに等しい。
【0019】
いくつかの実装形態では、二乗指数カーネル関数が、
【0020】
【0021】
によって与えられ、ただし、xi、xjが、第1および第2の量子データ点を表し、lが、1から量子ビット数Nまでに及び、各量子ビットρ(xi)=|xi〉〈xi|にラベルをつけるインデックスを表し、Trm≠k[ρ(xi)]が、量子ビットk上の1-RDMを表す。
【0022】
いくつかの実装形態では、トレーニングデータセットにおける量子データ点のペアについて、カーネル関数の値を計算するステップであって、ペアが、N>1である第1のN量子ビット量子状態、およびN>1である第2のN量子ビット量子状態を備える、ステップが、繰り返し、および各量子ビットインデックスについて、量子ビットlに対応するサブシステム上の第1のN量子ビット量子状態のための1-縮約密度行列(RDM)を計算するステップであって、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態を取得するステップとを含む、ステップと、量子ビットlに対応するサブシステム上の第2のN量子ビット量子状態のための1-RDMを計算するステップであって、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、l番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、第1の縮約量子状態から第2の縮約量子状態を減算して、第3の縮約量子状態を取得し、第3の縮約量子状態のノルムを決定するステップと、各量子ビットインデックスについて決定されたノルムの平均を加算し、加算された平均の指数を計算するステップとを含む。
【0023】
いくつかの実装形態では、カーネル関数が、量子データ点のためのk体RDM(k-body RDM)に基づき、kが、予め決定された値未満である。
【0024】
いくつかの実装形態では、カーネル関数が線形カーネル関数を備える。
【0025】
いくつかの実装形態では、線形カーネル関数が、i)第1の量子データ点および第2の量子データ点を入力として取り、ii)数値出力を生じ、iii)項の和を備え、和が、N量子ビットから取られたk量子ビットの各サブセットにわたって及び、各被加数が、それぞれのサブセットに対応し、a)k量子ビットのそれぞれのサブセットに対応するサブシステム上の第1の量子データ点のための縮約密度行列、およびb)k量子ビットのそれぞれのサブセットに対応するサブシステム上の第2の量子データ点のための縮約密度行列の積のトレースに等しい。
【0026】
いくつかの実装形態では、線形カーネル関数が、
【0027】
【0028】
によって与えられ、ただし、Sk(n)が、k量子ビットρ(xi)=|xi〉〈xi|のサブセットのセットを表し、Trm≠K[ρ(xi)]がk-RDMを表す。
【0029】
いくつかの実装形態では、トレーニングデータセットにおける量子データ点のペアについて、カーネル関数の値を計算するステップであって、ペアが、第1のN量子ビット量子状態および第2のN量子ビット量子状態を備える、ステップが、繰り返し、およびk量子ビットの各セットについて、セットにおける量子ビットに対応するサブシステム上の第1のN量子ビット量子状態のためのk-RDMを計算するステップであって、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、セット中に含まれる量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態を取得するステップとを含む、ステップと、セットにおける量子ビットに対応するサブシステム上の第2のN量子ビット量子状態のためのk-RDMを計算するステップであって、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得するステップと、セット中に含まれる量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態を取得するステップとを含む、ステップと、第1の縮約量子状態および第2の縮約量子状態の積のトレースを決定するステップと、k量子ビットの各セットについて決定されたトレースの平均を加算するステップとを含む。
【0030】
いくつかの実装形態では、カーネル関数が指数カーネル関数(exponential kernel function)を備える。
【0031】
いくつかの実装形態では、指数カーネル関数が、
【0032】
【0033】
によって与えられ、ただし、期待値
【0034】
【0035】
が、第1のシステムiおよび第2のシステムj上で測定される、ランダムに選ばれたパウリフレーム(Pauli frame)からのns個のサンプル(すなわち、実験であり、ただし、nsは、ハードウェア実装形態の考慮事項を考慮に入れながら、できるだけ大きく選ばれ、たとえば、nsは、実験的に測定される余裕があり得る最大数として選ばれる)にわたって取られ、
【0036】
【0037】
が、第1のシステムiおよび第2のシステムj上で独立して実行されたランダムパウリ測定結果(random Pauli measurement result)の間の一致のための第1のインジケータ関数を表し、
【0038】
【0039】
が、測定基底一致(measurement basis agreement)のための第2のインジケータ関数を表す。
【0040】
いくつかの実装形態では、トレーニングデータセットにおける量子データ点のペアについて、カーネル関数の値を計算するステップであって、ペアが、第1のN量子ビット量子状態および第2のN量子ビット量子状態を備える、ステップが、繰り返し、第1の測定結果を取得するステップであって、ランダムパウリ基底(random Pauli basis)において第1のシステムにおける各量子ビットを測定して、h番目の量子ビットのための値
【0041】
【0042】
および
【0043】
【0044】
を取得するステップを含み、
【0045】
【0046】
が、1または-1のいずれかであり、
【0047】
【0048】
が、ランダム基底(random basis)X、Y、またはZである、ステップと、第2の測定結果を取得するステップであって、ランダムパウリ基底において第2のシステムにおける各量子ビットを測定して、h番目の量子ビットのための値
【0049】
【0050】
および
【0051】
【0052】
を取得するステップを含み、
【0053】
【0054】
が、1または-1のいずれかであり、
【0055】
【0056】
が、ランダム基底X、Y、またはZである、ステップと、N量子ビットシステムにおけるh番目の量子ビットについて、第1の測定結果および第2の測定結果を比較して、第1のインジケータ関数の値を決定するステップと、N量子ビットシステムにおけるh番目の量子ビットについて、第2のインジケータ関数の値を決定するステップと、第1のインジケータ関数および第2のインジケータ関数の決定された値を乗算し、加算し、平均するステップとを含む。
【0057】
いくつかの実装形態では、量子データ点が、N>1であるN量子ビット量子状態を備える。
【0058】
いくつかの実装形態では、量子データ点のトレーニングデータセットを取得するステップが、古典的データ点のトレーニングデータセットを受信するステップと、量子データ点のトレーニングデータセットを生成するステップであって、それぞれの符号化回路を基準量子状態に適用することによって、各古典的データ点をそれぞれの量子状態に埋め込むステップを含む、ステップとを含む。
【0059】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するように、特定の方法において実装され得る。
【0060】
機械学習のためのカーネル法は、様々な回帰および分類問題に適用され得る。しかしながら、特徴空間が大きくなり、カーネル関数の推定のための計算コストが高くなるとき、そのような問題に対する良好な解法には限界がある。今回説明する技法は、カーネル関数を計算するために、量子コンピューティングデバイスを使用することによって、この問題に対処する。
【0061】
加えて、カーネル関数の今回説明する量子計算は、スケーラブルであり、量子ビット数が増加するとき、信号は大きいままであり、方法は、より良くはないにしても、良く機能し続ける。このことは、知られている量子カーネル法とは対照的であり、知られている量子カーネル法では、たとえば、すべての入力が遠く離れすぎている、指数関数的に大きいヒルベルト空間のせいで、小さい幾何学的差異のために、信号は、典型的には量子ビット数において指数関数的に減衰する。今回説明する技法のスケーラビリティは、たとえば、RDMを使用することを通して、古典的データから埋め込まれた量子状態を古典的空間に戻すように投影することによって、幾何学的差異を拡大することによって達成される。言い換えれば、2つの点ごとのゼロに近いカーネル関数は、十分に汎化しない。しかしながら、今回説明する投影量子カーネル(projected quantum kernel)は、量子状態の近似の古典的表現を使用して定義され、これによって、より良い汎化性能を提供する非ゼロカーネル関数を生じる。
【0062】
さらに、拡大された幾何学的差異のために、今回説明する技法は、一般的な古典的機械学習モデルに勝る大きい予測利点を達成することができる。そのような予測利点はまた、少数の量子ビット、たとえば、最大30量子ビットで達成され得る。したがって、今回説明する技法は、小型の量子コンピュータ、たとえば、ノイズあり中規模量子デバイス、および/またはハイブリッド量子-古典的コンピュータを使用する実装形態に特に好適である。
【0063】
今回説明する技法は、MNISTもしくは画像/ビデオデータの他のソースなどからの画像および数字分類、感情およびテキスト分析の分類、高エネルギー物理学データの分析、量子センサーからのデータの位相への分類、量子状態識別もしくは量子リピータエンジニアリング、量子センサーからのデータを使用する予測、多体またはそれ以外を含む、量子入力データを当然伴う量子機械学習からの例を含む、古典的機械学習の様々な適用例に適用され得る。
【0064】
本明細書の主題の1つまたは複数の実装形態の詳細が、添付の図面および以下の説明において記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0065】
【
図1】古典的カーネル法、従来の量子カーネル法、および投影量子カーネル法(projected quantum kernel method)によって定義されたカーネル関数の図である。
【
図2】投影量子カーネル法を使用して、分類および回帰タスクを実行するための例示的なシステムのブロック図である。
【
図3】投影量子カーネル法を使用して、分類および回帰タスクを実行するための例示的なプロセスのブロック図である。
【
図4】カーネル行列を生成および更新するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0066】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0067】
本明細書は、量子カーネル法を使用して、機械学習タスクを実行するための技法について説明する。
【0068】
従来の量子カーネル法では、カーネル演算子(kernel operator)は、たとえば、Tr[ρ(xi)ρ(xj)]によって与えられる忠実度タイプメトリックに基づく。このカーネル演算子は、すべてのデータ点が互いから遠くにあると見なし、恒等式に近いカーネル行列を生じることができる。これによって、小さい幾何学的差異を生じることができ、古典的機械学習モデルが競争力のあるものであるか、または量子カーネル法よりも優れていることにつながり得る。たとえば、場合によっては、量子モデルは、この従来のカーネル演算子を使用して学習するために、指数関数的な量のサンプルを必要とし得るが、古典的機械学習モデルを使用して学習するために、線形的な数のサンプルのみを必要とする。
【0069】
今回説明する量子カーネル法は、投影量子カーネルのファミリーを使用して、この問題に対処する。データ点の量子または古典的データセットが受信され、量子コンピュータが、データ点間のジオメトリを計算するために使用される。ジオメトリは、スケーラブルである縮約された物理観測量のファミリーから選ばれた投影量子カーネル演算子(projected quantum kernel operator)を使用して計算される。投影量子カーネル演算子は、たとえば、縮約された観測量または古典的シャドー(classical shadow)を使用して、量子状態を近似の古典的表現に投影する。次いで、計算されたジオメトリが、トレーニングおよび確認のための古典的方法に供給される。トレーニングセット空間が大きい次元、たとえば、利用可能な量子コンピュータ中に含まれる量子ビット数に比例する次元を有する場合でも、投影は、より良く汎化することができる低次元の古典的空間への縮約を提供する。
【0070】
図1は、古典的カーネル法100、従来の量子カーネル法102、および今回説明する投影量子カーネル法104によって定義されたジオメトリ(カーネル関数)の図である。文字A、B、C、...は、異なる空間内のデータ点を表し、矢印は、データ間の類似度測度(カーネル関数)を表す。幾何学的差異gは、異なる方法100、102、および104における類似度測度間の差異であり、dは、量子ヒルベルト空間内のデータセットの有効次元である。図示のように、古典的カーネル法100および投影量子カーネル法104における類似度測度間の幾何学的差異は、古典的カーネル法100および従来の量子カーネル法102における類似度測度間の幾何学的差異よりも大きい。このより大きい幾何学的差異は、上記で説明したように、スケーラビリティおよび向上した予測精度をもたらす。
【0071】
例示的な動作環境
図2は、投影量子カーネル法を使用して、分類および回帰タスクを実行するための例示的なシステム200を示す。例示的なシステム200は、それにおいて以下で説明するシステム、構成要素、および技法が実装され得る、1つまたは複数のロケーションにおける1つまたは複数の古典的コンピュータおよび量子コンピューティングデバイス上で、古典的および量子コンピュータプログラムとして実装されるシステムの一例である。
【0072】
例示的なシステム200は、例示的な量子コンピューティングデバイス202を含む。量子コンピューティングデバイス202は、いくつかの実装形態によれば、本明細書で説明する量子計算動作を実行するために使用され得る。量子コンピューティングデバイス202は、様々な形態の量子コンピューティングデバイスを表すものである。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例にすぎず、本明細書で説明および/または請求する本発明の実装形態を限定しない。
【0073】
例示的な量子コンピューティングデバイス202は、量子ビットアセンブリ252と、制御および測定システム204とを含む。量子ビットアセンブリは、アルゴリズム的演算または量子計算を実行するために使用される複数の量子ビット、たとえば、量子ビット206を含む。
図2に示す量子ビットは、矩形アレイ内に配置されているが、これは概略図であり、限定するものではない。量子ビットアセンブリ252はまた、結合された量子ビット間の相互作用を可能にする調整可能な結合素子、たとえば、結合器208も含む。
図2の概略図では、各量子ビットは、それぞれの結合素子を用いて、その4つの隣接する量子ビットの各々に調整可能に結合される。しかしながら、これは、量子ビットおよび結合器の例示的な配置であり、非矩形である配置、隣接しない量子ビット間の結合を可能にする配置、および3つ以上の量子ビット間の調整可能な結合を含む配置を含む、他の配置が可能である。
【0074】
各量子ビットは、0および1の論理値を表す準位を有する、物理的な二準位の量子システムまたはデバイスであり得る。複数の量子ビットの特定の物理的実現、および複数の量子ビットが互いにどのように相互作用するかは、例示的なシステム200中に含まれる量子コンピューティングデバイスのタイプ、または量子コンピューティングデバイスが実行している量子計算のタイプを含む、様々なファクタに依存する。たとえば、原子量子コンピュータでは、量子ビットは、原子、分子、または固体状態量子システム、たとえば、超微細原子状態を介して実現され得る。別の例として、超伝導量子コンピュータでは、量子ビットは、超伝導量子ビットまたは半導体量子ビット、たとえば、超伝導トランズモン状態(superconducting transmon state)を介して実現され得る。別の例として、NMR量子コンピュータでは、量子ビットは、核スピン状態を介して実現され得る。
【0075】
いくつかの実装形態では、量子計算は、選択された初期状態において量子ビットを初期化すること、および量子ビット上でユニタリー演算子のシーケンスを適用することによって進むことができる。量子状態にユニタリー演算子を適用することは、量子論理ゲートの対応するシーケンスを量子ビットに適用することを含み得る。例示的な量子論理ゲートには、単一量子ビットゲート、たとえば、パウリX、パウリY、パウリZ(X、Y、Zとも呼ばれる)、アダマールおよびSゲート、2量子ビットゲート、たとえば、制御X、制御Y、制御Z(CX、CY、CZとも呼ばれる)、ならびに3つ以上の量子ビットを伴うゲート、たとえば、トフォリゲートが含まれる。量子論理ゲートは、制御および測定システム204によって生成された制御信号210を量子ビットおよび結合器に適用することによって実装され得る。
【0076】
たとえば、いくつかの実装形態では、量子ビットアセンブリ252における量子ビットは、周波数同調可能であり得る。これらの例では、各量子ビットは、量子ビットに結合された1つまたは複数の駆動ラインを介した電圧パルスの印加を通して調整され得る、関連付けられた動作周波数を有し得る。例示的な動作周波数には、量子ビットアイドリング周波数、量子ビット相互作用周波数、および量子ビット読出し周波数が含まれる。異なる周波数は、量子ビットが実行することができる異なる動作に対応する。たとえば、動作周波数を対応するアイドリング周波数に設定することは、量子ビットを、他の量子ビットと強く相互作用せず、単一量子ビットゲートを実行するために使用され得る状態にし得る。別の例として、量子ビットが、固定された結合を伴う結合器を介して相互作用する場合、量子ビットは、それらのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲート依存周波数において設定することによって、互いに相互作用するように構成され得る。他の場合には、たとえば、量子ビットが、調節可能な結合器を介して相互作用するとき、量子ビットは、量子ビット間の相互作用を可能にするために、それらのそれぞれの結合器のパラメータを設定することによって、および次いで、量子ビットのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲート依存周波数において設定することによって、互いに相互作用するように構成され得る。そのような相互作用は、マルチ量子ビットゲートを実行するために実行され得る。
【0077】
使用される制御信号210のタイプは、量子ビットの物理的実現に依存する。たとえば、制御信号は、NMRもしくは超伝導量子コンピュータシステムにおけるRFもしくはマイクロ波パルス、または原子量子コンピュータシステムにおける光パルスを含み得る。
【0078】
量子計算は、たとえば、それぞれの制御信号210を使用して、XまたはZなどの量子観測量を使用して、量子ビットの状態を測定することによって完了され得る。測定は、測定結果を表す読出し信号212を、測定および制御システム204に戻すように通信させる。読出し信号212は、量子コンピューティングデバイスおよび/または量子ビットのための物理的方式に応じて、RF、マイクロ波、または光信号を含み得る。便宜上、
図2に示された制御信号210および読出し信号212は、量子ビットアセンブリの選択された要素(すなわち、最上行および最下行)のみに対処するように示されているが、動作中に、制御信号210および読出し信号212は、量子ビットアセンブリ252における各要素に対処することができる。
【0079】
制御および測定システム204は、上記で説明したような、量子ビットアセンブリ252上の様々な動作、ならびに他の古典的サブルーチンまたは計算を実行するために使用され得る、古典的コンピュータシステムの一例である。制御および測定システム204は、1つまたは複数のデータバスによって接続された、1つまたは複数の古典的プロセッサ、たとえば、古典的プロセッサ214と、1つまたは複数のメモリ、たとえば、メモリ216と、1つまたは複数のI/Oユニット、たとえば、I/Oユニット218とを含む。制御および測定システム204は、たとえば、選択された一連の量子ゲート動作を行うために、制御信号210のシーケンスを量子ビットアセンブリに送るように、および、たとえば、測定動作を実行する一部として、量子ビットアセンブリから読出し信号212のシーケンスを受信するようにプログラムされ得る。
【0080】
プロセッサ214は、制御および測定システム204内で実行するための命令を処理するように構成される。いくつかの実装形態では、プロセッサ214は、シングルスレッドプロセッサである。他の実装形態では、プロセッサ214は、マルチスレッドプロセッサである。プロセッサ214は、メモリ216に記憶された命令を処理することが可能である。
【0081】
メモリ216は、制御および測定システム204内の情報を記憶する。いくつかの実装形態では、メモリ216は、コンピュータ可読媒体、揮発性メモリユニット、および/または不揮発性メモリユニットを含む。場合によっては、メモリ216は、システム204のための大容量記憶を提供することが可能な記憶デバイス、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワーク上で共有される記憶デバイス(たとえば、クラウド記憶デバイス)、および/または何らかの他の大容量記憶デバイスを含み得る。
【0082】
入出力デバイス218は、制御および測定システム204のための入出力動作を提供する。入出力デバイス218は、D/Aコンバータ、A/Dコンバータ、ならびにRF/マイクロ波/光信号生成器、送信機、および受信機を含み、それによって、量子コンピュータのための物理的方式に適するように、量子ビットアセンブリに制御信号210を送ること、および量子ビットアセンブリから読出し信号212を受信することができる。いくつかの実装形態では、入出力デバイス218はまた、1つまたは複数のネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードも含み得る。いくつかの実装形態では、入出力デバイス218は、入力データを受信し、他の外部デバイスに出力データを送るように構成されたドライバデバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイスを含み得る。
【0083】
例示的な制御および測定システム204が
図2に示されているが、本明細書で説明する主題および機能的動作の実装形態は、本明細書で開示する構造およびそれらの構造的均等物を含む、他のタイプのデジタル電子回路において、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。
【0084】
例示的なシステム200は、例示的な古典的プロセッサ250を含む。古典的プロセッサ250は、いくつかの実装形態による、本明細書で説明する古典的計算動作、たとえば、本明細書で説明する古典的機械学習方法を実行するために使用され得る。
【0085】
図3は、投影量子カーネル法を使用して、分類および回帰タスクを実行する、
図2の例示的なシステム200のブロック図を示す。段階(A)~(E)は、トレーニングフェーズを表し、
図4を参照しながら以下で説明するような例示的なプロセス400のステップ402~406に対応する。例示的なプロセスの段階(A)の間に、量子コンピューティングデバイス202は、データ点のトレーニングデータセットを取得する。いくつかの実装形態では、データ点は、量子データ点、たとえば、量子状態であり得る。他の実装形態では、データ点は、古典的データ点であり得る。これらの実装形態では、段階(B)の間に、量子コンピューティングデバイスは、古典的データ点をそれぞれの量子状態に埋め込む。段階(A)および(B)については、例示的なプロセス400のステップ402を参照しながら以下でより詳細に説明する。いくつかの実装形態では、データ点のトレーニングデータセットは、古典的プロセッサ250などの古典的コンピュータから受信され得る。他の実装形態では、データ点のトレーニングデータセットは、量子コンピューティングデバイス202などの量子コンピューティングデバイスから受信され得る。
【0086】
段階(C)の間に、量子コンピューティングデバイス202は、取得された量子データ点/状態のための縮約密度行列に基づくカーネル関数を使用して、カーネル行列を計算する。段階(C)については、例示的なプロセス400のステップ404を参照しながら以下でより詳細に説明する。
【0087】
段階(D)の間に、量子コンピューティングデバイス202は、古典的プロセッサ250に計算されたカーネル行列を送る。段階(E)の間に、古典的プロセッサは、カーネル行列を受信し、カーネル行列を使用して、機械学習モデルをトレーニングする。
【0088】
段階(F)~(K)は、確認または推論フェーズを表し、例示的なプロセス400のステップ408~412に対応する。段階(F)の間に、量子コンピューティングデバイス202は、データ点の検証データセットを取得する。いくつかの実装形態では、データ点は、量子データ点、たとえば、量子状態であり得る。他の実装形態では、データ点は、古典的データ点であり得る。これらの実装形態では、段階(G)の間に、量子コンピューティングデバイスは、古典的データ点をそれぞれの量子状態に埋め込む。
【0089】
段階(H)の間に、量子コンピューティングデバイスは、検証データセットにおけるデータ点に対応する新しい行および列を計算することによって、カーネル行列を更新する。段階(H)については、例示的なプロセス400のステップ404および410を参照しながら以下でより詳細に説明する。
【0090】
段階(I)の間に、量子コンピューティングデバイス202は、古典的プロセッサ250に更新されたカーネル行列を送る。段階(J)の間に、古典的プロセッサは、更新されたカーネル行列を受信し、トレーニングされた機械学習モデルを使用して、更新されたカーネル行列を処理する。段階(K)の間に、古典的プロセッサ250は、検証データセットにおけるデータ点に対応する予測を出力する。
【0091】
ハードウェアのプログラミング
図4は、カーネル行列を生成および更新するための例示的なプロセス400のフローチャートである。便宜上、プロセス400について、1つまたは複数のロケーションに位置する1つまたは複数の古典的および量子コンピューティングデバイスのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた
図2の量子コンピューティングデバイス202は、プロセス400を実行することができる。
【0092】
量子コンピューティングデバイスは、量子データ点のトレーニングデータセットを取得する(ステップ402)。データ点は、ラベルのないものであり得るか、または関連付けられたカテゴリーラベルもしくは数値を割り当てられ得る。
【0093】
いくつかの実装形態では、量子コンピューティングデバイスは、量子データ入力として、トレーニングデータセットを受信することができる。たとえば、量子コンピューティングデバイスは、量子状態|xi〉のセットを受信するか、または量子コンピューティングデバイス中に含まれた量子メモリからの量子状態のセットにアクセスすることができる。トレーニングデータセットにおける各量子状態|xi〉は、N量子ビット量子システムのそれぞれの状態であり得る。各量子状態|xi〉は、それぞれの古典的データ点、たとえば、以下で説明するような画像を表すことができる。
【0094】
他の実装形態では、量子コンピューティングデバイスは、古典的データ点のトレーニングデータセット{xi}を受信し、各古典的データ点xiをそれぞれの量子状態|xi〉に埋め込むことによって、量子データ点のそれぞれのトレーニングデータセットを生成することができる。古典的データ点xiをN量子ビット量子状態|xi〉に埋め込むために、量子コンピューティングデバイスは、符号化回路Uenc(xi)をN量子ビットの基準量子状態、たとえば、状態|00...0〉に適用することができる。古典的データ点をそれぞれの量子状態に埋め込むために使用される符号化回路Uencは、古典的データ点のトレーニングデータセット中に含まれるデータのタイプに依存し、様々な回路が使用され得る。たとえば、古典的データ点が画像を表す場合、符号化回路は、画像のそれぞれのスケーリングされた特異値によって、N量子ビットの各々を回転させる回路として定義され得る。場合によっては、レイヤのうちのいくつかの間のエンタングリング量子ゲート(entangling quantum gate)を伴う回転のレイヤを含む、より複雑な符号化回路が使用され得る。
【0095】
量子コンピューティングデバイスは、トレーニングデータセット中に含まれる量子データ点間の類似度を表すカーネル行列Qを計算するために、複数の量子計算を実行する(ステップ404)。カーネル行列を計算することは、トレーニングデータセットにおける量子データ点xi、xjの各ペアについて、カーネル関数Qij=Q(xi,xj)の値を計算することを含む。カーネル関数Q(xi,xj)は、ステップ402において取得された量子データ点のための縮約密度行列に基づく。たとえば、いくつかの実装形態では、カーネル関数は、量子データ点のための単体縮約密度行列(1-RDM)に基づき得る。他の実装形態では、カーネル関数は、量子データ点のためのk体RDMに基づき得、ただし、kは、予め決定された値未満である。例示的なカーネル関数について、以下で説明する。
【0096】
1-RDMを使用する線形カーネル関数
カーネル関数が1-RDMのセットに基づく実装形態では、カーネル関数は、線形カーネル関数であり得る。線形カーネル関数は、第1の量子データ点および第2の量子データ点を入力として取り、数値出力を生じる。線形カーネル関数は、項の和を含み得、ただし、和は、N量子ビットの各々にわたって及ぶ。各被加数は、それぞれの量子ビットに対応し、i)それぞれの量子ビットに対応するサブシステム上の第1の量子データ点のための縮約密度行列、ii)それぞれの量子ビットに対応するサブシステム上の第2の量子データ点のための縮約密度行列の積のトレースに等しい。たとえば、線形カーネル関数は、以下の式(1)によって与えられ得る。
【0097】
【0098】
式(1)では、lは、1から量子ビット数Nまでに及び、各量子ビットρ(xi)=|xi〉〈xi|にラベルをつけるインデックスであり、Trm≠k[ρ(xi)]は、1-RDM、たとえば、量子ビットkを除いてすべての量子ビットにわたるトレースを表す。式(1)によって与えられる線形カーネル関数は、一体項(one-body term)の和として書かれ得る任意の観測量を学習することができる。
【0099】
第1のN量子ビット量子状態および第2のN量子ビット量子状態を含む、量子データ点のペアについて、式(1)によって与えられる線形カーネル関数の値を計算するために、量子コンピューティングデバイスは、
繰り返し、および各量子ビットインデックスl=1、...、Nについて、
- 第1のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびl番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態の古典的表現、たとえば、2行2列の行列を取得することによって、量子ビットlに対応するサブシステム上の第1のN量子ビット量子状態のための1-RDMを計算する、たとえば、Trm≠l[ρ(xi)]を計算する、
- 第2のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびl番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態の古典的表現、たとえば、2行2列の行列を取得することによって、量子ビットlに対応するサブシステム上の第2のN量子ビット量子状態のための1-RDMを計算する、たとえば、Trm≠l[ρ(xj)]を計算する、ならびに
- 式(1)による古典的演算(たとえば、第1の縮約量子状態および第2の縮約量子状態の古典的表現を乗算し、乗算された値のトレースを計算し、各量子ビットインデックスl=1、...、Nについて、計算されたトレースの平均を加算すること)を実行して、Q(xi,xj)のための数値を取得することができる。
完全なカーネル行列を計算するために、量子コンピューティングデバイスは、トレーニングデータセットにおける量子データ点xi、xjの各ペアについて、上記で説明した手順を反復する。
【0100】
1-RDMを使用する二乗指数カーネル関数
別の例として、カーネル関数が1-RDMのセットに基づく実装形態では、カーネル関数は、二乗指数カーネル関数であり得る。二乗指数カーネル関数は、第1の量子データ点および第2の量子データ点を入力として取り、数値出力を生じる。二乗指数カーネル関数は、項の和の指数関数を含み得、ただし、和は、N量子ビットの各々にわたって及ぶ。各被加数は、それぞれの量子ビットに対応し、i)それぞれの量子ビットに対応するサブシステム上の第1の量子データ点のための縮約密度行列から、ii)それぞれの量子ビットに対応するサブシステム上の第2の量子データ点のための縮約密度行列を引いたもののノルムに等しい。たとえば、二乗指数カーネル関数は、以下の式(2)によって与えられ得る。
【0101】
【0102】
式(2)では、γは、予測精度を向上させるために調整され得る調節可能パラメータを表し(γは、RDMを使用して、点xiおよびxjがどのくらい近いべきであるかを定義するために使用され得、γが大きい場合、大部分の点が0に近い類似度を有するようになるのに対して、γが小さい場合、類似するRDMをもつ点が高い類似度を有すると見なされる。γが0である場合、各点が同じであると見なされ得る)、lは、1から量子ビット数Nまでに及び、各量子ビットρ(xi)=|xi〉〈xi|にラベルをつけるインデックスであり、Trm≠k[ρ(xi)]は、1-RDMを表す。式(2)によって与えられる二乗指数カーネル関数は、1-RDMの任意の非線形関数を学習することができる。
【0103】
第1のN量子ビット量子状態および第2のN量子ビット量子状態を含む、量子データ点のペアについて、式(2)によって与えられる二乗指数カーネル関数の値を計算するために、量子コンピューティングデバイスは、
繰り返し、および各量子ビットインデックスl=1、...、Nについて、
- 第1のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびl番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態(の古典的表現)を取得することによって、量子ビットlに対応するサブシステム上の第1のN量子ビット量子状態のための1-RDMを計算する、たとえば、Trm≠l[ρ(xi)]を計算する、
- 第2のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびl番目の量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態(の古典的表現)を取得することによって、量子ビットlに対応するサブシステム上の第2のN量子ビット量子状態のための1-RDMを計算する、たとえば、Trm≠l[ρ(xj)]を計算する、
- 第1の縮約量子状態から第2の縮約量子状態を減算して、第3の縮約量子状態を取得し、第3の縮約量子状態のノルムを決定する、たとえば、||Trm≠l[ρ(xi)]-Trn≠l[ρ(xj)]||2を古典的に計算する、ならびに
- 各量子ビットインデックスl=1、...、Nについて、決定されたノルムの平均を加算し、-γによって乗算し、指数を計算して、
【0104】
【0105】
のための値を取得することができる。
完全なカーネル行列を計算するために、量子コンピューティングデバイスは、トレーニングデータセットにおける量子データ点xi、xjの各ペアについて、上記で説明した手順を反復する。
【0106】
k-RDMを使用する線形カーネル関数
別の例として、カーネル関数がk-RDMのセットに基づく実装形態では、カーネル関数は、線形カーネル関数であり得る。線形カーネル関数は、第1の量子データ点および第2の量子データ点を入力として取り、数値出力を生じる。線形カーネル関数は、項の和を含み得、ただし、和は、N量子ビットから取られたk量子ビットの各サブセットにわたって及ぶ。各被加数は、それぞれのサブセットに対応し、i)k量子ビットのそれぞれのサブセットに対応するサブシステム上の第1の量子データ点のための縮約密度行列、およびii)k量子ビットのそれぞれのサブセットに対応するサブシステム上の第2の量子データ点のための縮約密度行列の積のトレースに等しい。たとえば、線形カーネル関数は、以下の式(3)によって与えられ得る。
【0107】
【0108】
式(3)では、Sk(n)は、(N量子ビットから取られた)k量子ビットρ(xi)=|xi〉〈xi|のサブセットのセットを表し、Trm≠K[ρ(xi)]は、k-RDM、たとえば、セットK中に含まれるk量子ビットを除いてすべての量子ビットにわたるトレースを表す。式(3)の線形カーネル関数は、k体項(k-body term)の和として書かれ得る任意の観測量を学習することができる。
【0109】
第1のN量子ビット量子状態および第2のN量子ビット量子状態を含む、量子データ点のペアについて、式(3)によって与えられる線形カーネル関数の値を計算するために、量子コンピューティングデバイスは、
繰り返し、およびk量子ビットの各セットKについて、
- 第1のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第1のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびセットK中に含まれる量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第1の縮約量子状態(の古典的表現、たとえば、行列表現)を取得することによって、セットKにおける量子ビットに対応するサブシステム上の第1のN量子ビット量子状態のためのk-RDMを計算する、たとえば、Trm≠K[ρ(xi)]を計算する、
- 第2のN量子ビット量子状態のコピーを取得または用意すること、たとえば、第2のN量子ビット量子状態におけるN量子ビット量子システムのコピーを取得または用意すること、およびセットK中に含まれる量子ビットを除いて量子システムにおける各量子ビットを測定して、量子システムの第2の縮約量子状態(の古典的表現)を取得することによって、セットKにおける量子ビットに対応するサブシステム上の第2のN量子ビット量子状態のためのk-RDMを計算する、たとえば、Trm≠K[ρ(xj)]を計算する、
- 第1の縮約量子状態および第2の縮約量子状態の積のトレースを決定する、たとえば、Tr[Trm≠K[ρ(xi)]][Trn≠K[ρ(xj)]]を決定する、ならびに
- k量子ビットの各セットKについて、決定されたトレースの平均を加算して、
【0110】
【0111】
のための数値を取得することができる。
完全なカーネル行列を計算するために、量子コンピューティングデバイスは、トレーニングデータセットにおける量子データ点xi、xjの各ペアについて、上記で説明した手順を反復する。
【0112】
k-RDMを使用する指数カーネル関数
式(1)~(3)によって与えられるカーネル関数は、関数の限定されたクラスを学習することができ、たとえば、式(1)によって与えられる線形カーネル関数は、単一量子ビット観測量の和である観測量を学習することができる。しかしながら、いくつかの実装形態では、任意の量子モデル、たとえば、完全な量子状態の線形関数
【0113】
【0114】
によって与えられる任意に深い量子ニューラルネットワークを学習することができる、カーネルを定義することが有益であり得る。これらの実装形態では、カーネル関数は、古典的シャドー技法を使用してサンプリングされたk-RDMを使用する、指数カーネル関数であり得る。量子ビットインデックス(p1、p2、...pk)のための量子状態ρ(x)のk-RDMは、古典的シャドーのフォーマリズムを使用して、ローカルのランダム化された測定によって再構築され得る。
【0115】
【0116】
ただし、
【0117】
【0118】
は、pr番目の量子ビット上のランダムパウリ測定基底(random Pauli measurement basis)X、Y、Zであり、
【0119】
【0120】
は、パウリ基底(Pauli basis)
【0121】
【0122】
の下の量子状態ρ(x)のpr番目の量子ビット上の測定結果±1である。期待値は、ρ(x)上のランダム化された測定に関して取られる。2つのk-RDMの内積は、以下に等しく、
【0123】
【0124】
ただし、ρ(xi)、ρ(xj)のためのランダム化された測定結果は、無関係である。この式は、いくつかのインデックスpr、psが一致する場合に拡張され得る。これによって、カーネルを定義する特徴マップにおいて追加の特徴を導入する。すべての可能なk-RDMの和は、以下のように書くことができ、
【0125】
【0126】
ただし、2つのk-RDMの内積および期待値の線形性のための式が使用される。したがって、RDMのすべての次数を含んでいるカーネル関数は、以下の式(4)によって与えられる。
【0127】
【0128】
式(4)では、期待値
【0129】
【0130】
は、システムiおよびj上で測定される、ランダムに選ばれたパウリフレームからのns個のサンプルにわたって取られ、
【0131】
【0132】
は、システムiおよびシステムj上で独立して実行されたランダムパウリ測定結果の間の一致のための第1のインジケータ関数を表し、
【0133】
【0134】
は、測定基底一致、たとえば、2つのシステム間の量子ビットの各々にわたって同じ基底X、Y、Z、Iが選ばれたか否かのための、第2のインジケータ関数を表す。γは、ハイパーパラメータを表す。
【0135】
第1のN量子ビット量子状態および第2のN量子ビット量子状態を含む、量子データ点のペアについて、式(4)によって与えられる線形カーネル関数の値を計算するために、量子コンピューティングデバイスは、
ns個のサンプルのk番目の反復について、
- ランダムにサンプリングされたパウリ基底、X、Y、またはZにおいて、システムiにおける各量子ビットを測定して、h番目の量子ビットのための
【0136】
【0137】
および
【0138】
【0139】
を取得することによって、第1の測定結果を取得し、ただし、
【0140】
【0141】
は、1または-1のいずれかであり、
【0142】
【0143】
は、ランダム基底X、Y、またはZである、
- ランダムにサンプリングされたパウリ基底、X、Y、またはZにおいて、システムjにおける各量子ビットを測定して、h番目の量子ビットのための
【0144】
【0145】
および
【0146】
【0147】
を取得することによって、第2の測定結果を取得し、ただし、
【0148】
【0149】
は、1または-1のいずれかであり、
【0150】
【0151】
は、ランダム基底X、Y、またはZである、
- n量子ビットシステムにおけるh番目の量子ビットについて、第1の測定結果および第2の測定結果を比較して、第1のインジケータ関数
【0152】
【0153】
の値を決定し、この値は、2つの結果
【0154】
【0155】
、
【0156】
【0157】
が等しい場合は1に等しく、そうでない場合は0に等しい、
- n量子ビットシステムにおけるh番目の量子ビットについて、
【0158】
【0159】
によって第2のインジケータ関数の値を決定する、
- 調節可能なγ>0の場合の値
【0160】
【0161】
を計算する、ならびに
-
【0162】
【0163】
を使用して、カーネル関数を推定することができる。
数学的に、量
【0164】
【0165】
が計算され、ただし、Nsは、システムiまたはjの各量子状態のための反復の数を表し、r1およびr2は反復であり、
【0166】
【0167】
は、r2反復のためのp番目の量子ビットにおけるパウリ基底を表し、
【0168】
【0169】
は、対応する測定結果である。ローカルのランダム化された測定、および古典的シャドーのフォーマリズムを使用して、このカーネル関数を計算することは効率的であり、その理由は、古典的シャドーフォーマリズム(classical shadow formalism)が、少ない測定からのRDMの効率的な構築を可能にするからである。
【0170】
完全なカーネル行列を計算するために、量子コンピューティングデバイスは、トレーニングデータセットにおける量子データ点xi、xjの各ペアについて、上記で説明した手順を反復する。
【0171】
図4に戻ると、量子コンピューティングデバイスは、古典的プロセッサに計算されたカーネル行列Qを提供する(ステップ406)。古典的プロセッサは、カーネル行列Qを使用して、古典的機械学習方法を実行するように構成される。たとえば、ステップ402において取得されたトレーニングデータ点が、ラベルをつけられたデータである実装形態では、古典的プロセッサは、ガウスカーネル、ニューラルタンジェントカーネル、ランダムフォレストを含む、分類または予測のために使用される任意のカーネルSVM法を実行するように構成され得る。別の例として、ステップ402において取得されたトレーニングデータ点が、ラベルのないデータである実装形態では、古典的プロセッサは、k平均などのアルゴリズムを使用して、教師なし学習または分類を実行するために使用され得る距離メトリックを、空間に与えるために、計算されたカーネル行列を使用するように構成され得る。
【0172】
古典的プロセッサは、対応する機械学習モデルをトレーニングするために、受信されたカーネル行列を使用して、トレーニングアルゴリズムを実行する。古典的プロセッサによって実行される特定のトレーニングアルゴリズムは、古典的プロセッサが実行するように構成される機械学習方法のタイプに依存し、様々なトレーニングアルゴリズムを含み得る。
【0173】
量子コンピューティングデバイスは、量子データ点の検証データセット{yi}を取得する(ステップ408)。ステップ402を参照しながら上記で説明したように、検証データセット中に含まれる量子データ点は、量子データ入力として受信され得るか、または古典的データ入力に基づいて生成され得る。
【0174】
量子コンピューティングデバイスは、カーネル行列の新しい行および列を計算することによって、カーネル行列を更新するために、複数の量子計算を実行する(ステップ410)。新しい行および列は、検証データセットにおける量子データ点とトレーニングデータセットにおける量子データ点との間の類似度を表す。カーネル行列の新しい行および列を計算することは、ステップ404を参照しながら上記で説明したように、トレーニングデータセットおよび検証データセットにおける量子データ点xi、xjの各ペアについて、以前に使用されたカーネル関数Qij=Q(xi,xj)の値を計算することを含む。
【0175】
量子コンピューティングデバイスは、古典的プロセッサに、更新されたカーネル行列、たとえば、カーネル行列の新しい行および列を提供する(ステップ412)。古典的プロセッサは、更新されたカーネル行列を処理して、検証データセットにおける各量子データ点のための予測を出力する、たとえば、ラベルまたは数値を割り当てる。
【0176】
本明細書で説明するデジタルおよび/または量子の主題、ならびにデジタル機能的動作および量子演算の実装形態は、本明細書で開示する構造およびそれらの構造的均等物を含む、デジタル電子回路、好適な量子回路、またはより一般には量子計算システムにおいて、有形に実施されたデジタルおよび/または量子コンピュータソフトウェアまたはファームウェアにおいて、デジタルおよび/または量子コンピュータハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。「量子計算システム」という用語は、限定はしないが、量子コンピュータ、量子情報処理システム、量子暗号システム、または量子シミュレータを含み得る。
【0177】
本明細書で説明するデジタルおよび/または量子の主題の実装形態は、1つまたは複数のデジタルおよび/または量子コンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一時的記憶媒体上に符号化されたデジタルおよび/または量子コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。デジタルおよび/または量子コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくは順次アクセスメモリデバイス、1つもしくは複数の量子ビット、またはそれらのうちの1つもしくは複数の組合せであり得る。代替または追加として、プログラム命令は、デジタルおよび/または量子情報を符号化することが可能である、人工的に生成された伝搬信号、たとえば、データ処理装置による実行のために好適な受信機装置に送信するためのデジタルおよび/または量子情報を符号化するために生成される、機械により生成された電気信号、光信号、または電磁信号上で符号化され得る。
【0178】
量子情報および量子データという用語は、量子システムによって搬送されるか、量子システムにおいて保持または記憶される情報またはデータを指し、そこで、最小の非自明なシステムが量子ビット、すなわち、量子情報の単位を定義するシステムである。「量子ビット」という用語は、対応する文脈において二準位系として好適に近似され得る、すべての量子システムを包含することは理解されよう。そのような量子システムは、たとえば、2つ以上の準位をもつ、多準位系を含み得る。例として、そのようなシステムは、原子、電子、光子、イオン、または超伝導量子ビットを含み得る。多数の実装形態では、計算基底状態は、基底状態および第1の励起状態を用いて識別されるが、計算状態がより高い準位の励起状態を用いて識別される、他のセットアップが可能であることは理解されよう。「データ処理装置」という用語は、デジタルおよび/または量子データ処理ハードウェアを指し、例として、プログラマブルデジタルプロセッサ、プログラマブル量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む、デジタルおよび/または量子データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子システムについての情報をシミュレートもしくは作成するように設計される量子データ処理装置であり得るか、またはそれをさらに含み得る。具体的には、量子シミュレータは、ユニバーサル量子計算を実行するための能力を有していない専用量子コンピュータである。装置は、場合によっては、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
【0179】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあるか、またはそのように説明されることもある、デジタルコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語において記述され得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはデジタルコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態において展開され得る。プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあるか、またはそのように説明されることもある、量子コンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語において記述され得、好適な量子プログラミング言語に変換されるか、または、量子プログラミング言語、たとえば、QCLもしくはQuipperにおいて記述され得る。
【0180】
デジタルおよび/または量子コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語文書中に記憶された1つもしくは複数のスクリプトを保持するファイルの一部分において、問題のプログラム専用の単一のファイルにおいて、または、複数の協調されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルにおいて記憶され得る。デジタルおよび/または量子コンピュータプログラムは、1つのデジタルまたは1つの量子コンピュータ上で、あるいは1つのサイトに位置するか、または複数のサイトにわたって分散され、デジタルおよび/もしくは量子データ通信ネットワークによって相互接続される、複数のデジタルおよび/または量子コンピュータ上で実行されるように展開され得る。量子データ通信ネットワークは、量子システム、たとえば、量子ビットを使用して、量子データを送信し得るネットワークであると理解される。一般に、デジタルデータ通信ネットワークは、量子データを送信することができないが、量子データ通信ネットワークは、量子データとデジタルデータの両方を送信し得る。
【0181】
本明細書で説明するプロセスおよび論理フローは、1つまたは複数のデジタルおよび/または量子プロセッサとともに動作する、1つまたは複数のプログラマブルなデジタルおよび/または量子コンピュータが、適宜、入力デジタルおよび量子データにおいて動作すること、ならびに出力を生成することによって、機能を実行するために、1つまたは複数のデジタルおよび/または量子コンピュータプログラムを実行することによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGAもしくはASIC、または量子シミュレータとして、あるいは、専用論理回路または量子シミュレータと、1つまたは複数のプログラムされたデジタルおよび/または量子コンピュータとの組合せによっても実行され得、装置は、それらとしても実装され得る。
【0182】
1つまたは複数のデジタルおよび/または量子コンピュータのシステムが、特定の動作またはアクションを実行する「ように構成される」ことは、システムが、動作中に動作またはアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のデジタルおよび/または量子コンピュータプログラムが、特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、デジタルおよび/または量子データ処理装置によって実行されると、動作またはアクションを装置に実行させる命令を含むことを意味する。量子コンピュータは、量子コンピューティング装置によって実行されると、動作またはアクションを装置に実行させる、デジタルコンピュータからの命令を受信し得る。
【0183】
デジタルおよび/または量子コンピュータプログラムの実行に好適なデジタルおよび/または量子コンピュータは、汎用もしくは専用のデジタルおよび/もしくは量子プロセッサ、または両方、あるいは任意の他の種類の中央デジタルおよび/または量子処理ユニットに基づき得る。一般に、中央デジタルおよび/または量子処理ユニットは、読取り専用メモリ、ランダムアクセスメモリ、もしくは、量子データ、たとえば、光子を送信するのに好適な量子システム、またはそれらの組合せから、命令ならびにデジタルおよび/または量子データを受信することになる。
【0184】
デジタルおよび/または量子コンピュータの本質的な要素は、命令を実施または実行するための中央処理ユニットと、命令ならびにデジタルおよび/または量子データを記憶するための1つまたは複数のメモリデバイスとである。中央処理ユニットおよびメモリは、専用論理回路もしくは量子シミュレータによって補足されるか、または専用論理回路もしくは量子シミュレータ中に組み込まれ得る。一般に、デジタルおよび/または量子コンピュータはまた、デジタルおよび/または量子データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、光ディスク、または量子情報を記憶するのに好適な量子システムを含むか、あるいはそれからデジタルおよび/もしくは量子データを受信するため、またはそれにデジタルおよび/もしくは量子データを転送するため、またはその両方のために動作可能に結合されることになる。ただし、デジタルおよび/または量子コンピュータは、そのようなデバイスを有する必要はない。
【0185】
デジタルおよび/または量子コンピュータプログラム命令、ならびにデジタルおよび/または量子データを記憶するのに好適な、デジタルおよび/または量子コンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、CD-ROMおよびDVD-ROMディスク、ならびに量子システム、たとえば、トラップされた原子または電子を含む、すべての形態の不揮発性デジタルおよび/または量子メモリ、媒体、およびメモリデバイスを含む。量子メモリは、量子データを高い忠実度および効率で長期間にわたって記憶することができるデバイス、たとえば、光が送信のために使用される光-物質インターフェース、および重ね合わせまたは量子コヒーレンスなど、量子データの量子特徴を記憶し、保存するための物質であることは理解されよう。
【0186】
本明細書で説明する様々なシステム、またはそれらの一部の制御は、1つまたは複数の非一時的機械可読記憶媒体上に記憶され、1つまたは複数のデジタルおよび/または量子処理デバイス上で実行可能である命令を含む、デジタルおよび/または量子コンピュータプログラム製品において実装され得る。本明細書で説明するシステム、またはそれらの一部は、それぞれ、1つまたは複数のデジタルおよび/または量子処理デバイスと、本明細書で説明する動作を実行するための実行可能命令を記憶するためのメモリとを含み得る、装置、方法、またはシステムとして実装され得る。
【0187】
本明細書は、多数の特定の実装詳細を含むが、これらは、請求され得るものの範囲の限定として解釈されるべきではなく、むしろ、特定の実装形態に固有であり得る特徴の説明として解釈されるべきである。別個の実装形態との関連で本明細書で説明するいくつかの特徴はまた、単一の実装形態において組み合わせて実装され得る。逆に、単一の実装形態との関連で説明する様々な特徴もまた、複数の実装形態において別個に、または任意の好適な部分組合せにおいて実装され得る。その上、特徴は、いくつかの組合せにおいて作用するとして上記で説明されることがあり、最初にそのようなものとして請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【0188】
同様に、動作は、特定の順序で図面において図示されるが、これは、望ましい結果を達成するために、そのような動作が図示された特定の順序で、もしくは順番に実行されること、またはすべての図示された動作が実行されることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品にともに統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0189】
主題の特定の実装形態について説明した。他の実装形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲に記載されているアクションは、異なる順序で実行され、なお、望ましい結果を達成することが可能である。一例として、添付の図面に図示されたプロセスは、望ましい結果を達成するために、必ずしも図示された特定の順序、または順番を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0190】
100 古典的カーネル法、方法
102 従来の量子カーネル法、方法
104 投影量子カーネル法、方法
200 例示的なシステム
202 量子コンピューティングデバイス
204 制御および測定システム、システム
206 量子ビット
208 結合器
210 制御信号
212 読出し信号
214 古典的プロセッサ、プロセッサ
216 メモリ
218 I/Oユニット、入出力デバイス
250 例示的な古典的プロセッサ、古典的プロセッサ
252 量子ビットアセンブリ