この記事では、畳み込みネットワークの一般的に使用されるアーキテクチャについて説明します。 ご覧のとおり、ほぼすべてのCNNアーキテクチャは、入力に畳み込み層を連続的に適用し、フィーチャマップの数を増やしながら空間次元を定期的にダウンサンプリングするという同じ一般的な設計原理に従っています。,

古典的なネットワークアーキテクチャは単に積み重ねられた畳み込み層で構成されていましたが、現代のアーキテクチャは、より効率的な学習を可能にする方法で畳み込み層を構築するための新しい革新的な方法を模索しています。 これらの建築のほとんどすべてはネットワーク中使用される反復可能な単位に基づいている。

これらのアーキテクチャは、機械学習の実践者が様々なコンピュータビジョンタスクを解決するために適応する一般的な設計ガイドライン, これらのアーキテクチャは、画像分類、オブジェクト検出、画像セグメンテーション、および他の多くのより高度なタスクに使用できる豊富な特徴抽出

古典的なネットワークアーキテクチャ(歴史的な目的のために含まれています)

  • LeNet-5
  • AlexNet
  • VGG16

最新のネットワークアーキテクチャ

  • Inception
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

yann lecunのlenet-5モデルは、郵便サービスにおける郵便番号認識のための手書きの数字を識別するために1998年に開発されました。, この先駆的なモデルは、今日のように畳み込みニューラルネットワークを主に導入しました。

アーキテクチャ

畳み込み層は、計算を減らし、ネットワーク内の対称性の破れを強制するために、各フィルターに前の層のチャネルのサブセットを使用します。 サブサンプリングレイヤーは、平均プーリングの形式を使用します。

パラメータ:60,000

論文:文書認識に適用される勾配ベースの学習

AlexNet

AlexNetはAlex Krizhevskyらによって開発されました。 2012年にはImageNetコンテストに出場するために。, 一般的なアーキテクチャはLeNet-5と非常によく似ていますが、このモデルはかなり大きいです。 このモデルの成功(2012年のImageNetコンペティションで最初に行われた)は、コンピュータビジョンコミュニティの多くが、コンピュータビジョンタスクのための深

アーキテクチャ

パラメータ:60百万

論文:深い畳み込みニューラルネットワークによるImageNet分類

VGG-16

2014年に導入されたVGGネットワークは、上記で説明した畳み込み構造のより深く, 導入時には、このモデルは非常に深いと考えられていました。

アーキテクチャ

パラメータ:138万

論文:大規模画像認識のための非常に深い畳み込みネットワーク

インセプション(GoogLeNet)

2014年、Googleの研究者は、分類と検出の課題のための2014ImageNetコンペティションで最初に行われたインセプションネットワークを導入した。

このモデルは、”開始セル”と呼ばれる基本単位で構成され、ここでは異なるスケールで一連の畳み込みを実行し、その後結果を集計します。, 計算を節約するために、入力チャネルの深さを減らすために1x1畳み込みが使用されます。 各セルについて、入力から異なるスケールでフィーチャを抽出することを学ぶことができる1x1、3x3、および5x5のフィルターのセットを学習します。 最大プーリングも使用されますが、出力を適切に連結できるように寸法を保持するために”同じ”パディングを使用します。

これらの研究者は、元の開始細胞に対するより効率的な代替物を導入したフォローアップ論文を発表した。, 大きな空間フィルター(5x5や7x7など)を使用する畳み込みは、表現力とより大きなスケールで特徴を抽出する能力の点で有益ですが、計算は不釣り合いにコストがかかります。 研究者らは、5x5畳み込みは、二つの積み重ねられた3x3フィルタによってより安価に表すことができることを指摘した。

$5\times5\times c$フィルタは$25c$パラメータを必要としますが、二つの$3\times3\times c$フィルタは$18c$パラメータのみを必要とします。 5x5フィルターを最も正確に表現するために、3x3レイヤーの間に非線形の活性化を使用しないでください。, しかし、”線形活性化は、因数分解のすべての段階で整流線形ユニットを使用するよりも常に劣っていることが発見されました。”

また、3x3畳み込みを連続する3x1および1x3畳み込みにさらに分解できることが示されました。

この洞察を一般化すると、$n\times n$畳み込みを$1\times n$畳み込みとして、$n\times1$畳み込みをより効率的に計算することができます。

アーキテクチャ

ネットワーク全体のパフォーマンスを向上させるために、二つの補助出力がネットワーク全体に追加されます。, 後に、初期の補助出力は、ネットワークの最終的な品質に識別可能な影響を与えなかったことが発見されました。 補助出力の追加は、主にモデルの最終性能に利益をもたらし、補助分岐なしの同じネットワークアーキテクチャよりもわずかに良い値で収束しました。 補助出力の追加はネットワークに正則化効果をもたらしたと考えられています。

より効率的な開始セルを利用する開始ネットワークの改訂された、より深いバージョンを以下に示します。,

パラメータ:5万(V1)と23万(V3)

論文:

  • 畳み込みでより深く行く
  • コンピュータビジョンのための開始アーキテクチャを再考する

ResNet

深い残留ネットワークは、より深いネットワーク(数十層ではなく数百層)の開発を可能にする画期的なアイデアであった。

より深いネットワークは、より複雑な機能とより良いパフォーマンスにつながるはずの入力の表現を学ぶことができるという一般的に受け入れられ, しかし、多くの研究者は、より多くの層を追加すると、最終的には最終的な性能に悪影響を及ぼすことを観察した。 この動作ませんでした直感的には期待で説明したよ。

より浅いアーキテクチャと、より深いアーキテクチャにより多くのレイヤーを追加するものを考えてみましょう。 追加された層は同一性マッピングであり、他の層は学習された浅いモデルからコピーされます。, この構築された解の存在は,より深いモデルがそのより浅い対応物よりも高い訓練誤差を生じないことを示している。 しかし、実験によると、現在のソルバーは、構築されたソリューションよりも比較的良いか優れたソリューションを見つけることができない(または実現可能な,

この現象は、著者らによって劣化問題と呼ばれています-より良いパラメータ初期化技術とバッチ正規化により、より深いネットワークが収束することができますが、より浅いネットワークよりも高い誤り率で収束することが多いという事実をほのめかしています。 限界では、より多くの層を単に積み重ねることはモデルの最終的な性能を低下させる。,

ブロックの中間層がブロック入力を参照して残差関数を学習する残留ブロックを導入することにより、この劣化問題に対する救済策を提案した。 この残差関数は、より高品質のフィーチャに対して入力フィーチャマップを調整する方法を学習する洗練ステップと考えることができます。 これは、各層が新しく異なる特徴マップを学習することが期待される”プレーン”ネットワークと比較されます。, 洗練が必要でない場合、中間層は、残差ブロックが恒等関数を表すように、それらの重みをゼロに向かって徐々に調整することを学ぶことができる。

注:後に、元の提案されたユニットにわずかな変更が、訓練中に勾配がネットワークを介して伝播することをより効率的に可能にすることによって、より良い性能を提供することが発見された。,

ワイド残留ネットワーク
オリジナルのResNet論文は、劣化の問題を軽減することにより、より深い構造を可能にするためのネットワークアーキテクチャを作

アーキテクチャ

レイヤーの各色のブロックは、同じ次元の一連の畳み込みを表します。, 特徴マッピングは、層ごとの時間複雑さを維持するために、チャネル深さの増加を伴うストライド畳み込みによって定期的にダウンサンプリングさ 点線は、新しいブロックの次元に一致するように1x1畳み込みを介して入力を投影する残差接続を示します。

上の図は、ResNet34アーキテクチャを視覚化したものです。, ResNet50モデルでは、それぞれの二層残差ブロックを1x1畳み込みを使用してチャネル深さを減らし、その後復元するthree layer bottleneckブロックに置き換えるだけで、3x3畳み込みを計算する際の計算負荷を軽減できます。,

パラメータ:25百万(ResNet50)

論文:

  • 画像認識のための深い残留学習
  • 深い残留ネットワークにおけるアイデンティティマッピング
  • 広い残留ネットワーク

ResNeXtアーキテクチャは、標準の残留ブロックを”分割-変換-マージ”戦略を活用するものに置き換える深い残留ネットワークの拡張である。 インセプションモデルで使用されるセル内の分岐パス)。, 単純に、完全な入力フィーチャマップに対して畳み込みを実行するのではなく、ブロックの入力は、結果をマージする前にいくつかの畳み込みフィルター

このアイデアは、二つのGpu間で畳み込み計算を共有する方法としてAlexNetの論文で提案されたアイデアであったグループ畳み込みに非常に似ています。 入力の全チャンネル深度でフィルターを作成するのではなく、以下に示すように、入力はチャンネルごとにグループごとに分割されます。,

これは、グループ化された畳み込みを使用すると、別々のグループが入力画像の異なる特性に焦点を当てたグループ間の特殊化の程度につながったこと

ResNeXtの論文では、ResNeXtセルの基数としてブランチまたはグループの数を参照し、ネットワークの基数、深さ、および幅を増やすことの間の相対的なパフォーマンスの向上を理解するための一連の実験を行っています。 実験により,基数の増加はネットワークの幅または深さを増加させるよりもモデル性能に利益をもたらすのに効果的であることを示した。, 実験はまた、”残差接続は最適化に役立ちますが、集約変換はより強い表現に役立ちます”ことを示唆しています。”

アーキテクチャ

ResNeXtアーキテクチャは、ResNetモデルを模倣するだけで、ResNeXtブロックのResNetブロックを置き換えます。

論文:ディープニューラルネットワークの集約残差変換

DenseNet

密な畳み込みネットワークの背後にあるアイデアは簡単です。, したがって、各レイヤのフィーチャマップは、高密度ブロック内の連続するすべてのレイヤの入力に連結されます。 これ以降層内のネットワークへの直接のレバレッジの特長からの層の促進など、機内で再利用します。 著者らは、”異なる層によって学習された特徴マップを連結すると、後続の層の入力のばらつきが増加し、効率が向上すると述べている。”

私が最初にこのモデルに出会ったとき、私はそれが層間の密な接続をサポートするためのパラメータの不条理な数を持っているだろうと考えました。, しかし、ネットワークは以前のフィーチャマップを直接使用することができるため、著者らは、非常に小さな出力チャネル深度で作業できることを見つけ 層ごとの12のフィルター)、非常に必要とされる変数の総数を減らします。 著者らは、連続する各層が最後の層よりも$k$多くのチャネルを持つため、各畳み込み層で使用されるフィルターの数を”成長率”$k$と呼んでいます(前のすべての層を入力に蓄積して連結した結果として)。,

ResNetモデルと比較すると、Densenetは複雑さが少なく、より良いパフォーマンスを達成することが報告されています。

アーキテクチャ

論文の実験の大部分について、著者らは一般的なResNetモデルアーキテクチャを模倣し、単に高密度ブロックを繰り返し単位として交換

パラメータ:

  • 0.8百万(DenseNet-100、k=12)
  • 15。,3百万(DenseNet-250,k=24)
  • 40百万(DenseNet-190,k=40)

論文:密に接続された畳み込みネットワーク
ビデオ:CVPR2017ベストペーパーアワード:密に接続された畳み込みネットワーク

さらに読む