量子機械学習の理解に向けての勉強メモ

# 本記事について
### 概要と目的
個人的に興味があり、量子コンピュータや人工知能について色々勉強しているので、自分自身の備忘録や知識の整理がてら、色々と書いていきます(基本このページは参考文献集。何かネタがあれば、別途、書いてリンクする予定)。
既存のフレームワークを使えるようになるだけでなく、できるだけ仕組みや原理についても理解していきたいと思います（最終的には、量子機械学習の新たなフレームワークを開発したい！）。
参考までに難易度を５段階で付けていますが、現時点での私の感覚で付けたものであり、進捗により変化する可能性もありますし、難易度が低いからと言って、内容が陳腐だとか役に立たないという事ではありません。

### 想定読者と前提知識
- AIや量子コンピュータを勉強していこうという人なら誰でも。
- 高校数学レベルの知識
- 何らかのプログラミング言語の経験

# Python
C言語とかシェルスクリプトばかり書いてきたので、あまりPythonにはなじみがなく（読めば大体理解はできますが）、勉強しています。

### Webサイト
- **【読了】**[公式のチュートリアル](https://docs.python.org/ja/3/tutorial/)<br>
難易度：★☆☆☆☆<br>
ここを一通り理解すればあとは実践あるのみ。

# 数学
工学部出身ですし、高校数学レベルであれば（細かい公式はともかく）理解できるレベルですが、とりあえず、さらに専門的な内容を理解するため、必要に応じて勉強していきます。

### 本
- [最短コースでわかる ディープラーニングの数学](https://www.amazon.co.jp/dp/4296102508/)、***【読書中】***[人工知能プログラミングのための数学がわかる本](https://www.amazon.co.jp/dp/B079TLRZ8K/)
難易度：★★☆☆☆
どちらかを取っ掛かりとして読めば良いかな。
後者は、Kindle Unlimitedで読めるので、入ってる人はおススメ。

- [技術者のための基礎解析学](https://www.amazon.co.jp/dp/4798155357/)、[技術者のための線形代数学](https://www.amazon.co.jp/dp/4798155365/)、[技術者のための確率統計学](https://www.amazon.co.jp/dp/4798157864/)
難易度：★★★★☆
「技術者のための」シリーズ。Amazonレビューはあまりよくないが、下記の「東京大学のデータサイエンティスト育成講座」で参考文献に挙げられている。

- [線形代数と量子力学 (基礎数学選書 24)](https://www.amazon.co.jp/dp/4785311266/)、[量子物理学のための線形代数―ベクトルから量子情報へ](https://www.amazon.co.jp/dp/456302516X/)
  量子情報に必要な線形代数の勉強用。

### 資格
勉強する上でのマイルストーンとして資格を取得するのもあり？

- [数学検定](https://www.su-gaku.net/suken/)<br>
取るなら1級を目指す。
- [統計検定](http://www.toukei-kentei.jp/)<br>
通常の試験(1級～)とは別に、まだ正式には始まっていないが、[「データサイエンス基礎」](http://www.toukei-kentei.jp/about/grade11/)、[「データサイエンス発展及び応用」](http://www.toukei-kentei.jp/about/grade12-13/)という試験も準備中らしい。

# AI・機械学習
### 本
- 実践系
  - **【読書中】**[東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析](https://www.amazon.co.jp/gp/product/4839965250/)<br>
難易度：★★★☆☆<br>
pythonの基本的な話から、Numpy, Scipy, Pandas, Matplotlib の使い方、それらを使った統計的なデータ分析についての本。
  - [Python実践データ分析100本ノック](https://www.amazon.co.jp/dp/B07ZSGSN9S/)
  - [Kaggleで勝つデータ分析の技術](https://www.amazon.co.jp/dp/B07YTDBC3Z/)
- 理論系
  - [ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装](https://www.amazon.co.jp/dp/4873117585/)、[ゼロから作るDeep Learning ❷ ―自然言語処理編](https://www.amazon.co.jp/dp/4873118360/)
  - [機械学習プロフェッショナルシリーズ](https://www.kspub.co.jp/book/series/S043.html)
      - [統計的学習理論](https://www.amazon.co.jp/dp/4061529056/)
      - [深層学習](https://www.amazon.co.jp/dp/4061529021/)

### Webサイト
- [Learn | Kaggle](https://www.kaggle.com/learn/overview)<br>
[Kaggle](https://www.kaggle.com/)の提供している、チュートリアル的な内容で、Pythonの基礎からML/DL等の応用まで、色々提供されている。
- http://www.deeplearningbook.org/<br>
[深層学習](https://www.amazon.co.jp/dp/4048930621/)の原著がオンラインで無料で読める。
- [Dive into Deep Learning](http://d2l.ai/)
- https://www.microsoft.com/en-us/research/people/cmbishop/downloads/<br>
通称、[PRML](https://www.microsoft.com/en-us/research/people/cmbishop/)の原著が、PDFでダウンロードできる。

### 講座
- ~~[実データで学ぶ人工知能講座（AIデータフロンティアコース）](http://learn-ai.org/)~~<br>
~~書類選考があるが、無料で受講できる講座~~（~~受講できればいいなぁ~~選考落ちしました…）
- [筑波大学オープンコースウェア](https://ocw.tsukuba.ac.jp/) [機械学習](https://ocw.tsukuba.ac.jp/course/systeminformation/machine_learning/)<br>
佐久間教授による講義。無料で視聴できる。

### 資格
- [JDLA](https://www.jdla.org/) G検定<br>
~~2019/11に受験予定~~**無事合格しました！**。
    - [【忙しい方向け】JDLA ディープラーニング G検定 7日あれば受かる！？ 7日間で合格を目指す勉強方法](https://note.mu/kazu_t/n/nd41098602aa3)
    - [G検定 本番困りそうな所まとめ](https://qiita.com/highno_RQ/items/5f4aa73c362477d90169)
    - 参考書
        - [深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト](https://www.amazon.co.jp/dp/4798157554/)
        - [徹底攻略-ディープラーニングG検定-ジェネラリスト問題](https://www.amazon.co.jp/dp/4295005665/)
        - [実践で理解する G検定 ディープラーニング教本: G検定合格者が教える最短で合格する秘法](https://www.amazon.co.jp/dp/B07QX3BRH4/)、[詳解！実践で理解するG検定-Web模試-解説書](https://www.amazon.co.jp/dp/B07WWGJ716/)
        - [AI白書 2019](https://www.amazon.co.jp/dp/B07QGRH7F6/)
    - 模試
        - https://deeplearning.sakura.ne.jp/
        - http://study-ai.com/generalist/
        - https://aiacademy.jp/exam/
- [JDLA](https://www.jdla.org/) E資格<br>
 **近いうちに取得したい！**
    - 認定プログラム<br>
どれにすべきか…

# 量子コンピュータ（一般・共通）
### 本
- **【読了】**[量子コンピュータが人工知能を加速する](https://www.amazon.co.jp/dp/B01MRWW1PD/)<br>
難易度：★★☆☆☆<br>
アニーリング方式の量子コンピュータの原理について易しく解説しています。が、個人的には、人工知能への応用についての説明が物足りなかった。
- **【読書中】**[絵で見てわかる量子コンピュータの仕組み](https://www.amazon.co.jp/dp/B07N19QY19/)<br>
難易度：★★★☆☆<br>
- **<font color='red'>【読書中】</fort>**[いちばんやさしい量子コンピューターの教本](https://www.amazon.co.jp/dp/B07RY7CFTF/)
- [驚異の量子コンピュータ: 宇宙最強マシンへの挑戦](https://www.amazon.co.jp/dp/4000296892/)

### Webサイト
- [古典プログラマ向け量子プログラミング入門](https://www.slideshare.net/OsSAL-org/ss-198802364)
  - [OsSALの公式サイト](https://www.ossal.org/)にPDF版もある。

# 量子コンピュータ（ゲート方式）
### 本
- [量子情報科学入門](https://www.amazon.co.jp/dp/4320122992/)、[量子アルゴリズム](https://www.amazon.co.jp/dp/4765533433/)<br>
  とりあえずどちらかで理論的な背景を勉強する。
- [量子計算理論 量子コンピュータの原理](https://www.amazon.co.jp/dp/4627854013/)
- [Quantum Computing for Everyone (The MIT Press)](https://www.amazon.co.jp/dp/0262039257/)
- [Quantum Computation and Quantum Information](https://www.amazon.co.jp/dp/1107002176/)<br>
バイブル？的な教科書。邦訳本（３分冊）がクッソ高いので、読むなら原著かなぁ…

### Webサイト
- [猫でもわかる量子情報](http://www.kochi-tech.ac.jp/~cheon/q-inf/q-infin.html)<br>
- [Quantum Native Dojo](http://dojo.qulacs.org/ja/latest/#welcome-to-quantum-native-dojo)<br>
難易度：★★★★★<br>
[Qunasys社](https://qunasys.com/)が公開している、量子ゲート方式について、原理から応用まで解説した本格的な内容。

### 講座
- [AI Academy 量子コンピューター入門編](https://aiacademy.jp/texts/#quantum)<br>
難易度：★★★☆☆<br>
[AI Academy](https://aiacademy.jp/)で受講可能な無料講座。<br>
量子コンピューターの基礎的な理論とPythonを用いた実装（[MDR株式会社](https://mdrft.com/)が開発している、[Blueqat](https://github.com/Blueqat/Blueqat)を利用）を体験できる。
- [AI Academy 量子コンピューター理論入門編](https://aiacademy.jp/texts/#quantum_theory)<br>
同じく、[AI Academy](https://aiacademy.jp/)で受講可能な量子コンピュータに関する講座だが、こちらは有料。<br>
- [Understanding Quantum Computers](https://www.futurelearn.com/courses/intro-to-quantum-computing)

### フレームワーク
- Qiskit, Cirq, …

### 実機を使える環境
TBD
 
# 量子コンピュータ（アニーリング方式）
### 本
- [量子アニーリングの基礎](https://www.amazon.co.jp/dp/4320035380/)

### Webサイト
- [量子コンピュータ情報サイト](https://quantum.fixstars.com/)<br>
難易度：★★★★☆<br>
[Fixstars社](http://quantumcomp.fixstars.com/)が公開している情報サイト。現時点では、量子アニーリング方式の説明が中心。
- [OpenJijチュートリアル](https://openjij.github.io/OpenJijTutorial/_build/html/ja/index.html)

### 講座
TBD

### フレームワーク
- dwave-ocean-sdk

### 実機を使える環境
- Dwave