daily-dev.net

React, firebase, 機械学習など

図で理解する「実装ディープラーニング」第1章〜第2章 畳み込み層、プーリング層、バッチ学習、損失関数 

sponsored

書かなきゃ覚えられない体質なので、「実装ディープラーニング」の内容を図にしてまとめていきます。

実装 ディープラーニング

実装 ディープラーニング

CNN

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

畳み込み層、プーリング層という特殊な層を持つ。

CNNにおける学習とは、畳み込みのためのフィルターを変えながら、どんどん最適化していくこと。

畳み込み層

f:id:serendipity4u:20180507174544p:plain

プーリング層

プーリング層とは、畳み込みしてできた特徴マップを、

  • 最大値をとる
  • 平均値をとる

などの方法によって、圧縮する層。

f:id:serendipity4u:20180507174721p:plain

アップサンプリング層

畳み込み層とプーリング層を繰り返し使うと、どんどん特徴マップが小さくなってしまう。

アップサンプリング層は、特徴マップのサイズを大きくするための層。

f:id:serendipity4u:20180507174859p:plain

全結合ニューラルネットワーク

f:id:serendipity4u:20180507225524p:plain

バッチ学習とミニバッチ学習、エポック

f:id:serendipity4u:20180507222116p:plain

活性化関数

f:id:serendipity4u:20180507225407p:plain

活性化関数は、入力値に対して、出力値が一定範囲内に制限されるならば、どんな関数でもよいわけだが、

ほとんどすべての深い学習モデルは現在 ReLuを使用している。 ReLUの特徴として、出力が0のユニットがいっぱいになりやすい、 ということがある。 学習が行われなくなったユニットに対するパラメータは変化しないため、 出力がその後ずっと0になる。 事実上学習するパラメータを厳選していることになるので、良い結果が得られるのだと言われている。 ReLUはスパース化が達成でき、かつ計算も速くなるので迷ったらとりあえずこれを使っておけばいいでしょう

ニューラルネットワークの線形変換と活性化関数について - HELLO CYBERNETICS

損失関数

f:id:serendipity4u:20180507230449p:plain

クロスエントロピー誤差 は、 二値分類の評価に特化しているため、主に分類モデルの誤差関数 として使われる。