Please enable JavaScript in your browser.

fltech - 富士通研究所の技術ブログ

富士通研究所の研究員がさまざまなテーマで語る技術ブログ

ガウス過程を用いたVQEのためのノイズ軽減手法

こんにちは。人工知能研究所の竹森です。 量子コンピュータを用いることにより、様々な問題を高速に解けることが知られていますが、 現時点で実現されている量子コンピュータには誤り訂正がなく、十分な精度が得られないという課題があります。 この技術ブログでは、VQE (Variational Quantum Eigensolver)と呼ばれる量子化学計算のためのアルゴリズムを誤り訂正のない量子コンピュータ上で実行する際の、ノイズ軽減手法について紹介します。 以下で紹介する技術は、以下の私たちの論文(コンピューティング研究所、量子研究所との共著論文)の中で提案されてるものです。

対象論文

背景と概要

VQE (Variational Quantum Eigensolver) [Peruzzo, Alberto, et al. , 2014]は、量子化学計算のためのアルゴリズムであり、物質の基底エネルギー(の上界)を計算することができます。 基底エネルギーを求めることは物質の性質を理解する上で基本的であり、より一般に、物質の電子構造を解明することは創薬や材料工学への応用があります。 基底エネルギーを正確に求めるには、系における電子の相互作用を考慮する必要がありますが、古典コンピュータのみを用いてそれを行うには、系の大きさの指数オーダーの計算量が必要になります[Tilly, Jules, et al., 2022]。

VQEは量子コンピュータと古典コンピュータの両方を用いる手法であり、 現実的な計算時間で基底エネルギーの計算を可能にすることを期待されている手法です。 VQEは特に、NISQ (Noisy Intermediate-Scale Quantum Computer)と呼ばれる、誤り訂正のない中規模な量子コンピュータを用いて実行されます。 しかし、NISQ上で量子回路を実行すると、様々な要因から結果にノイズが含まれます。 対象論文では、NISQとVQEを用いて物質の基底エネルギーを求める際のノイズを軽減する手法を三つ提案し、 それらを量子実機を用いて検証しています。

この技術ブログでは、その三つの手法のうちの一つの"parameter refinement"と呼んでいる手法の紹介をします。 VQEはNISQ上でのパラメータ付き量子回路の実行と古典コンピュータ上で最適化手法を用いたパラメータの更新を交互に行いますが、 NISQ上での量子回路の実行結果にノイズが含まれているせいで、パラメータの最適化がうまく働かないという課題があります。 このブログで紹介するparameter refinementという手法は、VQEの後処理であり、古典コンピュータ上でパラメータの最適化履歴から新たなパラメータを計算し、ノイズの影響を軽減することを目的とした手法です。 VQEの後処理であるため、任意の最適化手法(SPSAやNFT)などと組み合わせることができるというメリットがあります。 以下で、手法の説明とqiskitで提供されているノイズシミュレータにおける実験結果を紹介します。

手法の概要

VQEについて

手法を説明するため、VQEについてより詳しく述べます。 上記の通り、VQEは量子コンピュータ上でのパラメータ付き量子回路の実行と、古典コンピュータ上での最適化(最小化)によるパラメータの更新を交互に行います。 古典的な論理回路とは異なり、量子回路は連続的なパラメータに依存する場合があり、例えば回転ゲートは回転角 \thetaというパラメータに依存します。 VQEでは、この回転角 \theta (一般的には多次元)の更新を以下のように、逐次的に行います[Peruzzo, Alberto, et al., 2014]。 つまり、 t=1, ..., nに対して以下の1, 2を実行します。

  1. 量子コンピュータ上での実行: パラメータ \theta_tに依存する量子回路を実行し、量子状態 |\psi(\theta_t)\rangleを作り、エネルギー \langle \psi(\theta_t) | H | \psi(\theta_t) \rangleを計測する。
  2. 古典コンピュータ上での実行: 観測されたエネルギー \langle \psi(\theta_t) | H | \psi(\theta_t) \rangleが最小化されるようパラメータ \theta_tを更新し、新しいパラメータを \theta_{t+1}とします。

ガウス過程を用いたVQEの後処理

NISQ上でVQEを実行する場合、観測されるエネルギー \langle \psi(\theta) | H | \psi(\theta) \rangleに、 様々な要因からノイズが含まれ、パラメータ \theta_tが最適なパラメータ(つまり \langle \psi(\theta) | H | \psi(\theta) \rangleを最小にするもの)に収束しない可能性があるという課題があります。 この課題を緩和するために、量子コンピュータ側でノイズを緩和するというアプローチ(例えば、Tilly, Jules, et al., 2022の8節参照)や、 古典コンピュータ上でノイズを考慮した最適化手法を用いるアプローチ(例えば、Müller, Juliane, et al., 2022)などがあります。

