tópicos avanzados: redes neuronales artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales...

65
(c) P. Gómez Gil. INAOE 2008-2012 1 C261-69 Tópicos Avanzados: Redes Neuronales Artificiales Red de Perceptrones de varios niveles Dra. Ma. del Pilar Gómez Gil Dra. Ma. del Pilar Gómez Gil Dra. Ma. del Pilar Gómez Gil Dra. Ma. del Pilar Gómez Gil Primavera 2010 Primavera 2010 Primavera 2010 Primavera 2010 Versión:9-Febrero-12

Upload: others

Post on 07-Oct-2020

9 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 1

C261-69 Tópicos Avanzados:

Redes Neuronales Artificiales

Red de Perceptrones de varios niveles

Dra. Ma. del Pilar Gómez GilDra. Ma. del Pilar Gómez GilDra. Ma. del Pilar Gómez GilDra. Ma. del Pilar Gómez GilPrimavera 2010Primavera 2010Primavera 2010Primavera 2010

Versión:9-Febrero-12

Page 2: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 2

El Modelo de aprendizaje Retro-propagación

� Se utiliza para entrenar redes de perceptrones de

varios niveles, conocidas como MLP (multi-layer-

perceptrons)

� El concepto fue creado originalmente por J. Werbos

[Werbos 74] con un nombre diferente, como parte de

su tesis doctoral.

� La misma idea fue propuesta posteriormente y de

manera independientemente con el nombre

“retropropagación” por Rumelhart, Hinton y Williams

[Rumelhart 86] como un método para entrenar una

red MLP.

Page 3: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

Red de perceptrones de varios

niveles (MLP)

(c) P. Gómez Gil. INAOE 2008-2012 3

0,01w

1,11w

0,12w

Output layerHidden layersInput layer

1,03w

Page 4: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 4

El Dr. Werbos y el Dr. Edgar Sánchez en el WICCI 2006

Page 5: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 5

Estructura del neurón utilizado

)(1

0

θ−= ∑−

=

i

n

i

iwxFoutput

Donde:

xi i-ésima entrada al neurón

wi i-ésimo peso

θ umbral (bias)

F función de activación.

Para el caso de redes neuronales de varios niveles alimentadas hacia adelante y entrenadas con Retro-propagación, se utiliza una función de activación continua y diferenciable, generalmente de tipo sigmoide. Ejemplos de estas funciones son:

xe

xF −+=

11)( )tanh()( xxF =

output

x0

x1

xn

wo

w1

wn-1

-1

Page 6: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 6

Ejemplo de Cálculo de la Salida de una Red con un Nivel Escondido

� Suponga que la red a calcular tiene N neurones de entrada, M neurones de salida, una capa escondida con L nodos, y que se manejan umbrales negativos.

� Estructura de datos:

X[i] i-ésima entrada a la red, 0≤ i ≤ N-1

W1[i][j] peso que conecta al neurón j en el nivel de entrada

con el neurón i en el nivel escondido

0 ≤ i ≤ L-1, 0 ≤ j ≤ N-1

W2[i][j] Peso que conecta al neurón j en el nivel escondido

con el neurón i en el nivel de salida 0 ≤ i ≤ M-1 ,

0 ≤ j ≤ L-1

Page 7: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 7

Cálculo de Salida de una Red (cont.)� Estructura de datos (cont.)

TET1[i] Valor umbral del i-ésimo neurón en la capa

escondida

TET2[i] Valor umbral del i-ésimo neurón en la última capa

NET1[i] Sumatoria del i-esimo neurón en la capa

escondida

OUT1[i] Salida del i-ésimo neurón en la capa escondida

NET2[i] Sumatoria del i-ésimo neurón en la última capa.

OUT2[i] i-ésima salida de la red

Page 8: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 8

Cálculo de Salida de una Red (cont.)

FOR I=0 TO L-1 DO BEGIN

NET1 [I] = 0

FOR J = 0 TO N-1 D0 BEGIN

NET1 [I] = NET1 [I] + W1 [I] [J] * X[J]

END

NET1[I] = NET1 [I] - TET1 [I]

OUT1[I] = sigmoid ( NET1 [I])

END

FOR K=0 TO M-1 DO BEGIN

NET2 [K] = 0

FOR I = 0 TO L-1 BEGIN

NET2 [K] = NET2[K] + W2[k][i]*OUT1 [I]

END

NET2 [K] = NET2 [K] - TET2 [K]

OUT2 [K] = sigmoid (NET2[K])

END

Page 9: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 9

Características de BP

� Es un modelo de entrenamiento supervisado. Se puedeconsiderar una generalización de la regla delta.

� El algoritmo consiste en hallar los pesos que minimizan elcuadrado del error promedio entre la salida real y la salidadeseada en la red. Es una técnica de gradiente descendente.

� La función de error total ET a minimizar, es la suma acumulada de los errores generados por cada patrón del conjunto de entrenamiento:

2

1

)(2

1

:donde

=

−=

=

n

j

pjpjp

p

p

OTE

EET Tpj = Valor de salida deseado para elj-ésimo neurón de la última capade la red.

Opj = Valor de salida real en el j-ésimoneurón de la última capa de la red.

Page 10: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 10

Algoritmo de Retro-propagación

Sean:

Wji = Peso que conecta hacia el neurón j en la capa k

desde el neurón i en la capa k-1.

F = Función de activación (contínua y diferenciable)

Opj = F(NETpj) Salida del j-ésimo neurón.

NETpj = Σ WjiOpi

Donde Opi corresponde a la entrada de la red (Xi)

si el neurón i está en la primera capa de la red.

∆pWji = Incremento en el peso W ji provocado por

el p-ésimo patrón.

Page 11: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 11

Algoritmo de Retro- propagación (cont.)

1.- Inicialice todos los pesos y valores umbrales de la red con número

reales pequeños generados al azar.

2.- Repita lo siguiente hasta que el error ET del conjunto de

entrenamiento sea aceptablemente pequeño, o alguna condición

predeterminada de "fin de entrenamiento" sea verdadera:

2.1 Por cada patrón p en el conjunto de entrenamiento:

2.1.1 Lea el vector de entrada Xp y el vector de la salida

deseada Tp.

2.1.2 Calcule la salida de la red.

2.1.3 Calcule el error Ep generado por el patrón p.

Page 12: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 12

Algoritmo de Retro- propagación (cont.)

2.1.4 Ajuste todos los pesos de la red aplicando lasiguiente regla ( regla delta generalizada) a cada

uno de los pesos Wji

Wji(t+1) = W ji (t) + ∆pWji

donde

∆pWji = ηδpjOpi

η = Coeficiente de aprendizaje ( 0 < η < 1)

δ Se calcula de la siguiente manera:

a) Si j corresponde a un neurón en la capa desalida de la red:

