Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Konvoluutiokerrokset | Konvoluutioneuroverkot
Tietokonenäön Perusteet Pythonilla

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:

  1. Aseta ydin kuvan vasempaan yläkulmaan.
  2. Suorita alkioittainen kertolasku ytimen ja pikseliarvojen välillä.
  3. Laske tulot yhteen tuottaaksesi lähtöpikselin.
  4. Siirrä ydintä askelpituuden mukaan ja toista.
  5. Luo piirteiden kartta, joka korostaa tunnistettuja kuvioita.
Konvoluutio-GIF

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ä.

Ytimien vertailu

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.
Note
Huomio

Esimerkki: 24×24 harmaasävykuvalle, jossa käytetään 3×3 ydintä ja 64 filters, ulostulon koko on 22×22×64, laskettuna seuraavasti:

(WF+1)×(HF+1)×D==(243+1)×(243+1)×64==22×22×64,(W - F + 1) \times (H - F + 1) \times D =\\= (24 - 3 + 1) \times (24 - 3 + 1) \times 64 =\\= 22\times22\times64,

Missä:

  • WW: syötekuvan leveys = 24;
  • HH: syötekuvan korkeus = 24;
  • FF: suotimen (ytimen) koko = 3 (oletetaan neliömäinen 3×3 ydin);
  • DD: 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?

question mark

Mikä on konvoluutiokerroksen ensisijainen tehtävä CNN:ssä?

Valitse oikea vastaus

question mark

Mikä hyperparametri määrittää, kuinka pitkälle suodatin siirtyy konvoluution aikana?

Valitse oikea vastaus

question mark

Mikä on useiden suodattimien käyttämisen tarkoitus konvoluutiokerroksessa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 2
some-alt