¿Qué es Machine Learning y Deep Learning? (el corazón de la IA)

¿Sabes por qué las máquinas pueden ser más inteligentes que los humanos? Es gracias al Machine Learning y Deep Learning. ¿Pero qué significan estos conceptos? Te lo explicaremos todo en este nuevo blog.

Diseño web
8 minutos
Hace 2 años
¿Qué es Machine Learning y Deep Learning? (el corazón de la IA)

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

La Inteligencia artificial y Machine Learning no son lo mismo. La inteligencia artificial es la capacidad que tiene un sistema de realizar tareas propias de la inteligencia humana. Mientras que, el Machine Learning, es el conjunto de procesos que se usan para entrenar a este sistema y que consiga realizar esas tareas, como tomar decisiones, responder preguntas, realizar predicciones, reconocer imágenes, etc.

Simplificando, podemos decir que la Inteligencia Artificial es el resultado, y el Machine Learning, es cómo se llega a ese resultado. En este blog aprenderás qué es el Machine Learning, qué técnicas usan las máquinas para aprender y qué es el Deep Learning y las Redes Neuronales. Hoy aprenderás que la inteligencia artificial no es magia. Es ciencia. Porque estás en EDteam y en español, nadie te explica mejor.

¿Qué es Machine Learning?

Como ya hemos dicho, la Inteligencia artificial es la capacidad de un sistema (al que llamaremos agente inteligente) de realizar tareas propias de una inteligencia humana. ¿Y qué es más humano que el aprendizaje? Desde que nacemos, aprendemos a reconocer a nuestros padres, a hablar, a alejarnos del peligro, etc. Son nuestras experiencias y lo que aprendemos de ellas, lo que nos hace quienes somos. El Machine Learning busca exactamente esto: que a través del aprendizaje, un agente pueda realizar sus tareas con mayor efectividad. A mayor aprendizaje, realizará mejor sus tareas, hasta llegar a un punto que sea indistinguible de un ser humano (o quizás, algún día, superarnos).

Machine learning vs. programación tradicional

Para entender cómo funciona el Machine Learning, lo primero que debes entender es su diferencia con la programación tradicional. En la programación tradicional, tenemos datos de entrada, un algoritmo (que es el paso a paso detallado para realizar una tarea) escrito por uno o más programadores y programadoras, y datos de salida.

programacion-machine-learning-explicación-EDteam.png

En el Machine Learning, en cambio, tenemos los datos de entrada y los datos de salida, pero no tenemos el algoritmo.

¿Cómo?

Te voy a poner un ejemplo muy sencillo: supongamos que queremos convertir millas a kilómetros con Machine Learning (si te parece una tarea demasiado sencilla para usar IA, te sorprenderá saber que en 1998 la NASA perdió 125 millones de dólares por no hacer esta conversión, como te contamos en este video).

Lo que haremos será tener una lista de datos de entrada, una lista de datos de salida (que ya conocemos previamente) y con estos datos entrenaremos al sistema para que encuentre por prueba y error el algoritmo para convertir millas a kilómetros. Luego, probamos el sistema para determinar si aprendió correctamente y de ser necesario, lo alimentamos de más datos para que siga aprendiendo hasta encontrar su algoritmo. Solo que en Machine Learning, no se llama algoritmo, se llama modelo.

explicacion-machine-learning-EDteam-png

La diferencia entre un algoritmo y un modelo, es que el algoritmo tiene pasos definidos por el programador que la computadora no puede modificar. Mientras que un modelo, es entrenado por prueba y error y se va perfeccionando con el aprendizaje, incluso sin intervención humana.

machine-learning-vs-programacion-EDteam.png

La primera vez que se habló de Machine Learning (o aprendizaje automático) fue en 1959 cuando Arthur Samuel diseñó un sistema que podía jugar a las damas calculando matemáticamente las probabilidades de ganar el juego según la posición de las piezas. Como ves, pura matemática, nada de magia.

Los datos y el Machine Learning

Como debes haber notado, para que el Machine Learning (o aprendizaje automático) sea efectivo, necesitamos muchos datos para entrenar los modelos. Por ejemplo, podemos darle mil fotos de una manzana a un agente para que aprenda a reconocer las características de la manzana. Luego darle la foto de una naranja para comprobar si aprendió a identificar una manzana o aún no y seguir entrenándola. A este conjunto de datos de entrenamiento le llamamos “dataset”.

Por eso Google fotos fue gratis y con almacenamiento ilimitado por tantos años. Necesitaba tus fotos para entrenar a sus modelos. Por lo tanto, los datos son fundamentales en el Machine learning y la inteligencia artificial. Y áreas como el big data (que te explicamos en este video) o la ciencia de datos, están intimamente relacionadas.

Además, a diferencia de la programación, en la que no necesitas grandes conocimientos de matemáticas, el Machine Learning usa matemáticas avanzadas para entrenar a sus modelos.

promo-expectativa-san-valentín-EDteam.png

Tipos de Machine Learning

Existen tres tipos de Machine Learning, que se diferencian por la forma en que se entrena al modelo y en el tipo de problemas que resuelven.

1. Aprendizaje supervisado

El sistema recibe datos etiquetados (es decir, ya clasificados y organizados), de tal manera que la respuesta se conoce de antemano y se comparan las respuestas que entrega al sistema con las respuestas correctas para mejorar el entrenamiento.

Un ejemplo clásico es darle a un sistema un millón de fotos de perros y gatos (etiquetadas como perros y gatos) y luego evaluar si el sistema los logra diferenciar.

Existen dos tipos de aprendizaje supervisado: el de clasificación y el de regresión. Como su nombre lo dice, la clasificación se usa para identificar o diferenciar entidades, como en el ejemplo de reconocer perros y gatos, reconocer correos que son spam, detección de fraude, etc. El de regresión se usa para hacer predicciones: por ejemplo, subida o bajada del mercado, predicciones de ventas o del clima, etc.

2. Aprendizaje no supervisado

En este caso, los datos que se entregan al sistema no están etiquetados, puesto que por su naturaleza no pueden ser clasificados de antemano. Por ejemplo, tu historial de reproducciones en Spotify o TikTok son datos no clasificados, pero que sirven para que el sistema conozca tus gustos y te recomiende contenido similar.

Existen dos tipos de aprendizaje no supervisado: agrupamiento (clustering) y asociación. El primero encuentra características comunes en los datos y los agrupa por esas características. Mientras que el de asociación, identifica la cercanía entre diferentes datos y se usa para los sistemas de recomendación en redes sociales, servicios de streaming o publicidad. De aquí viene lo de que los gigantes de la tecnología te conocen mejor que tú mismo porque estudian tus datos para saber qué recomendarte.

machine-learning-tipos-de-machine-learning-EDteam.png

3. Aprendizaje por refuerzo

En este caso, luego de que el modelo ha sido entrenado, tiene que interactuar con su entorno para recibir un premio o un castigo para evaluar sus respuestas y mejorar el modelo. El caso más común son los juegos, ya que existen muchas posibles jugadas y cada una dará un resultado positivo o negativo que será el refuerzo.

Este tipo de aprendizaje se usa también en la conducción autónoma, pues el sistema recibe retroalimentación constante del entorno en el que se mueve.

Por si te lo preguntabas, puedes comenzar en el Machine Learning y entrenar tus modelos con Python y la librería scikit learn. Y lo puedes aprender en EDteam.

¿Qué son las redes neuronales?

Los algoritmos de regresión, clasificación, clustering o asociación pueden resolver ciertos tipos de problemas, pero no pueden con los más complejos como el reconocimiento del lenguaje humano o de imágenes. En este caso, usamos las redes neuronales. Para entenderlas, primero entendamos cómo funciona una neurona en nuestro cuerpo.

Las neuronas son las células básicas del sistema nervioso que se encargan de recibir, procesar y transmitir información. Gracias a las neuronas no solo pensamos, sino que sentimos dolor, la temperatura, dominamos habilidades nuevas, etc. En ciertas circunstancias (como cuando aprendemos algo nuevo), una neurona se activa y envía un impulso a otra neurona formando una conexión. Estas conexiones se fortalecen cuando dominamos habilidades nuevas. Por ejemplo, aprender un nuevo idioma o manejar un auto. Al inicio pensamos mucho cada detalle, pero con el tiempo se vuelve natural y ni pensamos en eso. Es porque las conexiones entre neuronas se han fortalecido.

Las redes neuronales artificiales (que llamaremos “redes neuronales” a secas a partir de ahora) son un modelo de computación que imita el comportamiento de las neuronas biológicas y al igual que ellas reciben, procesan y envían la información entre ellas formando una red. Cada neurona procesa una tarea específica y envía sus resultados a las otras neuronas de su red para trabajar juntas. El tamaño de esta red determinará la complejidad de los problemas que puede resolver.

Las neuronas funcionan de la siguiente manera:

redes-neuronales-explicación-EDteam.png

  1. Tienen datos de entrada y cada uno tiene un peso que significa la importancia de ese dato.
  2. Esos datos y sus pesos se multiplican y se suman en el cuerpo de la neurona (o perceptron).
  3. El resultado de ese cálculo se pasa por una función matemática de activación que da el dato de salida.
  4. Ese dato de salida puede ser el dato de entrada de una o más neuronas en la red. Recuerda que mientras más neuronas y capas tenga la red, podrás resolver problemas mucho más complejos.

