IBMのコミュニティ活動で量子機械学習マップを作ってみた!

# はじめに
量子コンピュータ [Advent Calendar 2022](https://qiita.com/advent-calendar/2022/quantum) 15日目の記事です。
本年、IBM Community Japanが主催する「ナレッジモール研究 2022」というコミュニティ活動の一環で量子機械学習におけるアルゴリズムのマップを作成しましたので、その内容をご紹介いたします。

　ナレッジモール研究では、毎年多くの研究テーマが設定されますが、本年2022年の「量子コンピューターの活用研究 －機械学習・量子化学計算・組み合わせ最適化への適用－」に参加した「2022-B-10c」ＷＧという研究グループでの活動の成果物の一つとして、「量子機械学習MAP」を作成しています。

すでに量子コンピュータ Advent Calendar 2022 11日目の記事 [「IBMコミュニティ活動で『量子人材育成の提案』を行い、２年連続で『最優秀賞』を獲得した話」](https://qiita.com/ksj555/items/4ca6655730cefd34e553)にて我々の全体の活動をご紹介させていただいておりますが、この記事はその中の分科会のひとつである量子機械学習で今年度重点的に取り組んだ内容についてご紹介します。量子機械学習のシラバスはこちらです。

https://github.com/wg-quantum/quantum-education-2022/blob/main/3_advanced_ml/3-1_advanced_syllabus.pdf

今回の記事では量子機械学習の中で重点的に取り組んだ内容である量子機械学習マップについてご紹介します。

# 量子機械学習マップとは
世の中にはカオスマップがたくさん出ています。カオスマップによりその領域の全体像が把握できます。今回チャレンジした量子機械学習マップとは従来の機械学習を軸に対応する量子機械学習のアルゴリズムとそれに関連している関連技術を整理した俯瞰するためのマップです。

# なぜ量子機械学習マップか?
近年、量子機械学習は量子コンピュータの分野でも注目されている分野です。そしてこの分野では数多くの論文が発表されていますが、量子機械学習そのもの研究自体がはじまったばかりであり、研究自体が未成熟で体系的に整理がされていません。そして様々なアプローチで論文が発表されていることで、情報が散乱しており、量子機械学習の全体を捉えることが困難でした。
そこで、量子機械学習の全体像を整理するため、今回、量子機械学習マップを作成することにしました。

# 量子機械学習マップの道のり
量子機械学習マップを作ることが決ったものの、どのような形でまとめるのかを決めるのには苦労しました。参加メンバー全員でキーワードリストを作成して、議論したり、コミュニケーションツールであるMural(https://www.mural.co/) を使って図を作成して、そこにどのように分類するかを記入してディスカッションするなど、いろいろと試行錯誤を繰り返ししました。その結果、既存の機械学習を軸に量子機械学習をあてはめてみてはということになり、分類することにしました。そして最終形は@ksj555さんのデザインセンスにより、見栄えのいいのものができました。この軸でまとめると既存の機械学習の体系を知っているものは学習しやすいと考えました。

さらにマップのみならずマップに登場する個々のアルゴリズムの解説もやってみようということになり、手分けして量子機械学習のアルゴリズムを勉強しながら、各人が分担して作成することになりました。

# 量子機械学習マップの解説
量子機械学習マップは、量子機械学習で用いられる「量子アルゴリズム」と、それに関連する「重要キーワード」で構成しています。そして、この量子アルゴリズムは、従来の機械学習のカテゴリごとにマップ上に配置しました。 そして教師あり/なし/強化学習でカテゴライズしています。
また、重要キーワードは、さまざまな量子アルゴリズムが新たに開発されている現状においてアルゴリズムを理解するために知っておくべき事項を列挙しています。マップの構成は以下の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373940/e908dbc4-684c-6e29-cc99-b079d7466cf8.png)

そして作成したマップは以下になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373940/b650bd7a-9fec-72ee-5cf7-b9a72df93c5d.png)

量子アルゴリズムの詳細説明(2-4-3-2~)を個別に作成しましたが、時間の都合で細説明を作成していないものは参照論文(2-4-3-1)をリストアップしました。一例として量子アルゴリズムの中の量子レザバーコンピューティングの解説は以下の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373940/5b00484b-d6dd-638f-09a6-aad468a6b66f.png)

参照論文は次の形式でまとめました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373940/e3849b62-c54f-88a7-6953-3daeeb4d7ab8.png)

# 成果物
作成した資料類はgithubに公開しております。
https://github.com/wg-quantum/quantum-education-2022
その中でも量子機械学習のマップについての説明は以下になります。是非ご覧になって下さい。
https://github.com/wg-quantum/quantum-education-2022/blob/main/3_advanced_ml/3-2_advanced_textbook_2-4.pdf
量子機械学習の昨年の取り組み内容はこちらになっております。盛りだくさんですが、ご覧になって下さい。

[量子機械学習とは ～ 2-3：チートシート](https://github.com/wg-quantum/quantum-education-2022/blob/main/3_advanced_ml/3-2_advanced_textbook_1~2-3.pdf)
[量子機械学習手法](https://github.com/wg-quantum/quantum-education-2022/blob/main/3_advanced_ml/3-2_advanced_textbook_3.pdf)
[実装ファイル（フォルダリンク）](https://github.com/wg-quantum/quantum-education-2022/tree/main/3_advanced_ml/3-2_advanced_textbook_3_files)
[Ｑ検定 サンプル問題集](https://github.com/wg-quantum/quantum-education-2022/blob/main/3_advanced_ml/3-3_advanced_q_certification.pdf)

さらに後日公開される「IBMのコミュニティ活動でQiskit Developer試験の受験虎の巻」についての記事は[こちら](https://qiita.com/w371dy/items/bc188f70ffdc2e7b9c7a)になります。

# おわりに
量子機械学習の分科会の参加メンバーは量子コンピュータ自体もはじめて勉強する方も多く、また量子コンピュータの概念を理解するだけでも大変だったと思います。そのような中でアドバンスのテーマとして積極的に量子機械学習に取り組みました。さらに量子機械学習のそれぞれのメンバーは他のサブテーマと複数掛け持ちをしていました。このような状況なので提出の期日までに仕上げるのが大変で大忙しだったと思いますが、参加メンバー全員の尽力により、何とかマップは形になりました。皆さん、大変おつかれさまでした。

そしてアドバイザーの@ucc_white さんにはご指導と短い期間で最終レビューいただいたこと、本当に感謝いたします。

今回は時間の都合ですべての個別アルゴリズムは書けませんでしたが、次の機会がありましたら、チャレンジしてみたいと思います。ご興味のあるアルゴリズムは参照文献をご覧になって下さい。
さらに、マップ自体も量子機械学習の発展に合せてアップデートすべきでありますが、今回の軸で量子機械学習の世界をとらえてみるのもひとつの方法ではないでしょうか。