Neuronske mreže kapsule - Skup ugniježđenih neuronskih slojeva

Capsule Networks - Ovaj blog govori o ograničenjima konvolucijskih neuronskih mreža i kako Capsule Neural Networks rješava ta ograničenja.

Mreže kapsula:

Što su Capsule Networks? To je u osnovi mreža skupova ugniježđenih živčanih slojeva.

Preporučio bih vam da prođete i kroz blogove u nastavku:





Pretpostavljam da, momci, znate Convolutional Neural Networks (CNN). Evo, dat ću vam mali uvod o istom, kako bih mogao razgovarati o ograničenjima CNN-a.

Također se možete uputiti u donji video o Konvolucijskoj neuronskoj mreži.



Konvolucijske neuronske mreže (CNN)

Konvolucijske neuronske mreže u osnovi su hrpa različitih slojeva umjetnih neurona, koji se koristi za računalni vid. U nastavku sam spomenuo one slojeve:

Konvolucijska neuronska mreža - Kapsulna neuronska mreža - Edureka

Konvolucijski sloj: Kada za klasifikaciju slika koristimo neuronske mreže Feedforward (višeslojni perceptron), s njom postoje mnogi izazovi. Najfrustrirajući izazov je taj što uvodi puno parametara, razmotrite video tutorial na CNN-u.



Da biste prevladali ovaj izazov Sloj konvolucije je uveden. pretpostavlja se da će pikseli koji su prostorno bliže jedan drugom 'surađivati' na stvaranju određenog obilježja od interesa mnogo više od onih na suprotnim kutovima slike. Također, ako se utvrdi da je određena (manja) značajka od velike važnosti prilikom definiranja oznake slike, bit će podjednako važno ako je ta značajka pronađena bilo gdje unutar slike, bez obzira na mjesto.

ReLU sloj: Funkcija pretvorbe ispravljene linearne jedinice (ReLU) aktivira čvor samo ako je ulaz iznad određene količine, dok je ulaz ispod nule, izlaz je nula, ali kad se ulaz digne iznad određenog praga, on ima linearni odnos s zavisna varijabla.

  • U ovom sloju uklanjamo sve negativne vrijednosti s filtriranih slika i zamjenjujemo ih nulama
  • To se radi kako bi se izbjeglo zbrajanje vrijednosti na nulu

Sloj za udruživanje: To se koristi za izvršavanje downsamplinga, koji troši male i (obično) razdvojene dijelove slike i agregira ih u jednu vrijednost. Postoji nekoliko mogućih shema za agregiranje - najpopularnije biće Maksimalno udruživanje , pri čemu se uzima maksimalna vrijednost piksela unutar svakog dijela. Čini mrežu invarijantnom prema malim transformacijama, izobličenjima i prijevodima na ulaznoj slici (mala izobličenja na ulazu neće promijeniti izlaz Udruživanja - jer uzimamo maksimalnu / prosječnu vrijednost u lokalnom susjedstvu).

Potpuno povezan sloj: Ovaj će sloj izračunati ocjene razreda, gdje svaki od brojeva odgovara ocjeni razreda. Kao i kod uobičajenih neuronskih mreža, kao što i samo ime govori, svaki će neuron u ovom sloju biti povezan sa svim neuronima u prethodnom svesku. Ukratko, izvodi konačnu klasifikaciju.

Na taj način, ConvNets transformiraju izvornu sliku sloj po sloj od izvornih vrijednosti piksela do konačnih rezultata klase.

Ovo je bio vrlo kratak uvod u Convolutional Neural Networks, ipak bih vam preporučio da pogledate CNN-ov video koji sam ugradio u ovaj post.

U ovom blogu Capsule Networks sada ću raspraviti nekoliko ograničenja Konvolucijskih neuronskih mreža

Ograničenja konvolucijskih neuronskih mreža:

Pa, dopustite mi da objasnim ovo s analogijom.

Pretpostavimo da postoji čovjek čije oči mogu otkriti značajke različitih slika. Razmotrimo kao primjer lice čovjeka. Dakle, ovaj nesretni momak može prepoznati razne značajke kao što su oči, nos itd., Ali nije u stanju identificirati prostorne odnose među značajkama (perspektiva, veličina, orijentacija). Na primjer, sljedeća slika može zavarati tog tipa kad je klasificira kao dobru skicu ljudskog lica.

