Capsule nevrale nettverk



All kunnskapen som mennesket har samlet i århundrer om Capsule nevrale nettverk er nå tilgjengelig på internett, og vi har samlet og bestilt den for deg på en mest mulig tilgjengelig måte. Vi vil at du skal kunne få tilgang til alt relatert til Capsule nevrale nettverk som du vil vite raskt og effektivt; at opplevelsen din er hyggelig og at du føler at du virkelig har funnet informasjonen om Capsule nevrale nettverk som du lette etter.

For å nå våre mål har vi gjort en innsats for ikke bare å få den mest oppdaterte, forståelige og sannferdige informasjonen om Capsule nevrale nettverk, men vi har også passet på at utformingen, lesbarheten, lastehastigheten og brukervennligheten til siden være så hyggelig som mulig, slik at du på denne måten kan fokusere på det essensielle, kjenne til all data og informasjon som er tilgjengelig om Capsule nevrale nettverk, uten å måtte bekymre deg for noe annet, vi har allerede tatt hånd om det for deg. Vi håper vi har oppnådd vårt formål og at du har funnet informasjonen du ønsket om Capsule nevrale nettverk. Så vi ønsker deg velkommen og oppfordrer deg til å fortsette å nyte opplevelsen av å bruke scientiano.com.

Et Capsule Neural Network ( CapsNet ) er et maskinlæringssystem som er en type kunstig neuralt nettverk (ANN) som kan brukes til å bedre modellere hierarkiske forhold. Tilnærmingen er et forsøk på å etterligne biologisk nevral organisasjon.

Tanken er å legge til strukturer som kalles "kapsler" i et konvolusjonelt nevralnettverk (CNN), og å gjenbruke utdata fra flere av disse kapslene for å danne mer stabile (med hensyn til ulike forstyrrelser) representasjoner for høyere kapsler. Utgangen er en vektor som består av sannsynligheten for en observasjon , og en pose for den observasjonen . Denne vektoren ligner det man gjør for eksempel når man gjør klassifisering med lokalisering i CNN -er.

Blant andre fordeler adresserer capsnets "Picasso -problemet" i bildegjenkjenning: bilder som har alle de riktige delene, men som ikke er i det riktige romlige forholdet (f.eks. I et "ansikt", blir posisjonene til munnen og det ene øyet byttet ). For bildegjenkjenning utnytter capsnets det faktum at selv om synspunktendringer har ulineære effekter på pikselnivå, har de lineære effekter på del/objektnivå. Dette kan sammenlignes med å invertere gjengivelsen av et objekt med flere deler.

Historie

I 2000, Geoffrey Hinton et al. beskrev et avbildningssystem som kombinerte segmentering og gjenkjenning til en enkelt slutningsprosess ved bruk av analysetrær . Såkalte troverdighetsnettverk beskrev den felles fordelingen over de latente variablene og over de mulige parsetrærne. Dette systemet viste seg nyttig i MNISTs håndskrevne sifferdatabase .

En dynamisk rutemekanisme for kapselnettverk ble introdusert av Hinton og hans team i 2017. Tilnærmingen ble hevdet å redusere feilrater på MNIST og redusere størrelser på treningssett. Resultatene ble hevdet å være betydelig bedre enn et CNN på sterkt overlappede sifre.

I Hintons opprinnelige idé ville en minikolonne representere og oppdage én flerdimensjonal enhet.

Transformasjoner

En invariant er en objektegenskap som ikke endres som følge av en viss transformasjon. For eksempel endres ikke området til en sirkel hvis sirkelen flyttes til venstre.

Uformelt er en ekvivariant en egenskap som endres forutsigbart under transformasjon. For eksempel beveger midten av en sirkel like mye som sirkelen når den forskyves.

En nonquivariant er en eiendom hvis verdi ikke forutsigbart endres under en transformasjon. For eksempel betyr transformering av en sirkel til en ellipse at omkretsen ikke lenger kan beregnes som ganger diameteren.

I datasyn forventes klassen av et objekt å være en invariant over mange transformasjoner. Dvs en katt er fortsatt en katt hvis den forskyves, snus opp ned eller krympet i størrelse. Imidlertid er mange andre eiendommer i stedet likeverdige. Volumet til en katt endres når den skaleres.

Tilsvarende egenskaper som et romlig forhold fanges opp i en pose , data som beskriver et objekts oversettelse , rotasjon , skala og refleksjon. Oversettelse er en endring av plassering i en eller flere dimensjoner. Rotasjon er en endring i orientering. Skala er en endring i størrelse. Refleksjon er et speilbilde.

Uten tilsyn capsnets lære en global lineær manifold mellom en gjenstand og dens positur som en matrise av vekter. Med andre ord kan capsnets identifisere et objekt uavhengig av posen, i stedet for å måtte lære å gjenkjenne objektet mens det inkluderer dets romlige forhold som en del av objektet. I capsnets kan posen inneholde andre egenskaper enn romlige forhold, f.eks. Farge (katter kan ha forskjellige farger).

Multiplisering av objektet med manifolden utgjør objektet (for et objekt, i rommet).

Bading

Capsnets avviser pooling -lagstrategien til konvensjonelle CNN -er som reduserer detaljmengden som skal behandles ved neste høyere lag. Samling tillater en viss grad av translasjonell invarianse (den kan gjenkjenne det samme objektet på et noe annet sted) og lar et større antall funksjonstyper bli representert. Capsnet -talsmenn hevder at pooling:

  • bryter den biologiske formoppfatningen ved at den ikke har noen egen koordinatramme;
  • gir uoverensstemmelse (kassering av posisjonsinformasjon) i stedet for ekvivarians (avkobling av informasjonen);
  • ignorerer den lineære manifolden som ligger til grunn for mange variasjoner mellom bilder;
  • ruter statisk i stedet for å kommunisere et potensielt "funn" til funksjonen som kan sette pris på det;
  • skader nærliggende funksjonsdetektorer ved å slette informasjonen de stoler på.

Kapsler

En kapsel er et sett med nevroner som individuelt aktiveres for forskjellige egenskaper til en type objekt, for eksempel posisjon, størrelse og fargetone. Formelt sett er en kapsel et sett med nevroner som kollektivt produserer en aktivitetsvektor med ett element for hvert nevron for å holde det nevronets instantieringsverdi (f.eks. Fargetone). Grafikkprogrammer bruker instantieringsverdi til å tegne et objekt. Capsnets prøver å utlede disse fra innspillene sine. Sannsynligheten for enhetens tilstedeværelse i en bestemt inngang er vektors lengde, mens vektorens orientering kvantifiserer kapselens egenskaper.

Kunstige nevroner leverer tradisjonelt en skalær, virkelig verdifull aktivering som løst representerer sannsynligheten for en observasjon. Capsnets erstatter skalar-output-funksjonsdetektorer med vektor-output-kapsler og maksimal pooling med routing-by-agreement.

Fordi kapsler er uavhengige, er sannsynligheten for korrekt deteksjon mye større når flere kapsler er enige. En minimal klynge av to kapsler som vurderer en seksdimensjonal enhet, ville være enig i 10% ved en tilfeldighet bare en gang i en million forsøk. Etter hvert som antallet dimensjoner øker, reduseres sannsynligheten for en sjanseavtale på tvers av en større klynge med høyere dimensjoner eksponensielt.

Kapsler i høyere lag tar utganger fra kapsler på lavere lag, og godtar de hvis utganger klynger. En klynge får den høyere kapselen til å sende ut en høy sannsynlighet for observasjon av at en enhet er til stede og også sende ut en høydimensjonal (20-50+) pose.

Kapsler på høyere nivå ignorerer outliers, og konsentrerer seg om klynger. Dette ligner på Hough -transformasjonen , RHT og RANSAC fra klassisk digital bildebehandling .

Ruting etter avtale

Utgangene fra en kapsel (barn) dirigeres til kapsler i det neste laget (forelder) i henhold til barnets evne til å forutsi foreldrenes utganger. I løpet av noen få iterasjoner kan hver foreldres utgang konvergerer med noen barns spådommer og avvike fra andres, noe som betyr at den forelder er til stede eller fraværende fra scenen.

For hver mulig forelder beregner hvert barn en prediksjonsvektor ved å multiplisere utgangen med en vektmatrise (trent ved tilbakepropagering ). Deretter blir foreldrenes utdata beregnet som skalarproduktet av en prediksjon med en koeffisient som representerer sannsynligheten for at dette barnet tilhører den forelder. Et barn hvis spådommer er relativt nær den resulterende produksjonen, øker suksessivt koeffisienten mellom den forelder og barnet og reduserer det for foreldre at det samsvarer mindre godt. Dette øker bidraget som barnet gir til den forelder, og øker dermed skalarproduktet av kapselens prediksjon med foreldrenes produksjon. Etter noen få iterasjoner kobler koeffisientene sterkt en forelder til de mest sannsynlige barna, noe som indikerer at tilstedeværelsen av barna innebærer tilstedeværelsen av forelderen i scenen. Jo flere barn hvis spådommer er nær foreldrenes output, jo raskere vokser koeffisientene, noe som fører til konvergens. Foreldrenes positur (reflektert i utgangen) blir gradvis kompatibel med barnas.

Koeffisientenes første logg er loggens tidligere sannsynlighet for at et barn tilhører en forelder. Priorene kan trenes diskriminerende sammen med vektene. Forutgående avhenger av plasseringen og typen av barnet og foreldrekapslene, men ikke av gjeldende inngang. Ved hver iterasjon justeres koeffisientene via et "routing" softmax slik at de fortsetter å summere til 1 (for å uttrykke sannsynligheten for at en gitt kapsel er forelder til et gitt barn.) Softmax forsterker større verdier og reduserer mindre verdier utover deres andel av totalen. På samme måte er sannsynligheten for at en funksjon er tilstede i inngangen overdrevet av en ikke -lineær "squashing" -funksjon som reduserer verdier (mindre drastisk og større slik at de er mindre enn 1).

Denne dynamiske rutemekanismen gir nødvendig avskrivning av alternativer ("bortforklaring") som er nødvendig for å segmentere overlappede objekter.

Denne innlærte dirigering av signaler har ingen klar biologisk ekvivalent. Noen operasjoner kan finnes i kortikale lag, men de ser ikke ut til å relatere denne teknikken.

Matematikk/kode

Posevektoren roteres og translateres av en matrise til en vektor som forutsier utgangen til foreldrekapslen.

Kapsler på neste høyere nivå mates summen av spådommene fra alle kapsler i det nedre laget, hver med en koblingskoeffisient

Fremgangsmåte softmax

Koblingskoeffisientene fra en kapsel i lag til alle kapslene i lag summerer til en, og er definert av en " routing softmax ". De første logittene er tidligere logg sannsynligheter for ruting. Det er den tidligere sannsynligheten for at kapsel i lag skal koble seg til kapsel i lag . Normalisering av koblingskoeffisientene:

For at denne prosedyren skal være optimal, må du huske flere verdier og nullstille disse verdiene for hver iterasjon. Det er hvis vektoren endres, må de lagrede verdiene oppdateres. Det er ikke vist hvordan dette skal gjøres. Verken memorering av deler vises.

Prosedyre squash

Fordi vektorenes lengde representerer sannsynligheter, bør de være mellom null (0) og en (1), og for å gjøre det brukes en squashing -funksjon:

En vektor presset til null har en forsvinnende gradient.

Ruting av prosedyrer

En tilnærming til ruting er følgende

På linje 8 kan softmax-funksjonen erstattes av en hvilken som helst type vinner-ta-alt- nettverk. Biologisk ligner dette noe lysekroneceller , men de kan også være involvert i beregning av koblingskoeffisienter (linje 9) eller beregning av avtaler (linje 11).

På linje 9 vises vektmatrisen for koblingskoeffisientene og den skjulte prediksjonsmatrisen. Strukturen i lag I og II ligner noe på hjernebarken hvis stjerneceller antas å være involvert i transponering av inngangsvektorer. Hvorvidt begge typer stellatceller har samme funksjon er ikke klart, ettersom lag I har eksitatoriske piggceller og lag II har hemmende aspiny -celler. Det siste indikerer et mye annet nettverk.

På linje 10 kan squashfunksjonen erstattes av andre funksjoner og nettverkstopologier som beholder vektorretningen.

