2023年3月25日土曜日

20年前の論文に掲載されていた量子コインゲーム

[要旨] 量子コンピューティングの解説ビデオは多数ありますが、最近、Youtubeで "A beginner's guide to quantum computing" を視聴しましたので、その私の理解を書きます。IBMShohini Ghose氏による、10分程の英語の分かりやすい解説です。量子コンピュータとは何か、それがどんなインパクトを与えるかも簡潔に述べられていますが、特に量子重ね合わせ (superposition)を、コインゲームで解説しているのが特徴です。最後に書きましたが、私の自作ブロッホ球も役立った!


簡単なコインゲーム(従来コンピュータ版
 ルールは以下のように簡単です。(コンピュータ)と(あなた)が交互に操作します。(このゲームの由来は[補足2]をご覧ください。)
  1. まず、 コインを表にする。以下の操作を行う。
  2. Qは、裏返すか否かのどちらかを行う。Pにはその結果は分からない。
  3. Pは、裏返すか否かのどちらかを行う。Qにはその結果は分からない。
  4. Qは、裏返すか否かのどちらかを行う。Pにはその結果は分からない。
  5. コインの状態を見る。表ならばQの勝ち、裏ならばPが勝ちとなる。
 この手順を、図2に示します。コンピュータQが勝つ確率が50%であることは明らかです。ちょっと退屈なゲームですが、これは次節への準備です。
簡単なコインゲーム(量子コンピュータ版
 次に、このゲームを量子コンピュータで行います。ルールは上記と基本的に同じです。とはいえ、従来コンピュータとは全く異なる世界になるので、使うコインも従来のコインではなく、量子コインです!以下のようなルールになります。
  1. まず、量子コインを表(すなわち、 |0>)として、以下の操作を行う。
  2. 量子コンピュータQは、ユニタリ演算を実行する。Pにはその結果は分からない。
  3. Pは、裏返す(Flip)か否かのどちらかを行う。Qにはその結果は分からない。
  4. Qは、ユニタリ演算を実行する。Pにはその結果は分からない。
  5. 量子コインをZ基底で測定して、 |0> ならQの勝ち、 |1> ならPの勝ちとなる。
 ここで、QとPではやることが違うんじゃないの?という疑問が湧くかも知れません。確かにそのようにも見えますが、ここでのルールは、Qは量子コンピュータなのですから、Qは「量子的」に裏返し(Flip)、あなたPは古典的に裏返す(Flip)ということなのです。この手順を、図3に示します。実は、コンピュータQが勝つ確率は、100%になります!
量子コンピュータがなぜ、必ず勝てるのか?
 量子コンピュータが必ず勝つ理由は、このビデオで簡単に以下のように口述されてはいます。

During the game, the quantum computer creates this fluid combination of head and tails, zero and one, so that no matter what the player does, flip or no flip, the superposition remains intact. But in its final move, the quantum computer can unmix the zero and one, perfectly recovering heads so that you lose every time.

 でも、多くの人は腑に落ちないでしょう!その答えは、量子回路を具体的に作ってみれば分かります。図4がそれです。上記に示した、量子コンピュータQが行うユニタリ演算は、ここではHadamard変換(H)としています。一方、Pが量子コインを反転させる場合はビット反転を意味するPauli X(+)を、反転させない場合はIdentity(I)を適用します。
 この量子回路をIBM Quantum実機で1024回実行した結果が図5です。いずれの場合も量子コンピュータが常に勝ちました!ただし、本来は100%であるはずが、1%〜2%負けているのは、量子コンピュータの誤作動によるものです。(現状の量子コンピュータはそうなります。)
 さて、図5のように量子コンピュータQが常勝した理由は、Qが2回Hadamard変換Hを行なっていることにあります。初期状態は|0>ですから、Qが最初にHを行った後の量子状態ベクトルは、X軸正方向と赤道の交点を指しています。そこでPがビット反転(+)を行なっても、量子ベクトル状態に変化が生じません。なぜなら、このビット反転操作は、X軸まわりに量子ビットをπだけ回転さえる操作になるからです。その後、Qは再度Hを実施するので、量子状態は|0>に戻ってしまいます。その状態で測定する(量子コインを見る)のですからQの勝ちとなるのです。

 以上で説明を終わるのですが、さらに、Qni量子回路シミュレータでも確認したいと思います。図6がそれですが、QとPが行う各操作毎に、量子状態ベクトルがどうなっているかを示しているので、分かりやすいと思います。
 さらにもう一つ。このコインゲームの操作は、単一ブロッホ球面でのHadamardゲートとPauli Xゲートの適用となるので、直感的にとても分かりやすくなります。図7でそれをご覧ください。自作ブロッホ球がこんなところで役立った!

[補足1]
 量子状態が|0>であるならば、Pは、Pauli Xによる裏返し操作で、コインの裏側を意味する|1>へ移行させることができます。その逆方向も然りです。しかしながら、Qは、Pの手番になる前にHadamardを実行(重ね合わせ状態へ推移)しているので、コインは反転しません。ともかく、ここでは厳密な意味での対戦というよりも、量子重ね合わせを説明する例題と考えた方が良いと思います。
[補足2]
 後で分かったのですが、このコインゲームは、D.A. Meyerという人の1999年の論文に示されているとのことです。それはペニーフリップゲームと名づけられており、初期の量子コンピューティングの研究成果のようです。単に、単純なゲームのように見えますが、深い洞察が含まれているようです。私の上記の理解と合致しているか否かは自信がありません。今から20年以上も前にすでにそのような研究が行われていたことは驚きです。

2023年3月5日日曜日

趣味のブロッホ球マスコットを振り返る

 これはもう趣味の工作にすぎません。量子コンピューティングを学ぶ上で、量子状態ベクトルをイメージできるマスコットが欲しい、ということでブロッホ球モデルを作ってきました。これまでにも、このブログの記事に何度か出現しましたが、改めて振り返ります。以下の、初期バージョン(a)から出発して、最新バージョン(d)に至りました!

 そもそもなぜ、ブロッホ球を手作りしたいの?例えば、IBM Quantum Labを使えばPythonプログラムで自由に、以下のように綺麗に描けるじゃないですか。あるいは、Qni量子回路シミュレータも使えますよ。
 でも違うんですね。以下のように物理的なものを手作りして手に持って眺めてながら量子ビットを思うと、これがとてもいいんです。最初のバージョン(a)は、ピンポン球に北極と任意の量子状態ベクトル(のつもり)を描いただけの単純なものでした。ちょっと(かなり)物足りないですね。
 ということで、バージョン(b)では、いきなり大幅バージョンアップしました。まず、右型のブロッホ球では、透明プラスチック球の中に、位相Φと確率振幅θ付きの量子ベクトル|ψ>を示す1/4円板を組み込みました。さらに、左側のブロッホ球には、アダマール変換で北極が赤道へ行く円板を内部に取り付けました。
 これでいいかなあ、と思ったのですが、2つのブロッホ球じゃなく、一つのブロッホ球にした方がいいだろう、と思ってバージョン(c)を作りました。ちょっと見えにくいのですが、球面に3つのアダマール変換のパスを描くのに少し手こずりましたが、昔使っていた製図用のディバイダーが役立ちました。北極→x軸正方向の赤道点、南極→x軸負方向の赤道点、y軸正方向の赤道点→y軸負方向の赤道点への3つの円を球面に描きました。
 最後にバージョン(d)です。ちょうど良いサイズのフイギュア・ディスプレイケースをAmazonnで見つけて購入。これに格納してみると、なんだか記念碑的ブロッホ球となりました!

2023年3月4日土曜日

MIT Technology Review(日本語版)に載った量子時代の展望

 MIT Technology Reviewという雑誌は聞いたことはありますが、今回初めてその日本語版を購入してみました。というのも、質の高そうな「量子時代のコンピューティング」という特集があったからです。雑誌自体の装丁、デザイン、紙質なども高級感溢れるものです。定価は2,200円です。
 緻密な文章構成で、注目すべきタイトルの多数の寄稿が見られます。私が、特に関心を持って読み、大いに力づけらた以下のような記事が含まれています。

中村泰信(理研 量子コンピュータ研究センター長)への特別インタビュー
「超伝導量子ビットの生みの親が語る量子コンピュータの研究の未来」
 私の勝手な感想:
 聞き手が、「日本は量子コンピュータの分野で米国、欧州、中国の後塵を拝しているが、...」で始まる問いに丁寧に回答されています。その中で、浮き足立つことなく「動作原理からして、何でもかんでも量子コンピュータが有利という訳ではない」と冷静に解説されているのが印象的です。もちろん、その上で強い研究開発への思いを語られています。

グーグル vs. IBM
「量子コンピュータ開発の熾烈な覇権争い」

サンダー・ビチャイ(Google CEO)への独占インタビュー
「Googleはなぜ量子コンピュータに投資するのか?」

暗号が破られる日に備えよ
「耐量子アルゴリズムの必然性」

量子技術集団Qunasysが巨大企業から注目される理由

2023年3月3日金曜日

黒橋禎夫教授のChatGPTに関する解説

私とChat GPTとの会話の実例(単なるウオーミングアップです)
↓ここからが本論です:

 ChatGPTが世間的に物凄い勢いで話題になっているようです。では、自然言語処理やAIの著名な研究者はこれをどう見ているのかな?と思っていましたら、まさにそれを聞ける絶好の機会が本日ありました!(ご存じかもしれませんが...)

 本日(2023-03-03)の10:30からのNII(国立情報学研究所)のサイバーシンポジウムにて、自然言語処理の重鎮であり、次期NII所長となられる黒橋禎夫 京都大学教授のChatGPTに関する解説がありました。内部の仕組みも含めて、とても分かりやすく、参考になりました。これはなかなか聞けない情報だと感じましたので、記録しておきます。30分ほどの講演で、スライド57枚も公開されました。いつまで公開Youtubeで見られるのかは分かりませんが。

「ChatGPTの仕組みと社会へのインパクト」黒橋禎夫 京都大学教授

 私が講演を要約することはとてもできませんが、以下の点が印象に残りました。黒橋教授ご自身も、この講演のタイトルと要約文の作成に、ChatGPTを利用してみて有用だったとのことです。これには驚きました。

(1)ChatGPTの仕組みは、ニューラル翻訳→Attention→Transformer→GPTの流れで発展してきた言語モデルであり、技術的にはすでに周知のものであり、特に驚くものではない。

(2)だが、GPT3(2020)頃から、強化学習による訓練と膨大なコーパスにより、急速に自然な会話的なやりとりとなってきた。

(3)信頼できるか?について:答えがわからなくても、「それは知りません」と言わずに、言語モデルが勢いで何かを言ってしまう場合がある。コーパスに嘘があれば当然、それはある程度再現される。

(4)ChatGPTをとり入れた最新のBingでは、回答のエビデンスを示すリファレンスを示すようになってきた。人間がそれを見て、どう使うかを判断することになろう。

(5)教育での利用は制限すべきか?については:電卓や機械翻訳の利用と同様に、学習の初期では一定の制限が必要だが、ある段階からは、積極的に利用して批判的に思考を身につけることが重要。学生の利用を制限することはできないし、そうすることが正しいとは思わない。

(6)日本語は欧米語に比べてあまり学習されていないはずだが、その割には、日本語もよく回答している。だが、良質な大規模日本語コーパスで学習した言語モデルを、日本自身が持つべきである。

(7)今回のことは、人間とAIの本格的な共存の始まりと考えるべきだろう。

[最後に私自身の感想]
 特に、大学でのプログラミング演習問題の出題に大きな影響を与えそうだ。現状の、1年生や2年生に出されているプログラム作成課題は、概ねChatGPTが回答してくれるのではないか。今後数ヶ月後には、さらに進歩しているはずだ。標準的な回答が得られた後も、「この部分を関数にして」とか「...という処理を再帰的関数にして」とか、「C言語じゃなくPythonにして」などという求めにも楽に答えるだろう。上記項目(5)をよく検討する必要が出てきそうである。