Tema

Aprendizaje por transferencia

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

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

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía