Guía rápida de Inteligencia Artificial. Así funciona el Deep Learning

Inteligencia Artificial (IA) y Machine Learning (ML) son los conceptos más de moda estos días.

El término “IA” se usa continuamente y nosotros somos los primeros en sacarlo a la palestra un día sí y otro también. Escuchas a tus jefes decir que quieren implementar la IA en sus servicios. Los periodistas alertan de los peligros del avance de las máquinas. Tu cuñado te comenta un futuro de IA donde las personas pasarán a un segundo plano y todos nos quedaremos sin trabajo.

Pero, con bastante frecuencia, muchas de estas personas no entienden lo que es la Inteligencia Artificial.

En este sencillo artículo, tratamos de explicar los conceptos más básicos y más fundamentales de la IA. El primer paso para entender estos conceptos, y finalmente comprender cómo funciona el aprendizaje profundo, es tener claras las diferencias entre términos importantes.

MjY0OTg5MA.jpeg

Inteligencia Artificial vs Machine Learning

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

Cuando la investigación en IA comenzó por primera vez, los investigadores intentaban replicar la inteligencia humana para tareas específicas, como jugar a un juego. Introdujeron un gran número de reglas que la computadora necesitaba respetar. Ésta tenía una lista específica de posibles acciones y tomaba decisiones basadas en esas reglas.

El Machine Learning o Aprendizaje Automático se refiere a la capacidad de una máquina de aprender usando grandes conjuntos de datos, en lugar de reglas fijas escritas en código.

El ML permite que las computadoras aprendan por sí mismas. Este tipo de aprendizaje aprovecha la potencia de procesamiento de los ordenadores modernos, que pueden procesar fácilmente grandes conjuntos de datos en poco tiempo.

Mlsup11111

Aprendizaje supervisado y no supervisado

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

Cuando entrenas una IA usando el aprendizaje supervisado, le das una entrada y le dices el resultado que esperas obtener. Es decir, como bien intuye el nombre, estamos supervisando el aprendizaje de la máquina o el Machine Learning.

Si la salida generada por la IA es incorrecta, reajustará sus cálculos para probar de nuevo. Este proceso se realiza de forma iterativa sobre el conjunto de datos de lectura, hasta que la IA no comete más errores. Prueba, error, ajuste, repetición.

Un ejemplo de aprendizaje supervisado es la predicción meteorológica. La IA aprende a predecir el tiempo usando datos históricos previos (datos iniciales, de lectura). Estos datos históricos de entrenamiento tienen entradas que llamamos input: presión, humedad, velocidad del viento… y salidas, output, como por ejemplo temperatura.

El aprendizaje no supervisado se refiere a aprendizaje automático (machine learning) utilizando conjuntos de datos sin una estructura concreta.

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

Un ejemplo de aprendizaje no supervisado es la predicción del comportamiento del usuario en un sitio web de comercio electrónico. No aprenderá utilizando un conjunto de datos etiquetados de entradas y salidas. En su lugar, creará su propia clasificación de los datos de entrada y determinará qué tipo de usuarios son los más propensos a comprar diferentes productos.

Deep-Neural-Network-What-is-Deep-Learning-Edureka.png

¿Cómo funciona el Deep Learning?

Ahora estás preparado para entender lo que es el aprendizaje profundo y cómo funciona.

El Aprendizaje Profundo o Deep Learning es un método de aprendizaje automático. Nos permite entrenar una IA para predecir las salidas, teniendo en cuenta un conjunto de entradas. Tanto el aprendizaje supervisado como el no supervisado se pueden utilizar para entrenar a la IA.

Aprenderemos cómo funciona el aprendizaje profundo construyendo un hipotético servicio de estimación de precios de billetes de avión. Lo entrenaremos utilizando un método de aprendizaje supervisado.

Queremos que nuestro “estimador de precios” prediga el precio usando los siguientes datos (excluimos los billetes de ida y vuelta por simplicidad):

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

il_fullxfull.414310970_hwww.jpg

Redes neuronales

Miremos dentro del cerebro de nuestra IA. Como los animales, nuestro “estimador de precios” tiene neuronas. Están representadas por círculos en el siguiente esquema.
Además, como se puede ver, estas neuronas están interconectadas.
Las neuronas se agrupan en tres tipos diferentes de capas:
  • Capa de entrada
  • Capas ocultas
  • Capa de salida

