こんにちは!
現役パラレルワーカー フクコです。
前回の記事↓に続き
www.fukuko-parallel-work.com
来年の2月の試験に向けてE資格試験勉強中のため
E資格とは?の記事はコチラ↓
ゼロつくシリーズでおなじみ
オーライリーから出版されている
ディープラーニングの本格的な入門書でよくおススメされる
「ゼロからつくる Deep Learning」本
この本↑を毎日5ページずつコツコツこなすと
約2か月間で今年中に終了するので
来年のE資格試験までにこれで基礎力をつけることにしました。(^^)
ついつい私は何もないとだらけてしまうので(笑)
毎日5ページ終わった後の記録とまとめを書いていこうと思います。
と、まとめに入る前に…
やる気を出すためのコトバをシェアします!!(主に私のやる気を出すために 笑)
「頑張れ!!
頑張ることしかできないんだから、俺は昔から。
努力は、日々の積み重ねだ。
少しずつでいい、前に進め!!」
by炭治郎
私の大好きな「鬼滅の刃」から
炭治郎の名言です。
私も、できるのは毎日とりあえずコツコツ頑張ることぐらい。
それで、思った結果が出るかどうかは正直私もわかりませんが…
とにかく
ヒトが何かをなしとげる時に、
成功のカギとなるのは…
1.努力の継続
2.忍耐力
そして…
3.ミスを最小限にすること
この3つ↑を可能にする唯一の方法は、
毎日ひたすらコツコツ努力!!
炭治郎、どうもありがとう! (^0^)
今日もやる気が出てきました!
よし!! 今日も頑張るぞ~! お~!!
というコトで、
努力は日々の積み重ね!!今日も私はノルマはゼッタイこなしますよ!笑
ではでは、いい加減まとめに入ります。笑
その前に本の目次の紹介です。
ゼロつくディープラーニングは、下記↓の合計8章で構成されています。
本の目次
- 1章 Python入門
- 2章 パーセプトロン
- 3章 ニューラルネットワーク
- 4章 ニューラルネットワークの学習
- 5章 誤差伝播法
- 6章 学習に関するテクニック
- 7章 畳み込みニューラルネットワーク
- 8章 ディープラーニング
ちなみに…
ゼロつくディープラーニングの第1章はPython入門のセクション(20ページ分)なので、
とりあえず今回私は飛ばし、第2章からまとめています。
前回第7章が終わったので、今回から第8章 ディープラーニングで~す。
第8章 ディープラーニング
層を深くしたディープなニューラルネットワーク。
ディープラーニングの性質と課題、そして、可能性についてみていく。
8.1.1 よりディープなネットワークへ
手書き数字認識を行うディープなCNN ↓の図のとおり。
ネットワークの特徴としては次の点が挙げられる。
- 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処理:左右をひっくり返す
ー ポイント!!ー
8.1.3 層を深くすることのモチベーション
最近の上位を占める手法の多くは
ディープラーニングによる手法であり、
傾向としては、ネットワークの層を深くする方向に向かっている。
つまり、
層を深くすることに比例して、
認識性能も向上している、と読み取れる。
層を深くすることの利点は?
→ ネットワークのパラメータ数を少なくできる。
つまり、
層を深くしたネットワークは、
層を深くしなかった場合に比べて
より少ないパラメータで同レベル以上の表現力を達成できる。