Kuinka konvoluutiokerrokset toimivat syvällisesti oppivissa hermoverkoissa?

Tweet Share Share

Päivitetty viimeksi 17. huhtikuuta 2020

Konvoluutiokerrokset ovat tärkeimpiä konvoluutiohermoverkkojen rakennuspalikoita.

Konvoluutio on yksinkertainen suodattimen soveltaminen tuloon, joka johtaa aktivointiin. Saman suodattimen toistuva soveltaminen tuloon tuottaa aktivointikartan, jota kutsutaan ominaisuuskartaksi, joka osoittaa havaitun ominaisuuden sijainnit ja voimakkuuden syötteessä, kuten kuvassa.

Konvoluutio-hermosolujen innovaatio verkot on kyky oppia automaattisesti suuri joukko suodattimia rinnakkain harjoitustietojoukon kanssa tietyn ennustavan mallinnusongelman, kuten kuvaluokituksen, rajoitusten alaisena. Tulos on erittäin erityisominaisuuksia, jotka voidaan havaita missä tahansa syötekuvissa.

Tässä opetusohjelmassa huomaat, kuinka kouristukset toimivat konvoluutio-hermoverkossa.

Kun olet suorittanut tämän opetusohjelman, tiedät:

  • Konvoluutio-neuroverkot käyttävät suodatinta tuloon luodakseen ominaisuuskartan, joka tiivistää havaittujen ominaisuuksien esiintymisen syötteessä.
  • Suodattimet voidaan valmistaa käsityönä. , kuten viivanilmaisimet, mutta konvoluutio-hermoverkkojen innovaatio on oppia suodattimet harjoittelun aikana tietyn ennustusongelman yhteydessä.
  • Kuinka laskea piirikartta yksi- ja kaksiulotteisille konvoluutioille kerrokset konvoluutiohermoverkossa.

Aloita projektisi uudella kirjallani Deep Learning for Computer Vision, joka sisältää vaiheittaiset oppaat ja Python-lähdekooditiedostot kaikille esimerkeille.

Aloitetaan.

Hellävarainen Johdanto konvoluutiokerroksiin hermoverkkojen syvälle oppimiselle
Kuva mendhak, jotkut oikeudet pidätetään.

Opetusohjelman yleiskatsaus

Tämä opetusohjelma on jaettu neljään osaan; ne ovat:

  1. Konvoluutio konvoluutiohermoverkoissa
  2. Konvoluutio tietokonenäkössä
  3. Opittujen suodattimien voima
  4. Käytetty esimerkki Konvoluutiotasot

Haluatko tuloksia syvällisen oppimisen avulla tietokonenäkölle?

Ota minun ilmainen 7 päivän sähköposti-kaatumiskurssi nyt (esimerkkikoodilla).

Napsauta rekisteröityäksesi ja hanki myös ilmainen PDF-e-versio kurssista.

Lataa ILMAINEN minikoko Kurssi

Konvoluutio konvoluutiohermoverkoissa

Konvoluutiohermoverkko tai lyhyesti CNN on erikoistunut tyyppinen hermoverkkomalli, joka on suunniteltu toimimaan kaksiulotteisen kuvatiedon kanssa, vaikka niitä voidaan käyttää yksi- ja kolmiulotteisen datan kanssa.

Konvoluutiohermoverkossa keskeinen on konvoluutiokerros, joka antaa verkolle nimen. Tämä kerros suorittaa operaation, jota kutsutaan ”konvoluutioksi”.

Konvoluutio-hermoverkon yhteydessä konvoluutio on lineaarinen operaatio, johon liittyy painosarjan kertominen tulon kanssa, aivan kuten perinteinen hermoverkko. Ottaen huomioon, että tekniikka on suunniteltu kaksiulotteiselle syötteelle, kertolasku suoritetaan syötetietojoukon ja kaksiulotteisen painorakenteen välillä, jota kutsutaan suodattimeksi tai ytimeksi.

