等身大ぬいぐるみ ラブドール 6
■ このスレッドは過去ログ倉庫に格納されています
U: L(H) ∋ A → UAU† ∈ L(H), p := pNg ...p2p1 示して いるように,
雑音のモデル N が, ユニタリ演算 U が作用したのちに分極解消チャンネル Dp が
作用する雑音 のモデルと等価であることを意味している
ここで述べた 2 つの雑音のモデルの等価性は後に用いるので,
命 題という形でまとめておく.命題 3.10 Ui ∈ L(H) (i = 1,2,...,Ng) を
ユニタリ演算子とし, Ui : L(H) ∋ A → UiAUi† ∈ L(H) とする
また, Dpi (i = 1,2,...,Ng) は分極解消チャンネルとする CPTP 写像 N : L(H) → L(H) を,U:=UNg ···U2U1に対して,
U:L(H)∋A→UAU†∈L(H)とし,p:=Ng piとした. i=1
導出については E.1 各ゲート Ui が作用するたびに, 分極解消チャンネル Dpi が
作用する雑音のモデル(b) ゲート UNg · · · U2 U1 が作用したのちに,
分極解消チャンネル Dp:=pNg ...p2 p1 が作用する雑音のモデル
3.2: 2 つの雑音のモデル (a), (b) は等価なモデルである 3.5 QiskitQiskit は, IBM 社が中心となって開発を行っている,
量子回路による量子計算のためのオープンソースの
Python 用 SDKQiskit を用いて量子回路を作成し,
シミュレータや実機を用いてQiskit では, 量子回路を
QuantumCircuit オブジェクトとして表現 QuantumCircuit オブジェク トは, 量子ビットに対応する
QuantumRegister オブジェクトや測定結果を保存する
古典ビットに対応 する ClassicalRegister オブジェクトを
コンストラクタの引数にとり初期化する こうして初期化した QuantumCircuit オブジェクトに,
量子ゲートや測定の操作をメソッドによって追加していき,
所望の量子回 路を得る. 図 3.3a にベル状態を生成し
全ての量子ビットを測定する量子回路を作るための
サンプルコードを 示し, 量子回路図を示す Qiskit では, 雑音のない場合だけでなく自ら定義した雑音のモデルの下でも,
作成した量子回路をシミュ レータによって計算することができる
計算結果を double の精度で状態ベクトルや密度演算子として得る
シ ミュレータや有限回の測定まで考慮に入れた計算を行うシミュレータがある
測定回数が ∞ 回のシミュレータQiskit では, 作成した量子回路を
IBM 社が開発している超伝導型量子コンピュータで掲示する 僕は、意図的に社会からは孤立してるけど、引き篭もりじゃないんだよね。行動派なんだ。東京に住んでいて引き篭もりだともったいないよ!
新宿渋谷高田馬場代々木秋葉原六本木下北沢吉祥寺高円寺阿佐ヶ谷目白などに年中出掛けてるからね。
それぞれに偽名で拠点があるんだ。親には無職って事にして金を巻き上げてるけど実は無職じゃ無いんだ。
何してるかは秘密だけど、悪さじゃないよ。まあ少し悪いかな。
頭脳犯だからね。知能犯だよw 君らじゃ無理。
親や親戚の年金や貯金は騙して使ってるけどさ。子供や孫は可愛いんだよ。どんな嘘でもお金はくれる。
どうせあの世まで持っていけない。家族の貯蓄は僕が有意義に使ってあげないとさ。
今日は別のネカフェに引っ越しするから忙しいんだ。
ベトナム人から買った期間限定スマホの返却交換や無能な主婦から借りてたノートパソコンの返却とか
他人の起動システムが色々入った外付けハードディスクとか移動するのも色々と持ち物が多いんだ。
まあ各ネカフェ周辺に預かり所があるから偽名で送るんだけどさ。バイク便で運んでくれるガキも手下で居るからねw
普段は伊達メガネと巨大マスクと帽子を被っていてリアルな社会でも顔を覚えられないようにしてるんだ。
コロナ対策のおかげでこんな姿で街を歩いていても買い物しても引っ越しても不審者に思われなくなったからいい時代だよ。
リアルな社会でも掲示板みたいに存在が曖昧で匿名で生きてるんだ。あぶく銭を持っていて大都会の東京だから出来るんだよ。
田舎の貧乏な乞食ヒッキーじゃあ無理だよねw
実は為替や各種メール送信や、改竄や情報操作や総会屋さんごっこで暇じゃないんだけどさ。
ネットには複数の回線で24時間接続してるから、つい、板にも寄ってさあ。
君たちを構っちゃうんだ。ラブドールは持ってるけど使った事無いよ。可愛いから持ってるだけだよ。
忙しいからドールにも構えないんだ。今日は秋葉原と神保町でチップと基盤の取り引きがあるんだ。
ついでに、ドルフィーとアゾンドールとグットスマイルカンパニーの新作も買わなきゃなんだ。
クレジットカードで買うんだけど、僕のカードじゃないんだよw ご愁傷さまだよねw 1 from qiskit import QuantumCircuit,
QuantumRegister, ClassicalRegister
2
3 nqubit = 2
4 qr = QuantumRegister(nqubit, ’q’)
5 cr = ClassicalRegister(nqubit, ’c’)
6 qc = QuantumCircuit(qr, cr)
7 qc.h(qr[0])
8 qc.cx(qr[0], qr[1])
9 qc.measure(qr, cr)
28
q0 : q1 :
H •
スルー耐性検定 失格者続出
ぬいの話題より食いつきいいじゃんおまえら CPTP 写像 N : L(H) → L(H) を,U:=UNg ···U2U1に対して,
U:L(H)∋A→UAU†∈L(H)とし,p:=Ng piとした. i=1
導出については E.1 各ゲート Ui が作用するたびに, 分極解消チャンネル Dpi が
作用する雑音のモデル(b) ゲート UNg · · · U2 U1 が作用したのちに,
分極解消チャンネル Dp:=pNg ...p2 p1 が作用する雑音のモデル
3.2: 2 つの雑音のモデル (a), (b) は等価なモデルである 3.5 QiskitQiskit は, IBM 社が中心となって開発を行っている,
量子回路による量子計算のためのオープンソースの
Python 用 SDKQiskit を用いて量子回路を作成し,
シミュレータや実機を用いてQiskit では, 量子回路を
QuantumCircuit オブジェクトとして表現 QuantumCircuit オブジェク トは, 量子ビットに対応する
QuantumRegister オブジェクトや測定結果を保存する
古典ビットに対応 する ClassicalRegister オブジェクトを
コンストラクタの引数にとり初期化する こうして初期化した QuantumCircuit オブジェクトに,
量子ゲートや測定の操作をメソッドによって追加していき,
所望の量子回 路を得る. 図 3.3a にベル状態を生成し
全ての量子ビットを測定する量子回路を作るための
サンプルコードを 示し, 量子回路図を示す Qiskit では, 雑音のない場合だけでなく自ら定義した雑音のモデルの下でも,
作成した量子回路をシミュ レータによって計算することができる
計算結果を double の精度で状態ベクトルや密度演算子として得る
シ ミュレータや有限回の測定まで考慮に入れた計算を行うシミュレータがある
測定回数が ∞ 回のシミュレータQiskit では, 作成した量子回路を
IBM 社が開発している超伝導型量子コンピュータで掲示 1 from qiskit import QuantumCircuit,
QuantumRegister, ClassicalRegister
2
3 nqubit = 2
4 qr = QuantumRegister(nqubit, ’q’)
5 cr = ClassicalRegister(nqubit, ’c’)
6 qc = QuantumCircuit(qr, cr)
7 qc.h(qr[0])
8 qc.cx(qr[0], qr[1])
9 qc.measure(qr, cr)
28
q0 : q1 :
H •
c : /2
量子回路図Qiskit を用いてベル状態を生成するための
量子回路 ibm lagos の量子ビットのトポロジー
全ての量子ビットが隣接し ているわけではない
隣接していない量子ビット間には, 量子ビットゲートを
直接作用させ ることはできない. この問題は, 例 3.5 で述べたように
SWAP ゲートを用いることで解決できる. また, IBM 社の量子コンピュータでは,
マイクロ波パルスを制御することで, 量子ゲートや量子ビットの測定を実現 あらかじめ IBM 社によってキャリブレートされた
パルス制御のためのパラメータ量子ゲートに対して
あらかじめ定められているのではなく,
いくつかの 基本ゲートに対してのみ
あらかじめ定まっていることに注意する.
こうした事情から, 作成した量子回路を,
実際の量子コンピュータの量子ビットの
トポロジーを考慮しつつ基本ゲートに分解する必要がある transpile モジュールを用いて所望の量子回路を基本ゲートに分解
transpile モ ジュールによって, 図 3.4 で示した ibm lagos の量子ビット
トポロジーの下, トフォリゲートを基本ゲート X, √X, RZ, CNOT に
分解するためのサンプルコードをトフォリゲートの量子回路図に 1 2 3 4
5 6 7 8 9
10 11
from qiskit import QuantumCircuit, QuantumRegister from qiskit.compiler import transpile
coupling_map = [[0, 1], [1, 0], [1, 2], [1, 3], [2, 1], [3, 1], [3, 5], [4, 5], [5, 3], [5, 4], [5, 6], [6, 5]]
basis_gates = [’rz’, ’sx’, ’x’, ’cx’]
nqubit = 3
qr = QuantumRegister(nqubit, ’q’)
qc = QuantumCircuit(qr)
qc.toffoli(qr[0], qr[1], qr) transpiled_qc = transpile(circuits=qc, basis_gates=basis_gates, coupling_map=
coupling_map)
•
(a) サンプルコード
√X RZ(π) 442
0
1
2
•
•
• •
• RZ(π) • • RZ(3π)
• • RZ(π4) • RZ(π4)
√ X Qiskit の transpile モジュールによって,
ibm lagos の量子ビットトポロジーの下,
トフォリゲートを基本ゲート
√
R Z ( π2 )
R Z ( π2 )
R Z ( π4 )
R Z ( π4 ) • • • R Z ( π4 ) • (b) 分解後のトフォリゲート
X, RZ, CNOT に分解した. (a) に示したサンプルコードに
よって分解されたトフォリゲートの量子回路図 を (b) に示した.
X, 変分量子アルゴリズム NISQ デバイスを用いた代表的なアルゴリズムである
変分量子アルゴリズム (Variatonal Quantum Algorithm, VQA)
4.3 では, 変分量子アルゴリズムの抱えるバレンプラトー最適化問題,
つまり関数の最小化問題へ とマッピングする. 最小化すべき関数 C (γ) のことを
コスト関数という. ここで, コスト関数 C (γ) は, パラ メータ γ に依存する 量子ゲート U (γ) を用いて定義される. パラメータに依存する量子ゲートを
アンザッツ という. 変分量子アルゴリズムでは, 量子コンピュータを用いて
コスト関数の値や勾配の計算 を評価することと, 古典コンピュータを用いて
コスト関数を最小化するようにパラメータをアップデートする
交互に繰り返し行うことで, コスト関数の最小点を求める
コスト関数の最小点を探索するアル ゴリズムをオプティマイザー
変分量子アルゴリズムにおけるコスト関数,
アンザッツ, オプティマイザー4.1.1 コスト関数 変分量子アルゴリズムの最初の一歩は, 解きたい問題を数理最適化問題に
マッピングする, つまりコスト関 数を定義することである.
数理最適化問題では, 解きたい問題の解の候補を Γ ⊂ RNp 上の点として表現する.
コスト関数は, 解きたい問題の解が最小値に対応するように定義された関数で,
解と解の候補の差を定量的に 表現する関数 Γ → R である.
したがって, コスト関数を最小化するようなパラメータ γ を探索する 変分量子アルゴリズムにおける, 量子古典ハイブリッドループ
量子コンピュータを用いたコスト関数値や勾配の 評価と,
古典コンピュータを用いたパラメータのアップデートを
交互に繰り返し行うことで, コスト関数の最小点 を求める 変分量子アルゴリズムのコスト関数は, C(γ)= fi Tr OiU(γ)ρiU(γ) (4.1)i
の形で定義される. ここで, 各 Oi は物理量, 各 ρi は入力状態, fi は
R → R の関数, U (γ) はアンザッツであ
る. 変分量子アルゴリズムでは, コスト関数を量子状態 ρi や
量子的な操作 U (γ) を用いて定義することで,
古 典コンピュータ上では計算不可能なコスト関数を
計算できていると期待している 変分量子アルゴリズムのコスト関数が満たすべき条件として,
次の 4 点が提案されている
(C1) コスト関数の最小点が解きたい問題の解に対応する.
(C2) コスト関数の値が小さい点ほど良い解に対応する.
(C3) コスト関数の値や勾配は, 量子コンピュータ上の測定と
必要があれば測定後の後処理を古典コンピュータに
よって効率的に計算できる.
(C4) コスト関数の最小点は効率的に求める (C1), (C2) は, 変分量子アルゴリズムに限らず, 一般の
数理最適化問題が満たすべき条件である.
量子コンピュータ上の測定とは (4.1) の
Tr OiU (γ) ρiU (γ)† の期待値計算に対応し,
古典コンピュータ上の後処理とは, (4.1) の fi (·) の
計算や i についての足し合わせ計算に対応する 変分量子アルゴリズム
32
RZ (2γ21) RZ (2γ22) RZ (2γ23) RZ (2γ24)
0 1 2 3
0 1 2 3
RX (2γ1) RX (2γ2) RX (2γ3) RX (2γ4)
RZ (2γ5) RZ (2γ6) RZ (2γ7) RZ (2γ8)
•
•
•
RX (2γ9) RX (2γ10) RX (2γ11) RX (2γ12)
RZ (2γ13) • RZ (2γ14) • RZ (2γ15) • RZ (2γ16)
RX (2γ17) RX (2γ18) RX (2γ19) RX (2γ20)
(a)
(b) 量子ビットのトポロジーを持つ量子コンピュータ上の
Hardware Efficient アンザッツの例を (b) に 示した.
4.1.2 アンザッツ
パラメータ付きの量子ゲートのことをアンザッツ Np 個のパラメータを持つ量子ゲート URPQC : [0, 2π)Np → U (2n) を
URPQC (γ) =
Uj (γj)Wj = UNp
(4.2)
Np
γNp WNp ...U2 (γ2)W2U1 (γ1)W1
j=1
と定義 URPQC(γ) はアンザッツである. URPQC(γ) を
Random Parametrized Quantum Cir-
cuit (RPQC)
Wj はパラメータを持たない量子ゲートとし, Uj (γj ) は
Vj2 = I を満たすエル ミート Vj を用いて, Uj (γj ) := exp [−iγj Vj ] アンザッツは大きく分けて porblem-agnositc アンザッツと
problem-inspired アンザッツの 2 種類に分類
porblem-agnositc アンザッツとは,
解きたい問題に関する前提知識を用いずに
設計された汎用的 なアンザッツのことをいう
一方で, problem-inspired アンザッツとは,
解きたい問題に関する前提知識を
組 み込んで設計されたアンザッツ problem-agnostic アンザッツの例として,
Hardware Efficient アンザッツ がある.
Hardware Efficient アンザッツとは,
用いる量子コンピュータのアーキテクチャに
依存した構造を持つアンザッツのことである 量子ビットトポロジーを持つ量子コンピュータ上の
Hardware Efficient アンザッツ の例として,
隣接している量子ビット間でのみ
2 量子ビットゲートが作用している
アンザッ ツが挙げられる一般的に
定義したアンザッツ URPQC (γ) の一例 一方で, problem-inspired アンザッツの例として,
粒子数保存アンザッツがある
粒子数保存アンザッ ツとは,
入力量子状態の粒子数を保存するアンザッツで,
A ゲートと呼ばれる 2 量子ゲートを繰り返し
作用す演算子に対する ∏ の積の
順序は取ることにする. 変分量子アルゴリズム
• RZ(−φ) RY (−θ)
(a) A ゲート A (θ, φ) の RY ゲート, RZ ゲート, CNOT ゲートによる分解.
(b) 粒子数保存アンザッツ. A ゲートを繰り返し用いる
A ゲートと粒子数保存アンザッツの構造.
RY (θ) RZ(φ) •
A (θ0,0, φ0,0)
A (θ1,0, φ1,0)
A (θ2,0, φ2,0)
A (θ0,2, φ0,2)
A (θ1,2, φ1,2)
A (θ2,2, φ2,2)
A (θ0,1, φ0,1)
A (θ1,1, φ1,1)
A (θ2,1, φ2,1) 粒子数とは, 量子状態の計算基底による表示において,
1 が立っている量子ビッ トの個数のことで,
古典コンピュータでいう popcount に対応する量
|0111⟩ の粒子数は 3 前提知識によってアンザッツで表現すべき量子状態の粒子数が
既にわかっている場合には, 粒子数保存アンザッツは有用
粒子数保存アンザッツを用いた
変分量子アルゴリズムのアンザッツの表現力 自らの設計したアンザッツによって, 解きたい問題の解が表現できているかは
一般には分からない. しかし ながら, 個々のアンザッツの性質を定量化して
評価することを考えることで, その特性を理解しようとする アンザッツの性質の指標として, エンタングルメント容量表現力表現度という
量が提案されている n 量子ビット系 H に作用するアンザッツ U : Γ → U (2n) の
表現力について アンザッツ U (γ) を量子状態 ρ ∈ S (H) に作用させることで,
量子状態 U (γ) ρU (γ)† を得ることができる. γ を
様々な値に変化させることで, U (γ) は
様々なユニタリ演算子となりうるので, U (γ) ρU (γ)† は
また様々 な量子状態を表現しうる γ が Γ の中の様々な値をとりうるという意味で分布 ν*2を持つ
Γ-値確率変 数と見なすことにすると, U (γ) もまた確率変数と
見なすことができる 一方で, U (2n) 上の “一様分布” アンザッツ U : Γ → U (2n) は連続であると仮定する.
この仮定は合理的である. というのも, 変分量子アルゴリ
ズムに用いられる多くのアンザッツは, 回転ゲートと
パラメータを持たないゲートから成るので,
U (γ) の行列表示の各成分は, γ1, γ2, . . . , γNp に依存する
三角関数たちの線型和, つまり連続関数 よって, U (γ) の各成分が連続なので, ボレル可測,
つまり確率変数であるさらに, U (γ) の各成分が
確率変数ならば, U (γ) も確率変数となる 変分量子アルゴリズム 34
ハール分布に従う確率変数 V を考えてみると,
V ρV † はユニタリ時間発展によって作り出せる
全ての量 子状態を表現しうる 確率変数 V が最も表現能力のあるアンザッツに
対応すると考えることができる
確率変数 U (γ) と確率変数 V の差として,
アンザッツ U (γ) の表現力を定義していくのが
良さそうで ある. 確率変数 U (γ) と確率変数 V の差に対応する量として,
線型写像 A(t) : L (H⊗t) → L (H⊗t) を U(γ),ν
A(t) (·):= U(γ),ν
リ t - デザインであるという*5. そして, A(t) U(γ),ν
を用いて, 入力 X ∈ L (H) に対して, アンザッツ U (γ) の表
現力 ε(t) U(γ),ν
(X) を
⊗t μH(dV)V⊗t(·) V† −
⊗t ν(dγ)U(γ)⊗t(·) U(γ)† (4.3)
U(2n)
で定義 t は自然数,
ν はアンザッツのパラメータ γ の分布,
μH はユニタリ群 U (2n) 上のハール
測度とした. 任意の X ∈ L (H⊗t) に対して
A(t) (X) = 0 であるとき, U (2n)-値確率変数 U (γ) はユニタ U(γ),ν
( t ) で定義 , ‖·‖p は, シャッテン p - ノルムとした*6.
⊗ t X
( t )
εU(γ),ν (X) := AU(γ),ν
(4.4) アンザッツの表現力 ε(t) (X) は,
一般化フレームポテンシャルという量と
関係づけられる [39]. アンザッ U(γ),ν
ツ U (γ) とそのパラメータ γ の分布 ν,
X ∈ L (H) に対して, 一般化フレームポテンシャルを,t
F(t) (X) := ν (dγ) ν (dγ′) Tr XU (γ′)† U (γ) X†U (γ)† U (γ′)
(4.5)
(4.6)
(4.7)
(4.8)
U(γ),ν U (2n)-値確率変数 U (γ) が,
ハール分布 μH に従うとき,
U(2n) とする. すると, X ∈ L (H) に対して,
が成り立ち, アンザッツの表現力 ε(t) U(γ),ν
F(t) U(γ),ν
U(2n)
(X) − F(t) (X) ≥ 0 H
F(t) (X) := H
t μH (dV ) μH (dW)Tr XW†V X†V †W
ΓΓ
Γ
(X) と一般化フレームポテンシャルとの関係は,
2
で与えられる*7 アンザッツの表現力は, A(t)
U(γ),ν
ε(t) U(γ),ν
(X) =
F(t) (X) − F(t) (X) U(γ),ν H
への入力 X に依存する量だった. そこで, 入力に依らない
アンザッツの表現力を定義 2 つの線型写像 L (H⊗t) → L (H⊗t), μ (dV ) V ⊗t (·) V †⊗t
U(2n) H
と ν(dγ)U(γ)⊗t(·)U(γ)†⊗t の差を,
アンザッツの表現力として採用する.
一般に, 2つの線型写像 変分量子アルゴリズム
オプティマイザーがパラメータを更新していく様子.
パラメータ更新を繰り返すことで, コスト関数 C (γ) の最小 点を求める.
L (H1) → L (H2) 同士の差を定量化するノルムとして,
ダイアモンモンドノルム ‖·‖⋄ という量が知られ
アンザッツ U (γ) の表現力 ⋄ε(t) を定義 アンザッツ U (γ) の表現力 ε(t)
U(γ),ν
εU(γ),ν := AU(γ),ν⋄ (4.9) (X), ⋄ε(t) は,
最も表現能力のあるユニタリ V との差として定義した
U(γ),ν⋄(t) (t)
U(γ),ν 表現力の値が小さいほど, アンザッツがより豊かな
表現能力を持つという点に注意しなければならない.
以後, 本論文では表現力と表現能力を厳密に使い分ける.
4.1.3 オプティマイザーとは, 関数の最小点を求める
アルゴリズムのことをいう. 多くのオプティマイザーは,
関数のパラメータの更新を繰り返すことで関数の最小点 第 t 回目のパラメータ更新を 第 t イテレーションと呼び,
第 t イテレーションにおけるパラメータの値を γ(t) と書く.
変分量子アルゴリズ ムでは, 量子コンピュータ上で
計算したコスト関数の値やその勾配の値をもとに,
古典コンピュータ上でパラ メータの更新 オプティマイザーは, コスト関数の 1 階微分や 2 階微分の情報,
つまり勾配の情報を用いるオプティマイ ザーとコスト関数の
勾配の情報を用いないオプティマイザーに大別 コスト関数の 2 階微分の情報を 用いるオプティマイザーとして,
ニュートン法 が挙げられる. また, コスト関数の 1 階微分の情報を
用 いるオプティマイザーとして, 共役勾配法 [50], L-BFGS 確率的勾配降下法が挙げられる. 一方, コスト関数の勾配の
情報を用いないオプティマイザーとして, Nelder-Mead
COBYLA (Constrained Optimization By Linear Approximation optimizer)
SPSA (Simultaneous Perturbation Stochastic Approximation)
ベイズ最適化 逐次最小化アルゴリズム , Rotoselect 特に, 逐次最小化アルゴリズムと Rotoselect は,
変分量子アルゴリズムのコスト関数に特化した
オプティマイ ザーである.
ダイアモンドノルム変分量子アルゴリズム
変分量子アルゴリズムにおける確率的勾配降下法と
逐次最小化アルゴリズムについて 確率的勾配降下法変分量子アルゴリズムのコスト関数の勾配を
いかにして計算するかを述べる. パラメータ γ の第 j 成 分 γj に
関するコスト関数 (4.1) の勾配は,
∂C(γ) ∂⟨Oi⟩γ ∂fi(x) ∂γ = ∂γ ∂x
(4.10)
j i j
x=⟨Oi⟩γ ⟨Oi⟩γ := Tr OiU (γ) ρiU (γ)† この勾配を計算するには,
各 i に対して, ⟨Oi⟩γ と ∂γj ⟨Oi⟩γ を計算すれば良い.
⟨Oi⟩γ は, 量子状態 ρi にアンザッツ U (γ) を作用させて,
物理量 Oi を測定す ることで得られる 一方, ∂γj ⟨Oi⟩γ は, 例えば差分法を用いることで
近似的に求めることができる.
ア ンザッツの構造によっては, パラメータシフトルール と呼ばれる方法で
∂γj ⟨Oi⟩γ を正確に求めるこ アンザッツとして (4.2) で定義した URPQC (γ) をとり,
いかにして ∂γj ⟨Oi⟩γ をパラメータシフ
トルールによって求めるかを述べる.
このとき, ⟨Oi ⟩γ = Tr Oi URPQC (γ ) ρi URPQC (γ )†
実数 a1, a2 a3 を用いて,
⟨Oi⟩γ = a1 sin2γj + a2 cos2γj + a3
と表す γ の第 j 成分 γj をそれぞれ γj ± π/4 に置き換えたものを γ±
∂ ⟨Oi⟩γ = ⟨Oi⟩γ+ − ⟨Oi⟩γ− (4.12) ∂γj
を得る. つまり, 量子状態 ρi に
アンザッツ U (γ±) を作用させて,
物理量 Oi を測定して得られた結果 ⟨Oi⟩γ± から ∂γj ⟨Oi ⟩γ を
正確に計算する ⟨Oi ⟩γ± を有限回の物理量の測定によって推 定するので,
その真の値を得ることはできず, 統計誤差が生じることに注意しておく.
このように ∂γj ⟨Oi⟩γ を 計算する方法をパラメータシフトルール URPQC (γ) のような構造を持つアンザッツの構造 に関する
パラメータシフトルールを考えたが, より一般的なアンザッツの構造に対する
パラメータシフトルー ルも提案 勾配の情報を用いる代表的なオプティマイザーの 1 つとして,
勾配降下法が挙げられる. 勾配降下法とは, コ スト関数のパラメータを
γ(0) に適当に初期化した後
γ(t+1) ← γ(t) − α∇C(γ(t)) (4.13)
のように, 勾配方向にパラメータの更新を行うことを
何度も繰り返すことで, コスト関数の最小点を求める
ア ルゴリズムである
α ∈ R を学習率という. 上述したように,
変分量子アルゴリズムにおけるコスト関
は, γj に依らない (4.11) 章 変分量子アルゴリズム 37
数の勾配の評価では, 有限回の物理量の測定によって
∇C γ(t) を推定していることに注意しなければならな い.
このように, コスト関数の勾配の値を推定する勾配降下法を
一般に確率的勾配降下法という 学習率 α はイテレーション t に依らない定数としていたが,
Adam オプティマイザー のように, 学習率 α を
イテレーション t ごとに更新させることで,
オプティマイザーの収束性を向上させることができる 逐次最小化アルゴリズムは, 変分量子アルゴリズムの
コスト関数が, ある 1 つのパラメータに注目すると
単純な関数形で書けるという性質を生かした
最適化アルゴリズムである コスト関数が, 4.2 で述べる変分量子固
有値ソルバーや Fixed input state compiling と
呼ばれる変分量子アルゴリズムのように,
CRPQC (γ) = Tr OURPQC (γ) ρURPQC (γ)† (4.14) で
表せるとする. アンザッツは (4.2) で定義した URPQC (γ)
この設定の下, パラメータ γj に
注目してコスト関数の解析的な性質
第 t イテレーションにおけるコスト関数の値 C おいて
, γj 以外のパラメータを固定した関数
RPQC
γ(t)に (4.15)
は, γ
C(t) (γj ) := CRPQC (γ)| (t) j γj′=γj′
に依らない実数 a(t), a(t), a(t) を用いて, j 123
′
C(t) (γ ) = a(t) sin2γ + a(t) cos2γ + a(t) jj1j2j3
(4.16) と表すことができる 実数 a(t), a(t), a(t) は, C(t) (γ ) の独立な
3 点の値から計算できる. 例えば, 独立な
123 jj3点として,γ(t),γ(t)+π,γ(t)−π を選べばよい.
すると,C(t)(γ )=a(t)sin2γ +a(t)cos2γ +a(t) は簡単
jj4j4 jj1j2j3 な三角関数なので, その最小点を容易
に求める コスト関数のあるパラメータ γj について注目してみれば,
C(t) (γj) の最小点を求めることができる.
この最小点を求めるステップを, 注目する j
パラメータ γj の添字 j を変化させて何度も繰り返すことで,
コスト関数の最小点を探索するアルゴリズムを
逐次最小化アルゴリズムという 逐次最小化アリゴリズムは, 既存のオプティ マイザーに比べ,
コスト関数の推定における統計誤差に対して剛健かつ収束が
速いことが数値計算により確か められている アンザッツとして URPQC (γ) を考えたが, より一般的なアンザッツに拡張して考え ることができる
例えば, アンザッツとして粒子数保存アンザッツを用いた場合の逐次最小化アルゴリズムに
雑音のある NISQ デバイス上で逐次最小化アルゴリズムが有用であることを議論する. 変分量子アルゴリズ ムのコスト関数を, より一般に
C (γ) = Tr OU (γ) ρU (γ)† (4.17) とし,
第 t イテレーションにおけるコスト関数の値 C γ(tにおいて,
γj 以外のパラメータを固定した関数を
C(t) (γj) とする. 逐次最小化アルゴリズムでは,
パラメータの添字 j を変化させて C(t) (γj) の最小点を求め jj
(j ̸=j) 変分量子アルゴリズム 40
で定義される. ここで, |ψ (γ)⟩ = U (γ) |ψ0⟩ は, 初期状態 |ψ0⟩ に
アンザッツ U (γ) を作用させて得られる量 子状態で, 試行状態という.
試行状態は n スピン系の量子状態であるから, 2n 次元の複素内積空間の
単位ベク トルで表現される. 試行状態を愚直に古典コンピュータ上で
表現するには O(2n) ビットが必要であるが, 量子 コンピュータ上であれば
n 量子ビットで良い 変分量子固有値ソルバーでは, 古典コンピュータ上で は表現しきれない程に
次元の大きい複素内積空間の試行状態から基底状態を探索することができよう.
4.2.2 Fixed input state compiling
Fixed input state compiling (FISC) とは,
n 量子ビットの状態 |ψ0⟩ に作用する V と同等の計算を行う量 子ゲートを求める
変分量子アルゴリズムである [22]. すると, U (γ) をアンザッツすれば, FISC の目的は
コスト関数 Cglobal (γ) = −F 理量
V |ψ0⟩ , U (γ) |0⟩
を最小化することで実現できる 関数は, 物V |ψ0⟩ = U (γ) |0⟩⊗n (4.21)
を満たす γ を求めることにある.
2 つの量子状態 V |ψ0⟩, U (γ) |0⟩⊗n 間の近さは,例えば,
忠実度 F V |ψ0⟩ , U (γ) |0⟩⊗n で定量化される. したがって, (4.21) を近似的に満たす U (γ) を求めるには,
忠実度を最大化する γ を求めればよい. これは,
⊗n2
Oglobal :=−(|0⟩⟨0|)⊗n (4.22)
を用いて, Cglobal (γ) = Tr [Oglobal |ψ (γ)⟩ ⟨ψ (γ)|] と書ける
|ψ (γ)⟩ := U (γ)† V |ψ0⟩ とした. Cglobal (γ) は, |ψ (γ)⟩ の
n 量子ビット全てを測定して |0⟩⊗n を得る確率に, −1 をかけることで得られる.
し たがって, Cglobal (γ) は −1 以上 0 以下の値をとりうる.
FISC では, Cglobal 以外のコスト関数を定義することができる. 物理量 Olocal を, n−1
Olocal :=−n
I ⊗|0⟩⟨0|⊗I
(4.23)
1 ⊗j ⊗n−j−1
j=0
として, FISC のコスト関数を
Clocal (γ) = Tr [Olocal |ψ (γ)⟩ ⟨ψ (γ)|] で定義 すると, Clocal (γ) は, −1
以上 0 以下の値をとり, γ が (4.21) を満たすときにのみ最小値 −1 をとる.
Clocal (γ) は, |ψ (γ)⟩ の第 j 量 子ビットのみを測定して |0⟩ が得られる
確率の, j = 0, 1, . . . , n − 1 に対する平均に −1 をかけることで得られる 変分量子アルゴリズム 38
Algorithm 1 逐次最小化アルゴリズム
Require: コスト関数は, (4.14) で定義した CRPQC (γ) とする.
1: 2: 3: 4: 5: 6: 7: 8: 9:
パラメータの初期値 γ(0) を定める. while t < tmax do
for j = 1,2,...,Np do for j′ = 1,2,...,Np do
if j′ = j then
C(t) γ(t) , C(t) γ(t) + π , C(t) γ(t) − π を推定し,
a(t), a(t), a(t) を求める. jjjj4jj4 123
γ(t+1) ← arg min a(t) sinγ + a(t) cosγ + a(t) j 1j2j3
else
(t+1) γj′
10: end if 11: end for 12: t←t+1 13: end for
14: end while
← γj′
γj (t) 変分量子アルゴリズムのコスト関数には, バレンプラトーと呼ばれる勾配消失問題が起こりうる.
変分量子 アルゴリズムで解く問題のサイズ, つまり用いる量子ビットの数に対して,
指数的にコスト関数の勾配が消失 してしまう問題 変分量子アルゴリズム 41バレンプラトーを引き起こす量子ビット数 n の
変分量子アルゴリズムにおいて, 必要な物理量の測定回数 Ntotal
勾配の情報を用いるオプティマイザー (gradient descent) に限らず,
勾配の情報を用いないオプティ マイザー (Nelder-Mead, Powell, COBYLA) についても,
量子ビット数に対して指数的に多くの物理量の測定が 必要 数やその勾配の推定のためには, 量子ビットの数に対して指数的に大きな回数の物理量の測定が必要であり,
最適化を効率的に行うことはできない. つまり, コスト関数が満たすべき条件 (C4) を満たさない. 変分量子アルゴリズムにバレンプラトーが生じるのか否かの議論デザインをなす程に十分深い
RPQC を用いた変分量子アルゴリズムにはバレンプラトーが 起こる 量子ビットの数 n に対して O (log n) 程の深さの Alternating Layerd Ansatz という
クラスのア ンザッツを用いた変分量子アルゴリズムについては, (4.22) で定義した
Oglobal のように全ての量子ビットに 作用するような物理量 O を用いる場合には
バレンプラトーが起こる一方で, (4.23) で定義した Olocal ように 一部の量子ビットに
作用するような物理量 O を用いる場合にはバレンプラトーが起こらないことが示されて いる
バレンプラトーが起こらないアルゴリズムの例として, 量子畳み込みニューラルネットワー クや
アンザッツがツリーテンソルネットワーク構造を持つ量子ニューラルネットワーク
バレンプラトーの影響を軽減するためのアルゴリズムも提案され始めている
パラメータの一部をランダムに初期化し, 残りのパラメータをアンザッツが恒等演算子と
なるように選ぶパラ メータ初期化の手法である
アンザッツのパラメータを層ごとに最適化していく手法が提案 変分量子アルゴリズムにおける
逐次最小化アルゴリズムの疑似コード.
ることを繰り返す. そのアルゴリズムの
変分量子アルゴリズムを NISQ デバイ ス上で
実装するためには, アンザッツを U (γ) = UNg UNg −1 . . . U2U1 の
ようにハードウエア上で実装可能な 基本ゲートに分解する必要があった.
そこで, NISQ デバイスへの雑音のモデルとして, (3.25) で定義した
Np
N = ⃝ (Dpi ◦ Ui) (4.18)
j=1
なるモデル CPTP 写像 Ui (·) = Ui (·)Ui† とし, Dpi (pi ∈ (0, 1]) は
分極解消チャンネルとし た. この雑音のモデルに対して,
逐次最小化アルゴリズムが剛健であることを裏付ける
次の定理 4.1 が成立す る. 定理の証明は, 付録 F.2 に述べた 定理 4.1 (4.17) で定義したコスト関数 C (γ) を考える. (4.18) で
定義した雑音のモデル N の下で計算される コスト関数を C ̃ (γ) とする.
このとき, 物理量の期待値の推定のための測定回数が無限回であならば,
任意の 自然数 t に対して, 逐次最小化アルゴリズムによって求めた
第 t イテレーション後の C (γ) の最適点と C ̃ (γ) の最適点は一致する 変分量子アルゴリズム 39
Algorithm 2 一般的な逐次最小化アルゴリズム Require:
コスト関数は (4.17) の形で表される.
1: 2: 3: 4: 5: 6: 7: 8: 9:
10: 11: 12: 13:
パラメータの初期値 γ(0) を定める. while t < tmax do
for j = 1,2,...,Np do for j′ = 1,2,...,Np do
if j′ = j then
γ(t+1) ← arg min C(t) (γj)
else
(t+1) γj′
end if end for
t←t+1 end for
end while
(t) ← γj′
jj γj 一般的な逐次最小化アルゴリズムの疑似コード.
4.2 変分量子アルゴリズムの応用 4.2.1 変分量子固有値ソルバー
変分量子固有値ソルバー (Variational Quantum Eigensolove, VQE) は,
量子系の基底状態とその固有値 (基底エネルギー) を求める
変分量子アルゴリズムである ■ このスレッドは過去ログ倉庫に格納されています