この技術ブログでは、古典コンピュータ上で最適化の後処理として、機械学習を用いてよりよいパラメータ \thetaを求めることを目指す手法を考えます。 上記のようにVQEの実行後は、各 t=1,\dots, nに対してパラメータ \theta_tと観測された(ノイズあり)エネルギー y_tの組が得られます。 これの組の列 (\theta_1, y_1), \dots, (\theta_n, y_n)を最適化の履歴と呼ぶことにします。 最適化の後処理とは、最適化の履歴から新たなパラメータを出力する手続きのことを指します。 VQEで求めたいエネルギーを計算するには、基本的には、新たなパラメータでもう一度量子回路を実行し、エネルギーを計測する必要があります(ただし、論文ではDMETや量子シミュレータとのハイブリッドを考慮していたので、追加の量子回路実行は必要ありません)。

VQEの後処理として上記の課題に取組むことは、任意の最適化手法と組み合わせることができるというメリットがあります。例えば、NFT [Nakanishi et al., 2020]など量子回路最適化に特化した手法とも組み合わせることができます。 また、parameter refinementはガウス過程を用いる手法ですが、ガウス過程を用いた最適化手法(ベイズ最適化を用いた手法[Iannelli et al., 2022]など)と比べると、最適化の各ステップではなくて、後処理のときのみにガウス過程に関する計算を行えばよいので、計算量もより少なくなるというメリットもあります。

Parameter Refinement

手法についてより詳細に述べます。 Parameter refinementは、パラメータ \thetaに対し、最適化の履歴 (\theta_1, y_1), ..., (\theta_n, y_n)からガウス過程によるエネルギーの推定値 \mu_n(\theta)や不確実性 \sigma_n(\theta)を計算します。 \mu_n \sigma_nの定義は、論文や標準的な文献(例えば[Seeger, M. (2004)])に譲り、図を使って \mu_n(\theta) \sigma_n(\theta)を説明します。

推定値と不確実性

オレンジ色の点が最適化の履歴 (\theta_1, y_1), \dots, (\theta_n, y_n)を、 青色の実線がガウス過程による推定 \mu_n(\theta)、塗りつぶされた領域の縦幅が推定の不確実性 \sigma_n(\theta)を表しています。 より厳密に、 E(\theta) = \langle \psi(\theta) | H | \psi(\theta) \rangleと置き、  y_t y_t = E(\theta_t) + \epsilon_tと生成されるとき(ここで \epsilon_tはノイズ)、  E(\theta)に関する緩い仮定や、ノイズがsub-gaussianなど標準的な仮定の下で、以下が成立します。 ここで関数 f, gに対して、 f(\theta) \lesssim g(\theta)は定数 c>0が存在して f(\theta) \le c g(\theta)となることを意味しています。

 |\mu_n(\theta) - E(\theta)| \lesssim \sigma_n(\theta)

以下の疑似コードのように、提案手法は最適化の履歴をもとに、 不確実性 \sigma_{n}(\theta) c以下の範囲で、エネルギーの推定値 \mu_n(\theta)を最小にするパラメータ \theta^\starを求めます。 通常のVQEの後処理として使う場合には、新たなパラメータ \theta^\starについて量子回路を実行し、エネルギー \langle \psi(\theta) | H | \psi(\theta^\star) \rangleを観測します。VQEは最小化を行うので、例えば最適化の返したパラメータ(典型的には \theta_n)より低い観測値の場合 \theta^\starと対応する観測値を採用します。

疑似コード

ガウス過程を用いた最適化手法としてベイズ最適化があり、 VQEにベイズ最適化を用いた既存研究もあります(例えば[Iannelli, G., and K. Jansen., 2022])。 提案手法はベイズ最適化と似ていますが、上で述べたように、以下のような利点があります。 (i) VQEの後処理なので、任意の最適化手法(SPSAやNFT, IMFILなど)と組み合わせることができる。 (ii) ガウス過程の計算を最適化の後で行うので、最適化の各イタレーションで行うベイズ最適化と比べて、計算量が少ない。

量子シミュレータでの実験結果