redes-neuronales-EDteam.png

Ahora, imagina que quieres saber si vas a conseguir un mejor empleo. Tus datos de entrada pueden ser:

  1. ¿Cuántas horas estudio a la semana en EDteam?
  2. ¿En cuántos proyectos nuevos he participado en mi trabajo actual?
  3. ¿A cuántas empresas postulo a la semana?

Pero como no todos estos datos tienen la misma importancia, puedes decir que el 1 tiene un peso de 3, el 2 un peso de 1 y el 3 un peso de 2. Estos se multiplicarán por sus pesos y se sumarán y finalmente, la función de activación hará los cálculos y te dirá 1 (conseguirás un nuevo trabajo) o 0 (no lo conseguirás).

redes-neuronales-EDteam-explicacion.png

Ten en cuenta que este es ejemplo muy simplificado y que la salida no necesariamente es 0 o 1. De hecho, hay muchas funciones de activación (que no son más que puras matemáticas) que te darán diferentes resultados.

Como debes imaginar, esto requiere de muchísimo poder de cómputo por la cantidad de cálculos que deben hacerse, es por eso que cuando entras a ChatGPT, suele estar caído.

Y si quieres saber más y programar tus propias redes neuronales, puedes aprenderlo en EDteam.

¿Qué es Deep Learning?

Ahora que has entendido qué son las redes neuronales, veamos como se aprende con redes neuronales (o mejor dicho, el deep learning o aprendizaje profundo).

Las redes neuronales reciben un conjunto de datos de entrenamiento y sus respectivos valores de salida correctos (es decir, ya conocemos cuáles son las respuestas).

deep-learning-EDteam-explicacion.png

Con estos datos, el sistema intenta calcular los pesos y aplica la función de activación al resultado. La salida entregada se compara contra el resultado real (el que conocemos de antemano) y se encuentra el error promedio.

machine-learning-deep-learning-explicacion-EDteam.png

Con ese error promedio, se regresa hacia atrás a través de todas las capas de la red (back propagation) para ajustar los pesos. Con los pesos ajustados, se vuelven a hacer todos los cálculos (feed forward) y se vuelve a comparar la salida con el resultado de entrenamiento para obtener el error medio y volver a comenzar. Este proceso de ida y vuelta se realiza varias veces hasta que el error es cero o lo más cercano posible a cero.

machine-learning-deep-learning-explicacion-EDteam.png

Cada uno de los pesos que son ajustados en cada época (que es como se llama a cada una de estas vueltas) se conocen como parámetros. Mientras la tarea sea más compleja, la red tendrá más parámetros y requerirá mayor poder de cómputo. Como ejemplo, ChatGPT tiene 175 millones de parámetros.

En otras palabras, cada línea de la red que estás viendo, es un parámetro.

redes-neuronales-EDteam.png

Ten en cuenta que el Deep Learning es un campo dentro del Machine Learning, no es una disciplina separada. La diferencia es que Machine Learning usa algoritmos que para determinadas tareas son insuficientes. Y en estos casos se aplican redes neuronales que pueden tener cuantas capas y cuantos parámetros sean necesarios para cualquier tarea. Eso es el Deep Learning.

machine-learning-deep-learning-EDteam.png

El Deep Learning se usa en reconocimiento de escritura a mano, reconocimiento del lenguaje, traducción de idiomas, conversión de texto a voz, conducción de vehículos autónomos, aprendizaje de juegos y reconocimiento de imágenes. En el caso de las imágenes, en las que hay que ir pixel por pixel para reconocerla, se usa un tipo de red neuronal diferente conocido como red neuronal convolucional. Y recuerda que todo esto lo puedes aprender a fondo en EDteam. Toma nuestros cursos: Introducción a las redes neuronales artificiales, Introducción a Inteligencia Artificial y Redes neuronales con TensorFlow.

Así que ya sabes que esos dibujitos de redes que se ven tan cool no son ciencia ficción ni el invento de un diseñador creativo. Es en realidad cómo funciona la inteligencia artificial con Machine Learning, Redes Neuronales y Deep Learning.

Y lo más importante es que ahora sabes que no es brujería, ni magia, ni las máquinas queriendo dominar a los humanos. Es solo ciencia: matemáticas y ciencias de la computación combinadas (aunque claro, la ciencia tiene mucho de magia).

Y cuando expliques como todo un experto como funciona el Machine Learning y te pregunten “¿dónde aprendiste todo eso?”, responde que lo aprendiste en EDteam.

Comentarios de los usuarios

Pregunta a ChatEDT