|
|
||
|---|---|---|
| .. | ||
| lab | ||
| CNN_Architectures.md | ||
| ConvNetsPyTorch.ipynb | ||
| ConvNetsTF.ipynb | ||
| README.md | ||
README.md
Konvoluutionaaliset Neuroverkot
Olemme aiemmin nÀhneet, ettÀ neuroverkot ovat varsin hyviÀ kÀsittelemÀÀn kuvia, ja jopa yksikerroksinen perceptron pystyy tunnistamaan kÀsinkirjoitettuja numeroita MNIST-datasta kohtuullisella tarkkuudella. MNIST-datasetti on kuitenkin hyvin erityinen, sillÀ kaikki numerot on keskitetty kuvan sisÀlle, mikÀ tekee tehtÀvÀstÀ yksinkertaisemman.
Esiluentavisa
Todellisessa elÀmÀssÀ haluamme pystyÀ tunnistamaan esineitÀ kuvasta niiden tarkasta sijainnista riippumatta. TietokonenÀkö eroaa yleisestÀ luokittelusta, koska kun yritÀmme löytÀÀ tiettyÀ esinettÀ kuvasta, skannaamme kuvaa etsiessÀmme tiettyjÀ kuvioita ja niiden yhdistelmiÀ. Esimerkiksi, kun etsimme kissaa, voimme ensin etsiÀ vaakasuoria viivoja, jotka voivat muodostaa viikset, ja sitten tietty viiksien yhdistelmÀ voi kertoa meille, ettÀ kyseessÀ on kuva kissasta. Tiettyjen kuvioiden suhteellinen sijainti ja lÀsnÀolo ovat tÀrkeitÀ, eivÀt niiden tarkka sijainti kuvassa.
Kuvioiden tunnistamiseen kÀytÀmme konvoluutiokernoja. Kuten tiedÀt, kuva esitetÀÀn 2D-matriisina tai 3D-tensorina vÀrisyvyyden kanssa. Suodattimen soveltaminen tarkoittaa, ettÀ otamme suhteellisen pienen suodatinytimen matriisin, ja laskemme alkuperÀisen kuvan jokaiselle pikselille painotetun keskiarvon naapuripisteiden kanssa. Voimme ajatella tÀmÀn olevan kuin pieni ikkuna, joka liukuu koko kuvan yli ja tasoittaa kaikki pikselit suodatinytimen matriisin painojen mukaan.
![]() |
![]() |
|---|
Kuva: Dmitry Soshnikov
Esimerkiksi, jos sovellamme 3x3 pystysuuntaista ja vaakasuuntaista reunasuodatinta MNIST-numeroihin, voimme korostaa (esim. saada korkeita arvoja) kohtia, joissa alkuperÀisessÀ kuvassa on pystysuuntaisia ja vaakasuuntaisia reunoja. NÀin ollen nÀitÀ kahta suodatinta voidaan kÀyttÀÀ "etsimÀÀn" reunoja. Samalla tavalla voimme suunnitella erilaisia suodattimia etsimÀÀn muita matalan tason kuvioita:
Vaikka voimme suunnitella suodattimia manuaalisesti tiettyjen kuvioiden tunnistamiseen, voimme myös suunnitella verkon siten, ettÀ se oppii kuviot automaattisesti. TÀmÀ on yksi CNN:n keskeisistÀ ideoista.
CNN:n pÀÀideat
CNN:ien toiminta perustuu seuraaviin tÀrkeisiin ideoihin:
- Konvoluutiokernot voivat tunnistaa kuvioita
- Voimme suunnitella verkon siten, ettÀ suodattimet koulutetaan automaattisesti
- Voimme kÀyttÀÀ samaa lÀhestymistapaa löytÀÀksemme kuvioita korkeamman tason ominaisuuksista, ei vain alkuperÀisestÀ kuvasta. NÀin CNN:n ominaisuuksien tunnistus toimii hierarkiana, alkaen matalan tason pikseliyhdistelmistÀ ja pÀÀtyen korkeamman tason kuvien osien yhdistelmiin.
Kuva Hislop-Lynchin artikkelista, perustuen heidÀn tutkimukseensa
âïž Harjoitukset: Konvoluutionaaliset Neuroverkot
Jatketaan tutkimista, miten konvoluutionaaliset neuroverkot toimivat ja miten voimme saavuttaa koulutettavat suodattimet, työstÀmÀllÀ vastaavia muistikirjoja:
Pyramidirakenne
Useimmat kuvankÀsittelyyn kÀytettÀvÀt CNN:t noudattavat niin kutsuttua pyramidirakennetta. EnsimmÀinen alkuperÀisiin kuviin sovellettu konvoluutiokerros sisÀltÀÀ tyypillisesti suhteellisen vÀhÀn suodattimia (8-16), jotka vastaavat erilaisia pikseliyhdistelmiÀ, kuten vaakasuoria/pystysuoria viivoja tai vetoja. Seuraavalla tasolla pienennÀmme verkon spatiaalista ulottuvuutta ja lisÀÀmme suodattimien mÀÀrÀÀ, mikÀ vastaa yksinkertaisten ominaisuuksien monimutkaisempia yhdistelmiÀ. Jokaisella kerroksella, kun siirrymme kohti lopullista luokittelijaa, kuvan spatiaalinen ulottuvuus pienenee ja suodattimien mÀÀrÀ kasvaa.
Esimerkiksi tarkastellaan VGG-16-arkkitehtuuria, verkkoa, joka saavutti 92,7 % tarkkuuden ImageNetin top-5-luokittelussa vuonna 2014:
Kuva Researchgatesta
Tunnetuimmat CNN-arkkitehtuurit
Jatka opiskelua tunnetuimmista CNN-arkkitehtuureista
Vastuuvapauslauseke:
TÀmÀ asiakirja on kÀÀnnetty kÀyttÀmÀllÀ tekoÀlypohjaista kÀÀnnöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, ettÀ automaattiset kÀÀnnökset voivat sisÀltÀÀ virheitÀ tai epÀtarkkuuksia. AlkuperÀistÀ asiakirjaa sen alkuperÀisellÀ kielellÀ tulisi pitÀÀ ensisijaisena lÀhteenÀ. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskÀÀnnöstÀ. Emme ole vastuussa vÀÀrinkÀsityksistÀ tai virhetulkinnoista, jotka johtuvat tÀmÀn kÀÀnnöksen kÀytöstÀ.




