見出し画像

量子コンピュータを使った不確実性の下での推論

Reasoning under uncertainty with a near-term quantum computer の日本語訳です。)

人間は自然に思考する生き物です。

(訳注:このブログでは、inference と reasoning と言う2つの単語が使われています。2つの単語を区別するため、reasoning は「思考(する)」と訳しています。)

例えば、暖かい夏の日に外に出て、足を滑らせたとしよう。雨が降ったのか、それとも隣の家のスプリンクラーで庭が濡れたのか......。

私たちの決断は、しばしばそのような思考に基づいて行われます。もし、雨が降ってきたと推測したら、さらに雨が降るかもしれないので、傘を探しに家の中に戻るでしょう。

人間にとって思考は直感的なものですが、現在の古典的なコンピュータがそれを模倣することは非常に困難です。もちろん、コンピュータは思考作業を支援することはできます。例えば、医師が医療診断を行う際や、金融の専門家が投資運用を行う際に、コンピュータがその決定を手助けすることができます。しかし、このような思考モデルには、時間のかかる計算や大量のデータ、ひいては大量の電力が必要となります。また、答えに対して簡単な説明ができず、ある結果に対してどの程度の確信があるかを問われると、苦戦することもあります。特に、複数の「はい」「いいえ」で構成される意思決定の場合、これらは深刻な問題です。

弊社の研究では、量子コンピュータが思考を学習できることを実証しました。実際、量子コンピュータは、私たち人間が日常的に遭遇するシナリオである不確実性の下で推論を行うのに向いていると言えるかもしれません。

私たちは、機械学習分野の研究者や量子ソフトウェア・ハードウェア開発者が、この新しい研究分野に興味を持つと思っています。機械学習の研究者は、複雑なシステムにおける理由付けや因果関係の研究といった野心的な問題に取り組む際に、この新しいツールが役立つと考えるでしょう。また、私たちの研究を応用して、科学、工学、ビジネスにおける NISQ デバイスの新しい用途を発見し、量子的優位性を得る機会も得られるかもしれません。

思考のためのモデル

思考とは、前提と利用可能な情報から結論を推論することです。あなたは、芝生が濡れていることに気づきました。直感的に、雨が降ったに違いない、あるいはスプリンクラーで濡れたに違いない、あるいはその両方だろうと推論できます。この推論は、あなたの前提、すなわち「世界がどのように動いているか」についての理解に基づいています。

前提は、専門家の知識に基づいて構築することもできます。医学的診断において、推論は、危険因子・病気・症状の関係についての専門家の知識に基づいて行われます。このような関係は、グラフで表現することができます。

ベイジアンネットワークの教科書的な例

先に述べた「芝が濡れている」状況に対する理解をグラフとしてモデル化してみましょう。このグラフのノードはシステムの変数であり、すなわち「芝が濡れている(Grass wet)」、「スプリンクラー(Sprinkler)」、「雨(Rain)」、「曇り(Cloudy)」になります。これらの変数は、観測された変数(芝の状態など)と、観測されない隠れた変数(スプリンクラーの状態など)に分けることができます。リンクは、接続された変数間の連想的な関係を表します。例えば、芝が濡れているかどうかは、雨が降るか降らないかに依存する、といった具合です。例えば、「曇り」、「スプリンクラー」、「雨」の間のリンクは、曇り空が雨の可能性とスプリンクラーの作動に影響を与えるという考えをモデル化(グラフ化)したものです。「曇り」と「芝が濡れる」の間に直接的な関係がないのは、曇り空が直接芝生を湿らせるとは考えていないことを意味します(ただし、雨などによる間接的な影響はありえます)。すべてのノードに条件付き確率を割り当てた場合、そのグラフはベイジアンネットワークと呼ばれます。実際、上のグラフはベイジアンネットワークの教科書的な例になります。

