Upgrade to Pro — share decks privately, control downloads, hide ads and more …

量子コンピューターでデータサイエンス / Data Science with Quantum Computers

量子コンピューターでデータサイエンス / Data Science with Quantum Computers

2021年6月4日開催 Women in Data Science Tokyo @ IBM
QUANTUM COMPUTING TALK #2資料
Speaker: 沼田 祈史
Qiskit Advocate
東京基礎研究所
日本アイ・ビー・エム株式会社

https://widstokyoibm2021.splashthat.com/

8e308462954f8c38cc60dabb8b7bc6a3?s=128

wids-tky-i

June 04, 2021
Tweet

Transcript

  1. #WiDS2021 #WiDSTokyoIBM QUANTUM COMPUTING TALK #2 量⼦コンピューターでデータサイエンス 2021/06/04 沼⽥祈史 (Kifumi

    Numata, IBM)
  2. 本セッションのSNS投稿について SNS投稿︓ 全てOK OK: テキストによる⽂字のみの投稿 OK: スクリーンショットの画像/動画を含んだ投稿 ハッシュタグ: #WiDS2021 #WiDSTokyoIBM

  3. もくじ • 量⼦コンピューターとは • 量⼦コンピューターの活⽤ポイント • パラメーター付き量⼦回路 1. 分⼦のエネルギー計算 2.

    最適化問題 3. 量⼦ニューラルネットワーク 量⼦コンピューターでデータサイエンス 3
  4. 量⼦とは︖ 同じ⽐率 原⼦ ビー⽟ 直径1万3000km 直径1cm 直径7cm 直径0.1nm ナノメートル あらゆるものは、「原⼦」からできています。

    4
  5. 量⼦とは︖ 同じ⽐率 原⼦ ビー⽟ 直径1万3000km 直径1cm 直径7cm 直径0.1nm ナノメートル あらゆるものは、「原⼦」からできています。

    ミクロな世界 原⼦や原⼦より⼩さい物質を量⼦と呼びます。 このミクロな物質は、私たちの常識では説明できない、 不思議なふるまいをします。 参考︓Newtonライト2.0『量⼦論』 5
  6. 量⼦の不思議な現象 • 波と粒⼦の⼆重性 • 量⼦重ね合わせ • 量⼦もつれ(エンタングルメント) • 観測した瞬間に状態が⼀つに決まる 量⼦コンピューターは量⼦現象を使って

    計算を⾏う新しい仕組みのコンピューターです。 6
  7. 量⼦計算の基礎 ⟩ |𝟎 = 1 0 , ⟩ |𝟏 =

    0 1 ⟩ |𝝍 = α ⟩ |𝟎 + β ⟩ |𝟏 = α 𝛽 α! 𝛽! = 𝑢"" 𝑢"# 𝑢#" 𝑢#" α 𝛽 7 • 量⼦ビット α, β ∶ 確率振幅 α ! + β ! = 1 • 量⼦ビットに作⽤する演算は、 ユニタリー⾏列 𝑈によって表されます。 = cos ! " ⟩ |𝟎 + 𝑒𝑥𝑝 𝒾𝜑 sin ! " ⟩ |𝟏 ⟩ |𝜓′ = 𝑈 ⟩ |𝜓 代表的な量⼦演算︓ CX = 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 X = 0 1 1 0 Z = 1 0 0 −1 7
  8. 量⼦コンピューター 約-273℃ (0.015K)の低温で量⼦状態を実現 ケルビン 8

  9. 量⼦コンピューターの適⽤分野 量⼦化学 ⾦融 最適化/機械学習 9

  10. 量⼦コンピューターの活⽤ポイント その1 量⼦現象そのものを扱う︓ • 「⾃然は古典的ではないのでシミュレーションするには量⼦⼒学的に⾏う 必要がある」(ファインマン先⽣) • 古典コンピューターでは表現しきれない量⼦状態を厳密に 表現する。 例)カフェイン分⼦(C8

    H10 N3 O2 )︓1048ビット必要 • 将来︓創薬、新素材開発 10
  11. 量⼦コンピューターの活⽤ポイント その2 ⾏列計算に関連したものに適⽤︓ • 量⼦コンピューターは、線形⽅程式の解が効率的に解ける。 • 位相推定アルゴリズム︓固有値計算 • HHLアルゴリズム︓逆⾏列計算 →

    巨⼤な⾏列処理を⾏う、最適化・機械学習への応⽤。 ただし、この計算には ⼤量の量⼦計算リソースが必要となる。 11
  12. 現在の量⼦コンピューターは、 NISQ(ノイズあり中規模量⼦コンピューター) 量⼦コンピューターの得意な計算と 古典コンピューターと組み合わせ、エラーを少なくするハイブリッド⼿法。 量⼦コンピューター 古典コンピューター パラメーターの 最適化計算 パラメーター付き量⼦回路で コスト関数を表現

    12
  13. パラメーター付き量⼦計算 量⼦コンピューター パラメーター付き量⼦回路で コスト関数を表現 パラメーター付き量⼦回路で表すもの︓ 分⼦のエネルギー、最適化問題のコスト関数、ニューラルネットワークの重み、など Y X Z 量⼦

    ビット Y軸回転の 回転⾓θ 量⼦ ビット 2量⼦ビットのパラメーター付き回路の例 回転⾓を調整することで ふさわしい量⼦回路に調整していく θ 制御Z 13
  14. VQE (Variational Quantum Eigensolver) ︓変分量⼦固有値ソルバー 1. 分⼦のエネルギー計算を⾏う 2. 試⾏状態|𝜓(𝜃)⟩ 1.

    エネルギーの式 (ハミルトニアン) 3. エネルギー期待値⟨𝑯(𝜃)⟩を計算 4.𝜃を調整して最適化 計算の流れ︓ 1. 問題の分⼦のエネルギー式(ハミル トニアン)𝑯を準備する。 2. パラメーター𝜃の量⼦回路で試⾏状態 ⟩ |𝜓 𝜃 を作る。 3. ⟩ |𝜓 𝜃 に𝑯演算をして測定して、エ ネルギー期待値 𝑯 𝜃 を求める。 4. 𝜃を調整して 2.、3.を繰り返し、エ ネルギーが最⼩になるように最適化 する。 最終的に求まるのは、⾏列𝑯の最⼩の固 有値とその時の固有ベクトル(近似値) 出典︓ Peruzzo, etc https://arxiv.org/pdf/1304.3061.pdf 量⼦コンピューター 古典コンピューター 14
  15. 分⼦のエネルギーを表す式 物理の世界でエネルギーに相当する演算⼦をハミルトニアン と呼びます。 シュレディンガー⽅程式(例︓電⼦のエネルギーを求める式) の左側の演算⼦(⾏列)がハミルトニアン𝐻です。 − ℏ" "# $" $%"

    + 𝑉 ⟩ |𝜓 = E ⟩ |𝜓 ⾃然界では、エネルギーが最⼩の状態で系が安定します。 よって、エネルギーの期待値 𝝍 𝑯|𝝍 の最⼩値を求めることで、 ⾃然をシミュレーションすることができます。 ⾏列 数字 ベクトル ベクトル 15
  16. 最適化ルーチンでパラメーター調整 例)⽔素分⼦の基底エネルギーを求める パラメーター付き量⼦回路 (試⾏状態・固有状態) ⽔素のエネルギー式(ハミルトニアン) エネルギー固有値の計算 (測定と合算) Ansatzと呼ばれる。 様々な形式がある。 よく使う量⼦ゲートである

    X演算やZ演算で表現されている。 16
  17. 例)⽔素分⼦の基底エネルギーを求める 結果(エネルギー期待値の近似値)︓ 最適化されたパラメーターの値︓ 17

  18. 今年5⽉の量⼦プログラミングコンテストの 最終問題はVQEでした︕ 課題︓VQEを使って、 ⽔素化リチウム分⼦の基底状態エネルギーを シミュレーションする最⼩の試⾏状態を⾒つける。 Li H 18

  19. ⼯夫 2)試⾏状態|𝜓(𝜃)⟩ の簡略化︓ 科学的根拠に基づく⼿法や経験則的⼿法を試す。 または⾃作する。 ⼯夫1)ハミルトニアンを簡略化︓ Qiskitにある様々な変換⽅法を試す ⼯夫 3) 相性の良い最適化アルゴリズム

    を選択する。 課題︓VQEを使って、⽔素化リチウム分⼦の基底状態エネルギーを シミュレーションするための、最⼩の試⾏状態を⾒つけよう。 精度を落とさずに、 最も⼩さい量⼦回路を 作れた⼈が勝ち︕ Li H 元々は12量⼦ビット必要 19
  20. 20

  21. VQEアルゴリズム︓分⼦のエネルギー(ハミルトニアン)の最⼩値を求めた ︓エネルギーをコスト関数にする コスト関数 … 最⼩化したいものをコスト関数(ハミルトニアン) で表し、最適化問題を扱うことができます。 (変数は{-1, 1}) 最適化問題の例) •

    最⼩化: コスト、距離、重量、処理時間、材料、エネルギー消費量 • 最⼤化: 利益、価値、⽣産⾼、リターン、利回り、有⽤性、効率、収容能⼒ 2. 最適化問題 21
  22. 最⼤カット問題 多くの⼈々が相互に作⽤し影響を及ぼしあうシステム • グラフの頂点︓個⼈ • 頂点間の結合︓個⼈がお互いの購買決定に影響を与え るか • 重み𝑤#$ ︓𝑖

    が試供品を⼿に⼊れた後に、𝑗 が製品を購 ⼊する確率 頂点を⼆つのグループ(試供品をあげる、あげない) に分けるとき、 どの頂点の間の結合をカットすれば、カットされた重み の合計が最⼤になるか︖ マーケティング戦略︓ 個々⼈の影響の度合いが分かっている場合に 無料の試供品をどの⼈に配れば、利益が最⼤になるか︖ 𝐻 = − 1 2 1 !,# 𝑤!,# 1 − 𝑍! 𝑍# (ここで、𝑍! = {1, −1}, 𝑤!,# は重み) ︓最⼩値とそのときの𝑍! の値を求める コスト関数(ハミルトニアン) 𝑤$% 𝑤$& 𝑤&' 𝑤'( 𝑤(% 1 4 3 2 0 22
  23. 最適化ルーチンで パラメーター調整 例)最⼤カット問題 パラメーター付き量⼦回路 コスト関数 コスト計算(測定) 𝐻 = − 1

    2 1 !,# 𝑤!,# 1 − 𝑍! 𝑍# = & ' 𝑍$ 𝑍& + 𝑍& 𝑍' + 𝑍' 𝑍( + 𝑍( 𝑍$ − 4 量⼦ゲートの回転⾓を調整する コスト関数が最も⼩さくなるように 23
  24. 例)最⼤カット問題 24

  25. 3. パラメーター付き量⼦回路による機械学習 ⼊⼒ データ ニューラルネットによる学習 出⼒ データ … 量⼦回路による学習 ⟩

    |0 ⟩ |𝜓(𝑥, 𝜃) 損失関数 (教師データ との差) 重みの更新 損失関数 (教師データ との差) 期待値 𝜃の更新 𝑈12 (𝑥) 𝑈(𝜃) ⼊⼒ データ ニューラルネットワークでの各ニューロン層への重みを調節する代わりに、 パラメーター付き量⼦回路のパラメーター(回転ゲートの回転⾓)を調整する パラメーター 25
  26. 量⼦回路による学習 ⟩ |0 ⟩ |𝜓(𝑥, 𝜃) 損失関数 (教師データ との差) 期待値

    𝜃の更新 ⼊⼒ データ 𝑈12 (𝑥) 𝑈(𝜃) 計算の流れ︓ 1. 訓練データ𝑥1 を量⼦回路𝑈12 (𝑥) にエン コードして、状態 ⟩ |𝜓12 (𝑥1 ) を作る。 2. パラメーター 𝜃の量⼦回路 𝑈 𝜃 によって 状態 𝑈(𝜃) ⟩ |𝜓12 (𝑥1 ) に変換。 3. 量⼦ビットを測定し期待値を得る。 4. 期待値(訓練出⼒)とモデル出⼒ y(𝑥1 , 𝜃) の差である、損失関数を最⼩化する 𝜃 を 求める。 5. 未知の⼊⼒データ 7 𝑥 を 𝑈12 (7 𝑥) でエン コードし、パラメーター 𝜃∗を実⾏して、 予測 y 7 𝑥, 𝜃∗ を求める。 1. データのエンコード 2. パラメーター 回路の作成 3. 測定 4. 𝜃の最適化 量⼦コンピューター 古典コンピューター 26
  27. 量⼦コンピューター 量⼦回路による学習 ⟩ |0 ⟩ |𝜓(𝑥, 𝜃) 損失関数 (教師データ との差)

    期待値 𝜃の更新 𝑈(𝜃) 1. データのエンコード 2. パラメーター 回路の作成 3. 測定 特徴量マッピング 古典コンピューターでは効率的に表現しにくい⾮線形モデルを 量⼦空間にマッピングすることで、⾼次元の特徴量空間で効率的に表現。 計算の流れ︓ 1. 訓練データ𝑥1 を量⼦回路𝑈12 (𝑥) にエン コードして、状態 ⟩ |𝜓12 (𝑥1 ) を作る。 2. パラメーター 𝜃の量⼦回路 𝑈 𝜃 によって 状態 𝑈(𝜃) ⟩ |𝜓12 (𝑥1 ) に変換。 3. 量⼦ビットを測定し期待値を得る。 4. 期待値(訓練出⼒)とモデル出⼒ y(𝑥1 , 𝜃) の差である、損失関数を最⼩化する 𝜃 を 求める。 5. 未知の⼊⼒データ 7 𝑥 を 𝑈12 (7 𝑥) でエン コードし、パラメーター 𝜃∗を実⾏して、 予測 y 7 𝑥, 𝜃∗ を求める。 古典コンピューター 4. 𝜃の最適化 ⼊⼒ データ 𝑈12 (𝑥) 27
  28. ⟩ |0 ⟩ |𝜓(𝑥, 𝜃) 損失関数 (教師データ との差) 期待値 𝜃の更新

    ⼊⼒ データ 𝑈12 (𝑥) 𝑈(𝜃) 1. データのエンコード 2. パラメーター回路の作成 3. 測定 4. 教師データとの損失関数(交差エントロピー) を最⼩化するように𝜃を最適化 例)量⼦ニューラルネットワーク分類 ZZFeatureMap −1~ + 1のランダムな 𝑥, 𝑦 が 𝑦 = −𝑥 の境界線で分類さ れているデータを学習する。 RZ回転 28
  29. 例)量⼦ニューラルネットワーク分類 間違って学習した点 29

  30. 30

  31. まとめ NISQ(ノイズあり中規模量⼦コンピューター)で データサイエンスを⾏うために‥‥ 量⼦古典ハイブリッドアルゴリズムで、 量⼦回路の規模を⼩さく抑えつつ、量⼦の特徴を活⽤する⽅法 を紹介しました。 例) 1.分⼦のエネルギー計算︓⽔素の基底エネルギー 2.最適化︓最⼤カット問題 3.機械学習︓量⼦ニューラルネットワーク分類

    31
  32. さらに量⼦コンピューターを学びたい⽅へ Qiskitチュートリアル https://qiskit.org/documentation/locale/ja_JP/ tutorials.html Qiskitテキストブック https://qiskit.org/textbook/ja/preface.html 32

  33. 量⼦コンピューター夏学校 〜今年は量⼦機械学習です︕ 開催期間︓7/12(⽉)~7/23(⾦) 第2段申し込み開始︓6/9(⽔)時間未定 https://qiskit.org/events/summer-school/ 33

  34. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提 供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むもので もありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にか かわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた 場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証また は表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、また そのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰す るものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもってい

    つでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料 に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図し たものでも、またそのような結果を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予 測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、 ⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーが ここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたも のです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、 IBM Q、Qiskitは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名および サービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml をご覧ください。