La Inteligencia Artificial (IA) es un subcampo de la informática que se creó en la década de 1960, y que trata de solucionar tareas que son sencillas para los seres humanos, pero difíciles para las computadoras. Se trata de un concepto bastante genérico e incluye todo tipo de tareas tales como la planificación, el reconocimiento de objetos y sonidos, hablar, traducir, realizar actividades creativas (como por ejemplo crear obras de arte, o la poesía), etc.
El Machine Learning o aprendizaje automático se ocupa de un aspecto de la IA: dado un problema de IA que se puede describir en términos discretos (por ejemplo, dado un conjunto de posibles acciones para un determinado objetivo, cuál es la correcta), y disponiéndose de una gran cantidad de información sobre el mundo, se determina cual es la acción “correcta”, sin que el mecanismo de elección se encuentre previamente programado.
Es decir, el sistema aprende de forma autónoma a tomar las decisiones. De forma práctica esto se traduce en una función en la que a partir de una entrada se obtiene una salida, con lo que el problema radica en construir un modelo de esta función matemática de forma automática. Por lo tanto, la principal diferencia radica en que un programa muy inteligente que tiene un comportamiento similar al humano puede ser IA, pero a menos que sus parámetros se aprendan automáticamente a partir de los datos, no es Machine Learning.
Aunque los términos se utilizan a veces como sinónimos, el Deep Learning y el Machine Learning no son lo mismo, siendo el primero un tipo particular del segundo, es decir, el Deep Learning es Machine Learning, pero existen técnicas de Machine Learning que no son Deep Learning.
El Machine Learning, como se ha visto, se describe a menudo como un tipo de técnicas de Inteligencia Artificial donde las computadoras aprenden a hacer algo sin ser programadas para ello. Por poner un ejemplo sencillo, se podría programar un ordenador para identificar a un animal como un gato escribiendo un código que indique al programa que elija “gato” cuando se ve una imagen concreta de un gato.
Esto funcionaría si el único gato con el que tratase el programa es el de esa imagen, pero no lo haría si el programa tuviera que ver un montón de imágenes de diferentes animales, incluyendo una gran cantidad de gatos, y tuviera que identificar cuáles de ellas representan a un gato.
Los programas de Machine Learning actuarían en ese segundo caso, para lo cual pueden entrenarse de diferentes maneras. En una de ellas al programa se le muestra una gran cantidad de imágenes de diferentes animales (etiquetadas con el nombre del animal correspondiente).
El programa aprenderá que los animales que se parecen a los gatos se llaman “gato” sin haber sido programado para llamar “gato” a una imagen concreta de un gato. Para ello el programa debe aprender combinaciones de características visuales que tienden a aparecer juntas (por ejemplo, la forma de los cuerpos y de las caras), haciendo a los gatos visualmente diferentes de otros animales. El programa aprende a asociar esta combinación de características distintivas con la palabra “gato”, proceso de aprendizaje conocido como “construcción de un modelo de un gato”.
Una vez que se ha construido el modelo de “gato”, un programa de Machine Learning prueba dicho modelo al tratar de identificar a los gatos en un conjunto de imágenes que no ha visto antes. El programa mide el éxito obtenido en la identificación de los nuevos gatos y utiliza esta información para ajustar el modelo, de forma que la próxima vez obtendrá mejores resultados. Es decir, el nuevo modelo se prueba, se evalúa su rendimiento, y se realiza otro ajuste. Este proceso iterativo continúa hasta que el programa haya construido un modelo que pueda identificar gatos con un alto nivel de precisión.
Si el entrenamiento es “supervisado”, en cada paso iterativo de prueba y perfeccionamiento del modelo se compara la etiqueta asignada a la foto con la “decisión” tomada por el programa, determinando si ha identificado el tipo de imagen correctamente. El entrenamiento supervisado es relativamente rápido y necesita relativamente pocos recursos computacionales. Sin embargo necesita de la intervención humana para etiquetar las ingentes cantidades de información requeridas para el entrenamiento, lo cual supone un proceso lento y costoso.
Deep Learning En tanto, el Deep Learning lleva a cabo el proceso de Machine Learning usando una red neuronal artificial que se compone de un número de niveles jerárquicos. En el nivel inicial de la jerarquía la red aprende algo simple y luego envía esta información al siguiente nivel. El siguiente nivel toma esta información sencilla, la combina, compone una información algo un poco más compleja, y se lo pasa al tercer nivel, y así sucesivamente.
Continuando con el ejemplo del gato, el nivel inicial de una red de Deep Learning podría utilizar las diferencias entre las zonas claras y oscuras de una imagen para saber dónde están los bordes de la imagen. El nivel inicial pasa esta información al segundo nivel, que combina los bordes construyendo formas simples, como una línea diagonal o un ángulo recto. El tercer nivel combina las formas simples y obtiene objetos más complejos cómo óvalos o rectángulos. El siguiente nivel podría combinar los óvalos y rectángulos, formando barbas, patas o colas rudimentarias.
El proceso continúa hasta que se alcanza el nivel superior en la jerarquía, en el cual la red aprende a identificar gatos. El descubrimiento y reconocimiento de patrones en el mundo que nos rodea es un factor fundamental en los progresos científicos y tecnológicos actuales. La cuestión ahora es cómo utilizar el Deep Learning para obtener nuevos conocimientos, o para mejorar lo que se está haciendo… en definitiva, para innovar.
https://www.forbes.com/sites/quora/2016/09/23/what-are-the-differences-between-ai-machine-learning-nlp-and-deep-learning/?sh=a38f885274fa