logo

VGG-16 | Model CNN

Arhitektura konvolucijske nevronske mreže (CNN) je model globokega učenja, zasnovan za obdelavo strukturiranih mrežnih podatkov, kot so slike. Sestavljen je iz več plasti, vključno s konvolucijskimi, združevalnimi in popolnoma povezanimi plastmi. CNN so zelo učinkoviti za naloge, kot so klasifikacija slik, zaznavanje objektov in segmentacija slik, zaradi svojih zmožnosti ekstrakcije hierarhičnih funkcij.

VGG-16

Model VGG-16 je arhitektura konvolucijske nevronske mreže (CNN), ki jo je predlagala Skupina za vizualno geometrijo (VGG) na Univerzi v Oxfordu. Zanj je značilna globina, sestavljena iz 16 plasti, vključno s 13 konvolucijskimi plastmi in 3 popolnoma povezanimi plastmi. VGG-16 slovi po svoji preprostosti in učinkovitosti ter zmožnosti doseganja močne učinkovitosti pri različnih nalogah računalniškega vida, vključno s klasifikacijo slik in prepoznavanjem predmetov. Arhitektura modela vključuje nabor konvolucijskih plasti, ki jim sledijo plasti z največjim združevanjem, s progresivno naraščajočo globino. Ta zasnova omogoča modelu, da se nauči zapletenih hierarhičnih predstavitev vizualnih značilnosti, kar vodi do robustnih in natančnih napovedi. Kljub svoji preprostosti v primerjavi z novejšimi arhitekturami, VGG-16 ostaja priljubljena izbira za številne aplikacije za globoko učenje zaradi svoje vsestranskosti in odlične zmogljivosti.



ImageNet Large Scale Visual Recognition Challenge (ILSVRC) je letno tekmovanje v računalniškem vidu, kjer se ekipe lotevajo nalog, vključno z lokalizacijo objektov in klasifikacijo slik. VGG16, ki sta ga leta 2014 predlagala Karen Simonyan in Andrew Zisserman, je dosegel vrhunske uvrstitve v obeh nalogah, saj je zaznal predmete iz 200 razredov in razvrstil slike v 1000 kategorij.


fibonaccijeva koda java

Arhitektura VGG-16



Ta model dosega 92,7 % prvih 5 preizkusite natančnost nabora podatkov ImageNet, ki vsebuje 14 milijonov slik, ki pripadajo 1000 razredom.

Cilj modela VGG-16:

Nabor podatkov ImageNet vsebuje slike fiksne velikosti 224*224 in imajo kanale RGB. Torej, imamo tenzor od (224, 224, 3) kot naš vložek. Ta model obdela vhodno sliko in izpiše vektor a 1000 vrednote:

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



Ta vektor predstavlja verjetnost razvrstitve za ustrezni razred. Recimo, da imamo model, ki napoveduje, da slika z verjetnostjo pripada razredu 0 1 , razred 1 z verjetnostjo 0,05 , razred 2 z verjetnostjo 0,05 , razred 3 z verjetnostjo 0,03 , razred 780 z verjetnostjo 0,72 , razred 999 z verjetnostjo 0,05 in vsi ostali razredi z 0 .

torej bo klasifikacijski vektor za to:

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}

Za zagotovitev, da se te verjetnosti prištejejo k 1 , uporabljamo funkcijo softmax.

Ta funkcija softmax je definirana na naslednji način:

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

blokiraj youtube oglase android

Nato v vektor vzamemo 5 najverjetnejših kandidatov.

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

in naš temeljni vektor resnice je definiran kot sledi:

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

Nato našo funkcijo Error definiramo takole:

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

primerjava nizov java

Izračuna najmanjšo razdaljo med vsakim razredom resnice na tleh in predvidenimi kandidati, kjer je funkcija razdalje d definirana kot:

  • d=0 čec_i=G_k
  • d=1 drugače

Torej je funkcija izgube za ta primer:

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}

Ker so vse kategorije v osnovni resnici v predvideni matriki top-5, tako izguba postane 0.

VGG Arhitektura:

Arhitektura VGG-16 je globoka konvolucijska nevronska mreža (CNN), zasnovana za naloge klasifikacije slik. Predstavila ga je Visual Geometry Group na Univerzi v Oxfordu. Za VGG-16 je značilna preprostost in enotna arhitektura, zaradi česar je enostaven za razumevanje in implementacijo.

if in else v bash

Konfiguracija VGG-16 je običajno sestavljena iz 16 plasti, vključno s 13 konvolucijskimi plastmi in 3 popolnoma povezanimi plastmi. Ti sloji so organizirani v bloke, pri čemer vsak blok vsebuje več konvolucijskih slojev, ki jim sledi plast za največje združevanje za znižanje vzorčenja.

Zemljevid arhitekture VGG-16