qiskitで提供されているノイズシミュレータ(FakeCairo)で、様々な条件でVQEを実行し、 parameter refinementによる後処理を施した場合としていない場合でエネルギーの誤差を比較しました。 ここで、シミュレータでの実行時間が長くなりすぎる、深い量子回路はノイズの影響が大きくなりすぎるなどの理由から、 量子回路は比較的小規模なものに限定しています。 エネルギーの誤差はFCIという計算量が大きく、精度が高いアルゴリズムの結果との誤差で定義しています (補足: 軌道数を nとするとき、FCIの計算量は O(n!)、VQEの回路深さやパラメータの次元は nの多項式オーダーなので、十分大きな系に対してはFCIが計算できないが、 VQEは計算できるという場合があり得ます)。

以下の3つの疑問に答えるため、3種類の条件で実験を行いました。

  1. Parameter refinementはどんな最適化手法とも組み合わせることができるが、様々な最適化手法に対して効果があるか?
  2. Parameter refinementは、複数の分子に対して効果があるか?
  3. Parameter refinementは複雑な量子回路(より深く、パラメータが多次元の量子回路)に対して効果があるか?

以下で、3種類の条件での実験結果を紹介します。 結果にランダム性があるので、各実験条件に対しノイズシミュレータでVQEを100回実行し、parameter refinementを施した場合と施さない場合を比較しました。

最適化手法を変えた場合 (分子: H2, Ansatz: UCCSDでZ2 symmetry reductionあり)

この実験条件では、H2分子の場合に、UCCSD Ansatzという量子回路のクラスでZ2 symmetry reductionというqubit数を削減するVQEのオプションを適用した場合に、parameter refinementの効果を複数の最適化手法について検証しました。 この実験で用いた量子回路は以下のような小規模なものを使っています。

回路深さ qubit数  \thetaの次元
4 1 1

以下は、4つの最適化手法(SPSA, NFT, POWELL, IMFIL)を用いてVQEを実行した場合に、parameter refinementを施していない場合(グラフ横軸のw/o Ref.)と正則化パラメータの3パターン(reg=1e-3, 1e-4, 1e-5)に対して、parameter refinementを施した場合(グラフ横軸のRefined(reg=1e-3)、Refined(reg=1e-4)、Refined(reg=1e-5))の比較を行っています。各グラフの縦軸はエネルギー誤差(対数)を表しています。 SPSAに関しては、iteration回数を100とし、他の最適化手法については関数評価回数がSPSAと同等になるようiteration回数を設定しています(SPSAは各iterationで関数を2回評価します)。縦軸の値(誤差)は小さいほうが良いので、この実験条件ではparameter refinementを使ったほうが良いという結果になっています。

SPSA

SPSAの場合の実験結果

IMFIL

IMFILの場合の実験結果

POWELL

POWELLの場合の実験結果

NFT

NFTの場合の実験結果

p-value

またWilcoxonの符号順位検定(片側検定)を行ったときのp値を以下の表で示します。 SPSAで(reg=1e-5)の場合を除いて、parameter refinementが有意に効果があることが分かります(0.05未満の場合に有意に効果があるとしています)。

Optimizer p-value (Refined reg=1e-3) p-value (Refined reg=1e-4) p-value (Refined reg=1e-5)
SPSA 4.20e-05 2.62e-05 2.83e-01
NFT 2.85e-18 2.85e-18 9.86e-17
POWELL 2.99e-08 2.18e-11 3.70e-10
IMFIL 2.53e-14 1.18e-13 5.10e-11

分子を変えた場合 (Ansatz: CHC)

次に、parameter refinementが様々な分子に効果があるかという疑問に答えるために、複数の分子(H2, HF, LiH)で実験を行います。 ここでは、CHCという単純な量子回路(Ansatz)を用いて、上と同様に手法の評価を行います。 以下で各分子で用いた量子回路に関する情報とグラフを示します。 正則化パラメータにも依りますが、概ねparameter refinementの効果があることが分かります。

H2分子の場合 (qubit数: 4)

回路深さ qubit数  \thetaの次元
14 4 1

H2の場合の実験結果

HF分子の場合 (qubit数: 6)

回路深さ qubit数  \thetaの次元
14 6 1

HFの場合の実験結果

LiH分子の場合 (qubit数: 6)

回路深さ qubit数  \thetaの次元
14 6 1

LiHの場合の実験結果

p-value

上記と同様の統計検定を行ったときのp値を以下の表で示します。 分子がLiHで正則化パラメータが1e-5以外の場合は、parameter refinementが有意に効果があることが分かります。

Molecule p-value (Refined reg=1e-3) p-value (Refined reg=1e-4) p-value (Refined reg=1e-5)
HF 1.58e-30 1.31e-22 1.13e-03
LiH 6.41e-26 9.33e-11 7.56e-01
H2 2.32e-14 1.05e-16 4.25e-16