Suodatin on pienempi kuin tulodata ja syötteen suodatinkokoisen korjaustiedoston väliin käytetty kertolasku on pistetulo. Pistetuote on elementtikohtainen kertolasku tulon ja suodattimen suodatinkokoisen laastarin välillä, joka sitten summataan, jolloin saadaan aina yksi arvo. Koska se johtaa yhteen arvoon, operaatiota kutsutaan usein ”skalaariseksi tuotteeksi”.

Tuloa pienemmän suodattimen käyttö on tarkoituksellista, koska se sallii saman suodattimen (painosarjan) käyttämisen. kerrottuna tulotaulukolla useita kertoja tulon eri kohdissa. Erityisesti suodatinta käytetään järjestelmällisesti jokaiseen päällekkäiseen osaan tai suodatinkokoiseen tulodatan paikkaan vasemmalta oikealle, ylhäältä alas.

Tämä saman suodattimen systemaattinen käyttö kuvan yli on tehokas idea . Jos suodatin on suunniteltu havaitsemaan tietyn tyyppinen ominaisuus syötteessä, suodattimen systemaattinen soveltaminen koko tulokuvaan antaa suodattimelle mahdollisuuden löytää ominaisuus mistä tahansa kuvasta. Tätä kykyä kutsutaan yleisesti käännöksen muuttumattomuudeksi, esim. yleinen kiinnostus siihen, onko ominaisuus läsnä sen sijaan, missä se oli.

Paikallisen käännöksen vaihtelu voi olla erittäin hyödyllinen ominaisuus, jos välitämme enemmän onko jokin ominaisuus läsnä kuin tarkalleen missä se on.Esimerkiksi määritettäessä, sisältääkö kuva kasvot, meidän ei tarvitse tietää silmien sijaintia pikselitäydellisellä tarkkuudella, meidän on vain tiedettävä, että kasvojen vasemmalla puolella on silmä ja oikealla kasvot.

– Sivu 342, Deep Learning, 2016.

Suodattimen ja tulorivin kertomisen tulos yksi kerta on yksi arvo. Kun suodatinta käytetään useita kertoja tuloryhmään, tulos on kaksiulotteinen lähtöarvojen taulukko, joka edustaa tulon suodatusta. Tämän toiminnon kaksiulotteista lähtötaulukkoa kutsutaan ”ominaisuuskartaksi”.

Kun ominaisuuskartta on luotu, voimme siirtää kaikki ominaisuuskartan arvot epälineaarisuuden, kuten ReLU, aivan kuten me teemme täysin yhdistetyn kerroksen lähdöille.

Esimerkki suodattimesta Sovelletaan kaksiulotteiseen tuloon ominaisuuskartan luomiseksi

Jos tulet digitaalisesta signaalinkäsittelykentästä tai vastaavasta matematiikan alueesta, saatat ymmärtää matriisin konvoluutiooperaation jotain erilaista . Tarkemmin sanottuna suodatin (ydin) käännetään ennen kuin sitä syötetään tuloon. Teknisesti konvoluutio-hermoverkkojen käytössä kuvattu konvoluutio on itse asiassa ”ristikorrelaatio”. Siitä huolimatta syvällisessä oppimisessa sitä kutsutaan ”konvoluutio” -operaatioksi. >

Monet koneoppimiskirjastot toteuttavat ristikorrelaatiota, mutta kutsuvat sitä kääntymiseksi.

– Sivu 333, Deep Learning, 2016.

Yhteenvetona voidaan todeta, että meillä on tulo, kuten kuva pikseliarvoista, ja meillä on suodatin, joka on joukko painoja, ja suodatinta käytetään järjestelmällisesti syöttötietoihin ominaisuuskartan luomiseksi .

Convolution in Computer Vision