La capa de entrada recibe los datos de entrada. En nuestro caso, tenemos cuatro neuronas en la capa de entrada: Aeropuerto de origen, Aeropuerto de destino, Fecha de salida y Línea aérea. La capa de entrada pasa las entradas a la primera capa oculta.
Las capas ocultas realizan cálculos matemáticos de 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.

El “Profundo” en 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 de precios.

1_6PjhO0kPciY_f5XbghnZsQ.png

Entonces, ¿cómo calcula nuestra red neuronal la predicción de precios?

Aquí es donde comienza la magia del aprendizaje profundo.

Cada conexión entre las neuronas se asocia con un peso. Este peso determina la importancia del valor de entrada. Los pesos iniciales se ajustan al azar. Al predecir el precio de un billete de avión, la fecha de salida es uno de los factores más importantes. Por lo tanto, las conexiones neuronales de la fecha de salida tendrán un gran peso.

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 a través de todas las capas de la red neuronal, devuelve los datos de salida a través de la capa de salida.

Podéis también aprender más conceptos a través de la siguiente guía que publicamos hace poco:

Guía para aprender Inteligencia Artificial sin excusas. Escribe tu primera red neuronal

shutterstock_557818402-1024x796.jpg

Entrenamiento de la red neuronal

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

  1. Necesita un gran volumen de datos.
  2. Necesita una gran cantidad de potencia computacional.

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

Para entrenar a la IA, necesitamos darle las entradas de nuestro conjunto de datos, y comparar sus salidas con las salidas del conjunto de datos. Como la IA todavía no está entrenada, sus resultados estarán equivocados.

Una vez que repasamos todo el conjunto de datos, podemos crear una función que nos muestre cuán equivocadas fueron las salidas de la IA de las salidas reales. Esta función se denomina Función de coste (también Loss Function). Idealmente, queremos que nuestra función de costes sea cero. Cuando esto suceda las salidas de nuestra IA serán las mismas que las salidas del set de datos que le hemos dado.

ca5d6fddf4362558fd2a78662af65d3a.jpg

¿Cómo podemos minimizar la función de costes?

Cambiando los pesos entre neuronas. Podríamos cambiarlos aleatoriamente hasta que nuestra función de coste sea baja, pero eso no es muy eficiente. En su lugar, usaremos una técnica llamada Descenso de Gradiente o Gradient Descent.

El Gradient Descent es una técnica que nos permite encontrar el mínimo de una función. En nuestro caso, buscamos el mínimo de la función de coste. Funciona cambiando los pesos en pequeños incrementos después de cada iteración del conjunto de datos. Al calcular el derivado (o gradiente) de la función de coste en un determinado conjunto de pesos, somos capaces de ver en qué dirección se encuentra el mínimo. Gráficamente se puede ver de forma sencilla en la siguiente imagen:

1_HrFZV7pKPcc5dzLaWvngtQ
Sebastian Raschka

Para minimizar la función de coste, es necesario iterar muchas veces a través del conjunto de datos. Por eso se necesita una gran cantidad de potencia computacional.
La actualización de los pesos con Gradient Descent se realiza automáticamente. Esa es la magia de Deep Learning!

Una vez que hemos entrenado a nuestro estimador de precios de billetes de avión, podemos usarlo para predecir precios futuros.

¿Dónde puedo aprender más?

En esta guía rápida se muestran conceptos iniciales, pero existen muchos otros tipos de redes neuronales. Por ejemplo, Redes Neurales Convolucionales para Visión por Computadora (Computer Vision) y Redes Neurales Recurrentes para Procesamiento de Lenguaje Natural (Natural Language Processing).

Si quieres aprender los aspectos más técnicos del aprendizaje profundo, te sugiero que tomes un curso en línea. Actualmente, uno de los mejores cursos para el aprendizaje profundo es la especialización de Andrew Ng. Si no estás interesado en obtener un certificado, no tienes que pagar el curso. Puedes hacerlo gratis.

1_tVvdrSPZjkS3FYTDAMsT8wRadu Raicea

Estudiante de Ingeniería Informática, apasionado por la tecnología, específicamente el Internet de las Cosas y la Inteligencia Artificial  —  http://www.raduraicea.com

Fuente: Medium

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s