2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
Grover search revisited; application to image pattern matching(全1記事)
リンクをコピー
記事をブックマーク
手塚宙之氏(以下、手塚):ソニーグループ株式会社R&Dセンター先端研究部の手塚です。(スライドを示して)本日は、ゲート型量子コンピュータの活用事例として、このようなタイトルでお話しします。かなりスペシフィックな内容になっているので、少々わかりづらいところがあるかと思いますが、全体の流れと大まかな概念を伝えられればと考えています。
現在は、慶応義塾大学の量子コンピューティングセンターで共同研究員を務めています。本日の話は、そちらでの成果の一部となっています。
まず私の所属する組織について簡単に紹介します。(スライドを示して)こちらが弊社R&Dセンターの技術ポートフォリオです。領域は非常に多岐にわたっていて、画像関係、AI関係、ロボティクス、センシングと、非常に幅広い分野を担当しています。
これらを用いて弊社内の幅広い事業を支えるとともに、新たな技術・製品、サービスを創出することをミッションに活動をしています。私の所属する先端研究部は、これらの中でも特に先端、長期的視点が必要なもの、かつ不確実性の高い領域を分野横断的に担当している部署です。このような趣旨にも、量子コンピューティングは非常に親和性が高いということで、研究をしています。
ここから本題に入ります。はじめに、本研究の最終的なゴールを共有しておきます。本研究では、量子技術を用いてデータベース検索を高速化しました。
昨今の我々の生活では、あるデータがあった時に、「これと最もよく似たデータは、このデータベースの中のどこにあるのか」というデータベース検索が、いたるところで行われているかと思います。
古典技術を使う場合、基本的にはこれらのデータを一致しているかどうかを逐一見ていきます。量子技術を使うことにより、データベースの重ね合わせ状態を作れて、より少ない手数で結果が求められるの(ではないかということ)が研究の方向性になります。
ここまで話を聞いて、「なにを今さら」と感じる方がいるかと思います。それもそのはずで、量子コンピューティングの得意なことが何かという質問に対しては、長い間、素因数分解やデータベース検索が速くなる(こと)と言われてきました。
ただ一方で、こういった問題設定を実際に量子技術を使って解いてみることは、あまり真面目にやられていないというのが実情です。実際やろうとするとどうなるかという問題点についても、この後に話していきたいと思います。
(スライドを示して)こちらがこの後の話の全体像です。前半部分でタイトルにあるとおりGrover searchを簡単に紹介します。後半で、今回モチーフとして用いた量子画像について紹介したいと思います。
ここで導入です。(スライドを示して)昨今、量子コンピュータへの期待が非常に高まっていて、日々さまざまなアルゴリズムが提案されてきています。しかしながら、これらすべてに量子加速の理論的な裏づけがあるわけではありません。まだまだヒューリスティックなものもたくさんあります。
その中でもしっかりとした理論に裏付けされたアルゴリズムももちろんあり、その代表例がこういったものです。特にこの中でも比較的汎用的で、いろいろなところで用いられているGrover searchという重要なアルゴリズムがあります。今回は、これについて詳しく調べてみたというのが研究のスタートポイントです。
Groverアルゴリズムですが、はじめに提案されたのは25年ほど前です。(スライドを示して)このようなタイトルの論文の中で、Groverさんがこのアルゴリズムの提案をしました。
その後、もうほとんどすべてと言っていいと思うのですが、量子計算の教科書や解説の記事、さらには学術ジャーナルの中でも、こういった図を使ってアルゴリズムの紹介がされています。
(アルゴリズムを)簡単に説明すると、まず初期化された量子状態を準備します。これに対して、アダマールゲートという演算、操作を行うと、すべての量子状態が均等に重ね合わされた量子状態が生成されます。
この状態をデータベース状態と見ることができます。続いて、ユーザーが検索したいデータを“クエリ”と呼びますが、ここでは例として「|q>」と書いています。これを使って、オラクル演算子を構成します。
その後に拡散演算を行うと、振幅増幅という現象が起ります。この状態を観測すると、ユーザーが設定したクエリの量子状態が高確率で得られるアルゴリズムになっています。
実際にこの処方箋に従って回路を組んでシミュレーションや実機の量子コンピュータで回すと、確かによく動くのですが、ここでふと思うわけです。「そもそもこれって、我々がやりたかったデータベース検索になっていますか?」と。これを使って実際の問題を解こうと思うと、いくつか問題点が出てきます。
(スライドを示して)一番わかりやすいものは、このオラクル演算子です。このオラクル演算子を作る時に、欲しい量子状態「|q>」を使って組むと言いましたが、そもそも量子状態の|q>が欲しいからこのアルゴリズムを使っているわけで、完全にニワトリと卵の問題になってしまっているというのが、1点目です。
さらに、データベースステートの量子状態を見てみると、すべての量子状態が均等に重ね合わされた状態という、非常に特殊な状態を想定してしまっています。
ここで「データベースをもう少し複雑化すればいいだろう」と考えるわけですが、任意の量子状態を生成するには、一般に2の指数回の計算ステップが必要であることが知られています。したがって、こういうことを考えると、後半で期待されている2乗加速のよさが消されてしまいます。
このように、既存のアルゴリズムでは、いわゆる我々が想像するようなデータベース検索問題には、そのままでは適用できない状況でした。そこで本研究では、これらの問題点を解決するスキームを考えた次第です。
その具体的なスキームの話をする前に、今一度、データベース検索問題を定義したいと思います。一番シンプルなデータベースとして、電話帳があるかと思います。
(スライドを示して)電話帳は、電話番号とそれが誰のものかという情報です。データと、それにひもづくインデックスが束になったデータセットが手元にあります。こういう状態で、外から電話がかかってきた時に、電話番号をもとに「これは誰のものか」というインデックスの情報を求めます。これが一番シンプルなデータベース検索といえます。
この概念を拡張すると、データ分類が可能になります。同様に、データベースがあって、新たなクエリというデータが入ってきた時に、このクエリとデータの類似度を計算することで、「このクエリはどの属性に属するのか」が求められるようになります。
(スライドを示して)本研究で採用した問題設定も、真ん中の問題設定のアナロジーとなっていて、量子データベース検索問題でこのような問題設定を考えました。
真ん中と同様に、データの部分にはさまざまな量子状態を準備します。これとインデックスキュービットがエンタングルした状態が重ね合わされた状態をデータベースステートとして準備します。
今度はクエリデータです。クエリとデータの類似度を計算して、それが最も高くなるインデックスはどれかを求める問題を考えました。
(スライドを示して)実際に解く提案手法がこちらです。けっこう込み入っているので、技術的な内容に興味がある方は、ぜひアーカイブ論文をご参照ください。
ポイントは大きく2点あります。1点目のデータを作るところに関して、先ほど一般には2の指数回の計算ステップが必要という話をしましたが、量子機械学習の手法をうまく応用することによって、2の指数回ではなくて、Qubit数の多項式回程度の浅い回路で状態が生成できるスキームを考えました。
さらにデータとクエリの類似度を計算すると言いましたが、Inversion testという手法を使うことによって、オラクル演算子がクエリに非依存になるフレームワークを考案しました。
こうすることで、先ほど言った問題設定のとおり、クエリの類似度がインデックスごとに観測確率として出てきて、|q>という量子状態はインデックス|011>にきちんと対応することが求められるアルゴリズムを再構築しました。
今回は、これを量子画像に適用しました。量子画像について簡単に紹介します。一言で言ってしまうと、ふだん我々が目にする画像データを、量子状態としてマッピングするものです。
(スライドを示して)例えば、弊社のフラグシップの一眼レフカメラで1枚パシャッと写真を撮ると、こういった規模のデータがアウトプットされます。ビット数で見るとかなり大きいですが、量子画像として扱うと、わずか30qubitで済むというインパクトのある概念になります。
もう少し具体的に言うと、画像はピクセル位置とそれに対応した輝度情報で表されるので、それの重ね合わせ状態で量子画像を作ります。これをデータの部分に埋め込むことで、先ほどのアルゴリズムが動く算段です。
(スライドを示して)それを使って行ったデモンストレーションの結果がこちらです。こちらではトイモデルとして非常に小さい問題設定を使っていますが、4ピクセルで8枚のデータベースが重ね合わされたものを使っています。
これに対して、例えば0hという真っ黒な画像を検索にかける、「この0hはどのインデックスにあるか」というと、000というところで000が最も高い確率できちんと求められます。クエリを変えるとこれが動いていくので、きちんと動いていることがわかります。
グラフの上段と下段の2段が何かというと、今回提案したアルゴリズムは、Groverオペレーターを使って確率増幅をする前に、類似度計算をしています。上段が確率増幅前で、下がGrover演算子を使った後になっています。相対関係がきちんと維持されたまま振幅増幅しているので、やはりきちんと動作していることが確認できます。
(スライドを示して)さらにトイモデルだけでなくて、もう少ししっかりした画像も当然扱えて、機械学習の文脈でよく見る、手書き文字を使ってもきちんと動くことが確認できています。
最後に簡単にまとめます。本研究ではGrover searchアルゴリズムを実問題へ適用可能なかたちで改良して、量子画像のデータベース検索問題を解きました。
一番のメッセージは、このアルゴリズム自体がどうのということもあるのですが、Groverアルゴリズムという大変よく知られているアルゴリズムであっても、改良すべき点はまだまだ多いということです。
量子計算の社会実装を考えると、やはりユーザーが具体的に解きたい問題を設定して、そこで見えている課題を解決していくことが、今後ますます重要になるだろうと考えています。以上です。
司会者:ありがとうございました。これより、質疑応答の時間とします。「類似度の定義や設計は、人手で行うようなアルゴリズムとなっているのでしょうか?」ということです。
手塚:そうですね。今回扱っているのが量子状態同士の類似度なので、現在はその量子状態の内積を類似度と見て計算している状況です。
司会者:ありがとうございます。続いて、「量子画像のエンコードは何を使っているのでしょうか?」ということです。
手塚:今は量子機械学習を使っていますが、コスト関数はいろいろと定義できます。今回は、実際にはMMDを使って学習をさせています。オプティマイザーはいろいろ選べますが、今回はAdamを使っています。
司会者:どうもありがとうございました。これにて質疑応答を終了します。手塚さん、どうもありがとうございました。
関連タグ:
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略