And Regla Delta
And Regla Delta
And Regla Delta
Artificiales
Dr. Ral R. Leal Ascencio
rea de Control Automtico
Departamento de Electrnica,
Sistemas e Informtica.
[email protected]
Contenido del curso
Introduccin y Antecedentes
Perceptron
Estructura y entrenamiento
Separabilidad lineal
Aplicaciones (funciones lgicas, clasificacin)
Redes Lineales
Estructura y entrenamiento
Razn de aprendizaje
Nodos adaptativos
Aplicaciones (filtros lineales adaptativos, aproximacin lineal)
Redes Multicapa
Estructura y entrenamiento
Mejoras de entrenamiento
Pre y post procesamiento
Aplicaciones (reconocimiento ptico de caracteres, sensores
virtuales)
Redes de Funciones de Base Radial
Estructura y entrenamiento
Aplicaciones (reconocimiento y clasificacin de patrones)
Perspectiva histrica
Pre-1940: von Hemholtz, Mach, Pavlov, etc.
Teoras generales sobre el aprendizaje, visin y condicionamiento
sin modelos matemticos especficos sobre la operacin neuronal.
1940s: Hebb, McCulloch and Pitts
Mecanismo de aprendizaje en neuronas biolgicas
Redes de elementos neuronales pueden hacer cmputo
aritmtico
1950s: Rosenblatt, Widrow and Hoff
Primeras redes artificiales (RNA) prcticas y reglas de aprendizaje
1960s: Minsky and Papert
Demostraron las limitaciones de las RNA existentes, no se estaban
desarrollando nuevos algoritmos de aprendizaje. Muchas
investigaciones en el campo se suspenden.
1970s: Amari, Anderson, Fukushima, Grossberg,
Kohonen
Continuan trabajando en el tema pero a pasos mas lentos.
1980s: Grossberg, Hopfield, Kohonen, Rumelhart, etc.
Desarrollos importantes causan un resurgimiento de estudios en
el campo.
Algunas posibles aplicaciones
Espacio areo
Pilotos automticos de alto desempeo, simulaciones y
predicciones de trayectoria de vuelo, sistemas de control de
vuelo, deteccin de fallas en componentes de la nave.
Automotriz
Sistemas automticos de navegacin, comando por voz
Bancos
Lectores de documentos, evaluadores de asignacin de crdito,
identificador de firmas.
Defensa
Electrnica
Prediccin de secuencias de cdigos, control de procesos, anlisis
de fallas de circuitos, visin de mquina, sntesis de voz,
modelado no lineal.
Algunas posibles aplicaciones
Robtica
Control de trayectorias, control de manipuladores, sistemas de visin.
Voz
Reconocimiento de voz, compresin de voz, sintetizadores de texto a
voz.
Telecomunicaciones
Compresin de datos e imgenes, servicios automticos de
informacin, traduccin de lenguaje hablado en tiempo real.
Transportation
Sistemas ruteadores, diagnstico de motores, tiempos y movimientos.
Seguridad
Reconocimiento de rostros, identificacin y acceso de personas
Algunas posibles aplicaciones
Financieros
Evaluacin de bienes races, consultor de prestamos, valuacin
de bonos corporativos, anlisis sel uso de la lnea de crdito,
prediccin de tipo de cambio.
Manufactura
Control de procesos de manufactura, anlisis y diseo de
productos, diagnstico de mquinas y procesos, identificacin de
partes en tiempo real, sistemas de inspeccin de calidad,
prediccin de fin de proceso, anlisis de mantenimiento de
mquinas, modelado de sistemas dinmicos.
Medicina
Deteccin de cncer mamario o en la piel, anlisis de EEG y ECG,
diseo de prtesis, optimizacin de tiempos de trasplante,
reduccin de gastos en hospitales.
Oficinas postales, Verificacin remota, etc.
Aspectos biolgicos
Las neuronas son lentas
10
-3
s comparadas con 10
-9
s para circuitos elctricos
El cerebro usa cmputo masivamente paralelo
~10
11
neuronas en el cerebro
~ 10
4
conexiones por neurona
Cmputo convencional
CPU Memoria
Qu limitaciones tiene este esquema?, qu
problemas no podran ser resueltos as?
Mquina
von Neuman
Tomar una instruccin de memoria.
Tomar datos de memoria requeridos por la
instruccin.
Ejecutar la instruccin (procesar los datos).
Almacenar resultados.
Regresar al paso#1.
Una Neurona
E S
Procesamiento
de informacin
a = x1*w1 + x2*w2;
y = F(a);
neurona
E
F(a)
x1
x2
w1
w2
y
a
Definiciones
Una RNA es un conjunto de nodos ordenados
adaptables los cuales, a travs de un proceso de
aprendizaje mediante ejemplos prototipo, almacenan
conocimiento de tipo experiencial y lo hacen
disponible para su uso. [An Introduction to Neural
Computing. Igor Aleksander and Helen Morton,
1990]
Una RNA es un ensamble de elementos procesadores
simples y adaptables, cuya funcionalidad est
burdamente basada en una neurona animal. La
habilidad de procesamiento de la red est
almacenada en la intensidad de las conexiones entre
elementos, obtenidos por un proceso de adaptacin a
un conjunto de patrones de entrenamiento.
Tipos de aprendizaje
Aprendizaje supervisado
A la red se le provee de un conjunto de ejemplos que
representen la relacin adecuada de entrada/salida
(entradas/salida deseada)
p
1
t
1
{ , } p
2
t
2
{ , } . p
Q
t
Q
{ , } , , ,
Aprendizaje reforzado
A la red slo se le da una indicacin sobre el grado de
desempeo de la red
Aprendizaje no supervisado
La nica informacin disponible para la red son las
entradas. La red aprende a formar categoras a partir de
un anlisis de las entradas
El Perceptron
Frank Rosenblatt desarrolla una prueba de convergencia
en 1962 y defini el rango de problemas para los que su
algoritmo aseguraba una solucin. Adems propuso a
los 'Perceptrons' como herramienta computacional.
neurona
E
F(a)
x1
x2
w1
w2
y
a
y = F(a)
y = 1, si (x
1
w
1
+ x
2
w
2
) > u
y = 0, si (x
1
w
1
+ x
2
w
2
) < u
Qu tipo de problemas resuelve?
Un hiperplano es un objeto de
dimensin n-1 que acta en un
espacio de dimensin n.
En general un perceptron de n
entradas puede ejecutar cualquier
funcin que est determinada por un
hiperplano que corte un espacio de
dimensin n. Implicaciones?
Funciones realizables
X1 X2 Y
0 0 0
0 1 1
1 0 1
1 1 1
x1
x2
(0,0) (1,0)
(1,1) (0,1)
1
0
1
1
Qu tipo de funcin no sera realizable?
x1
x2
(0,0) (1,0)
(1,1)
(0,1)
1
0
1
1
Notar que el vector
de pesos es
perpendicular al
hiperplano. Esta
caracterstica se extiende
a dimensin n.
u =
=
i
n
i
i
x w
1
u = +
i i i i
x w x w
|
|
.
|
\
|
+
|
|
.
|
\
|
=
2
1
2
1
2
w
x
w
w
x
u
b mx x + =
1 2
Si hacemos w1=1, w2=1 y theta=0.5, tenemos:
Ecuacin del hiperplano
Separabilidad lineal
El perceptron tiene la capacidad de clasificar vectores de
entrada dividiendo el espacio de entrada en dos regiones
mediante una hiperplano. Si el espacio de entrada no es
separable de esta manera, un perceptron no encontrar
solucin.
u = +
i i i i
x w x w
0 ) 1 ( = + + u
i i i i
x w x w
0 = + u
i i i i
x w x w
Ajuste del valor del valor de umbral como un peso ms.
W X=0
(producto punto = qu tan alineados estn)
W
X
W X>0
W
X
W X=0
W
X
W X<0
Si W X >= 0, y = 1; Si W X < 0, y = 0
Qu pasa si no obtenemos el resultado deseado?
Se requiere de un ajuste. Cmo?, De qu valor?
Para entender mejor al procedimiento de entrenamiento, vamos
a introducir una representacin vectorial.
W
oX
W
X
W=W-oX
W
X
W=W+ oX
W
oX
Si el resultado es 0 en lugar de 1:
En resumen:
donde 0< o <1
Si el resultado es 1 en lugar de 0:
w = w + o(t-y)x Aw = o(t-y)x
A esto se le llama la regla de aprendizaje Delta.
El parmetro o es la razn de aprendizaje.
Algoritmo de entrenamiento del
Perceptron
repetir
para cada par en los vectores de entrenamiento (x,t)
evaluar la salida y
i
cuando x
i
es la entrada al ...
perceptron
si y = t, entonces
forme un nuevo vector de pesos w de
acuerdo a...
la ecuacin correspondiente
de otra manera,
no haga nada
fin (del si)
fin (del para)
hasta que y = t para todos los vectores.
Los valores de los pesos para este caso estn restringidos
entre -1 y 1.
Ejemplo
Supongamos que un perceptron de dos entradas
tiene pesos iniciales 0, 0.4 y umbral 0.3. Se
requiere que este perceptron aprenda la funcin
lgica AND. Suponga una razn de aprendizaje o
de 0.25. Usando el algoritmo anterior complete la
tabla hasta que encuentre convergencia. El
percepton usado es el que muestra la figura.
x1
x2
y
w2
w1
t
a
w
1
= 0.0
w
2
= 0.4
u = 0.3
o = 0.25
t = Funcin AND
w=w+o(t-y)x
Aw
i
=o(t-y)x
i
y = 1, si (x
1
w
1
+ x
2
w
2
) > u
y = 0, si (x
1
w
1
+ x
2
w
2
) < u
w
1
w
2
u x
1
x
2
a
y t o(t-y) Aw
1
Aw
2
A u
0 0.4 0.3 0 0 0 0 0 0 0 0 0
0 0.4 0.3 0 1 0.4 1 0 -0.25 0 -0.25 0.25
0 0.15 0.55 1 0 0 0 0 0 0 0 0
0 0.15 0.55 1 1 0.15 0 1 0.25 0.25 0.25 -0.25
1) Cuntas iteraciones se requieren para la convergencia?
2) Cules son los valores de convergencia de los pesos y el umbral?
3) Defina algebricamente el hiperplano de decisin.
4) Demuestre grficamente que ste hiperplano es un lmite apropiado para
la distincin de clases (ver grfica) y que el vector de pesos y el hiperplano
son ortogonales.
Resultado
-0.5 0 0.5 1 1.5 2
-0.5
0
0.5
1
1.5
2
x1
x2
Funcion lgica e hiperplano de decisin
w
Valores finales: w1=0.5, w2=0.15, theta=0.55.
Ec. de la recta: x2 = -(3.333)x1+3.667
x1
x2
(0,0) (1,0)
(1,1) (0,1)
1
0
0
1
Esta funcin sera realizable con un Perceptron, o no?
Qu pasa si la funcin que queremos realizar
ahora es la siguiente?
X1 X2 Y
0 0 0
0 1 1
1 0 1
1 1 0
Medicin del desempeo
Qu es el factor (t - y)? Para los Perceptrons, hay correccin,
si hay error. Slo se detecta la presencia del error, no su
magnitud.
En entrenamiento, cmo se sabe que se ha encontrado
convergencia?
En general, en entrenamiento se usa la figura de error de
'SSE' o suma de los cuadrados de los errores:
( ) ( ) ( )
sse e k t k y k
k
Q
k
Q
= =
= =
2
1
2
1
( )
Esto se usa para cuando se esta entrenando una red en 'batch'
o por lotes. Un lote en este caso es el conjunto de vectores de
entrada que se muestran a la red para que sta los procese en
conjunto (en lugar de presentarlos vector por vector).
EPOCA y BIAS
Se le llama poca a cada iteracin de la red por el
lote de entradas en la que haya ajuste de
variables. El ajuste de variables se puede hacer
despus de la presentacin de vectores de entrada
individuales o por lotes.
La variable u tambin es llamada elemento de
tendencia o 'bias' porque, como se ve en la figura
anterior, es el que mueve el hiperplano de
decisin a lo largo del eje 'x' (en este caso). A
esta variable se le denomina en muchas ocaciones
con el smbolo 'b'.