Sunteți pe pagina 1din 40

1

Tpicos Avanzados:
Redes Neuronales Artificiales

Red de Perceptrones de varios niveles
25/10/2011
2
El Modelo de Retro-propagacin
El concepto fue creado originalmente por J. Werbos [Werbos 74] con
un nombre diferente y propuesto posterior e independientemente con
este nombre por Rumelhart, Hinton y Williams [Rumelhart 86] como un
mtodo para entrenar una red de perceptrones de varios niveles:

stos no
son
neurones,
solo
puntos de
conexin
3
Estructura del neurn utilizado
) (
1
0
u =

=
i
n
i
i
w x F output
Donde:
x
i
i-sima entrada al neurn
w
i
i-simo peso
u umbral (bias)
F funcin de activacin.

Para el caso de redes neuronales de varios niveles alimentadas hacia adelante y
entrenadas con Retro-propagacin, se utiliza una funcin de activacin continua y
diferenciable, generalmente de tipo sigmoide. Ejemplos de estas funciones son:
x
e
x F

+
=
1
1
) (
) tanh( ) ( x x F =
output
x
0

x
1

x
n

w
o

w
1

w
n-1

-1

4
Ejemplo de Clculo 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 neurn j en el nivel de entrada
con el neurn i en el nivel escondido
0 i L-1, 0 j N-1
W2[i][j] Peso que conecta al neurn j en el nivel escondido
con el neurn i en el nivel de salida 0 i M-1 ,
0 j L-1


5
Clculo de Salida de una Red
(cont.)
Estructura de datos (cont.)

TET1[i] Valor umbral del i-simo neurn en la capa
escondida
TET2[i] Valor umbral del i-simo neurn en la ltima capa
NET1[i] Sumatoria del i-esimo neurn en la capa
escondida
OUT1[i] Salida del i-simo neurn en la capa escondida
NET2[i] Sumatoria del i-simo neurn en la ltima capa.
OUT2[i] i-sima salida de la red

6
Clculo 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

7
Caractersticas de BP
Es un modelo de entrenamiento supervisado. Se puede
considerar una generalizacin de la regla delta.
El algoritmo consiste en hallar los pesos que minimizan el
cuadrado del error promedio entre la salida real y la salida
deseada en la red. Es una tcnica de gradiente descendente.
La funcin de error total ET a minimizar, es la suma acumulada
de los errores generados por cada patrn del conjunto de
entrenamiento:

2
1
) (
2
1
: donde

=
=
=
n
j
pj pj p
p
p
O T E
E ET
T
pj
= Valor de salida deseado para el
j-simo neurn de la ltima capa
de la red.
O
pj
= Valor de salida real en el j-simo
neurn de la ltima capa de la red.
8
Algoritmo de Retro-propagacin
Sean:
W
ji
= Peso que conecta hacia el neurn j en la capa k
desde el neurn i en la capa k-1.
F = Funcin de activacin (contnua y diferenciable)
O
pj
= F(NET
pj
) Salida del j-simo neurn.
NET
pj
= E W
ji
O
pi
Donde O
pi
corresponde a la entrada de la red (X
i
)
si el neurn i est en la primera capa de la red.
ApW
ji
= Incremento en el peso W
ji
provocado por
el p-simo patrn.

9
Algoritmo de Retro- propagacin (cont.)
1.- Inicialice todos los pesos y valores umbrales de la red con nmero
reales pequeos generados al azar.
2.- Repita lo siguiente hasta que el error ET del conjunto de
entrenamiento sea aceptablemente pequeo, o alguna condicin
predeterminada de "fin de entrenamiento" sea verdadera:
2.1 Por cada patrn p en el conjunto de entrenamiento:
2.1.1 Lea el vector de entrada X
p
y el vector de la salida
deseada T
p
.
2.1.2 Calcule la salida de la red.
2.1.3 Calcule el error E
p
generado por el patrn p.


10
Algoritmo de Retro- propagacin
(cont.)
2.1.4 Ajuste todos los pesos de la red aplicando la
siguiente regla ( regla delta generalizada) a cada
uno de los pesos W
ji
W
ji
(t+1) = W
ji
(t) + ApW
ji

donde
ApW
ji
= qo
pj
Op
i
q = Coeficiente de aprendizaje ( 0 < q < 1)
o Se calcula de la siguiente manera:

a) Si j corresponde a un neurn en la capa de
salida de la red:
o
pj
= (T
pj
- O
pj
) F' (NET
pj
)

11
Algoritmo de Retro- propagacin
(cont.)
si la funcin de activacin es la sigmoide,
entonces:
F(x) = F(x)(1 - F(x) ), y
o
pj
= (T
pj
- O
pj
) O
pj
(1 - O
pj
)

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


donde la sumatoria acumula el error propagado
hacia atrs.

2.1.5 Regrese al paso 2.1

3.- Regrese al paso 2.

'
=
k
kj pk pj pj
w NET F o o ) (
12
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]
13
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]
| | 1
2
o
| | 1
1
o
| | 0
2
o
| | 2
2
o
14
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
o |0|
o |1|
o |0|
o |1|
o |2|
1
1
2
2
2
15
Calculo de valores delta en el
ejemplo (cont.)
] 2 , 0 [ 1 ] 1 , 0 [ 1 ] 0 , 0 [ 1 ] 0 [ 1
2 1 0
W X W X W X NET + + =
]) 0 [ 1 ( ] 1 [ 1 NET F OUT =
]) 1 [ 2 ( ]) 1 [ 2 1 ( ] 1 [ 2 NET F OUT T
'
= o
) ] 1 , [ 2 ] [ 2 ( ]) 1 [ 1 ( ] 1 [ 1

'
=
K
K W K NET F o o
] 1 , 2 [ 2 ] 2 [ 2 ] 1 , 1 [ 2 ] 1 [ 2 ] 1 , 0 [ 2 ] 0 [ 2 )( ] 1 [ 1 ( ] 1 [ 1 W W W NET F o o o o + +
'
=
16
Ejemplo de Retro-propagacin

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 crculo.

La red tiene 2 nodos de entrada (los puntos en el plano
cartesiano donde esta dibujado el crculo), 2 nodos de salida (2
posibles clases: dentro del crculo o fuera de l) y 8 nodos en la
capa escondida.

La red se entren con q = 0.3 . Se le mostraron 100 ejemplos
de cada clase.

La siguiente figura muestra el aprendizaje de la red en 4
diferentes momentos:
17
Ejemplo de Retro-propagacin
A
18
[Lipmann 87],
19
Una Solucin 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

20
Problema del XOR. Red en un Mnimo 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
21
Porque el Perceptrn no Puede Aprender El XOR?
Ninguna lnea recta puede dividir al plano de manera que las
as queden de un lado, y las bs 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)


22
Ventajas y Desventajas del Modelo de
Retro- propagacin
Puede resolver problemas donde las regiones de decisin no son lineales.
Es fcil de implementar (comparado con otros algoritmos) y es aplicable a
una gran cantidad de problemas.
Las redes de retro-propagacin soportan muy bien "ruido" en los datos de
entrada.
Puede ser extremadamente lento, sobre todo cuando la red es muy grande.
No es posible saber de antemano si un problema puede resolverse usando
este modelo.
El algoritmo puede caer en un "mnimo local" y nunca converger.
La red puede "paralizarse", es decir, los pesos crecen demasiado y los
neurones empiezan a trabajar con valores OUT muy grandes. En este
punto la derivada de la funcin es cero, y no puede haber mas cambios en
el error.
Ver algunos ejemplos en el tutorial
disponible en:


http://ccc.inaoep.mx/~pgomez/tutorials/Gomez2009T-ANN.zip
23
24
Seleccin 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
asociacin de patrones ), se presenta el problema de
decidir a que clase corresponde una salida de la red.
RNA
Seleccin de
clase
Y
* Ver anexo: Conceptos Bsicos de Reconocimiento
de patrones
25
SELECCIN 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:

26
SELECCIN DE UNA CLASE
(cont.)
Supongamos que la red tiene n neuronas en la
capa de salida, y que el problema tiene m
posibles clases o asociaciones. Sea la salida
de la red:

Y cada una de las clases:

) ... , (
2 1 n
y y y = Y
) ... , (
2 1 n
y y y = Y
) ... , (
.
) ... , (
) ... , (
2 1
2 22 21
1 12 11
mn m m
n
n
c c c
c c c
c c c
=
=
=
m
2
1
C
C
C
27
SELECCIN DE UNA CLASE
(cont.)
Para i = 1.. m, la distancia de Y a la clase
Ci est definida como:


y la clase escogida es:
2 2
2 2
2
1 1
) ...( ) ( ) (
2
1
n in i i i
y c y c y c d + + =
m i d escogida clase
i
.. 1 ) ( minimo _ = =
Bibliografa (cont.)
Lippman, R. P. An Introduction to computing with
neural Nets. IEEE ASSP Magazine, April 1987, pp. 4-
22
Rumelhart, David E., Geoffrey E. Hinton, and R. J.
Williams. Learning internal representations by Error
Propagation, In Parallel Distributed Processing:
Explorations in the Microstructure 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

28
Anexo:
conceptos bsicos sobre
reconocimiento de
patrones
29
30
RECONOCIMIENTO DE PATRONES
El proceso de reconocimiento de patrones tiene que ver con la
actividad de clasificar un objeto o hecho en alguna categora
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 conversacin
Leer un libro
Reconocer un amigo entre la multitud
Traducir de un lenguaje a otro
31
DEFINICION FORMAL DE
RECONOCIMIENTO DE PATRONES
Es la categorizacin de datos de entrada en clases identificadas,
por medio de la extraccin de caractersticas significativas o
atributos de los datos extrados de un medio ambiente que contiene
detalles irrelevantes [Tou & Gonzales, 1974].

Matemticamente hablando, la clasificacin consiste en la particin
del espacio n-dimensional definido por las caractersticas de un
objeto, en varias regiones, donde cada regin corresponde a una
clase.
32
SISTEMA CLASIFICADOR DE
PATRONES [DUDA & HART, 73]
OBJETO
TRANSDUCTOR
EXTRACTOR DE
CARACTERISTICAS
CLASIFICADOR
DECISION
33
PARTES PRINCIPALES DE UN SISTEMA
CLASIFICADOR DE PATRONES
Transductor
Toma la informacion de un objeto y la tranforma a seales
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.
34
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.

35
VECTORES DE CARACTERISTICAS
36
VECTORES DE CARACTERISTICAS (Cont.)
t
1
t
2
t
3
t
4
t
5

f(t1)
f(t2)
f(t3)
f(t4)
f(t1)
f(t2)
f(t3)
X = .
.
.
f(tn)
37
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 2
2 Clases:
Jugadores de foot-ball
americano
Jockeys
38
PROBLEMAS FUNDAMENTALES EN EL DISEO DE UN
SISTEMA RECONOCEDOR DE PATRONES
1. La representacin de los datos de entrada

2. Extraccin de las caractersticas

3. Determinacin del proceso de decisin optimo

4. Problemas de estimacin de parmetros
39
BLOQUE FUNCIONAL DE UN SISTEMA RECONOCEDOR
DE PATRONES ADAPTIVO
O
B
J
E
T
O
S

C
L
A
S
E
S

SENSADO
MEDIDAS
ANLISIS
DEL
CONTEXTO
VECTORES DE CARACTERISTICAS
O PRIMITIVAS
CATEGORI-
ZACIN
PRE-
PROCESAMIENTO Y
SELECCIN DE
CARACTERIS-TICAS
ESTIMACION
ADAPTACION
APRENDIZAJE
40
CLASIFICADOR USANDO REDES NEURONALES
ENTRADA
RED
NEURONAL
SELECCIN DE
CLASE
DECISION
ESTADOS DE UN CLASIFICADOR NEURONAL
APRENDIZAJE
CONOCIMIENTO
DE LA RED
RECONOCIMIENTO

S-ar putea să vă placă și