40
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

量子機械学習におけるライブラリ/チュートリアル開発状況まとめ [2020.0919ver]

はじめに

社内の勉強会で量子機械学習について情報収集し3社(IBM, Google, Xanadu)のライブラリ/チュートリアル開発状況について表にまとめました。
Xanaduはカナダの量子ベンチャーで量子機械学習に特化した会社です。
使い勝手の良い表だと評価をもらえたのでQiitaにて外部公開していこうと思います。

この表に関する現状は今後どんどんにアップデートされていくと思います。
githubのリンクなどはフォルダ再構築されると失効される可能性があるのでご了承ください。
なので2020年5月時点の現状としてお読みください。

量子機械学習モデルの原案として引用してる論文は、基本的に最初にその名前でアルゴリズムが世に出た時のものを引用しており、NISQ版アルゴリズムとは対応していない場合があります。

この表に言及されてない量子機械学習モデルやライブラリ/チュートリアルなどご存知でしたらコメントいただけると幸いです。

量子機械学習概略表

Qiskit, Cirq, PennyLaneはそれぞれIBM, Google, Xanaduの量子コンピュータのPythonライブラリです。

量子機械学習モデル 説明 Qiskit実装 Cirq実装 PennyLane実装
量子敵対的生成ネットワーク(QGAN) [原案: 1, 2, 3 実装: 4, 5] 擬似データを生成(教師なし学習) ◯ [ref] ◯ [ref*1] ◯ [ref*1]
量子回路学習 [原案 1, 2, 3 実装: 4, 5, 6] データを分類(教師あり学習) ◯ [ref] ◯ [ref] ◯ [ref]
量子サポートベクターマシン(QSVM) [原案: 1 実装: 2] データを分類(教師あり学習) ◯ [ref 1, 2, 3] Not Found Not Found
量子ニューラルネットワーク [原案 1, 2, 3 実装: 4, 5] データを分類(教師あり学習) ◯ [ref] ◯ [ref] ◯ [ref]
量子畳み込みニューラルネットワーク [実装: 1, 2] 画像データを分類(教師あり学習) Not Found ◯ [ref] ◯ [ref]
量子k-means [原案: 1 実装: 2] データをクラスタリング(教師なし学習) ◯ [ref 1,2, 3] Not Found Not Found
量子データフィッティング*2 [原案 1, 2] 関数のフィッティングに利用 ◯ [ref] Not Found ◯ [ref]
量子勾配法 [原案 1, 2, 3, 4 実装: 5] パラメータ最適化に利用 ◯ [ref] ◯ [ref] ◯ [ref]
量子強化学習 [原案 1, 2] マリオやテトリス等を上達させる機械学習 ◯ [ref*3] Not Found Not Found
量子主成分分析(PCA) [原案 1] 多次元データを2,3次元に圧縮 Not Found Not Found Not Found
量子最適化近似(QAOA) [原案 1] 組み合わせ最適化問題を近似的に解く ◯ [ref] ◯ [ref1, 2] ◯ [ref]
量子自然言語処理 [原案 1] 文を単語のネットワークとして解析 Not Found Not Found Not Found
量子Autoencoder [原案 1] データ圧縮 Not Found Not Found Not Found

*1 QGANの実装はCirqをバックエンドにしてPennyLaneの量子機械学習ライブラリを使用。
*2 線形回帰モデルはデータフィッティングの一例とみなす(少し強引ですが。。)
*3 現在Github工事中のようで以前のリンクが失効していたので関連フォルダをリンクしています。まだフォルダ構成変更などの工事が入りそうな予感。

こちらの表を作成にあたり@Ayumu_walkerさんに修正・追記していただきました、ありがとうございます。

追記

修正にあたり、@med_quantum_menさんにアドバイスを頂きました。(2020/5/20)
修正にあたり@yoshi_and_akiさんにアドバイスを頂きました。(2020/5/22)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
40
Help us understand the problem. What are the problem?