Konvoliucinio neuroninio tinklo (CNN) architektūra yra gilaus mokymosi modelis, skirtas apdoroti struktūrizuotus į tinklelį panašius duomenis, pvz., vaizdus. Jį sudaro keli sluoksniai, įskaitant konvoliucinius, telkimo ir visiškai sujungtus sluoksnius. CNN yra labai veiksmingi atliekant tokias užduotis kaip vaizdų klasifikavimas, objektų aptikimas ir vaizdo segmentavimas dėl savo hierarchinių funkcijų išgavimo galimybių.
VGG-16
VGG-16 modelis yra konvoliucinio neuroninio tinklo (CNN) architektūra, kurią pasiūlė Oksfordo universiteto Visual Geometry Group (VGG). Jis pasižymi savo gyliu, susidedančiu iš 16 sluoksnių, įskaitant 13 konvoliucinių sluoksnių ir 3 visiškai sujungtus sluoksnius. VGG-16 yra žinomas dėl savo paprastumo ir efektyvumo, taip pat dėl savo gebėjimo pasiekti didelį našumą atliekant įvairias kompiuterinio matymo užduotis, įskaitant vaizdų klasifikavimą ir objektų atpažinimą. Modelio architektūroje yra daugybė konvoliucinių sluoksnių, po kurių seka maksimaliai sujungiami sluoksniai, kurių gylis palaipsniui didėja. Šis dizainas leidžia modeliui išmokti sudėtingų hierarchinių vizualinių ypatybių atvaizdų, o tai leidžia daryti patikimas ir tikslias prognozes. Nepaisant savo paprastumo, palyginti su naujesnėmis architektūromis, VGG-16 išlieka populiarus pasirinkimas daugeliui gilaus mokymosi programų dėl savo universalumo ir puikaus veikimo.
„ImageNet Large Scale Visual Recognition Challenge“ (ILSVRC) yra kasmetinis kompiuterinio matymo konkursas, kuriame komandos sprendžia užduotis, įskaitant objektų lokalizaciją ir vaizdų klasifikavimą. VGG16, kurį 2014 m. pasiūlė Karen Simonyan ir Andrew Zisserman, užėmė aukščiausias vietas abiejose užduotyse, aptikdamas objektus iš 200 klasių ir suskirstydamas vaizdus į 1000 kategorijų.
arraylist ir linkedlist

VGG-16 architektūra
Šis modelis pasiekia 92,7% top-5 patikrinkite „ImageNet“ duomenų rinkinio, kuriame yra, tikslumą 14 milijonai vaizdų, priklausančių 1000 klasių.
VGG-16 modelio tikslas:
„ImageNet“ duomenų rinkinyje yra fiksuoto dydžio vaizdų 224*224 ir turi RGB kanalus. Taigi, mes turime tensorę (224, 224, 3) kaip mūsų indėlis. Šis modelis apdoroja įvesties vaizdą ir išveda vektorių 1000 vertės:
Šis vektorius parodo atitinkamos klasės klasifikavimo tikimybę. Tarkime, kad turime modelį, kuris numato, kad vaizdas su tikimybe priklauso 0 klasei 1 , 1 klasė su tikimybe 0,05 , 2 klasė su tikimybe 0,05 , klasė 3 su tikimybe 0,03 , 780 klasė su tikimybe 0,72 , klasė 999 su tikimybe 0,05 ir visos kitos klasės su 0 .
taigi, klasifikavimo vektorius bus toks:
kai buvo išrastas pirmasis kompiuteris
Norėdami įsitikinti, kad šios tikimybės padidėja 1 , naudojame softmax funkciją.
Ši softmax funkcija apibrėžiama taip:
Po to į vektorių įtraukiame 5 labiausiai tikėtinus kandidatus.
ir mūsų pagrindinės tiesos vektorius apibrėžiamas taip:
Tada apibrėžiame savo klaidų funkciją taip:
dvejetainis medis vs dvejetainis paieškos medis
Jis apskaičiuoja mažiausią atstumą tarp kiekvienos žemės tiesos klasės ir numatomų kandidatų, kur atstumo funkcija d apibrėžiama taip:
- d=0, jei
c_i=G_k - d = 1 kitaip
Taigi, šio pavyzdžio praradimo funkcija yra:
Kadangi visos pagrindinės tiesos kategorijos yra prognozuojamoje top-5 matricoje, tai nuostolis tampa 0.
VGG Architektūra:
VGG-16 architektūra yra gilus konvoliucinis neuroninis tinklas (CNN), skirtas vaizdų klasifikavimo užduotims atlikti. Jį pristatė Oksfordo universiteto vizualinės geometrijos grupė. VGG-16 pasižymi paprastumu ir vienoda architektūra, todėl ją lengva suprasti ir įgyvendinti.
knn
VGG-16 konfigūraciją paprastai sudaro 16 sluoksnių, įskaitant 13 konvoliucinių sluoksnių ir 3 visiškai sujungtus sluoksnius. Šie sluoksniai yra suskirstyti į blokus, kurių kiekviename bloke yra keli konvoliuciniai sluoksniai, po kurių seka maksimalus sujungimo sluoksnis, skirtas sumažinti mėginius.

