1量子ビットで作る機械学習モデル!Data re-uploading

July 9, 2023, 8:55 a.m. edited July 9, 2023, 2:04 p.m.

#量子情報  #量子力学 

NISQ での量子コンピュータの活用方法として、機械学習を量子計算でおこなうことが試されています。その中でも有名なものとして、 Quantum Circuit Learning (QCL) などのようにニューラルネットワークを量子回路で表現したものがあります。しかし、どれくらいの数の量子ビットや量子ゲートが必要なのかはあまり明らかではなく、そもそも本当に古典計算で実現できている機械学習よりすごいのかよくわかりません(一応、 QCL ではユニタリ計算に限られることで過学習を抑制できると主張していますが、そんなことは古典では正則化などにより実現済みです。それに、深層学習ではデータを増やして過学習を超える試みもあり、ずっと先を進んでいます)

そんな中、量子機械学習の研究から data re-uploading という、なんと単一の量子ビットでモデルを作る手法が現れました [A. Pérez-Salinas et al., Quantum, 2020]。これにより、古典と比べて空間計算量の観点で優位性を示せるのではと期待しています。この手法を軽く解説していきます。(実装はちょっと時間がとれなくてェ…)

方法

従来の量子機械学習手法では、基本的にデータは最初にエンコードし、それから色々な量子ゲートをかけて計算し、それから測定して結果を得ています。一方、この手法では data re-uploading という名の通り、データを何度もエンコードするのが大きな特徴です。具体的には、以下のように、データ \(\vec{x}\) をエンコードするユニタリ演算と、パラメータ \(\vec{\phi}\) によるユニタリ演算を繰り返していきます。

そのユニタリ演算の中身としては、

のようにそれぞれ 1 つにまとめて、

$$ L(i)=U(\vec{\phi_i},\vec{x})=U(\vec{\theta_i}+\vec{w_i}\circ \vec{x}) $$

と表し(\(\circ\) は内積)、そのユニタリ演算自体は U3 回転行列で表されます(参考)。他手法と比べた違いは別論文でわかりやすく図にまとめられているので、そちらも参考に

なお、データ \(\vec{x}\) が 3 次元データではない場合は、例えば 6 次元データなら最初の 3 次元データでユニタリ演算、次に残りの 3 次元データでユニタリ演算、それを繰り返していくという形になります。

最後に測定では、 2 クラス分類であれば単純に 0 が出る確率と 1 が出る確率で計算できます。一方、多クラス分類ならブロッホ球上の表面を使っていきます。

パラメータ \(\vec{\phi_i}\) の更新には適当な最適化手法を使います。以下の実験では L-BFGS-B が用いられています(よくある SGD よりも性能が良かったらしい)。

万能近似性

こんな単純なモデルでも隠れ層 1 層のニューラルネットワークと同様に万能近似性が成り立つことも証明されています。証明内容は論文を見てほしいです。

結局、この 2 つセットのユニタリ演算を繰り返す回数が隠れ層 1 層のニューラルネットワークのユニット数に対応しているようです。それから、通常の古典のニューラルネットワークではデータを隠れ層の各ユニットへコピーしてそれぞれに演算を施している一方、量子では有名な no-cloning 定理によりデータをコピーすることができないです。そこで、本手法では何度もデータを入力(つまり re-uploading)することでそれを実現しているということになります。

量子ビットを増やすと?

古典のニューラルネットワークでは隠れ層 1 層でも万能近似性を持つものの、そのためには莫大な量のユニット数を必要とします。それを避けるため(などの理由により)、層を増やした深層学習が現れました。これと同様に、 data re-uploading においても量子ビット数を増やす拡張が考えられます。さらに、量子では量子もつれを導入できるので、そこに量子優位性が隠されているのではと期待もできるとのことです(なんと曖昧な書き方…)。

実験結果

シミュレータによる実験の結果、次のように分類ができています。他の結果については論文を見てみてください。 2 セットのユニタリだけでここまで分類ができるのはなかなか良さそうに見えます。