Konvolutsiooniline närvivõrk

Konvolutsiooniline närvivõrk (CNN) on mitmekihiline tehisnärvivõrkude klass, mis võib koosneda eri tüüpi kihtidest. Konvolutsioonilised närvivõrgud leiavad peamiselt rakendust pildi- ja videotuvastuses (sh näotuvastus), piltide klassifitseerimises, meditsiinis ja loomuliku keele töötluses.
Ajalugu.
Konvolutsioonilised võrgud on inspireeritud bioloogilistest protsessidest, täpsemini nendes võrkudes sisalduvate tehisneuronite vaheliste ühenduste mustrid meenutavad loomade nägemiskeskuse (visuaalse ajukoore) organisatsioonilist struktuuri, mille avastasid 1950. ja 1960. aastatel Nobeli auhinna laureaatidest neuroteadlased David Hubel ja Torsten Wiesel.
Nimetatud neuroteadlaste tööst inspireerituna tutvustas Kunihiko Fukushima 1980. aastal esimest konvolutsioonidel põhinevat neurovõrku, mille ta nimetas "neocognitron"'iks.
Konvolutsioonilised võrgud jõudsid laiema tähelepanu alla 2012. aastal, kui Krizhevsky juhitud uurimisrühm võitis ImageNet esemete äratundmise võistluse.
Arhitektuur.
Konvolutsioonilised närvivõrgud koosnevad sisendkihist, ühest või rohkemast konvolutsioonikihist, millele järgneb, sarnaselt tavalisele mitmekihilisele tehisnärvivõrgule, üks või mitu omavahel täielikult ühendatud peidetud kihti, ning väljundkihist. CNN-s kasutatakse tüüpiliselt aktivatsioonifunktsioonina mittenegatiivset lineaarfunktsiooni (ReLU) ning normalisatsiooni- ja ahenduskihte. Viimane konvolutsioonikiht sisaldab tavaliselt tagasilevi, et anda lõpptulemusele täpsemad kaalud.
Tüüpiline konvolutsioonilise võrgu kiht koosneb kolmest etapist. Esimeses etapis vaatluse all olevas kihis rakendatakse paralleelselt mitmeid konvolutsioone, mille tulemuseks on lineaarsete aktivatsioonide hulk. Teises etapis igale lineaarsele aktivatsioonile rakendatakse mittenegatiivne lineaarfunktsioon (ingl "rectified linear unit"). Kolmandas etapis rakendatakse eelmiste etappide tulemusele ahendus (ingl "pooling").
Järgnevalt kirjeldatakse konvolutsioonivõrgu arhitektuuri tähtsamaid osi.
Konvolutsioonikiht.
Mõiste konvolutsiooniline närvivõrk tuleneb sellest, et seda tüüpi võrkudes kasutatakse matemaatilist operatsiooni, mida kutsutakse konvolutsiooniks ehk konvolutsioonteisenduseks, ning vähemalt ühes peidetud kihis kasutatakse tavapärase maatriksite korrutamise asemel konvolutsioonteisendust. Kuigi neid kihte nimetatakse konvolutsioonilisteks, siis matemaatilises mõistes on tehniliselt tegemist ristkorrelatsiooniga.
Konvolutsioonivõrgu kontekstis nimetatakse konvolutsioonteisenduse esimest argumenti sisendiks ja teist argumenti konvolutsiooni suuruseks. Väljundit nimetatakse enamasti tunnuste kaardiks.[6]
Mittenegatiivse lineaarfunktsiooni (ReLU) kiht.
Mittenegatiivseks lineaarfunktsiooniks nimetatakse funktsiooni
formula_1.
Selle funktsiooni rakendamine sisendile eemaldab negatiivsed väärtused aktivatsioonikaardilt, andes neile väärtuseks 0, ning efektiivselt tõstab otsustusfunktsiooni ja ülejäänud närvivõrgu mittelineaarseid omadusi.
Ahendus.
Ahenduse idee seisneb selles, et suvalise tunnuse täpne asukoht pole sama tähtis kui selle ligikaudne asukoht relatiivselt teiste seda ümbritsevate tunnustega. Ahenduse tulemusel asendatakse võrgu väljund mingis neuronis kokkuvõttega selle neuroni naabrite väljunditest. Levinumaid ahenduse funktsioone on maksimaalne ahendus (ingl "max pooling").
Rakendused.
Konvolutsiooniliste närvivõrkude rakenduste hulka kuuluvad: