¿Quieres saber cómo funciona Deep Learning? Aquí hay una guía rápida para todos.

Crédito de la imagen: Datanami

La Inteligencia Artificial (AI) y el Aprendizaje Automático (ML) son algunos de los temas más candentes en este momento.

El término "AI" se usa casualmente todos los días. Escuchas a aspirantes a desarrolladores decir que quieren aprender IA. También escuchas a ejecutivos diciendo que quieren implementar AI en sus servicios. Pero con bastante frecuencia, muchas de estas personas no entienden qué es AI.

Una vez que haya leído este artículo, comprenderá los conceptos básicos de AI y ML. Más importante aún, comprenderá cómo funciona Deep Learning , el tipo más popular de ML.

Esta guía está destinada a todos, por lo que no se involucrarán las matemáticas avanzadas.

Fondo

El primer paso para comprender cómo funciona Deep Learning es captar las diferencias entre los términos importantes.

Inteligencia Artificial vs Aprendizaje Automático

La inteligencia artificial es la replicación de la inteligencia humana en las computadoras.

Cuando comenzó la investigación sobre la IA, los investigadores intentaban replicar la inteligencia humana para tareas específicas, como jugar un juego.

Introdujeron una gran cantidad de reglas que la computadora debía respetar. La computadora tenía una lista específica de posibles acciones y tomaba decisiones basadas en esas reglas .

El aprendizaje automático se refiere a la capacidad de una máquina para aprender utilizando grandes conjuntos de datos en lugar de reglas codificadas.

ML permite que las computadoras aprendan por sí mismas. Este tipo de aprendizaje aprovecha el poder de procesamiento de las computadoras modernas, que pueden procesar fácilmente grandes conjuntos de datos.

Aprendizaje supervisado vs aprendizaje no supervisado

El aprendizaje supervisado implica el uso de conjuntos de datos etiquetados que tienen entradas y salidas esperadas.

Cuando entrenas a un AI utilizando aprendizaje supervisado, le das una entrada y le dices el resultado esperado.

Si el resultado generado por la IA es incorrecto, reajustará sus cálculos. Este proceso se realiza iterativamente sobre el conjunto de datos, hasta que la IA no comete más errores.

Un ejemplo de aprendizaje supervisado es una IA que predice el clima. Aprende a predecir el clima utilizando datos históricos. Los datos de entrenamiento tienen entradas (presión, humedad, velocidad del viento) y salidas (temperatura).

El aprendizaje no supervisado es la tarea del aprendizaje automático utilizando conjuntos de datos sin una estructura específica.

Cuando entrenas a una IA usando aprendizaje no supervisado, permites que la IA haga clasificaciones lógicas de los datos.

Un ejemplo de aprendizaje no supervisado es una IA de predicción de comportamiento para un sitio web de comercio electrónico. No aprenderá mediante el uso de un conjunto de datos etiquetados de entradas y salidas.

En cambio, creará su propia clasificación de los datos de entrada. Le indicará qué tipo de usuarios es más probable que compren productos diferentes.

Ahora, ¿cómo funciona Deep Learning?

Ahora está preparado para comprender qué es Deep Learning y cómo funciona.

Deep Learning es un método de aprendizaje automático . Nos permite entrenar a una IA para predecir salidas, dado un conjunto de entradas. Tanto el aprendizaje supervisado como el no supervisado se pueden usar para entrenar a la IA.

Aprenderemos cómo funciona el aprendizaje profundo mediante la construcción de un hipotético servicio de estimación de precios de boletos de avión . Lo entrenaremos usando un método de aprendizaje supervisado.

Queremos que nuestro estimador de precios de boletos de avión prediga el precio usando las siguientes entradas (estamos excluyendo los boletos de regreso por simplicidad):

  • Aeropuerto de origen
  • Aeropuerto de destino
  • Fecha de salida
  • Aerolínea

Redes neuronales

Miremos dentro del cerebro de nuestra IA.

Al igual que los animales, nuestro estimador El cerebro de AI tiene neuronas. Ellos están representados por círculos. Estas neuronas están interconectadas.

Crédito de la imagen: CS231n

Las neuronas se agrupan en tres tipos diferentes de capas:

  1. Capa de entrada
  2. Capa oculta (s)
  3. Capa de salida

La capa de entrada recibe datos de entrada. En nuestro caso, tenemos cuatro neuronas en la capa de entrada: el aeropuerto de origen, el aeropuerto de destino, la fecha de salida y la aerolínea. La capa de entrada pasa las entradas a la primera capa oculta.

Las capas ocultas realizan cálculos matemáticos en nuestras entradas. Uno de los desafíos en la creación de redes neuronales es decidir el número de capas ocultas, así como el número de neuronas para cada capa.

La " profundidad " en el aprendizaje profundo se refiere a tener más de una capa oculta.