To je problem i s konvolucijskim neuronskim mrežama. CNN je dobar u otkrivanju značajki, ali pogrešno će aktivirati neuron za otkrivanje lica. To je zato što je manje učinkovit u istraživanju prostornih odnosa među značajkama.

Jednostavni CNN model može ispravno izdvojiti značajke za nos, oči i usta, ali pogrešno će aktivirati neuron za otkrivanje lica. Bez shvaćanja pogrešnog podudaranja u prostornoj orijentaciji i veličini, aktivacija za otkrivanje lica bit će previsoka.

Pa, ovo ograničenje je zbog sloja Max Pooling.

Maksimalno udruživanje u CNN-u rješava translacijske varijance. Čak je i značajka malo pomaknuta, ako je još uvijek unutar prozora za udruživanje, još uvijek može biti otkrivena. Ipak, ovaj pristup zadržava samo maksimalnu značajku (onu koja dominira) i baca ostale.

Dakle, gornja slika lica klasificirat će se kao normalno lice. Sloj za udruživanje također dodaje ovu vrstu nepromjenjivosti.

To nikada nije bila namjera sloja za udruživanje. Ono što je udruživanje trebalo učiniti jest uvesti pozicijske, orijentacijske, proporcionalne nepromjenjivosti.

U stvarnosti, ovaj sloj za udruživanje dodaje sve vrste pozicijske invarijantnosti. Kao što možete vidjeti i na gornjem dijagramu, to dovodi do dileme ispravnog otkrivanja lica.

Pogledajmo što je rješenje koje je predložio Geoffrey Hinton .

Kako riješiti ovaj problem?

Sada zamišljamo da svaki neuron sadrži vjerojatnost kao i svojstva svojstava. Na primjer, daje vektor koji sadrži [vjerojatnost, orijentacija, veličina]. Ovim prostornim informacijama možemo otkriti neusklađenost orijentacije i veličine među značajkama nosa, očiju i uha, a time i znatno nižu aktivaciju za otkrivanje lica.

U radu koji je objavio Geoffrey Hinton , ove vrste neurona nazivaju se kapsulama. Te kapsule daju vektor umjesto jedne vrijednosti skalera.

Dopustite mi da upalim nešto što su Capsule Networks.

Što su kapsulne mreže?

Kapsula je u osnovi skup ugniježđenih živčanih slojeva. Stanje neurona unutar kapsule bilježi različita svojstva poput položaja (položaja, veličine, orijentacije), deformacije, brzine, teksture itd. Jednog entiteta unutar slike.

Umjesto hvatanja značajke s određenom varijantom, kapsula je osposobljena za hvatanje vjerojatnosti značajke i njezine varijante. Dakle, svrha kapsule nije samo otkrivanje značajke već i osposobljavanje modela za učenje varijante.

Tako da ista kapsula može otkriti istu klasu predmeta s različitim usmjerenjima (na primjer, okretati se u smjeru kazaljke na satu):

Možemo reći da djeluje na ekvivarijantnost, a ne na invarijantnost.

razlika između javascripta i jqueryja

Nepromjenjivost: je otkrivanje značajki bez obzira na varijante. Na primjer, neuron za otkrivanje nosa otkriva nos bez obzira na orijentaciju.

Ekvivarijancija: je otkrivanje objekata koji se mogu međusobno transformirati (na primjer, otkrivanje lica različitih orijentacija). Intuitivno, mreža kapsula otkriva da je lice zarotirano udesno za 31 ° (ekvivarijancija), umjesto da shvati da je lice podudarno s varijantom koja je zakrenuta za 31 °. Prisiljavanjem modela da nauči varijantu značajke u kapsuli, možemo učinkovitije ekstrapolirati moguće inačice s manje podataka o treningu. Uz to, protivnike možemo učinkovitije odbiti.

Kapsula daje vektor koji predstavlja postojanje entiteta. Orijentacija vektora predstavlja svojstva entiteta.