Ajatus konvoluutiooperaation soveltamisesta kuvadataan ei ole uusi tai ainutlaatuinen konvoluutiohermoverkoissa; se on yleinen tekniikka, jota käytetään tietokonenäkössä.

Historiallisesti tietokonenäön asiantuntijat suunnittelivat suodattimet käsin, jotka levitettiin sitten kuvaan, jotta saataisiin ominaisuuskartta tai tulos suodattimen käytöstä. kuvan analysointi on helpompaa jollain tavalla.

Alla on esimerkiksi käsityönä valmistettu 3 × 3 elementtisuodatin pystyviivojen havaitsemiseksi:

1
2
3

0,0, 1,0, 0,0
0,0, 1,0, 0,0
0.0, 1.0, 0.0

Tämän suodattimen käyttäminen kuva tuottaa kartan, joka sisältää vain pystysuoria viivoja. Se on pystyviivan ilmaisin.

Näet tämän suodattimen painoarvoista; kaikki pystysuorassa keskilinjassa olevat pikseliarvot aktivoidaan positiivisesti ja molemmat puolet aktivoidaan negatiivisesti. Tämän suodattimen systemaattinen vetäminen kuvan pikseliarvojen yli voi korostaa vain pystysuoria viivapikseleitä.

Voit myös luoda vaakasuoran viivan ilmaisimen ja soveltaa sitä kuvaan, esimerkiksi:

1
2
3

0,0, 0,0, 0,0
1.0, 1.0, 1.0
0.0, 0.0, 0.0

Molempien suodattimien tulosten yhdistäminen, esim molempien karttojen yhdistäminen johtaa kuvan kaikkien viivojen korostamiseen.

Kymmenien tai jopa satojen muiden pienten suodattimien sarja voidaan suunnitella tunnistamaan kuvan muut ominaisuudet.

Konvoluutiotoiminnon käyttäminen hermoverkossa on, että suodattimen arvot ovat painoja, jotka on opittava verkon koulutuksen aikana.

Verkko oppii, minkä tyyppisiä ominaisuuksia on ote syötteestä. Erityisesti stokastisen gradientin laskeutumisen aikana verkon on pakko oppia poimimaan kuvasta ominaisuuksia, jotka minimoivat menetyksen tietylle tehtävälle, jota verkko on koulutettu ratkaisemaan, esim. poimia ominaisuuksia, joista on eniten hyötyä luokitellessaan kuvia koiriksi tai kissoiksi.

Tässä yhteydessä voit nähdä, että tämä on tehokas idea.

Opittujen suodattimien voima

Yksittäisen koneoppimistehtävän suodattimen oppiminen on tehokas tekniikka.

Silti konvoluutiohermoverkot saavuttavat käytännössä paljon enemmän. .

Useita suodattimia

Konvoluutio-neuroverkot eivät opi yhtä suodatinta; he oppivat itse asiassa useita ominaisuuksia rinnakkain tietylle syötteelle.

Esimerkiksi konvoluutiokerros oppii 32-512 suodatinta samanaikaisesti annetulle tulolle.

Tämä antaa mallille 32 tai jopa 512 erilaisia tapoja poimia ominaisuuksia syötteestä tai monia erilaisia tapoja ”oppia näkemään” ja harjoittelun jälkeen monia eri tapoja ”nähdä” syötetiedot.

Tämä monimuotoisuus mahdollistaa erikoistumisen, esim ei pelkästään viivoja, vaan myös tietyt harjoitustiedoissa näkyvät linjat.

Monikanavat

Värikuvissa on useita kanavia, tyypillisesti yksi kullekin värikanavalle, kuten punainen, vihreä, ja sininen.

Tietojen näkökulmasta tämä tarkoittaa, että yksi mallin syötteenä annettu kuva on itse asiassa kolme kuvaa.

