Clase 10
Transferencia del conocimiento
El Verdadero Legado de ImageNet
El Problema del Etiquetado
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.
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:
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.
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.
Enfoque de Fine Tuning
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
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.
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.
Consideraciones durante el entrenamiento
Implementación
Obtener Datos Target
Aumentar los Datos
Fine Tuning
Resultados
Con Fine Tuning
Sin Fine Tuning
Intermedio
Transferencia de Estilos
Estilos a través de Filtros Fotográficos
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?
Transferencia de Estilos
Contenido
Estilo
Transferencia de Estilos
Contenido
Estilo
Transferencia de Estilos
Contenido
Estilo
Objetivo
Objetivo
Imagen de Salida
(Parámetro a Optimizar)
Objetivo
Imágenes de Entrada
Objetivo
Pérdida de Ruido
Pérdida de Estilo
Pérdida de Contenido
Objetivo
Ponderación de cada pérdida
(Hiperparámetros)
Arquitectura del Modelo
CNNs preentrenadas en ImageNet
Pérdida de Contenido: MSE
Pérdida de Ruido: Varianza Total
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.
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.
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
Implementación
Extracción de Features
Funciones de Pérdida
Pérdida de Ruido
Pérdida de Estilo
Pérdida de Contenido
Funciones de Pérdida
Imagen Generada
Función que inicializa el entrenamiento
Bucle de Entrenamiento
Ejemplo