Vektor se šalje svim mogućim roditeljima u neuronskoj mreži. Za svakog mogućeg roditelja kapsula može pronaći vektor predviđanja. Vektor predviđanja izračunava se na temelju množenja vlastite težine i matrice težine. Koji god roditelj ima najveći skalarni proizvod vektora predviđanja, povećava vezu kapsule. Ostatak roditelja smanjuje njihovu vezu. To se naziva Usmjeravanje prema dogovoru .

Ovo je definitivno bolji pristup od maksimalnog udruživanja, u kojem se usmjeravanje temelji na najjačoj značajci otkrivenoj u donjem sloju.

Nakon toga slijedi funkcija zgnječenja koja se dodaje. To je učinjeno radi uvođenja nelinearnosti. Ova funkcija zgnječenja primjenjuje se na vektorski izlaz svake kapsule.

Dopustite mi da vam sada kažem kako funkcioniraju Capsule Networks.

Kako funkcioniraju mreže kapsula?

Krenimo korak unatrag. U potpuno povezanoj mreži izlaz svakog neurona je ponderirani zbroj ulaza.

Pogledajmo sada što se događa u Capsule Networks.

Neuralna mreža kapsule:

Razmotrimo neuronsku mrežu kapsule gdje ‘uja'Je vektor aktivnosti za kapsulu'jau donjem sloju.

Korak - 1: Primijenite matricu transformacijeUi Jna izlaz kapsule uja prethodnog sloja. Na primjer, s matricom m × k transformiramo k-Duja do m-Du ^j | i. ((m × k) × (k × 1) = m × 1).

To je predviđanje ( glasanje ) iz kapsule „i“ na izlazu gornje kapsule „j“. ‘Vj'Je vektor aktivnosti za kapsulu'j ’u gornjem sloju

Korak - 2: Izračunajte ponderirani zbroj sjs utezimaci J.ci Jsu koeficijenti sprezanja. Zbroj tih koeficijenata jednak je jedinici. To je stvarni parametar koji djeluje na odnos grupe kapsula o kojem smo ranije razgovarali.

Korak - 3: U konvolucijskim neuronskim mrežama koristili smo funkciju ReLU. Ovdje ćemo primijeniti funkciju zgnječenja za skaliranje vektora između 0 i duljine jedinice. Smanjuje male vektore na nulu, a duge na jedinične. Stoga je vjerojatnost svake kapsule ograničena između nule i jedan.

To je predviđanje ( glasanje ) iz kapsule „i“ na izlazu gornje kapsule „j“. Ako vektor aktivnosti ima blisku sličnost s vektorom predviđanja, zaključujemo da kapsula ‘jaje u velikoj vezi s kapsulomj ’. (Na primjer, kapsula za nos u velikoj je vezi s kapsulom za lice.) Takva se sličnost mjeri pomoću skalarnog proizvoda vektora predviđanja i aktivnosti. Stoga sličnost uzima u obzir i vjerojatnost i svojstva značajke. (umjesto samo vjerojatnosti u neuronima).

Korak - 4: Izračunajte rezultat relevantnosti 'bi J‘. To će biti točkasti produkt vektora aktivnosti i vektora predviđanja. Koeficijenti sprezanjacjajizračunava se kao softmax odbjaj:

Koeficijent sprezanja ci Jizračunava se kao softmax bi J.

Ovo bi Jažurira se iterativno u više iteracija.

To se naziva Usmjeravanje prema dogovoru .

Ispod je dijagram jedan primjer:

Nakon ovog bloga na Capsule Networks, osmislit ću blog o implementaciji Capsule Neural Network koristeći TensorFlow.

Nadam se da ste uživali čitajući ovaj blog na mrežama kapsula, pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Tečaj Edureka za dubinsko učenje s certifikatom TensorFlow pomaže učenicima da postanu stručnjaci u obuci i optimizaciji osnovnih i konvolucijskih neuronskih mreža koristeći projekte i zadatke u stvarnom vremenu zajedno s konceptima kao što su SoftMax funkcija, Neuronske mreže s automatskim kodiranjem, Ograničeni Boltzmannov stroj (RBM).

Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare i javit ćemo vam se.