logo

VGG-16 | Model CNN

Architektúra konvolučnej neurónovej siete (CNN) je model hlbokého učenia navrhnutý na spracovanie štruktúrovaných údajov podobných mriežke, ako sú obrázky. Pozostáva z viacerých vrstiev, vrátane konvolučných, združovacích a plne prepojených vrstiev. CNN sú vysoko efektívne pre úlohy, ako je klasifikácia obrazu, detekcia objektov a segmentácia obrazu vďaka ich hierarchickým možnostiam extrakcie funkcií.

VGG-16

Model VGG-16 je architektúra konvolučnej neurónovej siete (CNN), ktorú navrhla skupina Visual Geometry Group (VGG) na Oxfordskej univerzite. Vyznačuje sa svojou hĺbkou pozostávajúcou zo 16 vrstiev, z toho 13 konvolučných vrstiev a 3 plne spojených vrstiev. VGG-16 je známy svojou jednoduchosťou a účinnosťou, ako aj schopnosťou dosahovať vysoký výkon pri rôznych úlohách počítačového videnia, vrátane klasifikácie obrazu a rozpoznávania objektov. Architektúra modelu obsahuje hromadu konvolučných vrstiev, po ktorých nasledujú maximálne združujúce vrstvy s postupne sa zväčšujúcou hĺbkou. Tento dizajn umožňuje modelu naučiť sa zložité hierarchické reprezentácie vizuálnych prvkov, čo vedie k robustným a presným predpovediam. Napriek svojej jednoduchosti v porovnaní s novšími architektúrami zostáva VGG-16 obľúbenou voľbou pre mnohé aplikácie hlbokého učenia vďaka svojej všestrannosti a vynikajúcemu výkonu.



ImageNet Large Scale Visual Recognition Challenge (ILSVRC) je každoročná súťaž v počítačovom videní, kde tímy riešia úlohy vrátane lokalizácie objektov a klasifikácie obrázkov. VGG16, navrhnutý Karen Simonyanovou a Andrewom Zissermanom v roku 2014, dosiahol najvyššie pozície v oboch úlohách, pričom detekoval objekty z 200 tried a klasifikoval obrázky do 1000 kategórií.


pridanie reťazca java

Architektúra VGG-16



Tento model dosahuje 92,7 % top-5 otestujte presnosť na súbore údajov ImageNet, ktorý obsahuje 14 milión obrázkov patriacich do 1000 tried.

Cieľ modelu VGG-16:

Súbor údajov ImageNet obsahuje obrázky pevnej veľkosti 224*224 a majú RGB kanály. Takže máme tenzor (224, 224, 3) ako náš vstup. Tento model spracuje vstupný obrázok a vygeneruje vektor a 1000 hodnoty:

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



Tento vektor predstavuje pravdepodobnosť klasifikácie pre príslušnú triedu. Predpokladajme, že máme model, ktorý predpovedá, že obrázok s pravdepodobnosťou patrí do triedy 0 1 , trieda 1 s pravdepodobnosťou 0,05 , trieda 2 s pravdepodobnosťou 0,05 , trieda 3 s pravdepodobnosťou 0,03 , trieda 780 s pravdepodobnosťou 0,72 , trieda 999 s pravdepodobnosťou 0,05 a všetky ostatné triedy s 0 .

takže klasifikačný vektor pre 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}

Aby ste sa uistili, že sa tieto pravdepodobnosti zvyšujú 1 , používame funkciu softmax.

Táto funkcia softmax je definovaná takto:

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

b+ strom

Potom vezmeme do vektora 5 najpravdepodobnejších kandidátov.

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

a náš vektor základnej pravdy je definovaný takto:

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

Potom definujeme našu funkciu Error takto:

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

reťazec porovnať java

Vypočítava minimálnu vzdialenosť medzi každou triedou základnej pravdy a predpokladanými kandidátmi, pričom funkcia vzdialenosti d je definovaná ako:

  • d=0 akc_i=G_k
  • d = 1 inak

Stratová funkcia pre tento príklad je teda:

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}

Keďže všetky kategórie v základnej pravde sú v matici Predicted top-5, takže strata bude 0.

VGG architektúra:

Architektúra VGG-16 je hlboká konvolučná neurónová sieť (CNN) navrhnutá pre úlohy klasifikácie obrázkov. Zaviedla ho skupina Visual Geometry Group na Oxfordskej univerzite. VGG-16 sa vyznačuje jednoduchosťou a jednotnou architektúrou, vďaka čomu je ľahké ho pochopiť a implementovať.

výnimka hodí java

Konfigurácia VGG-16 zvyčajne pozostáva zo 16 vrstiev, vrátane 13 konvolučných vrstiev a 3 plne prepojených vrstiev. Tieto vrstvy sú usporiadané do blokov, pričom každý blok obsahuje viacero konvolučných vrstiev, za ktorými nasleduje vrstva maximálneho združovania na prevzorkovanie.

Mapa architektúry VGG-16

Tu je rozpis architektúry VGG-16 na základe poskytnutých podrobností:

  1. Vstupná vrstva:
    1. Vstupné rozmery: (224, 224, 3)
  2. Konvolučné vrstvy (64 filtrov, 3×3 filtre, rovnaké čalúnenie):
    • Dve po sebe idúce konvolučné vrstvy, každá so 64 filtrami a veľkosťou filtra 3×3.
    • Rovnaké polstrovanie sa používa na zachovanie priestorových rozmerov.
  3. Maximálna združovacia vrstva (2×2, krok 2):
    • Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
  4. Konvolučné vrstvy (128 filtrov, 3×3 filtre, rovnaké čalúnenie):
    • Dve po sebe idúce konvolučné vrstvy, každá so 128 filtrami a veľkosťou filtra 3×3.
  5. Maximálna združovacia vrstva (2×2, krok 2):
    • Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
  6. Konvolučné vrstvy (256 filtrov, 3×3 filtre, rovnaké čalúnenie):
    • Dve po sebe idúce konvolučné vrstvy, každá s 256 filtrami a veľkosťou filtra 3×3.
  7. Konvolučné vrstvy (512 filtrov, 3×3 filtre, rovnaké čalúnenie):
    • Dve sady troch po sebe idúcich konvolučných vrstiev, každá s 512 filtrami a veľkosťou filtra 3×3.
  8. Maximálna združovacia vrstva (2×2, krok 2):
    • Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
  9. Zásobník konvolučných vrstiev a maximálne zoskupenie:
    • Dve ďalšie konvolučné vrstvy po predchádzajúcej vrstve.
    • Veľkosť filtra: 3×3.
  10. Sploštenie:
    • Vyrovnajte výstupnú mapu prvkov (7x7x512) do vektora s veľkosťou 25088.
  11. Plne prepojené vrstvy:
    • Tri plne prepojené vrstvy s aktiváciou ReLU.
    • Prvá vrstva so vstupnou veľkosťou 25088 a výstupnou veľkosťou 4096.
    • Druhá vrstva so vstupnou veľkosťou 4096 a výstupnou veľkosťou 4096.
    • Tretia vrstva so vstupnou veľkosťou 4096 a výstupnou veľkosťou 1000, čo zodpovedá 1000 triedam vo výzve ILSVRC.
    • Aktivácia Softmax sa aplikuje na výstup tretej plne pripojenej vrstvy na klasifikáciu.

Táto architektúra sa riadi poskytnutými špecifikáciami, vrátane použitia funkcie aktivácie ReLU a konečných pravdepodobností výstupu plne pripojenej vrstvy pre 1000 tried pomocou aktivácie softmax.

Konfigurácia VGG-16:

Hlavný rozdiel medzi konfiguráciami VGG-16 C a D spočíva v použití veľkostí filtrov v niektorých konvolučných vrstvách. Zatiaľ čo obe verzie používajú prevažne filtre 3×3, vo verzii D existujú prípady, keď sa namiesto toho používajú filtre 1×1. Táto mierna odchýlka má za následok rozdiel v počte parametrov, pričom verzia D má o niečo vyšší počet parametrov v porovnaní s verziou C. Obe verzie si však zachovávajú celkovú architektúru a princípy modelu VGG-16.

Iná konfigurácia VGG

Lokalizácia objektu na obrázku:

Na vykonanie lokalizácie musíme nahradiť skóre triedy súradnicami umiestnenia hraničného boxu. Umiestnenie ohraničujúceho rámčeka je reprezentované 4-D vektorom (stredové súradnice (x, y), výška, šírka). Existujú dve verzie architektúry lokalizácie, jedna je ohraničujúci rámček zdieľaný medzi rôznymi kandidátmi (výstup je 4 vektor parametra) a druhý je ohraničujúci rámček špecifický pre triedu (výstup je 4000 vektor parametra). Článok experimentoval s oboma prístupmi na architektúre VGG -16 (D). Tu tiež potrebujeme zmeniť stratu z klasifikačnej straty na funkcie regresnej straty (ako napr MSE ), ktoré penalizujú odchýlku predpokladanej straty od základnej pravdy.

Výsledky: VGG-16 bola jednou z najvýkonnejších architektúr v ILSVRC challenge 2014. V klasifikačnej úlohe skončila na druhom mieste s chybou klasifikácie top 5 7,32 % (iba za GoogLeNet s chybou klasifikácie 6,66 % ). Bol tiež víťazom lokalizačnej úlohy s 25,32 % chyba lokalizácie.

Obmedzenia VGG 16:

  • Trénuje sa veľmi pomaly (pôvodný model VGG bol trénovaný na GPU Nvidia Titan 2-3 týždne).
  • Veľkosť trénovaných váh imageNet VGG-16 je 528 MB. Zaberá teda dosť miesta na disku a šírku pásma, čo ho robí neefektívnym.
  • 138 miliónov parametrov vedie k problémom s explodujúcim gradientom.

Ďalšie vylepšenia: Resnety sú zavedené, aby sa predišlo problémom s explodujúcim gradientom, ktorý sa vyskytol vo VGG-16.