量子コンピュータが示す社会の未来像

大関真之 氏(以下、大関):私は東北大学の大関と申します。

「量子コンピュータ」という新しいタイプのコンピュータが出つつあるということで、今回はその技術について紹介したいと思います。

ただ、やはり未来のことですから徐々に徐々に進んでいるものです。私たちが取り組んでいるのはその中でも特殊なもので、「量子アニーリング」という技術を扱っています。それについて、1つずつ紹介していこうと思います。

まずは、私の紹介をします。

現在東北大学に勤めていますが、大学でも働き方改革が進んでいまして、私の母校でもある東京工業大学とクロスアポイント、半分半分で所属しています。両方の先生のフリができるわけです。今日は東北大学でいきます(笑)。

最近は、学生だけではなくビジネス系の方々もこの世界に入ることができるので、見事な働き方改革ができています。「大関先生はどこにいるんですか?」とよく言われますが、どこにいるかは僕もよくわかりません。少なくとも今日は東京でみなさんとお会いしています。

実はその「どこにいるのかよくわからない」というのがキーワードになります。量子コンピュータは非常に小さいミクロの世界で起こっている不思議な現象を利用します。原子や分子など、中学生のときに理科で習ったものですね。原子や分子など、非常に小さいものがつかさどっているのが量子力学というルールです。私たちはその量子力学を巧みに利用することによって、新しい技術をつくろうとしています。

そうやってできたのが、この本……違います、量子コンピュータです(笑)。

量子コンピュータが変える未来

量子コンピュータで「徐々に未来を変えていくぞ」ということで、この後登壇するデンソーの寺部さんと一緒に書いた本なので、こちらについても触れていただけると思います。

また、最近書いた本を紹介します。『Pythonで機械学習入門』という本がありまして、お妃さまと魔法の鏡と白雪姫ちゃんが映っています。

Pythonで機械学習入門: 深層学習から敵対的生成ネットワークまで

実は今日のイベントのきっかけがここに詰まっています。この本の第1弾『機械学習入門』は、お妃さまと魔法の鏡が機械学習とデータサイエンスについて語るという内容ですが、この本を気に入って推薦していただいたのが、千代田まどかさんです。

機械学習入門 ボルツマン機械学習から深層学習まで

「ITエンジニア本大賞」という大会で、審査員特別大賞と技術賞部門で大賞をいただきました。

これはその際の写真です。この時の出会いから、「いつか一緒にイベントをやりたいな」と思っていたところ、このようなチャンスがありましたので、今日はみなさんと一緒に楽しみたいと思います。

量子コンピュータ時代の幕開け

それでは、ここからまじめな技術の話をしたいと思います。

2017年、もう2019年ですから2年前です。2017年ごろから、量子コンピュータの時代が到来したと、私は個人的に思っています。それは証拠があるからです。実は2017年の5月17日にIBMが「17量子ビット」の量子コンピュータを発表しました。

さらに、11月には「50量子ビットを作りましたよ」と。みなさんご存知のIntelも、2018年の年明けに「49量子ビットができたよ」と発表しました。そして。最近のテクノロジーの分野でトップを走っているGoogleも72量子ビットの量子コンピュータ用のチップを作りました。

今、どんな状況かというと、この量子コンピュータのチップが正しく動作するか、私たちの思った通りに動作するか検証が進んでいる状況です。

では、量子コンピュータの「量子ビット」とは何なのか。コンピュータの用語で「0か1か」とよく言いますよね。0か1、この2つの数字を使うことによって、私たちが扱うような10進数や複雑な計算を表現します。

実は僕らも0と1で数字を表しています。指です。

今、指を4本立てて「4」を表しています。1つ指を折り曲げて他の指は折り曲げない「0、1、1、1、1」です。これで4という数字を表しています。

2進数ではもっと簡単に数字を表しますが、指の折り曲げでも数字を表せる。ということは、足し算、引き算、掛け算、割り算など、僕らが習った四則演算は、指の折り曲げルールによって計算が可能です。今のコンピュータ、とりわけデジタルコンピュータは、そんな指の折り曲げルールによって作られています。

