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

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

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

f:id:fukuko-parallel-work:20211211131015j: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炭治郎


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

炭治郎の名言です。


私も、できるのは毎日とりあえずコツコツ頑張ることぐらい。

それで、思った結果が出るかどうかは正直私もわかりませんが…


とにかく

ヒトが何かをなしとげる時に、

成功のカギとなるのは…


1.努力の継続

2.忍耐力

そして…

3.ミスを最小限にすること


この3つ↑を可能にする唯一の方法は、

毎日ひたすらコツコツ努力!! 


炭治郎、どうもありがとう! (^0^)

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

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

というコトで、

努力は日々の積み重ね!!今日も私はノルマはゼッタイこなしますよ!


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



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

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

本の目次

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



ちなみに…

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

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

前回第7章が終わったので、今回から第8章 ディープラーニングで~す。



第8章 ディープラーニング


ディープラーニングは、

層を深くしたディープなニューラルネットワーク

ディープラーニングの性質と課題、そして、可能性についてみていく

8.1 ネットワークをより深く


これまで学んだ技術を集約して、

ディープなネットワークを作り

MNISTデータセットの手書き数字認識に挑む

8.1.1 よりディープなネットワークへ


手書き数字認識を行うディープなCNN ↓の図のとおり


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



ネットワークの特徴としては次の点が挙げられる

  • 3x3の小さなフィルターによる畳み込み層
  • 活性化関数はReLU関数
  • 全結合層の後にDropuoutレイヤを使用
  • Adamによる最適化
  • 重みの初期値として「Heの初期値」を使用


8.1.2 さらに認識精度を高めるには


「Who is the best in MNIST?」でしらべると

2016年6月時点では、

MNISTデータに対する最高の認識精度は、99.79%

現在では、

2020年のものが最高認識精度で、99.91%


MNISTデータセットにたいしては、

層をそこまで深くせずに最高精度の結果が得られる

そのため、

層を深くすることの恩恵が少ない


たいする、

一般物体認識では、

モンダイが複雑になるため、層を深くすることが認識精度の向上につながる


認識精度を上げるためのポイント!!

  • アンサンブル学習
  • 学習係数の減衰
  • Data Augmentation(データ拡張) →シンプルながら、認識精度の向上に貢献!!


Data Augmentation(データ拡張)とは?

入力画像のアルゴリズムによって、「人工的に」画像を拡張するコト

入力画像にたいして、回転や縦横方向の移動などの微小な変化を与え、画像枚数を増やすコト

EX. crop処理:画像の中から1部を切り出す
EX. flip処理:左右をひっくり返す


ー ポイント!!ー


Data Augmentationによって

訓練画像を上手く増やすことができれば

ディープラーニングの認識精度を向上させることができる

8.1.3 層を深くすることのモチベーション


最近の上位を占める手法の多くは

ディープラーニングによる手法であり

傾向としては、ネットワークの層を深くする方向に向かっている


つまり、

層を深くすることに比例して

認識性能も向上している、と読み取れる。


層を深くすることの利点は?

→ ネットワークのパラメータ数を少なくできる


つまり、

層を深くしたネットワークは

層を深くしなかった場合に比べて

より少ないパラメータで同レベル以上の表現力を達成できる

今日のまとめ


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

やっと、第8章 ディープラーニングに突入!!残るはあともう1章!(^^)

引き続き頑張りまっす。


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

フクコ


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


E資格とは?

www.fukuko-parallel-work.com