logo

VGG-16 | model CNN

Architektura konvoluční neuronové sítě (CNN) je model hlubokého učení navržený pro zpracování strukturovaných dat podobných mřížkám, jako jsou obrázky. Skládá se z více vrstev, včetně konvolučních, sdružovacích a plně propojených vrstev. CNN jsou vysoce efektivní pro úkoly, jako je klasifikace obrazu, detekce objektů a segmentace obrazu, díky jejich hierarchickým možnostem extrakce prvků.

VGG-16

Model VGG-16 je architektura konvoluční neuronové sítě (CNN), která byla navržena skupinou Visual Geometry Group (VGG) na univerzitě v Oxfordu. Vyznačuje se svou hloubkou, skládající se z 16 vrstev, včetně 13 vrstev konvolučních a 3 plně spojených vrstev. VGG-16 je známý svou jednoduchostí a účinností, stejně jako svou schopností dosahovat vysokého výkonu při různých úlohách počítačového vidění, včetně klasifikace obrazu a rozpoznávání objektů. Architektura modelu obsahuje hromadu konvolučních vrstev následovaných max. sdružujícími vrstvami s postupně se zvyšující hloubkou. Tento návrh umožňuje modelu naučit se složité hierarchické reprezentace vizuálních prvků, což vede k robustním a přesným předpovědím. Navzdory své jednoduchosti ve srovnání s novějšími architekturami zůstává VGG-16 oblíbenou volbou pro mnoho aplikací hlubokého učení díky své všestrannosti a vynikajícímu výkonu.



ImageNet Large Scale Visual Recognition Challenge (ILSVRC) je každoroční soutěž v počítačovém vidění, kde týmy řeší úkoly včetně lokalizace objektů a klasifikace obrázků. VGG16, navržený Karen Simonyan a Andrew Zisserman v roce 2014, dosáhl nejvyšších pozic v obou úkolech, detekce objektů z 200 tříd a klasifikace obrázků do 1000 kategorií.


býci vs vůl

Architektura VGG-16



Tento model dosahuje 92,7 % top-5 otestujte přesnost na datové sadě ImageNet, která obsahuje 14 milionů obrázků patřících do 1000 tříd.

Cíl modelu VGG-16:

Datová sada ImageNet obsahuje obrázky pevné velikosti 224*224 a mají RGB kanály. Takže máme tenzor (224, 224, 3) jako náš vstup. Tento model zpracovává vstupní obraz a vydává vektor a 1000 hodnoty:

hat{y} =egin{bmatrix} hat{y_0} hat{y_1} hat{y_2} . . . hat{y}_{999} end{bmatrix}



Tento vektor představuje pravděpodobnost klasifikace pro odpovídající třídu. Předpokládejme, že máme model, který předpovídá, že obrázek s pravděpodobností patří do třídy 0 1 , třída 1 s pravděpodobností 0,05 , třída 2 s pravděpodobností 0,05 , třída 3 s pravděpodobností 0,03 , třída 780 s pravděpodobností 0,72 , třída 999 s pravděpodobností 0,05 a všechny ostatní třídy s 0 .

takže klasifikační vektor pro to bude:

hat{y}=egin{bmatrix} hat{y_{0}}=0.1 0.05 0.05 0.03 . . . hat{y_{780}} = 0.72 . . hat{y_{999}} = 0.05 end{bmatrix}

Abychom se ujistili, že se tyto pravděpodobnosti zvyšují 1 , používáme funkci softmax.

Tato funkce softmax je definována následovně:

hat{y}_i = frac{e^{z_i}}{sum_{j=1}^{n} e^{z_j}}

Poté vezmeme do vektoru 5 nejpravděpodobnějších kandidátů.

C =egin{bmatrix} 780 0 1 2 999 end{bmatrix}

java pole

a náš vektor základní pravdy je definován takto:

G = egin{bmatrix} G_{0} G_{1} G_{2} end{bmatrix}=egin{bmatrix} 780 2 999 end{bmatrix}

Potom definujeme naši chybovou funkci takto:

E = frac{1}{n}sum_{k}min_{i}d(c_{i}, G_{k})

excel odstranit první znak

Vypočítá minimální vzdálenost mezi každou třídou základní pravdy a předpokládanými kandidáty, kde funkce vzdálenosti d je definována jako:

  • d=0 pokudc_i=G_k
  • d=1 jinak

Takže ztrátová funkce pro tento příklad je:

egin{aligned} E &=frac{1}{3}left ( min_{i}d(c_{i}, G_{1}) +min_{i}d(c_{i}, G_{2})+min_{i}d(c_{i}, G_{3}) ight ) &= frac{1}{3}(0 + 0 +0) &=0 end{aligned}

Protože všechny kategorie v základní pravdě jsou v matici Predicted top-5, takže ztráta bude 0.

VGG Architektura:

Architektura VGG-16 je hluboká konvoluční neuronová síť (CNN) navržená pro úlohy klasifikace snímků. Zavedla jej Visual Geometry Group na Oxfordské univerzitě. VGG-16 se vyznačuje svou jednoduchostí a jednotnou architekturou, díky které je snadno pochopitelné a implementovatelné.