Suodattimella on aina oltava sama numero kanavien syöttö, jota usein kutsutaan ”syvyydeksi”. Jos tulokuvassa on 3 kanavaa (esim. 3 syvyys), tälle kuvalle käytetyssä suodattimessa on oltava myös 3 kanavaa (esim. 3 syvyys). Tässä tapauksessa 3 × 3 -suodatin olisi itse asiassa 3x3x3 tai riveille, sarakkeille ja syvyydelle. Tulon syvyydestä ja suodattimen syvyydestä huolimatta suodatin syötetään tuloon pistetuotetoiminnolla, joka johtaa yhteen arvoon.

Tämä tarkoittaa, että jos konvoluutiokerroksessa on 32 suodatinta, nämä 32 suodatinta eivät ole vain kaksiulotteisia kaksiulotteiselle kuvatulolle, vaan myös kolmiulotteisia, ja niillä on erityiset suodatinpainot kullekin kolmelle kanavalle. Jokainen suodatin johtaa kuitenkin yhteen karttakarttaan. Tämä tarkoittaa, että konvoluutiokerroksen 32 suodattimella soveltamisen ulostulon syvyys on 32 luotuille 32 ominaisuuskartalle.

Monikerroksiset

Konvoluutiokerroksia ei sovelleta vain syöttötietoihin , esimerkiksi raakapikseliarvot, mutta niitä voidaan soveltaa myös muiden tasojen tuloksiin.

Konvoluutiotasojen pinoaminen sallii syötteen hierarkkisen hajoamisen.

Ota huomioon, että toimivat suodattimet suoraan raakapikseliarvoista oppii purkamaan matalan tason ominaisuuksia, kuten viivoja.

Ensimmäisten rivikerrosten ulostulolla toimivat suodattimet voivat poimia ominaisuuksia, jotka ovat alemman tason ominaisuuksien yhdistelmiä, kuten ominaisuudet, jotka sisältävät useita viivoja muotojen ilmaisemiseksi.

Tämä prosessi jatkuu, kunnes hyvin syvät kerrokset poimivat kasvot, eläimet, talot ja niin edelleen.

Juuri tämän näemme käytännössä. Ominaisuuksien abstraktio korkeisiin ja korkeampiin järjestyksiin verkon syvyyden kasvaessa.

Työskentelyesimerkki konvoluutiokerroksista

Keras-syväoppimiskirjasto tarjoaa joukon konvoluutiokerroksia.

Voimme ymmärtää paremmin konvoluutiooperaation tarkastelemalla joitain toimivia esimerkkejä, joissa on keksittyjä tietoja ja käsintehtyjä suodattimia.

Tässä osassa tarkastellaan sekä yksiulotteista konvoluutiotasoa että kaksiulotteinen konvoluutiokerrosesimerkki, joka tekee konvoluutiooperaatiosta konkreettisen ja tarjoaa toimivan esimerkin Keras-kerrosten käytöstä.

Esimerkki 1D-konvoluutiokerroksesta

Voimme määritellä yhden ulottuvuussyöttö, jossa on kahdeksan elementtiä, joiden arvo on 0,0, keskellä kaksi elementtiä, joiden arvot ovat 1,0.

1

Keras-syötteen on oltava kolmiulotteinen 1D-konvoluutiokerrokselle.

Ensimmäinen ulottuvuus viittaa kuhunkin syötteeseen; tässä tapauksessa meillä on vain yksi näyte. Toinen ulottuvuus viittaa kunkin näytteen pituuteen; tässä tapauksessa pituus on kahdeksan. Kolmas ulottuvuus viittaa kanavien määrään kussakin näytteessä; tässä tapauksessa meillä on vain yksi kanava.

Siksi syötetaulukon muoto on.

1
2
3

# määritä tulo data
data = asarray ()
data = data.reshape (1, 8, 1)

Määritämme mallin, joka odottaa tulonäytteiden olevan muotoinen.

Mallissa on yksi suodatin, jossa on 3 tai kolmen elementin leveä muoto. Keras viittaa suodattimen muotoon kernel_size.