Prosedyren utfører iterasjoner, vanligvis 4-5, med indeksen for kildekapsellaget eller primærlaget, hvor ruten går fra , og kapsellaget det neste høyere laget.

Opplæring

Læring er overvåket . Nettverket trenes ved å minimere den euklidiske avstanden mellom bildet og utgangen til et CNN som rekonstruerer inngangen fra utgangen til terminalkapslene.

Nettverket er diskriminativt opplært ved å bruke iterativ ruting etter avtale.

Aktivitetsvektorene til alle unntatt den riktige forelder er maskert.

Margin tap

Lengden på instansieringsvektoren representerer sannsynligheten for at en kapsels enhet er til stede i scenen. En kapsel på toppnivå har en lang vektor hvis og bare hvis den tilhørende enheten er tilstede. For å muliggjøre flere enheter, en separat margintap blir beregnet for hver kapsel. Nedvekting av tapet for fraværende enheter stopper læringen fra krympende aktivitetsvektorlengder for alle enheter. Det totale tapet er summen av tapene til alle enheter. I Hintons eksempel er tapfunksjonen:

Denne typen tapsfunksjon er vanlig i ANN -er. Parametrene og er satt slik at lengden ikke maksimeres eller kollapser, og . Nedvekting av innledende vekter for fraværende klasser styres av , med som et rimelig valg.

Rekonstruksjonstap

Et ekstra tap ved rekonstruksjon oppmuntrer enheter til å kode innspillets instantieringsparametere. Den endelige aktivitetsvektoren brukes deretter til å rekonstruere inngangsbildet via en CNN -dekoder som består av 3 fullt tilkoblede lag. Rekonstruksjonen minimerer summen av kvadratiske forskjeller mellom utgangene til de logistiske enhetene og pikselintensitetene. Dette gjenoppbyggingstapet skaleres ned med 0,0005, slik at det ikke dominerer margintapet under trening.

Eksempelkonfigurasjon

De første konvolusjonelle lagene utfører funksjonsekstraksjon. For MNIST -bildetesten på 28 x 28 piksler konverterer en innledende 256 konvolusjonelle kjerner på 9 x 9 piksler (ved hjelp av trinn 1 og  aktiveret lineær enhet (ReLU) aktivering, som definerer 20 x 20 mottakelige felt ) pikselinngangen til 1D -funksjonsaktivering og induserer ulinearitet.

Det primære (laveste) kapsellaget deler 256 kjerner i 32 kapsler med 8 9x9 kjerner hver (ved hjelp av trinn 2, som definerer 6x6 mottakelige felt). Kapselaktivering inverterer effektivt grafikkgjengivelsesprosessen, og går fra piksler til funksjoner. En enkelt vektmatrise brukes av hver kapsel på tvers av alle mottakelige felt. Hver primærkapsel ser alle utgangene i det nedre laget hvis felt overlapper med midten av feltet i det primære laget. Hver primærkapselutgang (for et bestemt felt) er en 8-dimensjonal vektor.

Et andre sifferkapsellag har en 16-dimensjonal kapsel for hvert siffer (0-9). Dynamisk ruting forbinder (bare) primær- og sifferkapsellag. En [32x6x6] x 10 vektmatrise styrer kartleggingen mellom lagene.

Capsnets er hierarkiske, ved at hver kapsel på lavere nivå bidrar betydelig til bare en kapsel på høyere nivå.

Imidlertid er replikering av innlært kunnskap fortsatt verdifull. For å oppnå dette er et kapsnets nedre lag konvolusjonelle , inkludert skjulte kapsellag. Høyere lag dekker dermed større regioner, samtidig som de beholder informasjon om den nøyaktige plasseringen av hvert objekt i regionen. For kapsler på lavt nivå er posisjonsinformasjon "stedskodet" i henhold til hvilken kapsel som er aktiv. Høyere opp er mer og mer av posisjonsinformasjonen hastighetskodet i kapselens utgangsvektor. Dette skiftet fra stedskoding til hastighetskoding, kombinert med det faktum at kapsler på høyere nivå representerer mer komplekse objekter med flere grader av frihet, antyder at kapseldimensjonaliteten øker med nivået.

Menneskesyn

Menneskesyn undersøker en sekvens av fokuspunkter (regissert av saccades ), og behandler bare en brøkdel av scenen med sin høyeste oppløsning. Capsnets bygger på inspirasjoner fra kortikale minikolonner (også kalt kortikale mikrokolonner) i hjernebarken . En minikolonne er en struktur som inneholder 80-120 nevroner, med en diameter på omtrent 28-40 um, som strekker seg over alle lag i hjernebarken. Alle nevroner i de større minikolonnene har det samme mottakelige feltet , og de sender ut sine aktiveringer som handlingspotensialer eller pigger. Nevroner i mikrokolonnen mottar vanlige innganger, har felles utganger, er sammenkoblet og kan utgjøre en grunnleggende beregningsenhet i hjernebarken .

Capsnets utforsker intuisjonen om at det menneskelige visuelle systemet skaper en trelignende struktur for hvert brennpunkt og koordinerer disse trærne for å gjenkjenne objekter. Imidlertid, med capsnets, blir hvert tre "skåret" fra et fast nettverk (ved å justere koeffisienter) i stedet for å bli satt sammen i flua.

Alternativer

CapsNets hevdes å ha fire store konseptuelle fordeler fremfor konvolusjonelle nevrale nettverk (CNN):

  • Ulikhet fra synspunkt: bruk av posematriser gjør at kapselnettverk kan gjenkjenne objekter uavhengig av perspektivet de blir sett på.
  • Færre parametere: Fordi kapsler grupperer nevroner, krever forbindelsene mellom lag færre parametere.
  • Bedre generalisering til nye synspunkter: CNNs, når de blir opplært til å forstå rotasjoner, lærer ofte at et objekt kan sees på samme måte fra flere forskjellige rotasjoner. Kapselnettverk generaliserer imidlertid bedre til nye synspunkter fordi posematriser kan fange opp disse egenskapene som lineære transformasjoner.
  • Forsvar mot hvitboks-motangrep: Fast Gradient Sign Method (FGSM) er en typisk metode for angrep på CNN-er. Den evaluerer gradienten til hver piksel mot tapet av nettverket, og endrer hver piksel med maksimalt epsilon (feilbegrepet) for å maksimere tapet. Selv om denne metoden kan redusere nøyaktigheten til CNN -er dramatisk (f.eks. Til under 20%), opprettholder kapselnettverk nøyaktigheten over 70%.

Rent konvolusjonsgarn kan ikke generalisere til ulærte synspunkter (annet enn oversettelse). For andre affine transformasjoner må enten funksjonsdetektorer gjentas på et rutenett som vokser eksponentielt med antall transformasjonsdimensjoner, eller størrelsen på det merkede treningssettet må (eksponentielt) utvides for å omfatte disse synspunktene. Disse eksponentielle eksplosjonene gjør dem uegnet for større problemer.

Capsnets transformasjonsmatriser lærer det (synspunktuavhengige) romlige forholdet mellom en del og en helhet, slik at sistnevnte kan gjenkjennes basert på slike relasjoner. Capsnets antar imidlertid at hvert sted maksimalt viser en forekomst av en kapsels objekt. Denne antagelsen tillater en kapsel å bruke en distribuert representasjon (dens aktivitetsvektor) av et objekt for å representere objektet på det stedet.

Capsnets bruker nevrale aktiviteter som varierer med synspunkt. De trenger ikke å normalisere objekter (som i romlige transformatornettverk ) og kan til og med gjenkjenne multipliserte transformerte objekter. Capsnets kan også behandle segmenterte objekter.

Se også

Merknader

  1. ^ Med Hintons egne ord er dette "vill spekulasjon".

Referanser

Eksterne linker

Opiniones de nuestros usuarios

Unni Gjertsen

Det er en god artikkel om Capsule nevrale nettverk. Den gir nødvendig informasjon, uten utskeielser.

Harry Christensen

Språket ser gammelt ut, men informasjonen er pålitelig og generelt gir alt som skrives om Capsule nevrale nettverk mye selvtillit.

Elise Ellefsen

Takk for dette innlegget om Capsule nevrale nettverk, det er akkurat det jeg trengte.