Autoencoders: qué son y cómo funcionan

Tabla de contenidos

Tabla de contenidos

En términos generales, un autocodificador, o autoencoder, consiste en una arquitectura de red neuronal que comprime o codifica los datos de entrada, con el objetivo de reducir sus características esenciales. Después, lleva a cabo el proceso de descodificación a partir de la versión comprimida de la entrada original, es decir, la decodifica.

De aquí se desprende que los autoencoders funciona mediante un aprendizaje automático no supervisado. Y es que se entrenan descubriendo variables latentes de los datos de entrada, que vienen a ser variables ocultas que contienen información fundamental sobre cómo se distribuyen los datos. En su conjunto, las variables latentes se consideran un espacio latente.

Así, lo que hacen los autoencoders es aprender qué variables latentes puede utilizar para reconstruir con mayor precisión los datos originales- ¿Y para qué se usan estos autocodificadores? PAra tareas como la compresión de datos, la eliminación de ruido en imágenes, la detección de anomalías y el reconocimiento facial. Ahora, nos toca profundizar en el concepto de autoencoders y descubrir todos sus secretos.

¿Estás preparado? ¡Comenzamos!

Diferencias entre los autoencoders y los codificadores-decodificadores

El concepto de autoencoders encierra en sí la presencia de un codificador y un decodificador, pero eso no quiere decir que no todos los modelos de codificador-decodificador son autocodificadores. Para entenderlo mejor, debes saber que estos modelos extraen las características clave de los datos de entrada y luego devuelven un resultado distinto al original. Esto ocurre porque se someten a un aprendizaje supervisado.

Si lo explicamos mejor, puedes imaginarte a la red codificadora extrayendo datos de características de una imagen para hacer una clasificación semántica de los distintos píxeles. Después, con esa clasificación semántica de los píxeles, la red decodificadora construye máscaras de segmentación para cada región de la imagen. Así, estos sistemas codificadores-decodificadores trabajan para etiquetas con éxito los píxeles según su clase semántica.

Por otro lado, debes entender que su entrenamiento se basa en un aprendizaje supervisado. Esto quiere decir que bebe de un conjunto de imágenes que previamente han sido etiquetadas por expertos humanos. Aquí se encuentra la principal diferencia con los autoencoders, ya que, estos últimos, se entrenan a través de un aprendizaje no supervisado con el objetivo de reconstruir sus propios datos de la entrada-

Los autocodificadores detectan y etiquetan datos en patrones ocultos, que no han sido demostrados en un entrenamiento previo. Sin embargo, estos autoencoders también cuentan con una verdad-terreno para medir su resultado: la entrada original. Por ello, sería más correcto decir que se basan en un aprendizaje autosupervisado.

¿Cómo funcionan los autocodificadores?

Para entender el funcionamiento de los autoencoders tenemos que tener en cuenta tres elementos: el codificador, el cuello de botella o código y el decodificador. El codificador extrae los datos importantes de la entrada original y deja pasar por el cuello de botella la información esencial. Después, el decodificador debe analizar todo y reconstruir con precisión la entrada original.

Así, vamos a profundizar en estos elementos clave de los autoencoders:

Codificador

Como venimos diciendo, esta parte se encarga de realizar una representación comprimida de los datos de entrada. Para ello, reduce la dimensionalidad, es decir, que se centra en las capas ocultas de las redes neuronales. ¿Por qué? Porque contienen un número progresivamente menor de nodos que la capa de entrada. Así, estruja todos los datos para que quepan en menos dimensiones.

Cuello de botella o código

Se erige como la capa de salida de la red codificadora y la capa de entrada de la red decodificadora.

Decodificador

Aquí se encuentran capas ocultas con un número progresivamente mayor de nodos que se encargar de descomprimir la versión de los datos de entrada que le aporta el codificador. ¿Cómo lo hace? Ya hemos visto que se compara con la verdad-terreno, es decir, la entrada original. Así, la diferencia entre la salida y la verdad-terreno se llama error de reconstrucción.

