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