【初学者】どうやって”ディープラーニング”を勉強するか?

AI

【初学者】どうやって”ディープラーニング”を勉強するか?

ディープラーニングの勉強方法をまとめていきます。

何かを勉強するとき、勉強の仕方は大きく分けて3つあると考えています。
(おまけ含めて4つ)

  1. 参考書(書籍)
  2. 動画
  3. 勉強会・セミナー
  4. (おまけ)論文

概要・実装・応用例に分けて紹介します。

私が読んだ参考書/論文/サイトや、見た動画、参加した勉強会のなかで、おすすめのものを紹介していきます。
(持っていないものについては、その旨を記載しています。)

私自身まだまだ勉強中なので、更新していきます。

ディープラーニングの概要を知りたい

[参考書]イラストで学ぶディープラーニング(改訂第2版)

イラストで学ぶシリーズです。
イラストがついているので見やすいと思います。
“ディープラーニングってどんなものか?”・”どんな種類があるのか?”など知りたい場合は、強化学習などまで、網羅的に説明されているので、おすすめです。
また、数式も多く使われているので、じっくり読むのにもおすすめです。

[参考書]ディープラーニングG検定公式テキスト

ディープラーニングの検定である”G検定”の公式テキストです。

検定を受験しない人にもおすすめです。(私はG検定持っていません)

人工知能の定義の議論があったり面白いです。

人工知能の定義・歴史から、ディープラーニングの概要・応用、そしてディープラーニングの社会利用やサービス至るまで、説明&紹介されています。

特に、実際にどうやってディープラーニングが活用されているのか?知りたい人には面白い参考書だと思います。

ディープラーニングを実装したい

ディープラーニングを実装したい場合、実装の仕方は2つあります。

  1. フレームワーク
  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です。

Neural Networks from Scratch – P.2 Coding a Layer

ディープラーニングの応用例が知りたい

[書籍]ディープラーニング活用の教科書

企業のディープラーニングを活用した取り組みについて紹介しています。

例えば、医療応用について、キヤノンメディカルシステムズのCTやMRIの画像のディープラーニングを活用したノイズ除去が挙げられています。

ディープラーニングをどんどん使っていきたい

コンペティションに参加

ディープラーニングを含めた、データサイエンスコンペティションがオンラインで開催されています。

代表的なのが”Kaggle”です。
実践的に学べることはもちろんですが、”目標/目的”が決められていて、かつ”期間”も決められているので、集中的に勉強できるのではないかと思います。

ただ、それなりの計算資源・PCスペックが必要になります。(性能の良いCPU, GPU, メモリ, ストレージ)
それか、AWSやGCPなどのクラウド環境を揃える必要があります。

[参考書]Kaggleで勝つデータ分析の技術

[参考書]実践Data Scienceシリーズ PythonではじめるKaggleスタートブック

私は持っていません。

0