おひとりさま現役パラレルワーカーフクコろぐ

これからの会社員は、複数の収入源をもとう! 会社に翻弄されずアナタらしく仕事ができる。 そんなパラレルワーカーを広めるフクコのブログです。

【文系プログラミング初心者deE資格】ゼロつくディープラーニング #35

f:id:fukuko-parallel-work:20211204202324j:plain

こんにちは!

現役パラレルワーカー フクコです。

f:id:fukuko-parallel-work:20210212204833p:plain



前回の記事↓に続き
www.fukuko-parallel-work.com





来年の2月の試験に向けてE資格試験勉強中のため


E資格とは?の記事はコチラ↓

www.fukuko-parallel-work.com




ゼロつくシリーズでおなじみ

オーライリーから出版されている

ディープラーニングの本格的な入門書でよくおススメされる

「ゼロからつくる Deep Learning」本


f:id:fukuko-parallel-work:20211029220008j:plain





この本↑を毎日5ページずつコツコツこなす

約2か月間で今年中に終了するので

来年のE資格試験までにこれで基礎力をつけることにしました。(^^)


ついつい私は何もないとだらけてしまうので(笑)

毎日5ページ終わった後の記録とまとめを書いていこうと思います。


と、まとめに入る前に…

やる気を出すためのコトバをシェアします!!(主に私のやる気を出すために 笑)

痛くても 苦しくても 楽な方に逃げるな!


by じいちゃん(桑島慈悟郎)


私の大好きな鬼滅の刃から

じいちゃんこと桑島慈悟郎の名言です。


そうなんです!

ラクな方に逃げていったらなーんの成長もしないですし、

自分のホントウにやりたいことにも出会えないんですよね。

私も文系で会社員の仕事をしつつ、

まったくのゼロからここまでプログラミングの勉強するのは

正直なところ

ホントにホント~にきつかったですが、

おかげさまで今はやりがいを感じてますし

自分の本職にもいい意味で役に立っています。(^^)



つらい、キツイと思うのはその一瞬だけ!!

とりあえずこなすっきゃない!!

こなしているうちに、必ず極められる!


じいちゃん、どうもありがとう! (^0^)

今日もやる気が出てきました! 

よし!! 今日も頑張るぞ~! お~!! 

というコトで、

なんか今日はメンドウでやりたくない気分なんですが(笑)、私はノルマをこなしますよ! 笑


ではでは、いい加減まとめに入ります。笑



その前に本の目次の紹介です。

ゼロつくディープラーニングは、下記↓の合計8章で構成されています。

本の目次

  • 5章 誤差伝播法
  • 6章 学習に関するテクニック



ちなみに…

ゼロつくディープラーニング第1章はPython入門のセクション(20ページ分)なので、

とりあえず今回私は飛ばし、第2章からまとめています。

現在は、第7章 畳み込みニューラルネットワークで~す。



第7章 畳み込みニューラルネットワーク つづき


第7章のテーマは、

畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)


7.2.2 畳み込み演算 つづき


畳み込み演算の例↓に、

バイアス項を加算した結果が↓のとおり。


f:id:fukuko-parallel-work:20211204222021j:plain



演算結果それぞれに、バイアス項を加算したもの

出力データとなる。



7.2.3 パディング


パディング(padding)畳み込み層の処理を行う前に、入力データの周囲に固定データを埋めるコト


パディングは、

畳み込み演算ではよく用いられる処理


たとえば

パディング=1だと

入力データの周囲に0を埋める


パディングの処理の例は↓のとおり。


f:id:fukuko-parallel-work:20211204222133j:plain




パディングを使う主な理由とは??


答え:出力サイズの調整をするため


畳み込み演算によって、

空間的なサイズを一定にしたまま次の層へのデータを渡すことができる


7.2.4 ストライド


ストライド(stride)フィルターを適用する位置の間隔のコト


ストライドを大きくすると、出力サイズは小さくなる

逆に、

パディングを小さくすれば、出力サイズは大きくなる


パディングとストライドにたいして、出力サイズはどのように計算されるのか??

入力サイズを(H, W)フィルターサイズを(FH,FW)

出力サイズを(OH, OW)パディングをPストライドをSとすると…


ー出力サイズの公式ー

 OH=\dfrac{H+2P-FH}{S}+1

 OW=\dfrac{W+2P-FW}{S}+1


この↑の公式を使って、出力サイズを計算してみる


例1.入力サイズ:(4,4)、パディング:1、ストライド:1、フィルターサイズ:(3,3)


 OH=\dfrac{4+2\times 1-3}{1}+1=4

 OW=\dfrac{4+2\times 1-3}{1}+1=4


例2.入力サイズ:(7,7)、パディング:0、ストライド:2、フィルターサイズ:(3,3)


OH=\dfrac{7+2\times 0-3}{2}+1=3

OW=\dfrac{7+2\times 0-3}{2}+1=3


例3.入力サイズ:(28,31)、パディング:2、ストライド:3、フィルターサイズ:(5,5)


OH=\dfrac{28+2\times 2-5}{3}+1=10

OW=\dfrac{31+2\times 2-5}{3}+1=11


ポイント!!

↑のことからわかるように

 OH=\dfrac{H+2P-FH}{S}+1 と

 OW=\dfrac{W+2P-FW}{S}+1 割り切れるように

それぞれの値を設定しないといけない


出力サイズが割り切れない場合、エラーを出力することとなる


今日のまとめ


ハイ、今日はここまで!!

今日はひたすらたし算…笑

引き続き頑張りまっす。


最後まで読んでくださり、ありがとうございます!

フクコ


ディープラーニング入門書おススメ本


E資格とは?

www.fukuko-parallel-work.com