Konvoluutiokerrokset
Pyyhkäise näyttääksesi valikon
Konvoluutiokerrokset ovat konvoluutiohermoverkkojen (CNN) ydin. Ne suorittavat konvoluution, jossa pieni matriisi, nimeltään suodin (tai ydin), liikkuu kuvan yli tunnistaen reunoja, tekstuureja ja muotoja. Tämä mahdollistaa CNN-verkkojen tehokkaamman kuvankäsittelyn verrattuna perinteisiin verkkoihin.
Sen sijaan, että koko kuva analysoitaisiin kerralla, CNN-verkot jakavat sen pienempiin osiin ja tunnistavat piirteitä eri tasoilla. Alkukerrokset tunnistavat yksinkertaisia kuvioita, kuten reunoja, kun taas syvemmät kerrokset havaitsevat monimutkaisempia rakenteita.
Kuinka konvoluutio toimii
Konvoluutiossa suodin (ydin) liikkuu kuvan yli seuraavin vaihein:
- Aseta ydin kuvan vasempaan yläkulmaan;
- Suorita alkioittainen kertolasku ytimen ja pikseliarvojen välillä;
- Laske tulojen summa tuottaaksesi lähtöpikselin;
- Siirrä ydintä askelpituuden (stride) mukaisesti ja toista;
- Luo ominaisuuskartta, joka korostaa tunnistettuja kuvioita.
Useat suotimet auttavat konvoluutioverkkoja 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 kolmiulotteisen vaikutelman korostamalla syvyyttä.
Jokainen suodin opetetaan tunnistamaan tiettyjä kuvioita ja se osallistuu hierarkkisten piirre-esitysten rakentamiseen syvissä konvoluutioverkoissa.
Konvoluutiokerrokset käyttävät samaa suodinta koko kuvan alueella, mikä vähentää parametrien määrää ja tekee CNN:stä tehokkaan. Erikoistuneet paikallisesti kytketyt kerrokset käyttävät kuitenkin eri suotimia eri alueilla tarpeen mukaan.
Pinoamalla konvoluutiokerroksia CNN:t pystyvät erottamaan yksityiskohtaisia kuvioita, mikä tekee niistä tehokkaita kuvien luokittelussa, objektien tunnistuksessa ja konenäön tehtävissä.
Hyperparametrit:
- Stride: määrittää, kuinka pitkälle suodin siirtyy jokaisella askeleella;
- Padding: lisää pikseleitä ohjaamaan ulostulon kokoa ("same"-padding säilyttää koon, "valid"-padding pienentää sitä);
- Suotimien määrä (syvyys): useampi suodin parantaa piirteiden tunnistusta, mutta lisää laskentatehoa.
Example: For a 24×24 grayscale image using a 3×3 kernel with 64 filters, the output size is 22×22×64, computed as:
Where:
- W: width of the input image = 24;
- H: height of the input image = 24;
- F: size of the filter (kernel) = 3 (assuming a square 3×3 kernel);
- D: number of filters (depth of the output) = 64.
Ennen seuraavaa lukua
Vaikka konvoluutiokerrokset voivat pienentää ulostulon kokoa, niiden ensisijainen tarkoitus on piirteiden erottelu, ei ulottuvuuden pienentäminen. Pooling-kerrokset puolestaan vähentävät ulottuvuutta säilyttäen tärkeän informaation, mikä takaa tehokkuuden syvemmillä kerroksilla.
1. Mikä on konvoluutiokerroksen ensisijainen tehtävä konvoluutioneuroverkossa (CNN)?
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