1
2
3

# create model
model = Sequential ()
model.add (Conv1D (1, 3, input_shape = (8, 1)))

Oletusarvoisesti konvoluutiokerroksen suodattimet alustetaan satunnaispainoilla. Tässä keksityssä esimerkissä määritämme manuaalisesti yhden suodattimen painot. Määritämme suodattimen, joka pystyy havaitsemaan törmäykset, eli korkean tuloarvon, jota ympäröivät matalat tuloarvot, kuten määritimme syöttöesimerkissämme.

Määrittelemämme kolmen elementin suodatin näyttää seuraavalta:

1

Konvoluutiokerroksella on myös puolueellinen syötearvo, joka vaatii myös painon, jonka asetamme nollaksi.

Siksi voimme pakottaa yksiulotteisen konvoluutiokerroksen painot käyttämään käsityönä valmistettua suodatinta seuraavasti:

Painot on määritettävä kohdassa kolmiulotteinen rakenne rivien, sarakkeiden ja kanavien suhteen. Suodattimessa on yksi rivi, kolme saraketta ja yksi kanava.

Voimme hakea painot ja varmistaa, että ne on asetettu oikein.

1
2

# vahvista, että ne on tallennettu
tulosta (malli.get_weights ())

Lopuksi voimme käyttää yhtä suodatinta syöttötietoihimme.

Voimme saavuttaa tämän kutsumalla ennustefunktiota mallissa. Tämä palauttaa kartan suoraan: se on tulos suodattimen järjestelmällisestä soveltamisesta tulosekvenssiin.

1
2
3

# käytä suodatinta syötetietoihin
yhat = model.predict (data)
print (yhat )

Yhdistämällä kaikki tämä yhteen, täydellinen esimerkki on luetellaan alla.

Esimerkin suorittaminen tulostaa ensin verkon painot; se on vahvistus siitä, että käsintehty suodatin asetettiin malliin odotetusti.

Seuraavaksi suodatin lisätään syöttökuvioon ja ominaisuuskartta lasketaan ja näytetään. Piirikartan arvoista voidaan nähdä, että kolahdus havaittiin oikein.

1
2
3
4
5
6
7
8
9
10

],
],
]], dtype = float32), taulukko (, dtype = float32)]
]]

Katsotaanpa tarkemmin mitä täällä tapahtui.

Muistathan, että tulo on kahdeksan elementtivektoria, joiden arvot ovat:.

Ensinnäkin kolmielementtisuodatinta käytettiin in laskemalla pistetulo (”.” -operaattori), mikä johti yksittäiseen lähtöarvoon ominaisuuden kartalla nolla.

1
2

numpy-tuontitiedostosta
print (asarray (). dot (asarray ()))

Manuaalisessa esimerkissämme tämä on seuraava:

1

. = 0

Suodatin siirrettiin sitten syötesekvenssi ja prosessi toistettiin; tarkemmin sanottuna, samaa suodatinta käytettiin tulosekvenssiin indekseissä 1, 2 ja 3, mikä johti myös nollalähtöön karttakartalla.

1

. = 0

Olemme järjestelmällisiä, joten jälleen kerran suodatinta siirretään vielä yhtä tulon elementtiä pitkin ja syötetään tuloon indekseissä 2, 3 ja 4. Tällä kertaa lähtö on yhden arvo ominaisuuskartalla. Havaitsimme ominaisuuden ja aktivoimme sen asianmukaisesti.

1

. = 1

Prosessi toistetaan, kunnes laskemme koko karttakartta.

1

Huomaa, että kartalla on kuusi elementtiä, kun taas syötteessämme on kahdeksan elementtiä. Tämä on artefakti siitä, miten suodatinta käytettiin tulosekvenssiin. On muitakin tapoja käyttää suodatinta tulosekvenssiin, joka muuttaa tuloksena olevan karttakuvan muotoa, kuten pehmuste, mutta emme keskustele näistä menetelmistä tässä viestissä.

Voit kuvitella, että eri tavoin Tulot, voimme havaita ominaisuuden enemmän tai vähemmän voimakkaasti ja suodattimella eri painoilla, että havaitsemme erilaiset piirteet tulosekvenssissä.

Esimerkki 2D-konvoluutiokerroksesta

Voimme laajentaa edellisen osion kolhunhavaitsemisesimerkin pystysuoran viivan ilmaisimeksi kaksiulotteisessa kuvassa.

Jälleen , voimme rajoittaa tuloa, tässä tapauksessa neliön muotoiseksi 8 × 8 pikselin tulokuvaksi, jossa on yksi kanava (esim. harmaasävy) ja keskellä yksi pystysuora viiva.

1
2
3
4
5
6
7
8

Conv2D-kerroksen syötteen on oltava nelidimensioinen.

Ensimmäinen ulottuvuus määrittää näytteet; tässä tapauksessa on vain yksi näyte. Toinen ulottuvuus määrittelee rivien lukumäärän; tässä tapauksessa kahdeksan. Kolmas ulottuvuus määrittelee sarakkeiden lukumäärän, tässä tapauksessa taas kahdeksan, ja lopuksi kanavien lukumäärän, joka on yksi tässä tapauksessa.

Siksi syötteellä on oltava neliulotteinen muoto tai tässä tapauksessa tapaus.

Määritämme Conv2D: n yhdellä suodattimella, kuten teimme edellisessä osiossa Conv1D-esimerkin kanssa.

Suodatin on kaksiulotteinen ja neliön muotoinen muoto 3 × 3. Taso odottaa tulonäytteiden muodon tai.

1
2
3

# create model
model = Sequential ()
model.add (Conv2D (1, (3,3), input_shape = (8, 8, 1)))

Määritämme pystysuoran viivanilmaisimen suodatin yksittäisen pystysuoran viivan havaitsemiseksi syötetiedoistamme.

Suodatin näyttää seuraavalta:

1
2
3

0, 1, 0
0, 1, 0
0, 1, 0

Voimme toteuttaa tämän seuraavasti:

Lopuksi käytä suodatinta tulokuvaan, jolloin saadaan karttakartta, jonka odotamme osoittavan pystysuoran viivan havaitsemisen tulokuvassa.

1
2
# käytä suodatinta syötetietoihin
yhat = model.predict (data)

Piirikartan ulostulon muoto on neliulotteinen muodon kanssa. Suoritamme yhden erän ja meillä on yksi suodatin (yksi suodatin ja yksi tulokanava), joten lähtömuoto on. Voimme tulostaa yhden kartan sisällön kauniisti seuraavasti:

1
2
3

alueelle r (yhat.shape):
# tulosta rivin sarakkeet
tulosta (alueen c ( yhat.muoto)])

Yhdistä tämä kaikki yhteen , täydellinen esimerkki on lueteltu alla.

Esimerkin suorittaminen vahvistaa ensin, että käsityönä valmistettu suodatin on määritelty oikein kerroksen painoissa.

Seuraavaksi tulostetaan laskettu ominaisuuskartta. Lukuasteikosta voidaan nähdä, että suodatin on havainnut yhden pystysuoran viivan voimakkaalla aktivoitumisella kartan keskellä.

Katsotaanpa tarkemmin laskettua.

Ensinnäkin suodatin lisättiin kuvan vasempaan yläkulmaan tai 3 × 3 -elementtiseen kuvakorjaukseen. Teknisesti kuvakorjaus on kolmiulotteinen yhdellä kanavalla, ja suodattimella on samat mitat. Emme voi toteuttaa tätä NumPyssä käyttämällä piste () -toimintoa, vaan meidän on käytettävä tensordot () -funktiota, jotta voimme summata asianmukaisesti kaikki ulottuvuudet, esimerkiksi:

