VGG16 – Convolutional Network for Classification and Detection

6月 29, 2021
admin

VGG16 は、オックスフォード大学の K. Simonyan と A. Zisserman が論文 “Very Deep Convolutional Networks for Large-Scale Image Recognition” において提案したコンボリューション・ニューラルネットワークのモデルです。 このモデルは、1000クラスに属する1400万枚以上の画像のデータセットであるImageNetにおいて、92.7%のトップ5テスト精度を達成しました。 ILSVRC-2014に提出された有名なモデルの1つです。 カーネルサイズの大きなフィルタ(第1畳み込み層で11個、第2畳み込み層で5個)を、3×3の複数のカーネルサイズのフィルタに順次置き換えることで、AlexNetに対する改良を実現しています。 VGG16 は数週間にわたって学習され、NVIDIA Titan Black GPU を使用しました。

vgg16 architecture
VGG16

DataSet

ImageNet は約 22,000 のカテゴリに属する 1500 万以上のラベル付き高解像度画像からなるデータセットです。 画像はウェブから収集され、AmazonのクラウドソーシングツールMechanical Turkを使って、人間のラベラーによってラベル付けされました。 2010年からは、Pascal Visual Object Challengeの一環として、ImageNet Large-Scale Visual Recognition Challenge (ILSVRC)と呼ばれるコンテストが毎年開催されています。 ILSVRCでは、ImageNetのサブセットを使用し、1000のカテゴリごとに約1000枚の画像を使用しています。 学習用画像は約120万枚、検証用画像は約5万枚、テスト用画像は約15万枚である。 ImageNetは可変解像度の画像から構成されている。 そのため、画像は256×256の固定解像度にダウンサンプリングされている。 5538>

The Architecture

以下に描かれているのがVGG16のアーキテクチャである。 VGG16アーキテクチャ

cov1層への入力は、固定サイズ224×224のRGB画像です。 この画像は畳み込み(conv.)層のスタックを通過する。ここでフィルターは非常に小さな受容野:3×3(これは左/右、上/下、中央の概念を捉える最小のサイズである)で使用された。 また、ある構成では、1×1畳み込みフィルターを利用しており、これは入力チャンネルの線形変換(その後に非線形性が続く)と見なすことができる。 畳み込みのストライドは1ピクセルに固定され、畳み込み層入力の空間パディングは、畳み込み後の空間解像度が保たれるように、すなわち、3×3の畳み込み層に対して1ピクセルである。 空間プーリングは5つのマックスプーリング層によって行われ,それらはいくつかの畳み込み層に続いている(すべての畳み込み層にマックスプーリングが続いているわけではない). マックスプーリングは2×2ピクセルのウィンドウで行われ、ストライドは2である。

3つの完全連結(FC)層は、畳み込み層(異なるアーキテクチャでは異なる深さを持つ)のスタックに続く:最初の2つはそれぞれ4096チャネルを持っており、第3は1000ウェイILSVRC分類を実行するので1000チャネル(各クラスに1)を含む。 最後の層はソフトマックスレイヤーである。 完全連結層の構成は全てのネットワークで同じである。

全ての隠れ層は整流(ReLU)非線形性を備えている。 また、どのネットワークも(1つを除いて)局所応答正規化(LRN)を含まないことに留意されたい。このような正規化はILSVRCデータセットでの性能を向上させないが、メモリ消費と計算時間の増加をもたらす。 ネットは名前(A-E)で呼ばれている。 すべての構成は、アーキテクチャに存在する一般的な設計に従っており、深さのみが異なる:ネットワークAにおける11の重み層(8つのコンブ層と3つのFC層)からネットワークEにおける19の重み層(16のコンブ層と3つのFC層)である。 畳み込み層の幅(チャンネル数)はかなり小さく、最初の層で64から始まり、最大プール層の後で2倍ずつ増え、512に達するまでである。

ConvNet Configuration

Use-Cases and Implementation

残念ながら、VGGNet には 2 つの大きな欠点があります:

  1. トレーニングにひどく時間がかかります。 このため、VGGの展開は面倒な作業になります。VGG16は多くの深層学習画像分類問題で使用されていますが、より小さなネットワークアーキテクチャの方が望ましい場合が多いです(SqueezeNet、GoogLeNetなど)。 しかし、それは実装が容易であるため、学習目的のための素晴らしいビルディングブロックです。

    Result

    VGG16は、ILSVRC-2012およびILSVRC-2013コンペティションで前世代のモデルを大幅に上回った。 VGG16の結果は、分類タスクの優勝者(GoogLeNet、誤差6.7%)とも競っており、外部学習データありで11.2%、なしで11.7%を達成したILSVRC-2013優勝投稿のClarifaiより大幅に上回っています。 5538>

    VGG16 comparison
    VGG16 comparison

    表現深さが分類精度に有益であること、そしてImageNetチャレンジデータセットにおける最先端のパフォーマンスは、深さを大幅に増やした従来のConvNetアーキテクチャを用いて達成できることが実証された。

コメントを残す

メールアドレスが公開されることはありません。