Download - 量子コンピュータの新しい潮流 -- D-Waveのアプローチ
量子コンピューターの新しい潮流 --- D-Waveのアプローチ
@maruyama097 丸山不二夫
"And therefore, some of the younger students ... you know how it always is, every new idea, it takes a generation or two until it becomes obvious that there's no real problem.” -- Richard P. Feynman
Agenda
o Part I D-Waveの量子コンピュータとは何か? n システムの概略 n 何ができるのか? n 各界の反応
o Part II コンピューターにとって難しいことを考える n 人間には容易でも、機械には難しいこと
n 人間はもちろん、機械にも計算が難しいこと
n 計算の原理的可能性 Church-Turingの提言
n 現代のコンピュータの限界を考える
Agenda o Part III 量子コンピュータの世界
n 量子コンピュータの登場 n 量子の振る舞い n 量子コンピューターと量子ゲート n 量子コンピュータは、何が出来るか?
o Part IV D-Waveのアプローチ n D-Waveマシンの動作のモデル n 量子アニーリング n D-Waveのハードウェア n D-Waveマシンのプログラミング n アプリケーション プログラム・サンプル
Part I D-Waveの 量子コンピュータとは何か?
ここでは、Geordie Rose 2012/11/29 “D-Wave Quantum Computing - A Eureka Moment” の内容を紹介して、D-Waveの量子コンピュータとは何か、その概略を示そう http://www.youtube.com/watch?v=cA31kiHEOBs
D-Waveマシンと D-Wave社創設者 Geordie Rose
D-Waveの量子コンピュータチップの ウエファー。シリコンではなくニオブが 使われている。
まず、最初に確認し なければいけないのは、 それが研究用ではなく、 商用の製品であるという ことである。
D-Waveの量子コンピュータ の心臓部、チップの外形
ワイアリングとフィルタリング
l システムの「マザーボード」
l 室温の世界とプロセッサー は、168本の配線で結ばれ ている
l 全ての直流の配線は、外部 からのノイズを取り除くため に、30MHzでフィルタリング されている
l この写真は、128bitのもの
l 10kgの金属が、絶対零度に 近い20milli Kelvinの温度に 置かれる。 「宇宙で最も冷たい場所」
l 磁気の影響を遮断している。 3次元全ての方向で、1 nano Teslaに抑えられている。 これは、地球の磁場の強さの 5万分の一のもの。
プロセッサーの環境
その他の諸元
l 設置面積 約200平方フィート
l 閉サイクルの冷却装置
l 消費電力 約7.5KW
全体の構成図
Pulse Tube Dilution Refrigerator
シールド・ルーム 冷却ポンプとコントロール・ラック
PCインターフェースと ローカル・ユーザー
PCインターフェースと リモート・ユーザー
チップの集積度の進化 2013年以降の集積度の変化が 興味深い。この図は、正しくプロット されていない。多分、Dual Core。
何が出来るのか? Binary Classification
何が出来るのか? Binary Classification
何が出来るのか?
?
何が出来るのか? 複数のラベルの割り当て
この写真には、どのようなラベルを付ければいいだろうか?
何が出来るのか? Unsupervised Feature Learning (UFL)
我々が関心を持つ対象のクラスの特徴を、もっともよく記述 するのは何か?
「空」はイメージした?
「雪」でもいい 「森林」でもいい
何が出来るのか? Unsupervised Feature Learning (UFL)
これらの対象に、共通するものは何か? アルゴリズムが、いくつかの「特徴」を返す。
Google Glassのソフトを D-Wave上で開発
o 9月に行われた、IDC’s 50th HPC user forumで、GoogleのHartmut Neven は、Google Glassのまばたき検出のアルゴリズムの調整に、D-Wave社の量子コンピューターが使われていることを発表。これは、商用のアプリケーションに、量子コンピュータを使った最初の例になるという。
o 「とてもクールだった。 ... モバイル・デバイスを動かすソフトウェアが、量子コンピュータで設計されうるというアイデアは、とても気に入った。」(G.Rossのblog から) http://dwave.wordpress.com/
D-Wave 量子コンピュータ に対する各界の反応
D-Waveの量子コンピュータの登場は、ここ10年来のITのイノベーションの中で、もっとも大きなものの一つになるだろう。各界の反応を見ておこう。 Scott AaronsonらのD-Wave批判は、とても興味深いものなのだが、ここでは割愛した。
「CIAとジェフ・ベゾス、量子コンピュータに賭ける」
o 「アマゾンの創設者のジェフ・ベソスとCIAの投資部門であるIn-Q-Telは、量子力学の不思議さを追求することで、従来型のいかなるコンピュータ・チップよりも大きな計算パワーを解放することが出来ると信じている。ベソスとIn-Q-Telは、こうした見通しに3000万ドルを賭けた、投資家集団の一員である。」
MIT Technology Review 2012/10/04 http://www.technologyreview.com/news/429429/ the-cia-and-jeff-bezos-bet-on-quantum-computing/
「CIAとジェフ・ベゾス、量子コンピュータに賭ける」
o 「In-Q-Telの第一の「顧客」はCIAである。もう一人は、NSA(National Security Agency)である。両者ともに、自動化された情報収集とその解析に巨額の投資をしていることで知られている。」
o 「Googleの人工知能の研究者は、定期的にD-Waveのコンピュータにインターネットを通じてログインし、それを試している。2011年には、D-Wave社は最初の顧客の契約を獲得した。防衛産業のロッキード・マーティン社は、開発が遅れているF-35戦闘機のような、複雑なプロジェクトのソフトウェアのバグを自動的に検出する為の研究用のコンピュータとして、1000万ドルを支払った。」
http://www.technologyreview.com/news/429429/ the-cia-and-jeff-bezos-bet-on-quantum-computing/
グーグル、NASAと共同で、量子コンピューターラボを開設 2013/05/16
「グーグルは米国時間16日、量子コンピューター研究を進める新たなラボ「Quantum Artificial Intelligence Lab」の開設を発表した。同研究所は、マウンテンヴューにあるグーグル本社からほど近いNASAのエイムズ研究センター内に置かれ、宇宙科学を専門とする学術団体の大学宇宙研究協会(Universities Space Research Association)とグーグルが共同運営することになる。また同ラボでの研究には、航空宇宙メーカーのロッキード・マーティン社なども試験利用する512量子ビットの量子コンピューター「D-Wave Two」が使用される予定だという。」
http://wired.jp/2013/05/22/google-dwave/ http://www.wired.com/wiredenterprise/2013/05/google-dwave/
グーグル、NASAと共同で、量子コンピューターラボを開設 2013/05/16
「『われわれは量子コンピューティングが、特に機械学習など計算機科学のもっとも困難な課題の解決に役立つ可能性があると考えています』とグーグルの技術責任者のハートムート・ネヴンは同社のブログに記している。『機械学習は世界のより優れたモデルを構築し、より正確な予想をもたらすものです』 http://googleresearch.blogspot.jp/2013/05/launching-quantum-artificial.html グーグルは、こういったシステムを現実世界の問題解決に利用できるレベルに発達させることを狙っている。」
http://wired.jp/2013/05/22/google-dwave/ http://www.wired.com/wiredenterprise/2013/05/google-dwave/
Part II コンピューターにとって 難しいことを考える
ここでは、量子コンピュータ登場の背景として、現在のコンピュータの能力では解決の難しい問題のいくつかと、現在のコンピュータ・アーキテクチャーが抱える問題を概観しようと思う。そうした問題の存在は、量子コンピュータ登場の単なる「背景」ではなく、その「必然性」を示していると考えることが出来る。
人間には容易でも、 機械には難しいこと
CMUのLuis von Ahnが考案したCAPTCHAやESPゲームは、こうした問題領域が存在していることを利用している。彼の、Human Computing / Crowd Sourcingというコンセプトも興味深いものである。ただ、こうした領域にコンピュータは、迫ろうとしている。
Most human can pass, but current computer can not pass.
http://elie.im/blog/security/five-surprising-captcha-schemes/#.UjUKt7zqH9I
ESPゲーム Human ComputingとCrowd Sourcing
o 「ESPゲーム」では、二人のゲーム参加者に、同一の画像を提示する。一方がその画像について連想した言葉を入力し、他方がその言葉を、出来るだけ少ない回数で当てるというゲーム。
o このゲームには、別の隠された目的がある。このゲームを通じて、膨大な画像イメージに沢山の人間が与えたラベルを取得出来る。Luis von Ahnは、これを、”Human Computing”と”Crowd Sourcing”と呼んだ。
o 「Peekaboomゲーム」は、その変種。画像全体ではなく、画像の一部が切り出されて、双方に提示される。一つの画像に対して、より詳細なラベルが得られる。
o GoogleとAhnらは協力して、多くの画像データへのラベル付けを行った。
http://www.youtube.com/watch?v=tx082gDwGcM
Human Computing / Crowd Sourcing
人間の自由時間の利用
o 2003年に、ソリティアを遊んだ、人間の総時間は、90億時間。
o ある人たちは、コンピュータの無駄な計算サイクルについて話をしているが、人間の無駄なサイクルについては、どうなんだろう?
o エンパイア・ステートビルを作るために、人間が使った時間は、700万時間。
o パナマ運河を作るために、人間が使った時間は、2000万時間。(ソリティアの一日分以下)
Carnegy Melon Univ. Luis von Ahn
Andrew Ngらの新しい知覚研究と Googleの協力
“Building High-level Features Using Large Scale Unsupervised Learning” Jeff Dean & Andrew Y. Ng et al 2012年7月 http://arxiv.org/pdf/1112.6209.pdf&embedded=true
Andrew Ngらは、機械だけの力で諸特徴を 学習するアルゴリズムを研究している。Google もそれに協力し、現在は、量子コンピュータの 応用の最も活発な分野の一つになっている。
o 我々は、ラベル付けされていないデータだけから、高レベルの、クラスに固有の特徴を検出することが出来るかという問題を考察した。例えば、ラベル付けされていないイメージだけから、顔の検出が可能かという問題である。
o この問題に答える為に、我々は、9層からなるローカルに疎に結合した、プーリングとローカルなコントラストの正規化の機能を備えた自動エンコーダを、大規模な画像データセット(モデルは10億のコネクションを持ち、データセットは、インターネットからダウンロードした200x200ピクセルの一千万個のイメージからなる)上で訓練した。
o 我々は、このネットワークを、1000台のマシン(16,000コア)のクラスター上で、並行計算モデルと非同期SGDを使って、三日間訓練した。
o 広く受け入れられているように見える直観に反して、我々の実験結果は、顔であるかそうでないかのラベルをイメージにつける必要なしに、顔の検出が可能であることを明らかにした。
o コントロールの実験では、この特徴の検出は、変換だけでなく、拡大や画面外への回転に対しても、頑健であることを示した。
The architecture and parameters in one layer of our network.
Face no Face
これが、一千万個の画像 データから、16,000コア のマシンが三日間かけて 抽出した「人間の顔」のイ メージらしい。子供の絵に 似ているのが面白い。
「学習する機械」についてのビル・ゲイツの言葉
人間はもちろん、 機械にも計算が難しいこと
計算の仕方が分かっていても、実際にそれを計算するのに、途方もない時間がかかる問題がある。「現実的には」計算出来ないと考えていい。公開鍵暗号は、ある種の問題のこうした性質を利用している。 量子コンピュータが、大きな関心を集めたのは、Shorが、量子コンピュータを使えば、公開鍵暗号の基礎の一つの素因数分解が、現実的な時間で行うことが出来ることを示したからである。
計算量の理論 P≠NP予想
o Pは、多項式時間でTuringマシンで解ける問題。 o NP(Nondeterministic Polynomial)は、その答
えがYESなら、そのチェックが多項式時間で解ける問題。
o n=pqなる素数p,qを求める問題は、NP問題である。nと同時にpあるいはqが与えられた時、それが条件を満たすかのチェックは、すぐに出来るから。
o 例: 127 x 129 = 29083 ? x ? = 29083 を満たす?を見つけよ。 127 x 129 は、29083か? YES!
計算量の理論 P≠NP予想
http://www.scottaaronson.com/talks/anthropic.html
計算の原理的可能性 Church-Turingの提言
計算量の大小とは独立に、どうやっても計算出来ない問題が存在する。また、計算には、いろいろなスタイルがあるのだが、それらは、共通の数学的特徴を持つことが発見された。こうした数学的な特徴を、「計算可能性」として定義しようと言うのが、「Church-Turingの提言」である。
Church–Turing thesis
Wiki http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis 1943年 Kleene “Recursive Predicates and Quantifiers”
Kleene proposes Church's Thesis
o “一般帰納関数は、実効的に計算可能である”というこの経験的な事実は、Churchを次のようなテーゼの記述に導いた。 同じテーゼは、チューリングの計算機械の記述のうちにも、暗黙のうちに含まれている。
o “THESIS I. 全ての実効的に計算可能な関数(実効的に決定可能な述語)は、一般帰納関数である。
現代のコンピュータの限界を考える
ノイマン型 コンピュータと そのボトルネック
http://www.intel.com/technology/silicon/mooreslaw/index.htm
Moore’s Law 40th Anniversary 2005年
1965年
Mooreの法則 回路の集積度
情報1bitを蓄えるのに必要な電子の数
X
?
Moore則の限界 Mooreの法則
Multi-Core / Scale-outへ
Kurtweilの「Mooreの法則」の修正 計算能力の指数関数的増大
Ray Kurtweil 2010 JavaOne
Kurtweilの議論の興味 深い点は、半導体のMoore の法則に見られる指数関数的 増大が、半導体に限らないと いう立論である。
Part III 量子コンピュータの世界
量子コンピュータ研究には、約30年の歴史がある。ここでは、その歴史を振り返るとともに、その基本的な原理について触れようと思う。量子コンピュータ研究の主流からみれば、D-Waveのアプローチは、異端的なものであることに留意してほしい。
量子コンピュータの登場
「量子コンピュータ」は、今から約30年前のファインマンの洞察を発端とする。ドイッチェがそれを定式化し、それが現在のコンピュータの限界を超えうることを明確に示した。ただ、「量子コンピュータ」が広く注目され研究者が爆発的に増大したのは、Shorが、量子コンピュータによる素因数分解のアルゴリズムを発見してからであった。
ファインマンの 洞察
1982年
Simulating Physics with Computers
1982年 Richard P. Feynman http://www.cs.berkeley.edu/~christos/classics/Feynman.pdf
自然をシミュレートするコンピュータ
o コンピューターが、正確に自然と同じように振る舞う、正確なシミュレーションが存在する可能性について話そうと思う。それが証明されて、そのコンピュータのタイプが先に説明したようなものであるなら、必然的に、有限の大きさの時空の中で起きる全てのものは、有限な数の論理的な操作で正確に分析可能でなければならないことになるだろう。
量子論的システムは、古典的なコンピューターでシミュレートされるか?
o 量子論的なシステムは、古典的な万能計算機で、確率論的にシミュレートされるだろうか? 別の言い方をすれば、コンピューターは、量子論的なシステムが行うのと、同じ確率を与えるだろうか? コンピューターを今まで述べてきたような古典的なものだとすれば(前節で述べたような量子論的なものではないとすれば)、また法則はすべて変更されないままで、ごまかしもないとすれば、答えは明らかにノーである。
量子コンピュータ -- 万能量子シミュレーター
o それは、新しいタイプのコンピューター、量子コンピューター?で可能になるだろう。 私が理解する限りでは、それは量子論的なシステムによって、量子コンピューターの要素によって、シミュレート出来るようになることは、いまや、明らかになった。それはチューリング・マシンではない。別のタイプのマシンである。
ドイッチェ
新しい原理の 確立
1985年
Quantum theory, the Church-Turing principle and the universal quantum computer
1985年 David Deutsch http://www.cs.berkeley.edu/~christos/classics/Deutsch_quantum_theory.pdf
Church-Turing-Deutche Thesis
o Church-Turingの仮説の基礎には、暗黙の物理学的主張があることが考察される。 この物理学的主張は、次のような物理学的原理として、明確に表現することが出来る。 「有限な方法で実現可能な物理システムは、有限な手段によって操作される万能計算機械のモデルで完全にシミュレート可能である。」
o 古典物理学と万能チューリング・マシンは、前者は連続的で後者は離散的であるので、この原理には従っていない。
万能量子コンピューター
o チューリング・マシンのクラスの量子論的一般化である計算機械のクラスが記述され、量子論と、この「万能量子コンピューター」が、先の原理と両立可能であることが示される。
o この万能量子コンピューターをまねた計算機械は、原理的には、構築可能である。そしてそれは、いかなるチューリング・マシンによっても再生不可能な、多くの目覚ましい特徴を持つであろう。
Quantum Parallelism
o これらの中には、非帰納的な計算は含まれていない。しかし、「量子並行計算」が含まれる。その方法によれば、古典的な制限の下でのコンピューターよりはるかに高速に、ある種の確率論的問題を万能量子コンピューターが実行出来る。
o こうした特質の直観的な説明は、エヴェレット以外の量子論の解釈ではすべて、堪え難い緊張をもたらす。
ドイッチェは、物理学者としては、エベレットとともに、量子力学の多世界解釈(「パラレル・ワールド」=並行宇宙論)の熱心な提唱者として知られていた。 現在でも、そうした立場は変わっていないようである。彼は量子コンピュータが超並行計算を可能にすることをMultiverseで説明している。 ちなみに、D-Wave社のblogページは、”Hack The Multiverse” と名付けられている。
n個のqubitで、2n個の並行計算が可能
量子コンピューターは、パラレル宇宙の間の コラボレーションに、有用な仕事を実行させる ことを可能にする最初のテクノロジーになる であろう。
ショア
量子コンピュータによる 素因数分解アルゴリズム
の発見
1994年
Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer
1995年 Peter W. Shor http://arxiv.org/pdf/quant-ph/9508027v2.pdf
量子の振る舞い -- SuperpositionとEntanglement
ここでは量子の、いくつかの奇妙な振る舞いについて述べる。こうした現象は、「直観」に反しているように見えるが、自然界では「現実」に起きていることである。自然が現実にそうなっていることは、初等・中等教育にも意識的に反映すべきことだと筆者は考えている。
Superposition(重ねあわせ)
Superpositionとは、量子が、「同時」に二つの状態を取ることである。観測すると、一つの状態しか観測されないのであるが。
光を半分は通し半分は反射する、ハーフミラーを45度の角度で 光の進路に置く。光は、二つの検出器に届く。光子一個で実験 を繰り返すと、ある光子は検出器1に、ある光子は検出器2に届 く。その確率は等しい。ここに不思議なことはない。
ハーフミラー二つと鏡二つを組み合わせて、上のような装置を 作る。光は干渉をおこして、検出器の一方にしか届かなくなる。 奇妙なことは、光子一個で実験しても、このことは変わらない。 一個の光子は、二つの道を「同時」に通っている。
もっと奇妙なことは、光路の一方を塞ぐと、光は両方の検出器に 届くようになる。光子一個で考えると、行く手を阻まれた光子は、 そのことを、他方の光子に伝えて(どっちも自分自身なのだが)、 その性質を変えているように見える。
2012年 Winelandのノーベル賞記念講演から http://www.nobelprize.org/nobel_prizes/physics/laureates/2012/
wineland-lecture_slides.pdf
Superpositionは、量子レベルだけでの 現象ではない。ある種の装置を使えば、 それはマクロな現象として現れる。
Entanglement(もつれあい)
「量子もつれ」は、量子のあいだに特別の相関関係が生まれる現象である。「Superposition」が現象としては既に19世紀末に確認され、20世紀に入って量子論の成立とともに理論化が進んだのに対して「entanglement」が実験的に確証されたのは、20世紀の後半である。アインシュタインは、量子論の矛盾を示すものとして、Entanglementに注目していた。
http://etdialogs.wordpress.com/2012/02/
1935年 EPRの逆理 Einstein, Podolsky, Rosen
1982年 Aspectの実験
http://www.sciencenews.org/view/feature/id/65060/description/ Everyday_Entanglement
量子通信 量子テレポーテーション
「パラドックス」から 通信の「原理」へ
量子コンピューターと量子ゲート
これまで、量子コンピュータの実現を目指す研究の主流は、汎用の量子論理回路、量子ゲートの実装とそれを組み合わせたシステムの構築に向けられてきた。
量子コンピュータ関連でノーベル賞
o 2012年度のノーベル物理学賞は、「量子世界での粒子のコントロール」への貢献で、イオン・トラップ、光子トラップのSerge Harocheと David J. Wineland に与えられた。
o 授賞理由は、次のようなものであった。 「両氏は、独立に、以前には達成出来ないと考えられていたやりかたで、個々の粒子を量子力学的な性質を保存したまま、計測し操作する手法を発明し発展させた。」
http://www.nobelprize.org/nobel_prizes/physics/ laureates/2012/press.html
http://blogs.yahoo.co.jp/cat_falcon/9937052.html
量子ゲートの例: CNOTゲート
http://blogs.yahoo.co.jp/cat_falcon/9937052.html
量子ゲートの記法と対応する ユニタリ行列
Introduction to Quantum Information Science / Oxford Graduate Text
Shorのアルゴリズムの中心部分 量子フーリエ変換を実現する量子回路
Introduction to Quantum Information Science / Oxford Graduate Text
「量子ゲート」によるアプローチの問題 「回路図」と「回路」
o ある問題を解く為の、量子ゲートの「回路図」を作ることと、その「量子回路」を現実につくることは、別の問題である。そして前者より後者の方が、はるかに難しい。
o 現状は、「回路図」が出来ていても、その「回路」の実現のところで足踏みをしている。 いつの日か、現在のLSI製造システムのように、回路図を作れば回路が出来るようになるのかもしれないのだが。
「量子ゲート」によるアプローチの問題 量子コンピュータのアーキテクチャ
o 「量子ゲート」のアプローチでは、「アルゴリズム」は、直接、「ハードウェア」のワイアリングで表現されることになる。
o このこと自体は問題ではなく当然のことなのだが、明らかに、「ソフトウェア」という抽象のレベルには向いていない。それは、シリコン上で半導体を設計している人のコンピュータとの関係と同じである。
o 別の言い方をすれば、「量子ゲート」の研究は、おそらくは「ハードとソフト」から構成されるであろう「万能量子コンピュータ」のアークテクチャの研究には届いていない。
量子コンピュータは、何が出来るか? Shorアルゴリズム実装の成功例
“EXPERIMENTAL QUANTUM COMPUTATION WITH NUCLEAR SPINS IN LIQUID SOLUTION” Lieven M. K. Vandersypen July 2001 http://arxiv.org/pdf/quant-ph/0205193v1.pdf
Overview of quantum computing experiments.
15の素因数分解の為に、 単純化された量子回路
7つのスピンを持つ物質
NMR
15は、3と5に素因数分解された! (らしい)
Part IV D-Wave のアプローチ
“D-wave is developing a system build around superconducting processors designed to enable quantum annealing algorithms” -- Geordie Rose
「汎用ゲートモデル」の問題点 by Geordie Rose
o エネルギーの固有状態のsuperpositionを維持して利用する必要がある。その状態は全く「不自然」なもので、極めて破れやすい。
o 「量子エラー訂正」のオーバーヘッドが大きく、高速で高いクォリティのフィードバックを必要とする。
o 必要とされる高速のコントロールは、スケールするのが難しい。
o プロセッサーのアーキテクチャーについての研究は、全く進んでいない。
D-Wave - Natural Quantum Computation (Google Tech talks 2010/10) http://www.youtube.com/watch?v=56qR0iX5A4o
Roseの述懐
o ゲート・モデルが、どうしたら動くようになるのか、全く見えなかった。2003年には、決断をしなければと思うようになった。選択肢は二つあった。一つは、研究をあきらめること。もう一つの選択は、何か他のものを作ることだった。
o この時、1999年の4月にScience誌に掲載された、Brookeらの”Quantum Annealing of a disordered magnet”という論文に注目した。彼らは、計算を古典的なスピン問題に変換して、それを量子アニーリング効果を使って解くことを提案していた。
Roseの述懐
o 二つの重要なアイデアが生まれた。 o 一つは、古典的なスピン問題を攻略する超伝導
プロセッサーを作ること。 o あと一つは、プロセッサーが有用な解を高速で返
すように、量子効果を利用することである。
D-Waveマシンの動作のモデル
ここでは、D-Wave社のチュートリアル “Quantum Computing Primer”にしたがって、D-Waveマシンの動作のモデルを紹介する。それは、「古典的スピン問題」のいい説明にもなっている。 http://www.dwavesys.com/en/dev-tutorial-intro.html
いくつかのスイッチがあったとしよう。この例では、5つのスイッチがある。それぞれのスイッチには、数字が割り当てられている。+1,+0.2,+0.5, -0.7,-0.8,+0.4のように。これをbiasと呼ぼう。
スイッチは、ONまたはOFFの状態を取るものとしよう。 この例では、3つのスイッチがOFFで、2つのスイッチがONの状態になっている。スイッチがONの時には+1を、スイッチがOFFの時には-1を割り当てよう。
OFF
-1
OFF
-1
OFF
-1
OFF
-1
ON
+1
ON
+1
それぞれのスイッチに割り当てられたbiasの値と、スイッチのON,OFFの状態を表す+1,-1を掛けた数字を、全部足しあわせた量を考えてみよう。この例の場合には、その量は、-3.6になる。
式で書くと次のようになる。
hは、それぞれの スイッチに割り当てら れたbiasの値
sは、それぞれの スイッチのON,OFFの 状態に対応した、 +1,-1の値
次のような問題を考える。 「biasが与えられた時、このE(s)を最小にするスイッチの状態を求めよ。」
hは、それぞれの スイッチに割り当てら れたbiasの値
sは、それぞれの スイッチのON,OFFの 状態に対応した、 +1,-1の値
この問題を解くのは、簡単である。 biasがマイナスの時にはスイッチをONにし、biasがプラスの時にはスイッチをOFFにすれば、全ての項がマイナスになり最小値を与える。先の例が、答えになっている。
問題を少し難しくしよう。今までは、一つのスイッチにbiasが割り当てられていただけだったが、今度は、二つのスイッチのあいだに、weight Jを割り当てよう。 この例では、それぞれのスイッチに、bias +1と -0.8が、二つのスイッチのあいだに、weight -1 が割り当てられている。
E(s)の値は、二つのスイッチのON,OFFに応じて、次のように計算される。OFF,OFFの時、最小値を取る。 ON,ON +1 x +1 -1 x +1 x +1 =-0.8 -0.8 x +1 ON,OFF +1 x +1 -1 x +1 x -1 =+1.2 -0.8 x -1 OFF,ON +1 x -1 -1 x -1 x +1 =-0.8 -0.8 x +1 OFF,OFF +1 x -1 -1 x -1 x -1 =-2.8 -0.8 x -1
スイッチが5個だから、スイッチのON,OFFの組み合わせは、2^5=32通り。その全てについてE(s)を計算して、最小のものを選べばいい。ただ、スイッチの数が増えると、場合の数が増えて、急に難しくなる。
これはどうだろう?
この式を最小に出来るか?
量子アニーリング
http://ichiya.com/Cutlery/HowScissors/page4.html
焼きなまし 焼き入れ 焼き戻し
金属やガラスの熱処理操作の一。 金属・ガラスをある温度に加熱したのち、 ゆっくりと冷却すること
http://www.weblio.jp/content/ %E7%84%BC%E3%81%8D%E9%88%8D%E3%81%97
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
スイッチが、ON,OFF両方の状態をとるSuperpositionの状態で、高いエネルギーを加える。
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
加えるエネルギーを、少しずつ下げていく。
OFF
OFF ON
OFF
ON
ON
加えるエネルギーがゼロになると、E(s)が最小になるような状態に落ち着く。この時のスイッチの状態を読み出せば、E(s)を最小にする問題の解が得られる。
得られるス ピンの向き 上下方向
加えるエネル ギーの向き 横方向
http://www.sciencedirect.com/science/article/pii/S037015731200347X
gradient descent method
D-Waveのハードウェアと 機械語レベルのプログラミング
SQUID superconducting quantum interference device
D-Waveマシンの qubitを構成して いるのは、SQUID である
いくつかの技術的 な理由から、複数 のSQUIDが組み 合わされて、一つ のqubitを構成し ている。
Qubit
Qubitの実際の形状 チップ上のQubitは、 長い矩形状に引き延 ばされて、その周囲 にいくつかの周辺素 子が配列されている。
縦四列、横四列に配置された8個のqubitの模式図 青色の部分は、couplerと呼ばれ、交差するqubit 同士を結合する。
プログラム可能なプロセッサーの 二つのタイプ qubitとcoupler
プログラム可能なプロセッサー・デバイス
問題をハードウェアで解く 例: 2変数の場合
3変数の場合
3変数の場合
エネルギーの最小値は、 量子アニーリングで自動的 に見つかる
機械語レベルのプログラミング
D-Waveのマシン語レベルのプログラムとは、 hi と Jij を与えること。
Superposition状態の 量子ビットが入力
最良のビットの配置が 出力される
エネルギーを最小にする問題と して、プログラムを与える
量子アニーリング
量子アニーリング
すべてのqubitが superpositionにある状態から始める
8個のqubitなら、可能な 28の状態が同時に 存在することになる
量子アニーリング
superposition状態が破れると、h, Jの設定に 応じて、それぞれのノードは、エネルギーが最小 になるような、+1 または -1の値に落ち着く。
技術的なことになるが、この図は、 external couplerがqubit間を どのように結合しているかを示して いて、興味深いものだ。
プロセッサーの処理
1. (h、J)の値を、サブシステムを利用してセットする。 2. チップが操作可能な温度にまで下がるのを待つ。 3. QA(Quantum Annealing)アルゴリズムを実行する。 4. Readoutサブシステムを利用して、全てのqubitの値を
読み出す。 5. 2-4のプロセスを、ユーザーがセットした回数繰り返す。
D-Waveマシンのプログラミング 生成関数と最適化問題への還元
ここでは、D-Wave社のコンパイラーBlackboxと、それに基づいたプログラミングの手法について説明する。 generating functionは、objective function とも呼ばれているようだ。
なぜ、コンパイラーが必要か?
o D-Waveマシン・チップの量子アニーリングに基づく、「計算」の実行能力は強力だが、ハードウェア・レベルで(hi , Jij)を与えるという形でプログラムを組むのは困難である。なにより、解くべき問題と機械語レベルのプログラムとの対応が見えにくい。
o D-Waveマシンでのプログラム開発は、基本的に、問題に対応した「生成関数」を定義し、その最小値を求める問題に還元する形で行われる。その「生成関数」を、コンパイラーが、ハードウェア・レベルでのエネルギーの基底状態を求める問題に変換する。
キー・コンセプトは、「生成関数」
o まず最初に、開発者は、入力として0か1のビット列を取り、実数値を出力する関数をコードする。開発者によって与えられたこの関数を、生成関数(generating function)、G(x)と呼ぶ。
o 数学的には、生成関数を次のように書く。 G(x1, x2, ..., xN) ここで、xkは、0か1の値を取る変数で、この例では、全部でN個ある。G(x1, x2, ..., xN) によって返される値は、実数でなければならない。
生成関数の例
o 生成関数の簡単な例を挙げてみよう。 G(x1,x2)=x1+2x2
o この例の場合、N=2個の変数がある。そして、関数 G(x1,x2) は、実数値を取る(この例では整数値だが、もちろん、問題ない) 可能な入力の組み合わせは、 2N = 4 で四通りある。それらを全部書けば、次のようになる。 G(0,0)=0, G(1,0)=1, G(0,1)=2, G(1,1)=3.
アプリケーション プログラム・サンプル
D-Wave社のTutorialには、現実世界の問題を生成関数を見つけることで解く、多くのアプリケーション・レベルのプログラム例が挙げられている。ここでは、そのいくつかを紹介する。 http://www.dwavesys.com/en/dev-tutorials.html
部分和問題: 例:5つの数字 {-7,-3,-2,5,8} からいくつかの数字を選んで、和をゼロにせよ。
答え {-2, -3, 5}
それぞれの数字を、0か1の値を取る、生成関数の変数に対応させる
次のような生成関数が考えられる。
o なぜ、2乗しているのか? 量子コンピュータは、generating functionが最小になる値を探す。2乗なしだと、G(1,1,1,0,0) = -12が最小の値として返ってくる。
o ただ、見落としがある。この関数は、全ての引数がゼロの時にもゼロになるのだが、これは求めるものではない。この解を除外する為に、generating functionを、次の形にする。
D-Waveマシンの出力
>> The best bit string we found was: [0 1 1 1 0] >> The subset this corresponds to is: [-3, -2, 5] >> Its energy is: 0 >> We found a solution... this set has a subset that sums to zero
http://www.dwavesys.com/en/dev-tutorial-getting-started.html
巡回セールスマン問題
http://www.dwavesys.com/en/dev-tutorial-tsp.html
問題の設定
1. 最小の長さの経路を探す。可能な限り短い経路を選ぶこと。
2. 全てのノードを、正確に一回だけ訪れるものとする。こうした要請を満たす経路を選ぶこと。
3. 選ばれた経路は、単純なループであることとする。すなわち、地図上のノードと同じ数の辺を含む経路を選ぶこと。
生成関数への翻訳の準備
o 全てのノードと辺に番号を振る。 o 生成関数は、可能な全ての経路(問題の条件を満たして
いるとは限らない)の辺を表現している[0,1,0,1,1,...,]の形のベクターWを引数に取る。 ここで、i番目の1は、辺iが経路に含まれていることを、0は、この辺が経路に含まれないことを表す。
o それぞれの辺xには、[node_index1, node_index2, length]の形のデータが割り当てられている。ここでnode_index1, node_index2は、辺xの両端のノード、lengthは辺xの長さを表している。
o 全ての辺の長さからなるベクター[l1, l2, l3, ...., lN]をEとする。
問題の生成関数への翻訳
o 条件1に対応する生成関数G1は、経路の長さ、すなわち経路上にある全ての辺の長さの和だから、ベクターWとベクターEの内積で与えられる。 G1=E ・ W
o 条件2に対応する生成関数G2は、次の形になる。 ここでAは、この項がゼロ以外の値を取る時に与えられるペナルティで大きな値にしておく。(次のBも同じである)
o 条件3に対応する生成関数G3は、次の形になる。
o よって求める生成関数Gは、 G=G1+G2+G3 である。
Quantum Unsupervised Feature Learning (QUFL)
http://www.dwavesys.com/en/dev-tutorial-qufl.html
量子コンピュータでの Supervised Feature Learning
量子コンピュータでの Unsupervised Feature Learning
Unsupervised Feature Learningとその量子アルゴリズム
o Unsupervised Feature Learning (UFL)は、量子コンピュータの応用で、もっとも期待されている分野の一つである。現在のコンピュータでは、16,000コアのクラスターを三日間動かし続けて得る結論を、量子コンピュータは、瞬時に得る可能性があるからである。
o 残念ながら、Quantum Unsupervised Feature Learning (QUFL)と呼ばれるそのアルゴリズムを紹介することは、ここでは割愛した。
o その背景にある理論自体、筆者がまだ良く理解出来ていないことが大きいのだが、とても興味深いものに思える。参考資料に、この分野の代表的な研究者である、Andrew Ngの講演スライドの一部を紹介した。
参考資料
Unsupervised Feature Learning and Deep Learning
2011年 Andrew Ng http://icml2011speechvision.files.wordpress.com/2011/06/visionaudio.pdf