El aprendizaje profundo (de aquí en adelante deep learning) es un aspecto de la inteligencia artificial (IA) que se relaciona con la emulación del enfoque de aprendizaje que los seres humanos utilizan para obtener ciertos tipos de conocimiento. En su forma más simple, el deep learning se puede considerar una forma de automatizar el análisis predictivo.

Mientras que los algoritmos tradicionales de aprendizaje automático son lineales, los algoritmos de deep learning se apilan en una jerarquía de complejidad y abstracción crecientes. Para comprender el aprendizaje profundo, imagina a un niño pequeño cuya primera palabra es perro. El niño pequeño aprende qué es (y no es) un perro señalando objetos y diciendo la palabra perro. El padre/madre/tutor dice: “Sí, eso es un perro” o “No, ese no es un perro”. A medida que el niño continúa apuntando a los objetos, se vuelve más consciente de las características que poseen todos los perros. Lo que hace el niño, sin saberlo, es aclarar una abstracción compleja (el concepto de perro) mediante la construcción de una jerarquía en la que cada nivel de abstracción se crea con el conocimiento que se obtuvo de la capa anterior de la jerarquía.

¿Cómo trabaja el deep learning?

Los programas de computadora que usan el deep learning pasan por el mismo proceso. Cada algoritmo en la jerarquía aplica una transformación no lineal en su entrada y usa lo que aprende para crear un modelo estadístico como salida. Las iteraciones continúan hasta que la salida ha alcanzado un nivel de precisión aceptable. La cantidad de capas de procesamiento a través de las cuales deben pasar los datos es lo que inspiró a que se llame deep (profundidad).

En el aprendizaje automático tradicional (machine learning), el proceso de aprendizaje se supervisa y el programador tiene que ser muy, muy específico cuando le dice a la computadora qué tipo de cosas debería buscar al decidir si una imagen contiene un perro o si no contiene un perro. Este es un proceso laborioso llamado extracción de características y la tasa de éxito de la computadora depende completamente de la capacidad del programador para definir con precisión un conjunto de características para “perro”. La ventaja del aprendizaje profundo es que el programa crea el conjunto de características por sí mismo sin supervisión. El aprendizaje no supervisado no solo es más rápido, sino que generalmente es más preciso.

Inicialmente, el programa de computadora podría contar con datos de entrenamiento, un conjunto de imágenes para las cuales un humano ha etiquetado cada imagen como “perro” o “no perro” con metaetiquetas. El programa usa la información que recibe de los datos de entrenamiento para crear un conjunto de características para perro y construir un modelo predictivo. En este caso, el modelo que la computadora crea primero podría predecir que cualquier elemento de una imagen que tenga cuatro patas y una cola debería etiquetarse como “perro”. Por supuesto, el programa no tiene conocimiento de las etiquetas “cuatro piernas” o “cola”; simplemente buscará patrones de píxeles en los datos digitales. Con cada iteración, el modelo predictivo que crea la computadora se vuelve más complejo y más preciso.

Debido a que este proceso imita un sistema de neuronas humanas, el aprendizaje profundo a veces se denomina aprendizaje neuronal profundo o redes neuronales profundas. A diferencia del niño pequeño, que tardará semanas o incluso meses en comprender el concepto de “perro”, un programa de computadora que utiliza algoritmos de aprendizaje profundo puede mostrar un conjunto de entrenamiento y clasificar millones de imágenes, identificando con precisión qué imágenes tienen perros dentro de ellas. unos minutos.

Para alcanzar un nivel aceptable de precisión, los programas de aprendizaje profundo requieren acceso a una gran cantidad de datos de capacitación y poder de procesamiento, ninguno de los cuales estuvo fácilmente disponible para los programadores hasta la era de los grandes datos y la computación en la nube. Debido a que la programación de aprendizaje profundo puede crear modelos estadísticos complejos directamente a partir de su propio resultado iterativo, puede crear modelos predictivos precisos a partir de grandes cantidades de datos no estructurados y no etiquetados. Esto es importante ya que la internet de las cosas (IoT) continúa siendo más penetrante, porque la mayoría de los datos que los humanos y las máquinas crean no están estructurados y no están etiquetados.

Los casos de uso actuales para el aprendizaje profundo incluyen todo tipo de aplicaciones de análisis de big data, especialmente aquellas enfocadas en el procesamiento del lenguaje natural (NLP), traducción de idiomas, diagnóstico médico, señales bursátiles, seguridad de red e identificación de imágenes.

Utilizando redes neuronales

Un tipo de algoritmo avanzado de aprendizaje automático, conocido como redes neuronales, apuntala la mayoría de los modelos de aprendizaje profundo. Las redes neuronales se presentan en varias formas diferentes, incluidas las redes neuronales recurrentes, las redes neuronales artificiales y las redes neuronales predictivas, y cada una tiene su beneficio para casos de uso específico. Sin embargo, todos funcionan de forma similar, al alimentar los datos y dejar que el modelo averigüe si ha realizado la interpretación o decisión correcta sobre un elemento de datos dado.

Las redes neuronales implican un proceso de prueba y error, por lo que necesitan grandes cantidades de datos para capacitarse. No es una coincidencia que las redes neuronales se hicieran populares solo después de que la mayoría de las empresas aceptaran el big data analytics y acumularan grandes cantidades de datos. Debido a que las primeras iteraciones del modelo involucran suposiciones algo educadas sobre el contenido de la imagen o partes del discurso, los datos utilizados durante la etapa de entrenamiento deben etiquetarse para que el modelo pueda ver si su conjetura fue precisa. Esto significa que, aunque muchas empresas que usan big data tienen grandes cantidades de datos, los datos no estructurados son menos útiles. Los datos no estructurados se pueden analizar mediante un modelo de aprendizaje profundo una vez que se ha entrenado y alcanza un nivel aceptable de precisión, pero los modelos de aprendizaje profundo no pueden entrenar en datos no estructurados.

Ejemplos de uso de Deep Learning

Debido a que los modelos de aprendizaje profundo procesan la información de forma similar al cerebro humano, los modelos se pueden aplicar a muchas tareas que las personas hacen. El aprendizaje profundo se utiliza actualmente en las herramientas de reconocimiento de imágenes más comunes, el procesamiento NLP y el software de reconocimiento de voz. Estas herramientas están empezando a aparecer en aplicaciones tan diversas como los autos sin conductor y los servicios de traducción de idiomas.

Video ejemplo de Deep Learning

Limitaciones del deep learning

La mayor limitación de los modelos de aprendizaje profundo es que aprenden a través de observaciones. Esto significa que solo saben lo que estaba en los datos que entrenaron. Si un usuario tiene una cantidad pequeña de datos o proviene de una fuente específica que no es necesariamente representativa del área funcional más amplia, los modelos no aprenderán de una manera que sea generalizable.

El problema de los sesgos es también un problema importante para los modelos de aprendizaje profundo. Si un modelo entrena en datos que contienen sesgos, el modelo reproducirá esos sesgos en sus predicciones. Este ha sido un problema irritante para los programadores de aprendizaje profundo porque los modelos aprenden a diferenciarse en función de variaciones sutiles en los elementos de datos. A menudo, los factores que determina que son importantes no están explícitamente claros para el programador. Esto significa, por ejemplo, que un modelo de reconocimiento facial puede hacer determinaciones sobre las características de las personas en función de la raza o el género sin que el programador esté al tanto.

Si esta entrada fue de tu interés compártela con tus conocidos