gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

「量子コンピュータが人工知能を加速する」を読む

2018-02-11 08:32:21 | ブログ
 D-Waveと呼ばれる量子コンピュータに関する参考文献を読んだ。D-Waveは、超伝導状態にした磁束量子によって量子ビットを実現している。磁束量子はリング状の小さな回路であり、リングの中を流れる電流の回転方向(右回りと左回り)によって、磁束の向きは上向き又は下向きになる。これによって量子ビットの「0」と「1」を表現できる。

 図は、円で示す量子ビットを格子の交点に配列した様子を示す模式図である。量子ビットの間に存在する矩形は、隣り合う量子ビット間の相互作用の強さをパラメータによって設定するための制御機構である。

 参考文献では、「制御機構」とか「制御回路」のようなハードウェアをイメージする用語を使っていない。単に「量子ビット間の相互作用の強さを設定する」のような抽象的な表現になっている。「相互作用を設定するための」制御機構がどのようなハードウェアか、その仕組みは公開されていないようだ。したがって、図はハードウェア構成ではなく、方式の概念を示すものと考えたい。



 「0」または「1」が確定した量子ビットがとる磁束の向きと相互作用の強さとの関係は、イジング・モデルと呼ばれる理論に従う。イジング・モデルでは、格子上の各点に「電子スピン」と呼ばれるものがある。各スピンには他のスピンとの間に相互作用がある。ペアになったスピンが同じ方向になった場合と、反対の方向になった場合のどちらが安定か(エネルギーが低いか)が、相互作用の値により決まる。つまり、2つのスピン間の関わり合いの度合いを相互作用と呼んでいる。

 図示するような量子ビット構成をもつデバイスに強い「横磁場」をかけると、すべての量子ビットは、「0」と「1」の重ね合わせ状態になる。このとき、量子ビット間の相互作用はすべてゼロにしておく。

 イジング・モデルは古典論であるから、重ね合わせ状態の量子ビットがペアになったとき、両者の間に相互作用があるのか否か明らかでない。しかし、量子力学に基づき、両方の量子ビットが不確定の状態にあるとき、外部から相互作用を加えてやることにより、不確定状態が壊れて量子ビットの0/1が確定する。

 このような量子ビットを利用して、巡回セールスマン問題のような組合せ最適化問題を解くとき、相互作用の強さに問題に応じた重み付けをすることによって、図のような量子ビット系はあるレベルのエネルギー状態に達するものと考えられる。

 そして横磁場を次第に弱くするとともに、量子ビット間の相互作用を強くする。こうすると、量子アニーリング効果によって、量子ビット系はよりエネルギーの低い状態に移行し、それぞれの量子ビットは、次第に上か下かどちらか決まった方向を向くようになる。そして、横磁場がゼロになるころには、それぞれの量子ビットがはっきりと「0」か「1」のどちらかになっており、その結果が、組合せ最適化問題の解を表していることが望まれる。このとき、量子ビット系は、エネルギーが最も低い状態(基底状態)になっている。

 次第に弱くする横磁場と次第に強くする相互作用との兼ね合いは、実験によってのみ体得できることのようだ。

 横磁場をかけることによって、量子ビット系が、「量子トンネル効果」により、エネルギー曲線の壁を通過してエネルギーの高い状態からエネルギーの低い状態へ効率よく移行すると考えられている。ただ、重ね合わせ状態の量子ビット系がどのようなエネルギー曲線のどのようなレベルにあって、どのような壁を通過するのか、イメージするのは困難である。

 この量子コンピュータでは、量子ビット系を適当なレベルのエネルギー状態にするために初期値を設定するようなことをしない。なぜなら、初期値を設定すれば、その時点で量子ビットの重ね合わせ状態が壊れてプロセスが終わってしまう可能性があるからである。その代わり、そのようなエネルギー状態を誘起するような相互作用を加えるだけである。

 したがって、この量子コンピュータは、デイジタル的な四則演算を何も行っていないにもかかわらず、一瞬で量子ビット系に計算結果が現れるから、あとはその結果を読みとるだけである。言い換えれば、この量子コンピュータは、一種のアナログコンピュータとして動作するのである。

 横磁場をゼロにするまでの時間が長ければ長いほど、正しい解が得られる可能性が高まる。だが実際には、現状の技術で量子ビットが「0」と「1」の重ね合わせを実現できる時間との兼ね合いなどから、数十マイクロ秒で計算を切り上げている。その代わりに、同じ作業を何千回も繰り返し、最も良い値を「解」とみなす。そのため、厳密解ではなく近似解となる可能性も多い。

 組合せ最適化問題の例として、今年の1月21日のブログで紹介した巡回セールスマン問題を取り上げる。例題は、チューリッヒ(Z)の自宅を出て、ベルリン(B)、ロンドン(L)、マドリッド(M)、ローマ(R)を可能な順序で巡回し、チューリッヒの自宅に戻るというものである。

 図示するように、5×5=25個のビットを用意する。各列は、R,Z,M,B,Lの位置を示している。第1行目はセールスマンが最初にいる都市(Z)、第2行目は2番目の訪問地B、・・・、第5行目は5番目の訪問地Rを示し、6番目の訪問地は元のZとなる。図は、計算結果であり、順に選択される都市を「1」で示し、選択されない都市を「0」で示している。

 合計の移動距離が最も短くなるようなルートを求めるために、それぞれのビット間の相互作用を決める。ここでは、1番目の訪問地がZであるから、Z1ビットを「1」にし、1行目のほかのビットは「0」になるように相互作用を決める。

 図で1番目の訪問地の行で横に並んだ5つのビットの間の相互作用をうまくとっておくと、1つの行に1つしか「1」が入らないようにできる。また、縦の列においても、1つしか「1」が入らないように相互作用を設定しておく。

 さらに、1行目のZと、2行目のR,M,B,Lのビットとの相互作用は、それぞれ距離に応じた値になるように決めていく。つまり、Zに最も近いのがBとすれば、2行目ではBが最も選ばれやすくなるように相互作用を決める。

 すべてのビット間で相互作用を設定したら、あとは量子コンピュータで計算を実行する。まず、この量子ビット系に強い横磁場をかけて、すべてのビットが「0」と「1」の重ね合わせになっている状態からスタートする。横磁場がかかった状態の量子ビットは、「0」と「1」の両者をゆらいでいると考える。このとき、量子ビット間の相互作用はまだオフにしておく。相互作用は設定してあるのだが、まだ適用しないということであろう。

 時間の経過とともに横磁場を弱くしていき、同時に量子ビット間の相互作用を強くしていく。そうすると、上で説明したような経路の特徴(どの都市とどの都市が近いかなど)が取り入れられて、最短経路の探索が始まる。その間に微弱な横磁場の効果で、「0」と「1」の間をゆらいでどちらがよいのかを探す。そして、最後に横磁場をゼロにする。こうすると、量子アニーリング効果により、それぞれの量子ビットが「0」か「1」に確定し、これが最短経路を示す答えとなる。

 格子点Z1は「1」の値に確定しなければならないから、Z列の相互作用は-1,+1,+1,+1に設定し、第1行目の相互作用は-1,-1,+1,+1に設定するのだろうか。

 問題は、他の列と他の行の相互作用の設定方法である。単に都市間の距離に応じた値になるように相互作用を決めるだけでは、1行に1つの「1」と、1列に1つの「1」という結果を期待できないように思えるのである。

 そこで、都市間の距離に応じた相互作用の重み付けのほかに、仮想的な初期値を想定し、この初期値を誘導するような重み付けを加えるのではないか、と考える。

 初期値の候補として、「欲張りアルゴリズム」に基づいた初期値が考えられる。すなわち、次に訪問する都市を選択するとき、可能な限り、距離が最短になるような(コストが最小になるような)都市を選択していくという方式を適用する。

 例題についてこの方式を適用してみると、たまたま最適解に到達する。しかし、一般的にはそうはならない。ただ、この方式を適用することによって、そこそこの解には到達できるのではないか、と考えられる。量子コンピュータの役割は、この方式による解から出発して、できるだけ最適解に近い結果に到達することである。

 もう一つ疑問に思うことがある。それは、量子ビット系が最低のエネルギー状態となったとき、組合せ最適化問題の近似解あるいは最適解に合致しているのだろうか、ということである。

 以上の問題は、理論的に解明することではなく、実際に実験してみてノウハウとして習得していくことだろうか。

 参考文献
 西森秀稔など著「量子コンピュータが人工知能を加速する」(日経BP社)
 竹内薫著「量子コンピュータが本当にすごい」(PHP新書)