¿Qué son transfer learning y fine-tuning?

Autor: | Última modificación: 29 de agosto de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Transfer learning y fine-tuning forman parte de las alternativas con las que podrás contar dentro de un análisis del Deep Learning para el manejo del Big Data. De manera que contar con este tipo de conocimiento es de suma importancia para un buen data scientist, puesto que debe conocer las alternativas para elegir la mejor solución de su procesamiento de los macrodatos.

Por este motivo, en el desarrollo de este post, te explicamos qué son transfer learning y fine-tuning.

¿Qué son transfer learning y fine-tuning?

En muchas de las aplicaciones en las que queremos proponer una solución basada en aprendizaje profundo, los datos disponibles no son suficientes para obtener un buen modelo de predicción entrenando una CNN desde cero. Las técnicas de transfer learning y fine-tuning nos permiten entrenar modelos precisos con conjuntos de datos limitados (unas 500-1000 muestras por clase) evitando tener que:

  • Definir la estructura de la red neuronal.
  • Tener que entrenarla desde cero.

Dichas técnicas se basan en emplear arquitecturas CNN predefinidas y que han sido entrenadas en el conjunto de datos ImageNet ofreciendo notables resultados: ResNet, AlexNet, VGG, Inception, DenseNet, etc.

Como ya sabes, las redes se inicializan con unos pesos aleatorios (normalmente) que tras una serie de épocas consiguen tener unos valores que permiten clasificar adecuadamente nuestras imágenes de entrada.

¿Qué son transfer learning y fine-tuning? 1

¿Qué pasaría si pudiésemos inicializar esos pesos a unos valores que sabemos que ya son buenos para clasificar un determinado dataset?

De esta forma, no necesitaríamos ni un dataset tan grande como el necesario si queremos entrenar una red de cero (de cientos de miles o incluso millones de imágenes podríamos pasar a unas pocas miles) ni necesitaríamos esperar un buen número de épocas a que los pesos cogiesen valores buenos para la clasificación, lo tendrían mucho más fácil debido a su inicialización; para ello, existen transfer learning y fine-tuning.

A continuación, vamos a hacer un pequeño repaso por las arquitecturas más conocidas para entender las diferencias entre las técnicas más conocidas dentro del manejo del Deep Learning con las redes convolucionales: transfer learning fine-tuning.

Existen grupos de investigación que dedican su vida a desarrollar arquitecturas que funcionen y entrenarlas en datasets enormes, así que parece lógico aprovecharnos de esto en vez de intentar crear cada vez que tengamos un problema una arquitectura propia, ¿verdad? Esto no solo nos va a ahorrar tiempo y dolores de cabeza, sino que nos va a aportar precisión y estabilidad.

Las arquitecturas más comunes hoy en día para las técnicas de transfer learning fine-tuning son:

  • VGG16 y VGG19: esta arquitectura, que fue una de las primeras en aparecer, fue introducida por Simonyan y Zisserman en 2014 con su artículo titulado Very Deep Convolutional Networks for Large Scale Image Recognition.
  • ResNet: la arquitectura de ResNet la desarrolló He en 2015. El artículo se llama Deep Residual Learning for Image Recognition.
  • Inception V3: este tipo de arquitectura lo introdujo en 2014 Szegedy en su artículo llamado Going Deeper with Convolutions.
  • Xception: esta arquitectura la propuso François Chollet (el creador de Keras) y lo único que aporta respecto a Inception es que realiza las convoluciones de una forma óptima para que tarden menos tiempo.
  • SqueezeNet: esta red es extremadamente ligera (sus pesos ocupan 5MB, en comparación de los 500MB de la VGG o los 100 de la Inception, por ejemplo) y consigue un accuracy de ~57% rank-1 o ~80% rank-5 con el ImageNet.

Debes saber que hay infinitas arquitecturas, pero estas son con diferencia las más usadas. Normalmente, ante un problema, no vamos a ponernos a definir nuestra arquitectura, sino que usaremos una de estas arquitecturas para las técnicas de transfer learning y fine-tuning.

¿Cómo instruirte sobre el Big Data?

En este post, te has acercado a las técnicas de transfer learning y fine-tuning, de manera que ahora comprendes su importancia y podrás contar con ellas dentro del manejo de redes neuronales convolucionales en el manejo del Deep Learning. Sin embargo, aún falta mucho para instruirse sobre la manipulación del Big Data y su debido procesamiento.

Por este motivo, te invitamos a conocer nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Gracias a esta formación, conocerás más herramientas, como puede ser Tableau Desktop, mediante ejercicios prácticos para aprender a usar las diferentes conexiones, filtrados, tipos de datos, análisis estadísticos, formulación, creación de dashboards, historias, etc. ¡Empieza ahora y conviértete en un experto del sector IT en pocos meses!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!