Intro bakgrunn

Innenfor et konvolusjonalt nevralt nettverk har vi vanligvis en generell struktur / flyt som ser slik ut:

  1. inngangsbilde (dvs. en 2D-vektor x)

(1. konvolusjonslag (Conv1) starter her …)

  1. samle et sett med filtre (w1) langs 2D-bildet (dvs. gjør z1 = w1*x + b1 produktproduktmultiplikasjoner), der z1 er 3D, og b1 er skjevheter.
  2. bruk en aktiveringsfunksjon (f.eks. ReLu) for å gjøre z1 ikke-lineær (f.eks. a1 = ReLu(z1)), der a1 er 3D.

(2. konvolusjonslag (Conv2) starter her …)

  1. involverer et sett med filtre langs de nylig beregnede aktiveringene (dvs. gjør z2 = w2*a1 + b2 multiplikasjoner for punktprodukt), der z2 3D, og og b2 er skjevheter.
  2. bruk en aktiveringsfunksjon (f.eks. ReLu) for å gjøre z2 ikke-lineær (f.eks. a2 = ReLu(z2)), der a2 er 3D .

Spørsmålet

Definisjonen av begrepet " funksjonskart " ser ut til å variere fra litteratur til litteratur. Konkret:

  • For det første konvolusjonslaget tilsvarer " kart " inngangsvektoren x, eller utdatapunktproduktet z1, eller utgangsaktiveringene a1, eller " prosess " konverterer x til a1, eller noe annet?
  • Tilsvarende, for det 2. konvolusjonslaget, tilsvarer " kart " inngangsaktiveringene a1, eller utdatapunktproduktet z2, eller utgangsaktivering a2 , eller " prosessen " konverterer a1 til a2, eller noe annet?

I tillegg er det sant at begrepet " feat ure kart " er nøyaktig det samme som " aktiveringskart "? (eller betyr de egentlig to forskjellige ting?)

Ytterligere referanser:

Utdrag fra Nevrale nettverk og dyp læring – kapittel 6 :

* Nomenklaturen brukes løst her. Spesielt bruker jeg " funksjonskart " for ikke å bety funksjonen beregnet av konvolusjonslaget, men heller aktivering av skjulte nevroner som kommer fra laget. Denne typen mild misbruk av nomenklatur er ganske vanlig i forskningslitteraturen.


Utdrag fra Visualisering og forståelse av konvolusjonsnettverk av Matt Zeiler :

I denne artikkelen introduserer vi en visualiseringsteknikk som avslører inngangsstimuli som begeistrer individuelle funksjonskart på ethvert lag i modellen. […] Vår tilnærming gir derimot et ikke-parametrisk syn på uforanderlighet, som viser hvilke mønstre fra treningssettet som aktiverer funksjonskartet. [. ..] en lokal kontrastoperasjon som normaliserer responsene på tvers av funksjonskart. […] For å undersøke en gitt konvnetaktivering, setter vi alle andre aktiveringer i laget til null og sender funksjonskartet s som inngang til det vedlagte deconvnet-laget. […] Convnet bruker relu-ikke-lineariteter, som korrigerer funksjonskartene og dermed sikrer at funksjonskartene alltid er positive. […] Convnet bruker lærte filtre for å samle funksjonskartene fra forrige lag. […] Fig. 6, disse visualiseringene er nøyaktige representasjoner av inngangsmønsteret som stimulerer det gitte funksjonskartet i modellen […] når delene av det originale inngangsbildet som tilsvarer mønsteret er okkludert, ser vi en tydelig fall i aktivitet innenfor funksjonskartet. […]

Merknader: introduserer også begrepet " funksjonskart " og " rettet funksjonskart " i figur 1.


Utdrag fra Stanford CS231n kapittel på CNN :

[…] En farlig fallgruve som lett kan legges merke til med denne visualiseringen er at noen aktiveringskart kan være null for mange forskjellige innganger, noe som kan indikere døde filtre, og kan være et symptom på høye læringsgrader […] Typisk utseende aktiveringer på det første CONV-laget (til venstre) og det 5. CONV-laget (til høyre) av en trent AlexNet som ser på et bilde av en katt. Hver rute viser et aktiveringskart som tilsvarer noe filter. Legg merke til at aktiveringene er sparsomme (de fleste verdiene er null, i denne visualiseringen vist i svart) og for det meste lokale.


Utdrag fra En-nybegynner-s-Guide-To-Understanding-Convolutional-Neural-Networks

[…] Hvert unike sted på inngangsvolumet gir et tall. Etter å ha skyvet filteret over alle stedene, vil du finne ut at det du sitter igjen med er et 28 x 28 x 1 utvalg av tall, som vi kaller et aktiveringskart eller funksjonskart.

Svar

Et funksjonskart, eller aktiveringskart, er utgangsaktiveringene for et gitt filter (a1 i ditt tilfelle) og definisjonen er den samme uansett hvilket lag du er på.

Funksjonskart og aktiveringskart betyr nøyaktig det samme. Det er kalt et aktiveringskart fordi det er en kartlegging som tilsvarer aktivering av forskjellige deler av bildet, og også et funksjonskart fordi det også er en kartlegging av hvor en bestemt type funksjon finnes i bildet. En høy aktivering betyr at en bestemt funksjon ble funnet.

Et «rettet funksjonskart» er bare et funksjonskart som ble opprettet ved hjelp av Relu. Du kan muligens se begrepet «funksjonskart» brukt for resultatet av punktproduktene (z1) fordi dette også er et kart over hvor visse funksjoner er i bildet, men det er ikke vanlig å se.

Kommentarer

  • Takk for innspillet. Svaret ditt stemmer overens med min forståelse (dvs. aktiveringskart er a1, a2 osv.). I Conv2 antar jeg at jeg vil kalle a1 inngangsaktiveringskartet, og a2 utgangsaktiveringskartet. I Conv1, x inngangsbildet, og a1 utgangsaktiveringskartet.

Svar

skriv inn bildebeskrivelse her

I CNN-terminologi kalles 3 × 3-matrisen et «filter» eller «kjerne» eller «funksjonsdetektor» og matrisen som dannes ved å skyve filteret over bildet og beregne punktproduktet kalles Convolved Feature eller Activation Map eller Feature Map. Det er viktig å merke seg at filtre fungerer som funksjonsdetektorer fra det opprinnelige inngangsbildet.

kilde: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

Svar

før du snakker om hva funksjonskart betyr, la oss bare definere begrepet funksjonsvektor.

funksjonsvektor er vektorrepresentasjon av objekter. For eksempel kan en bil representeres av [antall hjul, dør. windows, age ..etc].

funksjonskart er en funksjon som tar funksjonsvektorer i ett rom og transformerer dem til funksjonsvektorer i et annet. For eksempel gitt en funksjonsvektor [volum, vekt, høyde, bredde] kan den returnere [1, volum / vekt, høyde * bredde] eller [høyde * bredde] eller til og med bare [volum]

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *