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:
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:
Abychom se ujistili, že se tyto pravděpodobnosti zvyšují 1 , používáme funkci softmax.
Tato funkce softmax je definována následovně:
Poté vezmeme do vektoru 5 nejpravděpodobnějších kandidátů.
java pole
a náš vektor základní pravdy je definován takto:
Potom definujeme naši chybovou funkci takto:
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 pokud
c_i=G_k - d=1 jinak
Takže ztrátová funkce pro tento příklad je:
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í:
- Vstupní vrstva:
- Vstupní rozměry: (224, 224, 3)
- 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í.
- Maximální sdružovací vrstva (2×2, krok 2):
- Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
- 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.
- Maximální sdružovací vrstva (2×2, krok 2):
- Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
- 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.
- 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.
- Maximální sdružovací vrstva (2×2, krok 2):
- Max-pooling vrstva s velikostí bazénu 2×2 a krokem 2.
- 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.
- Zploštění:
- Srovnejte výstupní mapu prvků (7x7x512) do vektoru o velikosti 25088.
- 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.