1 of 41

Clase 10

Transferencia del conocimiento

2 of 41

El Verdadero Legado de ImageNet

3 of 41

El Problema del Etiquetado

4 of 41

Transferencia del conocimiento

Es la mejora del aprendizaje en una nueva tarea mediante la transferencia de conocimientos de una tarea relacionada que ya se ha aprendido.

El transfer learning es popular en el aprendizaje profundo dados los enormes recursos necesarios para entrenar modelos de aprendizaje profundo o los grandes y desafiantes conjuntos de datos en los que se entrenan estos modelos.

5 of 41

Transferencia del conocimiento con ImageNet

Las organizaciones de investigación que desarrollan modelos para esta competencia y lo hacen bien, a menudo, publican su modelo final bajo una licencia permisiva para su reutilización. Estos modelos pueden tardar días o semanas en entrenarse con hardware moderno.

Reutilizar estos modelos es un enfoque efectivo porque:

  1. Fueron entrenados con un dataset “lo suficientemente grande” en el orden de los millones de ejemplos de entrenamiento.
  2. Fueron entrenados para resolver una tarea representativa del espacio de problemas de la disciplina

6 of 41

Estructuras Jerárquicas de las Features

Las características de las redes neuronales profundas entrenadas en ImageNet pasan de lo general a lo específico de la primera a la última capa: las capas inferiores aprenden a modelar características de bajo nivel como bordes, mientras que las capas superiores modelan conceptos de nivel superior como como patrones, partes enteras u objetos.

7 of 41

Generalización de las Features Aprendidas

Las características de las redes neuronales profundas entrenadas en ImageNet pasan de lo general a lo específico de la primera a la última capa: las capas inferiores aprenden a modelar características de bajo nivel como bordes, mientras que las capas superiores modelan conceptos de nivel superior como como patrones, partes enteras u objetos.

8 of 41

Enfoque de Fine Tuning

9 of 41

Estructura de una Red Neuronal

Una red neuronal se puede dividir aproximadamente en dos partes:

• Un extractor de características que mapea píxeles sin procesar en características linealmente separables

• Un clasificador lineal para tomar decisiones

10 of 41

Fine Tuning

Quizás también sea un buen extractor para mi dataset

No debería usar directamente los parámetros del clasificador porque las etiquetas cambiaron.

11 of 41

Fine Tuning

Quizás también sea un buen extractor para mi dataset

No debería usar directamente los parámetros del clasificador porque las etiquetas cambiaron.

12 of 41

Consideraciones durante el entrenamiento

  1. Entrene en el dataset como un proceso de entrenamiento normal, pero con una fuerte regularización
    1. Tasa de aprendizaje pequeña
    2. Menos épocas
    3. Hiperpárametros de Dropout más agresivos
  2. Congele las capas iniciales.

13 of 41

Implementación

14 of 41

Obtener Datos Target

15 of 41

Aumentar los Datos

16 of 41

Fine Tuning

17 of 41

Resultados

Con Fine Tuning

Sin Fine Tuning

18 of 41

Intermedio

19 of 41

Transferencia de Estilos

20 of 41

Estilos a través de Filtros Fotográficos

21 of 41

Transferencia de Estilos

Contenido

Estilo

¿Se puede aprender automáticamente

qué filtros aplicarle a una foto para transferirle el estilo de un artista conservando su contenido?

22 of 41

Transferencia de Estilos

Contenido

Estilo

23 of 41

Transferencia de Estilos

Contenido

Estilo

24 of 41

Transferencia de Estilos

Contenido

Estilo

25 of 41

Objetivo

26 of 41

Objetivo

Imagen de Salida

(Parámetro a Optimizar)

27 of 41

Objetivo

Imágenes de Entrada

28 of 41

Objetivo

Pérdida de Ruido

Pérdida de Estilo

Pérdida de Contenido

29 of 41

Objetivo

Ponderación de cada pérdida

(Hiperparámetros)

30 of 41

Arquitectura del Modelo

CNNs preentrenadas en ImageNet

31 of 41

Pérdida de Contenido: MSE

Pérdida de Ruido: Varianza Total

32 of 41

Pérdida de Estilo: Producto Punto

De una manera más intuitiva, el producto escalar puede verse como una medida de cuán similares son realmente dos vectores.

Cuanto más similares sean, menor será el ángulo entre ello. En ambos casos, el resultado es grande. Entonces, cuanto más similares son, más grande se vuelve el producto escalar.

33 of 41

Pérdida de Estilo: Matriz de Gram

Considere dos vectores que representan features, y su producto escalar nos da la información sobre la relación entre ellos. Cuanto menor es el producto, más diferentes son las características aprendidas y cuanto mayor es el producto, más correlacionadas están las características.

En cierto sentido, esto brinda información sobre el estilo de una imagen y cero información sobre su estructura espacial, ya que ya aplanamos la característica y realizamos un producto escalar sobre ella.

34 of 41

Pérdida de Estilo: MSE

Error para cada capa:

MSE entre las matrices de Gram

Pérdida de Estilo:

Sumatoria de los errores de las capas

35 of 41

Implementación

36 of 41

Extracción de Features

37 of 41

Funciones de Pérdida

Pérdida de Ruido

Pérdida de Estilo

Pérdida de Contenido

38 of 41

Funciones de Pérdida

39 of 41

Imagen Generada

Función que inicializa el entrenamiento

40 of 41

Bucle de Entrenamiento

41 of 41

Ejemplo