δpj = (Tpj - Opj) F' (NETpj)

Page 13: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 13

Algoritmo de Retro- propagación (cont.)

si la función de activación es la sigmoide,

entonces:

F´(x) = F(x)(1 - F(x) ), y

δpj = (Tpj - Opj) Opj (1 - Opj)

b) Si j no corresponde a un neurón de salida, es decir,está en una de las capas escondidas entonces:

donde la sumatoria acumula el error propagado

hacia atrás.

2.1.5 Regrese al paso 2.1

3.- Regrese al paso 2.

∑′=k

kjpkpjpj wNETF δδ )(

Page 14: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 14

Ejemplo de una red con un nivel

escondido

Xo

X1

X2

OUT2[0]

OUT2[1]

OUT2[2]

00

W1 W2

W1

W1

W1

W1

W1

10

01

11

02

12 W2

W2

W2

W2

W2

21

11

01

20

10

00

OUT1[X]

Page 15: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 15

Ejemplo de una red con un nivel

escondido

Xo

X1

X2

OUT2[0]

OUT2[1]

OUT2[2]

00

W1 W2

W1

W1

W1

W1

W1

10

01

11

02

12 W2

W2

W2

W2

W2

21

11

01

20

10

00

OUT1[X]

[ ]12δ

[ ]11δ

[ ]02δ

[ ]22δ

Page 16: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 16

Calculo de valores delta en el ejemplo

Xo

X1

X2

OUT2[0]

OUT2[1]

OUT2[2]

00

W1 W2

W1

W1

W1

W1

W1

10

01

11

02

12 W2

W2

W2

W2

W2

21

11

01

20

10

00

OUT1[X]

0

1

2

δ [0]

δ [1]

δ [0]

δ [1]

δ [2]

1

1

2

2

2

Page 17: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 17

Calculo de valores delta en el

ejemplo (cont.)

]2,0[1]1,0[1]0,0[1]0[1 210 WXWXWXNET ++=

])0[1(]1[1 NETFOUT =

])1[2(])1[21(]1[2 NETFOUTT ′−=δ

)]1,[2][2(])1[1(]1[1 ∑′=K

KWKNETF δδ

]1,2[2]2[2]1,1[2]1[2]1,0[2]0[2)( ]1[1(]1[1 WWWNETF δδδδ ++′=

Page 18: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 18

Ejemplo de MLP (1/3)� El siguiente ejemplo, publicado en (Lipmann 87), muestra como

una red de perceptrones con un nivel escondido es capaz de

aprender a distinguir los puntos de un círculo.

� La red tiene 2 nodos de entrada (los puntos en el plano

cartesiano donde esta dibujado el círculo), 2 nodos de salida (2

posibles clases: dentro del círculo o fuera de él) y 8 nodos en la

capa escondida.

� La red se entrenó con η = 0.3 . Se le mostraron 100 ejemplos

de cada clase.

La siguiente figura muestra el aprendizaje de la red en 4

diferentes momentos:

Page 19: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

Ejemplo de MLP:Clases a aprender por el MLP (2/3)

(c) P. Gómez Gil. INAOE 2008-2012 19

class B

class A

Page 20: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 20

(Lipmann 87)

Page 21: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 21

Ejemplo de Retro-propagación

A

Page 22: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 22

Una Solución al Problema XOR

No..de barridas = 558 n = 0.5 Umbrales positivos

[Rumelhart86]

2.2

6.3 OUPUT UNIT

HIDDEN UNITS

INPUT UNITS

-4.2 -4.2

-6.4 -6.4

-9.4

Page 23: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 23

Problema del XOR. Red en un Mínimo Local

No. de barridas = 6,587 n = 0.25 Umbrales positivos.

[Rumelhart 86]

-.8

2.0 -.1

8.8

9.2 4.3

-2

-4.5 5.3

OUTPUT UNI T

HIDDEN UNITS

INPUT UNITS

Page 24: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 24

Porque el Perceptrón no Puede Aprender El XOR?

� Ninguna línea recta puede dividir al plano de manera que las a´s queden de un lado, y las b’s del otro lado !

EL PROBLEMA NO ES LINEALMENTE SEPARABLE

X Y 0 0 0 1 1 1 1 1

X + Y

0 (A)

1 (B) 1 (B)

0 (A)

Page 25: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 25

Ventajas y Desventajas del Modelo de

Retro- propagación

� Puede resolver problemas donde las regiones de decisión no son lineales.

� Es fácil de implementar (comparado con otros algoritmos) y es aplicable auna gran cantidad de problemas.

� Las redes de retro-propagación soportan muy bien "ruido" en los datos deentrada.

� Puede ser extremadamente lento, sobre todo cuando la red es muy grande.

� No es posible saber de antemano si un problema puede resolverse usandoeste modelo.

� El algoritmo puede caer en un "mínimo local" y nunca converger.

� La red puede "paralizarse", es decir, los pesos crecen demasiado y losneurones empiezan a trabajar con valores OUT muy grandes. En estepunto la derivada de la función es cero, y no puede haber mas cambios enel error.

Page 26: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez INAOEP

2008-201126

Un clasificador Adaptivo

OB

JE

TS

CLA

SS

ES

SENSINGMEASUREMENTS

CONTEX

ANALYSIS

FEATURE VECTOR

DECISION

PREPROCESING AND FEATURE SELECTION

LEARNING

[Tao & Gonzalez 74]

Page 27: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE

2008-201227

CLASIFICADOR USANDO REDES NEURONALES

ENTRADA RED NEURONAL

SELECCIÓN DE CLASE DECISION

ESTADOS DE UN CLASIFICADOR NEURONAL

APRENDIZAJE

CONOCIMIENTO DE LA RED

RECONOCIMIENTO

Page 28: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 28

Selección de una clase*

En los sistemas que utilizan una red de perceptrones de varios niveles, con mas de una neurona en la capa de salida (esto es, con mas de 1 clase o en los casos de asociación de patrones ), se presenta el problema de decidir a que clase corresponde una salida de la red.

RNA Selección de clase

Y

* Ver anexo: Conceptos Básicos de Reconocimiento

de patrones

Page 29: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 29

SELECCIÓN DE UNA CLASE (cont.)

La manera mas eficiente de escoger la

clase, es calcular la distancia Euclidiana

que hay de la salida de la red a cada una

de las posibles clases, y escoger como

clase aquella con la menor distancia. Esto

se realiza de la siguiente manera:

Page 30: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 30

SELECCIÓN DE UNA CLASE (cont.)Supongamos que la red tiene n neuronas en la

capa de salida, y que el problema tiene mposibles clases o asociaciones. Sea la salida de la red:

Y cada una de las clases:

)...,( 21 nyyy=Y

)...,( 21 nyyy=Y

)...,(

.

)...,(

)...,(

21

22221

11211

mnmm

n

n

ccc

ccc

ccc

=

=

=

m

2

1

C

C

C

Page 31: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 31

SELECCIÓN DE UNA CLASE (cont.)

� Para i = 1.. m, la distancia de Y a la clase

Ci está definida como:

� y la clase escogida es:

2222

211 )...()()(

2

1niniii ycycycd −+−+−=

midescogidaclase i ..1 )(minimo_ ==

Page 32: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 32

Una aplicación de retro-propagación:Reconocimiento de caracteres Manuscritos� El reconocimiento manuscrito “fuera de línea” significa

reconocer sobre un documento digitalizado, después de que el texto ha sido escrito.

� El reconocimiento de letra tipo script o antigua es mas complejo que el tipo “imprenta” porque:� La manuscrita tiene ornamentos

� Cambia de estilo con la época, persona, región, edad del escritor, etc.

� La misma persona puede escribir muy diferente

� La segmentación de caracteres es un problema muy difícil, que genera mucho error en los patrones

Page 33: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 33

Reconocimiento de Caracteres Manuscritos (cont.)

� El reconocimiento “en línea” es mas fácil que el reconocimiento “fuera de línea” porque en el primero hay información adicional sobre:

� Presión de la pluma

� Dirección de movimientos

� Velocidad de escritura

Page 34: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 34

Diagrama de contexto.

Reconocedor de Caracteres

reconocedorde caracteres

DocumentoTexto

reconocido

Parámetrosentrenamiento

Usuario

Experto en

reconocimiento

Usuario

Page 35: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 35

Componentes de un reconocedor de caracteres

documento

imágenes para entrenamiento

1.Digitalización

dedocumento

2.Separación

depalabras

3.Segmentación

de caracteres

4.Reconocimiento

de caracteres

5.Reconocimiento

de palabras

imagen digital

imágenes palabras

caracteres posibles

texto reconocidoimágenes

de caracteres segmentados

6.Entrenamiento Reconocedor

Conocimiento RNA

Parámetros entrenamiento

imágenes para entrenamiento

[Gómez et al 2007]

Page 36: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-

2012

The OCR Priscus [Gomez et al 2007]

1.scanning

2. Pre-processing

Digital imageDocument scanning

3.Segmentation

wordClean image

4.Segmentation and feature extraction

6. Character recognition

8.Word

identification

7. Trainingrecognizer

9. Style

correctionText

Training parameters

Character objects

Possible character

ANN knowledge

Posibles palabras

Words in the text

Dictionary

5.Training

Segmentation

Segmentación para

entrenamiento

Words

Character objects

Training parameters

ANN knowledge

36

Page 37: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 37

Reconocimiento de Telegramas Porfirio Díaz [Linares & Spinola, 2000]

Page 38: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 38

Diferencias en las letras

haciend algunoshaciendo alguns

Page 39: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 39

Pre-procesamiento de palabras

� Normalización de la posición

1.06 cm 1.60 cm

� Corrección de la inclinación

Page 40: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 40

Reconocimiento de caracteres aislados usando Redes

Neuronales Localmente Conectadas[Gómez et al. 97]

� El problema principal es la obtención del vector de características.

� Y. LeCun creó una red, inspirada en el sistema de visión de los mamíferos. Tiene las siguientes características:� 2 dimensiones

� Alimentada hacia delante

� Varios niveles de mapas de características

� Está parcialmente conectada

� Los neurones en el mismo mapa de características comparten los mismos pesos. Los umbrales no se comparten

Page 41: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 41

Red de LeCun

[Gómez et al 97]

Page 42: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 42

Reconocimiento de caracteres aislados usando Redes Neuronales Localmente Conectadas1

� Base de datos:

� 7,800 caracteres de 61 sujetos. 75% se usó para

entrenar, 25% se uspo para probar

� Resultados:

� Caso I: 26 símbolos, 28 clases (2 para s y z)

� Caso II: 11 clases: a,b,c,d,r,s,t,u,x

� Coeficiente de aprendizaje entre 0.7 y 0.05

Page 43: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 43

Caso I. Estructura de la red

Level

No.

dimension Number of maps per

level

Map

size

0 2 1 16x16

1 2 6 8x8

2 2 3 4x4

3 1 11 1x1

Number of levels: 4Number of levels in two dimensions: 3Number of levels in one dimension: 1

Page 44: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 44

Caso 1. Tamaño de la red

Level

No.

Number of

maps or

nodes

Total

number

of nodes

Connections Weights

0 1 256 0 0

1 6 384 9984 534

2 3 48 4656 336

3 11 11 539 539

TOTAL: 699 15179 1409

Page 45: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 45

Caso II. Estructura de la red

Level

No.

dimension Number of maps per

level

Map

size

0 2 1 16x16

1 2 6 8x8

2 2 3 4x4

3 1 28 1x1

Number of levels: 4Number of levels in two dimensions: 3Number of levels in one dimension: 1

Page 46: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 46

Caso II. Tamaño de la red

Level

No.

Number of

maps or

nodes

Total

number

of nodes

Connections Weights

0 1 256 0 0

1 6 384 9984 534

2 3 48 4656 336

3 28 28 1372 1372

TOTAL: 716 16012 2242

Page 47: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 47

Resultados

Network No. ofsweeps

Average error

per node

Recognition percentage with

training set

Recognition percentage with

test set

CASE I

LeCun

65 0.0225 91.2% 75.3%

Totally

connected

65 0.0221 91.6% 70.0%

CASE II

LeCun

70 0.034 65.3% 54.6%

Page 48: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 48

Creación de archivos de entrenamiento

Page 49: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 49

Segmentación usando RNA[Navarrete 2002]

(a)

(b)

(c)

Page 50: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 50

Segmentación usando RNA3

Ventana 1Densidad=9/25=0.36

Ventana 1Densidad=9/25=0.36

Vector de ventanas1 2 3 4 5 6 7 8 9 ….

0.36 0.4

Figura 5. Generación del vector de ventanas

[Navarrete 2002]

Page 51: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-2012 51

Segmentación usando RNA3

[Navarrete 2002]

Page 52: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

Bibliografía� Gómez-Gil, P. ,De-Los-Santos Torres G., Navarrete-García J.

Ramírez-Cortés M. “The Role of Neural Networks in the

interpretation of Antique Handwritten Documents.” Hybrid Intelligent

Systems. Analysis and Design Series: Studies at Fuzziness and

Soft Computing. Vol . 208. Editors: Castillo, O. Melin, P. Kacprzyk

W. 2007 Springer. ISBN-10: 3-540-37419-1. Pags. 269-281

� Gómez, P. Ramírez, R. and Oldham, W. “On handwritten

recognition through locally connected structural neural networks.”

Proc. Of the Second joint Mexico-US International Workshop on N.

Nets and Neurocontrol. SianKan 97. pp 224-228. August 97.

� Linares S. y Spinola, C.“Reconocimiento de letra Manuscrita de

Porfirio Díaz Utilizando el Shell Neuronal ANNSYD”. Tesis

licenciatura ISC. UDLAP. México, 2000.

(c) P. Gómez Gil. INAOE 2008-2012 52

Page 53: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

Bibliografía (cont.)

� Lippman, R. P. An Introduction to computing with neural Nets. IEEE ASSP Magazine, April 1987, pp. 4-22

� Navarrete J. “Mejora en el algoritmo de segmentación para el reconocimiento de caracteres de telegramas escritos por el Gral. Porfirio Díaz”. Tesis Licenciatura, ULAP 2002.

� Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams. “Learning internal representations by Error Propagation,” In Parallel Distributed Processing: Explorations in theMicrostructure of Cognition, Vol. I, Bradford Books, Cambridge, MA, 1986.

� Werbos, P. Beyond Regression: New tools for prediction and Analysis in the Behavioral Sciences, Ph.D. thesis, Harvard University, Nov. 1974

(c) P. Gómez Gil. INAOE 2008-2012 53

Page 54: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

Anexo:conceptos básicos sobre reconocimiento de patrones

(c) P. Gómez Gil. INAOE 2008-2012 54

Page 55: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

55

RECONOCIMIENTO DE PATRONES

� El proceso de reconocimiento de patrones tiene que ver con la actividad de clasificar un objeto o hecho en alguna categoría determinada, en base a particularidades del objeto que son comunes en los miembros de una misma clase.

� Algunos ejemplos de actividades comunes de reconocimiento de patrones realizadas por humanos son:

� Escuchar una conversación

� Leer un libro

� Reconocer un amigo entre la multitud

� Traducir de un lenguaje a otro

(c) P. Gómez Gil. INAOE 2008-2012

Page 56: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

56

DEFINICION FORMAL DE RECONOCIMIENTO DE PATRONES

� Es la categorización de datos de entrada en clases identificadas, por medio de la extracción de características significativas o atributos de los datos extraídos de un medio ambiente que contiene detalles irrelevantes [Tou & Gonzales, 1974].

� Matemáticamente hablando, la clasificación consiste en la partición del espacio n-dimensional definido por las características de un objeto, en varias regiones, donde cada región corresponde a una clase.

(c) P. Gómez Gil. INAOE 2008-2012

Page 57: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

57

SISTEMA CLASIFICADOR DE

PATRONES [DUDA & HART, 73]

OBJETO

TRANSDUCTOR

EXTRACTOR DE CARACTERISTICAS

CLASIFICADORDECISION

(c) P. Gómez Gil. INAOE 2008-2012

Page 58: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

58

PARTES PRINCIPALES DE UN SISTEMA CLASIFICADOR DE PATRONES

� Transductor� Toma la informacion de un objeto y la tranforma a señales

analogicas, que a su vez son convertidas a forma digital (ejemplo: una camara de television).

� Extractor de caracteristicas� Mide propiedades importantes que representan al objeto, de

manera que se reduzca la cantidad de datos obtenidos por el transductor, pero sin perder informacion esencial acerca del objeto. El resultado de estas medidas es llamado vector de caracteristicas.

� Clasificador� Evalua las propiedades dadas por el extractor de

caracteristicas, y toma una decision acerca de la clase del objeto.

(c) P. Gómez Gil. INAOE 2008-2012

Page 59: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE

2008-201259

NOMENCLATURA BASICA

� PATRON

� Descripcion de un objeto o miembro de alguna categoria

� CLASE

� Categoria determinada por algunos atributos comunes a sus miembros.

� VECTOR DE CARACTERISTICAS

� Contiene una medida de las caracteristicas de un patron. Puede contener numeros binarios o valires reales.

Page 60: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

60

VECTORES DE CARACTERISTICAS

(c) P. Gómez Gil. INAOE 2008-2012

Page 61: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

61

VECTORES DE CARACTERISTICAS (Cont.)

t1 t2 t3 t4 t5

f(t1)f(t2)

f(t3)

f(t4)

f(t1)

f(t2)

f(t3)

X = .

.

.

f(tn)

(c) P. Gómez Gil. INAOE 2008-2012

Page 62: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

62

EJEMPLO DE UN ESPACIO DE CARACTERISTICAS

1.50 1.60 1.70 1.80 1.90 2.10 2.20 Metros

100

kg.

90

80

70

60

50

X1 = altura

w 1

w 22 Clases:

Jugadores de foot-ball americano

Jockeys

(c) P. Gómez Gil. INAOE 2008-2012

Page 63: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

63

PROBLEMAS FUNDAMENTALES EN EL DISEÑO DE UN SISTEMA RECONOCEDOR DE PATRONES

1. La representación de los datos de entrada

2. Extracción de las características

3. Determinación del proceso de decisión optimo

4. Problemas de estimación de parámetros

(c) P. Gómez Gil. INAOE 2008-2012

Page 64: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE 2008-201264

BLOQUE FUNCIONAL DE UN SISTEMA RECONOCEDOR DE PATRONES ADAPTIVO

OB

JET

OS

CL

ASE

S

SENSADO MEDIDAS

ANÁLISIS DEL CONTEXTO

VECTORES DE CARACTERISTICAS

O PRIMITIVAS

CATEGORI-

ZACIÓN

PRE-PROCESAMIENTO Y SELECCIÓN DE CARACTERIS-TICAS

ESTIMACION ADAPTACION APRENDIZAJE

Page 65: Tópicos Avanzados: Redes Neuronales Artificialesccc.inaoep.mx/~pgomez/cursos/redes neuronales artificiales... · Retro- propagación Puede resolver problemas donde las regiones de

(c) P. Gómez Gil. INAOE

2008-201265

CLASIFICADOR USANDO REDES NEURONALES

ENTRADA RED NEURONAL

SELECCIÓN DE CLASE DECISION

ESTADOS DE UN CLASIFICADOR NEURONAL

APRENDIZAJE

CONOCIMIENTO DE LA RED

RECONOCIMIENTO