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:
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:
Aby ste sa uistili, že sa tieto pravdepodobnosti zvyšujú 1 , používame funkciu softmax.
Táto funkcia softmax je definovaná takto:
b+ strom
Potom vezmeme do vektora 5 najpravdepodobnejších kandidátov.
a náš vektor základnej pravdy je definovaný takto:
Potom definujeme našu funkciu Error takto:
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 ak
c_i=G_k - d = 1 inak
Stratová funkcia pre tento príklad je teda:
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í:
- Vstupná vrstva:
- Vstupné rozmery: (224, 224, 3)
- 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.
- Maximálna združovacia vrstva (2×2, krok 2):
- Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
- 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.
- Maximálna združovacia vrstva (2×2, krok 2):
- Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
- 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.
- 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.
- Maximálna združovacia vrstva (2×2, krok 2):
- Max-pooling vrstva s veľkosťou bazéna 2×2 a krokom 2.
- 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.
- Sploštenie:
- Vyrovnajte výstupnú mapu prvkov (7x7x512) do vektora s veľkosťou 25088.
- 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.