Kartoitin erästä kirjallisuutta , joka liittyi täysin konvoluutioverkkoihin ja törmäsin seuraavaan lauseeseen ,

Täysin konvoluutioverkko saavutetaan korvaamalla parametririkkaat täysin yhdistetyt kerrokset tavallisissa CNN-arkkitehtuureissa konvoluutiokerroksilla $ 1 \ kertaa 1 $ -ydin.

Minulla on kaksi kysymystä.

  1. Mitä tarkoitetaan parametririkkaalla ? Sitä kutsutaan parametririkkaaksi, koska täysin kytketyt kerrokset välittävät parametrit ilman minkäänlaista ”spatiaalista” vähennystä?

  2. Kuinka myös $ 1 \ kertaa 1 $ ytimet toimivat? Eikö ”t $ 1 \ kertaa 1 $ -ydin tarkoita vain sitä, että yksi liukuu yhden pikselin kuvan yli? Olen hämmentynyt tästä.

Vastaa

Täysin konvoluutioverkot

A täysin konvoluutioverkko (FCN) on hermoverkko, joka suorittaa vain konvoluutiooperaatioita (ja alinäytteistystä tai näytteenottoa). Vastaavasti FCN on CNN, jossa ei ole täysin yhdistettyjä kerroksia.

Konvoluution hermoverkot

Tyypillinen konvoluution hermoverkko (CNN) ei ole täysin konvoluutiomainen, koska se sisältää usein myös täysin kytkettyjä kerroksia (jotka eivät suorita konvoluutiooperaatiota), jotka ovat parametririkkaita siinä mielessä, että niillä on monia parametreja (verrattuna vastaavaan konvoluutioon) kerrokset), vaikka täysin yhdistetyt kerrokset voidaan myös nähdä käänteinä ker nels, jotka kattavat koko syöttöalueen , mikä on CNN: n muuntamisen FCN: ksi pääidea. Katso Andrew Ngin tämä video , jossa kerrotaan, miten täysin yhdistetty taso voidaan muuntaa konvoluutiokerrokseksi.

Esimerkki FCN: stä

Esimerkki täysin konvoluutioverkosta on U-net (kutsutaan tällä tavalla U-muodonsa vuoksi, joka näkyy alla olevasta kuvasta), joka on kuuluisa verkko, jota käytetään -semanttiseen segmentointi , ts. luokitellaan kuvan pikselit siten, että samaan luokkaan (esim. henkilö) kuuluvat pikselit liitetään samaan tarraan (eli henkilö), eli pikselikohtaisesti ( tai tiheä) luokitus.

kirjoita kuvan kuvaus tähän

Semanttinen segmentointi

Joten, semanttisessa segmentoinnissa haluat liittää tunnisteen tulokuvan jokaiseen pikseliin (tai pieneen pikselilaikkaan). Tässä on vihjaavampi kuva hermoverkosta, joka suorittaa semanttisen segmentoinnin.

kirjoita kuvan kuvaus tähän

Ilmentymien segmentointi

Siellä on myös ilmentymien segmentointi , jossa haluat myös erottaa saman luokan eri esiintymät (esim. haluat erottaa kaksi henkilöä samassa kuvassa merkitsemällä heidät eri tavalla). Esimerkki hermoverkosta, jota käytetään esimerkiksi segmentointiin, on peite R-CNN . Rachel Draeloksen blogikirjoitus Segmentointi: U-Net, Mask R-CNN ja lääketieteelliset sovellukset (2020) kuvaa näitä kahta ongelmaa ja verkostoja hyvin.

Tässä on esimerkki kuvasta, jossa saman luokan esiintymät (eli henkilö) on merkitty eri tavoin (oranssi ja sininen).

kirjoita kuvan kuvaus tähän

Sekä semanttiset että ilmentymien segmentit ovat tiheitä luokitustehtäviä (tarkemmin sanottuna ne kuuluvat kuvasegmentin luokkaan), eli haluat luokitella kuvan kukin pikseli tai useita pieniä pikseleitä.

$ 1 \ kertaa 1 $ kääntymät

Yllä olevasta U-net-kaaviosta näet, että vain konvoluutiot, kopiointi ja rajaus, max- poolointi- ja otantatoiminnot. Ei ole täysin yhdistettyjä tasoja.

Joten miten liitämme tunnisteen kuhunkin pikseliin (tai pieneen p ixels) syötteen? Kuinka suoritetaan kunkin pikselin (tai korjaustiedoston) luokittelu ilman viimeistä täysin yhdistettyä tasoa?

