Los desarrolladores recurren con frecuencia a los codificadores automáticos para organizar los datos para que los algoritmos de aprendizaje automático mejoren la eficiencia y la precisión de los algoritmos con menos esfuerzo por parte de los científicos de datos.
Los científicos de datos pueden agregar codificadores automáticos como herramientas adicionales a las aplicaciones que requieren eliminación de ruido, reducción de dimensionalidad no lineal, predicción secuencia a secuencia y extracción de características. Los codificadores automáticos tienen una ventaja especial sobre las técnicas clásicas de aprendizaje automático, como el análisis de componentes principales para la reducción de dimensionalidad, ya que pueden representar datos como representaciones no lineales y funcionan particularmente bien en la extracción de características.
Autoencoders 101
Hasta hace poco, el estudio de los codificadores automáticos había sido principalmente una actividad académica, dijo Nathan White, consultor principal de AIM Consulting. Sin embargo, ahora hay muchas aplicaciones en las que los profesionales del aprendizaje automático deberían considerar los codificadores automáticos como su herramienta de elección. Pero antes de sumergirnos en los casos de uso principales, aquí hay un breve vistazo a la tecnología de codificación automática.
Un codificador automático consta de un par de redes de aprendizaje profundo, un codificador y un decodificador. El codificador aprende una forma eficiente de codificar la entrada en una representación densa más pequeña, llamada capa de cuello de botella. Después del entrenamiento, el decodificador vuelve a convertir esta representación en la entrada original.
«El principio esencial de un codificador automático es destilar la entrada en la menor cantidad de datos necesarios para luego reconstruir esa entrada original con la menor diferencia posible entre la entrada y la salida», dijo Pat Ryan, vicepresidente ejecutivo de arquitectura empresarial en consultoría de tecnología digital SPR.
El valor del codificador automático es que elimina el ruido de la señal de entrada, dejando solo una representación de alto valor de la entrada. Con esto, los algoritmos de aprendizaje automático pueden funcionar mejor porque los algoritmos pueden aprender los patrones en los datos de un conjunto más pequeño de una entrada de alto valor, dijo Ryan.
Los codificadores automáticos, redes neuronales no supervisadas, están demostrando ser útiles en los dominios de aprendizaje automático con una dimensionalidad de datos extremadamente alta y propiedades no lineales, como aplicaciones de video, imágenes o voz.
Ventajas de los codificadores automáticos
Una característica importante de los codificadores automáticos es que pueden trabajar sin supervisión, lo que elimina la necesidad de etiquetar los datos de entrenamiento, ya sea a mano o artificialmente.
Sriram NarasimhanVicepresidente de inteligencia artificial y análisis de Cognizant
«[Autoencoders] son únicos porque aprovechan los beneficios del aprendizaje supervisado sin la necesidad de anotaciones manuales, ya que las entradas y salidas de la red son las mismas «, dijo Sriram Narasimhan, vicepresidente de inteligencia artificial y análisis de la firma de servicios de TI Cognizant.
Una segunda gran ventaja es que pueden encontrar automáticamente formas de transformar archivos multimedia sin procesar, como imágenes y audio, en una forma más adecuada para los algoritmos de aprendizaje automático. MingKuan Liu, director senior de ciencia de datos de Appen, un proveedor de herramientas de anotación de datos de entrenamiento de inteligencia artificial, dijo que la capacidad de los codificadores automáticos para obtener información de los medios hace que la herramienta sea particularmente útil para aplicaciones de visión por computadora como extracción de características, generación de datos sintéticos, aprendizaje de desenredo y aprendizaje de prominencia.
Los científicos de datos deben considerar los codificadores automáticos como una herramienta complementaria a otras técnicas supervisadas en lugar de un reemplazo completo. Los algoritmos de aprendizaje automático supervisados entrenados con una gran cantidad de conjuntos de datos etiquetados de alta calidad siguen siendo las mejores opciones en casi todos los casos de uso de IA de la industria, dijo Liu.
Los 7 casos de uso principales para codificadores automáticos
Cuando se utilizan como una herramienta adecuada para aumentar los proyectos de aprendizaje automático, los codificadores automáticos tienen un enorme poder de ingeniería y limpieza de datos.
- Extractor de funciones
Russ Felker, director de tecnología de GlobalTranz, un proveedor de servicios de logística y gestión de carga, dijo que el uso de codificadores automáticos como extractor de funciones elimina la necesidad de pasar horas de laboriosa ingeniería de funciones después de la limpieza de datos. Esto puede permitir que la clasificación de datos se complete más fácilmente.
«Al agrupar elementos similares, permite que el sistema haga recomendaciones rápidas sobre cuál debería ser la salida», dijo Felker.
- Reducción de dimensionalidad
Los codificadores automáticos para la reducción de dimensionalidad se utilizan para comprimir la entrada en la representación más pequeña posible para reproducir la entrada con la menor pérdida.
«En este caso, el objetivo no es necesariamente reproducir la entrada, sino utilizar la representación más pequeña del codificador en otros modelos de aprendizaje automático», dijo Ryan. Esto es particularmente importante cuando las entradas tienen una relación no lineal entre sí. Sin embargo, los científicos de datos deben considerar otras técnicas como el análisis de componentes principales cuando los datos de entrada tienen una correlación lineal.
«PCA es computacionalmente un método más económico para reducir la dimensionalidad en el caso de sistemas de datos lineales», dijo Narasimhan.
- Compresión de imagen
Los investigadores también están comenzando a explorar formas en que los codificadores automáticos se pueden utilizar para mejorar las relaciones de compresión de video e imágenes en comparación con las técnicas estadísticas tradicionales. Narasimhan dijo que los investigadores están desarrollando autocodificadores especiales que pueden comprimir imágenes tomadas a muy alta resolución en un cuarto o menos del tamaño requerido con las técnicas de compresión tradicionales. En estos casos, la atención se centra en hacer que las imágenes parezcan similares al ojo humano para un tipo específico de contenido. Las imágenes de personas, edificios o entornos naturales pueden beneficiarse de diferentes codificadores automáticos que pueden cambiar el tamaño y comprimir imágenes grandes de esa categorización.
- Codificación de datos
Los codificadores automáticos brillan particularmente al encontrar mejores formas de representar datos de medios sin procesar para buscar a través de estos datos o escribir algoritmos de aprendizaje automático que usan estos datos. En estos casos, la salida de la capa de cuello de botella entre el codificador y el descodificador se utiliza para representar los datos sin procesar para el siguiente algoritmo.
Por ejemplo, los codificadores automáticos se utilizan en el procesamiento de audio para convertir datos sin procesar en un espacio vectorial secundario de manera similar a como word2vec prepara datos de texto a partir de algoritmos de procesamiento de lenguaje natural. Esto puede facilitar la localización de fragmentos de voz en un archivo hablado grande sin la necesidad de una conversación de voz a texto.
- Detección de anomalías
Los codificadores automáticos utilizados para la detección de anomalías utilizan la pérdida medida entre la entrada y la salida reconstruida. Si, después de ejecutar una muestra a través del codificador automático, el error entre la entrada y la salida se considera demasiado alto, esa muestra representa una que el codificador automático no puede reconstruir, lo cual es anómalo para el conjunto de datos entrenado.
Ryan dijo que este tipo de técnicas se utilizan en la industria bancaria para ayudar a automatizar la generación de algoritmos de recomendación de préstamos. Por ejemplo, si un banco tiene una gran cantidad de datos sobre personas y préstamos y puede caracterizar ciertos préstamos que cumplieron con los requisitos como buenos, entonces estos datos se pueden usar para caracterizar cómo son los préstamos buenos. Los datos de estos buenos préstamos se utilizan para crear el codificador automático. Si se pasa un registro de datos a través del codificador automático y la pérdida medida entre la entrada original y la salida reconstruida es demasiado alta, esta solicitud de préstamo se puede marcar para una revisión adicional.
«No significa que el préstamo sea malo, solo que está fuera de los buenos préstamos que el banco ha visto en el pasado», dijo Ryan.
- Denoising
En algunos casos, es posible que a un envío le falten algunos datos dentro de la serie de transacciones utilizadas para describir su estado. Los codificadores automáticos de reducción de ruido pueden ayudar a determinar lo que falta en función de los datos de entrenamiento y generar una imagen completa del envío, dijo Felker. Esto puede mejorar el rendimiento de otros algoritmos que utilizan estos datos para aplicaciones como el análisis predictivo.
En otros casos, como la representación de audio o video, la eliminación de ruido puede reducir el impacto del ruido como manchas en las imágenes o silbidos en el sonido que surgen de problemas para capturarlos.
- Detección de fraudes
Puede ser un desafío entrenar modelos de aprendizaje automático para aprender acerca de la actividad fraudulenta, dado lo pequeños que son los recuentos de transacciones fraudulentas en relación con el número total de transacciones en una empresa. La versatilidad de los codificadores automáticos permite a los usuarios crear proyecciones de datos para representar transacciones fraudulentas en comparación con los métodos tradicionales, dijo Tom Shea, fundador y CEO de OneStream Software, una compañía de software de gestión del desempeño corporativo.
Una vez entrenados, los codificadores automáticos pueden generar puntos de datos adicionales y crear transacciones fraudulentas similares, proporcionando un conjunto de datos más amplio para que los modelos de aprendizaje automático aprendan. Los científicos de datos también pueden utilizar algoritmos de detección de anomalías de configuración específicos para el fraude. Los científicos de datos entrenarían el algoritmo utilizando datos de transacciones legítimas. Se generará una alerta cuando haya una diferencia significativa entre los datos sin procesar y los datos reconstruidos.
Esto es especialmente útil en situaciones en las que no tenemos suficientes muestras históricas de transacciones fraudulentas o cuando surgen patrones completamente nuevos de transacciones fraudulentas, dijo Narasimhan.