量子コンピュータの特徴に機械学習があります。量子コンピュータの機械学習は様々なモデルが提案されていますが、それらの中でも生成モデルと呼ばれるタイプのものを見てみたいと思います。
AIのゴッドファーザーとD-Wave
AIのゴッドファーザー、ディープラーニングのゴッドファーザーと呼ばれる、Yoshua Bengio先生が以前にD-Waveにおける制限付きボルツマンマシンの予備実験を行いました。こちらは、2015年に出された論文ですが、深層学習よりも計算量の多いボルツマンマシンのモデルをD-Waveのイジングモデルに実装ができるかどうかという既存計算機によるシミュレーションです。ビットのエラー、ビットの係数の制限、接続数の変化など、実機を想定したRBMの予備実験がおこなわれ、ある程度エラーがあっても、量子ビット同士の接続を確保すればD-Waveでもボルツマンマシンがいけるとわかりました。これがもととなってD-Waveを利用したボルツマンマシンの研究が一時期はやりました。
https://arxiv.org/abs/1312.5258
ボルツマンマシンはマシンが出すある答えの確率が
p(x) = 1/Z * exp(-E(x))
というボルツマン分布に従う場合に利用できる機械学習モデルです。ここではRBMと呼ばれる隠れ層と可視層の二層からなるモデルを使っています。
D-Waveを利用したRBMの効率的な学習の実行
2015年にはさらに続いて、ロッキードマーチン社から新しい論文が出ました。RBMを連続してつなぐことで、DNNの事前学習に利用できるということで二層のRBMの効率的な学習方法をD-Waveの実機を利用して実行し、画像認識が行われました。
https://arxiv.org/abs/1510.06356
Steven Adachi先生らによるD-Wave実機の実行において、既存計算機で学習時に必要な全部の可視層と隠れ層の掛け算である、<vh>という学習に必要なモデルのv*hのすべての組み合わせから求まる期待値計算を、複数回D-Waveで実行した平均値で効率的に計算が提案され、実際にできることが示されました。<vh>は量子ビット数が増えるにつれて組合せ爆発を起こすため、すべての計算をして期待値を求めるのが難しいうえ、既存計算機で精度よく計算を行うには、サンプリングを行う必要がありますが、モンテカルロサンプリングなどは効率性が悪いため、本質的にサンプリングを効率的に実行が難しいということになっています。
このようにD-Waveの本来、量子アニーリングステップを使わず、量子アニーリング過程で解が出る確率を利用した機械学習がはやります。しかし、ここで、これを実行するには、理想的なボルツマン分布をD-Waveが作ることができることが前提になるのですが、まだ現状のマシンでは実行が難しく少し下火になります。
ボルツマンマシンからボルンマシンへ
そうしている一方で、量子ゲートマシンの開発が発展し、中国科学院のLei Wang先生によって、生成モデルをボルツマンマシンではなく、量子ゲートの確率振幅を使ったボルンマシンとして構成することが提案されました。ボルツマンマシンはイジングのエネルギー式から導き出されるボルツマン分布を前提に考えられていますが、量子コンピュータの振幅そのものを操作して確率分布を作るボルンマシンのほうが利便性が高いです。
量子回路ボルンマシンは量子ゲートを組み合わせてボルツマンマシンの代わりとなる技術として近年急速に発展し、現在量子ゲート界隈ではわざわざ量子断熱時間発展過程を経て導き出すボルツマンマシンはつかわれなくなってきて、ボルンマシンが主流になってきました。
https://wangleiphy.github.io/talks/BornMachine.pdf
Quantum Circuit Born MachineはQCBMと省略されますが、最近ではこのQCBMをベースにより効率的に量子機械学習ができるモデルが提案されており、QNNなど量子ニューラルネットワークと呼ばれるモデルが一般的に利用されるようになってきました。弊社でもこれらQCBMやQNNのほかにさらにそれらを発展させた新しいモデルなどを利用していますので、今後少しずつ紹介していきます。以上です。