Konvoluutiokerrokset
Pyyhkäise näyttääksesi valikon
Konvoluutiokerrosten ymmärtäminen
Konvoluutiokerrokset ovat konvoluutioneuroverkkojen (CNN) ydin. Ne suorittavat konvoluution, jossa pieni matriisi nimeltä suodin (tai ydin) liukuu kuvan yli tunnistaen reunoja, tekstuureja ja muotoja. Tämä mahdollistaa CNN-verkkojen tehokkaamman kuvankäsittelyn verrattuna perinteisiin neuroverkkoihin.
Sen sijaan, että koko kuva analysoitaisiin kerralla, CNN:t jakavat sen pienempiin osiin ja tunnistavat piirteitä eri tasoilla. Alkukerrokset tunnistavat yksinkertaisia kuvioita kuten reunoja, kun taas syvemmät kerrokset havaitsevat monimutkaisempia rakenteita.
Miten konvoluutio toimii
Konvoluutiossa suodin (ydin) liikkuu kuvan yli seuraavasti:
- Aseta ydin kuvan vasempaan yläkulmaan.
- Suorita alkioittainen kertolasku ytimen ja pikseliarvojen välillä.
- Laske tulot yhteen tuottaaksesi lähtöpikselin.
- Siirrä ydintä askelpituuden mukaan ja toista.
- Luo piirteiden kartta, joka korostaa tunnistettuja kuvioita.
Useat suotimet auttavat CNN-verkkoja tunnistamaan erilaisia piirteitä, kuten pystysuoria reunoja, kaaria ja tekstuureja.
Suotimet (ytimet):
Suotimilla on keskeinen rooli merkityksellisten kuvioiden tunnistamisessa kuvista. Eri tyyppiset suotimet erikoistuvat tunnistamaan erilaisia piirteitä:
-
Reunantunnistussuotimet: tunnistavat objektien rajat havaitsemalla äkilliset intensiteetin muutokset (esim. Sobel-, Prewitt- ja Laplace-suodattimet);
-
Tekstuurisuotimet: tunnistavat toistuvia kuvioita, kuten aaltoja tai ruudukoita (esim. Gabor-suodattimet);
-
Terävöityssuotimet: korostavat kuvan yksityiskohtia vahvistamalla korkeataajuisia komponentteja;
-
Sumennussuotimet: vähentävät kohinaa ja pehmentävät kuvia (esim. Gaussinen sumennussuodatin);
-
Kohokuviointisuotimet: korostavat reunoja ja lisäävät 3D-efektiä korostamalla syvyyttä.
Jokainen suodin opetetaan tunnistamaan tiettyjä kuvioita ja se osallistuu hierarkkisten piirre-esitysten rakentamiseen syvissä CNN-malleissa.
Konvoluutiokerrokset käyttävät samaa suodinta koko kuvan alueella, mikä vähentää parametrien määrää ja tekee CNN-malleista tehokkaita. Erikoistuneet paikallisesti yhdistetyt kerrokset käyttävät kuitenkin eri suotimia eri alueilla tarpeen mukaan.
Konvoluutiokerroksia pinoamalla CNN:t pystyvät havaitsemaan yksityiskohtaisia kuvioita, mikä tekee niistä tehokkaita kuvien luokittelussa, objektien tunnistuksessa ja konenäön tehtävissä.
Hyperparametrit:
- Stride: määrittää, kuinka pitkälle suodin siirtyy kerrallaan;
- Padding: lisää pikseleitä tuloksen koon hallitsemiseksi ("same padding" säilyttää koon, "valid padding" pienentää sitä);
- Suotimien määrä (syvyys): useammat suotimet parantavat piirteiden tunnistusta, mutta lisäävät laskentatehoa.
Esimerkki: 24×24 harmaasävykuvalle, jossa käytetään 3×3 ydintä ja 64 filters, ulostulon koko on 22×22×64, laskettuna seuraavasti:
Missä:
- W: syötekuvan leveys = 24;
- H: syötekuvan korkeus = 24;
- F: suotimen (ytimen) koko = 3 (oletetaan neliömäinen 3×3 ydin);
- D: suotimien määrä (ulostulon syvyys) = 64.
Ennen seuraavaa lukua
Vaikka konvoluutiokerrokset voivat pienentää ulostulon kokoa, niiden ensisijainen tarkoitus on piirteiden tunnistus, ei ulottuvuuden pienentäminen. Pooling-kerrokset puolestaan vähentävät ulottuvuuksia säilyttäen tärkeän informaation, mikä tehostaa syvempien kerrosten toimintaa.
1. Mikä on konvoluutiokerroksen ensisijainen tehtävä CNN:ssä?
2. Mikä hyperparametri määrittää, kuinka pitkälle suodatin siirtyy konvoluution aikana?
3. Mikä on useiden suodattimien käyttämisen tarkoitus konvoluutiokerroksessa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme