読者です 読者をやめる 読者になる 読者になる

プロクラシスト

みんなのProcrastination(先延ばし、回り道)を少しでも有意義に。

MENU

深層学習(青い本)のまとめと最近のdeeplearning界隈の流れ

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

こんな人におすすめ

章立て

書評

1年前に情報系に専門を変え、ディープラーニング関係で初めに読んだ本。ちょうど1年前は爆発的に流行り始めたころだった。 今はもう少しいろいろと日本語の本がそろってきているかもしれないが、この本は基礎から数式を追いながらきちんと学べる本だと思う。
数学の苦手な人でも雰囲気はわかるような構成になっているし、最新のディープラーニングの研究を始めたい!という人でも、ここから入るのはとても良いと思う。

以下各章の簡単な説明。
※何気なく書いてたけど、さらっと理解したいならこれだけ読めばいいかも。図とかないので適宜ぐぐりつつ。

準備の1-4章

Deep learningにおいて大事な基礎事項を書いてくれている。初学者はじっくり読むとよい。
ざっっっっっくりまとめると、以下のことを押さえておいてほしい。

  • Deep learningとは、行列計算+非線形要素(活性関数)により、普通の機械学習よりも格段に分類とかの能力を上げたすごいやつ
  • 必須は、行列計算・合成関数の微分
  • 覚えるべき用語*2
  • より精度を上げるための工夫

基本的に行列と微分がわかってれば読めるなという感じ。普通の線形分類器に比べて良いといわれるのは たぶん活性化関数が効いているんだろうな、という印象。

Autoencoderという次元削減の方法。

サイズの大きい画像とかだと、学習のために次元を減らしたいなということがあるはず。
Autoencoderという方法を使えば、次元削減を行えるよということを言っている。 簡単に言うとこういうこと

  • 入力と出力を一緒にしておいて、中間層の層の数を減らして学習させる
  • 中間層を抜いて来れば入力より次元の低いものになっている!

数式で、主成分分析と一緒になるということを示しているのと、ニューラルネットのほうが自由度が高く
改良できるということも書いている(denoising autoencoder)

Deep learningの真骨頂!画像分析のCNNについて書いている6章

画像分類コンテストを席巻しているCNNについての説明。この辺からディープラーニングっぽくなってくる

ざっくりいうと、以下のことが分かっていればよい。

  • 畳み込み:フィルターを画像にかけることで、局所的な特徴を抜く
  • プーリング:隣接する画素をまとめることで、ロバスト性を得る

実はまだまだ進化を遂げていて、 最新のstate of the artは152層(!)とかになっている。ResidualNet(原文)
と言い、実はこのResidualNetも面白い工夫をしているので、そのうち紹介する(したい)

あと、CNNは最近ではDQN*3の文脈で出てくることも多くなってきた。 強化学習これからたぶん流行る。これもそのうち紹介する(したい)

時系列にだって使える!RNNについて書いている7章

時系列情報を入れてやると分類や次の予測とかができるニューラルネット。最近のばずわーどIoTでも使えるかも。
ただ、はじめはいいのだが、LSTMやCTCの説明は少し不親切に感じた。ネットワークがややこしいのでしょうがない気もするが。

ざっくりいうと下のような感じ

  • RNN(Recurrent Neural Network)は、時系列方向にニューラルネットをつなぐことで、時系列分析が可能に
  • LSTM(Long-Short Term Memory)を使うことで、どういう情報を覚えておけばよいかを学習する
  • CTC(Connectionist Temporal Classification)を使うことで、音声認識に使えるようになる*4

生成モデルだって記述できる!RBMについての8章

この章は正直難しかった。多分、マルコフ場みたいなのを仮定してエネルギーの計算をしているみたいな感じだとおもう*5 生成モデルにすることで、確率分布として値を扱うことができるのがうれしい。(7章までのモデルは全部識別モデル!確率的な考えはない)

http://qiita.com/sergeant-wizard/items/0a57485bc90a35efcf26 ただ、最近はGAN(原文)とか VAE(原文)とか生成モデルが流行っているので、それを読む前段階でここを読むのはいいかも。

GAN : Generative Adversarial Netwokrk

qiita.com

VAE : Variational Autoencoder

qiita.com

*1:世の中のことは深い某に突っ込めば解決できると思っている、会社の上の人によくいるタイプ

*2:あとでググるなり、書籍読むなりしてね

*3:DQNじゃないよ!Deep Q Networkだよ!

*4:一般のRNNはああああという単語をそのままにんしきするが、CTCを使うとああああ⇒あとして認識してくれる。時間に対してロバストになるので、音声認識に使いやすくなる

*5:保証はできない。生成モデルニガテ。