ディープラーニングの各層は、どのような構造の層なのか。
目次
畳み込み層
畳み込み処理
- 「畳み込み処理」→フィルタ(カーネル)を用いて、特徴を特徴マップとして抽出する
- 数値とフィルタがある場合、フィルタを重ね合わせて総和を取る
- フィルタの値は学習により取得する
- 学習には誤差逆伝播法が用いられる
パディング処理
- 「パディング処理」→入力と同じサイズの特徴マップにしたい場合の処理
ストライド
- 「ストライド」→畳み込み処理で、フィルタを重ねる位置をずらしていく、そのずらし幅
Atrous Convolution
- 「Atrous Convolution(Dilated Convolution)」→フィルタの間隔を空け、広い範囲に畳み込み処理を行う
- 特徴マップの注目する領域が広がるにもかかわらず計算量は増えない
Depthwise Separable Convolution
- 「Depthwise Separable Convolution」→空間方向とチャネル方向に対して、独立に畳み込み処理を行う
- 通常の畳み込み処理の代わりに用いられるもの
- 空間方向→「Depthwise Convolution」(特徴マップのチャネルごとに畳み込み処理を行う)
- チャネル方向→「Pointwise Convolution」(1×1の畳み込み処理を行う)
プーリング層
- 「プーリング処理」→特徴マップをルールに従って小さくする処理(ダウンサンプリング、サブサンプリング)
- 「最大値プーリング(max pooling)」→プーリングするサイズを2×2の小領域に設定してその中の最大値を抽出し、ダウンサンプリングした特徴マップが得られる
→特徴を集約し特徴次元を削減する効果
→画像のズレに対する頑健性を持つ(不変性を獲得する) - 「平均値プーリング(average pooling)」
全結合層
- 「全結合層」→層に入力された特徴に対して重みをかけ、総和した値をユニットの値とする(線形関数)
- CNN(LeNet)→畳み込み層・プーリング層を繰り返した後、全結合層を積層する(特徴マップを1列に並べる処理をする)
- 「Global Average Pooling」→全結合層を用いず、特徴マップの平均値を1つのユニット(ニューロン)の値にするもの
スキップ結合
- 「スキップ結合」→層を飛び越えた結合(畳み込み層&プーリング層&全結合層)
- メリット①:層が深くなっても、層を飛び越える部分は伝播しやすくなる
- メリット②:様々な形のネットワークのアンサンブル学習になっている
正規化層
- 「正規化処理」→特徴の分布のバラツキを抑制するために各層の特徴の平均値が0、分散が1になるような処理
- 「バッチ正規化(batch normalization)」→各層で活性化関数をかける前の特徴を正規化する
- 「レイヤー正規化」→データごとに全チャネルをまとめて正規化
- 「インスタンス正規化」→データごとに各チャネルをまとめて正規化
- 「グループ正規化」→データごとに複数のチャネルをまとめて正規化