La capa de salida devuelve los datos de salida. En nuestro caso, nos da la predicción del precio.

Entonces, ¿cómo calcula la predicción del precio?

Aquí es donde comienza la magia de Deep Learning .

Cada conexión entre neuronas está asociada con un peso . Este peso dicta la importancia del valor de entrada. Los pesos iniciales se establecen aleatoriamente.

Al predecir el precio de un boleto de avión, la fecha de salida es uno de los factores más pesados. Por lo tanto, las conexiones de neurona de fecha de salida tendrán un gran peso.

Crédito de la imagen: CodeProject

Cada neurona tiene una función de activación . Estas funciones son difíciles de entender sin razonamiento matemático.

En pocas palabras, uno de sus propósitos es "estandarizar" la salida de la neurona.

Una vez que un conjunto de datos de entrada ha pasado por todas las capas de la red neuronal, devuelve los datos de salida a través de la capa de salida.

Nada complicado, ¿verdad?

Entrenando la red neuronal

El entrenamiento de la IA es la parte más difícil de Deep Learning. ¿Por qué?

  1. Necesita un gran conjunto de datos .
  2. Necesitas una gran cantidad de poder computacional .

Para nuestro estimador de precios de boletos de avión, necesitamos encontrar datos históricos de los precios de los boletos. Y debido a la gran cantidad de combinaciones posibles de aeropuertos y fechas de salida, necesitamos una lista muy grande de precios de boletos.

Para entrenar a la IA, necesitamos darle las entradas de nuestro conjunto de datos y comparar sus resultados con los resultados del conjunto de datos. Dado que la IA todavía no está entrenada, sus resultados serán incorrectos.

Una vez que pasamos por todo el conjunto de datos, podemos crear una función que nos muestre cuán equivocados estaban los resultados de la IA de los resultados reales. Esta función se llama Función de Costo .

Idealmente, queremos que nuestra función de costo sea cero. Ahí es cuando los resultados de nuestra IA son los mismos que los de las salidas del conjunto de datos.

¿Cómo podemos reducir la función de costo?

Cambiamos los pesos entre las neuronas. Podríamos cambiarlos al azar hasta que nuestra función de costo sea baja, pero eso no es muy eficiente.

En cambio, usaremos una técnica llamada Gradient Descent .

Gradient Descent es una técnica que nos permite encontrar el mínimo de una función. En nuestro caso, estamos buscando el mínimo de la función de costo.

Funciona al cambiar los pesos en pequeños incrementos después de cada iteración del conjunto de datos . Al calcular la derivada (o gradiente) de la función de costo en un determinado conjunto de pesos, podemos ver en qué dirección se encuentra el mínimo.

Crédito de la imagen: Sebastian Raschka

Para minimizar la función de costo, necesita iterar a través de su conjunto de datos muchas veces. Es por eso que necesita una gran cantidad de potencia computacional.

La actualización de los pesos mediante el descenso de gradiente se realiza automáticamente . ¡Esa es la magia de Deep Learning!

Una vez que hayamos capacitado a nuestro estimador de precios de boletos de avión AI, podemos usarlo para predecir los precios futuros.

¿Dónde puedo aprender más?

Hay muchos otros tipos de redes neuronales: redes neuronales convolucionales para visión artificial y redes neuronales recurrentes para el procesamiento del lenguaje natural .

Si desea aprender el aspecto técnico de Deep Learning, le sugiero que tome un curso en línea.

Actualmente, uno de los mejores cursos para Aprendizaje Profundo es la Especialización de Aprendizaje Profundo de Andrew Ng . Si no está interesado en obtener un certificado, no necesita pagar el curso. Puede auditarlo gratis en su lugar.

Si tiene alguna pregunta o desea más explicaciones técnicas de los conceptos, pregunte abajo.

En resumen…

  • Deep Learning utiliza una red neuronal para imitar la inteligencia animal.
  • Hay tres tipos de capas de neuronas en una red neuronal: la entrada Layer, la (s) capa (s) oculta (s) y la capa de salida.
  • Las conexiones entre las neuronas están asociadas con un peso, que dicta la importancia del valor de entrada.
  • Las neuronas aplican una función de activación en los datos para "estandarizar" la salida que sale de la neurona.
  • Para entrenar una red neuronal, necesita un gran conjunto de datos.
  • Iterando a través del conjunto de datos y comparando las salidas producirá una Función de Costo, indicando cuánto está desconectada la IA de las salidas reales.
  • Después de cada iteración a través del conjunto de datos, los pesos entre las neuronas se ajustan usando Gradient Descent para reducir la función de costo.

Si disfrutaste este artículo, por favor dame aplausos para que más gente lo vea. ¡Gracias!

¡También puede consultar mi experiencia sobre cómo obtuve mi pasantía en Shopify !

Para más actualizaciones, sígueme en Twitter .