redes neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · aprendizaje...
TRANSCRIPT
![Page 1: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/1.jpg)
Redes Neuronales
Las redes neuronales son modelos computacionales que buscan imitar el funcio-namiento de las neuronas biologicas.
Se usan principalmente para el reconocimiento de patrones complejos.
Para construir una red neuronal, es necesario hacerla pasar por un proceso deaprendizaje.
Jorge Baier Aranda, PUC 24
![Page 2: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/2.jpg)
Redes Neuronales Artificialies (RNAs)
Una red neuronal es un grafo dirigido construido a partir de elementos computa-cionales basicos. Una red neuronal codifica funciones numericas.
La funcion representada depende de parametros de la red (especificados comoetiquetas en el grafo), y de la arquitectura de la misma (forma dada a lasinterconexiones).
Los elementos computacionales basicos de una red son:
• Suma un nodo suma recibe un conjunto de entradas numericas. Cada entradapuede provenir de otros nodos o del medio.
Σ
x0
xn
... ∑ni=0 xi
Jorge Baier Aranda, PUC 25
![Page 3: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/3.jpg)
• Multiplicacionx
wwx
• Umbral (threshold units)
x cd0 en otro caso1 si x > 0
Jorge Baier Aranda, PUC 26
![Page 4: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/4.jpg)
¿Cuándo Utilizar RNAs?
Problemas de aprendizaje altamente multidimensional (valores discretos o reales)
Funcion a aprender (funcion objetivo) real o discreta (puede ser vectorial).
Datos con ruido.
Funcion a aprender con forma desconocida.
El resultado (la funcion objetivo encontrada) no requiere de ser analizada.
Jorge Baier Aranda, PUC 27
![Page 5: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/5.jpg)
Una Neurona
El modelo de neurona de McCulloch-Pitts (1943) o perceptron es:
x1
xn
x0 = 1
w0w1
wn
Σ cd
...
Esta neurona elemental es conocida como una unidad de umbral lineal (linearthreshold unit o ltu) y representa una familia de funciones parametrizada por lospesos w1, w2, . . . , wn, en particular, la funcion de salida sera:
f(x) =
{1 Si
∑ni=0 wixi > 0
0 en otro caso
Jorge Baier Aranda, PUC 28
![Page 6: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/6.jpg)
En notacion vectorial:
f(x) =
{1 Si w · x > 0,
0 en otro caso.
La funcion de salida se conoce tambien como funcion de activacion.
Jorge Baier Aranda, PUC 29
![Page 7: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/7.jpg)
Funciones no Lineales
Ademas de la funcion umbral que hemos visto recien, se utilizan funcionescontinuas, las mas utilizadas son:
Gaussiana:f(x) = e−
12σ
∑ni=1(xi−ci)
2
-5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
Activación Gaussiana
1.000.52
Jorge Baier Aranda, PUC 30
![Page 8: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/8.jpg)
Donde σ y c1, . . . , cn son constantes. La respuesta de esta funcion depende de ladistancia entre x y c.
Sigmoidal: Se utiliza como una alternativa no lineal a la funcion umbral (cd).
f(x) =1
1 + e−∑n
i=1 wixi
-5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Activación Sigmoidal
Esta funcion tambien se conoce como funcion logıstica. Una razon importantepara preferir esta funcion a la funcion umbral , es que 1/(1 + e−x) es continua ydiferenciable.
Jorge Baier Aranda, PUC 31
![Page 9: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/9.jpg)
Tangente Hiperbolica: Similar a la funcion logıstica, pero tiene como rango a[−1, 1]. La expresion es la siguiente.
1− e−x
1 + e−x.
Jorge Baier Aranda, PUC 32
![Page 10: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/10.jpg)
Redes Neuronales
Una red neuronal se construye en base a neuronas como la de McCulloch-Pitts.Si N1, . . . , N3 son neuronas de dos entradas, entonces una red puede ser como:
x3
x1 N1
N2
N3
N4
N5
N6x2
Toda red neuronal determina una familia de funciones de salida. Una configuracionde pesos determina a una funcion individual de la familia.
Jorge Baier Aranda, PUC 33
![Page 11: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/11.jpg)
Estructura de una Red Neuronal
Existen muchos tipos de redes neuronales.
Las redes neuronales mas utilizadas de tipo feed-forward , que son grafos dirigidosacıclicos.
En el resto de nuestra exposicion trabajaremos con redes que estan ordenadas encapas. En una red de este tipo, cada neurona esta conectada solo con neuronasde la siguiente capa.
Jorge Baier Aranda, PUC 34
![Page 12: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/12.jpg)
Aprendizaje en Redes Neuronales
Para lograr que una red neuronal pueda representar una funcion es necesariosometerla a un proceso de aprendizaje.
Debemos estar conscientes que por el solo hecho de elegir una cierta estructurapara la red estamos incurriendo en un sesgo inductivo.
Si queremos aprender una funcion f(x) podemos usar una red neuronal de algunaarquitectura y pesos que hay que definir.
Jorge Baier Aranda, PUC 35
![Page 13: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/13.jpg)
Limitaciones de los Perceptrones
Los perceptrones solo pueden aprender conceptos linealmente separables.
Un concepto es linealmente separable si existe un hiperplano capaz de separartodos los puntos que el concepto clasifica como 1 de los que clasifica como 0.
Por ejemplo, un perceptron no puede aprender el XOR.
Jorge Baier Aranda, PUC 36
![Page 14: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/14.jpg)
Regla de Aprendizaje del Perceptrón
Veremos el caso particular de la neurona de McCulloch-Pitts:
La red se inicializa con valores aleatorios para los pesos wi. Si se esta procesandoun ejemplo de entrenamiento con salida correcta d y la red entrega salida y, elpeso wi de la entrada xi se ajusta de acuerdo a la regla:
wi ← wi + η(d− y)xi.
η es una constante positiva llamada constante de aprendizaje.
La regla de aprendizaje se aplica iterativamente a cada uno de los ejemplos. Cadavez que se procesa un ejemplo, se ajustan los pesos.
Si todos los ejemplos se clasifican correctamente, se detiene el proceso. En otrocaso, se vuelve al punto anterior.
Jorge Baier Aranda, PUC 37
![Page 15: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/15.jpg)
Error Cuadrático Medio
El problema de aprendizaje en una red neuronal es un problema de busqueda.
El espacio queda definido por:
• La arquitectura de la red.• El espacio de valores de los parametros de la red (pesos).
Dada la arquitectura de la red, buscaremos una hipotesis que maximice elrendimiento (minimice el error, con respecto a los ejemplos). Ası, si T es unconjunto de n ejemplos, con 〈xi, di〉 ∈ T para i = 1 . . . n, el rendimiento es:
P = −1n
n∑i=1
(f(xi)− di)2.
donde f(xi) corresponde a la salida de la red para el i−esimo ejemplo (conside-rando una unidad con una sola salida).
La medida anterior considera el error mirando todos los ejemplos, por lo cual esapropiada para metodos de aprendizaje batch.
Jorge Baier Aranda, PUC 38
![Page 16: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/16.jpg)
La reglaDeltade entrenamiento
La regla delta de entrenamiento esta basada en un analisis matematico de lafuncion de salida de los perceptrones.
Esta basada en el metodo del gradiente.
Una de sus ventajas es que funciona con cualquier funcion de activacion diferen-ciable.
Deduciremos uns regla de actualizacion de pesos para hacer aprender a unperceptron sin umbral (ADALINE). Es decir, una unidad lineal con:
o(x) = w · x
Si D = {〈x0, d0〉, . . . , 〈xn, dn〉} es el conjunto de entrenamiento, consideremosla funcion de error como:
E(w) =12
n∑k=1
(dk − o(xk))2
Jorge Baier Aranda, PUC 39
![Page 17: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/17.jpg)
El Gradiente
∇E(w) =[
∂E
∂w0,
∂E
∂w1, . . . ,
∂E
∂wm
],
donde m es la dimension de los ejemplos.
Ahora:
∂E
∂wi
=∂
∂wi
1
2
n∑k=1
(dk − o(xk))2
=1
2
n∑k=1
∂
∂wi
(dk − o(xk))2
=
n∑k=1
(dk − ok)∂
∂wi
(dk − o(xk))
=
n∑k=1
(dk − ok)∂
∂wi
(dk − w · xk)
=n∑
k=1
(dk − ok)(−xk,i),
Jorge Baier Aranda, PUC 40
![Page 18: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/18.jpg)
donde xk,i es la i-esima componente de xk.
Como el gradiente da la direccion de mayor crecimiento, los pesos se puedenactualizar con la regla:
w← w − η∇E(w).
o bien:
wi ← wi + ηn∑
k=1
(dk − ok)(−xk,i).
Jorge Baier Aranda, PUC 41
![Page 19: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/19.jpg)
Algoritmo de descenso por el gradiente
Descenso-Gradiente(ejemplos,η).
Cada ejemplo es un par 〈x, d〉 y η es la tasa de aprendizaje.
Inicializar los pesos wi en un valor pequeno aleatorio.
Repita hasta que converja:
• Inicialice ∆wi en cero.• Para cada 〈x, d〉 en ejemplos:◦ Calcule la salida o de la unidad.◦ Para cada peso wi:
∆wi ← ∆wi + η(d− o)xi.
• Para cada wi:wi ← wi + ∆wi.
Jorge Baier Aranda, PUC 42
![Page 20: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/20.jpg)
Unidad de Umbral Sigmoidal
En redes mas complejas, se utilizan con frecuencia unidades con funciones deactiviacion no lineales. Una de las mas populares son las unidades sigmoidales.
x1
xn
x0 = 1
w0w1
wn
...S
σ(net)
Donde:net = w · x
y
o = σ(net) =1
1 + e−net
Jorge Baier Aranda, PUC 43
![Page 21: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/21.jpg)
Una caracterıstica util de la funcion logıstica es que:
dσ(x)dx
= σ(x)(1− σ(x)).
Jorge Baier Aranda, PUC 44
![Page 22: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/22.jpg)
Gradiente del error en Unidades Sigmoidales
Consideremos la medida de error E definida previamente y calculemos:
∂E
∂wi
=∂
∂wi
1
2
n∑k=1
(dk − ok)2
=1
2
n∑k=1
∂
∂wi
(dk − ok)2
=
n∑k=1
(dk − ok)∂
∂wi
(dk − ok)
=
n∑k=1
(dk − ok)
(−
∂ok
∂wi
)
Jorge Baier Aranda, PUC 45
![Page 23: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/23.jpg)
Pero,
∂ok
∂wi=
∂σ(netk)∂wi
=∂σ(netk)
∂netk
∂netk∂wi
= ok(1− ok)xk,i
donde xk,i es la i-esima componente de xk.
Finalmente:∂E
∂wi= −
n∑k=1
(dk − ok)ok(1− ok)xk,i
Jorge Baier Aranda, PUC 46
![Page 24: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/24.jpg)
Redes Multicapa
Veremos como entrenar redes de dos capas y extenderemos el resultado al casogeneral.
Una red de dos capas se ve de la siguiente manera:
xi
x1
xn
...
...
z1
z0 = 1
zj
zJ
x0 = 1
1
k
J K
j
1
w(2)kj
yK yK
ykyk
y1 d1
dk
dK
w(1)ji
Donde y1, . . . , yL son las salidas de la red y d1, . . . , dL son los datos usados paraentrenar.
Jorge Baier Aranda, PUC 47
![Page 25: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/25.jpg)
Si consideramos el error cuadratico de todas las salidas,
E(x) =12
K∑m=1
(dm − ym)2
obtenemos la regla de actualizacion para los pesos de la ultima capa:
∆w(2)kj = −η
∂E
∂w(2)kj
= η(dk − yk)f ′(netk)zj,
donde k = 1, . . . ,K y j = 1, . . . , J y netk =∑J
l=0 wklzl y donde f es la funcionde activacion.
Para obtener la regla de actualizacion de pesos de w(1)ji es necesario aplicar la
regla de la cadena, obteniendose lo siguiente:
∆w(1)ji = ρh
[K∑
k=1
(dk − yk)f ′(netk)w(2)kj
]f ′(netj)xi
Jorge Baier Aranda, PUC 48
![Page 26: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/26.jpg)
Error Backpropagation
Backpropagation(ejemplos, η, nin, nout , nhidden)
Caso particular de una red con una capa escondida, con conexiones completas hacia adelante y
unidades sigmoidales.
Inicializar todos los pesos en valores aleatorios pequenos.
Repita hasta que haya convergencia:
Para cada ejemplo:
1. Procese el ejemplo a traves de la red y calcule la salida.
2. Para cada unidad k de salida:
δk ← yk(1− yk)(tk − yk)
3. Para cada unidad escondida h
δh ← yh(1− yh)∑
k∈salidas
wkhδk
4. Actualizar los pesos wj,i:
wji ← wji + ηδjxj,i
Jorge Baier Aranda, PUC 49
![Page 27: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/27.jpg)
Comentarios al Algoritmo
El ciclo principal del algoritmo se repite miles de veces. La condicion de terminopuede cambiarse:
Numero fijo de iteraciones.
Terminar cuando el error en los ejemplos caiga bajo un valor prefijado.
Terminar cuando el error en un conjunto de validacion obedezca un criterio, etc.
Jorge Baier Aranda, PUC 50
![Page 28: Redes Neuronales - jabaier.sitios.ing.uc.cljabaier.sitios.ing.uc.cl/iic2622/rna.pdf · Aprendizaje en Redes Neuronales Para lograr que una red neuronal ... un perceptron no puede](https://reader030.vdocuments.co/reader030/viewer/2022021512/5af52c6c7f8b9ae9488d1b0c/html5/thumbnails/28.jpg)
¿Qué podemos representar?
Funciones booleanas: Cualquier funcion booleana es representable por una redcon una capa escondida. El numero de nodos en la capa escondida puede crecerexponencialmente en el numero de entradas.
Funciones continuas: Cualquier funcion continua acotada puede representarsecon una red con una capa escondida de unidades sigmoidales y una capa de salidade unidades lineales (sin umbral).
Funciones Arbitrarias: Cualquier funcion puede aproximarse con una red condos capas escondidas de unidades sigmoidales y una capa de salida de unidadeslineales (sin umbral).
Jorge Baier Aranda, PUC 51