análisis de datos - maestría y doctorado en ciencias en
TRANSCRIPT
Análisis de Datos
Redes neuronales arti�ciales
Perceptrón multicapa
Dr. Wilfrido Gómez Flores
Introducción
Redes neuronales arti�ciales (ANN) � modelos inspirados en el
funcionamiento de las neuronas biológicas, cuyo propósito es mapear
una entrada en una salida deseada.
Morfología típica de una neurona biológica: un cuerpo celular llamado soma,prolongaciones cortas que transmiten impulsos hacia el soma denominadas den-dritas y una prolongación larga llamado axón que conduce impulsos desde elsoma hacia otras neuronas u órganos; por tanto, su función es recolectar y pro-cesar impulsos eléctricos.
1/32 Conceptos básicos AD-14
Introducción
• La sinapsis es el enlace electro-químico para la transmisión de
impulsos nerviosos entre neuronas.
• En la red neuronal del cerebro humano hay aproximadamente
1012 neuronas conectadas por aproximadamente 1014 sinapsis.
• Sistema de procesamiento paralelo de información masiva.
• Las neuronas reciben entradas desde otras neuronas y envían
salidas hacia otras neuronas.
• Plasticidad sináptica � El aprendizaje puede deberse al cambio
en la fuerza en las conexiones neuronales.
2/32 Conceptos básicos AD-14
Introducción
Trabajos principales que de�nieron las bases de las ANN actuales:
• McCulloch & Pitts (1943) � Primer modelo neuronal simpli-
�cado que resolvía las operaciones lógicas AND, OR y NOT.
• Hebb (1949) � Modelo matemático que incluye el concepto de
aprendizaje por medio de refuerzo o asociación.
• Rosenblatt (1958) � Modelo perceptrón, converge en un nú-
mero �nito de iteraciones en clases linealmente separables.
• Rumelhart (1986) � Propuso el algoritmo de retropropagación
del error para el entrenamiento de ANN.
3/32 Conceptos básicos AD-14
Modelo de McCulloch & Pitts
El modelo neuronal presenta una respuesta binaria:
y =
1 si∑n
i=1 ai ≥ θ ∧∑m
j=1 bj = 0,
0 otro caso.(1)
ai es una entrada excitatoria, bj es una entrada inhibidora y θ es un umbral.
4/32 Conceptos básicos AD-14
Modelo de McCulloch & Pitts
AND OR NOTa1 a2 b1
θ = 2 θ = 1 θ = 1
0 0 0 0 0 �
1 0 0 0 1 1
0 1 0 0 1 �
1 1 0 1 1 �
1 0 1 � � 0
Funciones lógicas implementadas con el modelo de McCulloch & Pitts.
• Importancia � La suma de las entradas es transformada por una
función de transferencia que emula el impulso de salida.
• Limitante � No incorpora aprendizaje automático del mapeo de
las entradas en salidas deseadas.
5/32 Conceptos básicos AD-14
Modelo perceptrón
Respuesta del perceptrón a un patrón de entrada x:
g(x) = φ
(w0 +
d∑i=1
wixi
), φ(u) =
+1 si u > 0,
−1 otro caso.(2)
Modelo perceptrón basado en la neurona arti�cial de McCulloch & Pitts.
6/32 Conceptos básicos AD-14
Modelo perceptrón
Teoría Hebbiana: describe el mecanismo básico de plasticidad si-
náptica, donde 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.
Los pesos sinápticos se modi�can con base en un modelo de apren-
dizaje Hebbiano:
wj =1
n
n∑i=1
yixij , j = 0, 1, . . . , d, (3)
donde n es el número total de muestras de aprendizaje y yi es la salida
deseada de la i-ésima muestra de aprendizaje xi = [1, xi1, . . . , xid]T .
7/32 Conceptos básicos AD-14
Modelo perceptrón
• Aprendizaje de la función lógica AND generando el mapeoX → y:
X =
+1 +1 +1 +1
−1 −1 +1 +1
−1 +1 −1 +1
, y = [−1,−1,−1,+1]
• Cálculo de los pesos sinápticos:
yixij =
−1 −1 −1 +1
+1 +1 −1 +1
+1 −1 +1 +1
, w =
−0.5+0.5
+0.5
• Respuesta del perceptrón:
wTX = [−1.5,−0.5,−0.5,+0.5], φ(wTX) = [−1,−1,−1,+1]
8/32 Conceptos básicos AD-14
Modelo perceptrón
AND OR NOTx0 x1 x2
wTx g(x) wTx g(x) wTx g(x)
1 −1 −1 −1.5 −1 −0.5 −1 1 1
1 −1 1 −0.5 −1 0.5 1 −1 −11 1 −1 −0.5 −1 0.5 1
1 1 1 0.5 1 1.5 1
Funciones lógicas implementadas con el modelo perceptrón utilizandoaprendizaje Hebbiano. Los pesos aprendidos son: wAND = [−0.5, 0.5, 0.5]T ,wOR = [0.5, 0.5, 0.5]T , y wNOT = [0, 0,−1]T .
9/32 Conceptos básicos AD-14
Modelo perceptrón
-1 1
-1
1
(a)
-1 1
-1
1
(b)
Las funciones lógicas AND y OR representan un problema de clases linealmenteseparables, de modo que el perceptrón es capaz de encontrar una frontera de de-cisión. Un solo perceptrón no es capaz de representar la compuerta OR-exclusiva(XOR), ya que no existe separabilidad lineal entre clases.
10/32 Conceptos básicos AD-14
Red de perceptrones
El problema XOR se puede resolver fácilmente con una red de perceptrones detres capas. La capa de entrada distribuye las variables del patrón de entrada haciala capa oculta. En la capa oculta se entrenan dos perceptrones para resolver lascompuertas AND y OR cuyas respuestas son combinadas en la capa de salidagenerando una solución bilineal al problema XOR. A este tipo de arquitectura sele denomina perceptrón multicapa (MLP).
11/32 Conceptos básicos AD-14
Red de perceptrones
-1 1
-1
1
Solución bilineal al problema XOR usando un perceptrón multicapa con trescapas. La región de decisión de la clase ω2 (puntos rojos) es discontinua.
12/32 Conceptos básicos AD-14
Red neuronal feed-forward
• Perceptrón multicapa (MLP) � capaz de resolver el problema
XOR con una red de perceptrones con tres capas.
• Problema � ¾Cómo calcular los pesos sinápticos de los nodos
ocultos sin conocer su salida deseada? (Minsky & Papert, 1969)
• Solución � Algoritmo backpropagation basado en descenso de
gradiente y regla de la cadena (Rumelhart et al., 1986).
• MLP también se conoce como red neuronal feed-forward
(FNN), que puede tener otras funciones de activación diferentes
a la función escalón del perceptrón.
13/32 Conceptos básicos AD-14
Red neuronal feed-forward
Red neuronal feed-forward de tres capas totalmente conectada, denotada comod−h− c: d nodos de entrada, una capa oculta con h nodos, y c nodos de salida.
14/32 Conceptos básicos AD-14
Funciones de activación
Función Grá�co Expresión 1ra derivada
Lineal f(x) = x f ′(x) = 1
Sigmoidal f(x) = 11+e−x
f ′(x) = f(x)(1− f(x))
Tanh f(x) = 21+e−2x − 1 f ′(x) = 1− f(x)2
ReLU f(x) =
0 x < 0
x x ≥ 0f ′(x) =
0 x < 0
1 x ≥ 0
Leaky ReLUf(x) =
αx x < 0
x x ≥ 0f ′(x) =
α x < 0
1 x ≥ 0
Una función de activación genera respuestas no lineales en los nodos de las capasocultas, después de aplicar el producto punto entre entradas y pesos.
15/32 Conceptos básicos AD-14
Capa de salida
• La función softmax provee la probabilidad posterior para la k-ésima
clase en la capa de salida:
zk ≡ σ(uk) =exp(uk)∑cl=1 exp(ul)
. (4)
• Primera derivada de la función softmax:
∂σ(uk)
∂uj=
σ(uk)(1− σ(uj)) k = j,
−σ(uj)σ(uk) k = j.(5)
• Generalizando (5) en términos de una matriz Jacobiana:
∂σ(uk)
∂uj=
σ(u1)− σ(u1)σ(u1) . . . −σ(uc)σ(u1)
... σ(uk)− σ(uk)σ(uj)...
−σ(u1)σ(uc) · · · σ(uc)− σ(uc)σ(uc)
.
(6)
16/32 Conceptos básicos AD-14
Capa de salida
• En el caso particular de dos clases, se puede usar un solo nodo de
salida activado por la función sigmoidal:
z ≡ σ(u) =1
1 + exp(−u). (7)
• Primera derivada de la función sigmoidal:
σ′(u) = σ(u)(1− σ(u)). (8)
• Nótese que la función softmax recibe un vector, mientras que la
función sigmoidal recibe una escalar.
17/32 Conceptos básicos AD-14
Función de pérdida
Minimizar la entropía cruzada categórica:
J(w) = −c∑
k=1
tk log(zk),
= −c∑
k=1
tk
(uk − log
c∑l=1
eul
), (9)
donde t = [t1, . . . , tc]T es la salida deseada en formato one-hot-
encoding, y z = [z1, . . . , zc]T es el vector de respuestas en la capa
de salida, donde el k-ésimo elemento es
zk = σ
wk0 +
h∑j=1
wkjf
(wj0 +
d∑i=1
wjixi
) , (10)
donde f(·) es una función de activación y σ(·) es la función softmax.
18/32 Conceptos básicos AD-14
Función de pérdida
• Durante el entrenamiento de la ANN, la función de pérdida es
calculada como el promedio de la entropía cruzada sobre todas las
muestras de entrenamiento:
J(w) = − 1
n
n∑i=1
c∑k=1
tik log(zik). (11)
• En el caso particular de dos clases, se minimiza entropía cruzada
binaria:
J(w) = − [t log(z) + (1− t) log(1− z)] , (12)
donde t ∈ {0, 1} es la salida deseada, y z es la salida de la red
dada por la función sigmoidal.
19/32 Conceptos básicos AD-14
Algoritmo backpropagation
Para minimizar J(w), se utiliza el algoritmo backpropagation, en
donde los pesos se actualizan mediante la regla de descenso de gra-
diente:w(1) arbitrario
w(k + 1) = w(k)−∆w(k) k ≥ 1(13)
donde la dirección que reduce el error es
∆w = −η∂J(w)
∂w, (14)
donde η es la tasa de aprendizaje.
20/32 Conceptos básicos AD-14
Algoritmo backpropagation
Tomando como referencia una FNN d→ h→ c:a
• Actualización de los pesos de la capa oculta→salida:
∆wkj = η(tk − zk)yj ,
= ηδkyj . (15)
• Actualización de los pesos de la capa entrada→oculta:
∆wji = η(∑c
k=1δkwkj
)σ′(wjixi)xi,
= ηδjxi. (16)
aPara las notaciones ver la diapositiva 2.
21/32 Conceptos básicos AD-14
Descenso de gradiente batch
Input: w, η, n, rmax, umbral θOutput: w
1 r ← 02 do3 r ← r + 14 m← 0, ∆wji ← 0, ∆wkj ← 05 do6 m← m+ 17 xm ← selecciona un patrón
8 ∆wji ← ∆wji + ηδjxi9 ∆wkj ← ∆wkj + ηδkyj
10 until m = n11 wji ← wji +∆wji
12 wkj ← wkj +∆wkj
13 until ∥∇J(w)∥ < θ ∧ (r < rmax)
22/32 Conceptos básicos AD-14
Descenso de gradiente estocástico
• Actualización de pesos después de observar una sola muestra.
• �Expulsa� el descenso del gradiente de mínimos locales, ya que
agrega ruido al proceso de aprendizaje.
• Más rápido que el descenso de gradiente batch.
Input: w, η, rmax, umbral θOutput: w
1 r ← 02 do3 r ← r + 14 x← selecciona un patrón aleatoriamente
5 wji ← wji + ηδjxi6 wkj ← wkj + ηδkyj7 until ∥∇J(w)∥ < θ ∧ (r < rmax)
23/32 Conceptos básicos AD-14
Descenso de gradiente mini-batch
(a)
1
2 batch
1
2 mini
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Épocas
1
2 SGD
(b)
(a) Descenso de gradiente mini-batch es un compromiso entre descenso de gra-diente batch y estocástico (SGD). La actualización de pesos se realiza con unconjunto pequeño de muestras. (b) Curvas de aprendizaje para cada estrategiade descenso de gradiente.
24/32 Conceptos básicos AD-14
Consideraciones
• Bias � Patrones de entrenamiento aumentados a Rd+1.
• Normalización � Escalar las variables predictoras para que tengan
media cero y desviación estándar unitaria:
zij =xij − µj
σj, i = 1, . . . , n, j = 1, . . . , d. (17)
• Inicialización de pesos � Aleatoria con distribución uniforme:
• Capa entrada→oculta: −1/√d < wij < +1/
√d.
• Capa oculta→salida: −1/√h < wkj < +1/
√h.
• Tasa de aprendizaje � Fijo, decreciente y adaptativo:
• Fijo: típicamente es η ≃ 0.001.
• Decreciente: disminuye η después de ciertas épocas.
• Adaptativo: aumenta o disminuye η en función del error.
25/32 Conceptos básicos AD-14
Consideraciones
• Número de capas ocultas � Una o inclusive dos si es necesario.
Múltiples capas tienden a caer en mínimos locales.
• Número de nodos � Capa de entrada igual al número de di-
mensiones d y capa de salida igual al número de clases c. El nú-
mero de nodos ocultos h de�ne la complejidad de las fronteras
de decisión; se puede determinar mediante validación cruzada.
• Estabilidad numérica softmax � Evitar desbordar las expo-
nenciales:
σ(uk) =exp(uk −max(u))∑cl=1 exp(ul −max(u))
, (18)
donde u = [u1, . . . , uc].
26/32 Conceptos básicos AD-14
Consideraciones
Una curva de aprendizaje 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 elerror de entrenamiento. En algunos protocolos, el criterio de paro es el mínimoerror de validación, ya que el entrenamiento excesivo de la red puede sobre-ajustar la fronteras de decisión a los datos de entrenamiento.
27/32 Conceptos básicos AD-14
Momentum
• Si la super�cies de error tienen mesetas, entonces ∇J(w) → 0;
por tanto, el descenso de gradiente no avanzará.
• Momentum � Cantidad de movimiento que tiene un objeto, la
cual cambiará si actúa una fuerza externa sobre el objeto.
• Mantener el momentum del descenso de gradiente ejerciendo una
fuerza de empuje.
• Se incluye a la regla de aprendizaje una fracción α de la actuali-
zación del peso en una época anterior (Nesterov momentum):
v(k) = α(αv(k − 1) + ∆w(k)) + ∆w(k),
w(k + 1) = w(k) + v(k).(19)
donde v se denomina vector de velocidad y comúnmente α ≃ 0.9.
28/32 Conceptos básicos AD-14
Momentum
Input: w, η, α, rmax, umbral θOutput: w
1 r ← 02 vji ← 03 vkj ← 04 do5 r ← r + 16 x← selecciona un patrón aleatoriamente
7 vji ← α(αvji + ηδjxi) + ηδjxi8 wji ← wji + vji9 vkj ← α(αvkj + ηδkyj) + ηδkyj
10 wkj ← wkj + vkj11 until ∥∇J(w)∥ < θ ∧ (r < rmax)
29/32 Conceptos básicos AD-14
Momentum
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Épocas
1
2
El momentum ayuda a acelerar la convergencia.
30/32 Conceptos básicos AD-14
Clasi�cación con FNN
• Respuesta de k-ésimo nodo de salida para un patrón arbitrario x:
gk(x) ≡ zk = σ
wj0 +
h∑j=1
wkjf
(wk0 +
d∑i=1
wjixi
) , (20)
donde f(·) es la función de activación sigmoidal para los nodos
ocultos y σ(·) es la función softmax para los nodos de salida.
• Regla de clasi�cación � Decidir ωi si gi(x) > gj(x), ∀i = j.
31/32 Conceptos básicos AD-14
Clasi�cación con FNN
-1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
(a)
-1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
(b)
Fronteras de decisión generadas por una FNN con 10 nodos ocultos para (a) dosclases no linealmente separables (problema XOR) y (b) cinco clases.
32/32 Conceptos básicos AD-14