logo

VGG-16 | CNN modelis

Konvolucionālā neironu tīkla (CNN) arhitektūra ir dziļas mācīšanās modelis, kas paredzēts strukturētu režģim līdzīgu datu, piemēram, attēlu, apstrādei. Tas sastāv no vairākiem slāņiem, tostarp konvolucionāliem, apvienotiem un pilnībā savienotiem slāņiem. CNN ir ļoti efektīvas tādiem uzdevumiem kā attēlu klasifikācija, objektu noteikšana un attēlu segmentēšana, pateicoties to hierarhiskām funkciju iegūšanas iespējām.

VGG-16

VGG-16 modelis ir konvolucionālā neironu tīkla (CNN) arhitektūra, ko ierosināja Oksfordas Universitātes Visual Geometry Group (VGG). To raksturo dziļums, kas sastāv no 16 slāņiem, tostarp 13 konvolucionāliem slāņiem un 3 pilnībā savienotiem slāņiem. VGG-16 ir slavens ar savu vienkāršību un efektivitāti, kā arī spēju sasniegt spēcīgu veiktspēju dažādos datora redzes uzdevumos, tostarp attēlu klasifikācijā un objektu atpazīšanā. Modeļa arhitektūrā ir virkne konvolucionālu slāņu, kam seko maksimāli apvienoti slāņi, pakāpeniski palielinot dziļumu. Šis dizains ļauj modelim apgūt sarežģītus vizuālo iezīmju hierarhiskus attēlojumus, kas nodrošina stabilas un precīzas prognozes. Neskatoties uz vienkāršību salīdzinājumā ar jaunākajām arhitektūrām, VGG-16 joprojām ir populāra izvēle daudzām dziļas apmācības lietojumprogrammām, pateicoties tās daudzpusībai un lieliskajai veiktspējai.



ImageNet liela mēroga vizuālās atpazīšanas izaicinājums (ILSVRC) ir ikgadējs datorredzes konkurss, kurā komandas risina uzdevumus, tostarp objektu lokalizāciju un attēlu klasifikāciju. VGG16, ko 2014. gadā ierosināja Kārens Simonjans un Endrjū Zisermans, abos uzdevumos ieguva visaugstākās vietas, atklājot objektus no 200 klasēm un klasificējot attēlus 1000 kategorijās.


intellij ideja vs aptumsums

VGG-16 arhitektūra



Šis modelis sasniedz 92,7% top-5 pārbaudiet precizitāti ImageNet datu kopā, kas satur 14 miljoniem attēlu, kas pieder 1000 klasēm.

VGG-16 modeļa mērķis:

ImageNet datu kopā ir fiksēta izmēra attēli 224*224 un tiem ir RGB kanāli. Tātad, mums ir tenzors (224, 224, 3) kā mūsu ieguldījumu. Šis modelis apstrādā ievades attēlu un izvada vektoru 1000 vērtības:

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



Šis vektors attēlo atbilstošās klases klasifikācijas varbūtību. Pieņemsim, ka mums ir modelis, kas paredz, ka attēls ar varbūtību pieder 0 klasei 1 , 1. klase ar varbūtību 0,05 , 2. klase ar varbūtību 0,05 , klase 3 ar varbūtību 0,03 , 780. klase ar varbūtību 0,72 , klase 999 ar varbūtību 0,05 un visas citas klases ar 0 .

tātad, klasifikācijas vektors šim būs:

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}

Lai pārliecinātos, ka šīs varbūtības palielinās 1 , mēs izmantojam softmax funkciju.

Šī softmax funkcija ir definēta šādi:

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

Pēc tam vektorā ņemam 5 visticamākos kandidātus.

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

int pārvēršana par virkni java

un mūsu pamata patiesības vektors ir definēts šādi:

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

Pēc tam mēs definējam mūsu kļūdu funkciju šādi:

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

Excel noņemt pirmo rakstzīmi

Tas aprēķina minimālo attālumu starp katru zemes patiesības klasi un prognozētajiem kandidātiem, kur attāluma funkcija d ir definēta kā:

  • d=0 jac_i=G_k
  • d=1 pretējā gadījumā

Tātad šī piemēra zaudēšanas funkcija ir:

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}

Tā kā visas pamatpatiesības kategorijas atrodas prognozētajā top-5 matricā, tāpēc zaudējums kļūst par 0.

VGG Arhitektūra:

VGG-16 arhitektūra ir dziļais konvolucionālais neironu tīkls (CNN), kas paredzēts attēlu klasifikācijas uzdevumiem. To ieviesa Oksfordas Universitātes Vizuālās ģeometrijas grupa. VGG-16 raksturo tā vienkāršība un vienveidīga arhitektūra, kas padara to viegli saprotamu un ieviešanu.

turbo c++ lejupielāde

VGG-16 konfigurācija parasti sastāv no 16 slāņiem, tostarp 13 konvolucionāliem slāņiem un 3 pilnībā savienotiem slāņiem. Šie slāņi ir sakārtoti blokos, un katrā blokā ir vairāki konvolucionālie slāņi, kam seko maksimālais apvienošanas slānis lejupielādei.

VGG-16 arhitektūras karte

