Tema
Aprendizaje por transferencia
- Aprendizaje profundo
- Nivel intermedio
El aprendizaje por transferencia reutiliza los pesos de una red entrenada en una tarea grande y los adapta a otra tarea con pocos datos, ya sea congelando el cuerpo o ajustándolo con una tasa pequeña.
Nombre en inglés
Transfer learning
Intuición
Las primeras capas de una red de visión aprenden bordes y texturas, que sirven igual para radiografías que para coches, mientras que las últimas aprenden conceptos propios de la tarea original. Por eso se conserva el cuerpo y se cambia la cabeza. Cuanto menor sea el conjunto nuevo y más se parezca al original, más conviene congelar.
Fórmula
\theta = (\theta_{cuerpo}, \theta_{cabeza}) \qquad \theta_{cuerpo} \text{ congelado o con } \alpha_{cuerpo} \ll \alpha_{cabeza}
Ejemplo resuelto
Una red residual de 50 capas tiene cerca de 25.6 millones de parámetros y termina en un vector de 2048 componentes. Al sustituir su cabeza por una capa densa hacia 10 clases, la parte entrenable baja a 2048 por 10 más 10, es decir, 20490 parámetros, unas mil doscientas veces menos. Con 500 imágenes de entrenamiento, ajustar los 25.6 millones sobreajusta en pocas épocas, mientras que entrenar solo esos 20490 converge en minutos. Un término medio frecuente consiste en descongelar el último bloque con una tasa diez veces menor que la de la cabeza.
Errores frecuentes
- Normalizar la imagen con la media y la desviación del conjunto nuevo en vez de las que usó la red original, lo que desplaza todas las activaciones.
- Descongelar la red entera desde la primera época con una tasa alta, con lo que los pesos útiles se destruyen antes de que la cabeza aprenda algo.
- Transferir entre dominios muy distintos y esperar la misma ganancia, cuando el beneficio cae en cuanto las estadísticas de la imagen cambian mucho.
Ejercicio
Una red preentrenada acaba en 512 características y la tarea nueva tiene 4 clases. ¿Cuántos parámetros entrena una cabeza densa con sesgo?
Ver la solución
La cabeza tiene una matriz de 512 por 4 y un sesgo por clase. La matriz aporta 2048 pesos y los sesgos aportan 4, de modo que el total da 2052.
Respuesta: 2052