メインコンテンツへスキップ
このプロジェクトはベータ版です。バグを見つけましたか?GitHub Issueを開く。質問やアイデアがありますか?Discussionsで質問する — フィードバックをお待ちしています!
このページの翻訳品質はいかがですか?

変分アルゴリズム

このコースでは、変分アルゴリズム、および量子力学の変分定理に基づく近い将来のハイブリッド量子古典アルゴリズムの詳細を学びます。これらのアルゴリズムは、現在の非フォールトトレラント量子コンピューターが提供するユーティリティを活用できるため、量子アドバンテージを実現する有力な候補となっています。

このコースを通じて、以下の内容を探求します。

  • 変分アルゴリズム設計ワークフローの各ステップ

  • 各ステップに伴うトレードオフ

  • IBM Quantum プリミティブを使って速度と精度を最適化する方法

このコースは、量子コンピューターのユーティリティを探求する研究者や開発者の出発点として設計されていますが、量子コンピューティング全般の理論的・基礎的な知識については、量子情報と計算の基礎(YouTube 動画シリーズとしても公開中)で学ぶこともできます。

シンプルなハイブリッドワークフロー​

Flow of a variational algorithm showing steps: initialize problem, prepare ansatz, evaluate cost function, optimize parameters. Variational algorithms include several modular components that can be combined and optimized based on algorithm, software, and hardware advancements. This includes a cost function that describes a specific problem with a set of parameters, an ansatz to express the search space with these parameters, and an optimizer to iteratively explore the search space. During each iteration, the optimizer evaluates the cost function with the current parameters and selects the next iteration's parameters until it converges on an optimal solution. The hybrid nature of this family of algorithms comes from the fact that the cost functions are evaluated using quantum resources and optimized through classical ones.

  1. 問題の初期化: 変分アルゴリズムは、量子コンピューターをデフォルト状態 ∣0⟩|0\rangle に初期化することから始まり、その後、何らかの所望の(非パラメーター化)状態 ∣ρ⟩|\rho\rangle(これを参照状態と呼びます)に変換します。

    この変換は、ユニタリ参照演算子 URU_R をデフォルト状態に適用することで表されます: UR∣0⟩=∣ρ⟩U_R|0\rangle = |\rho\rangle。

  2. ansatz の準備: デフォルト状態 ∣0⟩|0\rangle から目標状態 ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle への反復最適化を開始するために、変分アルゴリズムが探索するパラメーター化された状態の集合を表す変分形式 UV(θ⃗)U_V(\vec\theta) を定義する必要があります。

    参照状態と変分形式の特定の組み合わせを ansatz と呼び、UA(θ⃗):=UV(θ⃗)URU_A(\vec\theta) := U_V(\vec\theta) U_R と表します。Ansatze は最終的に、デフォルト状態 ∣0⟩|0\rangle から目標状態 ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle へと変換できるパラメーター化された量子 Circuit の形をとります。

    まとめると、以下のようになります:

    ∣0⟩→URUR∣0⟩=∣ρ⟩→UV(θ⃗)UA(θ⃗)∣0⟩=UV(θ⃗)UR∣0⟩=UV(θ⃗)∣ρ⟩=∣ψ(θ⃗)⟩\begin{aligned} |0\rangle \xrightarrow{U_R} U_R|0\rangle & = |\rho\rangle \xrightarrow{U_V(\vec{\theta})} U_A(\vec{\theta})|0\rangle \\[1mm] & = U_V(\vec{\theta})U_R|0\rangle \\[1mm] & = U_V(\vec{\theta})|\rho\rangle \\[1mm] & = |\psi(\vec{\theta})\rangle \\[1mm] \end{aligned}
  3. コスト関数の評価: 問題をパウリ演算子の線形結合として表現したコスト関数 C(θ⃗)C(\vec\theta) にエンコードし、量子システム上で実行します。これは、エネルギーやスピンなど物理システムの情報である場合も、非物理的な問題をエンコードする場合もあります。IBM Quantum プリミティブを活用して、コスト関数の評価時にエラー抑制と緩和によりノイズに対処できます。

  4. パラメーターの最適化: 評価結果は古典コンピューターに送られ、古典オプティマイザーがそれらを分析して次の変分パラメーターの値セットを選択します。事前に最適解がある場合、それを初期点 θ⃗0\vec\theta_0 として設定し、最適化をブートストラップすることができます。この初期状態 ∣ψ(θ⃗0)⟩|\psi(\vec\theta_0)\rangle を利用することで、オプティマイザーがより早く有効な解を見つける助けとなります。

  5. 結果に基づき ansatz パラメーターを調整して再実行: 古典オプティマイザーの終了基準が満たされるまでこのプロセス全体が繰り返され、最適なパラメーター値のセット θ⃗∗\vec\theta^* が返されます。問題に対して提案される解の状態は ∣ψ(θ⃗∗)⟩=UA(θ⃗∗)∣0⟩|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle となります。

変分定理​

変分アルゴリズムの一般的な目標は、特定の観測量の最小または最大固有値を持つ量子状態を見つけることです。ここで活用する重要な洞察が、量子力学の変分定理です。その完全な定式化に入る前に、背景にある数学的な直感を探ってみましょう。

エネルギーと基底状態の数学的直感​

