2025年4月18日金曜日

量子機械学習の第一歩QSVC(Quantum Support Vector Classifier)

【要旨】古典的手法では見つけられなかった(or できなかった)ことが、量子的手法では可能になったという事例があれば勇気付けられる。その一つとして、量子計算を用いたQSVC(Quantum Support Vector Classifier)が、古典SVCよりも高い精度で分類できる一つの例を示す。この例に対しては、古典SVCでは見つからなかった、新たな分類決定境界が、量子QSVCで見つけられたと言える。これは、量子機械学習に取り組む上で意義がある事例と思われる。

🔴対象としたデータセットGaussian-Parity
 今回用いたデータセットGaussian-Parityの一例を図1に示す。右側の表は、その内容である。2つの特徴量(Feature1、Feature2)とラベル(0 or 1)で構成される300サンプルが含まれる。これをMiniMax(0〜π)スケーリングして散布図にしたものが左側の図である。ラベル0とラベル1のデータが、斜めに交差して分布しているので、境界線を引くのは難しそうに見える。

🔴古典的SVCによるクラス分け
 
このデータセットに対して、まず、古典SVCでクラス分けした。300サンプルの7割を訓練用として学習させた結果を、残り3割のサンプルをテスト用として評価した分類の精度は81%であった。学習結果を反映した分類の決定境界を図2に示した。かなりよく分類できていると思われる。SVCの威力が感じられた。(SVCに与える種々のパラメータの値で結果は変動するが。)

🔴量子的QSVCによるクラス分け
 次に、量子的QSVCでクラス分けした。今回は、Qiskitに装備されているライブラリQSVCを量子回路シミュレーションで実行した。学習の条件はSVCの場合と同じである。分類精度は、90%となり、SVCの場合よりもかなり高まった。それは、図3に示す通り、図2とは異なる決定境界が得られたことによる。このように、SVCでは見つからなかった新たな決定境界が得られた理由は、(技術詳細は略すが)少ない量子ビットnでも、2のn乗次元の広い量子状態の空間を探索できることによるのであろう。すなわち、多様なカーネル行列と呼ばれる情報を古典的なSVCの仕組みに与えることができる。


🔴古典的SVCと量子的QSVCとの関係
 詳細は、別のブログ記事で後日議論したいが、図4に両者の関係の概要を示した。Javier Mancilla M.氏の著書"QML Unlocked"が非常に参考になったので、その中のFigure 16を引用し、加筆した。(この書籍のレビュー結果の記事も別途書く予定である。)

 QSVMも、学習(訓練)には、古典SVMの仕組みをそのまま使う。それができるようにするため、量子回路を用いて計算する所が2箇所ある。1箇所目は、元の入力数値データを量子状態にマッピングするQuantum Feature Mapである。さらにその前に、次元削減(主成分分析PCAなど)を施す必要がある。なぜなら、一つの特性(Feature)につき1量子ビットが必要なため、利用量子ビット数を抑えるためである。2箇所目は、マップされた量子状態同士の類似度を計算してKernel Matrixと呼ばれるものを作る部分である。このカーネル行列を従来のSVMの仕組みに与える。

🔴今後の予定
  1. Quantum Feature MapやKernel Matrixを構成する方法はいくつかあるので、それらも調査し、試行する。
  2. 量子コンピュータ実機で動かす。現状では、性能(計算速度)は古典コンピュータに及ばないが、実機での試行で得られる知見は貴重である。
🔴追加情報
 図2(SVC)に対する図3(QSVC)の優越性は、ある特殊なデータセットに関する偶然の結果なのか?そうではないことを願って、少なくとももう一例、優越性を示す必要があると考え、以下に別のケースも示した。先の例と同様に、QSVCの優越性が見られた!

0 件のコメント:

コメントを投稿