10 procent ze 60

Konfigurace VGG-16 se obvykle skládá z 16 vrstev, včetně 13 konvolučních vrstev a 3 plně propojených vrstev. Tyto vrstvy jsou organizovány do bloků, přičemž každý blok obsahuje více konvolučních vrstev, za nimiž následuje max-pooling vrstva pro downsampling.

Mapa architektury VGG-16

Zde je rozpis architektury VGG-16 na základě poskytnutých podrobností:

  1. Vstupní vrstva:
    1. Vstupní rozměry: (224, 224, 3)
  2. Konvoluční vrstvy (64 filtrů, 3×3 filtry, stejná výplň):
    • Dvě po sobě jdoucí konvoluční vrstvy po 64 filtrech a velikosti filtru 3×3.
    • Pro zachování prostorových rozměrů je použito stejné polstrování.
  3. Maximální sdružovací vrstva (2×2, krok 2):
    • Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
  4. Konvoluční vrstvy (128 filtrů, 3×3 filtry, stejné polstrování):
    • Dvě po sobě jdoucí konvoluční vrstvy, každá se 128 filtry a velikostí filtru 3×3.
  5. Maximální sdružovací vrstva (2×2, krok 2):
    • Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
  6. Konvoluční vrstvy (256 filtrů, 3×3 filtry, stejné polstrování):
    • Dvě po sobě jdoucí konvoluční vrstvy, každá s 256 filtry a velikostí filtru 3×3.
  7. Konvoluční vrstvy (512 filtrů, 3×3 filtry, stejná výplň):
    • Dvě sady tří po sobě jdoucích konvolučních vrstev, každá s 512 filtry a velikostí filtru 3×3.
  8. Maximální sdružovací vrstva (2×2, krok 2):
    • Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
  9. Zásobník konvolučních vrstev a maximální sdružování:
    • Dvě další konvoluční vrstvy po předchozím zásobníku.
    • Velikost filtru: 3×3.
  10. Zploštění:
    • Srovnejte výstupní mapu prvků (7x7x512) do vektoru o velikosti 25088.
  11. Plně propojené vrstvy:
    • Tři plně propojené vrstvy s aktivací ReLU.
    • První vrstva se vstupní velikostí 25088 a výstupní velikostí 4096.
    • Druhá vrstva se vstupní velikostí 4096 a výstupní velikostí 4096.
    • Třetí vrstva se vstupní velikostí 4096 a výstupní velikostí 1000, což odpovídá 1000 třídám ve výzvě ILSVRC.
    • Aktivace Softmax je aplikována na výstup třetí plně připojené vrstvy pro klasifikaci.

Tato architektura se řídí poskytnutými specifikacemi, včetně použití funkce aktivace ReLU a výstupní pravděpodobnosti konečné plně připojené vrstvy pro 1000 tříd pomocí aktivace softmax.

Konfigurace VGG-16:

Hlavní rozdíl mezi konfiguracemi VGG-16 C a D spočívá v použití velikostí filtrů v některých konvolučních vrstvách. Zatímco obě verze převážně používají filtry 3×3, ve verzi D existují případy, kdy se místo toho používají filtry 1×1. Tato mírná odchylka má za následek rozdíl v počtu parametrů, přičemž verze D má o něco vyšší počet parametrů oproti verzi C. Obě verze však zachovávají celkovou architekturu a principy modelu VGG-16.

Různé konfigurace VGG

Lokalizace objektu na obrázku:

K provedení lokalizace potřebujeme nahradit skóre třídy souřadnicemi umístění ohraničujícího rámečku. Umístění ohraničujícího rámečku je reprezentováno 4-D vektorem (středové souřadnice (x, y), výška, šířka). Existují dvě verze lokalizační architektury, jedna je ohraničující rámeček sdílený mezi různými kandidáty (výstup je 4 parametr vektor) a druhý je ohraničovací rámeček specifický pro třídu (výstup je 4000 vektor parametru). Článek experimentoval s oběma přístupy na architektuře VGG -16 (D). Zde také musíme změnit ztrátu z klasifikační ztráty na funkce regresní ztráty (jako např MSE ), které penalizují odchylku předpokládané ztráty od základní pravdy.

Výsledek: VGG-16 byla jednou z nejvýkonnějších architektur ve výzvě ILSVRC 2014. V klasifikační úloze se umístila na druhém místě s chybou klasifikace top-5. 7,32 % (pouze za GoogLeNet s chybou klasifikace 6,66 % ). Byl také vítězem lokalizační úlohy s 25,32 % chyba lokalizace.

Omezení VGG 16:

  • Trénuje se velmi pomalu (původní model VGG byl trénován na GPU Nvidia Titan 2-3 týdny).
  • Velikost trénovaných závaží imageNet VGG-16 je 528 MB. Takže to zabírá poměrně hodně místa na disku a šířku pásma, což ho činí neefektivním.
  • 138 milionů parametrů vede k problému explodujících gradientů.

Další vylepšení: Resnety jsou zavedeny, aby se zabránilo explodujícímu problému s gradienty, ke kterému došlo u VGG-16.