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

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

▶ グーグル インコーポレイテッドの特許一覧

特表2024-510597収束が証明可能な量子敵対的生成ネットワーク
<>
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図1
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図2
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図3
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図4A
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図4B
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図5
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図6
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図7
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図8
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図9
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図10
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図11
  • 特表-収束が証明可能な量子敵対的生成ネットワーク 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-08
(54)【発明の名称】収束が証明可能な量子敵対的生成ネットワーク
(51)【国際特許分類】
   G06N 10/60 20220101AFI20240301BHJP
   G06N 3/0475 20230101ALI20240301BHJP
   G06N 3/094 20230101ALI20240301BHJP
【FI】
G06N10/60
G06N3/0475
G06N3/094
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555628
(86)(22)【出願日】2022-03-10
(85)【翻訳文提出日】2023-11-01
(86)【国際出願番号】 US2022019796
(87)【国際公開番号】W WO2022192568
(87)【国際公開日】2022-09-15
(31)【優先権主張番号】63/160,587
(32)【優先日】2021-03-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ユエゼン・ニウ
(72)【発明者】
【氏名】ハルトムート・ネーヴェン
(72)【発明者】
【氏名】ヴァディム・スメリャンスキー
(72)【発明者】
【氏名】セルジオ・バイショ・カストリージョ
(57)【要約】
目標量子状態を学習するための方法および装置。一態様においては、目標量子状態を学習するように量子敵対的生成ネットワーク(QGAN)を訓練するための方法が、QGANの損失関数の値が収束するまで、QGANのパラメータを反復的に調整するステップを含み、各反復が、識別器ネットワーク入力の忠実度を測定するために、QGANの識別器ネットワークの識別器ネットワーク入力に対してもつれ動作を実行するステップであって、識別器ネットワーク入力が、目標量子状態、およびQGANの生成器ネットワークから出力された第1の量子状態を含み、第1の量子状態が、目標量子状態に近似する、ステップと、QGANパラメータを更新するために、QGANの損失関数のミニマックス最適化を実行するステップであって、QGANの損失関数が、識別器ネットワーク入力の測定された忠実度に依存する、ステップとを含む。
【特許請求の範囲】
【請求項1】
目標量子状態を学習するように量子敵対的生成ネットワークを訓練するための方法であって、
量子敵対的生成ネットワーク損失関数の値が収束するまで、前記量子敵対的生成ネットワークのパラメータを反復的に調整するステップを含み、各反復が、
前記量子敵対的生成ネットワークの識別器ネットワークの識別器ネットワーク入力の忠実度を測定するために、前記識別器ネットワーク入力に対してもつれ動作を実行するステップであって、
前記識別器ネットワーク入力が、前記目標量子状態、および前記量子敵対的生成ネットワークの生成器ネットワークから出力された第1の量子状態を含み、
前記第1の量子状態が、前記目標量子状態に近似する、ステップと、
前記量子敵対的生成ネットワークの前記パラメータを更新するために、前記量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行するステップであって、
前記量子敵対的生成ネットワーク損失関数が、前記識別器ネットワーク入力の前記測定された忠実度に依存する、ステップと
を含む、方法。
【請求項2】
量子敵対的生成ネットワーク損失関数の前記値が、ナッシュ均衡に収束する、請求項1に記載の方法。
【請求項3】
各反復が、
前記生成器ネットワークによって、前記第1の量子状態を出力するために初期量子状態を処理するステップをさらに含み、
前記処理するステップが、前記初期量子状態に第1の量子回路を適用することを含み、
i)前記第1の量子回路が、パラメータ化された量子回路であり、
第1の量子回路パラメータが、前記量子敵対的生成ネットワークの前記パラメータに含まれる前記生成器ネットワークのパラメータを構成する、請求項1または請求項2に記載の方法。
【請求項4】
前記第1の量子回路が、前記目標量子状態を生成するために使用される量子回路よりも小さい回路深度を有する、請求項3に記載の方法。
【請求項5】
前記もつれ動作が、スワップテストに近似するパラメータ化されたもつれ動作を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記もつれ動作が、補助なしスワップテストを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記補助なしスワップテストが、厳密なスワップテストに近似し、第2の量子回路を含み、
前記第2の量子回路が、パラメータ化された量子回路であり、
第2の量子回路パラメータが、前記量子敵対的生成ネットワークの前記パラメータに含まれる前記識別器ネットワークのパラメータを構成する、請求項6に記載の方法。
【請求項8】
前記量子敵対的生成ネットワーク損失関数が、1引く前記識別器ネットワーク入力の前記測定された忠実度を含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記量子敵対的生成ネットワーク損失関数の前記ミニマックス最適化を実行するステップが、
生成器ネットワークパラメータを前の反復において決定された値に固定し、前記反復の識別器ネットワークパラメータの更新された値を決定するために、前記識別器ネットワークパラメータに関して前記量子敵対的生成ネットワーク損失関数を最大化するステップと、
前記識別器ネットワークパラメータを前記反復の前記識別器ネットワークパラメータの前記更新された値に固定し、前記反復の生成器ネットワークパラメータの更新された値を決定するために、前記生成器ネットワークパラメータに関して前記量子敵対的生成ネットワーク損失関数を最小化するステップと
を含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記量子敵対的生成ネットワーク損失関数の前記ミニマックス最適化を実行するステップが、
識別器ネットワークパラメータを完全なスワップテストに対応する値に固定し、前記反復の生成器ネットワークパラメータの最初の更新された値を決定するために、前記生成器ネットワークパラメータに関して前記量子敵対的生成ネットワーク損失関数を最小化するステップと、
生成器ネットワークパラメータを前記最初の更新された値に固定し、前記反復の識別器ネットワークパラメータの更新された値を決定するために、前記識別器ネットワークパラメータに関して前記量子敵対的生成ネットワーク損失関数を最大化するステップと、
前記識別器ネットワークパラメータを前記反復の前記識別器ネットワークパラメータの前記更新された値に固定し、前記反復の生成器ネットワークパラメータの更新された値を決定するために、前記生成器ネットワークパラメータに関して前記量子敵対的生成ネットワーク損失関数を最小化するステップと
を含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記目標量子状態が、重ね合わせ状態を含み、
前記方法が、前記生成器ネットワークによって、訓練された生成器ネットワークパラメータに従って、量子ランダムアクセスメモリに近似するために前記目標量子状態を生成するステップをさらに含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記生成された目標量子状態を使用して量子ニューラルネットワークを訓練するステップをさらに含む、請求項11に記載の方法。
【請求項13】
前記量子敵対的生成ネットワーク損失関数の値が収束するまで、前記量子敵対的生成ネットワークの前記パラメータを反復的に調整するステップが、訓練された生成器ネットワークパラメータおよび識別器ネットワークパラメータを生成し、
前記方法が、前記生成器ネットワークを使用して、前記訓練された生成器ネットワークパラメータに従って、前記目標量子状態を生成するステップをさらに含む、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記量子敵対的生成ネットワークの前記パラメータを更新するために、前記量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行するステップが、前記量子敵対的生成ネットワークの前記パラメータの勾配を計算するために複数回の回路評価を実行するステップを含む、請求項1から13のいずれか一項に記載の方法。
【請求項15】
1つまたは複数の量子コンピュータによって実装される量子敵対的生成ネットワークシステムであって、量子敵対的生成ネットワークが、
識別器ネットワーク入力の忠実度を測定するために、前記識別器ネットワーク入力に対してもつれ動作を実行するように構成された識別器ネットワークであって、
前記識別器ネットワーク入力が、目標量子状態、および前記量子敵対的生成ネットワークシステムに含まれる生成器ネットワークから出力された第1の量子状態を含み、
前記第1の量子状態が、前記目標量子状態に近似する、識別器ネットワークを含む、量子敵対的生成ネットワークシステム。
【請求項16】
前記もつれ動作が、スワップテストに近似するパラメータ化されたもつれ動作を含む、請求項15に記載の量子敵対的生成ネットワークシステム。
【請求項17】
前記もつれ動作が、補助なしスワップテストを含む、請求項15または請求項16に記載の量子敵対的生成ネットワークシステム。
【請求項18】
前記補助なしスワップテストが、厳密なスワップテストに近似し、第2の量子回路を含み、
前記第2の量子回路が、パラメータ化された量子回路であり、
第2の量子回路パラメータが、前記量子敵対的生成ネットワークのパラメータに含まれる識別器ネットワークパラメータを構成する、請求項17に記載の量子敵対的生成ネットワークシステム。
【請求項19】
前記第1の量子状態を出力するために初期量子状態に第1の量子回路を適用するように構成された生成器ネットワークをさらに含む、請求項15から18のいずれか一項に記載の量子敵対的生成ネットワークシステム。
【請求項20】
前記目標量子状態が、重ね合わせ状態を含み、
前記生成器ネットワークが、訓練された生成器ネットワークパラメータに従って、量子ランダムアクセスメモリに近似するために前記目標量子状態を生成する、請求項15から19のいずれか一項に記載の量子敵対的生成ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、量子コンピューティングおよび敵対的生成ネットワーク(generative adversarial network)に関する。
【背景技術】
【0002】
古典的なコンピュータは、ビットからなるメモリを有し、各ビットは、0か1かのどちらかを表すことができる。量子コンピュータは、キュービットと呼ばれる量子ビットのシーケンスを保持し、各量子ビットは、0、1、または0と1との任意の量子重ね合わせを表すことができる。量子コンピュータは、キュービットを初期状態に設定し、たとえば、量子論理ゲートのシーケンスに従ってキュービットを制御することによって動作する。
【0003】
敵対的生成ネットワークは、生成機械学習の一形態であり、写真のように現実感のある画像の生成、超解像、および分子合成を含む様々な高次元の複雑なタスクにおいて最先端の性能を実現する。基礎となるデータ分布pdata(x)からサンプリングされた訓練データセットS = {xi}のみへのアクセスを前提として、GANは、Sの外の現実的な例を生成することができる。一部の確率分布は、古典的にサンプリングすることが困難であり、したがって、任意の分布pdata(x)の正確な表現を学習することは、量子コンピューティングリソースへのアクセスから恩恵を受けることができる。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書は、収束が証明可能な量子敵対的生成ネットワークを説明する。
【0005】
概して、本明細書において説明される主題の1つの革新的な態様は、目標量子状態を学習するように量子敵対的生成ネットワークを訓練するための方法に実装されることが可能であり、方法は、量子敵対的生成ネットワーク損失関数の値が収束するまで、量子敵対的生成ネットワークのパラメータを反復的に調整するステップを含み、各反復が、識別器ネットワーク入力の忠実度(fidelity)を測定するために、量子敵対的生成ネットワークの識別器ネットワークの識別器ネットワーク入力に対して、もつれ動作(entangling operation)を実行するステップであって、識別器ネットワーク入力が、目標量子状態、および量子敵対的生成ネットワークの生成器ネットワークから出力された第1の量子状態を含み、第1の量子状態が、目標量子状態に近似する、ステップと、量子敵対的生成ネットワークのパラメータを更新するために、量子敵対的生成ネットワーク損失関数のミニマックス(minimax)最適化を実行するステップであって、量子敵対的生成ネットワーク損失関数が、識別器ネットワーク入力の測定された忠実度に依存する、ステップとを含む。
【0006】
これらの態様のその他の実装は、方法のアクションを実行するようにそれぞれが構成された、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータストレージデバイス上に記録されたコンピュータプログラムを含む。1つまたは複数の古典的なおよび/または量子コンピュータのシステムが、動作中にシステムにアクションを実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムが、データ処理装置によって実行されるときに装置にアクションを実行させる命令を含むことによって特定の動作またはアクションを実行するように構成され得る。
【0007】
上述およびその他の実装は、それぞれ任意選択で以下の特徴のうちの1つまたは複数を単独でまたは組み合わせて含むことが可能である。いくつかの実装において、量子敵対的生成ネットワーク損失関数の値は、ナッシュ均衡(Nash equilibrium)に収束する。
【0008】
いくつかの実装において、各反復は、生成器ネットワークによって、第1の量子状態を出力するために初期量子状態を処理するステップであって、前記処理するステップが、初期量子状態に第1の量子回路を適用することを含み、i)第1の量子回路が、パラメータ化された量子回路であり、第1の量子回路パラメータが、量子敵対的生成ネットワークのパラメータに含まれる生成器ネットワークパラメータを構成する、ステップをさらに含む。
【0009】
いくつかの実装において、第1の量子回路は、目標量子状態を生成するために使用される量子回路よりも小さな回路深度(circuit depth)を有する。
【0010】
いくつかの実装において、もつれ動作は、スワップテスト(swap test)に近似するパラメータ化されたもつれ動作を含む。
【0011】
いくつかの実装において、もつれ動作は、補助なし(ancilla-free)スワップテストを含む。
【0012】
いくつかの実装において、補助なしスワップテストは、厳密なスワップテストに近似し、第2の量子回路を含み、第2の量子回路は、パラメータ化された量子回路であり、第2の量子回路パラメータは、量子敵対的生成ネットワークのパラメータに含まれる識別器ネットワークパラメータを構成する。
【0013】
いくつかの実装において、量子敵対的生成ネットワーク損失関数は、1引く識別器ネットワーク入力の測定された忠実度を含む。
【0014】
いくつかの実装において、量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行するステップは、生成器ネットワークパラメータを前の反復で決定された値に固定し、反復の識別器ネットワークパラメータの更新された値を決定するために、識別器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最大化するステップと、識別器ネットワークパラメータを反復の識別器ネットワークパラメータの更新された値に固定し、反復の生成器ネットワークパラメータの更新された値を決定するために、生成器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最小化するステップとを含む。
【0015】
いくつかの実装において、方法は、識別器ネットワークパラメータを完全なスワップテストに対応する値に固定し、反復の生成器ネットワークパラメータの最初の更新された値を決定するために、生成器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最小化するステップと、生成器ネットワークパラメータを最初の更新された値に固定し、反復の識別器ネットワークパラメータの更新された値を決定するために、識別器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最大化するステップと、識別器ネットワークパラメータを反復の識別器ネットワークパラメータの更新された値に固定し、反復の生成器ネットワークパラメータの更新された値を決定するために、生成器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最小化するステップとをさらに含む。
【0016】
いくつかの実装において、目標量子状態は、重ね合わせ状態を含み、方法は、生成器ネットワークによって、訓練された生成器ネットワークパラメータに従って、量子ランダムアクセスメモリに近似するために目標量子状態を生成するステップをさらに含む。
【0017】
いくつかの実装において、方法は、生成された目標量子状態を使用して量子ニューラルネットワークを訓練するステップをさらに含む。
【0018】
いくつかの実装において、量子敵対的生成ネットワーク損失関数の値が収束するまで、量子敵対的生成ネットワークのパラメータを反復的に調整するステップは、訓練された生成器ネットワークパラメータおよび識別器ネットワークパラメータを生成し、方法は、生成器ネットワークを使用して、訓練された生成器ネットワークパラメータに従って、目標状態を生成するステップをさらに含む。
【0019】
いくつかの実装において、量子敵対的生成ネットワークのパラメータを更新するために、量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行するステップは、量子敵対的生成ネットワークのパラメータの勾配を計算するために複数の回路評価を実行するステップを含む。
【0020】
概して、本明細書において説明される主題の別の革新的な態様は、1つまたは複数の量子コンピュータによって実装される量子敵対的生成ネットワークシステムであって、量子敵対的生成ネットワークが、識別器ネットワーク入力の忠実度を測定するために、識別器ネットワーク入力に対してもつれ動作を実行するように構成された識別器ネットワークであって、識別器ネットワーク入力が、目標量子状態、および量子敵対的生成ネットワークシステムに含まれる生成器ネットワークから出力された第1の量子状態を含み、第1の量子状態が、目標量子状態に近似する、識別器ネットワークを含む、量子敵対的生成ネットワークシステムに実装され得る。
【0021】
本明細書において説明される主題は、以下の利点のうちの1つまたは複数を実現するように特定の方法で実装され得る。
【0022】
現在説明されているもつれ量子敵対的生成ネットワーク(EQ-GAN: entangling quantum generative adversarial network)は、大域的最適ナッシュ均衡に収束すると証明され、従来の量子敵対的生成ネットワーク(QGAN)が失敗する問題事例(problem instance)で収束する。
【0023】
さらに、未知の量子状態を生成するための量子回路を学習するタスクも、完全に教師ありの手法で解決され得る。偽物のデータと本物のデータとを区別するように識別器を敵対的に訓練するのではなく、識別器は、正確なスワップテストを実行するために凍結されることが可能であり、真のデータと偽のデータとの間の状態の忠実度を測定することが可能である。これは、ノイズがない場合には元の状態を複製するが、識別器の実装におけるゲートエラーが、誤った最適値への収束を引き起こす。EQ-GANの敵対的手法は、より単純な教師あり学習手法よりもそのようなエラーに対して堅牢であることが示される。量子機械学習モデルを訓練することは、現在の量子ハードウェアにおいて勾配を計算するために多大な時間を必要とし得るので、訓練プロセス中のゲートエラーのドリフト(drifting)に対する耐性は、量子コンピューティングのノイズのある中規模量子(NISQ: noisy intermediate-scale quantum)時代においては特に価値がある。
【0024】
さらに、古典的なデータのための量子機械学習のより広い文脈でのEQ-GANの応用が提供される。古典的な機械学習アルゴリズムに対して指数関数的な高速化を約束するほとんどの量子機械学習アルゴリズムは、量子ランダムアクセスメモリ(QRAM)を必要とする。古典的なデータの重ね合わせを生成するための浅い量子回路を学習することによって、EQ-GANが、近似的なQRAMを作成するために使用され得る。量子ニューラルネットワークのためのそのようなQRAMの応用は、同じ量の訓練時間での量子ニューラルネットワークの分類の精度を、古典的なデータセットを使用した分類の精度よりも向上させることが示され得る。訓練されると、量子ニューラルネットワークは、その分類プロセスの解釈性を提供するために簡単に反転され得る。EQ-GANは、変分回路最適化(variational circuit optimization)を通じて、浅い量子回路によって準備された量子状態に古典的なデータをロードする新しいパラダイムを提供する。
【0025】
本明細書の主題の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。主題のその他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0026】
図1】従来の量子敵対的生成ネットワークの性能を示すグラフである。
図2】例示的なもつれ量子敵対的生成ネットワークを示す図である。
図3】目標量子状態を学習するように量子敵対的生成ネットワークを訓練するための例示的なプロセスのフローチャートであり、量子敵対的生成ネットワークは、生成器ネットワークおよび識別器ネットワークを含む。
図4A】例示的なEQ-GAN識別器アーキテクチャを示す回路図である。
図4B】ユニタリ演算子の例示的な表現を示す図である。
図5】2つの3キュービット状態の間の補助なしスワップテストの回路図である。
図6】量子状態を学習するQGANと現在説明されているEQ-GANとの比較を示すグラフである。
図7】シミュレーションされた量子デバイス上に実装されたEQ-GANおよび教師あり学習器の比較をプロットする第1のグラフ、ならびに物理的な量子デバイス上に実装されたEQ-GANおよび教師あり学習器の比較をプロットする第2のグラフである。
図8】ピークを生成するための2つの変分QRAM(variational QRAM)のアンザッツ(ansatz)を示す図である。
図9】2つのピークを持つ全データセットと、訓練データセットの変分QRAMとを示す図である。
図10】例示的な量子ニューラルネットワークアーキテクチャと、物理デバイス上のその対応するレイアウトとを示す図である。
図11】ランク4の2キュービットもつれゲート(entangling gate)の分解を示す図である。
図12】例示的なシステムを示す図である。
【発明を実施するための形態】
【0027】
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
【0028】
敵対的生成ネットワーク(GAN)は、パラメータ化された生成器ネットワークG(θg, z)およびパラメータ化された識別器ネットワークD(θd; z)を含む。生成器は、入力分布z~p0(z)からサンプリングされたベクトルをデータ例G(θg, z)に変換し、したがって、p0(z)を偽のデータの新しい分布pg(z)に変換する。識別器は、入力サンプルxを取得し、サンプルが(データからの)本物であるかまたは(生成器ネットワークからの)偽物であるかの確率D(θd; z)を与える。訓練は、ミニマックス最適化問題に対応し、本物/偽物のサンプルを区別する識別器の能力を向上させることと、識別器を欺く生成器の能力を向上させることとが交互に実施される。たとえば、以下の式(1)によって与えられるコスト関数Vに関して、
【0029】
【数1】
【0030】
が解かれる。
【0031】
【数2】
【0032】
式(1)において、θgは、生成器ネットワークパラメータを表し、θdは、識別器ネットワークパラメータを表し、pdata(z)は、本物のデータ分布を表し、p0(z)は、入力分布を表す。
【0033】
GおよびDが十分な能力を有し、たとえば、任意の関数の空間に近づく場合、このミニマックスゲームの大域的最適値が存在し、pg(x) = pdata(x)に一意に対応することが証明される。DおよびGをパラメータ化するために多層パーセプトロンが使用され得るが、古典的なニューラルネットワークを量子ニューラルネットワークで置き換えることによって関数空間の次元が増やされることも可能である。最もよくあるケースでは、古典的なデータは、密度行列σ = Σipii><ψi|によって表されることが可能であり、pi∈[0, 1]は、正の範囲を決められた実数を表し、|ψi>は、直交基底状態(orthogonal basis state)である。量子GAN(QGAN)の最初の提案において、生成器ネットワークは、初期状態ρ0から量子状態ρ= U(θg0Ug)を出力する量子回路Uによって定義される。識別器は、本物のデータσかまたは偽物のデータρかのどちらかを取得し、正作用素値測定(POVM: positive operator valued measurement)を実行して、真のデータ演算子Tかまたは偽のデータ演算子Fかのどちらかを返し、
【0034】
【数3】
【0035】
である。したがって、任意の状態ρinが真のデータである確率は、
【0036】
【数4】
【0037】
によって与えられる。QGANは、たとえば、以下の式(3)によって与えられるmin-maxゲームを解く。
【0038】
【数5】
【0039】
1ノルムが1以下である正演算子(positive operator)の集合は凸およびコンパクトであるので、識別器の測定を最適化するために勾配降下が使用され得る。最適な識別器の測定は、ヘルストローム測定(Helstrom measurement)によって与えられ、演算子P+(σ-ρ)および1 - P+(σ-ρ)は、σ-ρの正の部分と負の部分とを区別する。すなわち、厳密に正の固有値
【0040】
【数6】
【0041】
および厳密に負の固有値
【0042】
【数7】
【0043】
(対応する固有状態
【0044】
【数8】
【0045】
および
【0046】
【数9】
【0047】
を持つ)への展開
【0048】
【数10】
【0049】
が与えられると、最適な識別器は、
【0050】
【数11】
【0051】
およびF = 1 - P+(σ-ρ)を選ぶ。D(θd, σ) - D(θd, ρ(θg)) = Tr[Tσ] - Tr[Tρ(θg)] > 0からナッシュ均衡に達するために、生成器は、Tr[Tρ(θg)]が増加するようにθgを修正しなければならない。いくつかの方法は、式(3)を最小化することによってα > 0に関して更新ρ→ρ' = ρ + α(σ-ρ)を提案するが、この戦略は、ナッシュ均衡をもたらさない。T演算子によるトレース(trace)の評価は、生成されるデータをσ-ρの正の射影にのみ揃える。これは、最終的に、下の例に示されるようにモード崩壊を引き起こす。
【0052】
真のデータの状態σおよび状態ρで初期化された生成器を考え、各状態は、
【0053】
【数12】
【0054】
【数13】
【0055】
によって定義され、ここでσxは、パウリ演算子(Pauli operator)xを表し、σyは、パウリ演算子yを表す。σ-ρ=σy/2を分解することによってヘルストローム測定で式(3)を最大化すると、識別器は、
【0056】
【数14】
【0057】
を取得する。密度行列の空間上で最適化すると、生成器は、Tと平行になるようにρを回転させ、
【0058】
【数15】
【0059】
も与える。次の反復で、識別器は、σをρ'と区別するために新しいヘルストローム測定を実行しようと試みるが、これは、T' = P+(σ-ρ') = ρという結果となる。生成器が新しい測定演算子に合うように再調整されるとき、ρ'' = ρである。今や、QGANが各反復でミニマックス最適化問題を完全に解くように訓練される場合、それは収束しないことは簡単に分かる。その代わりに、それは常に状態ρ'とρとの間で振動し、それらの状態のどちらも、そのようなモード崩壊の下では、QGANの性能のためのミニマックスゲームのナッシュ均衡ではない。
【0060】
図1は、式(6)によって与えられた初期化で式(5)に定義された状態を学習する従来のQGANの性能を示すグラフ100である。x軸は、訓練エピソードの数を示す。y軸は、損失を示す。グラフ100は、モード崩壊が、大域的最適値に収束することなく、生成器および識別器の損失の振動として現れることを示す。
【0061】
より広く、状態の有限集合の間の振動を考える。関数Tσ(ρ) = P+(σ-ρ)が、式(4)のσ-ρのスペクトル分解の正の部分から取得された最適なヘルストローム測定
【0062】
【数16】
【0063】
を表すとする。
【0064】
【数17】
【0065】
がTのそれ自体とのkフォールド合成である場合、T(k) = ρであるような何らかのk > 1が存在すれば、k個の状態の間の振動を保証するのに十分である。nキュービットのシステムに関して、これは、一般化されたブロッホ球上で角度π/3だけ分離された目標および初期状態を準備することによって実現され得る。
【0066】
この問題は、QGANの識別器が訓練中にヘルストローム測定に収束することを可能にされるときにのみ一貫して存在するが、それは、QGANアーキテクチャを、ハイパーパラメータ、特に、識別器および生成器が各反復で訓練される学習率およびエポック数の選択に対して、より敏感にする場合がある。QGANの識別器および生成器を完全に訓練する場合、モード崩壊が、ρとρ'との両方によって共有され、したがって、振動中ずっと一定の3/4の忠実度をもたらす。しかし、標準的な学習率および1回の反復につき1エポックのみのレジーム(regime)においてさえ、QGANは、訓練の初めに振動する。不安定な訓練は、古典的なGANアーキテクチャにおいてさえ克服するのが難しく、したがって、そのような非収束を防止する方法の理解の進歩は、量子機械学習と古典的な機械学習との両方にとって重要である。
【0067】
本明細書は、上述のモード崩壊を経験せず、したがって、より堅牢なQGANアーキテクチャを提供する新しい量子GANを説明する。新しい量子GANは、識別器に真のデータか偽のデータかのどちらかを提供する代わりに、真のデータと偽のデータとの両方をもつれさせるもつれQGAN(本明細書においてはEQ-GANと呼ばれる)である。
【0068】
例示的な動作環境
図2は、もつれ量子敵対的生成ネットワーク(EQ-GAN)200のブロック図である。
【0069】
EQ-GAN 200は、真のデータ状態生成器202を含む。真のデータ状態生成器202は、目標量子状態、たとえば、真のデータの状態208を生成するように構成される量子ハードウェアを含む。いくつかの実装において、真のデータ状態生成器202は、量子回路を初期量子状態に適用することによって目標量子状態を準備することができる。場合によっては、たとえば、目標量子状態が古典的なデータの重ね合わせである場合には、特定の目標量子状態を生成するために必要とされる量子回路が、実装するコストが高い量子論理ゲートを含み得る、および/または大きな回路深度を有し得る。したがって、多数の目標量子状態を生成することは、非効率的または実行不可能であり得る。
【0070】
EQ-GAN 200は、生成器ネットワーク204も含む。生成器ネットワーク204は、目標量子状態に近似する量子状態、たとえば、偽のデータの状態210を生成するように構成される。たとえば、下でより詳細に説明されるように、生成器ネットワークは、目標量子状態に近似する量子状態を出力するために、パラメータ化された量子回路を初期量子状態に適用するように構成される量子コンピューティングハードウェアを含み得る。パラメータ化された量子回路は、厳密な目標量子状態を生成するための真のデータ状態生成器202によって実装される量子回路と比較して、より小さな回路深度を有し得る。したがって、EQ-GANの損失関数の値が収束するまでパラメータ化された量子回路パラメータを調整することによって生成器ネットワーク204を訓練することは、生成器ネットワーク204が、より低い計算コストで目標量子状態の正確な近似値を生成することを可能にすることができる。生成器ネットワーク204によって実行される例示的な動作は、図3図11を参照して下でより詳細に説明される。生成器ネットワーク204に含まれる例示的なハードウェアは、図12を参照して下でより詳細に説明される。
【0071】
EQ-GAN 200は、識別器ネットワーク206も含む。識別器ネットワーク206は、識別器ネットワーク入力を受け取り、識別器ネットワーク入力の忠実度212を測定するために、識別器ネットワーク入力に対してもつれ動作214を実行するように構成される。識別器ネットワーク入力は、真のデータ状態生成器202から取得された真のデータの状態208と、生成器ネットワーク204から出力された偽のデータの状態210とを含む。すなわち、識別器ネットワーク206は、真のデータの状態と偽のデータの状態とをもつれさせるように構成される。もつれ動作は、スワップテストに近似するパラメータ化されたもつれ動作である。いくつかの実装において、もつれ動作は、補助キュービット(ancilla qubit)を必要とする。その他の実装において、もつれ動作は、スワップテストの補助なしの近似である。どちらの場合も、もつれ動作は、パラメータ化された量子回路の適用によって実施され得る。識別器ネットワーク206によって実行される例示的な動作は、図3図11を参照して下でより詳細に説明される。識別器ネットワーク206に含まれる例示的なハードウェアは、図12を参照して下でより詳細に説明される。
【0072】
EQ-GAN 200は、生成器ネットワーク204が目標量子状態の改善された近似を生成する量子回路を学習することを可能にするように訓練され得る。訓練中、生成器ネットワーク204による偽のデータの状態の生成と、識別器ネットワーク206による忠実度の測定の学習とは、収束基準が満たされるまで敵対的に最適化される。訓練されると、生成器ネットワーク204は、たとえば、量子ランダムアクセスメモリに近似するために、訓練された生成器ネットワークパラメータに従って目標量子状態の近似値216を生成するために使用され得る。目標量子状態を学習するようにEQ-GANを訓練するための例示的なプロセスが、図3を参照して以下で説明される。
【0073】
EQ-GANを訓練するための例示的なプロセス
図3は、目標量子状態を学習するように量子敵対的生成ネットワークを訓練するための例示的なプロセス300の流れ図であり、量子敵対的生成ネットワークは、生成器ネットワークおよび識別器ネットワークを含む。便宜上、プロセス300は、1つまたは複数の場所に置かれた制御電子機器と通信する量子ハードウェアによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされた図2のシステム200が、プロセス300を実行し得る。
【0074】
システムは、量子敵対的生成ネットワーク損失関数の値が収束するまで、量子敵対的生成ネットワークのパラメータθg、θdを反復的に調整する。量子敵対的生成ネットワーク損失関数は、式(8)を参照して下で説明される。
【0075】
各反復において、生成器ネットワークは、量子状態ρを出力するために、初期量子状態ρ0を処理する(ステップ302)。処理は、初期量子状態に第1の量子回路Uを適用することを含むことが可能であり、第1の量子回路は、パラメータ化された量子回路であり、生成器ネットワークパラメータθgを構成するパラメータを含む。すなわち、量子状態は、ρ = U(θg0Ug)によって与えられることが可能であり、ここで、U(θg)は、パラメータ化された第1の量子回路を表し、θgは、生成器ネットワークパラメータを表し、ρ0は、初期量子状態を表す。量子状態ρは、目標量子状態に近似し、生成器ネットワークパラメータθgを反復的に調整することは、第1の量子回路U(θg)が目標量子状態へのより優れた近似値を生成することを可能にする。処理は、量子ハードウェアを使用して実行されてよい。
【0076】
各反復において、識別器ネットワークは、識別器ネットワーク入力の忠実度を測定するために、識別器ネットワーク入力に対してもつれ動作を実行する(ステップ304)。識別器ネットワーク入力は、目標量子状態と、生成器ネットワークから出力された量子状態とを含む。つまり、識別器ネットワークは、古典的なGANの識別器に直接的に類似しているわけではない。偽のデータかまたは真のデータかのどちらを個々に評価するのではなく、識別器は、真のデータσへのアクセスを常に提供され、以下の式(7)で与えられるように、入力状態ρinに対して忠実度測定
【0077】
【数18】
【0078】
を実行する。
【0079】
【数19】
【0080】
これは、量子敵対的生成の損失関数はナッシュ均衡に収束することを可能にする。もつれ動作は、量子ハードウェアを使用して実行されてよい。
【0081】
識別器ネットワークによって実行されるもつれ動作は、スワップテストに近似するパラメータ化されたもつれ動作である。スワップテストは、2つの量子状態がどれだけ異なるかをチェックするために使用される量子計算の手順である。スワップテストは、たとえば、0状態で初期化された補助キュービットを必要とし、繰り返し、補助キュービットにアダマールゲートを適用することと、第1の量子状態および第2の量子状態からのキュービットのペアにCSWAP(制御スワップゲートまたはフレドキンゲートとも呼ばれる)ゲートを適用することと、補助キュービットにアダマールゲートを適用することと、量子状態がどれだけ異なるかを決定するために、たとえば、Z基底において補助キュービットを測定することとによって実行される。
【0082】
いくつかの実装において、識別器ネットワークDσd, ρin)は、(厳密なスワップテストの場合と同様に)補助キュービットを用いるパラメータ化された量子回路であることが可能であり、回路パラメータが、識別器ネットワークパラメータを構成する。厳密なスワップテストを実現するパラメータ
【0083】
【数20】
【0084】
が存在する、すなわち、
【0085】
【数21】
【0086】
である場合、Dσは、最適化中に最適な識別器に到達するのに十分な表現力がある。しかし、2つのnキュービット状態にわたる従来のスワップテストは、2n個のキュービットにまたがる2キュービットゲートを必要とするので、局所的な接続性(connectivity)を持つ量子デバイスへの実装は、回路深度の法外なオーバーヘッドを招く。したがって、いくつかの実装において、識別器ネットワークは、スワップテストに近似する補助キュービットを用いるパラメータ化された回路であることが可能である。
【0087】
図4Aは、例示的な識別器ネットワークアーキテクチャを示す回路図400である。例示的な識別器ネットワークアーキテクチャは、3つの量子状態402a~cを含む。第1の量子状態402aは、初期状態、たとえば、0状態において準備された補助キュービットである。第2の量子状態402bは、生成器ネットワークの出力ρ(θg)、たとえば、偽のデータである。第3の量子状態402cは、1つまたは複数のキュービットの目標量子状態σ、たとえば、真のデータである。
【0088】
識別器ネットワークは、補助キュービット402aに第1のアダマールゲート404を適用し、補助キュービット402a、生成器ネットワークの出力ρ(θg)、および目標量子状態σにユニタリ演算子406を適用する。ユニタリ演算子406は、識別器パラメータθdの集合に依存し、スワップテストに近似する。ユニタリ演算子406は、量子論理ゲートのシーケンスを表すことが可能であり、シーケンスに含まれる量子論理ゲートは、第2および第3の量子状態のサイズならびに特定のハードウェアの実装に基づいて変わり得る。たとえば、目標量子状態が単一キュービット状態であり、生成器ネットワークの出力が単一キュービット状態である場合、量子論理ゲートのシーケンスは、単一キュービット回転ゲート、Sゲート、Tゲート、アダマールゲート、パウリXゲート、およびCZゲートを含む可能性がある。例示的なユニタリ演算子406の回路表現が、図4Bに示される。図4Bにおいて、X1~X7は、訓練される自由パラメータ(free parameter)を表す。
【0089】
識別器ネットワークは、さらに、補助キュービット402aに第2のアダマールゲート408を適用し、第2の量子状態402bと第3の量子状態402cとの間の差を表す識別器出力412を取得するために、測定動作410を使用して補助キュービットを測定する。
【0090】
識別器ネットワークの物理的な実装をさらに簡単にするために、いくつかの実装において、識別器ネットワークDσd, ρin)は、補助キュービットを含まないパラメータ化された回路であることが可能である。その代わりに、識別器ネットワークは、スワップテストに対して破壊的な(destructive)補助なしの(補助キュービットなしの)近似を実行するパラメータ化された回路であることが可能である。
【0091】
たとえば、平面的接続性(planar connectivity)を持つ量子デバイスに関して、CNOTゲートは、ネイティブのCZゲートを使用するために、
【0092】
【数22】
【0093】
演算に分解され得る。CZゲートは、どちらかのキュービット上の未知の角度のZ回転を用いて効果的にモデル化され得る不安定なエラーを有する。現在説明されているEQ-GAN形式は、各CZ演算の直後にRZ(θ)ゲートを適用することによって、単一キュービットの位相エラーを克服することができる。敵対的訓練中に、2キュービットゲートのエラーを軽減するために、自由角度θが勾配降下で最適化される。敵対的生成フレームワークによって提供される収束特性のおかげで、識別器は、可能な最良の状態の識別器に証明可能なように収束する。これは、識別器の損失が最良の状態の識別器が達せられたことを示すとき、(図7に示されるように)早期停止の動機となる。
【0094】
図5は、第1の3キュービット状態502と第2の3キュービット状態504との間の補助なし近似スワップテストの回路図500である。回路図500の左側は、厳密なスワップテスト506を示す。厳密なスワップテストにおいては、第1のアダマールゲート508が、補助キュービット510に適用され、3つのCSWAPゲート512が、第1および第2の3キュービット状態502および504のキュービットのペアに適用され、たとえば、第1のCSWAPゲートが、第1の状態502の第1のキュービットおよび第2の状態504の第1のキュービットに適用され、第2のCSWAPゲートが、第1の状態502の第2のキュービットおよび第2の状態504の第2のキュービットに適用され、第3のCSWAPゲートが、第1の状態502の第3のキュービットおよび第2の状態504の第3のキュービットに適用され、補助キュービット510は、各CSWAPゲートのための制御として働く。第2のアダマールゲート514が補助キュービット510に適用され、補助キュービットの測定された結果を取得するために、測定動作516が実行される。
【0095】
回路図500の右側は、スワップテスト518の代替的な実装を示す。制御スワップ演算512を、第1の状態502のそれぞれのキュービットに適用されるCNOTゲート520であって、第2の状態504のそれぞれのキュービットが各CNOTゲートのための制御として働く、CNOTゲート520、第2の状態504の各キュービットに適用されるアダマールゲート522、第1の状態502および第2の状態504の各キュービットに対して実行される測定動作524、補助古典ビット(ancilla classical bit)に適用されるトフォリゲート526であって、各トフォリゲートが第1の状態502のそれぞれのキュービットおよび第2の状態504のそれぞれのキュービットを制御として使用する、トフォリゲートとして書き換え、計算基底演算を古典的な後処理で置き換えることによって、スワップテストは、補助キュービットなしで、補助的古典ビット(ancillary classical bit)を用いて実行され得る(したがって、「補助なし」スワップテストという用語)。
【0096】
図3に戻ると、システムは、量子敵対的生成ネットワークのパラメータを更新するために、量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行する(ステップ306)。ミニマックス最適化は、1つまたは複数の古典プロセッサを使用して実行されてよい。量子敵対的生成ネットワーク損失関数は、識別器ネットワーク出力(識別器ネットワーク入力の測定された忠実度Dσd, ρ(θg)))に依存し、以下の式(8)によって与えられるように、1から識別器ネットワーク入力の測定された忠実度を引いたものに等しい。
【0097】
【数23】
【0098】
量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行することは、生成器ネットワークパラメータθgを前の反復において決定された値(または反復が最初の反復である場合は初期値)に固定し、反復の識別器ネットワークパラメータの更新された値を決定するために、識別器ネットワークパラメータθdに関して量子敵対的生成ネットワーク損失関数を最大化することと、識別器ネットワークパラメータを反復の識別器ネットワークパラメータθdの更新された値に固定し、反復の生成器ネットワークパラメータの更新された値を決定するために、生成器ネットワークパラメータθgに関して量子敵対的生成ネットワーク損失関数を最小化することとを含む。つまり、EQGANアーキテクチャは、状態ρ(θg)の生成と、忠実度測定Dσの学習とを敵対的に最適化する。
【0099】
ステップ302~306に関連して上で説明されたように、量子敵対的生成ネットワーク損失関数の値が収束するまで、量子敵対的生成ネットワークのパラメータを反復的に調整することは、訓練された生成器ネットワークおよび訓練された識別器ネットワークを定義する訓練された生成器ネットワークおよび識別器ネットワークパラメータを生成する。訓練されると、生成器ネットワークは、たとえば、下で説明されるQRAMの一部として、訓練された生成器ネットワークパラメータに従って目標状態に対する正確な近似値を生成することができる。
【0100】
今や、所望の位置に一意的なナッシュ均衡が存在することが示される。定義によれば、0≦Dσd, ρ(θg))≦1は、図4Aまたは図5に示された回路の終わりにおいて状態|1>を測定する確率である。識別器が恒等変換を実現する、すなわち、
【0101】
【数24】
【0102】
である場合、状態|1>を観測する確率は0である。識別器の最大化の第1のステップにおいて、識別器は、生成器出力および真のデータに対して自明でないもつれ動作を実施する。さらに、U(θd)に関するスワップテストの回路のアンザッツが与えられると、2つの任意の状態を区別するための最大値は、完全なスワップテストの角度によって一意に達成される。識別器がスワップテストを選択しない場合があるが、次のステップは、生成器側からDσd, ρ(θg))を最小化することである。識別器がスワップテストを実施しない場合、生成器は、それが忠実度の比較を使用していないために識別器によって十分に区別されない新しい任意の状態を選択することができる。最終的に、生成器は、識別器がスワップテストを使用する場合、または使用する場合にのみ改善することができず、その時点で、一意の最小値がρin = σにある。
【0103】
回路のパラメータ化U(θd)は、識別器ネットワークを実装するために使用されているデバイスのタイプ、デバイス内の利用可能な接続性、デバイスによって効率的に実装されることが可能なゲートのタイプなどを含む様々な要因に基づいて選択され得る。たとえば、平面的接続性を持つ近い将来の量子デバイスに関しては、固定ゲート(fixed gate)または2キュービットもつれゲートが、効率的に実装されることが可能であり、したがって、回路のパラメータ化を形成することが可能である。
【0104】
うまく選択されなかった回路のパラメータ化は非凸の損失関数のランドスケープ(landscape)を生じ、したがって、勾配降下によって最適化するのが困難である場合があるが、これは、任意のユニタリを浅い量子回路として表現することが困難であることが原因で、QGANと共有される問題であり、同様に、古典的なGANにおける非凸性は、多くの場合、収束を妨げる。しかし、EQ-GANアーキテクチャは、完全に訓練され、適切にパラメータ化されたQGANによって手の届かない問題事例において成功裏に収束する。図6は、式(5)によって与えられた量子状態を学習するQGANと現在説明されているEQ-GANとの比較を示すグラフ600である。x軸は、反復の回数を表す。y軸は、データの状態との重なりを表す。グラフ600は、QGANが等しい忠実度(3/4)の2つの状態の間を無限に振動する一方で、EQ-GANは完全な忠実度に急速に収束することを示す。
【0105】
エラーの抑制の学習
EQ-GANは、未知の量子状態を学習するための、より単純な教師あり学習の手法と比較して、ゲートエラーに対して改善された堅牢性を実現することができる。EQ-GANにおいて識別器として使用されるパラメータ化されたスワップテストを敵対的に訓練するのではなく、完全なスワップテストが、凍結された識別器によって反復のたびに適用される可能性がある。これはまた、スワップテストが一意の大域的最適値を保証するので、生成器回路を真のデータに収束させる場合がある。
【0106】
しかし、スワップテストにゲートエラーが存在する場合、この一意の大域的最適値が真のデータからオフセットされる。EQ-GANは完全なスワップテストの正確なパラメータ化に依存しないので、適切なアンザッツが、近い将来の量子ハードウェアにおいて観測されるコヒーレントなエラーを訂正することを学習し得る。特に、2キュービットもつれゲートにおける条件付きZ位相(conditional Z phase)、単一キュービットZ位相(single qubit Z phase)、およびスワップ角(swap angle)などのゲートパラメータは、O(10)分の時間スケールでドリフトし、振動し得る。このような未知の系統的および時間に依存するコヒーレントなエラーは、勾配の計算および更新が多くの測定値を必要とする量子機械学習における応用に重大な課題を与える。
【0107】
単一キュービットおよび2キュービットZ回転角の大きな狂いは、追加の単一キュービットZ位相補償(single-qubit Z phase compensation)を含めることによって大幅に軽減され得る。そのような系統的エラーの緩和の有効性および重要性は、近年、フェルミ分子(fermionic molecule)のエネルギー推定において最先端の精度を達成することに成功した際に示された。真のスワップテストに最も近い識別器回路の学習において、EQ-GANの敵対的学習は、その他の近い将来の量子アルゴリズムの忠実度を向上させるために広く適用可能である場合がある有用なパラダイムを提供する。
【0108】
敵対的識別器のユニタリがU(θd)によって与えられるものとすると、ここで
【0109】
【数25】
【0110】
が、ノイズがない場合の完全なスワップテストに対応する。トレース保存完全正値のノイズのあるチャネルεが与えられると、識別器は、新しいユニタリ演算
【0111】
【数26】
【0112】
によって置き換えられる。教師ありの手法は、
【0113】
【数27】
【0114】
によって与えられる近似スワップテストを適用するが、敵対的スワップテストは、
【0115】
【数29】
【0116】
であるようなパラメータ
【0117】
【数28】
【0118】
が存在する場合、概してより優れた性能を発揮する。識別器が生成器によって最適化された損失ランドスケープを定義するので、ノイズのあるユニタリ
【0119】
【数30】
【0120】
のパラメータ化がエラーを軽減するのに十分なだけ一般的である場合、EQ-GANによって生成されるρ(θg)は、教師ありの手法によって可能であるよりもσに近い状態に収束する場合がある。
【0121】
識別器は最適なナッシュ均衡におけるスワップテストに収束しなければならないので、収束は、ノイズが存在する場合、2フェーズの訓練によって発見的に改善される場合がある。第1のフェーズにおいて、ユニタリ
【0122】
【数31】
【0123】
は不完全なスワップテストである場合があるが、識別器は、完全なスワップテストのパラメータで凍結され、生成器は、損失が収束するまで訓練される。訓練の第2のフェーズにおいて、識別器は、生成器に対して敵対的に変化することを可能にされ、パラメータ
【0124】
【数32】
【0125】
を求める。ゲートエラーの文脈では、この第2のフェーズは、真のスワップテストにより近いユニタリをもたらす場合がある。
【0126】
言い換えると、量子敵対的生成ネットワーク損失関数のミニマックス最適化を実行することは、識別器ネットワークパラメータを完全なスワップテストに対応する値に固定し、反復の生成器ネットワークパラメータの最初の更新された値を決定するために、生成器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最小化することと、生成器ネットワークパラメータを最初の更新された値に固定し、反復の識別器ネットワークパラメータの更新された値を決定するために、識別器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最大化することと、識別器ネットワークパラメータを反復の識別器ネットワークパラメータの更新された値に固定し、反復の生成器ネットワークパラメータの更新された値を決定するために、生成器ネットワークパラメータに関して量子敵対的生成ネットワーク損失関数を最小化することとを含み得る。
【0127】
例として、ノイズのある量子デバイスにおいて重ね合わせ状態
【0128】
【数33】
【0129】
を学習するタスクを考える。上述の発見的方法に従って、EQ-GANは、訓練の前半の間は凍結された識別器を用いて訓練され、後半の間は敵対的に訓練される。識別器は、必要な2キュービット動作を提供するCZゲートを用いるスワップテストによって定義される。しかし、ゲートエラーを訂正することを学習するために、識別器は、CZゲートの直後に挿入される単一キュービットZ回転の角度を敵対的に学習する。したがって、EQ-GANは、完全なスワップテストの状態の重なりよりも著しく優れた状態の重なりを取得する。
【0130】
Table I(表1)は、実験デバイスにおけるEQ-GANおよび教師あり学習器の複数回の実行後の平均エラーを示す。
【0131】
【表1】
【0132】
Table I(表1)において、50キュービット、CZゲート、および任意の単一キュービットゲートを持つ量子デバイス上のEQ-GANおよび教師あり学習器の比較は、EQ-GANのエラー(すなわち、1-真のデータに対する状態の忠実度)は、教師あり学習器のエラーよりも著しく小さいことを示し、エラーが抑制されたスワップテストの成功した敵対的訓練を示す。不確かさは、2標準偏差を示す。
【0133】
図7は、シミュレーションされた量子デバイス上に実装されたEQ-GANおよび教師あり学習器の比較をプロットする第1のグラフ700と、物理的な量子デバイス上に実装されたEQ-GANおよび教師あり学習器の比較をプロットする第2のグラフ750とを示す。両方のグラフにおいて、x軸は、反復の回数を表し、y軸は、真のデータに対する状態の忠実度を表す。シミュレーションにおいては、単一キュービット回転に関する正規分布に従うノイズが、0から離れる系統的バイアス(systematic bias)で適用され、教師あり学習器の識別器に誤った状態への収束を強制させる。EQ-GANは、そのようなエラーを追加の単一キュービット回転で訂正するように学習することによって、より高い状態の重なりに収束することが実験的に確認されている。収束したEQ-GAN(破線)は、識別器の損失が極値に達する反復によって決定される。
【0134】
QRAMへの応用
多くの量子機械学習の応用は、重ね合わせた状態のデータをロードするための量子ランダムアクセスメモリ(QRAM)を必要とする。しかし、任意の状態をロードすることは、ノイズのある制御された回転を必要とすることがあり得、n個の状態の任意の集合の重ね合わせを準備することは、良くてO(n)の動作を取得する。好適なアンザッツが与えられると、EQ-GANが、データの重ね合わせと近似的に等価な状態を学習するために使用され得る。すなわち、図3を参照して上で説明された目標量子状態は、データの重ね合わせを表す重ね合わせ状態であることが可能であり、訓練されると、生成器ネットワークは、訓練された生成器ネットワークパラメータに従って、QRAMに近似する重ね合わせ状態を生成するために使用され得る。EQ-GANの訓練が、別のアルゴリズムの文脈においてQRAMに求められる呼び出しの回数よりも計算コストが低い場合、量子加速が得られ得る。
【0135】
変分QRAMを示すために、異なるガウス分布からサンプリングされた2つのピークのデータセットが使用される。経験的確率密度関数を厳密に符号化することは、非常に深い回路および複数制御回転(multiple-control rotation)を必要とするが、指数関数的なピークを生成する浅い回路のアンザッツが選択され得る。図8は、ピークを生成するための2つの変分QRAMのアンザッツを示す。クラス0は、中央のピークに対応し、クラス1は、オフセットされたピークに対応する。経験的データ分布に近似するように訓練されると、変分QRAMは、元のデータセットをかなり忠実に再現する。図9は、2つのピークを持つ全データセット(正規分布からサンプリングされ、N = 120)と、訓練データセット(N = 60)の変分QRAMとを示す。変分QRAMは、状態σの厳密な重ね合わせに近似するために浅いピークのアンザッツで状態ρを生成するようにEQ-GANを訓練することによって取得される。訓練およびテストデータセット(それぞれN = 60)は、両方とも、2つのクラス間でバランスが取られている。
【0136】
量子機械学習の文脈においてそのようなQRAMを使用するための原理の証明として、量子ニューラルネットワークが、上述のQRAMを使用して訓練されることが可能であり、ヒンジ損失が、(量子回路として符号化された)各データエントリを個々に考慮するか、または(変分QRAMにおいて重ね合わせとして符号化された)各クラスを個々に考慮するかのどちらかによって計算される。勾配を計算するための回路評価の回数が同じであるとすると、以下のTable II(表2)に示されるように、重ね合わせは、近似分布を使用しているにもかかわらず、訓練の終わりに、より高い精度に収束する。
【0137】
【表2】
【0138】
Table II(表2)は、1回のエポックに関して訓練データセット(N = 60)のすべてのサンプルにおいて訓練されたか、または等しい回数の回路評価に関して変分QRAMにおいて訓練されたかのどちらかの量子ニューラルネットワーク(QNN)のテスト精度(N = 60)を示す。変分QRAMにおいて訓練されたQNNは元のデータセットに直接アクセスすることができなかったが、精度は、生のデータセットで評価されている。不確かさは、2標準偏差を示す。
【0139】
古典的なデータセットの個々の例による量子ニューラルネットワーク(QNN)の訓練と、事前に訓練されたEQ-GANから取得されたデータの重ね合わせによるQNNの訓練との間の性能の実験により得られた差が示され得る。単一および2キュービットゲートを持つ任意のパラメータ化された回路が、QNNのアンザッツを構築するために使用され得る。50キュービット、CZゲート、および任意の単一キュービットゲートを持つ量子デバイスの平面的接続性により、図10に示されるQNNは、4キュービットのデータの状態で実装され得る。図10は、例示的な量子ニューラルネットワークアーキテクチャ(左)と、量子デバイス上のその対応するレイアウト(右)とを示す。4つのキュービットのデータの状態が、図7に示された回路で構築され、青色のキュービット上の|data>状態に置かれる。次いで、読み出しキュービット(オレンジ色)が、図11に示されるパラメータ化された2キュービット相互作用を実行する。ネイティブのCZ 2キュービットゲートを使用するために、
【0140】
【数34】
【0141】
によって与えられるランク4もつれゲートGが実装され、このランク4もつれゲートGは、図11に示されるように分解され得る。いくつかの従来の提案と同様にZZ相互作用を使用する代わりに、任意の2キュービットもつれ相互作用が、パラメータ化されたユニタリを構築するために自由に選択され得る。
【0142】
図11は、式(9)によって与えられたQNNのアンザッツにおいて使用される2キュービットもつれゲートG(θ)の分解を示す。
【0143】
QNNは、2つの方法で-サンプリングによってまたは重ね合わせによって-訓練され得る。上述のように、重ね合わせの方法論は、訓練データセットの厳密な重ね合わせを使用してはならない。その代わりに、重ね合わせの方法論は、EQ-GANを事前に訓練することによって取得された浅い近似を使用することができる。公平な比較のために、量子デバイスへの等しい数の問い合わせ(query)が許される。その結果、1クラスあたり30例としてN = 60例に関して、サンプリングによる訓練は、量子デバイス上で実行される60回の反復に対応する60で1エポック実行される。しかし、重ね合わせによる訓練は、(2クラスあるので)各クラスの重ね合わせを30回評価し、また、60回の反復のために量子デバイスにアクセスする。さらに、ベイズ最適化が、サンプリングおよび重ね合わせの方法論の異なる学習率を調整するために使用される。シミュレーションにおいては、10-4から10-1までのAdamの学習率が、10回のランダムなパラメータの試行およびガウス過程推定量(Gaussian process estimator)の40回の評価で最適化される。各パラメータ問い合わせに関して、QNNの出力は、任意の統計的な変動を減らすために10回の試行で平均される。次いで、最終的な学習率(サンプリングに関して10-3.93および重ね合わせに関して10-1.83)を使用するQNNが、計算された標準偏差と共にTable II(表2)に報告された最終的な性能を取得するために50回の試行で評価される。
【0144】
図12は、本明細書で説明される古典的な計算および量子計算を実行するための例示的なシステム1200を示す。例示的なシステム1200は、本明細書において説明されるシステム、コンポーネント、および技術が実装され得る、1つまたは複数の場所の1つまたは複数の古典的なコンピュータおよび量子コンピューティングデバイス上の古典的なおよび量子コンピュータプログラムとして実装されるシステムの例である。
【0145】
例示的なシステム1200は、例示的な量子コンピューティングデバイス1202を含む。量子コンピューティングデバイス1202は、いくつかの実装による、本明細書において説明される量子計算動作を実行するために使用され得る。量子コンピューティングデバイス1202は、様々な形態の量子コンピューティングデバイスを表すように意図される。本明細書に示されるコンポーネント、それらのコンポーネントの接続および関係、ならびにそれらのコンポーネントの機能は、例示的であるに過ぎず、本明細書において説明および/または特許請求される本発明の実装を限定しない。
【0146】
例示的な量子コンピューティングデバイス1202は、キュービットアセンブリ1252と、制御および測定システム1204とを含む。キュービットアセンブリは、アルゴリズムの動作または量子計算を実行するために使用される複数のキュービット、たとえば、キュービット1206を含む。図12に示されるキュービットは矩形の配列に配置されているが、これは、模式的な描写であり、限定的であるように意図されていない。キュービットアセンブリ1252は、結合されたキュービット間の相互作用を可能にする調整可能な結合要素、たとえば、結合器1208も含む。図12の模式的な描写において、各キュービットは、それぞれの結合要素によって、その隣接する4つのキュービットの各々に調整可能に結合される。しかし、これはキュービットおよび結合器の例示的な配置であり、矩形でない配置、隣接していないキュービットの間の結合を可能にする配置、および3つ以上のキュービットの間の調整可能な結合を含む配置を含むその他の配置が可能である。
【0147】
各キュービットは、0および1の論理値を表す準位を有する物理的な2準位量子システムまたはデバイスであることが可能である。複数のキュービットおよびそれらのキュービットが互いにどのように相互作用するかの特定の物理的な実現は、例示的システム1200に含まれる量子コンピューティングデバイスのタイプ、または量子コンピューティングデバイスが実行している量子計算のタイプを含む様々な要因に依存する。たとえば、原子量子コンピュータにおいて、キュービットは、原子、分子、または固体量子系(solid-state quantum system)、たとえば、超微細原子状態(hyperfine atomic state)によって実現される場合がある。別の例として、超伝導量子コンピュータにおいて、キュービットは、超伝導キュービットまたは半導体キュービット、たとえば、超伝導トランズモン状態(superconducting transmon state)によって実現される場合がある。別の例として、NMR量子コンピュータにおいて、キュービットは、核スピン状態によって実現される場合がある。
【0148】
いくつかの実装において、量子計算は、選択された初期状態においてキュービットを初期化し、キュービットにユニタリ演算子のシーケンスを適用することによって進行し得る。量子状態にユニタリ演算子を適用することは、キュービットに量子論理ゲートの対応するシーケンスを適用することを含み得る。例示的な量子論理ゲートは、1キュービットゲート、たとえば、パウリX、パウリY、パウリZ(X、Y、Zとも呼ばれる)、アダマールゲート、Sゲート、回転、2キュービットゲート、たとえば、制御X、制御Y、制御Z(CX、CY、CZとも呼ばれる)、制御NOTゲート(CNOTとも呼ばれる)、制御スワップゲート(CSWAPとも呼ばれる)、および3つ以上のキュービットを含むゲート、たとえば、トフォリゲートを含む。量子論理ゲートは、制御および測定システム1204によって生成された制御信号1210をキュービットおよび結合器に適用することによって実施され得る。
【0149】
たとえば、いくつかの実装において、キュービットアセンブリ1252のキュービットは、周波数調整可能であり得る。これらの例において、各キュービットは、キュービットに結合された1つまたは複数の駆動線を介した電圧パルスの印加によって調整され得る関連する動作周波数を有することが可能である。例示的な動作周波数は、キュービットアイドリング周波数、キュービット相互作用周波数、およびキュービット読み出し周波数を含む。異なる周波数は、キュービットが実行することができる異なる動作に対応する。たとえば、動作周波数を、対応するアイドリング周波数に設定することは、キュービットを、そのキュービットがその他のキュービットと強く相互作用せず、単一キュービットゲートを実行するために使用されてよい状態にする場合がある。別の例として、固定の結合を持つ結合器を介してキュービットが相互作用する場合、キュービットは、それらのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲートに依存する周波数に設定することによって、互いに相互作用するように構成され得る。その他の場合、たとえば、キュービットが調整可能な結合器を介して相互作用するとき、キュービットは、キュービットの間の相互作用を可能にするようにそれらのそれぞれの結合器のパラメータを設定し、かつ、キュービットのそれぞれの動作周波数を、それらの共通の相互作用周波数から離調する何らかのゲートに依存する周波数に設定することによって、互いに相互作用するように構成され得る。そのような相互作用は、マルチキュービットゲートを実行するために実行される場合がある。
【0150】
使用される制御信号1210のタイプは、キュービットの物理的実現に依存する。たとえば、制御信号は、NMRもしくは超伝導量子コンピュータシステムにおけるRFもしくはマイクロ波パルス、または原子量子コンピュータシステムにおける光パルスを含む場合がある。
【0151】
量子計算は、それぞれの制御信号1210を使用して、たとえば、XまたはZなどの量子観測可能量を使用してキュービットの状態を測定することによって完了され得る。測定は、測定結果を表す読み出し信号1212を測定および制御システム1204に伝達し返させる。読み出し信号1212は、量子コンピューティングデバイスおよび/またはキュービットの物理的方式に応じて、RF、マイクロ波、または光信号を含む場合がある。便宜上、図12に示された制御信号1210および読み出し信号1212は、キュービットアセンブリの選択された要素(すなわち、一番上および一番下の行)のみをアドレス指定するように示されているが、動作中、制御信号1210および読み出し信号1212は、キュービットアセンブリ1252内の各要素をアドレス指定することができる。
【0152】
制御および測定システム1204は、上述のキュービットアセンブリ1252上の様々な動作およびその他の古典的なサブルーチンまたは計算を実行するために使用され得る古典的なコンピュータシステムの例である。制御および測定システム1204は、1つまたは複数のデータバスによって接続された1つまたは複数の古典プロセッサ、たとえば、古典プロセッサ1214、1つまたは複数のメモリ、たとえば、メモリ1216、および1つまたは複数のI/Oユニット、たとえばI/Oユニット1218を含む。制御および測定システム1204は、たとえば、選択された一連の量子ゲート動作を実行するために、キュービットアセンブリに制御信号1210のシーケンスを送信し、たとえば、測定動作の実行の一部として、キュービットアセンブリから読み出し信号1212のシーケンスを受信するようにプログラミングされ得る。
【0153】
プロセッサ1214は、制御および測定システム1204内で実行するための命令を処理するように構成される。いくつかの実装において、プロセッサ1214は、シングルスレッドプロセッサである。その他の実装において、プロセッサ1214は、マルチスレッドプロセッサである。プロセッサ1214は、メモリ1216に記憶された命令を処理することができる。
【0154】
メモリ1216は、制御および測定システム1204内に情報を記憶する。いくつかの実装において、メモリ1216は、コンピュータ可読媒体、揮発性メモリユニット、および/または不揮発性メモリユニットを含む。場合によっては、メモリ1216は、システム1204に大容量ストレージを提供することができるストレージデバイス、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、および/または何らかのその他の大容量ストレージデバイスを含み得る。
【0155】
入力/出力デバイス1218は、制御および測定システム1204に入力/出力動作を提供する。入力/出力デバイス1218は、D/Aコンバータ、A/Dコンバータ、およびRF/マイクロ波/光信号ジェネレータ、トランスミッタ、およびレシーバを含むことができ、それによって、量子コンピュータの物理的方式に適切なように、キュービットアセンブリに制御信号1210を送信しキュービットアセンブリから読み出し信号1212を受信する。いくつかの実装において、入力/出力デバイス1218は、1つもしくは複数のネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードも含み得る。いくつかの実装において、入力/出力デバイス1218は、入力データを受信し、その他の外部デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイスに出力データを送信するように構成されたドライバデバイスを含み得る。
【0156】
例示的な制御および測定システム1204が図12に示されたが、本明細書に記載の主題および機能的動作の実装は、本明細書で開示された構造およびそれらの構造的均等物を含む、その他の種類のデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。
【0157】
例示的なシステム1200は、例示的な古典プロセッサ1250を含む。古典プロセッサ1250は、いくつかの実装による、本明細書に記載の古典的な計算動作、たとえば、本明細書に記載の古典的な機械学習方法を実行するために使用され得る。
【0158】
本明細書に記載の主題の実装および動作は、本明細書において開示された構造およびそれらの構造的均等物を含むデジタル電子回路、アナログ電子回路、好適な量子回路、またはより広く量子計算システム、有形で具現化されたソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せにおいて実装されることが可能である。用語「量子計算システム」は、量子コンピュータ、量子情報処理システム、量子暗号システム、または量子シミュレータを含む場合があるがこれらに限定されない。
【0159】
本明細書に記載の主題の実装は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的ストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、1つもしくは複数のキュービット、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的または追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するためにデジタルおよび/または量子情報を符号化するように生成される、デジタルおよび/または量子情報を符号化することができる人為的に生成される伝播信号、たとえば、機械によって生成される電気的信号、光学的信号、または電磁的信号上に符号化され得る。
【0160】
量子情報および量子データという用語は、量子システムによって運ばれるか、量子システムに保持されるかまたは記憶される情報またはデータを指し、最小の重要なシステムは、キュービット、すなわち、量子情報の単位を定義するシステムである。用語「キュービット」は、対応する文脈において2準位系として好適に近似される場合があるすべての量子システムを包含することが理解される。そのような量子システムは、たとえば、2つ以上の準位を持つ多準位システムを含む場合がある。例として、そのようなシステムは、原子、電子、光子、イオン、または超伝導キュービットを含み得る。多くの実装において、計算基底状態(computational basis state)は基底状態および第1の励起状態によって特定されるが、計算状態がより高い準位の励起状態によって特定されるその他のセットアップが可能であることが理解される。
【0161】
用語「データ処理装置」は、デジタルおよび/または量子データ処理ハードウェアを指し、例として、プログラミング可能なデジタルプロセッサ、プログラミング可能な量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、ならびにそれらの組合せを含む、デジタルおよび/または量子データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、または量子シミュレータ、すなわち、特定の量子システムについての情報をシミュレーションもしくは生成するように設計される量子データ処理装置であるかまたはそれらをさらに含むことが可能である。特に、量子シミュレータは、普遍的な量子計算を実行する能力を持たない専用量子コンピュータである。任意選択で、装置は、ハードウェアに加えて、デジタルおよび/または量子コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
【0162】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは称される場合もあるデジタルコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはデジタルコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態でデプロイされ得る。プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは称される場合もある量子コンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述され、好適な量子プログラミング言語に変換され得るか、あるいは量子プログラミング言語、たとえば、QCLまたはQuipperで記述され得る。
【0163】
コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずしもそうである必要はない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶されることが可能である。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、デジタルおよび/もしくは量子データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるようにデプロイされることが可能である。量子データ通信ネットワークは、量子システム、たとえば、キュービットを使用して量子データを送信してよいネットワークであると理解される。概して、デジタルデータ通信ネットワークは、量子データを送信することができないが、量子データ通信ネットワークは、量子データとデジタルデータとの両方を送信する場合がある。
【0164】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために、1つまたは複数のプロセッサを用いて動作し、適宜、1つまたは複数のプログラムを実行する、1つまたは複数のプログラミング可能なコンピュータによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGAもしくはASIC、または量子シミュレータによって、あるいは専用論理回路または量子シミュレータと1つまたは複数のプログラミングされたデジタルおよび/または量子コンピュータとの組合せによって実行されることも可能であり、装置は、専用論理回路、たとえば、FPGAもしくはASIC、または量子シミュレータとして、あるいは専用論理回路または量子シミュレータと1つまたは複数のプログラミングされたデジタルおよび/または量子コンピュータとの組合せによって実装されることも可能である。
【0165】
1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行する「ように構成される」ことは、システムが、動作中にシステムに動作またはアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作またはアクションを実行させる命令を含むことを意味する。たとえば、量子コンピュータは、量子コンピューティング装置によって実行されるときに装置に動作またはアクションを実行させる命令をデジタルコンピュータから受信する場合がある。
【0166】
コンピュータプログラムの実行に好適なコンピュータは、汎用もしくは専用プロセッサ、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置ユニットは、命令およびデータを、読み出し専用メモリ、ランダムアクセスメモリ、もしくは量子データ、たとえば、光子を送信するのに好適な量子システム、またはそれらの組合せから受信する。
【0167】
コンピュータの要素は、命令を遂行または実行するための中央演算処理装置と、命令ならびにデジタル、アナログ、および/または量子データを記憶するための1つまたは複数のメモリデバイスとを含む。中央演算処理装置およびメモリは、専用論理回路もしくは量子シミュレータによって補完されるか、または専用論理回路もしくは量子シミュレータに組み込まれることが可能である。概してコンピュータはまた、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、光ディスク、もしくは量子情報を記憶するのに好適な量子システムを含むか、またはそれらの大容量ストレージデバイスからデータを受け取るか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはそれら両方を行うために動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。
【0168】
量子回路要素(量子コンピューティング回路要素とも呼ばれる)は、量子処理動作を実行するための回路要素を含む。すなわち、量子回路要素は、重ね合わせおよびもつれなどの量子力学的現象を利用して、非決定的な方法でデータに対して動作を実行するように構成される。キュービットなどの特定の量子回路要素は、同時に2つ以上の状態の情報を表し、そのような情報に対して動作するように構成され得る。超伝導量子回路要素の例は、とりわけ、量子LC発振器、キュービット(たとえば、磁束キュービット、位相キュービット、または電荷キュービット)、および超伝導量子干渉デバイス(SQUID: superconducting quantum interference device)(たとえば、RF-SQUIDまたはDC-SQUID)などの回路要素を含む。
【0169】
対照的に、古典的な回路要素は、概して、決定的な方法でデータを処理する。古典的な回路要素は、データに対して基本的な算術、論理、および/または入力/出力動作を実行することによってコンピュータプログラムの命令を集合的に実行するように構成されることが可能であり、データは、アナログまたはデジタル形式で表現される。いくつかの実装においては、古典的な回路要素が、電気的または電磁的接続を通じて、量子回路要素にデータを送信するおよび/または量子回路要素からデータを受信するために使用され得る。古典的な回路要素の例は、CMOS回路に基づく回路要素、高速単一磁束量子(RSFQ)デバイス、相互量子論理(RQL: reciprocal quantum logic)デバイス、およびバイアス抵抗を使用しないRSFQのエネルギー効率の高いバージョンであるERSFQデバイスを含む。
【0170】
特定の場合に、量子回路要素および/または古典的な回路要素の一部またはすべては、たとえば、超伝導量子回路要素および/または古典的な回路要素を使用して実装されてよい。超伝導回路要素の製造は、超伝導体、誘電体、および/または金属などの1つまたは複数の材料の堆積を伴い得る。選択された材料に応じて、これらの材料は、堆積プロセスの中でもとりわけ、化学気相堆積、物理気相堆積(たとえば、蒸着(evaporation)もしくはスパッタリング)、またはエピタキシャル技術などの堆積プロセスを使用して堆積させられ得る。本明細書に記載の回路要素を製造するためのプロセスは、製造中にデバイスから1つまたは複数の材料を除去することを伴い得る。除去される材料に応じて、除去プロセスは、たとえば、ウェットエッチング技術、ドライエッチング技術、またはリフトオフプロセスを含み得る。本明細書に記載の回路要素を形成する材料は、知られているリソグラフィ技術(たとえば、フォトリソグラフィまたは電子ビームリソグラフィ)を使用してパターニングされ得る。
【0171】
本明細書に記載の回路要素などの超伝導量子回路要素および/または超伝導古典回路要素を使用する量子計算システムの動作中、超伝導回路要素は、超伝導体材料が超伝導特性を呈することを可能にする温度までクライオスタット内で冷却される。超伝導体(あるいは超伝導)材料は、超伝導臨界温度以下で超伝導特性を呈する材料と理解され得る。超伝導材料の例は、アルミニウム(超伝導臨界温度1.2ケルビン)およびニオブ(超伝導臨界温度9.3ケルビン)を含む。したがって、超伝導トレース(superconducting trace)および超伝導グラウンドプレーン(superconducting ground plane)などの超伝導構造は、超伝導臨界温度以下で超伝導特性を呈する材料から形成される。
【0172】
特定の実装において、量子回路要素(たとえば、キュービットおよびキュービット結合器)の制御信号は、量子回路要素に電気的および/または電磁的に結合される古典的な回路要素を使用して提供される場合がある。制御信号は、デジタルおよび/またはアナログ形式で提供される場合がある。
【0173】
コンピュータプログラム命令およびデータを記憶するための好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、CD-ROMディスクおよびDVD-ROMディスク、ならびに量子システム、たとえば、トラップされた原子または電子を含む、すべての形態の不揮発性デジタルおよび/または量子メモリ、媒体、ならびにメモリデバイスを含む。量子メモリは、量子データを高い忠実度および効率で長時間記憶することができるデバイス、たとえば、光が送信のために使用され、物質が重ね合わせまたは量子コヒーレンスなどの量子データの量子の特徴を記憶し、保存するために使用される光-物質インターフェース(light-matter interface)であることが理解される。
【0174】
本明細書に記載の様々なシステムまたはそれらの一部の制御は、1つまたは複数の非一時的機械可読ストレージ媒体に記憶され、1つまたは複数の処理デバイス上で実行可能な命令を含むコンピュータプログラム製品に実装され得る。本明細書に記載のシステムまたはそれらの一部は、1つまたは複数の処理デバイスと、本明細書に記載の動作を実行するための実行可能な命令を記憶するためのメモリとを含んでよい装置、方法、またはシステムとしてそれぞれ実装され得る。
【0175】
本明細書は多くの特定の実装の詳細を含むが、これらは、特許請求される可能性があるものの範囲に対する限定と見なされるべきでなく、むしろ、特定の実装に固有である可能性がある特徴の説明と見なされるべきである。別々の実装に関連して本明細書において説明されている特定の特徴が、単一の実装に組み合わせて実装されることも可能である。反対に、単一の実装に関連して説明されている様々な特徴が、複数の実装に別々に、または任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで働くものとして上で説明されている場合があり、最初にそのように特許請求されてさえいる場合があるが、特許請求された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、特許請求された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
【0176】
同様に、動作が図中に特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が、示された特定の順序もしくは逐次的順序で実行されること、または示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である場合がある。さらに、上述の実装における様々なシステムモジュールおよびコンポーネントの分割は、すべての実装においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
【0177】
主題の特定の実装が、説明された。その他の実装は、添付の請求項の範囲内にある。たとえば、特許請求の範囲に記載のアクションは、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
【符号の説明】
【0178】
100 グラフ
200 もつれ量子敵対的生成ネットワーク(EQ-GAN)
202 真のデータ状態生成器
204 生成器ネットワーク
206 識別器ネットワーク
208 真のデータの状態
210 偽のデータの状態
212 忠実度
214 もつれ動作
216 目標量子状態
300 プロセス
400 回路図
402a~c 量子状態、補助キュービット
404 第1のアダマールゲート
406 ユニタリ演算子
408 第2のアダマールゲート
410 測定動作
412 識別器出力
500 回路図
502 第1の3キュービット状態、第1の状態
504 第2の3キュービット状態、第2の状態
506 厳密なスワップテスト
508 第1のアダマールゲート
510 補助キュービット
512 CSWAPゲート、制御スワップ演算
514 第2のアダマールゲート
516 測定動作
518 スワップテスト
520 CNOTゲート
522 アダマールゲート
524 測定動作
526 トフォリゲート
600 グラフ
700 第1のグラフ
750 第2のグラフ
1200 システム
1202 量子コンピューティングデバイス
1204 制御および測定システム
1206 キュービット
1208 結合器
1210 制御信号
1212 読み出し信号
1214 古典プロセッサ
1216 メモリ
1218 I/Oユニット
1250 古典プロセッサ
1252 キュービットアセンブリ
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
【国際調査報告】