では、量子ビット・量子コンピュータは何なのかというと、0か1かではなくて、途中の状況を作ることがあります。つまり、先ほどは指の折り曲げで計算をすると言いましたが、指の角度、向きすらも使って複雑な数字の表し方をしましょうというわけです。

なので、0であり1であるという、ちょうど中間も表現できます。横向きに指さすこともできるわけです。0と1だけではなく、横向きもあります。「横向きということは0なんですか? 1なんですか? どっちなんですか? ハッキリしてください!」。「東北大学なんですか? 東工大なんですか? それともあなたは大学の先生なんですか? ビジネス界の人なんですか? どっちかハッキリしてください!」。そんな新しい状態を作ることができます。

つまり今の状態に適したコンピュータ、それが量子コンピュータです。

0でもあり1でもある不思議な状況を使うことによって、今までとは違うルールを作りだすことができる。だからコンピュータのアップデートができているということです。

何ができるのか、まだわからない

「は?」って話です。「それを使ってどうするの?」「何か新しいことできるの?」と。チャンスなんですよ、これ。実はよくわからないんです。

どう使ったらうまく成果が上がるのか、業績が上がるのか、もしくは良いことができるのか、まだ模索段階です。だから、いち早くこの技術に興味を持って、チャンスを切り開く。そんな良い時代だということを、今日は感じ取ってほしいです。

「ビット」という言葉自体は、32ビットとか64ビットとか、WindowsのOSの仕様で聞いたことはありますよね。数字の扱いや桁数の大きさ、難しい計算をどれだけ扱うか。今のコンピュータは32ビットか64ビットです。64ビットがほとんどだと思いますが、量子コンピュータは、先ほどGoogleが72量子ビット、IonQというところは79量子ビットです。今のコンピュータよりすごいじゃないかって思いますよね。

ですが、量子コンピュータは0と1の扱い方が不思議なわけです。そのため、新しい使い方ができます。量子コンピュータにはおもしろい性質があります。0と1があったとすると、今のコンピュータの場合は数字を1つずつ変えていきます。1だったやつを0にします、ここが1だったら0にします。こんなことを1つ1つやらなければいけません。

ですが量子ビットのいいところは、他の量子ビットともつれ合います。関係を持たせることができるので、「こいつを横に倒すと、隣の人もつられて横に倒れる」とか、「この人を下に下げたら、別の人もつられて下に下がる」とか、一斉にたくさんの情報を操作することができます。

なので32ビット、64ビットといった数字の扱える桁が増えれば増えるほど、情報処理の能力が飛躍的に上がっていきます。なので「64ビットでいいや」「79量子ビットでいいや」という世界ではないんです。とにかく量子力学のルールに従った、新しい量子ビット。それをたくさん並べることによって、今までのコンピュータでは培えなかったような、すごい計算能力を持ったコンピュータを作る。そんな夢に向かっている途中です。

量子アニーリングとは何か?

これらの量子コンピュータは、いわゆるプログラムが可能です。つまり僕らが思った通りの操作ができるようなコンピュータのスタイルを目指しています。ですが、それを作るのは非常に技術的に難しく、研究者たちは日々挑戦を続けているところです。そうした技術の発展を待ちながら、僕らが注目しているのがこちらです。プログラムができる量子コンピュータではなくて、「量子アニーリング」と呼ばれる技術です。

量子アニーリングというのは、量子コンピュータの中でも限定的なものです。本当は量子コンピュータは0と1だけでなく、ビットの複雑な状態を使った難しい計算ができるらしい。ですがここはこういうことをスッパリ忘れて、「横に倒せるよ」という性質だけ使います。

横に倒すということは、0でもなく1でもない。そんな状況を作ります。その後、その横向きの状態を経て、徐々に0なのか1なのかどっちかハッキリさせる。そういう計算だけをさせる。それが量子アニーリングという技術です。

