Transfer learning es una herramienta de Deep Learning que utiliza el conocimiento aprendido en resolver un problema determinado para resolver otro problema distinto pero relacionado. Por ejemplo, el conocimiento aprendido por una red neuronal que reconoce gatos se puede aplicar a otro modelo cuyo objetivo es reconocer perros.
En la práctica se usa un modelo pre entrenado para resolver otro problema. Las capas ocultas del modelo pre entrenado han aprendido a reconocer patrones útiles para identificar patrones visuales. Los datos pasan a través de las capas del modelo, que extraen features; en otras palabras, las capas ocultas de la red neuronal transforman los datos, generando nuevos datos que tienen una mayor capacidad para predecir que los datos brutos. Luego, la última capa de la red neuronal toma dichas features y realiza una predicción. La información que ha aprendido la red neuronal se puede describir como la capacidad de transformar datos brutos en features y luego hacer una predicción.
Para utilizar la información aprendida por el modelo pre entrenado, se carga dicho modelo y se elimina la última capa, aquella que realiza la predicción. Esta capa se reemplaza por una nueva capa no entrenada. A continuación, se inmovilizan los parámetros de las capas del modelo pre entrenado, lo que significa que sus parámetros serán no entrenables, permanecerán fijos durante el nuevo entrenamiento. Finalmente se entrena el modelo para que la nueva capa aprenda a resolver el nuevo problema en base a las features generadas por las capas del modelo pre entrenado.
Es deseable usar transferencia de aprendizaje cuando ambos problemas, el antiguo y el nuevo, tienen un mismo input (por ejemplo, fotos); cuando el modelo antiguo se entrenó con muchos más datos que los que se tienen disponibles para resolver el nuevo problema; y cuando las features de bajo nivel del modelo antiguo pueden ser útiles para resolver el nuevo problema.
Por ejemplo, es posible que no tengamos suficientes fotos de perros como para entrenar un modelo sofisticado. Asimismo, es posible que no tengamos el tiempo y la capacidad computacional necesaria para entrenar un modelo complejo. En este caso usar un modelo pre entrenado es fundamental, ya que podremos entrenar el nuevo modelo y obtener buenos resultados con pocos datos e iteraciones.
La transferencia de aprendizaje es una importante herramienta en el modelamiento de redes neuronales, ya que nos permite utilizar el conocimiento aprendido en modelos pre entrenados para resolver tareas nuevas pero similares. De esta manera, podemos usar modelos muy sofisticados, que requieren una gran cantidad de datos, tiempo y capacidad computacional para ser entrenados, y así obtener muy buenos resultados en la resolución de nuestros problemas.
"El secreto de Spinoza" es una novela histórica sobre la vida de Baruch Spinoza, uno…
El autor: Kader Abdolah Kader Abdolah (1954-) es un escritor iraní-neerlandés, conocido por sus novelas,…
El autor: Noah Gordon Noah Gordon (1926-2021) fue un escritor estadounidense, conocido principalmente por sus…
El autor Ray Bradbury (1920-2012) fue un escritor estadounidense de ciencia ficción y fantasía. Es…
El autor Eric Arthur Blair (1903-1950), conocido como George Orwell fue un escritor británico conocido…
El autor: Philip K. Dick Philip K. Dick (1928-1982) fue un influyente escritor estadounidense de…