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:
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:
Za zagotovitev, da se te verjetnosti prištejejo k 1 , uporabljamo funkcijo softmax.
Ta funkcija softmax je definirana na naslednji način:
blokiraj youtube oglase android
Nato v vektor vzamemo 5 najverjetnejših kandidatov.
in naš temeljni vektor resnice je definiran kot sledi:
Nato našo funkcijo Error definiramo takole:
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 če
c_i=G_k - d=1 drugače
Torej je funkcija izgube za ta primer:
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:
- Vhodna plast:
- Vhodne mere: (224, 224, 3)
- 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.
- Najvišji sloj združevanja (2×2, korak 2):
- Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
- Konvolucijski sloji (128 filtrov, 3×3 filtri, enako oblazinjenje):
- Dva zaporedna konvolucijska sloja s po 128 filtri in velikostjo filtra 3×3.
- Najvišji sloj združevanja (2×2, korak 2):
- Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
- Konvolucijski sloji (256 filtrov, 3×3 filtri, enako oblazinjenje):
- Dva zaporedna konvolucijska sloja s po 256 filtri in velikostjo filtra 3×3.
- Konvolucijski sloji (512 filtrov, 3×3 filtri, enako oblazinjenje):
- Dva niza treh zaporednih konvolucijskih plasti s po 512 filtri in velikostjo filtra 3×3.
- Najvišji sloj združevanja (2×2, korak 2):
- Plast za maksimalno združevanje z velikostjo bazena 2×2 in korakom 2.
- Sklad konvolucijskih plasti in največje združevanje:
- Dve dodatni spiralni plasti za prejšnjim skladom.
- Velikost filtra: 3×3.
- Sploščitev:
- Sploščite izhodni zemljevid funkcij (7x7x512) v vektor velikosti 25088.
- 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.