この技術を使うと何ができるのか? パズルが解けます。パズルのピースを埋めるか埋めないか、これは0か1かです。

今日ここに来るために、道を調べました。右に曲がるか左に曲がるか、これも0か1かです。どっちに行ったらいいんでしょう。右か左かわからない。悩んでいる状態から最終的に右がよかろう、左がよかろう、ということを判断させるために量子ビットを使う。それが量子アニーリングの発想です。

その発想を生み出したのは、実は日本人です。

こちらにいらっしゃるのが、私の指導教官だった西森秀稔先生で、左がデンソーに勤めている門脇正史さんです。この2人の提案によって、量子アニーリングという技術が提案されました。ここに黒い大きな箱がありますが、D-Wave Systemsというカナダのベンチャー企業が実際にその原理を利用したマシンを作り、なんと販売までしているんです。もちろん使えます。

量子アニーリングマシンを使ってみる

「使えるんです」って、結局「そうなんだ」で終わってしまうのは残念なので、ここで使ってみましょう。

これがログインした状況です。

アカウントを持っていればログインできます。D-Wave Systemsというカナダのベンチャー企業が作った量子アニーリングマシンを1分間だけ利用することができます。

今何しているかというと、デンソーの無線Wi-Fiを使ってカナダのD-Wave Systemsさんのところにある、量子アニーリングマシンにアクセスをしています。

これ、ちょっとおもしろいんですよ。量子アニーリングマシンを利用すると、パズルのピースをはめるか、はめないか、0か1の数値がバラバラに出てきます。いわばガチャです。

上2つは、C4××とありますね。これは、シミュレーターです。量子アニーリングマシンを使うとしたらこんなことができるよ、ということが試せます。こちらは無料ガチャです。下4つはD-Wave machine、量子アニーリングそのものです。これは有料ガチャです。

せっかくですから使ってみましょう。

いろいろパラメータや設定をいじることができます。例えば「Number of Reads」 を1,000にします。どういうことかというと、今から量子アニーリングでパズルの問題を作って、パズルの問題を1,000回解いてもらいます。そんな設定をしました。

これがD-Wave Systemsの量子アニーリングマシンの様子です。丸がいっぱいありますよね。この丸1つ1つが量子ビットです。縦16、横16で256ユニットありまして、1つ1つのユニットには8量子ビットあります。量子アニーリングマシンはプログラムができません。その代わりに2,048量子ビット用意されています。

あとで詳しく説明しますが、これにパズルの問題を埋め込みます。最初はグレーでした。つまり0か1か、白か黒か曖昧な状況です。そこで、白もしくは黒にハッキリさせましょうというパズルの問題を埋め込みました。

今回事前にアンケートを取られたことを覚えていますか? 「沖縄に行きたいですか? 北海道に行きたいですか?」というアンケートがありましたね? あれを解くことができます。答えてくれたのは26人でございます。このマシンが解けるのは2,048人分だったんですけどね、残念でございます。

(会場笑)

じゃあ、解いてもらいましょう。ポチって押しました。今、この問題を送りました。あ……解けました。

あっという間に1,000回解きました。今の一瞬で。しかも通信しています。メールを送るようなものです。マイクロ秒の単位です。20マイクロ秒で設定されていますが、それくらいのスピードです。

1、-1という数字が並んでいますが、白か黒かという結果がここに載っています。おもしろいじゃない。

私たちの人生においては悩みがたくさんありますが、量子アニーリングマシンはその悩みを解決するのに使えるのではないかと思います。

未来の工場は量子コンピュータで稼働する

実際にデンソーさんと一緒に取り組みとしてやったのは、未来の工場の姿を描くというものでした。

工場の中には、こういった無人搬送ロボットがいます。右に進むか左に進むか、止まるか進むか。この画像は既存の工場で、既存のルールでロボットが動き回る様子を示しました。

青丸が渋滞をしているときに待っていた時間を表したものです。量子アニーリングマシンを使うことによって、渋滞しないように右に行きなさい、左に行きなさい、あなたは進みなさい、あなたは止まりなさいという選択をさせました。