VGG-16 architektūra Žemėlapis
Štai VGG-16 architektūros suskirstymas pagal pateiktą informaciją:
- Įvesties sluoksnis:
- Įvesties matmenys: (224, 224, 3)
- Konvoliuciniai sluoksniai (64 filtrai, 3 × 3 filtrai, tas pats užpildas):
- Du iš eilės konvoliuciniai sluoksniai su 64 filtrais ir 3 × 3 filtro dydžiu.
- Erdviniams matmenims išlaikyti taikomas tas pats kamšalas.
- Maksimalus sujungimo sluoksnis (2 × 2, 2 žingsnis):
- Maksimalus baseino sluoksnis, kurio baseino dydis yra 2 × 2, o žingsnis - 2.
- Konvoliuciniai sluoksniai (128 filtrai, 3 × 3 filtrai, tas pats užpildas):
- Du iš eilės konvoliuciniai sluoksniai su 128 filtrais ir 3 × 3 filtro dydžiu.
- Maksimalus sujungimo sluoksnis (2 × 2, 2 žingsnis):
- Maksimalus baseino sluoksnis, kurio baseino dydis yra 2 × 2, o žingsnis - 2.
- Konvoliuciniai sluoksniai (256 filtrai, 3 × 3 filtrai, tas pats užpildas):
- Du iš eilės konvoliuciniai sluoksniai su 256 filtrais ir 3 × 3 filtro dydžiu.
- Konvoliuciniai sluoksniai (512 filtrų, 3 × 3 filtrai, tas pats užpildas):
- Du trijų iš eilės konvoliucinių sluoksnių rinkiniai su 512 filtrų kiekviename ir filtro dydis 3 × 3.
- Maksimalus sujungimo sluoksnis (2 × 2, 2 žingsnis):
- Maksimalus baseino sluoksnis, kurio baseino dydis yra 2 × 2, o žingsnis - 2.
- Konvoliucinių sluoksnių krūva ir maksimalus kaupimas:
- Du papildomi konvoliuciniai sluoksniai po ankstesnio krūvos.
- Filtro dydis: 3×3.
- Išlyginimas:
- Išvesties funkcijų žemėlapį (7x7x512) išlyginkite į 25088 dydžio vektorių.
- Visiškai sujungti sluoksniai:
- Trys visiškai sujungti sluoksniai su ReLU aktyvavimu.
- Pirmasis sluoksnis su įvesties dydžiu 25088 ir išvesties dydžiu 4096.
- Antrasis sluoksnis su įvesties dydžiu 4096 ir išvesties dydžiu 4096.
- Trečiasis sluoksnis, kurio įvesties dydis yra 4096 ir išvesties dydis 1000, atitinkantis 1000 ILSVRC iššūkio klasių.
- Softmax aktyvinimas taikomas trečiojo visiškai prijungto sluoksnio išėjimui klasifikavimui.
Ši architektūra atitinka pateiktas specifikacijas, įskaitant ReLU aktyvinimo funkcijos naudojimą ir galutines visiškai prijungto sluoksnio išvesties tikimybes 1000 klasių naudojant softmax aktyvavimą.
VGG-16 konfigūracija:
Pagrindinis skirtumas tarp VGG-16 konfigūracijų C ir D yra filtrų dydžių naudojimas kai kuriuose konvoliuciniuose sluoksniuose. Nors abiejose versijose daugiausia naudojami 3 × 3 filtrai, D versijoje yra atvejų, kai vietoj jų naudojami 1 × 1 filtrai. Dėl šio nedidelio skirtumo skiriasi parametrų skaičius, o D versija turi šiek tiek didesnį parametrų skaičių, palyginti su C versija. Tačiau abi versijos išlaiko bendrą VGG-16 modelio architektūrą ir principus.

Skirtinga VGG konfigūracija
Objekto lokalizavimas paveikslėlyje:
Norėdami atlikti lokalizaciją, turime pakeisti klasės balą apribojant langelio vietos koordinates. Apribojimo langelio vieta pavaizduota 4-D vektoriumi (centro koordinatės (x, y), aukštis, plotis). Yra dvi lokalizacijos architektūros versijos, viena yra apribojanti langelis, dalijamasi tarp skirtingų kandidatų (išvestis yra 4 parametrų vektorius), o kitas yra ribojantis langelis, priklausantis nuo klasės (išvestis yra 4000 parametrų vektorius). Straipsnyje buvo eksperimentuojama su abiem VGG -16 (D) architektūros metodais. Čia taip pat turime pakeisti praradimą iš klasifikavimo praradimo į regresijos praradimo funkcijas (pvz., MSE ), kurie baudžia už numatomo nuostolio nukrypimą nuo pagrindinės tiesos.
Rezultatai: VGG-16 buvo viena geriausiai veikiančių architektūrų 2014 m. ILSVRC iššūkyje. Ji užėmė antrąją vietą klasifikavimo užduotyje su 5 geriausių klasifikavimo klaida 7,32 % (tik už GoogLeNet su klasifikavimo klaida 6,66 % ). Jis taip pat buvo lokalizavimo užduoties nugalėtojas 25,32 % lokalizacijos klaida.
VGG 16 apribojimai:
- Treniruojamas labai lėtai (originalus VGG modelis buvo treniruojamas Nvidia Titan GPU 2-3 savaites).
- VGG-16 apmokytų imageNet svorių dydis yra 528 MB. Taigi, tai užima gana daug vietos diske ir pralaidumo, todėl tai neveiksminga.
- 138 milijonai parametrų sukelia sprogstamųjų gradientų problemą.
Tolesnė pažanga: Siekiant užkirsti kelią sprogstančių gradientų problemai, kuri įvyko VGG-16, įvesta „Resnet“.