この記事の読者
キーワード・知ってると理解がしやすい
- CNN
- VGG
Deconvolution
CNN #まとめ編
Index
Fully Convolutional Network : FCN とは
2014 年に 発表された CNN を Semantic Segmentation に利用した手法.
全結合層を持たず、ネットワークが畳み込み層のみで構成されているネットワーク.
受容野 / Receptive Fields
入力される画像データは、 の 3 次元.
画像から特徴マップにおける、対応している領域を受容野 / Receptive Fields と呼んでいる.
畳み込み演算 / Convolution
畳み込み演算 を数式化すると、
となる.
CNN との違い
従来のCNN との違いに注目することで、FCN のポイントを考える.
全結合の廃止
通常の CNN で Object Recognition (Classification) を行う場合は、Convolution の最後に全結合層をおき、
分類をできる形にすることが多い. (VGGのようなアーキテクチャ)
しかし、全結合層部分は 1x1 のような Convolution Layer に置き換え、全結合層を排除する.
ネットワークアーキテクチャ
CNN が 5 層の アーキテクチャはこのような感じ.
- CNN : Convolution n + Max Pooling
- CNN (Deconv) : Deconvolution + Activation Function + BN
Up Sampling
通常の CNN では、処理を進めるにつれて、サイズが小さくなっていくことが多い.
(チャネル数は大きくなることが多い)
この操作を Down Sampling (Encode)といい、
それに対して、サイズを大きくして画像としての規格に戻していく処理を Up Sampling (Decode) という.
Deconvolution を使用することで Up Sampling する.
Deconvolution
畳み込み演算の逆の操作を行うことで、出力を大きくする.
Skip Connection
Down Sampling 中の途中の情報を Up Sampling で利用する.
Down Sampling の出力と加算して次のレイヤに進む.
参考
- Fully Convolutional Networks for Semantic Segmentation
- [2014]
- Abstract
- 3 Fully convolutional networks
- 3.1 Adapting classifiers for dense prediction
- 3.2 Shift-and-stitch is filter rarefaction
- 3.3 Upsampling is backwards strided convolution
- 3.4 Patchwise training is loss sampling
- 4 Segmentation Architecture
- 4.1 From classifier to dense FCN
- 4.2 Combining what and where
- 4.3 Experimental framework
- arxiv.org
3.1 : 特徴マップを分類結果を表現する出力形式に変換する方法
3.2 : OverFeat が導入した工夫
3.3 : アップサンプリング / Decovolution について
3.4 : 学習について
4.3 : 学習速度について
Web サイト
- FCN (Fully Convolutional Network):ディープラーニングによるSemantic Segmentation手法