8. 現代的な畳み込みニューラルネットワーク¶
CNN を組み立てる基本を理解した今、現代的な CNN アーキテクチャを見ていこう。この巡回は、次々と登場する刺激的な新設計があまりにも多いため、必然的に不完全なものになる。これらが重要なのは、画像認識タスクに直接使えるだけでなく、追跡 (Zhang et al., 2021)、セグメンテーション (Long et al., 2015)、物体検出 (Redmon and Farhadi, 2018)、スタイル変換 (Gatys et al., 2016) といったより高度なタスクのための基本的な特徴生成器としても機能するからである。本章の多くの節は、ある時点で(あるいは現在も)多くの研究プロジェクトや実運用システムの基盤モデルとなった、重要な CNN アーキテクチャに対応している。これらのネットワークはいずれも一時的に支配的なアーキテクチャとなり、その多くが、2010 年以来コンピュータビジョンにおける教師あり学習の進歩を測る指標となってきた ImageNet コンペティション の勝者または準優勝者であった。CNN に代わって Transformer が台頭し始めたのはごく最近のことで、Dosovitskiy et al. (2021) に始まり、Swin Transformer (Liu et al., 2021) がそれに続いた。この発展については、後ほど 11 章 で扱う。
深い ニューラルネットワークという考え方自体は非常に単純だが(たくさんの層を積み重ねるだけである)、アーキテクチャやハイパーパラメータの選択によって性能は大きく変わり得る。本章で説明するニューラルネットワークは、直感、いくつかの数学的洞察、そして多くの試行錯誤の産物である。これらのモデルは年代順に紹介するが、これは部分的には歴史の流れを伝え、皆さん自身がこの分野がどこへ向かっているのかについて直感を養い、ひいては独自のアーキテクチャを考案できるようにするためである。たとえば、本章で説明するバッチ正規化と残差接続は、深いモデルを学習・設計するための 2 つの人気のある考え方を提供してきたが、どちらもその後、コンピュータビジョン以外のアーキテクチャにも適用されている。
現代的な CNN の巡回は、まず AlexNet (Krizhevsky et al., 2012) から始める。これは、大規模な視覚課題で従来のコンピュータビジョン手法を打ち負かした最初の大規模ネットワークである。次に、いくつもの繰り返しブロックを用いる VGG ネットワーク (Simonyan and Zisserman, 2014)、入力に対してパッチごとにニューラルネットワーク全体を畳み込む network in network (NiN) (Lin et al., 2013)、マルチブランチ畳み込みを用いる GoogLeNet (Szegedy et al., 2015)、コンピュータビジョンで今なお最も人気のある既製アーキテクチャの 1 つである residual network (ResNet) (He et al., 2016)、より疎な接続のための ResNeXt ブロック (Xie et al., 2017)、そして残差アーキテクチャを一般化した DenseNet (Huang et al., 2017) を取り上げる。時が経つにつれて、座標シフト(ShiftNet) (Wu et al., 2018) のような効率的なネットワークのための特別な最適化が数多く開発された。これらは、MobileNet v3 (Howard et al., 2019) のような効率的アーキテクチャの自動探索へと結実した。また、Radosavovic et al. (2020) による半自動的な設計探索も含まれており、これが後ほど本章で議論する RegNetX/Y につながった。この研究は、効率的な設計空間を探すうえで、総当たり計算と実験者の創意工夫を結びつける道筋を示しているという点で示唆に富んでいる。さらに注目すべきなのは Liu et al. (2022) の研究で、学習技術(たとえば最適化手法、データ拡張、正則化)が精度向上において決定的な役割を果たすことを示している。また、計算量とデータ量の増加を踏まえると、畳み込み窓の大きさのような長年の前提も見直す必要があることを示している。この点や他にも多くの問いについては、本章を通して順に扱っていく。