Siellä $ 1 \ kertaa 1 $ konvoluutio ja otantatoiminnot ovat hyödyllisiä!

Yllä olevan U-net-kaavion tapauksessa (erityisesti kaavion oikeassa yläkulmassa oleva osa, joka on selvyyden vuoksi esitetty alla) kaksi $ 1 \ kertaa 1 \ kertaa 64 $ ytimet käytetään syötetilavuuteen (ei kuviin!) tuottaa kaksi karttaa, joiden koko on 388 dollaria \ kertaa 388 dollaria . He käyttivät kahta $ 1 \ kertaa 1 $ ydintä, koska heidän kokeissaan oli kaksi luokkaa (solu ja ei-solu). Mainittu blogiviesti antaa sinulle myös intuition tämän takana, joten sinun kannattaa lukea se.

kirjoita kuvan kuvaus tähän

Jos olet yrittänyt analysoida U-net-kaaviota huolellisesti, huomaat, että tulos kuvaa on erilaiset spatiaaliset (korkeus ja paino) mitat kuin syötekuvat, joiden mitat ovat $ 572 \ kertaa 572 \ kertaa 1 $ .

Tämä on hieno, koska yleinen tavoitteemme on suorittaa tiheä luokitus (eli luokitella kuvan korjaustiedostot, joissa korjaustiedostot voivat sisältää vain yhden pikselin ), vaikka sanoin, että olisimme suorittaneet pikselikohtaisen luokittelun, joten ehkä odotit, että lähdöillä on samat tarkat tulojen spatiaaliset mitat. Huomaa kuitenkin, että käytännössä sinulla voisi olla myös lähtökarttoja sama avaruusulottuvuus kuin syötteet: et vain muokattu suorittamaan erilainen ylinäytteistys (dekonvoluutio).

Kuinka $ 1 \ kertaa 1 $ -konvoluutiot toimivat?

A $ 1 \ kertaa 1 $ -konvoluutio on vain tyypillinen 2d-konvoluutio, mutta ytimellä $ 1 \ times1 $ .

Kuten luultavasti jo tiedät (ja jos et tiennyt tätä, nyt tiedät sen), jos sinulla on $ g \ kertaa g $ ydin, jota käytetään syötteeseen, jonka koko on $ h \ kertaa w \ kertaa d $ , missä $ d $ on syötetyn äänenvoimakkuuden syvyys (joka esimerkiksi on harmaasävykuvien kohdalla $ 1 $ ), ytimen muoto on itse asiassa $ g \ kertaa g \ kertaa d $ , ts. ytimen kolmas ulottuvuus on sama kuin syötteen kolmas ulottuvuus, johon sitä käytetään. Näin on aina, paitsi kolmiulotteiset kääntymät, mutta puhumme nyt tyypillisistä 2d-käänteistä! Katso lisätietoja tästä vastauksesta .

Joten siinä tapauksessa, että haluamme käyttää $ 1 \ kertaa 1 $ kääntyy muotoon $ 388 \ kertaa 388 \ kertaa 64 $ , missä 64 dollaria $ on syötteen syvyys, sitten todellisilla $ 1 \ kertaa 1 $ ytimillä, joita meidän on käytettävä, on muoto $ 1 \ kertaa 1 \ kertaa 64 $ (kuten edellä sanoin U-netille). Tavan, jolla pienennät syötteen syvyyttä $ 1 \ kertaa 1 $ , määrää $ 1 \ kertaa 1 $ ytimiä, joita haluat käyttää. Tämä on täsmälleen sama asia kuin minkä tahansa 2d-konvoluutiooperaation kanssa eri ytimillä (esim. $ 3 \ kertaa 3 $ ).

Jos kyseessä on U-net, tulon tilamitat pienenevät samalla tavalla kuin minkä tahansa CNN: n syötteen tilamitat pienenevät (ts. 2d-konvoluutio, jota seuraa alinäytteenottotoiminnot). Tärkein ero U-verkon ja muiden CNN-verkkojen välillä (lukuun ottamatta täysin kytkettyjen kerrosten käyttämistä) on se, että U-verkko suorittaa näytteenottotoimintoja, joten sitä voidaan tarkastella kooderina (vasen osa), jota seuraa dekooderi (oikea osa) .

Kommentit

  • Kiitos yksityiskohtaisesta vastauksestasi, arvostan sitä todella!

Vastaa

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