Curso de Ingeniería Neuronal Clase 2: Sistemas estáticos
Transcript of Curso de Ingeniería Neuronal Clase 2: Sistemas estáticos
Curso de Ingeniería NeuronalClase 2: Sistemas estáticos
Universidad de Santiago de ChilePrograma
Magíster en Ingeniería Informática
Septiembre 2014
Dr. Gonzalo Acuña L.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Temario• Introducción• Redes monocapa: Perceptron y Adaline
– El problema de la clasificación– Aprendizaje en redes monocapa
• Redes multicapa: Perceptron– El problema de la regresión– El método de retropropagación del error– Métodos de primer y segundo orden– El problema de la generalización
I . Introducción
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Sistema– Porción de la realidad que se desea aislar para
estudio.
– Combinación de elementos o componentes interrelacionados entre sí y con el todo, que actúan juntos para lograr una cierta meta.
– Variables entrada, salida, estado
Sistema estático: simultaneidad causa-efecto.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Denominación confusa:En el ámbito de los sistemas físicos,no implica
causas y efectos constantes en el tiempo.
Ejemplo: resistencia eléctrica y la Ley de Ohm:
R
i
+
-v
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Hay un problema transversal que es el de la “aproximación de funciones” que en el caso de sistemas estáticos puede diferenciarse en al menos otros dos subproblemas:
• Clasificación
• Regresión
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Clasificación:– Se trata de aproximar una función que
represente la probabilidad de pertenencia de un cierto objeto -caracterizado por un conjunto de variables de entrada, continuas o discretas- a una clase determinada (salida con valores discretos). Ejemplo: reconocimiento de caracteres.
y = f(x, w)
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Clasificación y funciones discriminantes• Cómo se puede realizar una clasificación?
• Mediante el uso de funciones discriminantes que están definidas en el espacio de vectores que se desea clasificar y producen un valor real que se puede comparar.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Se tiene una función (gi) por clase (si)
• La regla de clasificación es:
u Є si si gi (u ) > gj ( u ); j ≠ i
• Para problemas de 2 clases se puede reducir a una función: g(u ) = g1(u ) – g2 (u), luego u Є s1 g( u ) > 0 y u Є s2 si no.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Regresión:– Se trata de aproximar la función generadora
(desconocida) de un cierto proceso mediante otra que mapee elementos del conjunto de variables de entrada pertinentes en otros del conjunto de variables de salida. Usualmente aquí se trata con valores continuos.
y = f(x, w)
II. Redes Monocapa: Perceptron y Adaline
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Perceptron Monocapa
• Historia: Frank Rossenblat, 1957
• Red de “3 capas” la última de ellas con función de transferencia de tipo umbral lógico diseñada para tarea de clasificación
• retina - células de asociación – unidad de decisión
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Clasificación lineal mediante Perceptron
• El Perceptron realiza una función discriminante lineal:g (u) = a1 u1 + a2 u2 + ...+ an un + a n+ 1 = a . u
El valor asociado a g( u ) = 0 corresponde a la frontera, un hiperplano, que separa las dos clases.
• Los perceptrones son adecuados sólo para clases linealmente separables.
• El problema de aprendizaje se reduce a encontrar un hiperplano que separa a las clases.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
a y
X0
X1
w0
w1
0 0 1 1a X Xω ω θ= + = 01 0
1 1
X Xω θω ω
⇒ = − +
X0
X1
BB
BB
A
A
A
A
A
θ
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
REGLA DE APRENDIZAJE _
y ( x ) = Ø ( W • X) : Salida del perceptron ŷ ( x ) = Salida deseada Є 1, –1 ΔW k = η ( ŷ ( xk ) -y ( xk ) ) · xk
WK+1 = WK + ∆ WK
ó ∆WK = 0 si la salida es correcta + 2 η Xk Si ŷ ( xk ) = 1 , y ( Xk ) =-1
- 2η Xk Si ŷ ( xk ) = -1 ,y ( Xk ) =1
n > o; X1..... Xk : Secuencia de entrada
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Convergencia del algoritmo de aprendizaje del Perceptron:
Está demostrada para problemas linealmente separables la convergencia en un número finito de pasos.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Espacio de salida para compuerta AND
(1,1)
(1,0)
(0,1)
(0,0)
1.5 = w1*I1 + w2*I2
Input 1
Input 2
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Espacio de salida para compuerta XOR • => necesidad de capa oculta
(1,1)
(1,0)
(0,1)
(0,0)
Input 1
Input 2
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Redes Monocapa: Adaline
• Historia: Widrow - Hoff, 1960• Al igual que en el caso del Perceptron, se
desarrolló en forma independiente para resolver el problema de clasificación
• Adecuado cuando las clases son linealmente separables
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Entrenamiento:– Esta basado en el “Principio de Mínima
Alteración”
– Se basa en una regla de Mínimos Cuadrados considerando una función cuadrática del error de salida lo que finalmente da lugar a una regla, conocida como “Regla Delta” muy semejante a la del Perceptron.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Error cuadrático 2
ˆ2
1∑∑∈∈
−==Ss
ss
Ss
s yyEE
con s
ŷ : vectorde valores de salida deseados s
y : vector de salida de la red s s s 2
E : 2
1 I ŷ – y I medida del error cuadrático.
Para la muestra S : conjunto de muestras (entrenamiento)
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
2
1
( ) ( )
1( ( ) ( ))
2
( )
( 1) ( ) ( ( ) ( )) ( )
N
j j iji
y t W X t
J d t y t
Jd w X X
w
W t W t d t y t X tα=
= ⋅
= −
∂ = − −∂⇒ + = + −
∑
II. Redes Multicapa: Perceptron
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Redes Multicapas Definición : Red en la que sus neuronas están
ordenadas en capas o estratos sucesivos. Cada capa recibe entradas desde la capa previa ( o entrada externa ) y envía sus salidas a la capa siguiente. No hay conexiones internas en cada capa.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
V. RNA
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Σ… fNL Σ……
x1(t)x2(t)
xn(t)
vi 1
bin1
Σ… fNL
vi 2
bin2
Σ… fNL
vi p
binp
Σ…
Σ…
wj 1
bout1wj 2
bout2
wj m
boutm
. .
. . .
.
y1(t)
y2(t)
ym(t)
Retropropagación
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
X1
X2
1
w11
w12
w21
w22
w31 w32
1
w’11
w’21
w’31
y
Backpropagation
X1
X2
1
w11
w12
w21
w22
w31 w32
1
w’11
w’21
w’31
Pesos Iniciales
Aleatorios
Salida de la Red
ˆerror y y= −
Calculo de la salida
Cálculo del
error
Retropropagación del error
Modificación de los pesos de la Red
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
RetropropagaciónX1
X2
1
w11
w12
w21
w22
w31 w32
1
w’11
w’21
w’31
y
1 ( )tt t t t
Jw w d w
wη η+
∂= + = + −∂
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Ejemplo:
• Capa Salida:
1
2 21 11 2 21 31
'
1 1( ) [ ( ' ' ' ) ]
2 2t t t
a
J y d f O w O w w d= − = + + −144424443
1 111 '
( ) ' ( ) (1 )'
t
t t t t t t
Jy d f O y d y y O
wδ
∂ = − ⋅ ⋅ = − −∂ 1442443
12
2 2
22
1( )
1
(1 )'( ) (1 ) ( )
1 1
(1 ) (1 )
1 1
1 (1 )
'( ) (1 )
x
xx x
x x
x x
x x
Sea f xe
ef x e e
x
e e
e e
y ye e
f x y y
−
− −− − −
− −
− −
− −
=+
∂ +⇒ = = − + ⋅ −
∂+ −= =
+ +
= − = −+ +
⇒ = −
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Capa Escondida:
• Si varias salidas:
1
11 1 11
'
11 1 1 1
'
'
( ) (1 ) ' (1 )11 1 1 1
' (1 )
t
t
t
OJ J a(Regla de la cadena)
w a O w
y d y y w O O Xt t t t
' w O O X
δ
δ
δ
∂∂ ∂ ∂= ⋅ ⋅∂ ∂ ∂ ∂
= − − ⋅ ⋅ −
= ⋅ ⋅ ⋅ −
144444424444443
144424443
1 1 1' ' (1 )
t
k jkk
w O O X
δ
δ= ⋅ − ⋅∑144424443
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Salidas de la Red
Retropropagación
Error
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
X(t+1)
VZin (t)
)(1
1tNL e
f Zin−+=
Z(t)W
Y(t)X(t) E(t))1()( +−= ttfE XY
1=Ef&( )2)(
)(
1 t
t
NLe
ef
Zin
Zin
−
−
+=&
W j π E(t)
πZ(t)
-∆W
π
πX(t)
-∆V
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Retropropagación usando gradiente descendente
• Ventajas:– Implementación simple
– Método estándar que generalmente funciona bien
• Desventajas:– Lento e ineficiente
– Puede quedar atrapado en mínimos locales entregando resultados sub-óptimos
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Métodos de Gradiente– En General:
Problema: Convergencia lenta. Tendencia a
quedar atrapada en mínimos locales
1
1: ( )
dirección
k kamplitud
pasobusqueda
k k
w w h d
Gradiente w w d w
+
+
= + ⋅
= + −∇
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Mínimo local
Local Minimum
Global Minimum
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Ejemplo:2
1 1
2 1
( ) 1
: 1 1 1 ( 2 ) 1
1 1 ( 2 ) 1
.
k k
k
J x x y d
Si x x x
x x
cte
+
+ −
= == ⇒ = + ⋅ − = −
= − + ⋅ − =M
x
J(x)
-1 1
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Mejoras a Gradiente Descendente
• Momentum– Añade porcentaje del último movimiento al
actual
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
La opción de calcular en forma elegante y eficiente el gradiente permite tratar el problema de optimización con toda la batería de métodos de optimización que proporciona la optimización en sistemas no-lineales.
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Otros algoritmos para determinar valor de los pesos de
la red
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Métodos de optimización
• Gradiente Conjugado
• Quasi-Newton
• Simulated Annealing
• Algoritmos genéticos
• …etc
[ ]2ˆ21∑
=−=
k
sh
t
ti
ii YYJMin
¿Deterministas o Estocásticos?
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Fletcher y Reeves...
• Es una extensión del método de gradiente conjugado a funciones cualquiera (no necesariamente cuadráticas) y sin la utilización explícita del Hesiano.
• Etapa de inicialización:– Seleccionar un punto de partida
– Calcular
• Etapa iterativa– Determinar que minimiza
en la dirección
– Calcular donde
0x( )000 xfgd −∇=−=
kλ kkkk dxx ⋅+=+ λ1
kdkkkk dgd ⋅+−= ++ β11
kTk
kTk
kgggg⋅⋅= ++ 11β
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Gradiente Conjugado
Dirección de gradienteX0
X1
X2
Gradienteconjugado
1k wk kd J dβ −= −∇ +
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Métodos 2º orden tipo Newton
• Taylor de J(w):
0 0 0 0 0
2
0 0
0 0
10 0
1( ) ( ) ( ) ( ) ( ) (1)
2
(1) :
( ) ( ) ( ) (2)
( ) 0
0 ( ) ( )
( )
iji i j
J w J w w J w w w H w w
J JJ H
w w w
Derivando
J w J w H w w
mínimo J w
J w H w w
w w H J w−
= + − ∇ + − − +
∂ ∂∇ = =∂ ∂ ∂
∇ = ∇ + − +⇒ ⇒∇ =⇒ = ∇ + −
⇒ = − ∇
L
L
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Ejemplo:
• Quasi-Newton:– H-1 se aproxima en forma recursiva.
– BFGS Broyden, Fletcher, Goldfarb, Shanno
20
2
2
1 1
2 0
( ) ; 1
2 ; 2
11 ( 2 ) 0
21
0 ( 2 ) 02
J w w w
J Jw
w w
w w
w w
= =
∂ ∂= =∂ ∂
⇒ = + − =
= + − =
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Métodos Quasi-Newton
( )[ ] kkkkk gxfxx ⋅∇⋅−= −+
12
1 α
( )kxf2∇
es una aproximación convenientemente elegida
de…
kG
kG
Simétrica
Definida positiva
• Hay muchas formas de actualizar la matriz G o su inversa S y que satisfacen los criterios para anteriores.
kkk qpG =⋅kkkkk dxxp ⋅=−= + α1
kkk ggq −= +1
)()()(
1kkk
Tk
Tkkkkkk
kk pGqppGqpGq
GG⋅−⋅
⋅−⋅⋅−+=+
)())(
1kkk
Tk
Tkkkkkk
kk qSpqqSpqSp
SS⋅−⋅
⋅−⋅⋅−+=+
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Levenberg - Marquardt
• Modificación de Gauss-Newton
• Ventajas:– Bien definido aunque J no sea de rango pleno
– Globalmente convergente
1
1 [ ]T Tk k k k k k k
AproximaciónHessiano
w w J J I J rµ −+ = − +
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• - convergencia lineal
• Convergencia cuadratica
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Simulated Annealing• Energía mínima...
• ¿« f » diférenciable?
• ¿Óptimos locales?
• Parámetros?
• Enfriamiento?
• Calidad de la solución?
Ω
Estado inicial
Estado final
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Algoritmos genéticos
• Rango= [-4 , 4]
• Bits=8
• Población=30
• Generaciones=50
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
• Los algoritmos genéticos son una clase de estrategias de búsqueda que presentan un compromiso equilibrado y razonable entre la exploración y la explotación; en efecto, analisis teóricos han mostrado que los algoritmos genéticos generan este compromiso de manera casi óptima.
a) Inicializar la Población : Creary evaluar la población inicial decromosomas.
b) Seleccionar y reproducir loscromosomas.
c) Evaluar los “fitness ” del
nuevo hijo.
d) Substituir los cromosomas de lapoblación por los hijos.
e) Volver a b)
• Evaluación.
• Selección.
• Reproducción con cruzamiento y mutación
Universidad de Santiago de Chile Departamento de Ingeniería Informática
Ingeniería Neuronal Magíster en Ingeniería Informática
Problemas en la práctica...
• ¿Qué algoritmo utilizar?
• ¿Qué fórmula Q-N utilizar?
• ¿Qué tipo de búsqueda lineal sedeberá implementar?
• ¿Cómo hacer la corrección de la
matriz cuando ?1+kS ISo=