Path: blob/main/translations/ja/quantum-machine-learning/vqc.ipynb
3855 views
変分分類
このページでは、変分アルゴリズムを紹介し、変分量子分類器について説明および実装し、変分訓練について議論します。
変分アルゴリズム
変分アルゴリズムは2014年に提唱され、参考文献1では変分固有値ソルバー、参考文献2では量子近似最適化アルゴリズムがあります。これらは近い将来のアルゴリズムであり、現在の量子コンピューターと古典コンピューターが連携して実行できます。
パラメータ化された量子回路、またはansatz を使用して、状態を準備し、量子コンピューターを使って期待値を測定します。そして解決しようとしている問題に対してがどれだけ優れているかを決めるコスト関数を定義します。次に、古典コンピューターを使用してコスト関数を計算し、最適化アルゴリズムを使用して回路パラメータを更新します。アルゴリズムの目標は、コスト関数を最小化するパラメータ化された量子回路の回路パラメータを見つけることです。
変分量子分類器
変分量子分類器は、測定された期待値が分類器の出力として解釈される変分アルゴリズムです。2018年に複数のグループによって導入されました。バイナリー分類問題の場合、入力データベクトルとバイナリー出力ラベルとして、入力データベクトルごとに、量子状態を出力するパラメーター化された量子回路を構築します。
ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 1: \̲c̲s̲s̲I̲d̲{*eq_1}{|\psi(\…ここで、は変分回路ユニタリーに対応し、はデータエンコーディング回路ユニタリーに対応します。 量子ビットの回路を作成して測定した後、の長さのビット文字列が残り、そこから分類結果となるバイナリー出力を導出する必要があります。これは、ブール関数ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 2: \̲c̲s̲s̲I̲d̲{_map_1}{ f: {0…の助けを借りて行われます。パリティ関数は、このための一般的な選択肢です。
訓練フェーズでは、最良の予測を提供するの値を見つけようとします。古典コンピューターは、予測されたラベルを提供されたラベルと比較し、コスト関数を使用して予測結果の成否を計算します。このコストに基づいて、古典コンピューターは、従来の最適化アルゴリズムを使用して、に別の値を選択します。次に、この新しいを使用して新しい回路を実行し、コスト関数が安定するまでこの処理を繰り返します。
実装の全て
Rodney Osodoによるこの実装に続いて、参考文献3で説明されているように、変分量子分類器のすべての個別のコンポーネントを実装し、 adhocデータセットを分類しましょう。
各クラスから2つの機能の20のトレーニングデータポイントと5つのテストデータポイントを作成します。
分類回路を準備します。参考文献3に示すように、データエンコーディング回路としてQiskitの
ZZFeatureMapを使用し、変分回路としておよび回転と制御位相ゲートを持つQiskitのTwoLocal回路を使用します。
データを特徴マップに関連付け、変分パラメータを変分回路に関連付ける関数を作成します。これは、回路内の適切なパラメータが適切な量に関連付けられていることを確認するためです。
与えられたビット列のパリティを計算するためのクラス割り当て関数を作成します。参考文献3のように、パリティが偶数の場合はラベルを返し、パリティが奇数の場合はラベルを返します。
量子回路を複数回実行することによる実験的なカウントからラベルクラス全体の確率分布を返す関数を作成します。
データを分類する関数を作成します。データとパラメーターを取り込みます。データセット内のすべてのデータ点について、パラメーターを特徴マップに割り当て、パラメーターを変分回路に割り当てます。次に、系を展開して量子回路を保存し、最後に回路を一度に実行できるようにします。各回路を測定し、ビット列とクラスラベルに基づいて確率を返します。
訓練では、損失関数とコスト関数を作成します。
SPSAを使用して(参考文献3のように)従来のオプティマイザーをセットアップし、再現性のために変分回路パラメーターを初期化し、40のトレーニングデータポイントを使用して変分回路パラメーターを変更するコスト関数を最適化します。最適化の実行には時間がかかることに注意してください。
最適化ステップに関してコスト関数をプロットすると、最小値に収束し始めることがわかります。
以前に作成した分類関数を使用して、変分量子分類器をスコアリングする関数を実装し、それを使用して、10個のテストデータポイントでトレーニング済み分類器をテストします。
Qiskitでの実装
Qiskitには、 VQCクラスの変分量子分類器の実装があります。同じデータセットで使用してみましょう。
まず、アルゴリズムの要件に応じてラベルを1つのホットエンコードする必要があります。
次に、再現性のために初期変分回路パラメータを設定してVQCアルゴリズムを設定して実行します。その後先ほど作成した結果をプロットするコールバック関数を使用して結果をプロットします。
第三に、訓練された分類器をテストデータでテストします。
訓練された分類器のパフォーマンスは、テストデータでかなり良好であることがわかります。トレーニングの最適化により、おそらく大域的最適解が見つかりました。
変分訓練
すべての変分アルゴリズムに言えますが、変分回路の最適なパラメータの探索に処理時間の大部分がかかり、訓練のページで説明されているように、採用する最適化手法に依存します。
損失関数の最小値が見つかると、最適な回路パラメーターが見つかります。ただし、損失関数と回路パラメータの間には単純な関係はありません。
実際、以下の例の丘と谷に示されているように、損失の状況は非常に複雑になる可能性があります。最適化手法は、黒い点と線で示されているように、最小値を探して、損失の状況をナビゲートします。 3つの検索のうち2つは、グローバルなものではなく、ローカルのランドスケープの最小値になります。

一般に、最適化手法は、勾配ベースの手法と勾配情報を使わない手法の2つのグループに分類できます。最適解を決定するために、勾配ベースの方法は勾配がゼロに等しい極値点を識別します。探索方向が選択され、探索方向は損失関数の導関数によって決定されます。このタイプの最適化の主な欠点は、収束速度が非常に遅くなる可能性があり、最適解を見つける保証がないことです。
微分情報が利用できない、または取得が現実的でない場合(たとえば、損失関数の評価にコストがかかる場合や多少ノイズが多い場合)、勾配情報を使わない方法が非常に役立ちます。このような最適化手法は、大域的最適解の探索に対し堅牢な一方で、勾配ベースの方法は局所的最適解に収束する傾向があります。ただし、勾配情報を使わない方法では、特に高次元の探索空間の問題に対して、より高い計算能力が必要になります。

どのタイプの最適化方法が使用されているかにかかわらず、損失ランドスケープがかなりフラットである場合、メソッドが検索する方向を決定するのは難しい場合があります。この状況は*不毛の台地*と呼ばれ、参考文献4で研究されました。パラメータ化された量子回路の広いクラスにおいて、任意の合理的な方向に沿った勾配がある一定の精度で非ゼロになる確率は、量子ビットの数の関数として指数関数的に小さくなります。
この問題を克服するための1つのアプローチは、量子シミュレーションで採用されているような構造化された初期推定を使用することです。別の可能性は、完全な量子回路を一連の浅いブロックと見なし、いくつかのパラメータをランダムに選択し、残りのパラメーターを選択して、すべての浅い同一の回路のブロックが実効的な回路の深さを制限することです。これは現在研究中の領域です。
参考文献
Alberto Peruzzo, Jarrod McClean, Peter Shadbolt, Man-Hong Yung, Xiao-Qi Zhou, Peter J. Love, Alán Aspuru-Guzik and Jeremy L. O'Brien, A variational eigenvalue solver on a quantum processor, Nature Communications, 5:4213 (2014), doi.org:10.1038/ncomms5213, arXiv:1304.3061.
Edward Farhi, Jeffrey Goldstone and Sam Gutmann, A Quantum Approximate Optimization Algorithm (2014), arXiv:1411.4028.
Vojtech Havlicek, Antonio D. Córcoles, Kristan Temme, Aram W. Harrow, Abhinav Kandala, Jerry M. Chow and Jay M. Gambetta, Supervised learning with quantum enhanced feature spaces, Nature 567, 209-212 (2019), doi.org:10.1038/s41586-019-0980-2, arXiv:1804.11326.
Jarrod R. McClean, Sergio Boixo, Vadim N. Smelyanskiy, Ryan Babbush and Hartmut Neven, Barren plateaus in quantum neural network training landscapes, Nature Communications volume 9, Article number: 4812 (2018), doi.org:10.1038/s41467-018-07090-4 arXiv:1803.1117