Tukaj je razčlenitev arhitekture VGG-16 na podlagi navedenih podrobnosti:

  1. Vhodna plast:
    1. Vhodne mere: (224, 224, 3)
  2. Konvolucijski sloji (64 filtrov, 3×3 filtri, enako oblazinjenje):
    • Dva zaporedna konvolucijska sloja s po 64 filtri in velikostjo filtra 3×3.
    • Enako oblazinjenje se uporablja za ohranjanje prostorskih dimenzij.
  3. Najvišji sloj združevanja (2×2, korak 2):
    • Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
  4. Konvolucijski sloji (128 filtrov, 3×3 filtri, enako oblazinjenje):
    • Dva zaporedna konvolucijska sloja s po 128 filtri in velikostjo filtra 3×3.
  5. Najvišji sloj združevanja (2×2, korak 2):
    • Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
  6. Konvolucijski sloji (256 filtrov, 3×3 filtri, enako oblazinjenje):
    • Dva zaporedna konvolucijska sloja s po 256 filtri in velikostjo filtra 3×3.
  7. Konvolucijski sloji (512 filtrov, 3×3 filtri, enako oblazinjenje):
    • Dva niza treh zaporednih konvolucijskih plasti s po 512 filtri in velikostjo filtra 3×3.
  8. Najvišji sloj združevanja (2×2, korak 2):
    • Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
  9. Sklad konvolucijskih plasti in največje združevanje:
    • Dve dodatni spiralni plasti za prejšnjim skladom.
    • Velikost filtra: 3×3.
  10. Sploščitev:
    • Sploščite izhodni zemljevid funkcij (7x7x512) v vektor velikosti 25088.
  11. Popolnoma povezani sloji:
    • Trije popolnoma povezani sloji z aktivacijo ReLU.
    • Prva plast z vhodno velikostjo 25088 in izhodno velikostjo 4096.
    • Druga plast z vhodno velikostjo 4096 in izhodno velikostjo 4096.
    • Tretja plast z vhodno velikostjo 4096 in izhodno velikostjo 1000, kar ustreza 1000 razredom v izzivu ILSVRC.
    • Aktivacija Softmax se uporabi za izhod tretje popolnoma povezane plasti za klasifikacijo.

Ta arhitektura sledi podanim specifikacijam, vključno z uporabo aktivacijske funkcije ReLU in verjetnosti izpisa končne popolnoma povezane plasti za 1000 razredov z uporabo aktivacije softmax.

Konfiguracija VGG-16:

Glavna razlika med konfiguracijama VGG-16 C in D je v uporabi velikosti filtrov v nekaterih konvolucijskih slojih. Medtem ko obe različici pretežno uporabljata filtre 3 × 3, so v različici D primeri, kjer so namesto njih uporabljeni filtri 1 × 1. Ta majhna sprememba ima za posledico razliko v številu parametrov, pri čemer ima različica D nekoliko večje število parametrov v primerjavi z različico C. Vendar pa obe različici ohranjata celotno arhitekturo in načela modela VGG-16.

Drugačna konfiguracija VGG

Lokalizacija predmeta na sliki:

Za izvedbo lokalizacije moramo rezultat razreda zamenjati s koordinatami lokacije omejevalnega okvirja. Lokacija omejevalnega polja je predstavljena s 4-D vektorjem (koordinate središča (x, y), višina, širina). Obstajata dve različici lokalizacijske arhitekture, ena je omejevalni okvir, ki je v skupni rabi med različnimi kandidati (izhod je 4 vektor parametrov), drugi pa je omejevalni okvir, specifičen za razred (izhod je 4000 vektor parametrov). Prispevek je eksperimentiral z obema pristopoma na arhitekturi VGG -16 (D). Tukaj moramo tudi spremeniti izgubo iz klasifikacijske izgube v regresijske funkcije izgube (kot npr MSE ), ki kaznujejo odstopanje predvidene izgube od zemeljske resnice.

Rezultati: VGG-16 je bila ena najuspešnejših arhitektur v izzivu ILSVRC 2014. Bila je drugouvrščena v nalogi razvrščanja z napako pri razvrščanju med petimi največjimi 7,32 % (samo za GoogLeNet z napako pri klasifikaciji 6,66 % ). Bil je tudi zmagovalec naloge lokalizacije z 25,32 % lokalizacijska napaka.

Omejitve VGG 16:

  • Je zelo počasen za treniranje (originalni model VGG je bil treniran na Nvidia Titan GPU 2-3 tedne).
  • Velikost uteži imageNet, usposobljenih za VGG-16, je 528 MB. Torej potrebuje precej prostora na disku in pasovne širine, zaradi česar je neučinkovit.
  • 138 milijonov parametrov povzroča težave z eksplozivnimi gradienti.

Nadaljnji napredek: uvedeni so resneti, ki preprečujejo težave z eksplozivnimi gradienti, ki so se pojavile v VGG-16.