Xarxes neuronals de càpsules: conjunt de capes neuronals imbricades



Capsule Networks: aquest bloc parla de les limitacions de les xarxes neuronals convolucionals i de com Capsule Neural Networks resol aquestes limitacions.

Xarxes de càpsules:

Què és Capsule Networks? Es tracta bàsicament d’una xarxa de conjunts de capes neuronals imbricades.

Us recomanaria que també passeu pels següents blocs:





Suposo que, coneixeu les xarxes neuronals convolucionals (CNN). Aquí us faré una petita introducció sobre el mateix per poder discutir les limitacions de les xarxes CNN.

També podeu consultar el següent vídeo sobre Convolutional Neural Network.



Xarxes neuronals convolucionals (CNN)

Les xarxes neuronals convolucionals són bàsicament una pila de diverses capes de neurones artificials que s’utilitza per a la visió per computador. A continuació, he esmentat aquestes capes:

Xarxa neuronal convolucional - Xarxa neuronal de càpsula - Edureka

Capa convolucional: Quan fem servir les xarxes neuronals Feedforward (Perceptron multicapa) per classificar la imatge, hi ha molts desafiaments. El repte més frustrant és que, introdueix molts paràmetres, tingueu en compte el vídeo tutorial a CNN.



Per superar aquest repte Capa de convolució es va introduir. se suposa que els píxels que estiguin espacialment més junts 'cooperaran' per formar una característica d'interès particular molt més que els de les cantonades oposades de la imatge. A més, si es troba que una característica determinada (més petita) és de gran importància a l’hora de definir l’etiqueta d’una imatge, serà igualment important si aquesta característica es troba en qualsevol lloc de la imatge, independentment de la ubicació.

Capa ReLU: La funció de transformació de la Unitat Lineal Rectificada (ReLU) només activa un node si l'entrada és superior a una quantitat determinada, mentre que l'entrada és inferior a zero, la sortida és zero, però quan l'entrada puja per sobre d'un llindar determinat, té una relació lineal amb la variable dependent.

  • En aquesta capa, eliminem tots els valors negatius de les imatges filtrades i les substituïm per zero
  • Això es fa per evitar que els valors es sumen a zero

Capa de posada en comú: S’utilitza per realitzar un mostreig reduït, que consumeix petits trossos de la imatge (normalment) disjunts i els agrupa en un valor únic. Hi ha diversos esquemes possibles per a l'agregació, el més popular Combinació màxima , on es pren el valor màxim de píxels dins de cada tros. Fa que la xarxa sigui invariable a petites transformacions, distorsions i traduccions a la imatge d'entrada (una petita distorsió a l'entrada no canviarà la sortida de l'agrupació, ja que prenem el valor màxim / mitjà en un barri local).

Capa completament connectada: Aquesta capa calcularà les puntuacions de la classe, on cadascun dels números corresponen a una puntuació de la classe. Com passa amb les xarxes neuronals normals i com el seu nom indica, cada neurona d’aquesta capa estarà connectada a totes les neurones del volum anterior. En poques paraules, realitza la classificació final.

D'aquesta manera, ConvNets transforma la imatge original capa per capa dels valors de píxels originals a les puntuacions de la classe final.

Aquesta va ser una breu introducció a les xarxes neuronals convolucionals, encara us recomanaria que feu una ullada al vídeo de CNN que he inclòs en aquest post.

En aquest bloc de Capsule Networks, ara discutiré algunes limitacions de les xarxes neuronals convolucionals

Limitacions de les xarxes neuronals convolucionals:

Bé, deixeu-me explicar-ho amb una analogia.

Suposem que hi ha un ésser humà, els ulls del qual poden detectar les característiques de diverses imatges. Considerem la cara d’un ésser humà com a exemple. Per tant, aquest home desafortunat pot identificar diverses característiques com ara, ulls, nas, etc., però no és capaç d’identificar les relacions espacials entre les característiques (perspectiva, mida, orientació). Per exemple, la imatge següent pot enganyar a aquest noi classificant-lo com un bon esbós d'una cara humana.

Aquest és el problema de les xarxes neuronals convolucionals. CNN és ​​bo per detectar funcions, però activarà erròniament la neurona per a la detecció de cares. Això es deu al fet que és menys eficaç en explorar les relacions espacials entre les característiques.

Un model CNN senzill pot extreure correctament les funcions del nas, els ulls i la boca, però activarà erròniament la neurona per a la detecció de la cara. Sense adonar-se de la incorrecció en orientació i mida espacial, l’activació per a la detecció de cares serà massa alta.

Bé, aquesta limitació es deu a la capa de màxima agrupació.

una matriu d'objectes java

La combinació màxima en una CNN gestiona la variància de traducció. Fins i tot una característica es mou lleugerament, si encara es troba dins de la finestra d’agrupació, encara es pot detectar. No obstant això, aquest enfocament només manté la característica màxima (la més dominant) i llença les altres.

Per tant, la imatge de la cara que es mostra més amunt es classificarà com a cara normal. La capa d'agrupació també afegeix aquest tipus d'invariancia.

Aquesta no va ser mai la intenció de la capa de posada en comú. El que se suposava que havia de fer la posada en comú és introduir invariances posicionals, orientacionals i proporcionals.

En realitat, aquesta capa de posada en comú afegeix tot tipus d’invariança posicional. Com podeu veure també al diagrama anterior, condueix al dilema de detectar correctament la cara.

Vegem quina és la solució que proposa Geoffrey Hinton .

Com es pot resoldre aquest problema?

Ara, imaginem que cada neurona conté la probabilitat i les propietats de les característiques. Per exemple, emet un vector que conté [probabilitat, orientació, mida]. Amb aquesta informació espacial, podem detectar la inconsistència en l’orientació i la mida entre les característiques del nas, els ulls i les orelles i, per tant, generem una activació molt inferior per a la detecció de la cara.

Al diari publicat per Geoffrey Hinton , aquest tipus de neurones s’anomenen càpsules. Aquestes càpsules generen un vector en lloc d’un valor de reductor únic.

Permeteu-me posar algunes llums a les xarxes de càpsules.

Què són les xarxes de càpsules?

La càpsula és bàsicament un conjunt de capes neuronals imbricades. L'estat de les neurones a l'interior d'una càpsula capta les diverses propietats, com ara la posició (posició, mida, orientació), deformació, velocitat, textura, etc., d'una entitat dins d'una imatge.

En lloc de capturar una característica amb una variant específica, es forma una càpsula per captar la probabilitat d’una característica i la seva variant. Per tant, el propòsit de la càpsula no és només detectar una característica, sinó també formar el model per aprendre la variant.

De manera que la mateixa càpsula pot detectar la mateixa classe d'objectes amb orientacions diferents (per exemple, girar en sentit horari):

Podem dir que funciona tant en equivariança com en invariancia.

Invariació: és la detecció de característiques independentment de les variants. Per exemple, una neurona de detecció del nas detecta un nas independentment de l'orientació.

Equivariance: és la detecció d’objectes que es poden transformar entre si (per exemple, detectar cares amb orientacions diferents). Intuïtivament, la xarxa de càpsules detecta que la cara gira a la dreta 31 ° (equivariança) en lloc d’adonar-se que la cara coincideix amb una variant que gira 31 °. En forçar el model a aprendre la variant de les característiques en una càpsula, podem extrapolar possibles variants amb més eficàcia amb menys dades d’entrenament. A més, podem rebutjar els adversaris amb més eficàcia.

Una càpsula emet un vector per representar l'existència de l'entitat. L'orientació del vector representa les propietats de l'entitat.

El vector s’envia a tots els pares possibles de la xarxa neuronal. Per a cada progenitor possible, una càpsula pot trobar un vector de predicció. El vector de predicció es calcula a partir de multiplicar el seu propi pes i una matriu de pes. Qualsevol pare o mare que tingui el producte vector de predicció escalar més gran augmenta l’enllaç de la càpsula. La resta de pares disminueixen el seu vincle. Es diu així Encaminament per acord .

Definitivament, aquest és un enfocament millor que l’agrupació màxima, en què l’encaminament es basa en la característica més forta detectada a la capa inferior.

Després d'això, s'afegeix una funció de aixafament. Això es fa per introduir la no linealitat. Aquesta funció de aixafament s'aplica a la sortida vectorial de cada càpsula.

Deixeu-me que us expliqui ara com funciona Capsule Networks.

Com funcionen les xarxes de càpsules?

Fem un pas enrere. En una xarxa completament connectada, la sortida de cada neurona és la suma ponderada de les entrades.

Ara, vegem què passa a Capsule Networks.

Xarxa neuronal de la càpsula:

Considerem una xarxa neuronal de càpsula on ‘ujo'És el vector d'activitat de la càpsula'jo 'a la capa inferior.

Pas 1: apliqueu una matriu de transformacióINija la sortida de la càpsula ujo de la capa anterior. Per exemple, amb una matriu m × k, transformem una k-Dtujo fins a una m-Du ^j | i. ((M × k) × (k × 1) = m × 1).

És la predicció ( votar ) de la càpsula 'i' a la sortida de la càpsula 'j' que hi ha més amunt. ‘Vj'És el vector d'activitat de la càpsula'j 'a la capa superior

Pas 2: calculeu una suma ponderada sjamb pesescij.cijsón els coeficients d’acoblament. La suma d’aquests coeficients és igual a un. És el paràmetre real que treballa sobre la relació del grup de càpsules del qual parlem anteriorment.

Pas 3: a les xarxes neuronals convolucionals, hem utilitzat la funció ReLU. Aquí aplicarem una funció de aixafament per escalar el vector entre 0 i la unitat de longitud. Redueix els vectors petits a zero i els vectors llargs a vectors unitaris. Per tant, la probabilitat de cada càpsula està limitada entre zero i un.

És la predicció ( votar ) de la càpsula 'i' a la sortida de la càpsula 'j' que hi ha més amunt. Si el vector d’activitat té una semblança estreta amb el vector de predicció, arribem a la conclusió que la càpsula ‘jo 'està molt relacionat amb la càpsula 'j '. (Per exemple, la càpsula nasal està molt relacionada amb la càpsula facial.) Aquesta semblança es mesura mitjançant el producte escalar del vector de predicció i activitat. Per tant, la similitud té en compte tant la similitud com les propietats de les característiques. (en lloc de la similitud de les neurones).

Pas 4: calculeu la puntuació de rellevància ‘bij‘. Serà el producte punt del vector d’activitat i del vector de predicció. Els coeficients d’acoblamentcjojes calcula com a softmax debjoj:

El coeficient d’acoblament cijes calcula com a softmax de bij.

Aquest bijs'actualitza iterativament en diverses iteracions.

Es diu així Encaminament per acord .

A continuació es mostra un exemple:

Després d’aquest blog sobre les xarxes de càpsules, veuré un bloc sobre la implementació de la xarxa neuronal de càpsula mitjançant TensorFlow.

Espero que us hagi agradat llegir aquest bloc a les xarxes de càpsules, consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs Edureka Deep Learning with TensorFlow Certification Training ajuda els estudiants a convertir-se en experts en formació i optimització de xarxes neuronals bàsiques i convolucionals mitjançant projectes i assignacions en temps real, juntament amb conceptes com la funció SoftMax, les xarxes neuronals de codificador automàtic, la màquina restringida de Boltzmann (RBM).

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem.