【初学者】どうやって”ディープラーニング”を勉強するか?
ディープラーニングの勉強方法をまとめていきます。
何かを勉強するとき、勉強の仕方は大きく分けて3つあると考えています。
(おまけ含めて4つ)
- 参考書(書籍)
- 動画
- 勉強会・セミナー
- (おまけ)論文
概要・実装・応用例に分けて紹介します。
私が読んだ参考書/論文/サイトや、見た動画、参加した勉強会のなかで、おすすめのものを紹介していきます。
(持っていないものについては、その旨を記載しています。)
私自身まだまだ勉強中なので、更新していきます。
ディープラーニングの概要を知りたい
[参考書]イラストで学ぶディープラーニング(改訂第2版)
イラストで学ぶシリーズです。
イラストがついているので見やすいと思います。
“ディープラーニングってどんなものか?”・”どんな種類があるのか?”など知りたい場合は、強化学習などまで、網羅的に説明されているので、おすすめです。
また、数式も多く使われているので、じっくり読むのにもおすすめです。
[参考書]ディープラーニングG検定公式テキスト
ディープラーニングの検定である”G検定”の公式テキストです。
検定を受験しない人にもおすすめです。(私はG検定持っていません)
人工知能の定義の議論があったり面白いです。
人工知能の定義・歴史から、ディープラーニングの概要・応用、そしてディープラーニングの社会利用やサービス至るまで、説明&紹介されています。
特に、実際にどうやってディープラーニングが活用されているのか?知りたい人には面白い参考書だと思います。
ディープラーニングを実装したい
ディープラーニングを実装したい場合、実装の仕方は2つあります。
- フレームワーク
- スクラッチ(手書き)
ディープラーニングを実装する場合、ほとんどでPythonというプログラム言語が使われます。
以下Pythonのことだと思ってください。
フレームワーク(ライブラリ)を使った実装
まずは、フレームワーク(ライブラリ)について説明します。
ディープラーニンングの機能を構成するパーツが揃っているツールがあります。これをライブラリと呼びます。
ライブラリを使うことで、簡単にディープラーニングを実装することができます。
初心者から上級者まで、全てのユーザーが使用できます。
現在、ディープラーニングのライブラリとして、“TensorFlow”と“PyTorch”が主流になっています。
“TensorFlow”のラッパーとして簡単に実装できる“Keras”が大変人気になっています。
人気でいうと、”TensorFlow” > “PyTorch”だと思いますが、最近では”PyTorch”での実装例が増えてきているような話を聞いたりします。
[参考書]すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方
タイトル通りです。
ライブラリを使って、AIアプリを作っていきます。
[参考書]詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~
第2版になって、TensorFlow/Keras・PyTorchの2つのライブラリに対応しています。
(初版はTensorFlow/Kerasだけだった)
友人らがこの参考書を使って、勉強していたので紹介します。(私は持っていません)
[参考書]PyTorchニューラルネットワーク実装ハンドブック
PyTorchの使い方が勉強できます。
もちろん、PyTorchの公式サイトも充実していて分かりやすいですが、この参考書も辞書がわりに使えます。
日本語がいい人におすすめです。
[参考書]つくりながら学ぶ! PyTorchによる発展ディープラーニング
タイトル通り発展しています。
画像認識の”物体検出”・”セグメンテーション”, 自然言語処理の”Bert”,画像生成の”GAN”など、最先端?(結構新しめ)の技術分野までのPyTorchによる実装方法がまとめられています。
スクラッチによる実装
[参考書]ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
タイトル通り”ゼロから作る”作ります。
“ゼロから作る”と言っても、最小限の”Numpy”という行列計算のライブラリは使用します。
Pythonに自信のある人、数学とかプログラミングなど勉強に自信がある人におすすめです。
それ以外は、初手でこの参考書を使うことは“私は“おすすめしません。
ただ、理論を学びながら、スクラッチで実装することで理解度は格段に上がると思います。
[参考書]ゼロから作るDeepLearningシリーズ
自然言語処理バージョンです。
リカレントニューラルネットワーク(RNN)の実装が中心です。
フレームワークの作り方が学べるみたいです。
(最近(2020年4月)出たみたいで、私は持っていません(欲しいです))
[動画]Neural Networks from Scratch in Python
英語ですが、sentdex氏のYouTubeです。
ディープラーニングの応用例が知りたい
[書籍]ディープラーニング活用の教科書
企業のディープラーニングを活用した取り組みについて紹介しています。
例えば、医療応用について、キヤノンメディカルシステムズのCTやMRIの画像のディープラーニングを活用したノイズ除去が挙げられています。
ディープラーニングをどんどん使っていきたい
コンペティションに参加
ディープラーニングを含めた、データサイエンスコンペティションがオンラインで開催されています。
代表的なのが”Kaggle”です。
実践的に学べることはもちろんですが、”目標/目的”が決められていて、かつ”期間”も決められているので、集中的に勉強できるのではないかと思います。
ただ、それなりの計算資源・PCスペックが必要になります。(性能の良いCPU, GPU, メモリ, ストレージ)
それか、AWSやGCPなどのクラウド環境を揃える必要があります。
[参考書]Kaggleで勝つデータ分析の技術
[参考書]実践Data Scienceシリーズ PythonではじめるKaggleスタートブック
私は持っていません。