Você está na página 1de 4

[NEOCOGNITRON]

Dr. Erik Zamora

Eje Conceptual
Para qu sirve?
Arquitectura
Aprendizaje
Demostracin en Matlab 32bits (llevar laptop viejita)
Tarea
Para qu sirve?
Neocognitron: es una red neuronal multicapa bio-inspirada en la corteza
visual para reconocer patrones visuales robustamente con cierta tolerancia
a la deformacin, al cambio de tamao, y a la traslacin. Bsicamente, se ha
usado para reconocer:
caracteres alfanumricos (1980, 2013)
placas vehiculares (2013)
rostros (2008)

Arquitectura
El neocognitron est conformado por dos tipos de capas
celulares: las clulas S (simples) y las clulas C (complejas). Estas
capas celulares van alternadas. Adems, cada capa est dividida
en subcapas llamadas planos celulares (recuadros). Cada plano
celular se especializa en responder a un rasgo especfico de la
imagen de entrada. En consecuencia, todas las clulas de un
plano tienen el mismo conjunto de conexiones de entrada, pero
responden a localizaciones distintas en la imagen de entrada.
Las clulas S se encargan de extraer los rasgos usados para
reconocer las imgenes. Por tanto, sus conexiones de entrada
son modificadas durante el aprendizaje.
Las clulas C proporcionan robustez al
reconocimiento
de
rasgos.
Sus
conexiones de entrada son fijas (no
aprenden) y reciben informacin de un
grupo de clulas S de la capa anterior
las cuales extraen el mismo rasgo en
localizaciones distintas en la imagen de entrada. Las clulas C responden si alguna de este grupo clulas S
produce una salida mayor a cero. Por tanto, las clulas permiten que aun cuando la imagen a reconocer se
deforme, cambie tamao o se desplace, la red neuronal podr reconocer la imagen dentro de cierta
tolerancia.
La primera capa 0 siempre es la imagen de entrada y sus salidas van directamente a la capa 1 . Esta
segunda capa responde a los bordes de la imagen con una orientacin especfica. Por ejemplo, la capa
puede tener 16 planos detectando bordes a intervalos de 22.5 y cubriendo los 360 (ver figura).
La Tecnologa y la Ciencia en beneficio de los Mexicanos
Por nuestra Independencia Intelectual

[NEOCOGNITRON]

Dr. Erik Zamora

Por tanto, estas clulas S en 1 son filtros espaciales lineales que detectan bordes, sus pesos son fijos y siguen la siguiente
distribucin:

Cada clula S en las capas posteriores ( para 2) recibe directamente seales excitatorias de un grupo de clulas C en la capa
anterior 1 . Adems, recibe una seal inhibitoria a travs de una clula V, la cual calcula la intensidad media cuadrtica de las
seales provenientes de las clulas C. Las conexiones de entrada de las clulas V son fijas, no aprenden.

La salida de una clula S es dada por


=

1
[ ]
1

Donde
La funcin de activacin es [] = max(, 0)
Intensidad de la conexin inhibitoria es [0,1)

Los pesos sinpticos son =

La entrada inhibitoria es = 2

Si = 1, entonces
=

[ ]
1

Donde

(,)

De acuerdo con esta ecuacin, una clula S responder con > 0 solo a
los patrones de entrada que tengan cierta similitud angular con el
vector de referencia , como se muestra en la figura.

Exceptuando la ltima capa, las capas y tienen el mismo nmero de planos celulares y tienen una correspondencia uno a uno
entre ellos. Cada clula C recibe informacin de un grupo de clulas S del plano que le corresponde y promedia las seales
excitatorias a travs de la media cuadrtica. Las conexiones de entrada de las clulas C son fijas.

La Tecnologa y la Ciencia en beneficio de los Mexicanos


Por nuestra Independencia Intelectual

[NEOCOGNITRON]

Dr. Erik Zamora

