REDES NEURONALESREDES NEURONALES
¿Qué son las Redes Neuronales?
Modelos simplificados del sistema nervioso central
Están formadas por un elevado número de elementos simples de computación interconectados que trabajan en paralelo
Modelo Neurona Artificial
x1
x2
x3
x4
xm
wi1
wi2
wi3
wi4
wim
yi
Elementode Procesamiento
Salida
Entradas
Modelo Simple Neurona Artificial
Modelo matemático (1943) Mc Culloch-Pitts
Operación:– Suma Ponderada de las
Entradas– Si la suma supera un
umbral, se activa la salida
– En caso contrario, se inhibe
Modelo matemático:
Los pesos wij representan la sinapsis que une la neurona j (fuente) con la i (destino)
m
jijiji txwaty
1
)()1(
Breve Historia de las Redes Neuronales
1943 Mc Culloch-Pitts (Primeros Modelos matemáticos)
1949 D. Hebb. Aprendizaje neuronal
1956 Rochester. Primeras simulaciones de redes neuronales
50’-60’ Rosenblatt introduce el Perceptrón
1969 Minsky y Papert publican un libro estudiando los problemas del Perceptrón. COMIENZO DE LA COMIENZO DE LA DÉCADA OSCURADÉCADA OSCURA
1970 Widrow. Primera aplicación redes neuronales (ADALINE y MADALINE)
Regla de Aprendizaje Widrow-Hoff (Mínimos Cuadrados)
1974 Werbos publica el algoritmo de RetropropagaciónRetropropagación, aunque no se utiliza hasta 1985 (PDP)
1982 Hopfield analiza el comportamiento de la red mediante teoría de Lyapunov
Aplicación de las Redes Neuronales al Control
La red puede aproximar cualquier función no lineal continua
Son unidades de procesamiento paralelo y distribuido
Permite generalizar y adaptarse en tiempo real
Puede trabajar con conceptos cuantitativos y cualitativos simultáneamente.
Pueden modelar sistemas multivariables
Arquitectura de las Redes Neuronales
Neurona– Elemento básico– Formada por:
Sumador Ponderado Función de Activación
continua
x n=wx+bF(n)
y
b
Funciones continuas utilizadas:
•Función EscalónFunción Escalón
•Función UmbralFunción Umbral
•Función RampaFunción Rampa
•Función SigmoidalFunción Sigmoidal
Arquitectura de Red
En general, las neuronas tienen más de una entrada...
x2 n=wx+bF(n)
y
b
x1
xR
R
Entrada Neurona
x2
n=wx+bF(n)
y
x1
xR
Entrada
Neurona
b
Vector xDimensión Rx1
1x1
1x1 1x1
1xR
Arquitectura de red
O más de una salida ...
x2
n1
F(n)y1
b1
x1
xR
Entrada
n2
F(n)y2
b2
n3
F(n)y3
b3
nSF(n)
yS
bS
SR
Arquitectura de Red
O más de una capa....
x2
n1
F(n)y1
x1
xR
Entrada
Neurona
b1
Vector xT
Dimensión 1xR
1xS1
1xS1 1xS1
RxS1
n2
F(n)y2
Neurona
b2
1xS2
1xS2 1xS2
S1xS2
n3
F(n)y3
Neurona
b3
1xS3
1xS3 1xS3
S2xS3
Arquitectura de Red
Capa de Entrada: Capa sensorial
Capa Oculta: Procesamiento de Datos
Capa de Salida: Respuesta al entorno
Capa Entrada
Capas Ocultas
Capa Salida
ENTORNO
Actuación sobre elEntorno
Conocimiento del Mundo Exterior
Entrenamiento de Redes
Entrenamiento = Ajuste de los pesosEntrenamiento = Ajuste de los pesos
– Entrenamiento supervisado (99% de las aplicaciones neuronales)
– Entrenamiento no supervisado (el resto)
Según el flujo de datos:– Redes
Unidireccionales (de entrada salida)
– Redes Recurrentes (donde realimentación de la salida a la entrada)
Funcionamiento de las Redes
Aprendizaje
Ajuste de pesos
Ejecución
Aplicación
Entradax1
x2
:XR
Red Neuronal
Saliday1
y2
:yL
Entrenamiento
Entradax1
x2
:XR
Red Neuronal
Saliday1
y2
:yL
Ejecución
Perceptrón
Propuesto por Rosenblatt (1961)
F(n) es una función umbral (o escalón)
Permite clasificar vectores dividiendo el espacio de entrada en dos regiones
Sólo puede resolver problemas de separación separación LINEALLINEAL (OR-Exclusivo)
x2 i
ni
F(n)yi
bi
x1
i
xR
iR
Entrada
Neurona i
Función Umbral +1
-1
Reglas de Aprendizaje
La señal ri es función de (wi,x, di)
El incremento de los pesos será:
wi(t) = ri [wi(t), x(t), di(t)] x(t)
Luego:
wi(t+1) = wi(t) + wi(t)
x2 i
ni
F(n)yi
bi
x1
i
xR
iR
Entrada Neurona i
i
Señal Deseada,di
Aprendizaje
ri
Reglas de Aprendizaje
Regla del Perceptrón:
ri = dik-yi
k
Regla de Hebb
jiij xyw
0
2 kj
kik
jkT
ik
ik
ij
xdxsigndw
xw
Sólo puede Clasificar VECTORES DE ENTRADA Sólo puede Clasificar VECTORES DE ENTRADA LINEALMENTE SEPARABLESLINEALMENTE SEPARABLES
Solución al Problema Or-Exclusivo
x1
x2
[0,0] [1,0]
[1,1][1,0]
¡Utilizar Redes con dos capas!.– La Capa de Entrada
Dos Perceptrones– Capa de Salida
Perceptron adicional
Problema: ENTRENAMIENTOENTRENAMIENTO
Adaline (Adaptive Linear Neuron)
(1959) Widrow Función de Activación
LINEAL
Sistema de ec. Lineales solución si los vectores
x son LINEALMENTE INDEPENDIENTES
Función de COSTE:
E(w) minimiza la suma de los cuadrados de los errores.
Método de entrenamiento DESCENSO POR EL DESCENSO POR EL GRADIENTEGRADIENTE
kR
i
ki dwix
1
p
k
kTkp
k
kk dydwE1
2
1
2
2
1
2
1)( xw
Regla de Widrow-Hoff
Basada en el DESCENSO DESCENSO DE GRADIENTEDE GRADIENTE
Si los cambios se hacen individualmente para cada patrón de entrada:
Factor de AprendizajeFactor de Aprendizaje
)(ww wE
ki
p
k
kTk
ii x
w
Ew
1
2)(xwd
w
ki
kTki xw xwd
Regla de Aprendizaje Delta
Generalización de la regla la regla de Widrow-Hoffde Widrow-Hoff para funciones de Activación Activación Continuas DiferenciablesContinuas Diferenciables
Función de Coste:Función de Coste:
Aplicando descenso de descenso de gradiente (BATCH):gradiente (BATCH):
En En identificación/controlidentificación/control los los pesos se va actualizando al pesos se va actualizando al presentar nuevas entradas, presentar nuevas entradas, xx::
p
k
S
i
kTi
ki
p
k
S
i
ki
ki FdydE
1 1
2
1 1
2)(
2
1
2
1)( xww
kj
kTi
p
k
kTi
ki xFFd
wij
Exwxw
w')(
)(
1
kj
kTi
kTi
kiij xFFd
wij
Ew )(')(
)(xwxw
w
Perceptron Multicapa
Solución a problemas de clasificación de vectores no separables linealmente
Al utilizar funciones de activación no lineales, es posible modelar sistemas no linealesno lineales
Problema:EntrenamientoEntrenamiento 1974 Paul Werbos 1986 Grupo PDP populariza el algoritmo
Algoritmo de Retropropagación
Red Multicapa.Función de Activación DiferenciableActivación Diferenciable
x1
x2
x3
y1
y2
y3
1
2
3
4
5
6
7
8
y6
y7
y8
y4
y5
w11
w12
w13
w33
w23w13
w53
w43
w41 w64
w85
w74
Algoritmo de Retropropagación
Error Cuadrático:
Ajuste de pesos:
Relación neuronas 4 y 8
w84 n8 y8 E
Aplicando Regla de la Cadena:
Definiendo error equivalt.:
8(x) = (d8-y8)F'8(n8(x))
Ajuste Pesos Capa Salida:w84
t+1 = w84t + 8y
w74t+1 = w74
t + 7y4
w64t+1 = w64
t + 6y4
w85t+1 = w85
t + 8y5
w75t+1 = w75
t + 7y5
w65t+1 = w65
t + y5
288
277
2662
1ydydydE
0 , 1
ij
tijt
ijtij w
wEww
4888884
8
8
8
884
84 )(')(
ynFydw
n
n
y
y
E
w
wE
Algoritmo Retropropagación (2)
Capa Oculta. Conexión neuronas 1 y 4.
representa la relación entre y4 y E.
Calculando el primer término:
Error Equivalente:4=(6w64+7w74+8w84)F'4(n4)
w41 n4 y4
n6
n7
n8
E
y6
y7
y8
144441
4
4
4
441
41 )('~~
)(ynF
y
E
w
n
n
y
y
E
w
wE
4
~yE
848747646
848888747777
6466664
8
8
8
8
4
7
7
7
74
6
6
6
64
)(')()(')(
)(')(~
~~~
www
wnFydwnFyd
wnFydy
n
n
y
y
E
y
n
n
y
y
E
y
n
n
y
y
E
y
E
Algoritmo Retropropagación (3)
Agrupando:
La variación del peso w41 vendrá dada por:
1441
41)(y
w
wE
w41t+1 = w41
t + 4y1
Algoritmo Retropropagación (4)
Aspectos a considerar:– Pesos Iniciales. Aleatorios
y pequeños– Constante de Aprendizaje– Función Cuadrática– Número de Patrones– Tipo de Patrones– Número de Capas – Número de Neuronas
Ocultas
Variantes:– Término de momento
– Otras reglas de Actualización basadas en el método de Newton (calculando la matriz Hessiana)
w(t) = -E(t)+ w(t-1)