Tasas discriminativas por capa
Entrene de forma diferente las capas profundas y superficiales
Tasas discriminativas por capa es una lección gratuita de Deep Learning Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Deep Learning Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Deep Learning Academy incluye 4 lecciones en total.
¿Una tasa para todo?
Hasta ahora, todas las capas compartían una sola tasa de aprendizaje. Pero las capas iniciales y finales aprenden cosas muy distintas. Quizá merezcan tasas diferentes. 🎚️
Las capas iniciales son generales
Las capas iniciales de una red preentrenada detectan bordes, colores y texturas. Estas características se transfieren a casi cualquier tarea, por lo que apenas necesitan cambios.
Las capas finales son específicas
Las capas posteriores capturan patrones específicos de la tarea. Son las que más deberían adaptarse a su nuevo conjunto de datos.
La idea principal
El ajuste fino discriminativo asigna una tasa de aprendizaje diminuta a las capas profundas y una mayor a las capas de salida superficiales. Así, cada parte aprende a la velocidad adecuada.
Agrupe los parámetros
Para utilizar tasas diferentes, divide el modelo en grupos de parámetros, cada uno con su propia configuración.
backbone_params = model.features.parameters()
head_params = model.classifier.parameters()Tasas de aprendizaje por grupo
Los optimizadores de PyTorch aceptan una lista de diccionarios, uno por grupo, y cada uno incluye su propio lr. El backbone recibe una tasa pequeña y la head, una mayor.
opt = torch.optim.Adam([
{'params': backbone_params, 'lr': 1e-5},
{'params': head_params, 'lr': 1e-3}])Por qué ayuda
Esto protege las valiosas características generales y permite que la head se adapte rápidamente. A menudo se obtiene una mayor precisión que con una única tasa compartida.
Distribución gradual entre muchas capas
Puede escalar las tasas gradualmente: cada bloque más profundo recibe una tasa ligeramente menor. Este gradiente de velocidades se denomina a veces programación inclinada.
Descongelación gradual
Una técnica complementaria es la descongelación gradual: descongele primero la capa superior, entrénela y luego descongele la siguiente, avanzando hacia abajo a lo largo de las épocas.
Inspeccione sus grupos
Puede consultar la configuración de cada grupo en el optimizador para confirmar que cada param_group recibió la tasa que pretendía.
for g in opt.param_groups:
print(g['lr'])Cuándo utilizarlo
Las tasas discriminativas resultan más útiles en redes profundas, donde la diferencia entre las capas generales y específicas es considerable.
Comprobación rápida
En el ajuste fino discriminativo, ¿qué capas deberían recibir la tasa de aprendizaje más pequeña?
Resumen
Asignó tasas pequeñas a las capas profundas y una mayor a la head mediante grupos de parámetros, opcionalmente con descongelación gradual, para lograr una transferencia de aprendizaje más precisa. 🎯
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Tasas discriminativas por capa» es gratis?
Sí — el texto completo de «Tasas discriminativas por capa» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Deep Learning Academy, actualiza a CoddyKit PRO. El curso de Deep Learning Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Tasas discriminativas por capa»?
Entrene de forma diferente las capas profundas y superficiales Practicas Deep Learning Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Deep Learning Academy?
No se requiere experiencia previa. Deep Learning Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Tasas discriminativas por capa»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Deep Learning Academy?
Sí. Cada lección de Deep Learning Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Congele el backbone y entrene el head
- Haga fine-tuning con una tasa de aprendizaje menor
- Tasas discriminativas por capa
- Haga fine-tuning de un modelo de Hugging Face