Aprendizaje
Los mtodos de entrenamiento del neocognitron pueden ser supervisados y
no supervisados a la vez. Las etapas de la red son entrenadas en secuencia: se
comienza con la capa de ms baja jerarqua, y una vez su entrenamiento ha
terminado, se aade la siguiente capa a la red. Los patrones de
entrenamiento de esta nueva capa son la salida de la capa anterior ya
entrenada, presentando las mismas imgenes de entrenamiento a la capa 0 .
Una vez terminado el entrenamiento de esta capa, se repite el proceso para
la siguiente capa.
Clula semilla: Algo que es importante considerar es que todas las clulas S
de un mismo plano celular deben tener el mismo conjunto de conexiones
(pesos) de entrada. Por tanto, durante el entrenamiento se escoge una
clula semilla y el resto de las clulas en el plano celular la siguen para copiar
sus conexiones de entrada.
Hay tres reglas de aprendizaje competitivo para el neocognitron:
Ganador toma todo: las neuronas S compiten una con otra. La
neurona S con la respuesta ms grande es la ganadora y sus conexiones se incrementan proporcionalmente a la intensidad
de la respuesta de las neuronas C.
Ganador mata perdedor: es como la regla anterior, pero adems de que solo la ganadora aumenta la intensidad de sus
conexiones, tambin se eliminan las neuronas perdedoras. Las perdedoras son las neuronas que responden ms
dbilmente que la ganadora, pero tienen una respuesta mayor que cero. El objetivo de esta regla es eliminar la redundancia
de neuronas.
Aadir si es silencioso: si todas las neuronas S no responden ante la
presencia de un ejemplo de entrenamiento, entonces se crea una nueva
neurona S cuyas intensidades de conexiones son proporcionales a las
respuestas de las neuronas C. A diferencia de las otras reglas, una vez
creada la nueva clula S, sus conexiones ya no cambien posteriormente.
Adicionalmente, se ha propuesto usar una regla de aprendizaje supervisado:
Reconocimiento por interpolacin (supervised interpolating-vector). El
reconocimiento en la ltima capa se realiza mediante la cercana entre las lneas
de interpolacin de los vectores de referencia y el ejemplo de prueba. Si el
reconocimiento es equivocado o todas las clulas S no responden, entonces se
genera un nuevo vector de referencia a partir del ejemplo de prueba, creando una
nueva clase. Si el reconocimiento es correcto, se escoge la lnea de interpolacin
ms cercana al ejemplo de prueba, y luego, se modifican los vectores de referencia
de esta lnea.

La Tecnologa y la Ciencia en beneficio de los Mexicanos


Por nuestra Independencia Intelectual

[NEOCOGNITRON]

Dr. Erik Zamora

Demostracin en Matlab 32bits (llevar laptop viejita)

Usar la librera disponible en la plataforma Visiome para mostrar el neocognitron en accin.


Usar el comando cat = TestNeocog(number) para mostrarles algunos ejemplos de reconocimiento de los nmeros del 0 a
9.
Mostrar algunos errores que comete la red.

T1: Neocognitron
Fecha de Entrega:

M190116

Leer el artculo Training multi-layered neural network neocognitron de Kunihiko Fukushima. Hacer un resumen escrito sobre las
secciones 5 y 6 (la simulacin computacional y la discusin de los resultados experimentales). Por ltimo, grabar un video donde
exponga las ideas de ms importantes de su resumen; y adicionalmente, explique la regla add-if-silent al detalle, comprela con
las otras dos de las reglas de aprendizaje y comente ventajas-desventajas (mximo tiempo de grabacin = 10minutos). Procure que
el audio sea entendible. Suba su video a su canal de YouTube, envi en un nico archivo PDF su resumen y el enlace del video al
correo ezamora1981@gmail.com antes o durante de la fecha de entrega.

La Tecnologa y la Ciencia en beneficio de los Mexicanos


Por nuestra Independencia Intelectual