JA EN
教科書 › 第II部 AIモデルの系譜
CHAPTER 19

深くする戦い ── VGGからResNetへ

★ 会員2分

AlexNet以降の数年は、「どうすればもっと深くできるか」という競争になった。

2014
VGG
3×3という小さなカーネルだけを使い、それを単純に積み重ねる。5×5のカーネル1つより、3×3を2つ重ねたほうが受容野は同じで重みが少なく、非線形性も増える。構造が単純で理解しやすく、今も比較の基準として使われる。
2014
GoogLeNet / Inception
異なるサイズのカーネルを並列に適用して結果を結合する。加えて1×1の畳み込みでチャネル数を減らしてから重い演算をする「ボトルネック」構造を導入し、計算量を抑えた。
2015
ResNet
層を飛び越えて入力をそのまま加算する「残差接続」を導入。これにより152層という当時としては異常な深さの学習が可能になった。

残差接続がなぜ効くのか

層を深くすると、かえって精度が落ちるという現象が観測されていた。過学習ではなく、学習そのものが進まない。何もしない層を足しただけでも悪化するのだから、これは表現力の問題ではなく最適化の問題だった。

ResNetの発想は単純である。層の出力に、その層への入力をそのまま足す。つまり層に学習させるのは「変換後の値」ではなく「入力からの差分」になる。何も変える必要がないなら差分をゼロにすればよく、それは重みをゼロに近づけるだけで済む。恒等写像を学ぶのが極端に簡単になった。

もう一つの効果として、誤差逆伝播の際に勾配が加算経路をそのまま通り抜けられる。深い層まで勾配が届くので、勾配消失が起きにくい。

この「そのまま足す近道を作る」というアイデアは、後のTransformerにもそのまま使われている。現代のほぼすべての大規模モデルに残差接続が入っている。

同時期に普及したバッチ正規化も重要である。各層の出力の分布を揃えることで、学習を安定させ高速化する。ResNetとバッチ正規化の組み合わせが、深いネットワークを実用化した。

§

この先は会員限定です

全26章と全ラボが読み放題。月額¥490、いつでも解約できます。

コメント

コメントにはログインが必要です