今年Deep Learningの勉強に使った資料まとめ

今年の3月にDeep Learningを始めるぞ!と決心してから約10ヶ月かけて勉強してきました。
今年も締めということで、振り返りもかねてここらで勉強してきた資料を整理します。
Deep Learningは発展途上の技術であるため知識が体系化されていないです。
またCholletが言うようにDeep Learningは錬金術だか魔術だかのようなもので、大きな経験則の集まりです。
だからDeep Learningとはこういうものですと説明するのは難しいし、ましてや既存のコードをコピペするだけで現実の課題を解くことができません。
全体感をつかむ必要があります。そのため定番書一冊読めばOKとはならないと思います。

他にこんなのお勧めとかあれば教えてください。

目次

  • 誤解だらけの人工知能 ディープラーニングの限界と可能性
  • ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
  • PythonとKerasによるディープラーニング
  • ゼロから作るDeep Learning ❷ ―自然言語処理編
  • Deep Learning (Adaptive Computation and Machine Learning series)
  • 直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
  • Google Cloud Platformではじめる機械学習と深層学習
  • cs231n

誤解だらけの人工知能 ディープラーニングの限界と可能性

気楽なインタビュー本といった趣で、その値段に相当するほどの内容があるのかは疑問もあり買うことを強くお勧めするわけではありません。
ただ
「2018年時点で人工知能とはディープラーニングそのもので、重要なのはディープラーニングを使って何ができるか」
という明確な宣言が『AIとかマーケティング用語やろ』という態度だった僕がディープラーニングの勉強をする転機になった本。
『AI』はマーケティング用語だから勉強することはできないけど、『ディープラーニング』は技術だから勉強することができるのです。

はじめて読んだときはそこまで感じなかったけれども、今読み直すと田中さんのディープラーニングの活用方法に関する説明は濃ゆくて面白かったです。開発者目線の方が読んで楽しいかも。


ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ディープラーニングやるとなってamazonとか見ながらとりあえず選んだのがこの本だったのだけど、この選択が良かった!
工学部一回生レベルの数学の知識と基本的なプログラミング知識を前提とした人に対して、本当のゼロからディープラーニングの概観を学ぶための手ほどきになっている。
これを通してディープラーニングのアーキテクチャ(ニューラルネットワークの層の構成)、チューニングの範囲(損失関数、最適化アルゴリズム、正則化)、適応範囲(回帰分類、また画像入力に対するCNN)など全体感がつかめたことで以降の勉強が思いっきりブーストした。
Python知らなくてもこの本を通じて勉強できます。
ディープラーニング入口として最高の本!


PythonとKerasによるディープラーニング

上の『ゼロから作る』では本当にゼロからディープラーニングを学べるけれども現実の課題を解決するためのシステムを作ることは難しい。
そして最短でディープラーニングシステムを構築するためにはKerasがとっつきやすい。
Kerasの作者が書いたこの本は知識ゼロからとりあえずKerasを始められるところまで引き上げてくれます。
コピペだとしてもKerasを使ってとりあえずはディープラーニングにより

  • 回帰、分類
  • CNNによる画像分析機
  • LSTMによるシーケンス分析

などが作れるようになる。
GPUにも対応している。


ゼロから作るDeep Learning ❷ ―自然言語処理編

上で紹介した『ゼロから作る』の第二巻。自然言語処理編。
自然言語を処理するためのword2vec, RNN, LSTMなどについてアーキテクチャとチューニングの勘所が学べる。
1巻よりもボリュームが多いが、1巻以上に丁寧なので1巻読めた人はマジメにやれば余裕で進められるはず。
基本的に英語の処理を前提としてあり日本語は扱われてないないですが、MeCabを挟んで形態素解析さえすればそのまま横展開できるのでしょうか。


Deep Learning (Adaptive Computation and Machine Learning series)
正当な理論の教科書(らしい)。前から順番に読み進めて今はPartIIを読んでいる最中。
理論の教科書とはいえ定理の証明などが見当たらず、あくまで実用を見据えている感じ。
Deep Learningはわからないことが多く理論的に最適な解はこれということはできないため、この本では様々な手法やチェックポイントが紹介され、それらについて概念的な説明がひたすらなされる。
だから文章による説明が多くて英語がつらい。

オンラインでタダで読める。
http://www.deeplearningbook.org/


直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

Kerasで実装するための実用書。チューニングのポイントやtensorboardなど実用に近い。
ある程度分かっている人向けの説明が多いため、いきなりこれに取り掛かるのは止めておいたほうがいい。Cholletを先にすること。


Google Cloud Platformではじめる機械学習と深層学習

ディープラーニングシステムを構築するためには大量のデータが必要になる。たとえば画像でやる場合はラベル付けられた大量の画像データを処理する必要がある。
その場合はクラウドでやるのが合理的でGCPを一貫して使えばデータも処理もGoogleにあるのでめちゃくちゃ早くできるはず。
また実業務でやるときはGoogle FormやGoogle Driveを使ってシステム構築してしまえば自然とGoogle上にデータが溜まっていくようにできるため使わない手はない。
あとブラックボックスでよいならAPI使える人にとってはGCPがディープラーニングの一番簡単な実現手段になる。
GCP部分が馴染みがなさすぎて苦戦中


cs231n
stanford csのcomputer visionの講義。2017年分がタダで見れる。
convolutional neural network強化のため英語頑張りながら進めている。

コメントを残す