Tālāk ir sniegts VGG-16 arhitektūras sadalījums, pamatojoties uz sniegto informāciju:

  1. Ievades slānis:
    1. Ievades izmēri: (224, 224, 3)
  2. Konvolucionālie slāņi (64 filtri, 3 × 3 filtri, viens un tas pats polsterējums):
    • Divi secīgi konvolucionālie slāņi ar 64 filtriem katrā un filtra izmēru 3 × 3.
    • Tas pats polsterējums tiek izmantots, lai saglabātu telpiskos izmērus.
  3. Maksimālais apvienošanas slānis (2 × 2, 2. solis):
    • Maksimālais baseina slānis ar baseina izmēru 2 × 2 un soli 2.
  4. Konvolūcijas slāņi (128 filtri, 3 × 3 filtri, viens un tas pats polsterējums):
    • Divi secīgi konvolucionālie slāņi ar 128 filtriem katrā un filtra izmēru 3 × 3.
  5. Maksimālais apvienošanas slānis (2 × 2, 2. solis):
    • Maksimālais baseina slānis ar baseina izmēru 2 × 2 un soli 2.
  6. Konvolucionālie slāņi (256 filtri, 3 × 3 filtri, viens un tas pats polsterējums):
    • Divi secīgi konvolucionālie slāņi ar 256 filtriem katrā un filtra izmēru 3 × 3.
  7. Konvolucionālie slāņi (512 filtri, 3 × 3 filtri, viens un tas pats polsterējums):
    • Divi trīs secīgu konvolucionālu slāņu komplekti ar 512 filtriem katrā un filtra izmēru 3 × 3.
  8. Maksimālais apvienošanas slānis (2 × 2, 2. solis):
    • Maksimālais baseina slānis ar baseina izmēru 2 × 2 un soli 2.
  9. Konvolucionālo slāņu kaudze un maksimālais apvienojums:
    • Divi papildu konvolucionālie slāņi pēc iepriekšējās kaudzes.
    • Filtra izmērs: 3×3.
  10. Izlīdzināšana:
    • Izlīdziniet izvades objektu karti (7x7x512) 25088. izmēra vektorā.
  11. Pilnībā savienoti slāņi:
    • Trīs pilnībā savienoti slāņi ar ReLU aktivizāciju.
    • Pirmais slānis ar ievades izmēru 25088 un izvades izmēru 4096.
    • Otrais slānis ar ievades izmēru 4096 un izvades izmēru 4096.
    • Trešais slānis ar ievades izmēru 4096 un izvades izmēru 1000, kas atbilst 1000 klasēm ILSVRC izaicinājumā.
    • Softmax aktivizēšana tiek piemērota trešā pilnībā savienotā slāņa izejai klasifikācijai.

Šī arhitektūra atbilst sniegtajām specifikācijām, ieskaitot ReLU aktivizācijas funkcijas izmantošanu un galīgo pilnībā savienotā slāņa izvades varbūtību 1000 klasēm, izmantojot softmax aktivizēšanu.

VGG-16 konfigurācija:

Galvenā atšķirība starp VGG-16 konfigurācijām C un D ir filtru izmēru izmantošanā dažos konvolucionālajos slāņos. Lai gan abās versijās galvenokārt tiek izmantoti 3 × 3 filtri, versijā D ir ​​gadījumi, kad to vietā tiek izmantoti 1 × 1 filtri. Šīs nelielās variācijas rada atšķirības parametru skaitā, un versijai D ir nedaudz lielāks parametru skaits salīdzinājumā ar versiju C. Tomēr abas versijas saglabā VGG-16 modeļa vispārējo arhitektūru un principus.

Dažāda VGG konfigurācija

Objekta lokalizācija attēlā:

Lai veiktu lokalizāciju, mums ir jāaizstāj klases rezultāts, ierobežojot lodziņa atrašanās vietas koordinātas. Ierobežojošās rūtiņas atrašanās vieta ir attēlota ar 4-D vektoru (centra koordinātas (x, y), augstums, platums). Ir divas lokalizācijas arhitektūras versijas, viena ir ierobežojošais lodziņš, kas tiek koplietots starp dažādiem kandidātiem (izvade ir 4 parametru vektors), bet otrs ir ierobežojošais lodziņš, kas ir specifisks klasei (izvade ir 4000 parametru vektors). Rakstā tika eksperimentēts ar abām pieejām VGG -16 (D) arhitektūrā. Šeit mums arī jāmaina zaudējumi no klasifikācijas zuduma uz regresijas zuduma funkcijām (piemēram, MSE ), kas soda par prognozētā zaudējuma novirzi no pamata patiesības.

Rezultāti: VGG-16 bija viena no labākajām arhitektūrām 2014. gada ILSVRC izaicinājumā. Tā ierindojās otrajā vietā klasifikācijas uzdevumā ar klasifikācijas kļūdu labāko 5 vietā. 7,32% (tikai aiz GoogLeNet ar klasifikācijas kļūdu 6,66% ). Tas bija arī uzvarētājs lokalizācijas uzdevumā ar 25,32% lokalizācijas kļūda.

VGG 16 ierobežojumi:

  • Tas ir ļoti lēns trenēties (sākotnējais VGG modelis tika apmācīts Nvidia Titan GPU 2-3 nedēļas).
  • VGG-16 apmācīto imageNet svaru izmērs ir 528 MB. Tātad tas aizņem diezgan daudz diska vietas un joslas platuma, kas padara to neefektīvu.
  • 138 miljoni parametru rada sprādzienbīstamu gradientu problēmu.

Papildu sasniegumi: Resnets ir ieviesti, lai novērstu sprādzienbīstamu gradientu problēmu, kas radās VGG-16.