/ 量子機械学習

量子コンピュータ×機械学習

2017年12月 量子コンピュータベンチャーである Rigetti からキャッチーな研究成果が発表された。その題は、「ハイブリッド量子コンピュータによる教師なし機械学習」。(Unsupervised Machine Learning on a Hybrid Quantum Computer) この記事では、この研究がどのような内容で、量子コンピュータ×機械学習 = 量子機械学習 という大きな流れの中で、どのような位置づけにあるのかを解説する。

教師あり学習 vs. 教師なし学習

機械学習は大きく「教師あり学習」と「教師なし学習」に分けることができる。教師あり学習とは、ある入力データセット (例えば 1 ~ 9 までの手書き数字) と、それに対応する教師データ (その画像データが 1 ~ 9 のどれかという情報) をもとに、コンピュータが入力データのクラス分けを学習する。入力データと教師データの組を訓練データと呼ぶ。この訓練データを、何度も何度も大量に与えることによって、コンピュータが少しづつ特徴を覚えていき、「これは1」、「これは9」といった判定ができるようになる。

MNIST_recognition
手書き数字の機械学習の概念図。画像データをネットワークに通すことで正しく判別できるよう学習する教師あり学習。(画像はTensorFlow and deep learning, without PhD - Googleより引用)

一方でコンピュータに教師データを全く与えないのが、教師なし学習である。1 ~ 9 までの手書き数字の例では、コンピュータは「この画像とこの画像は似ているな」「でもこの画像とこの画像は違うものを表していそうだ」というように、与えられた画像を自分自身の解釈で分類することを目標とする。このような学習は、似ているものをまとめ上げるという意味で「クラスタリング」と呼ばれる。

万能量子コンピュータによる機械学習

機械学習の盛り上がりを受けて、量子コンピュータでも教師あり学習を行うアルゴリズムが幾つか提唱されている。量子アルゴリズム界隈で1番有名なのは、量子サポートベクターマシン (Quantum support vector machine) だろう。サポートベクターマシンとは、古典コンピュータ上でもポピュラーな教師あり学習の一方式で、分類問題を得意とするアルゴリズムである。これを量子コンピュータによって行うことで、従来のコンピュータよりも高速に分類できるという主張でした。最近では、これも機械学習一方式であるリッジ回帰と呼ばれる手法を、量子コンピュータで行うアルゴリズム、量子リッジ回帰 (Quantum Ridge regression) などが提案されている。

教師なし学習についても色々なアルゴリズムが提案されている。教師なし学習において有名な一手法である「ボルツマンマシン」に、量子コンピュータを利用するという提案 (Quantum deep learning)などが一例である。

華々しいアルゴリズムたちですが、実はこれらの手法の有効性については未だに議論が続いている。というのも、これらのアルゴリズムでは、目立たないけれども本質的に重要なある仮定をしている。例えば量子情報学者である Scott Aaronson は次のように述べている。

(提唱された) アルゴリズムの "細かな注意" を読み解き、それをも含めると古典コンピュータのほうが早くなるケースがあるということを知っておかなくてはならない。量子機械学習として提案されたアルゴリズムにそのような注意が必要だということは、これらのアルゴリズムが、例えば (今のところ完全に古典アルゴリズムよりも早いことが知られている) Shor の素因数分解アルゴリズムとは本質的に異なるということを意味している。

... one still needs to invest a lot of work to see whether (a) the application satisfies all of the algorithm’s “fine print,” and (b) once we include the fine print, there’s also a fast classical algorithm that provides the same information. This makes the quantum machine learning algorithms quite different from (say) Shor’s factoring algorithm.
(Read the fine printより)

それだけではなく、これらのアルゴリズムはどれもが「誤り訂正機能を持った」量子コンピュータを使ったものであり、その実現はまだまだ先だと考えられている。実は有名な Shor の素因数分解アルゴリズムも、この原因のため、実現はまだまだ先となる見込みである。これは、現在実現している、もしくは近い将来実現するであろう量子ビットの数 (50 ~ 100 qubit)では、誤り訂正機能を十分に持たせられないためである。

Near-term 量子コンピュータのアプリケーション

では、近い将来の量子コンピュータは何もできず、もっと大規模な量子ビット数が揃うまで待つしか無いのだろうか? 科学者たちは、「そんなことで手をこまねいている訳にはいかない!」ということで、色々な方策で量子コンピュータの有用性を示そうとしている。そんな科学者たちが考えたものの中で現在有力なのは、古典コンピュータと量子コンピュータを同時に使う、「古典-量子ハイブリッドアルゴリズム」だ。これは、ある問題が与えられたとき、それを古典コンピュータと量子コンピュータ、それぞれの得意分野に2分割することで、誤り訂正のない量子コンピュータでも有効活用できることを示そうという取り組みである。

その中の1つが、組み合わせ最適化問題のために考えられた Quantum approximate optimization algorithm (QAOA)である。冒頭で紹介した Rigetti の研究成果、実は、このQAOAと呼ばれるアルゴリズムを超電導量子コンピュータによって実現したというものだ。「組合せ最適化問題」と「教師なし学習」、一見全く異なることを言っているようだが、これらには密接なつながりがある。

組合せ最適化問題の1つに、「MAXCUT問題」という種類の問題がある。(重み付き)MAXCUT問題の大きな目標は、下図のように重みのついた線分で結ばれたノードを、2つのグループに分けることである。2つに分割するには、これらの線分の中から適当なものを選んで切ってしまう方法が考えられるが、このときに切った線分の重みの和が、できるだけ大きくなるような組み合わせを探すのがMAXCUT問題だ。

weighted maxcut

あるデータ間の「相違度」によってこの重みを設定すると、MAXCUT問題は教師なし学習問題に早変わりする。「相違度」の和がなるべく大きくなるような切り方を見つけることができれば、それは似たもの同士でグループ分けできたことになり、教師なし学習の目標を達成できる。Rigetti の研究成果では、19 qubitの超電導量子コンピュータとQAOAを組み合わせて、MAXCUT問題 = 教師なし学習問題を解きました。これは量子コンピュータにこんなアプリケーションがあるのだ、という最高のデモンストレーションだったと考えられる。しかしながら、このQAOAというアルゴリズムも未だ議論の続く話題であり、その能力が古典計算機上のアルゴリズムを超えるだろう、と理論的に示されているわけではないことを最後に注意しておく。

おわりに

今回は量子コンピュータによる機械学習についてレビューした。Rigetti の研究が、near-term 量子コンピュータ利用のデモンストレーションであった、という立ち位置も分かっていただけたかと思う。古典-量子ハイブリッドアルゴリズムは、今非常にホットな分野の1つで、次々に新しい研究が発表されてくるだろう。QAOAに負けず劣らず有名な研究としては、量子化学計算のハイブリッドアルゴリズム, Variational quantum eigensolver (VQE) もあり、これから目が離せない研究分野だ。


トップ画像はRigetti Computing - Mediumより引用

量子コンピュータ×機械学習
Share this