JavaRush /Blog Java /Random-ES /Deep Learning, inteligencia artificial y machine learning...

Deep Learning, inteligencia artificial y machine learning para tontos: explicado con un ejemplo

Publicado en el grupo Random-ES
¿Quiere hacer brillar su intelecto en compañía de colegas o sorprender a sus amigos en una conversación sobre temas técnicos actuales? Mencione "Inteligencia artificial" o "Aprendizaje automático" en una conversación y listo. Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 1El término “Inteligencia Artificial” ahora se escucha ampliamente. Los programadores quieren aprender IA. Los líderes quieren implementar la IA en sus servicios. Pero en la práctica, ni siquiera los profesionales siempre entienden qué es la "IA". Este artículo tiene como objetivo ayudarle a comprender los términos "inteligencia artificial" y "aprendizaje automático". También aprenderá cómo funciona el aprendizaje profundo, el tipo de aprendizaje automático más popular. Y, lo que es más importante, estas instrucciones están escritas en un lenguaje bastante accesible. Las matemáticas aquí no serán demasiado difíciles de entender.

Lo esencial

El primer paso para comprender qué es el aprendizaje profundo es comprender la diferencia entre los términos clave.
Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 2
Foto: Datanami

Inteligencia artificial versus aprendizaje automático

La inteligencia artificial (IA o AI agnl.) es un intento de copiar el proceso de pensamiento humano mediante una computadora. Cuando apenas comenzaban las investigaciones en el campo de la Inteligencia Artificial, los científicos intentaron copiar el comportamiento de la inteligencia humana estrictamente bajo ciertas condiciones, es decir, perfeccionarla para resolver ciertos problemas. Por ejemplo, para que la máquina pueda jugar. Establecieron una serie de reglas que debía seguir la máquina informática. La computadora tenía una lista de posibles acciones y tomaba decisiones basadas en las reglas y restricciones establecidas durante la fase de diseño.
Aprendizaje automático (ML o ML en inglés) significa la capacidad de una máquina de aprender procesando grandes conjuntos de información en lugar de reglas claramente definidas.
ML permite que las computadoras aprendan por sí solas. Este tipo de aprendizaje aprovecha la tecnología informática moderna, que puede procesar fácilmente grandes cantidades de datos.

Aprendizaje supervisado versus aprendizaje no supervisado

El aprendizaje supervisado utiliza conjuntos de datos etiquetados que constan de entradas y salidas esperadas. Cuando entrenas inteligencia artificial mediante el aprendizaje supervisado, proporcionas datos como entrada y especificas cuál debe ser el resultado. Si el resultado que produce la IA es diferente al esperado, entonces la IA debe corregir sus cálculos. El proceso se repite muchas veces sobre la matriz de datos siempre que la IA cometa errores. Un ejemplo de aprendizaje supervisado sería la Inteligencia Artificial que predice el tiempo. Aprende a predecir el clima utilizando datos históricos. Los datos de entrada son presión, humedad y velocidad del viento y, como resultado, deberíamos obtener la temperatura. El aprendizaje no supervisado es una tarea que consiste en entrenar la IA utilizando datos no estructurados. Cuando entrenas inteligencia artificial mediante el aprendizaje no supervisado, permites que la IA realice clasificaciones lógicas de datos. Un ejemplo de inteligencia artificial que utiliza aprendizaje automático no supervisado es un robot predictivo del comportamiento del cliente en una tienda online. Aprende sin utilizar entradas y salidas conocidas previamente. En cambio, debe clasificar los datos de entrada por sí mismo. El algoritmo debe identificar y decirle qué tipo de usuarios prefieren qué productos.

Cómo funciona el aprendizaje automático

Entonces, el aprendizaje profundo es uno de los enfoques del aprendizaje automático. Le permite predecir resultados a partir de datos de entrada dados. Para entrenar la IA, puedes utilizar las dos opciones anteriores: aprendizaje supervisado y no supervisado. Entenderemos cómo funciona el Deep Learning con un ejemplo claro: digamos que necesitamos desarrollar un servicio para predecir los precios de los viajes aéreos. Entrenaremos nuestro algoritmo utilizando un método supervisado. Queremos que nuestro servicio de predicción de precios de viajes aéreos prediga el precio en función de los siguientes datos de entrada (no tomamos en cuenta el vuelo de regreso para facilitar la presentación):
  • aeropuerto de salida;
  • aeropuerto de llegada;
  • fecha de salida prevista;
  • aerolínea.
Redes neuronales Echemos un vistazo al cerebro de la inteligencia artificial. Como en el caso de los seres vivos biológicos, nuestro predictor tiene neuronas en su “cabeza”. En la imagen se presentan en forma de círculos. Las neuronas están conectadas entre sí.
Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 3
En la imagen, las neuronas se combinan en tres grupos de capas:
  • capa de entrada;
  • capa oculta 1 (capa oculta 1) y capa oculta 2 (capa oculta 2);
  • capa de salida.