量子力学において、エネルギーは通常ハミルトニアンと呼ばれる量子観測量の形で現れ、H^\hat{\mathcal{H}} で表します。そのスペクトル分解を考えます:

H^=∑k=0N−1λk∣ϕk⟩⟨ϕk∣\hat{\mathcal{H}} = \sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|

ここで、NN は状態空間の次元、λk\lambda_{k} は kk 番目の固有値(物理的には kk 番目のエネルギー準位)、∣ϕk⟩|\phi_k\rangle は対応する固有状態: H^∣ϕk⟩=λk∣ϕk⟩\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle です。(正規化された)状態 ∣ψ⟩|\psi\rangle にある系の期待エネルギーは次のようになります:

⟨ψ∣H^∣ψ⟩=⟨ψ∣(∑k=0N−1λk∣ϕk⟩⟨ϕk∣)∣ψ⟩=∑k=0N−1λk⟨ψ∣ϕk⟩⟨ϕk∣ψ⟩=∑k=0N−1λk∣⟨ψ∣ϕk⟩∣2\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \langle \psi |\bigg(\sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|\bigg) | \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k \langle \psi |\phi_k\rangle \langle \phi_k| \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] \end{aligned}

λ0≤λk,∀k\lambda_0\leq \lambda_k, \forall k を考慮すると、以下が成り立ちます:

⟨ψ∣H^∣ψ⟩=∑k=0N−1λk∣⟨ψ∣ϕk⟩∣2≥∑k=0N−1λ0∣⟨ψ∣ϕk⟩∣2=λ0∑k=0N−1∣⟨ψ∣ϕk⟩∣2=λ0\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] & \geq \sum_{k=0}^{N-1} \lambda_0 |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \\[1mm] \end{aligned}

{∣ϕk⟩}k=0N−1\{|\phi_k\rangle \}_{k=0}^{N-1} は正規直交基底であるため、∣ϕk⟩|\phi_{k} \rangle を測定する確率は pk=∣⟨ψ∣ϕk⟩∣2p_k = |\langle \psi |\phi_{k} \rangle |^2 であり、すべての確率の和は ∑k=0N−1∣⟨ψ∣ϕk⟩∣2=∑k=0N−1pk=1\sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 = \sum_{k=0}^{N-1}p_k = 1 となります。つまり、任意の系の期待エネルギーは、最低エネルギーすなわち基底状態エネルギーより大きくなります:

⟨ψ∣H^∣ψ⟩≥λ0.\langle \psi | \hat{\mathcal{H}} | \psi \rangle \geq \lambda_0.

上記の議論は任意の有効な(正規化された)量子状態 ∣ψ⟩|\psi\rangle に適用されるため、パラメーターベクトル θ⃗\vec\theta に依存するパラメーター化状態 ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle を考えることも十分に可能です。これが「変分」という名称の由来です。C(θ⃗):=⟨ψ(θ⃗)∣H^∣ψ(θ⃗)⟩C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle で与えられるコスト関数を最小化したい場合、最小値は常に次の条件を満たします:

min⁡θ⃗C(θ⃗)=min⁡θ⃗⟨ψ(θ⃗)∣H^∣ψ(θ⃗)⟩≥λ0.\min_{\vec\theta} C(\vec\theta) = \min_{\vec\theta} \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle \geq \lambda_0.

C(θ⃗)C(\vec\theta) の最小値は、パラメーター化状態 ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle を用いて λ0\lambda_0 に最も近づける値であり、∣ψ(θ⃗∗)⟩=∣ϕ0⟩|\psi(\vec\theta^*)\rangle = |\phi_0\rangle となるパラメーターベクトル θ⃗∗\vec\theta^* が存在する場合にのみ等号が成立します。

量子力学の変分定理​

量子系の(正規化された)状態 ∣ψ⟩|\psi\rangle がパラメーターベクトル θ⃗\vec\theta に依存するとき、基底状態(すなわち最小固有値 λ0\lambda_0 を持つ固有状態 ∣ϕ0⟩|\phi_0\rangle)の最良近似は、ハミルトニアン H^\hat{\mathcal{H}} の期待値を最小化するものです:

⟨H^⟩(θ⃗):=⟨ψ(θ⃗)∣H^∣ψ(θ⃗)⟩≥λ0\langle \hat{\mathcal{H}} \rangle(\vec\theta) := \langle \psi(\vec\theta) |\hat{\mathcal{H}}| \psi(\vec\theta) \rangle \geq \lambda_0

変分定理がエネルギーの最小値で述べられている理由は、いくつかの数学的仮定が含まれているためです:

  • 物理的な理由から、エネルギーに有限の下限 E≥λ0>−∞E \geq \lambda_0 > -\infty が存在する必要があります(N→∞N\rightarrow\infty の場合も含む)。

  • 上限は一般に存在しません。

ただし、数学的に言えば、これらの仮定を超えてハミルトニアン H^\hat{\mathcal{H}} に特別な性質はないため、同じ制約に従う限り、この定理は他の量子観測量とその固有状態にも一般化できます。また、有限の上限が存在する場合、下限と上限を入れ替えることで、固有値の最大化についても同じ数学的議論が成り立つことに注意してください。

まとめ​

このレッスンでは、変分アルゴリズムの概要を学びました。以降のレッスンでは、各ステップとそれに伴うトレードオフについて詳しく探求していきます。