より複雑な量子回路の場合

これまでは小規模な量子回路(浅い量子回路)での実験結果を紹介しましたが、以下ではより複雑(深い)量子回路での実験結果を紹介します。この実験では、分子として水素分子を用い、以下のような量子回路で実験を行いました(UCCSD AnsatzでZ2 symmetry reductionの適用なし)。 また、これまでの実験では、不確実性 \sigma(x)の上限 c c=1と選んでいましたが、この実験ではパラメータが多次元なので c=1e-2と設定しています。

回路深さ qubit数  \thetaの次元
89 4 3

最適化手法がSPSAとIMFILの2つのパターンについて、実験結果を紹介します。 グラフから、最適化手法がSPSAの場合は、reg=1e-4以外はparameter refinementを適用することにより、誤差の中央値がかえって大きくなっていることが分かります。これは、回路が深くなるとノイズの影響が大きくなりparameter refinementで行っている推定がうまくいかなくなることが原因だと考えています。またこれまでの実験と異なりパラメータが多次元であることも影響しています。

SPSA

SPSAの場合の実験結果

IMFIL

IMFILの場合の実験結果

p-value

統計検定を行ったときのp値を以下の表で示します。 IMFILの場合は、reg=1e-3の場合を除いてparameter refinementの効果が有意にあります。 一方、SPSAの場合は上のグラフによると誤差の中央値は改善している場合がありますが、今回の実験では有意に効果があるとまでは言えない結果になっています。 上記の通り、回路が深くなりノイズの影響が大きくなったことやパラメータが多次元であるため、parameter refinementで行っている推定がうまくいかなくなることが原因だと考えています。

Optimizer p-value (Refined reg=1e-3) p-value (Refined reg=1e-4) p-value (Refined reg=1e-5)
SPSA 8.18e-01 1.04e-01 1.00e+00
IMFIL 8.44e-01 5.34e-04 3.60e-03

今後の課題

これまでは詳しく議論してきませんでしたが、 実験結果をみると、正則化パラメータの選び方は重要であることが分かります。 最適な正則化パラメータは実機のノイズの大きさなどに依存すると考えていますが、 ひとつの選択方法としては、最適な正則化パラメータが量子回路にほぼ依存しないと仮定して、複数の正則化パラメータで単純な量子回路を実行し結果を比較する手法があります。実際、上の実験ではFakeCairoという同じ量子シミュレータを用いましたが、reg=1e-4という正則化パラメータが概ねどの量子回路でも良い結果になっています。 またparameter refinementは最終的なエネルギーを得るために、追加の量子回路実行を必要としますが、 追加の量子回路実行によってパラメータの調整を行うこともできます。 パラメータ調整をする方法はいくつかありますが、限られた量子回路実行回数で最適なパラメータ調整をするにはまだ課題があります。

結論

この技術ブログでは、VQEを誤り訂正のない中規模な量子コンピュータ(NISQ)で実行する際のノイズ軽減手法と、 複数の実験条件でシミュレータ上での評価結果を紹介しました。 複雑な量子回路の場合にはパラメータの選択によっては、かえって逆効果になる場合もありましたが、 単純な量子回路の場合には、複数の分子や複数の最適化手法で提案手法が効果的であることが分かりました。

謝辞

ノイズシミュレータでの実験に協力にしていただいたNetwork Software & Integration BUの松岡さん、浦中さんに感謝いたします。

参考文献

  1. Peruzzo, Alberto, et al. "A variational eigenvalue solver on a photonic quantum processor." Nature communications 5.1 (2014): 4213.
  2. Iannelli, G., and K. Jansen. "Noisy Bayesian optimization for variational quantum eigensolvers." The 38th International Symposium on Lattice Field Theory. 2022.
  3. Tilly, Jules, et al. "The variational quantum eigensolver: a review of methods and best practices." Physics Reports 986 (2022): 1-128.
  4. Müller, Juliane, et al. "Accelerating Noisy VQE Optimization with Gaussian Processes." 2022 IEEE International Conference on Quantum Computing and Engineering (QCE). IEEE, 2022.
  5. NFT: Nakanishi, Ken M., Keisuke Fujii, and Synge Todo. "Sequential minimal optimization for quantum-classical hybrid algorithms." Physical Review Research 2.4 (2020): 043158.
  6. Imfil: Kelley, Carl T. Implicit filtering. Society for Industrial and Applied Mathematics, 2011.
  7. SPSA: https://www.jhuapl.edu/SPSA/
  8. Seeger, M. (2004). Gaussian processes for machine learning. International journal of neural systems, 14(02), 69-106.