完全に記述されたベイジアンネットワークがあれば、"雨が降ってスプリンクラーが止まっていた場合、芝が濡れている可能性はどのくらいか?"というような質問をすることができます。推論は、この質問の逆です。例えば、”スプリンクラー、雨、曇りのうち、「芝が濡れている」という観測を説明できる最も可能性の高い状態は何か "といった質問です。このような推論的な質問に対する一つの可能性のある答えは、"スプリンクラーは止まっていて、空は曇っていて、雨が降っていた"というものになるでしょう。

現実問題として、思考は不確実

思考が不確実なのは、情報が不完全であったり、破損していたり、あるいはシステムの理解が不完全または不正確であったりするためです。確率的推論(probabilistic inference)は、コンピュータによる思考に不確実性を取り入れるための原理的な方法でになります。不確実性の下で思考するということは、利用可能な情報から、見えていない変数からなるモデルについて思考することを意味します。

ベイジアンネットワークは、この課題を解決するための重要なツールです。時には、観測されたデータの最も可能性の高い「説明」を一つ見つけるだけで十分な場合もあります。特定の解の不確実性を定量化することが重要な場合もあります。不確実性の下で思考することは、過去の観測に基づいて、将来の結果やその確らしさを予測することにもつながります。このような場合、観測されていないデータのさまざまな組み合わせが起きうる確率を評価する必要があり、この確率を事後確率分布(posterior probability distribution)と呼びます。事後分布を推定することは、不確実性の下での思考に不可欠です。

複雑なシステムにおいて、確率推論の厳密解を計算することは、従来の統計手法では不可能です。確率的機械学習を駆使するで、より大規模なシステムでの確率推論が可能となります。

現代の変分推論(variational inference)は、そのような機械学習的な推論手法の一つです。確率的な最適化手法などを用いて事後分布を近似することで、大規模なデータセットへも適用できるツールとなりました。しかし、そのような方法において、事後分布をうまく近似できるほど十分な表現力を持たないことが問題となっています。このため、古典的な機械学習の研究者は、より表現力の高い近似的な事後分布を検討しています(一例)。さらに、標準的な変分推論は、観測されない変数が離散的である場合(スプリンクラーのオン/オフや雨/雨なしなど)、失敗することがあることも知られています。

確率マシンである量子コンピュータ

量子コンピュータの出力はランダムに見えます。しかし、うまくプログラムすることで、特定のパターンを持つランダムなシーケンスを出力させることができます。このパターンは離散的であり、古典的なコンピュータでは計算困難なほど複雑な場合もあります。このため、量子コンピュータは、不確実性の下で思考するような確率的機械学習に向いていると言えます。離散的な変数の数が増えていくような場合には、なおさらです。

それでは、標準的な変分推論を量子コンピュータ上で実行すればいいだけでしょうか?残念ながら、そう簡単ではありません。古典的な方法では、未知変数のランダムなパターンを支配する方程式を、少なくとも近似的に知っている必要があります。しかし、量子コンピュータが作り出す複雑なパターンを生成することは不可能です。

量子コンピュータを使った変分推論のための新しいアルゴリズム

我々は、量子コンピュータ上で効率的に変分推論するための、2つの新しいアルゴリズムを発表しました。これらの変分量子アルゴリズムは、上記の問題点を克服しています。真の事後分布が生成するパターンと一致するまで、量子コンピュータの出力パターンを直接最適化します。量子コンピュータは、「観測されたデータから、観測されていない変数の状態はどうなっているか」という推論に対して、潜在的な解を効率的に出力します。これらの出力は、データから現象を理解したり、将来の結果とその信頼度を予測したりといった、下流のタスクに利用することができます。

量子デバイスでの実装

私たちは、理論的な検討だけでなく、開発した手法の有効性を示すため、シミュレータや IBM Q の量子コンピュータを用いて、3つの原理検証を行いました。

1. 教科書的なベイジアンネットワーク

