深層学習day4 Section4:応用モデル
要点まとめ
Mobile Net
画像認識のネットワーク。 ディープラーニングモデルは精度は良いが、ネットワークが深く演算量が多くなる。 軽量な演算量でそれなりに良い精度を満たせるように工夫したのがMobileNet。
高さ、横、カーネルサイズ、入力チャネル数、出力チャネル数を考える。
一般的な畳込み演算は、チャネル方向・画素方向の2つを1回の演算で計算しようとしているが、その時の演算量はで表せる。
MobileNetではチャネルごとに畳み込み演算を行うDepthwise Convolution(演算数)と、のカーネルでチャネルの畳み込みを行うPointwise Convolution (演算量)とを行うことで演算量を削減している。
DenseNet
DenseNetはDense Blockという部分が特徴的。 Dense Block内では、あるノードよりも前のノードからの出力が全て入力となるため、 1層通過するたびにチャネル数が増加していく。 Dense Blockを通過後にはTransition Layerと呼ばれるブロックがあり、チャネル数を減らして元に戻す。 Dense Block と Transition Layerを何回か繰り返して接続することで、結果としてチャネル数を増やしすぎることなく層を増やして特徴量を抽出している。
Dense Block内で、前の層から何チャネル増えるか を growth rate と読んでいる。
Batch Norm
レイヤー間を流れるデータの分布を、ミニバッチ単位で平均0 分散1に正規化する手法。
Batch Norm
ミニバッチに含まれるSampleの同一チャネルが同一分布に従うように正規化する。
ミニバッチサイズを小さい場合、効果が薄い。
Layer Norm
それぞれのSampleすべてのPixcelsが同一分布に従うように正規化。
ミニバッチサイズに影響は受けない。
Instance Norm
更にChannelも同一分布に従うように正規化
コントラストの正規化。
Wavenet
音声生成モデル。 音声データを畳み込みする時に、サンプルを飛ばすことでより時間的に幅広い入力を扱える。Dilated causal convolution。
実装演習
なし
確認テスト等考察
Mobile Net は名称からも軽量化技術というイメージがつきやすく、考え方も理解しやすい。 Dense NetはDense Block 内で畳み込みによりチャネル数を増やして、TransitionLayerでチャネル数をもとに戻していると覚える。
追加演習
シラバス範囲内のいくつかのネットワークについてまとめる。
GoogLeNet
2014年のILSVRCの優勝モデル。初めてモジュール化という概念を取り込んだ。 1x1の畳み込み、3x3の畳み込み、5x5の畳み込みを全て用いて、最後に結合するというブロックをInspection Moduleと呼び、Inspection Moduleを連結する構成となっている。 また、途中のInspection Moduleからも全結合層と活性化関数を用いた推論と誤差逆伝播を行うことで、アンサンブル効果も得ている。
ResNet
Shortcut Connectionを適用して、幾つかの層をスキップさせるパスを作ることで、層を多数重ねても勾配消失が発生しにくくし、それ以前に比べてとても深いネットワークを構成できるようになった。