Para terminar de entender el funcionamiento de los autocodificadores, vamos a enumerar los hiperparámetros que pueden incluir:

  • Tamaño del código: nos referimos al tamaño del cuello de botella. Y es que determina el nivel de codificación que se llevará a cabo.
  • Número de capas: los codificadores y decodificadores se componen de capas. Así, a mayor profundidad, mayor complejidad. Si se decide por implementar una menor profundidad, se obtendrá una mayor velocidad de procesamiento.
  • Número de nodos por capas: por norma general, tienes que saber que el número de nodos va disminuyendo en cada capa del codificador, llegando a su mínimo en el cuello de botella. Después, aumenta en cada capa del decodificador.
  • Función perdida: este hiperparámetro se utiliza para optimizar los pesos del modelo, a través de un descenso de gradiente durante la retropropagación.

Autocodificadores incompletos

Los autocodificadores incompletos se caracterizan porque reduce la dimensionalidad, es decir, que sus capas ocultas contienen menos nodos que las capas de entrada y salida, además de que la capacidad del cuello de botella es fija.

Estos autocodificadores incompletos se consideran poco flexibles y con una capacidad limitada, puesto que no se ajusta en exceso a sus datos de entrenamiento. Aprenden la función de identidad entre la entrada y la salida, minimizando la pérdida de reconstrucción.

Autocodificadores regularizados

Estos autocodificadores consiguen solucionar las deficiencias de los autoencoders incompletos introduciendo la regularización: Este concepto en la introducción de técnicas que cambian la forma en que se calcula el error de reconstrucción. Además, la regularización hace que el autocodificador aprenda nuevas funciones útiles.

Autocodificadores dispersos

Estos autoencoders dispersos (SAE) trabajan bajo el principio de dispersión, que se trata de reducir el número de nodos en cada capa oculta, lo que nos devuelve un cuello de botella con un menor número de nodos que se activan al mismo tiempo.

Para entender bien la diferencia, tenemos que pensar que un autocodificador incompleto estándar usa todas sus redes neuronales en cada observación, mientras que los autoencoders con una función de dispersión se castigan por cada neurona que se haya activado por encima de un determinado umbral. Así, con estos autocodificadores no tenemos riesgo de sobreajuste.

Autocodificadores contractivos

Al igual que en el anterior caso, lo que buscan estos autocodificadores es reducir el sobreajuste y capturar con una mayor eficacia la información esencial. ¿Cómo lo hace? Penalizando a la red por cambiar la salida por unos cambios mínimos en la entrada

Autocodificadores de eliminación de ruido

Estos autocodificadores de eliminación de ruido tienen una peculiaridad: no tienen unos datos reales de entrada. Es decir, se introducen datos corruptos con el fin de que se restaure la entrada original eliminado la información inútil. En este caso, el error de reconstrucción se mide en base a la imagen original, no a la imagen con los datos corruptos.

Autocodificadores variacionales

Los autocodificadores variacionales cuentan con la singularidad de que utilizan datos de entrada parecidos a los originales. ¿Parecidos? Así es, puesto que utilizan una representación compacta y probabilística. Estos VAE modelan las entradas como distribuciones estadísticas, lo que les permite generar datos completamente nuevos que conservan las características principales del conjunto original.

Compartir en:

Artículos relacionados

adivinar loteria con chatgpt

Número de lotería con ChatGPT

Son varias las noticias que se han dado a conocer acerca de cual fue el número de la lotería de ChatGPT, que esta inteligencia artificial predijo como ganador del sorteo de la Lotería de Navidad del año 2023, así como otros casos en los

Cómo afecta la inteligencia artificial al ser humano

Son diversas las maneras cómo afecta la inteligencia artificial al ser humano, puesto que es una de las tecnologías que tiene más oportunidades de crecimiento en la actualidad, de forma que, todas aquellas empresas y negocios que desean tener un verdadero proceso de

Sophia Robot: el humanoide que transformará el futuro

La robótica ha evolucionado a pasos agigantados en los últimos años, y uno de los desarrollos más llamativos y populares es el robot Sophia, un humanoide creado por Hanson Robotics.  De este modo, Sophia no es tan solo otro robot más; esta ha

¿Cuál es la competencia de ChatGPT?

Existen diversas alternativas de la competencia de ChatGPT que ofrecen funcionalidades similares a esta inteligencia artificial desarrollada por OpenAI. De esta manera, estas herramientas no sólo compiten en términos de capacidad de procesamiento de lenguaje, sino también en aspectos como facilidad de uso,

Scroll al inicio