¿Qué es Deep Learning? - Catecbol

Ruta de Aprendizaje. ○ Nos enfocaremos en los conceptos fundamentales sin entrar en detalles matemáticos. ○ Se proveerán referencias a los fundamentos .... (Speed-up techniques). 4. Muchos parámetros con los cuales jugar (Magia Negra). 5. Pueden sufrir diferentes problemas (Veremos en un próximo Webinar). 44 ...
2MB Größe 6 Downloads 91 vistas
Catecbol www.catecbol.com

Capacitación Tecnológica Científica para Bolivia facebook.com/catecbol

@catecbol

[email protected]

Introducción a Deep Learning Diego Collarana Alemania

La unión es la fuerza

1

Introducción Personal – Diego Collarana Estudios • • • •

UCB (Pre-grado) UPM (M.Sc.) TUK (M.Sc.) Uni-Bonn (Ph.D.)

Experiencia en Investigación • • • •

OEG DFKi Fraunhofer IESE Fraunhofer IAIS

Experiencia en la Industria • MedSpazio Corp • PirAMide SRL

Área de Investigación: Integración y análisis de datos para las empresas, usando tecnologías semánticas y deep learning. País de residencia: Alemania 2

Introducción Personal – Diego Collarana Acerca de Fraunhofer-Gesellschaft ● De los centros de investigación más grandes del mundo. (2€ billones anuales) ● Centros en toda alemania y el mundo ● Investigación aplicada y transferencia de tecnología ● 2/3 del financiamiento deben ser generados por contratos con la industria. El 1/3 restante es provisto por el gobierno federal. ● Hacemos investigación + innovación + emprendimiento 3

Introducción Personal – Diego Collarana Acerca de Fraunhofer-Gesellschaft ● De los centros de investigación más grandes del mundo ● Centros en toda alemania y el mundo ● Investigación aplicada y transferencia de tecnología ● 2/3 del financiamiento deben ser generados por contratos con la industria. El 1/3 restante es provisto por el gobierno federal. ● Hacemos investigación + innovación + emprendimiento 4

Introducción Personal – Diego Collarana Acerca de Fraunhofer-Gesellschaft

Ruta de Aprendizaje

Ruta de Aprendizaje

● Nos enfocaremos en los conceptos fundamentales sin entrar en detalles matemáticos ● Se proveerán referencias a los fundamentos matemáticos ● Ningún framework se utilizará en este webinar

Preguntas

Agenda

1/6

Motivación ● ¿Qué es Deep Learning? ● ¿Por qué es importante aprender Deep Learning? ● ¿Que puedo hacer con Deep Learning?

9

Motivación ¿Por qué es Deep Learning hoy un Hot-Topic? ● Deep Learning está generando tanta emoción es por su aparentemente ilimitada aplicabilidad ● Ha hecho posible cosas que suenan a ciencia ficción, como vehículos auto-manejados, Diagnóstico por imágenes o Reconocimiento de Voz ● La automatización es el futuro de las aplicaciones, y Deep Learning es el futuro de la automatización ● Deep Learning combina la belleza teórica de la matemáticas, con poderosas aplicaciones

10

Motivación ¿Por qué es Deep Learning hoy un Hot-Topic? Ahora tenemos muchos datos para entrenar y tenemos poder de cómputo más barato y accesible para todos

11

Motivación ¿Por qué es Deep Learning hoy un Hot-Topic? Ahora tenemos muchos datos para entrenar y tenemos poder de cómputo más barato y accesible para todos

12

Motivación ¿Por qué debo aprender Deep Learning?

1) Para obtener un buen trabajo

2) Para hacer un emprendimiento

3) Para hacer bien social

13

Motivación ¿Por qué debo aprender Deep Learning?

1) Para obtener un buen trabajo

● Todos las grandes empresas están usando Deep Learning ● Los gigantes tecnológicos están pagando salarios espectaculares a gente con experiencia en Deep Learning ● En las plataformas de Freelance a uno no le faltará trabajo, y con muy buena remuneración.

[1] https://www.nytimes.com/2017/10/22/technology/artificial-intelligence-experts-salaries.html 14

Motivación ¿Por qué debo aprender Deep Learning?

● Las aplicaciones y servicios que se pueden producir son ilimitadas 2) Para hacer emprendimiento

● Cualquier start-up en la actualidad tiene que tener algo de A.I. ● Ejemplo DeepL Translator ha sido capaz de vencer a los grandes como Google, o Microsoft en su propio juego

[1] https://www.deepl.com/translator 15

Motivación ¿Por qué debo aprender Deep Learning?

● Puedes desarrollar aplicaciones que ayuden a la sociedad 3) Para hacer bien social

● CheXNet es capaz de detectar Neumonía en Rayos-X del pecho mejor que los radiólogos.

[1] https://stanfordmlgroup.github.io/projects/chexnet/ 16

Aplicaciones con Deep Learning Tipos de tareas que se pueden resolver con Deep Learning

Classification

Regression

Clustering

Predicción de precios de casa

17

Ejemplo de una aplicación

● En estados unidos los conductores pasan 8 billones de horas al año en embotellamientos. ● Deep Learning puede ayudar, con una modelo que sepa manejar el auto automáticamente ● El Auto ve el mundo a través de cámaras y sensores y toma decisiones en base a estos datos ● https://selfdrivingcars.mit.edu/deeptrafficjs/ 18

Agenda

2/6

Conceptos básicos ● ● ● ●

¿Qué es Deep Learning? Aprendizaje Supervisado (Supervised Learning) Arquitectura de un modelo Deep Learning ¿Cómo aprenden los modelos Deep Learning?

19

¿Qué es Deep Learning? ● Es una rama de Machine Learning ● Es el estado-del-arte en Computer Vision, Reconocimiento de Voz, y Procesamiento de Texto. ● Es una familia de técnicas, para enseñar a las computadoras a hacer tareas q solo los humanos eran capaces de hacer. ● Está impulsando una gran evolución en los sistemas de software

20

Aprendizaje supervisado ● Es una de las técnicas más efectivas en Deep Learning ● En esta técnica se trata de deducir una función a partir de datos de entrenamiento ● Los datos de entrenamiento esta etiquetados con los valores esperados de salida ● Tenemos X entradas y tratamos de predecir Y salidas X Entradas

Y Salidas

función f

1 (Es un Gato) 0 (No es un Gato)

21

Aprendizaje supervisado ● Es una de las técnicas más efectivas en Deep Learning ● En esta técnica se trata de deducir una función a partir de datos de entrenamiento ● Los datos de entrenamiento esta etiquetados con los valores esperados de salida ● Tenemos X entradas y tratamos de predecir Y salidas X Entradas User Information Add Information

Y Salidas

función f

1 (Va a ver el Ad) 0 (No va a ver el Ad)

22

Arquitectura de un modelo Deep Learning ● Una Red Neuronal está compuesta de pocos (pero importantes) elementos ● Importados de la biología del cerebro

23

Arquitectura de un modelo Deep Learning

24

Una neurona

z

Función lineal con pesos (W) y bia (b)

a

Funcion de activacion

[*] Notacion tomada de ANDREW NG https://www.deeplearning.ai/ 25

Funciones de activación Sigmoid

Tanh

g(z) = max(0, z)

RELU 26

Intuición de por qué funcionan los modelos DL Intuición de cómo NN encuentra patrones en los datos y aprende de estos patrones Patrones Simples

Patrones Complejos

27

Building Blocks Nuestros inputs pasan por la red y predicen un valor 1. Forward Propagation

Se actualizan los pesos de las neuronas

Se calcula que tambien lo estamos haciendo

4. Update Parameters

2. Loss & Cost Function

con un Learning Rate

Se calcula el nuevo paso a dar 3. Backward Propagation Gradient Descent

28

Gradient Descent ● El proceso de aprendizaje se traduce en un problema de optimización ● Queremos que el Loss Function sea el menor posible ● El método más simple es Gradient Descent (GD), calculamos las derivadas de los pesos que hemos definido

dz[1] dw[1] da[1] db[1]

dz[2] dw[2] da[2] db[2]

dz[3] dw[3] da[3] db[3]

dz[4] dw[4] da[4] db[4]

29

Gradient Descent ● Cuando calculas el GD, es como si dieras un pequeño paso en una cierta dirección, para llegar al punto más bajo posible ● En cada paso se calcula el gradiente y se actualizan los weights (w) y bias (b)

30

Vectorización ● Cómo entrenamos todos nuestros datos al mismo tiempo, sin hacer un loop? ● Usamos la técnica conocida como vectorización Cada columna es un dato de entrenamiento

31

Datos de entrenamiento Training Data

No Big Data

Todos tus datos 100%

70%

Test Data 30%

Training Data

Big Data

Todos tus datos 100%

98%

Test Data 2%

32

Agenda

4/6

Logistic Regression ● ¿Qué es un Logistic Regression? ● ¿Cómo se implementa? ● ¿Cuales son las limitaciones?

33

Clasificación Binaria

X(1)

Blue Green Red

X=

64

64

X(2)

X(m)

255 231 … 255 134 … 255 134 ... 64x64x3 = 12288

34

Modelo ● Logistic Classifier ● 1 Layer (Output Layer) ● 1 Neurona

X1 X2 X3 ….

Y Loss Function

Xn Cost Function 35

Pasos 1) Initialize Parameters training loop

2) Forward Propagation

4) Update Parameters

3) Loss Computation

4) Backward Propagation

36

Implementación

Implementaremos un Logistic Classifier desde cero usando solo numpy, y python 37

Agenda

5/6

Shallow Neuronal Networks

● ¿Qué es un Shallow Neuronal Network? ● ¿Cómo se implementa?

38

Clasificación de datos

Un clasificador de los puntos (rojo y azul) en nuestros datos

Modelo ● Shallow Neural Network ● 2 Layer (1 Hidden Layer + Output Layer) ● 4 Neuronas tanh(z)

X1 X2

Y

X3

Loss Function

Cost Function 40

Pasos 1) Initialize Parameters training loop

2) Forward Propagation

4) Update Parameters

Cache

3) Loss Computation

4) Backward Propagation

41

Implementación

Implementaremos un Shallow Neuronal Networks desde cero usando solo numpy, y python 42

Agenda

6/6

Conclusiones

43

Conclusiones 1. Pocos conceptos/componentes en un modelo DL, pero difícil de dominarlos. 2. Deep Learning es un proceso iterativo y experimental, se necesita entrenar varios modelos, por ende es necesario acelerar el aprendizaje 3. El tiempo de aprendizaje puede ser muy alto, en deep models (Speed-up techniques) 4. Muchos parámetros con los cuales jugar (Magia Negra) 5. Pueden sufrir diferentes problemas (Veremos en un próximo Webinar)

44

Recursos 1. Slides 2. Jupiter Notebooks https://github.com/collarad/deeplearning 3. Kaggle https://www.kaggle.com

45

Preguntas

46

Catecbol www.catecbol.com

Capacitación Tecnológica Científica para Bolivia facebook.com/catecbol

@catecbol

[email protected]

Gracias [email protected] Diego Collarana

La unión es la fuerza

47