Algunos datos ingresan a la capa de entrada. En nuestro caso, tenemos cuatro neuronas en la capa de entrada: aeropuerto de salida, aeropuerto de llegada, fecha de salida, aerolínea. La capa de entrada pasa datos a la primera capa oculta. Las capas ocultas realizan cálculos matemáticos basados ​​en los datos de entrada recibidos. Uno de los principales problemas a la hora de construir redes neuronales es la elección del número de capas ocultas y el número de neuronas en cada capa.
La palabra Deep en la frase Deep Learning indica la presencia de más de una capa oculta.
La capa de salida nos devuelve la información resultante. En nuestro caso, el precio esperado del vuelo.
Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 4
Nos hemos perdido lo más interesante hasta ahora: ¿cómo se calcula exactamente el precio esperado? Aquí es donde comienza la magia del Deep Learning. A cada conexión entre neuronas se le asigna un cierto peso (coeficiente). Este peso determina la importancia del valor de entrada. Los pesos iniciales se establecen al azar. Al predecir el coste de un viaje aéreo, la fecha de salida es la que más influye en el precio. Por tanto, las conexiones de la neurona “fecha de salida” tienen más peso.
Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 5
Cada neurona tiene una función de activación adjunta. Es difícil entender qué es esta función sin conocimientos matemáticos. Así que hagamos una simplificación: el objetivo de la función de activación es "estandarizar" la salida de la neurona. Una vez que el conjunto de datos ha pasado por todas las capas de la red neuronal, devuelve el resultado a través de la capa de salida. Hasta aquí todo está claro ¿verdad?

Entrenamiento de redes neuronales

¡Entrenar una red neuronal es la parte más difícil del aprendizaje profundo! ¿Por qué? Porque necesitas una gran cantidad de datos. Porque necesitas más potencia informática. Para nuestro proyecto, necesitamos encontrar datos históricos de tarifas aéreas. Además, para todas las combinaciones posibles de aeropuertos de salida y destino, fechas de salida y diferentes compañías aéreas. Necesitamos una gran cantidad de datos sobre los precios de los billetes. Debemos alimentar los datos de entrada de nuestro conjunto a las entradas de nuestra red neuronal y comprobar si coinciden con los resultados que ya tenemos. Si los resultados obtenidos por la inteligencia artificial difieren de los esperados, significa que aún no se ha entrenado lo suficiente. Una vez que hayamos ejecutado la cantidad total de datos a través de nuestra red neuronal, podemos crear una función que indique qué tan diferentes son los resultados de la IA de los resultados reales en nuestro conjunto de datos. Esta función se llama función de costos . En el caso ideal, por el que nos esforzamos con todas nuestras fuerzas, los valores de nuestra función de costes son iguales a cero. Esto significa que los resultados de costos seleccionados por la red neuronal no difieren del costo real de los boletos en nuestro conjunto de datos.

¿Cómo podemos reducir el valor de la función de costos?

Cambiamos los pesos de las conexiones entre neuronas. Esto se puede hacer de forma aleatoria, pero este enfoque no es eficiente. En su lugar, usaremos un método llamado Descenso de gradiente .
El descenso de gradiente es un método que nos permite encontrar el mínimo de una función. En nuestro caso buscamos el mínimo de la función de costes.
Este algoritmo funciona aumentando gradualmente los pesos después de cada nueva iteración del procesamiento de nuestro conjunto de datos. Al calcular la derivada (o gradiente) de la función de costos para ciertos conjuntos de ponderaciones, podemos ver en qué dirección se encuentra el mínimo.
Deep Learning, inteligencia artificial y machine learning para principiantes: explicado con un ejemplo - 6
En la imagen: Peso inicial - peso inicial, Mínimo de costo global - mínimo global de la función de costo. Para minimizar la función de costos, debemos realizar cálculos en nuestro conjunto de datos muchas veces. Es por eso que necesita mucha potencia informática. Los pesos se actualizan automáticamente mediante el método de descenso de gradiente. ¡Ésta es la magia del aprendizaje profundo! Una vez que hayamos entrenado nuestro servicio de predicción de precios de vuelos mediante IA, podremos utilizarlo de forma segura para predecir precios en la realidad.

Resumamos...

  • El aprendizaje profundo utiliza redes neuronales para simular la inteligencia.
  • Hay tres tipos de neuronas en una red neuronal: capa de entrada, capas ocultas y capa de salida.
  • Cada conexión entre neuronas tiene su propio peso, lo que indica la importancia de esa entrada.
  • Las neuronas utilizan una función de activación para "estandarizar" la salida de la neurona.
  • Para entrenar una red neuronal, se necesita una gran cantidad de datos.
  • Si procesamos una matriz de datos utilizando una red neuronal y comparamos los datos de salida con los datos reales, obtendremos una función de costo que muestra en qué medida la IA está equivocada.
  • Después de cada procesamiento de datos, los pesos entre neuronas se ajustan mediante el método de descenso de gradiente para lograr una reducción en la función de costo.
Enlace al original
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION