論文要約:Going Deeper with Convolutions (GoogLeNet)

Going Deeper with Convolutions

arxiv.org

図表は全て元論文から引用

Abstract

研究目的

新たな深層畳み込みニューラルネットワークアーキテクチャ「Inception」を提案し、ImageNet Large-Scale Visual Recognition Challenge 2014(ILSVRC14)における分類と検出の新たな基準を設定すること。

 方法論

ネットワーク内の計算リソースの利用を改善するための設計を行い、ネットワークの深さと幅を増やしながら計算予算を一定に保つ。品質を最適化するために、ヘッブの法則と多尺度処理の直感に基づいたアーキテクチャの決定を行った。

 結果

LSVRC14への提出に使用した特定の実装は「GoogLeNet」と呼ばれ、22層の深いネットワークで、その品質は分類と検出の文脈で評価された。

結論:

Inceptionアーキテクチャは、計算リソースの利用を改善し、ネットワークの深さと幅を増やしながら計算予算を一定に保つことが可能であることを示した。また、GoogLeNetは、分類と検出のタスクにおいて高い品質を達成した。


Introduction

- 過去3年間で、特に深層学習、具体的には畳み込みネットワークの進歩により、画像認識と物体検出の品質が劇的に向上している。
- この進歩は、より強力なハードウェア、大規模なデータセット、大きなモデルの結果だけでなく、新しいアイデアアルゴリズム、改良されたネットワークアーキテクチャの結果である。
- 例えば、ILSVRC 2014のコンペティションでは、新しいデータソースは使用されず、検出目的で同じコンペティションの分類データセットが使用された。
- 著者らのGoogLeNetは、ILSVRC 2014への提出では、2年前のKrizhevskyらの優勝アーキテクチャよりも12倍少ないパラメータを使用しながら、はるかに正確であった。
- 物体検出の最大の利点は、深層ネットワークの単独使用や大きなモデルからではなく、深層アーキテクチャと古典的なコンピュータビジョン、例えばGirshickらのR-CNNアルゴリズムシナジーから来ている。
- モバイルや組み込みコンピューティングの進行に伴い、アルゴリズムの効率性、特に電力とメモリ使用が重要になってきている。
- この論文では、コンピュータビジョンのための効率的な深層ニューラルネットワークアーキテクチャ、Inceptionに焦点を当てる。このアーキテクチャは、ILSVRC 2014の分類と検出の課題で、現在の最先端技術を大幅に上回る結果を実証している。

- LeNet-5 [10]から始まり、畳み込みニューラルネットワーク(CNN)は一般的に標準的な構造を持っています。これは、畳み込み層(オプションでコントラスト正規化と最大プーリングを続ける)が一つ以上の全結合層に続くものです。この基本設計のバリエーションは画像分類文献に広く見られ、MNIST、CIFAR、特にImageNet分類チャレンジ[9,21]で最高の結果を出している。
- より大きなデータセット(例:Imagenet)では、最近の傾向として、層の数[12]と層のサイズ[21,14]を増やし、過学習の問題に対処するためにドロップアウト[7]を使用することが多い。
- 最大プーリング層が正確な空間情報の損失を引き起こすという懸念にもかかわらず、同じ畳み込みネットワークのアーキテクチャは、ローカライゼーション[9,14]、オブジェクト検出[6,14,18,5]、人間の姿勢推定[19]にも成功裏に適用されています。
- Linら[12]が提案したNetwork-in-Networkは、ニューラルネットワークの表現力を高めるためのアプローチで、畳み込み層に適用すると、追加の1×1畳み込み層として見ることができます。これにより、現在のCNNパイプラインに容易に統合することが可能である。
- 現在の主流のオブジェクト検出手法は、Girshickら[6]が提案したRegions with Convolutional Neural Networks (R-CNN)です。R-CNNは、全体の検出問題を2つのサブ問題に分解します。まず、色やスーパーピクセルの一貫性などの低レベルの手がかりを利用して、カテゴリに関係なく潜在的なオブジェクトの提案を行い、次にCNN分類器を使用して、それらの位置でのオブジェクトカテゴリを識別する。


Motivation and High Level Considerations

- ディープニューラルネットワークのパフォーマンスを向上させる最も直接的な方法は、そのサイズを増やすことである。これには、ネットワークの深さ(レベルの数)と幅(各レベルのユニット数)を増やすことが含まれる。これは、大量のラベル付きトレーニングデータが利用可能な場合、特に高品質なモデルを訓練するための簡単で安全な方法である。
- しかし、この単純な解決策には2つの大きな欠点がある。大きなサイズは通常、パラメータの数が多くなることを意味し、拡大したネットワークは特にトレーニングセットのラベル付き例の数が限られている場合、過学習になりやすい。また、ネットワークサイズを一様に増加させると、計算リソースの使用が劇的に増加する。
- これらの問題を解決する基本的な方法は、完全に接続されたアーキテクチャから疎結合アーキテクチャへと移行することである。しかし、現在の計算インフラストラクチャは、非一様な疎なデータ構造に対する数値計算に非常に非効率的である。
- Inceptionアーキテクチャは、視覚ネットワークのための疎な構造を近似しようとする洗練されたネットワークトポロジー構築アルゴリズムの仮説的な出力を評価するための最初の著者らのケーススタディとして始まった。しかし、提案されたアーキテクチャがコンピュータビジョンの成功につながったとしても、その品質がその構築に至った指導原則に帰せられるかどうかはまだ疑問である。


Architectural Details

・Inceptionアーキテクチャの主な考え方は、畳み込みビジョンネットワーク内の最適な局所的スパース構造を、既存の密集したコンポーネントで近似し、カバーする方法を見つけ出すことに基づいている。
・並進不変性(画像内のオブジェクトが位置を変えても同じように認識される性質)を仮定すると、ネットワークは畳み込みブロックから構築されることになります。
・最適な局所構造を見つけ、空間的に繰り返す必要があります。Aroraらは、最後の層の相関統計を分析し、高い相関を持つユニットのグループにクラスタリングすることを提案している。
・これらのクラスタは次の層のユニットを形成し、前の層のユニットに接続されます。初期層では、相関ユニットが局所的な領域に集中する。

・次の層で1x1の畳み込みによってカバーできる多くのクラスタが単一の領域に集中することになりますが、より広がったクラスタも存在し、これらは大きなパッチを持つ畳み込みでカバーできる。
・Inceptionアーキテクチャは、1x1、3x3、5x5のフィルタサイズに限定され、その出力フィルタバンクが単一の出力ベクトルに連結され、次のステージの入力を形成することを意味します。また、プーリング操作の追加が、現在の畳み込みネットワークの成功に不可欠であることを示唆している。

・"Inceptionモジュール"が重ねられることで、より高位の層では抽象度の高い特徴が捉えられ、その結果、空間的集中度が減少し、3×3および5×5の畳み込みの比率を増加させるべきであると示唆される。
・5×5畳み込みを少数使用するだけでも、多くのフィルターを持つ畳み込み層上では非常にコストがかかり、プーリングユニットが加わると、ステージごとに出力数が増える問題が顕著になる。
・この問題への対策として、計算要求が過度に増大する場所で次元削減と射影を適切に適用することが提案される。これは、1×1畳み込みを利用して高価な3×3および5×5畳み込みの前に削減を行い、情報を効率的に圧縮するアプローチである。

・Inceptionネットワークは、特定のモジュールを重ねて構築され、解像度を下げるために最大プーリング層が時折使用される。
・トレーニング中のメモリ効率を考慮して、低層では従来の畳み込み方式を採用し、高層からInceptionモジュールを使用することが推奨されている。
・このアーキテクチャは、計算の複雑さを抑えつつ各ステージでのユニット数を増加させることが可能で、多数の入力フィルターを効率的に扱うことができる。
・視覚情報を異なるスケールで処理し、集約することで、異なるスケールからの特徴を同時に抽象化できる設計になっている。
・計算リソースの効率的な利用により、各ステージの幅とステージ数を増やすことができ、計算上の困難を避けることが可能です。また、計算コストを下げた劣るバージョンを作成することもできますが、これには慎重な設計が必要である。


GoogLeNet

- 著者らはILSVRC14コンペティションでチーム名としてGoogLeNetを選んだ。この名前は、Yann LeCunsの先駆的なLeNet 5ネットワークへの敬意である。また、GoogLeNetは、コンペティションへの提出に使用したInceptionアーキテクチャの特定のインカーネーションを指すためにも使用する。
- ネットワークは計算効率と実用性を念頭に置いて設計されており、限られた計算リソースを持つ個々のデバイスでも推論を実行できる。ネットワークはパラメータを持つ層だけを数えると22層、プーリングも含めると27層である。


- ネットワークの比較的大きな深さを考慮すると、すべての層を通じて勾配を効果的に逆伝播する能力が懸念された。中間層で生成される特徴が非常に識別的であることを示唆することで、この問題を解決した。
- このネットワークの補助分類器は、Inception(4a)および(4d)モジュールの出力の上に置かれた小さな畳み込みネットワークの形を取る。訓練中、これらの損失は割引重み(補助分類器の損失は0.3で重み付けされる)でネットワークの総損失に追加される。
- 補助分類器を含むサイドネットワークの正確な構造は次のとおり:

・5×5フィルタサイズとストライド3の平均プーリング層、

・1024ユニットとReLU活性化の全結合層、

・70%のドロップアウト比率のドロップアウト

・ソフトマックス損失を持つ線形層。


Training Methodology

- 著者らのネットワークは、DistBeliefという分散型機械学習システムを用いて、モデルとデータの並列性を適度に利用して訓練された。CPUベースの実装のみを使用しましたが、GoogLeNetネットワークは高性能GPUを数台使用して1週間以内に収束訓練が可能であると推定されている。主な制限はメモリ使用量である。
- 訓練には非同期確率的勾配降下法と0.9のモーメンタム、固定学習率スケジュール(8エポックごとに学習率を4%減少)を使用しました。Polyak平均法を用いて、推論時に使用する最終モデルを作成した。
- 画像のサンプリング方法は、競技会に向けて数ヶ月間で大幅に変更され、すでに収束したモデルは、ドロップアウトや学習率などのハイパーパラメータを変更しながら他のオプションで訓練された。
- さらに、一部のモデルは小さな相対的なクロップで主に訓練され、他のものは大きなクロップで訓練された。
- 競技会後に非常に効果的であることが確認された方法の一つに、画像のさまざまなサイズのパッチをサンプリングし、そのサイズは画像領域の8%から100%の間で均等に分布し、アスペクト比は3/4から4/3の間でランダムに選ばれるというものがあった。
- また、Andrew Howardによる光学的歪みは、ある程度過学習を防ぐのに役立つことがわかりました。さらに、相対的なリサイズのためのランダムな補間方法(バイリニア、エリア、最近傍、立方体、等確率)を比較的遅く、他のハイパーパラメータの変更と併せて使用し始めたため、その使用が最終結果にどの程度影響を与えたかは確定的には言えない。


ILSVRC 2014 Classification Challenge Setup and Results

- ILSVRC 2014の分類課題では、Imagenet階層の1000のリーフノードカテゴリの中から画像を分類するタスクが求められる。訓練用に約120万枚、検証用に5万枚、テスト用に10万枚の画像が用意されている。
- 各画像は1つの真実のカテゴリと関連付けられ、最高得点の分類器の予測に基づいてパフォーマンスが測定される。通常、トップ1の正確さ率とトップ5のエラー率の2つの数値が報告される。
- 著者らは外部データを使用せずにこのチャレンジに参加した。訓練技術に加えて、テスト中に一連の技術を採用して高いパフォーマンスを得た。
- 7つのGoogLeNetモデルを独立して訓練し、それらを用いてアンサンブル予測を行った。これらのモデルは同じ初期化と学習率ポリシーで訓練され、サンプリング方法と入力画像のランダムな順序だけが異なる。
- テスト中には、より積極的なクロッピング手法を採用した。具体的には、画像を4つのスケールにリサイズし、それぞれのリサイズされた画像の左、中央、右の正方形を取り出す。
- 最終的な予測を得るために、複数のクロップと個々の分類器全体でソフトマックス確率を平均化した。最終的な提出物は、検証データとテストデータの両方でトップ5エラーが6.67%となり、他の参加者の中で最も高いランクを獲得した。


ILSVRC 2014 Detection Challenge Setup and Results

- ILSVRC検出タスクは、200の可能なクラスの中から画像内のオブジェクトを囲むバウンディングボックスを作成することである。
- 検出されたオブジェクトは、グラウンドトゥルースのクラスと一致し、バウンディングボックスが少なくとも50%重なる(ジャカード指数を使用)場合に正しいとされる。
- 余分な検出は偽陽性としてカウントされ、ペナルティが課されます。
- 分類タスクとは異なり、各画像には回帰が含まれる可能性があり、これはInceptionアーキテクチャの強さのさらなる証拠を提供する。
- 同様の深さと幅を持つより高価なネットワークでも同様の結果が得られると予想されるが、著者らのアプローチは、よりスパースなアーキテクチャへの移行が実現可能で有用なアイデアであることを強く示している。
- これは、[2]の基礎に基づいて自動的な方法でよりスパースで洗練された構造を作成するための有望な未来の作業を示唆している。

- GoogLeNetの検出手法はR-CNNと似ているが、Inceptionモデルを領域分類器として使用し、Selective Searchとmulti-boxの予測を組み合わせて領域提案ステップを改善している。
- 偽陽性の数を減らすために、スーパーピクセルのサイズを2倍に増やし、Selective Searchアルゴリズムからの提案を半分にした。
- multi-boxからの200の領域提案を追加し、全体の提案数を60%に減らしながら、カバレッジを92%から93%に増やした。
- 提案数を減らしカバレッジを増やすことで、平均精度(mAP)が1%改善しました。
- 最後に、各領域を分類するために6つのConvNetsのアンサンブルを使用し、精度を40%から43.9%に向上させた。

- 2013年の結果と比較して、精度はほぼ2倍になった。トップチームはすべてConvolutional Networksを使用している。
- Table 5では、単一モデルのみを使用した結果を比較しています。トップパフォーマンスのモデルはDeep Insightで、3つのモデルのアンサンブルでわずか0.3ポイントしか改善しない一方、GoogLeNetはアンサンブルで大幅に強い結果を得ている。


Conclusions

- 著者らの結果は、利用可能な密な構造ブロックを用いて最適なスパース構造を近似することが、コンピュータビジョンのためのニューラルネットワークを改善する有効な方法であることを強く示唆している。
- この方法の主な利点は、浅くて幅の狭いネットワークと比較して、計算要件のわずかな増加で大幅な品質向上を達成できることである。
- また、著者らの検出作業は、コンテキストを利用せず、バウンディングボックスを実行しないにもかかわらず、競争力があったという事実も、Inceptionアーキテクチャの強さのさらなる証拠を提供している。

- 同様の深さと幅を持つはるかに高価なネットワークによって同等の品質の結果が達成されることが期待されるものの、著者らのアプローチは、スパースなアーキテクチャへの移行が実行可能で有用なアイデアであるという確かな証拠を提供している。

-よりスパースで洗練された構造を自動的な方法で作成することに向けた将来の有望な作業を示唆している。