社会人からはじめる機械学習勉強 Week 10 – Theano tutorial MLP, CNN

2016/3/7~3/13

ディープラーニング実践勉強 Theano

先週から引き続き、ディープラーニングの実践勉強。

今週は2章のMultilayer Perceptronと3章のDeep Convolutional Networkを学ぶ。前半の教師あり学習編はこれで全部となる。

2章 Multilayer Perceptron

教材

Multilayer Perceptron(MLP)多層パーセプトロンは先週やったLogistic Regressionを多層にしただけなので、理解も実装もそこまで難しくない。1.5日程度で写経も終わらせて理解できた。

1月から勉強始めてきて、ようやく機械学習の勉強から今ホットな最先端技術であるディープラーニングまでたどり着いたという印象。

日本語のブログの方ではMLPの動作のVisualizationなんかもされていてより理解しやすくなってる。

3章 Deep Convolutional Network

教材

画像認識で最もメジャーな手法として用いられている、Convolutional Neural Network (CNN) 畳み込みニューラルネットワークの勉強。waifu2xでも使われているのでとても興味を持っていた分野にたどりついた。

ちなみに理論面は「深層学習」の書籍を合わせて読んでおくとよりわかりやすいと思う。(自分は英語だけでは100%理解できないので。)

学習のポイントとしてはCNNに用いられている層には

  • Convolution layer:畳み込み層
  • Max pooling layer

があるので、まずはこれらを一つ一つ実装して動作確認することで理解していくとよい。実際にConvolutional Neural Networks (LeNet)では、オオカミの写真を使ってConvolutionの説明、次の節でMax Poolingの説明をしている。

日本語のブログTheano で Deep Learning <3> : 畳み込みニューラルネットワークを参考に自分で持ってきた写真でConvolutionとMax Poolingを実際に試した。→実践すると理解が深まるし、少しコードをいじることで応用力もつくので良いと思う。

ここまで終わったら、公式Tutorialの方のCNN Putting all togetherを写経して試す。CNNいままで本で理論だけ勉強してイメージしづらく難しいと思っていたけど、実践しながら勉強していくことで理解できた!

設定している目標

2章/週のペースの勢いでやっていって4月末までに全部終わらせたい。

Coursera → “Machine Learning” 学習完了

引き続き、Courseraを勉強。

Coursera “Machine Learning” by Andreaw Ng 
 1日2つくらいのペースでVideo見ていっている(通勤前の30分くらいのみ)

今週とうとうすべて見終った。ビデオなのでイメージ説明もあるし、解説が丁寧でとってもわかりやすかった。Andreaw Ng先生ありがとうございました。

中期プラン

2月中は基礎づくり。

3月にDeep learning, nural network, convolutional nural networkに入っていけるのが目標。
3月初め現状: 実践面ではこれからやっとLogisticから始めるくらいなので予定より遅れているけど、理論部分はCNNも大体把握できてる。上記のDeeplearning.netで進めていきたい。

4月にはDeep learning, nural network, convolutional nural networkに入ること。実際にツールをトライ&エラーで試せるようになること。
 予定そのままで。

5月になにかで実践を始めたい。wife2xを自分で完全にソースコード追えるようになるとかとか。

6月 強化学習に移る?写真ではなく動画のUpscaleをCNNでできないか??

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です