こんにちは!
現役パラレルワーカー フクコです。
前回の記事↓に続き
www.fukuko-parallel-work.com
来年の2月の試験に向けてE資格試験勉強中のため
E資格とは?の記事はコチラ↓
ゼロつくシリーズでおなじみ
オーライリーから出版されている
ディープラーニングの本格的な入門書でよくおススメされる
「ゼロからつくる Deep Learning」本
この本↑を毎日5ページずつコツコツこなすと
約2か月間で今年中に終了するので
来年のE資格試験までにこれで基礎力をつけることにしました。(^^)
ついつい私は何もないとだらけてしまうので(笑)
毎日5ページ終わった後の記録とまとめを書いていこうと思います。
と、まとめに入る前に…
やる気を出すためのコトバをシェアします!!(主に私のやる気を出すために 笑)
痛くても 苦しくても 楽な方に逃げるな!
by じいちゃん(桑島慈悟郎)
私の大好きな「鬼滅の刃」から
じいちゃんこと桑島慈悟郎の名言です。
そうなんです!
ラクな方に逃げていったら、なーんの成長もしないですし、
自分のホントウにやりたいことにも出会えないんですよね。
私も文系で会社員の仕事をしつつ、
まったくのゼロからここまでプログラミングの勉強するのは
正直なところ
ホントにホント~にきつかったですが、
おかげさまで今はやりがいを感じてますし
自分の本職にもいい意味で役に立っています。(^^)
つらい、キツイと思うのはその一瞬だけ!!
とりあえずこなすっきゃない!!
こなしているうちに、必ず極められる!
じいちゃん、どうもありがとう! (^0^)
今日もやる気が出てきました!
よし!! 今日も頑張るぞ~! お~!!
というコトで、
なんか今日はメンドウでやりたくない気分なんですが(笑)、私はノルマをこなしますよ! 笑
ではでは、いい加減まとめに入ります。笑
その前に本の目次の紹介です。
ゼロつくディープラーニングは、下記↓の合計8章で構成されています。
本の目次
- 1章 Python入門
- 2章 パーセプトロン
- 3章 ニューラルネットワーク
- 4章 ニューラルネットワークの学習
- 5章 誤差伝播法
- 6章 学習に関するテクニック
- 7章 畳み込みニューラルネットワーク
- 8章 ディープラーニング
ちなみに…
ゼロつくディープラーニングの第1章はPython入門のセクション(20ページ分)なので、
とりあえず今回私は飛ばし、第2章からまとめています。
現在は、第7章 畳み込みニューラルネットワークで~す。
第7章 畳み込みニューラルネットワーク つづき
第7章のテーマは、
畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)。
7.2.2 畳み込み演算 つづき
畳み込み演算の例↓に、
バイアス項を加算した結果が↓のとおり。
演算結果それぞれに、バイアス項を加算したものが
出力データとなる。
7.2.3 パディング
パディング(padding):畳み込み層の処理を行う前に、入力データの周囲に固定データを埋めるコト。
パディングは、
畳み込み演算ではよく用いられる処理。
たとえば
パディング=1だと
入力データの周囲に0を埋める。
パディングの処理の例は↓のとおり。
パディングを使う主な理由とは??
答え:出力サイズの調整をするため。
畳み込み演算によって、
空間的なサイズを一定にしたまま次の層へのデータを渡すことができる。
7.2.4 ストライド
ストライド(stride):フィルターを適用する位置の間隔のコト
ストライドを大きくすると、出力サイズは小さくなる。
逆に、
パディングを小さくすれば、出力サイズは大きくなる。
パディングとストライドにたいして、出力サイズはどのように計算されるのか??
入力サイズを(H, W)、フィルターサイズを(FH,FW)、
出力サイズを(OH, OW)、パディングをP、ストライドをSとすると…
ー出力サイズの公式ー
この↑の公式を使って、出力サイズを計算してみる。
例1.入力サイズ:(4,4)、パディング:1、ストライド:1、フィルターサイズ:(3,3)
例2.入力サイズ:(7,7)、パディング:0、ストライド:2、フィルターサイズ:(3,3)
例3.入力サイズ:(28,31)、パディング:2、ストライド:3、フィルターサイズ:(5,5)
ポイント!!
↑のことからわかるように
と
が割り切れるように
それぞれの値を設定しないといけない。
出力サイズが割り切れない場合、エラーを出力することとなる。