Aprendizaje Profundo (Primera sesión de demostraciones...
Transcript of Aprendizaje Profundo (Primera sesión de demostraciones...
![Page 1: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/1.jpg)
Aprendizaje Profundo(Primera sesion de demostraciones)
Actuales avances en Maquinas de Aprendizaje(Seminario FOM)
.
http://www.tsc.uc3m.es/˜mlazaro/Docencia/FOM.html
Marcelino Lazaro
Universidad Carlos III de Madrid
Marcelino Lazaro, 2018 1 / 25
![Page 2: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/2.jpg)
Indice de contenidos
Aprendizaje profundo (“deep learning” ) para clasificacion
I Aplicacion a una version reducida de la base de datos MNIST
Diseno de una red de autocodificadores apilados (SDA: StackedDenoising Autoencoders)
I Entreno de autocodificadoresI Uso de autocodificadores para la construccion de una red
profunda
Redes profundas con Drop-outRedes convolucionales (CNN: Convolutional Neural Networks)Breve descripcion de las funciones de aprendizaje disponibles
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 2 / 25
![Page 3: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/3.jpg)
Aprendizaje profundo(para clasificacion)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 3 / 25
![Page 4: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/4.jpg)
Red profunda: red neuronal con L capas ocultas (M-ario)
...
......
...... ...
...
......
......
......
......
......
......
......
x(0) x(1) x(2) x(L−1) x(L)
EntradaCO-1 CO-2 CO-(L − 1) CO-L CSo1
o2
o3
o4
o5
oM
y
maximo...
· · ·
· · ·
· · ·
· · ·
· · ·
· · ·
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 4 / 25
![Page 5: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/5.jpg)
Neurona - Capa k
...
x(k−1)
x(k−1)1
x(k−1)2
x(k−1)3
x(k−1)Dk−1
w(k)1,i
w(k)2,i
w(k)3,i
w(k)Dk−1,i
x(k)i = f
(∑Dk−1j=1 w(k)
j,i x(k−1)j + w(k)
b
)f (·) ≡ funcion de activacion
f (x) = tanh(x)+1
−1
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 5 / 25
![Page 6: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/6.jpg)
Funciones de activacion mas frecuentes
Lineal
f (x) = x+1
−1Logıstica
f (x) = 11+e−x
+1
−1Tangente Hiperbolica
f (x) = tanh(x)+1
−1
Lineal rectificada (ReLU)
f (x) =
{0, x < 0x, x ≥ 0
+1
−1
Softmax
oi =ezi∑M
k=1 ezk
Gausiana
f (x) = e−x2
2σ2
+1
−1
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 6 / 25
![Page 7: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/7.jpg)
Stacked Denoising Autoencoders
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 7 / 25
![Page 8: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/8.jpg)
Autocodificadores (“autoencoders”)
...
......
......
x x(k) x
CO-k CS∗
El entrenamiento de una capa oculta serealiza para obtener una proyeccion de suentrada sin perdida de informacion
I Entrada: x = x(k−1)
I Salida deseada: x = x(k−1)
La capa de salida se descartaI Se usa como mecanısmo para evitar la perdida
de informacion, al garantizar que la proyeccionobtenida es reversible
Denoising autoencodersI Se incluye ruido en la entrada para hacer la
proyeccion robusta a perturbaciones sobre laentrada
F Entrada: x = x(k−1) + nF Salida deseada: x = x(k−1)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 8 / 25
![Page 9: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/9.jpg)
Redes profundas con Drop-Out
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 9 / 25
![Page 10: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/10.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 10 / 25
![Page 11: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/11.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 11 / 25
![Page 12: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/12.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 12 / 25
![Page 13: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/13.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 13 / 25
![Page 14: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/14.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 14 / 25
![Page 15: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/15.jpg)
x1
x2
x3
x4
x5
o1
o2
o3
o4
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 15 / 25
![Page 16: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/16.jpg)
Redes Convolucionales
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 16 / 25
![Page 17: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/17.jpg)
Convolutional Neural Network (CNN)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 17 / 25
![Page 18: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/18.jpg)
Convolucion (con “padding”)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 18 / 25
![Page 19: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/19.jpg)
Max-Pooling
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 19 / 25
![Page 20: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/20.jpg)
Python
Descripcion de las funciones presentes enmetodosDL.py
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 20 / 25
![Page 21: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/21.jpg)
Funciones en Python (evaluacion MLPs)
(o,H)=mlp(x,W,tAct)I x: patrones de entrada (Ne x Np)I W: pesos de la red: lista the No + 1 elementos
F Capa oculta 1 (Nn1 x (Ne+1)F Capa oculta i (Nni x (Nn(i-1)+1)F Capa de salida (Ns x Nnu+1)
I tAct : parametro que define el tipo de funciones de activacion delas diferentes capas (vector de No+1 elementos)
F 0: linealF 1: tanhF 2: logisticF 3: rectified linear (ReLU)F 4: softmax
Nni: numero de neuronas de la capa oculta i (si i=0, Nni=Ne)Nnu: numero de neuronas de la ultima capa ocultaNo: numero de capas ocultas
I o: salida de la red neuronal (Ns x Np)I H: lista con las salidas de las capas ocultas (No elementos)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 21 / 25
![Page 22: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/22.jpg)
Funciones en Python (entrenamiento MLPs)
Entrenamiento de MLPs con distinto numero de capas ocultas(ws,paso,coste,dWm)=entrena mlp(x,y,W,Nepoch)
I x: patrones de entrada (Ne x Np)I W: lista con los pesos de la red (No+1 elementos)I Nepoch: lista con el numero de iteraciones y el tamano del mini-batch
F Nepoch=[Niter,Nbatch]
Parametros adicionalesI fCoste: funcion de coste a minimizar (’mmse’, ’entropia’, ’wmmse’)I optimizador: metodo de optimizacion (’gradiente’, ’momento’)I tAct: tipo de funciones de activacion de las capas de la redI pDO: probabilidad de Drop-Out de la entrada y capas ocultas (lista No+1 el.)I paso: parametros del paso de adaptacion
F Gradiente: paso=[mu,muCrec,muDec]F Momento: paso=[mu,momento]
I flagEvo: True para que se obtenga el coste cada iteracion
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 22 / 25
![Page 23: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/23.jpg)
Funciones en Python (entrenamiento AE)
Funciones para el entrenamiento de autocodificadores (AE)(we,wd,coste,mu)=entrena AE(x,we,wd,Nepoch,tAct,mu)Entrenamiento de un autocodificador(we,wd,coste,mu)=entrena AEtied(x,we,wd,Nepoch,tAct,mu)Entrenamiento de un autocodificador con pesos “atados”(we,wd,coste,mu)=entrena DAE(x,we,wd,Nepoch,tAct,mu,pRuido)Entrenamiento de un autocodificador con ruido(we,wd,coste,mu)=entrena DAEtied(x,we,wd,Nepoch,tAct,mu,pRuido)Entrenamiento de un autocodificador con ruido y pesos “atados”
I we: pesos del codificador (Nn x Ne+1)I wd: pesos del decodificador (Ne x Nn+1)I pRuido: probabilidad de ruido (de poner una entrada a cero)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 23 / 25
![Page 24: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/24.jpg)
Resultados (Aproximados)
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 24 / 25
![Page 25: Aprendizaje Profundo (Primera sesión de demostraciones ...mlazaro/Docencia/FOM/AP-Demostracion.pdfAprendizaje profundo (“deep learning”) para clasificacion´ I Aplicacion a una](https://reader035.fdocument.pub/reader035/viewer/2022070210/5f04fc437e708231d410b000/html5/thumbnails/25.jpg)
Resultados aproximados esperables
Resolucion 10 × 10 (2.000 patrones de entrenamiento)I Red neuronal de 1 capa oculta: ≈ 86,5 %I Red neuronal de 4 capas ocultas: ≈ 85 %I Red neuronal profunda con autocodificadores: ≈ 88,5 %I Red neuronal profunda con Drop-Out: ≈ 88 %
F Pocas muestras de entrenamiento, y muchas capas ocultasen la configuracion de pruebas
I Red CNN: ≈ 91 %Resolucion 28 × 28
I Red neuronal de 1 capa oculta: ≈ 92 %I Red neuronal profunda con autocodificadores: ≈ 98 %I Red neuronal profunda con Drop-Out: ≈ 98 %I Red CNN: ≈ 99 %
Marcelino Lazaro, 2018 Demostraciones: Aprendizaje Profundo 25 / 25