Tämä laskelma johtaa yhteen lähtöarvoon esim. ominaisuutta ei havaittu. Tämä antaa meille ensimmäisen elementin kartan vasemmassa yläkulmassa.

Tämä olisi manuaalisesti seuraava:

1
2
3

0, 1, 0 0, 0, 0
0, 1, 0. 0, 0, 0 = 0
0, 1, 0 0, 0, 0

Suodatin siirretään yhtä saraketta pitkin vasemmalle ja prosessi toistetaan. Jälleen ominaisuutta ei tunnistettu.

1
2
3

0, 1, 0 0, 0, 1
0, 1, 0. 0, 0, 1 = 0
0, 1, 0 0, 0, 1

Vielä yksi siirto vasemmalle seuraavaan sarakkeeseen ja ominaisuus havaitaan ensimmäisen kerran, mikä aktivoi voimakkaasti.

1
2
3

0, 1, 0 0, 1, 1
0, 1, 0. 0, 1, 1 = 3
0, 1, 0 0, 1, 1

Tätä prosessia toistetaan, kunnes suodattimen reuna on tulokuvan reunaa tai viimeistä saraketta vasten. Tämä antaa ominaisuuden kartan ensimmäisen täyden rivin viimeisen elementin.

1

Suodatin siirtyy sitten yhden rivin alaspäin ja takaisin ensimmäiseen sarakkeeseen ja prosessi liittyy vasemmalta oikealle, jotta saadaan karttakartan toinen rivi. Ja kunnes suodattimen alaosa on tulokuvan ala- tai viimeisellä rivillä.

Jälleen, kuten edellisessä osassa, voimme nähdä, että karttakuva on 6 × 6-matriisi, pienempi kuin 8 × 8 -kuvakuva, koska suodattimen soveltaminen syötekuvaan on rajoitettu.

Lisälukemista

Tämä osio tarjoaa enemmän resursseja aiheesta, jos olet haluavat mennä syvemmälle.

Viestit

  • Kaatumiskurssi konvoluutiohermoverkoissa koneoppimiseen

kirjat

  • Luku 9: Convolutional Networks, Deep Learning, 2016.
  • Luku 5: Deep Learning for Computer Vision, Deep Learning with Python, 2017.

API

  • Keras Convolutional Layers -sovellusliittymä
  • numpy.asarray-sovellusliittymä

Yhteenveto

Tässä opetusohjelmassa löysit kuinka konvoluutiot toimivat konvoluutio-hermoverkossa.

Erityisesti opit:

  • Konvoluutio-hermoverkot käyttävät suodatinta tuloon luoda ominaisuuskartta, joka tiivistää havaittujen ominaisuuksien esiintymisen syötteessä.
  • Suodattimia voidaan valmistaa käsityönä, kuten linjanilmaisimia, mutta konvoluutio-hermoverkkojen innovaatio on oppia suodattimet harjoituksen aikana tietyn ennustusongelman yhteydessä.
  • Kuinka lasketaan piirustuskartta yhden ja kahden ulottuvuuden konvoluutiokerroksille konvoluutiohermoverkossa.

Onko sinulla kysyttävää?
Esitä kysymyksesi alla olevissa kommenteissa ja teen paras vastata.

Kehitä syvällisiä oppimismalleja Vision Todaylle!

Kehitä omat näkemismallisi muutamassa minuutissa

… vain muutamalla rivillä python-koodia

Katso miten uudessa e-kirjassa:
Deep Learning for Computer Vision

Se tarjoaa itsenäisiä opetusohjelmia aiheista, kuten:
luokittelu, esineentunnistus (yolo ja rcnn), kasvojentunnistus (vggface ja facenet) , tietojen valmistelu ja paljon muuta …

Tuo lopuksi syvällinen oppiminen visio-projekteihisi

Ohita tutkijat. Vain tulokset.

Katso mitä sisällä

Tweet Share Share

Leave a Reply

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *