深層学習 独学を進めるにあたって役に立ちそうな教材まとめ(DeepLearningの基礎から 自然言語処理 ・画像処理・深層生成モデルの入門まで)

自分はコンピューターサイエンス系の学部に所属しておらず、深層学習が何やら凄そうということで大学2年の時にプログラミングや深層学習の勉強を始めました
色々なリソースを漁って勉強してみて、当時の自分がもっと早く出会えてたら良かったなと思うようなリストをまとめてみました

現在研究室の後輩や今後勉強を始めようとしている人向けにリストを作成しているので他にもこんなオススメがあるよ！というのがあったら是非教えてください

## プログラミング未経験者対象(準備)

- ディジタル作法 −カーニハン先生の「情報」教室
    - コンピュータ技術やITについてのざっくりとした解説
- CS50 (Harvard大学のComputer scienceの入門授業)
    - [https://cs50.jp/x/2021/week0/](https://cs50.jp/x/2021/week0/)
    - Deep Learningの研究や実装でよく用いられるプログラミング言語Pythonについても触れられている
- (Optional)
    - コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方
    - CS 106B: Programming Abstractions, Winter 2018
        - [http://web.stanford.edu/class/archive/cs/cs106b/cs106b.1184/index.shtml](http://web.stanford.edu/class/archive/cs/cs106b/cs106b.1184/index.shtml)

## コードを書かない役割の人対象者

- AI for Everyone
    - [https://www.coursera.org/learn/ai-for-everyone-ja](https://www.coursera.org/learn/ai-for-everyone-ja)
    - 深層学習のできること/できないことの概説, プロジェクトの選び方について
- Machine Learning Engineering for Production (MLOps)専門講座
    - Course1のみ, AI for everyoneのプロジェクトの選び方, 進め方についての詳細な解説
- ディープラーニング活用の教科書, ディープラーニング活用の教科書 実践編
    - AIを活用した事例について
- (深層学習エンジニアと関わりのあるロールの人向け, PM・PdM想定)
    - ディープラーニング専門講座(課題skip)
        - [https://www.coursera.org/specializations/deep-learning](https://www.coursera.org/specializations/deep-learning)
    - Machine Learning Yearning
        - MLプロジェクトを行う際のHandbook, ページの下部からダウンロード可能
            - [https://www.deeplearning.ai/programs/](https://www.deeplearning.ai/programs/)
- (数学の復習) 統計学が最強の学問である[数学編]――データ分析と機械学習のための新しい教科書

## コードを書いて研究・実装を行うことを目指す人対象

- [DeepLearning.ai](http://DeepLearning.ai) ディープラーニング専門講座
    - [https://www.coursera.org/specializations/deep-learning](https://www.coursera.org/specializations/deep-learning)
- Yann LeCun’s Deep Learning Course at CDS
    - [https://cds.nyu.edu/deep-learning/](https://cds.nyu.edu/deep-learning/)
- 参考書など
    - 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)
    - Dive into Deep Learning
        - [https://d2l.ai/](https://d2l.ai/)
    - ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
    - Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
        - [https://www.youtube.com/watch?v=733m6qBH-jI&list=PLoROMvodv4rOABXSygHTsbvUz4G_YQhOb&index=8](https://www.youtube.com/watch?v=733m6qBH-jI&list=PLoROMvodv4rOABXSygHTsbvUz4G_YQhOb&index=8)
    - A Recipe for Training Neural Networks
        - [http://karpathy.github.io/2019/04/25/recipe/](http://karpathy.github.io/2019/04/25/recipe/)
    - DeepLearning.AIによるニュースレター
        - [https://read.deeplearning.ai/the-batch/](https://read.deeplearning.ai/the-batch/)
    - Papers with code
        - [https://paperswithcode.com/](https://paperswithcode.com/)
    - The Missing Semester of Your CS Education (日本語版)
        - もっとカッコよくパソコンを使えるようになりたい, と思った方向け
        - [https://missing-semester-jp.github.io/](https://missing-semester-jp.github.io/)

### 対象ドメインが画像

- EECS 498-007 / 598-005 Deep Learning for Computer Vision, 過去講義の録画はYouTubeにアップロードされている
    - [https://web.eecs.umich.edu/~justincj/teaching/eecs498/FA2020/](https://web.eecs.umich.edu/~justincj/teaching/eecs498/FA2020/)
- 参考書など
    - ディジタル画像処理[改訂第二版]
    - Computer Vision: Algorithms and Applications, 2nd ed.
        - [http://szeliski.org/Book/](http://szeliski.org/Book/)

### 対象ドメインが自然言語

- CS388: Natural Language Processing (online MS version)
    - [https://www.cs.utexas.edu/~gdurrett/courses/online-course/materials.html](https://www.cs.utexas.edu/~gdurrett/courses/online-course/materials.html)
- (さくっと新しいデータで試したい人向け)Hugging Faceの解説講義
    - [https://huggingface.co/course/chapter1/1](https://huggingface.co/course/chapter1/1)
- (Advanced) Advanced NLP (CS11-711 @ CMU)
    - [http://www.phontron.com/class/anlp2021/schedule.html](http://www.phontron.com/class/anlp2021/schedule.html)
- (Advanced) Multilingual NLP (CS11-737 @ CMU)
    - [http://www.phontron.com/class/multiling2022/schedule.html](http://www.phontron.com/class/multiling2022/schedule.html)

- 参考書など
    - 自然言語処理 (放送大学教材)
    - [https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf](https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf)
    - Speech and Language Processing (3rd ed. draft)
        - [https://web.stanford.edu/~jurafsky/slp3/](https://web.stanford.edu/~jurafsky/slp3/)
    - BERTによる自然言語処理入門: Transformersを使った実践プログラミング

### 対象ドメインが音声

- Pythonで学ぶ音声認識 機械学習実践シリーズ
- Speech and Language Processing (3rd ed. draft)
    - [https://web.stanford.edu/~jurafsky/slp3/](https://web.stanford.edu/~jurafsky/slp3/)
- 音声言語処理と自然言語処理（増補）
- ESPnet: end-to-end speech processing toolkit
    - https://github.com/espnet/espnet

### 強化学習分野

- CS 285 at UC Berkeley Deep Reinforcement Learning
    - [https://rail.eecs.berkeley.edu/deeprlcourse/](https://rail.eecs.berkeley.edu/deeprlcourse/)
- CMPUT 653: Theoretical Foundations of Reinforcement Learning
    - [https://rltheory.github.io/pages/lectures/](https://rltheory.github.io/pages/lectures/)
- 参考書籍など
    - Reinforcement Learning, second edition: An Introduction (Adaptive Computation and Machine Learning series)
        - [http://www.incompleteideas.net/book/the-book-2nd.html](http://www.incompleteideas.net/book/the-book-2nd.html)

### 深層生成モデル分野


- CS294-158-SP20 Deep Unsupervised Learning Spring 2020
    - [https://sites.google.com/view/berkeley-cs294-158-sp20/home](https://sites.google.com/view/berkeley-cs294-158-sp20/home)
- 参考書など
    - 上の講義を見る前におすすめ
        - 機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

### マルチモーダル分野

- MultiModal Machine Learning 11-777 • Fall 2020 • Carnegie Mellon University
    - [https://cmu-multicomp-lab.github.io/mmml-course/fall2020/](https://cmu-multicomp-lab.github.io/mmml-course/fall2020/)