その結果、青丸の数が減り、大きさもしぼんでいっていることが確認できるかと思います。通常のシステムに比べて15パーセントほど稼働率が向上しました。

こちらはデンソーさんと東北大の取り組みです。

(会場笑)

詳しく様子を見たいと思います。

稼働率と止まってる率ですね。これが既存のルールに従って動いた場合の様子です。交差点でぶつかってはいけませんのでぶつかりそうになったら止まってスムーズに流しています。そうして待っていると、青丸が膨らんでいきます。

それに対して、量子アニーリングマシンをバックに付けて、あなたは進みなさい、あなたは止まりなさいということを指令するわけです。

そうして3秒に1回最適化することによって、青丸の発生頻度が少なくなっています。そしてサイズも小さくなっています。小さくなっているということは、待ち時間が少なくなっているということです。

何に使おうか、ちょっとイメージ膨らみませんか? 「自分の工場に持ち込もう」と考えるのもいいですが、自分の業種において右に行くか左に行くか、前に進むか止まるか、選択が無数にあるものを一瞬にして解いてほしい課題はありませんか?

これはデンソーさんとの取り組みですが、東北大学としても単独で取り組みを始めてます。

渋滞を回避して津波から逃げる

実はこれ、本邦初公開です。

(動画が流れる)

東北大学では、東日本大震災で津波による被害がありました。もしも地震が起きたら、量子アニーリングマシンが稼働します。そして同時にスパコンも稼働して、津波がどの範囲に及ぶかシミュレーションを行います。その津波のシミュレーションの結果に合わせて、量子アニーリングマシンが避難経路を最適化し、それに従ってクルマ、もしくは人が逃げるとします。

このあたりは川なので、津波がさかのぼってきて浸水してしまいます。だから、早めに逃げましょう。そのとき、渋滞が起こってしまうと大変なことになります。なので渋滞を解消するために、あなたは右、あなたは左という選択をしてほしいわけです。

これは、みんなが例えばGoogleマップを使って最短経路で逃げた場合です。最短経路でとにかく速く、我先にと逃げる。しょうがないですよね。ですがそうすると、橋の上で渋滞が起こってしまいます。渋滞のせいで詰まっている様子が見られます。

下のグラフは渋滞の度合いを表しています。200台のうちおよそ100台ほどがひどい渋滞で突っかかってしまっている状況です。

それに対して量子アニーリングマシンを用いて、「あなたは前に行きなさい、あなたはちょっと待ちなさい、右に行きなさい、左に行きなさい」ということを割り振ったらどうでしょうか?

こちらがその結果です。

同じように「うわー!」と逃げるんですが、先ほど使わなかった橋を使うようになります。そうするとスムーズに逃げられるようになります。もちろん、詰まってしまうところはしょうがない部分もあります。橋が6つしかないので限界はありますが、それでも分配させることによってスムーズに避難できるようになりました。

渋滞のグラフも、先ほどは100台ほどがひどい渋滞につかまっていましたが、20台ほどに収まりました。

量子コンピュータをどう活かしていくか

0か1か。それをあいまいな状態の量子ビットを使うことによって、どちらに行くべきかという選択を量子コンピュータ、量子アニーリングマシンに任せることができる。難しい判断をコンピュータにインプットすることで、答えてもらうことができる。しかも技術の進展とともに、膨大なスケールの問題に対して適用できる未来が待っているわけです。

しかも、すぐに答えを求めたい。すぐに判断を仰ぎたい場面はいくらでもあります。なので社会のインフラシステムとして、量子コンピュータが果たしていく役割はあるのではないかと思うわけです。

もちろんビジネス目線もそうですし、アカデミックな目線でもそうです。広い視野で量子コンピュータ、量子力学を利用した新しいテクノロジーをどう活かしていくか。ここはまだ考え始めたばかりです。今考え始めて、新しい応用方法を作り出したら勝ちです。今日はそれを1つでも2つでも共に作り上げていけたらなと思います。

どうもありがとうございました。

(会場拍手)