まず、上述した教科書的なベイジアンネットワークに対して、アルゴリズムを2つとも使って推論を実施しました。各インスタンスは全てのノードにランダムな条件付き確率を割り当てます。本質的に、2つの手法は微調整をすることなくそのまま適用することができました。

2. 隠れマルコフモデル

次に、金融時系列をシミュレーションした隠れマルコフモデルを使って、市場のレジーム反転を推論しました。これは、観測された市場リターンの時系列(上図の「Data」の右に緑で示されている)が、市場レジームを記述する潜在変数(「Latent」の後に黒い線で示されている)の影響を受けていると仮定するものです。たとえば、市場レジームは強気相場か弱気相場のどちらかであると考えられます。リターンは、強気市場と弱気市場の間で高いレベルのボラティリティを示すかもしれません。上のヒストグラムは、我々の手法の出力である事後分布の近似(青い棒)と、真の事後分布(赤い棒)を比較したものです。この比較では、真の事後分布を計算できるように、小さなシステムサイズを選択していますが、我々の手法は厳密界と良い一致を示しました。

3. 肺がんベイジアンネットワークを用いた医療診断

最後に、別の教科書的な例として、症状や危険因子に関する部分的な情報がある場合に、患者の病気を推測する方法を検討しました。この例では、3つの観察された症状を用い、5つの観察されていない病気と危険因子の構成を推論しています。下のヒストグラムは、真の事後分布(赤色)と、量子コンピュータのシミュレータ(青色)と実際の IBM Q 量子コンピュータ(灰色)で近似解を比較したものです。この結果は、我々の手法が実際の量子ハードウェア上でも動作することを示しています。また、量子デバイスのノイズにより、シミュレーションと比較して収束が遅くなります。

肺がんモデル
医療診断における事後分布のヒストグラム

どんな推論が量子コンピュータに向いているのか?

実は、我々もまだ明確な答えに辿り着いていません。変分推論、確率的機械学習、量子コンピューティングの各分野は、まだ融合し始めたばかりです。ただ、言えることは、複雑な分布からサンプリングすることが、現在のノイズの多い量子デバイスで量子優位性を得るための最も有望な方法であるということです。私たちの推論手法は、サンプリングに基づくもので、専門知識をそのモデルの中に取り入れることができます。我々は、生成モデリングや自然言語処理などの他の機械学習タスクと組み合わせることで、有意義なインパクトを与えられると期待しています。

量子ハードウェアの成熟に伴い、上記の質問に対する答えが、今後より明確になると思います。

補足:2つのアルゴリズム

技術的な詳細については、論文を読んでいただくことをお勧めします。簡単に説明すると、私たちは、敵対的学習(adversarial training)と kernelized Stein discrepancy という2つの最近の機械学習技術を使用しています。

Adversarial training(敵対的学習)

敵対的手法では、古典的な分類機(上図左)とボルンマシンと呼ばれる確率的量子モデル(上図右)の2つを交互に最適化します。ボルンマシンは、近似的な事後分布を表現し、潜在変数の状態を表現するビット列を出力します。学習ステップでは、ボルンマシンの出力が真の事後分布のサンプルと一致するよう、分類器とボルンマシンのパラメータを最適化します。

Kernelized Stein Discrepancy

2番目の方法は,1つ目の方法のような敵対的な訓練なしに,ボルンマシンと真の事後評価の間の距離(kernelized Stein discrepancy)を最小化する方法です。サンプルから再生カーネルヒルベルト空間への写像を設計することで、ボルンマシンからのサンプルのみで、この距離を計算することができます。このカーネル空間では、上図に示すように、真の事後結果に対する期待値は消失します。kernelized Stein discrepancy が最小であることは、ボルンマシンの出力が真の事後結果からのサンプルを模倣していることを意味します。

1つ目の手法は f-divergence(ここでは、Kullback-Leibler divergence)を最適化する手法のクラスに属し、2つ目の手法は、dual norm ないしは integral probability metric を最適化する手法のクラスに属します。