Análisis de Datos Perceptrón multicapa
Profesor: Dr. Wilfrido Gómez Flores
1
Introducción• De acuerdo con el consejo de la IEEE Neural Networks de 1996, inteligencia
artificial (IA) es el estudio de cómo hacer que las computadoras hagan cosas que los humanos hacemos mejor hasta ahora.
• Inteligencia computacional es una rama de la IA que estudia mecanismos adaptativos inspirados en la naturaleza para habilitar comportamiento inteligente en ambientes complejos y cambiantes.
2Paradigmas de inteligencia computacional
Redes neuronales artificiales
Computación evolutiva
Sistemas inmunes
artificiales
Sistemas difusos
Inteligencia de enjambre
Modelos probabilísticos
Modela el sistema inmune humano
Modela la selección natural
Modela el comportamiento social de organismos
Modela los sistemas neuronales biológicos
Modela la interacción de los organismos con
el ambiente
Neurona biológica• La neurona es una célula nerviosa cuya función es recolectar y
procesar señales eléctricas.
• Las neuronas presentan una morfología típica: un cuerpo celular llamado soma, prolongaciones cortas que transmiten impulsos hacia el soma denominadas dendritas y una prolongación larga llamado axón que conduce impulsos desde el soma hacia otras neuronas u órganos.
3
SomaNúcleo
Dendrita
AxónMielina
Terminal del axón
Modelo didáctico de una neurona biológica.
• El cerebro humano posee aproximadamente 1012 neuronas conectadas por aproximadamente 1014 sinapsis.
• La sinapsis es el enlace electro-químico para la transmisión del impulso nervioso entre neuronas.
• Las redes neuronales en el cerebro forman un sistema de procesamiento paralelo de información masiva.
• El aprendizaje puede deberse al cambio en la fuerza en las conexiones neuronales, es decir, agregar o eliminar conexiones (plasticidad sináptica).
• La eficacia de la sinapsis puede cambiar debido a la experiencia, dotando de memoria y aprendizaje a través de la potenciación a largo plazo.
4
Neurona biológica
Neurona artificial
• Tres trabajos sentaron las bases de las redes neuronales artificiales (RNA) actuales:
‣ McCulloch & Pitts (1943). Primer modelo neuronal simplificado. Podía resolver las operaciones lógicas AND, OR y NOT.
‣ Hebb (1949). Propone un modelo matemático que incluye el concepto de aprendizaje por medio de refuerzo o asociación.
‣ Rosenblatt (1959, 1962). Origen del concepto “machine learning”. Propuso el modelo perceptrón, el cual al ser entrenado converge en un número finito de iteraciones en clases linealmente separables.
5
• McCulloch y Pitts (1943) propusieron el primer modelo simplificado de una neurona artificial con comportamiento binario, es decir, dado un umbral de activación, θ, la respuesta de la neurona sufre un cambio abrupto de estado de 0→1 ó viceversa:
6
Neurona de McCulloch-Pitts
McCulloch & Pitts (1943), “A Logical Calculus and the Ideas Immanent in the Nervous Activity,” Bulletin of Mathematical Biophysics, vol. 5, pp. 115-133.
y = 1 si aii=1
n∑ ≥ θ y bjj=1
m∑ = 0
0 otro caso
⎧⎨⎪
⎩⎪
donde la respuesta de la neurona es:
(1)
Σ
a1a2
an
b1
b2
bm
θ
Entradas excitatorias
Entradas inhibitorias
y
• La implementación de las funciones lógicas AND, OR y NOT utiliza la siguiente configuración de la neurona:
7
Neurona de McCulloch-Pitts
Σa1
a2
b1
θ y
a1 a2 b1AND OR
θ=2 θ=10 0 0 0 01 0 0 0 10 1 0 0 11 1 0 1 1
a1 a2 b1NOT
θ=11 0 0 11 0 1 0
• Las principales limitantes del modelo de McCulloch-Pitts son:
‣ Los umbrales son determinados analíticamente, es decir, no existe un mecanismo de aprendizaje.
‣ Únicamente trabaja con problemas binarios
Teoría Hebbiana
• La teoría Hebbiana describe el mecanismo básico de plasticidad sináptica, el valor de una conexión sináptica se incrementa si las neuronas de ambos lados de la sinapsis se activan repetidas veces de forma simultánea y se debilita si se activan por separado.
8
Apple
MarcaProbablemente, en países de habla hispana, la palabra “Apple” esté más relacionada con la marca de computadoras que con la fruta.
Conexión fuerte
Fruta
Conexión débil
• El modelo de aprendizaje Hebbiano establece cómo modificar los pesos sinápticos, w=[w0,w1,…,wD], entre neuronas y se aplica para entrenar la neurona artificial de McCulloch-Pitts (1943), dando origen al modelo perceptrón introducido por Rosenblatt en 1958:
9
Perceptrón simple
Σ
x1
x2
φ
Ent
rada
s
f
wD
w3
w2
x3
xD
w1w0 Función de
transferencia
donde la respuesta de la neurona para un patrón x es:
f (x) = ϕ w0+ w
ixi
i=1
D
∑⎛⎝⎜
⎞⎠⎟
(2)
• El proceso de aprendizaje de una neurona consiste en adaptar los pesos sinápticos para realizar un mapeo entrada→salida:
10
Perceptrón simple
wj= 1N
yixi,j
i=1
N
∑ , j = 0,1,…,D (3)
donde N es el número de muestras de aprendizaje y yi es la salida deseada del patrón xi=[1,xi,1,xi,2,…,xi,D]T (aumentado).
• La función de transferencia define la salida de la neurona como:
ϕ(z) = +1 si z > θ −1 otro caso
⎧⎨⎩
(4)
donde θ es un umbral predeterminado.
11
Perceptrón simple• La implementación de las funciones lógicas AND, OR y NOT
utiliza la siguiente configuración de la neurona:
x1 x2AND OR NOT
wTx f wTx f wTx f
−1 −1 −1.5 −1 −0.5 −1 1 1
−1 1 −0.5 −1 0.5 1 −1 −11 −1 −0.5 −1 0.5 11 1 0.5 1 1.5 1
x1
f
w1
w0
w2x2
θ=0Σw
AND= [−0.5,0.5,0.5]
T
wOR
= [0.5,0.5,0.5]T
wNOT
= [0,0,−1]T
• El perceptrón simple es un clasificador lineal, donde los pesos pueden ser ajustados mediante un algoritmo de descenso de gradiente.
12
Perceptrón simple
Fronteras de decisión generadas por el perceptrón simple para los problemas AND (izquierda) y OR (derecha).
x1
x2
1
1−1
−1
x1
x2
1
1−1
−1
y = −1y = +1
• Uno de los resultados mostrados en el trabajo de Minsky y Papert (1969) fue que el perceptrón simple no es capaz de representar la compuerta XOR, ya que no existe separabilidad lineal entre clases.
13
Perceptrón simple
x1
x2
1
1−1
−1
x1 x2 XOR
−1 −1 −1−1 1 1
1 −1 1
1 1 −1
En el problema XOR no existe una única recta que separe a los puntos negros de los blancos.
*M. L. Minsky & S. A. Papert (1969). Perceptrons. Cambridge, MA: MIT Press.
14
Perceptrón multicapa
La capa de entrada distribuye las variables del patrón de entrada hacia la capa oculta. En la capa oculta se entrenan dos perceptrones para resolver la compuerta AND (rojo) y OR (negro) cuyas respuestas son combinadas en la capa de salida generando una solución bilineal al problema XOR. El umbral θ=0 para todos los perceptrones.
1
1−1
−1
x1
x2AND
ORθΣ0.5
θΣ0.5
0.5
0.5
θΣ−0.5
x1
x2
0.5
0.5
−0.5 f
Capa de entrada
Capa oculta
Capa de salida
0−0.5−0.5
15
Perceptrón multicapa
• Aunque el perceptrón multicapa es capaz de resolver el problema XOR, surge un problema en la generalización a problemas no linealmente separables: ¿cómo calcular los pesos sinápticos de las neuronas ocultas sin conocer su salida deseada?
• En 1974 P. Werbos planteó una solución para el entrenamiento del perceptrón multicapa, aunque fue hasta 1986 cuando Rumelhart propuso un algoritmo similar al que llamó retropropagación del error (backpropagation algorithm).
• El algoritmo backpropagation está basado en el método de descenso de gradiente para minimizar el error. Es un algoritmo ampliamente utilizado para entrenamiento supervisado de RNA.
P. J. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974. D. E. Rumelhart, G. E. Hinton, R. J. Williams, "Learning representations by back-propagating errors". Nature 323 (6088): 533–536, 1986.
Red neuronal prealimentada• El perceptrón multicapa da origen a la red neuronal prealimentada
(feedforward neural network, FNN) que utiliza el algoritmo backpropagation en el entrenamiento.
16
Una red de dos capas sólo genera fronteras de decisión lineales, mientras que una red con dos o más capas produce fronteras de decisión arbitrarias.
x1
x1
x2
x2
x1
x2
z
x1
x2
z
17
Red neuronal prealimentada
Una red FNN D-H-C totalmente conectada de tres capas y la notación utilizada para la derivación del algoritmo backpropagation.
x2
xD
x1
xi
x1
x2
xi
xD
wji y
1
y2
y3
yj
yH
wkj
z1
z2
zk
zC
t1
t2
tk
tC
ReferenciaSalida de
la red
Entrada Oculta Salida
Función de activación
• Un nodo oculto o nodo de salida genera una respuesta no lineal a una variable de entrada ponderada con un peso sináptico.
• Dicha respuesta no lineal está dada por una función de activación, siendo la función sigmoidal la más utilizada en FNN y se define como:
18
σ(x) = 11 + exp(−x)
(5)
y su primera derivada es:
σ(x)' = σ(x)(1 −σ(x)) (6)
• Se asume la misma no linearidad para todos los nodos ocultos y de salida de la FNN.
• El entrenamiento de la FNN consiste en encontrar el conjunto de pesos que reduzca el error de entrenamiento entre la salida de la red y la referencia (etiqueta de clase):
19
J(w) ≡ 12(tk− z
k)2
k=1
C
∑ = 12t − z
2(7)
donde t y z son los vectores de referencia (target) y salida de la red, respectivamente, y w representa a todos los pesos en la red.
• La regla de entrenamiento backpropagation está basada en descenso de gradiente. Los pesos se inicializan aleatoriamente y cambian en la dirección que reduce el error:
Δw = −η ∂J∂w (8)
donde η es la taza de aprendizaje. Entonces la regla de actualización en la iteración t es:
(9)
Aprendizaje de la FNN
w(t + 1) = w(t)+ Δw(t)
• Tomando el problema de entrenamiento de una FNN con tres capas, primero se derivan los pesos de las capas oculta→salida mediante la regla de la cadena:
20
∂J∂wkj
= ∂J∂zk
∂zk
∂wkj
(10)
• Derivando J se tiene:
∂J∂zk
= ∂∂zk
12(tk− z
k)2
⎛⎝⎜
⎞⎠⎟= −(t
k− z
k)
y derivando zk se tiene:
∂zk
∂wkj
=∂σ( !y
j)
∂wkj
= σ( !yj)(1 −σ( !y
j))y
j
donde !yj= w
kjyj.
(11)
(12)
Aprendizaje de la FNN
21
Δwkj= η(t
k− z
k)σ( !y
j)(1 −σ( !y
j))y
j
= ηδkyj
donde δk es la sensibilidad de la neurona k y describe cómo el error cambia con la activación de la neurona.
• Derivando los pesos de las capas entrada→oculta se vuelve aplicar la regla de la cadena:
(13)
• Entonces sustituyendo (11) y (12) en (8) se obtiene la regla de aprendizaje para los pesos de las capas oculta→salida:
∂J∂w
ji
= ∂J∂yj
∂yj
∂wji
(14)
Aprendizaje de la FNN
22
• Derivando J se tiene:
∂J∂yj
= ∂∂yj
12
(tk− z
k)2
k=1
C
∑⎛⎝⎜
⎞⎠⎟= − (t
k− z
k)
k=1
C
∑ ∂zk
∂yj
= − (tk− z
k)
k=1
C
∑ ∂zk
∂ !yj
∂ !yj
∂yj
= − (tk− z
k)
k=1
C
∑ σ( !yj)(1 −σ( !y
j))w
kj
(15)
• Derivando yj se tiene:∂yj
∂wji
=∂σ( !x
i)
∂wji
= σ( !xi)(1 −σ( !x
i))
∂ !xi
∂wji
= σ( !xi)(1 −σ( !x
i))x
i
(16)
Δwji= η δ
kwkjk=1
C∑⎡⎣⎢⎤⎦⎥σ( !x
i)(1 −σ( !x
i))x
i
= ηδjxi
(17)
donde Entonces, la regla de aprendizaje para los pesos de las capas entrada→oculta es:
!xi= w
jixi.
Aprendizaje de la FNN
• El cálculo del bias involucra una entrada ficticia cuyo valor es siempre la unidad para cada neurona de la red, de modo que todos los pesos bias se actualizan exactamente igual que los pesos sinápticos durante las iteraciones.
23
Aprendizaje de la FNN
x1
x2
z
1
Se considera una entrada unitaria para el cálculo del bias.
• En el algoritmo backpropagation, todos patrones de entrenamiento se presentan primero para generar una salida de la red con los pesos actuales y sólo entonces se actualizan los pesos. Este proceso se itera hasta que se cumpla una condición de paro.
24
Algoritmo backpropagation.
Begin initialize: w, N←#patrones, umbral θ, η, t←0do t←t+1 // Incrementa la época
p←0; ∆wji←0; ∆wkj←0 do p←p+1
xp← selecciona un patrón∆wji←∆wji + ηδjxi
∆wkj←∆wkj + ηδkyj until p=N wji←wji + ∆wji
wkj←wkj + ∆wkj until ||∇J(w)||<θreturn w
end
Aprendizaje de la FNN
Conjunto de validación• Para evitar el sobreentrenamiento de la red, adicionalmente al
conjunto de entrenamiento, se debe usar un conjunto independiente denominado conjunto de validación, de modo que el entrenamiento se detiene en el mínimo error de validación.
25
épocas
J
entrenamiento
validación
prueba
Una curva de entrenamiento muestra la función de costo en función del número de épocas. Los errores de validación y prueba son generalmente más altos que el error de entrenamiento.
Funciones discriminantes
• Para clasificar un patrón desconocido, se tendrán C neuronas de salida, una para cada clase, y la señal de cada neurona de salida es la función discriminante gk(x).
• Para un patrón de entrada x la respuesta de la k-ésima neurona de salida para una FNN D-H-C es:
26
gk(x) ≡ z
k= σ w
kjσ w
jixi
i=1
D
∑ +wj 0
⎛⎝⎜
⎞⎠⎟j=1
H
∑ +wk0
⎛
⎝⎜⎞
⎠⎟(18)
gp(x) > g
q(x), ∀p ≠ q
• Entonces, el patrón x es clasificado en ωp, p=1,…,C, si
(19)
27
Funciones discriminantesFNN 2-3-1 FNN 2-10-1x1
x2
x1
x2
x2x2
x1 x1
Ventajas de las RNAs• Las RNAs son relativamente fáciles de implementar y presenta las
siguientes ventajas:
‣ No linealidad. Dependiendo de la función de activación, una neurona puede tener una respuesta no lineal, de manera que con la interconexión de varias neuronas se pueden generar fronteras de decisión no lineales.
‣ Relación entrada-salida. Las RNAs aprenden de ejemplos, los cuales son introducidos como un conjunto de muestras etiquetadas donde a cada entrada le corresponde una salida.
‣ Adaptabilidad. Debido a su capacidad de aprendizaje continuo, las RNAs tienen la habilidad de adaptarse a problemas no estacionarios en el tiempo, adaptando sus pesos al entorno que las rodea.
‣ Tolerancia a fallos. El alto grado de paralelismo les confiere una gran robustez, ya que si una neurona o peso sináptico falla, el daño se ve amortiguado por las neuronas vecinas.
28
• Por otro lado, las RNAs presentan los siguientes problemas:
‣ Sobreentrenamiento. Cuando la red no es capaz de generalizar, es decir, que calcule correctamente las relaciones entrada-salida para muestras no presentadas durante el entrenamiento, se dice que se ha sobreentrenado.
‣ Número de neuronas. No existe una forma sencilla de definir el número adecuado de neuronas y capas ocultas.
‣ Mínimos locales. Durante el entrenamiento existe la posibilidad de caer en un mínimo local, es decir, la solución no alcanzó el mínimo error posible.
29
Desventajas de las RNAs
Top Related