Al terminar sabrás…
- Distinguir entre inteligencia artificial, machine learning y programación clásica
- Diferenciar el aprendizaje supervisado, el no supervisado y el aprendizaje por refuerzo
- Explicar con tus palabras qué es una red neuronal
- Argumentar por qué AWS DeepRacer aprende a conducir con aprendizaje por refuerzo
Vídeo: IA y machine learning sin complicaciones
Guion del vídeo (texto)
¿Qué es la inteligencia artificial?. Cuando tu móvil reconoce tu cara, cuando una plataforma te recomienda una serie o cuando un asistente entiende lo que le dices, hay inteligencia artificial detrás. La inteligencia artificial es el campo que intenta que las máquinas hagan tareas que, si las hiciera una persona, diríamos que requieren inteligencia. Es un paraguas muy grande, y dentro de él está lo que nos interesa: el machine learning.
Programar frente a aprender. En la programación clásica, tú escribes las reglas una a una. Si el semáforo está en rojo, para. Pero hay problemas con demasiadas reglas para escribirlas a mano, como conducir. El machine learning, o aprendizaje automático, cambia el enfoque: en lugar de escribir las reglas, le das a la máquina ejemplos o experiencia, y ella descubre las reglas por su cuenta. A ese resultado lo llamamos modelo.
Aprendizaje supervisado. El primer tipo es el aprendizaje supervisado. Es como estudiar con un solucionario. Le enseñas miles de fotos con su etiqueta, esto es un gato, esto es un perro, y el modelo aprende a etiquetar fotos nuevas que nunca ha visto. El filtro de spam de tu correo funciona así: ha aprendido de millones de correos que alguien marcó como spam o como correo normal.
Aprendizaje no supervisado. El segundo tipo es el aprendizaje no supervisado. Aquí no hay etiquetas ni respuestas correctas. El modelo recibe un montón de datos y busca por sí mismo qué se parece a qué. Por ejemplo, una tienda online puede descubrir grupos de clientes con gustos parecidos sin que nadie le haya dicho qué grupos existen. Es como ordenar tu armario sin instrucciones: tú decides que van juntas las camisetas.
Aprendizaje por refuerzo. El tercer tipo es el aprendizaje por refuerzo, y es el protagonista de este campeonato. No hay ejemplos resueltos. El modelo prueba acciones, recibe una recompensa según lo bien o mal que lo ha hecho y, con el tiempo, descubre qué acciones le dan más premio. Es como adiestrar a un perro con galletas, o como aprender un videojuego a base de partidas.
La red neuronal. Dentro del modelo hay una red neuronal. Está inspirada en el cerebro: muchas neuronas artificiales conectadas entre sí. Cada una recibe señales, se activa si la señal es lo bastante fuerte y pasa el resultado a la siguiente. Aprender consiste en ajustar la fuerza de esas conexiones. En DeepRacer, la red recibe la imagen de la cámara y decide hacia dónde girar y a qué velocidad.
¿Por qué refuerzo para conducir?. Podríamos enseñar a conducir por imitación, que es aprendizaje supervisado: grabar miles de imágenes con la acción correcta. Pero esos modelos solo funcionan bien cuando lo que ve la cámara se parece a lo que vieron al entrenar. El refuerzo no necesita etiquetas, se entrena entero en un simulador y, como empieza probando al azar, ve muchas situaciones distintas. Por eso sus modelos son más robustos.
Inteligencia artificial: un paraguas muy grande
Seguro que hoy ya has usado inteligencia artificial sin darte cuenta. Tu móvil se desbloquea al ver tu cara, la plataforma de vídeo te recomienda una serie que te encaja, el teclado adivina la palabra que vas a escribir y un asistente entiende lo que le dices en voz alta.
La inteligencia artificial (IA) es el campo de la informática que intenta que las máquinas hagan tareas que, si las hiciera una persona, diríamos que requieren inteligencia: reconocer, entender, decidir, predecir. Es un paraguas muy amplio. Debajo de ese paraguas está el machine learning (aprendizaje automático), que es la parte que hace funcionar casi toda la IA moderna, y también AWS DeepRacer.
Programar frente a aprender
Para entender qué tiene de especial el machine learning, compáralo con la programación de toda la vida.
| Programación clásica | Machine learning | |
|---|---|---|
| Qué das tú | Las reglas | Ejemplos o experiencia |
| Qué hace la máquina | Sigue las reglas | Descubre las reglas |
| Resultado | Un programa | Un modelo |
| Ejemplo | "Si el semáforo está en rojo, para" | Aprender a conducir viendo y probando |
Piensa en conducir. ¿Podrías escribir todas las reglas? "Si la curva gira a la izquierda con un ángulo de tantos grados y vas a tal velocidad, gira el volante tanto". Necesitarías millones de reglas y siempre se te escaparía algún caso. El machine learning da la vuelta al problema: en vez de escribir las reglas, preparas una forma de aprender y la máquina saca sus propias reglas. Lo que obtiene al final se llama modelo.
Tres formas de aprender
El crash course de DeepRacer on AWS presenta tres grandes tipos de aprendizaje. Vamos con cada uno y con ejemplos de tu día a día.
Aprendizaje supervisado: estudiar con el solucionario
La guía lo define como un entrenamiento guiado por ejemplos: con datos etiquetados, es decir, con la salida correcta conocida para cada entrada, el modelo aprende a predecir la salida de entradas nuevas.
- Ejemplo: le enseñas 10.000 fotos, cada una con su etiqueta ("gato" o "perro"). Después le das una foto nueva y te dice qué es.
- En tu vida: el filtro de spam del correo, que aprendió de millones de mensajes marcados como spam o no spam.
- Analogía: es como preparar un examen con un libro de ejercicios resueltos.
Aprendizaje no supervisado: ordenar sin instrucciones
Aquí los datos no tienen etiquetas. El modelo busca por sí mismo estructuras o patrones parecidos dentro de los datos.
- Ejemplo: una tienda online agrupa a sus clientes por gustos sin que nadie le diga qué grupos existen.
- En tu vida: la app de fotos que junta automáticamente todas las fotos en las que sale la misma persona.
- Analogía: vuelcas un cajón de piezas de construcción y las separas por colores y formas sin que nadie te diga cómo.
Aprendizaje por refuerzo: aprender probando
Según la guía oficial, un modelo de aprendizaje por refuerzo aprende de su experiencia y, con el tiempo, es capaz de identificar qué acciones llevan a las mejores recompensas. Y añade una frase clave: el aprendizaje por refuerzo es la técnica de machine learning que mueve AWS DeepRacer.
- Ejemplo: un perro aprende a sentarse porque cada vez que lo hace recibe una galleta.
- En tu vida: cuando juegas a un videojuego nuevo sin leer las instrucciones. Pruebas, pierdes, ves qué te da puntos y, partida a partida, mejoras.
- Analogía: aprender a ir en bici. Nadie te da una tabla con "ángulo del manillar correcto". Te caes, te equilibras, y tu cerebro va ajustando.
AWS cita usos reales del aprendizaje por refuerzo como el trading financiero, la refrigeración de centros de datos, la logística de flotas y, por supuesto, la conducción autónoma de carreras.
Qué es una red neuronal
Dentro de un modelo de DeepRacer hay una red neuronal. La definición oficial es sencilla: un conjunto de nodos conectados, inspirado en los sistemas biológicos. Cada nodo es una neurona artificial que recibe un estímulo, se activa si la señal es lo bastante fuerte y produce una salida.
Imagínalo como una cadena de votaciones:
- La primera fila de neuronas recibe la imagen de la cámara, píxel a píxel.
- Cada neurona de la fila siguiente "escucha" a muchas de la anterior, unas con más atención que otras (esa atención son los pesos de las conexiones).
- Si lo que oye suma suficiente, se activa y pasa su voto adelante.
- La última fila da la respuesta: por ejemplo, "gira 15 grados a la izquierda a 1 metro por segundo".
Aprender consiste en ir ajustando esos pesos para que la respuesta final sea cada vez mejor. La guía dice que una red neuronal sirve como aproximación de propósito general a cualquier función: con suficientes neuronas y buenos pesos, puede aprender relaciones muy complicadas, como la que hay entre una imagen de la pista y el giro correcto.
Por qué DeepRacer aprende por refuerzo
Hay otra forma de enseñar a conducir a un coche: el aprendizaje por imitación, que es aprendizaje supervisado. Grabas miles de imágenes de la cámara y, para cada una, la acción correcta (la tupla imagen y acción). El modelo aprende a copiar.
El problema, según la guía oficial, es que esos modelos solo funcionan bien cuando las imágenes de la cámara se parecen a las del conjunto de entrenamiento. Si aparece una curva con otra luz o una situación que nunca grabaste, el modelo se pierde. Además, necesitas un conjunto de datos enorme y muy completo.
El aprendizaje por refuerzo tiene tres ventajas:
- No necesita etiquetar nada: nadie tiene que decir cuál es el giro correcto en cada foto.
- Se entrena entero en simulación: el coche puede chocar miles de veces sin romper nada.
- Produce modelos robustos: como empieza con acciones aleatorias, explora muchísimas situaciones, también las raras.
Un último dato: la página oficial de la solución relaciona lo que aprendes con DeepRacer con las técnicas de entrenamiento de machine learning que están detrás de los modelos fundacionales de algunas de las aplicaciones de IA generativa más avanzadas de hoy. Lo que vas a practicar aquí no es un juguete.
Actividad práctica
Esta actividad es en papel o en un documento compartido del equipo. Dura unos 10 minutos.
- Cada integrante escribe tres ejemplos de IA que haya usado esta semana.
- Juntad todos los ejemplos en una tabla con tres columnas: Supervisado, No supervisado y Refuerzo.
- Colocad cada ejemplo en su columna y anotad al lado qué datos o qué recompensa creéis que usa. Si dudáis, debatidlo: ese debate es el ejercicio.
- Pensad en un problema nuevo de vuestro centro (por ejemplo, encender la calefacción de cada aula a la hora justa) y decidid qué tipo de aprendizaje usaríais y por qué.
- Por último, escribid en una frase por qué DeepRacer no aprende por imitación. Guardadla: la usaréis en el test.
Resumen
- La IA es el campo amplio; el machine learning es la parte en la que la máquina descubre las reglas a partir de datos o experiencia.
- El aprendizaje supervisado usa datos etiquetados; el no supervisado busca patrones en datos sin etiquetar.
- El aprendizaje por refuerzo aprende de su propia experiencia buscando la mayor recompensa, y es la técnica de AWS DeepRacer.
- Una red neuronal son neuronas artificiales conectadas; aprender es ajustar la fuerza de sus conexiones.
- El refuerzo no necesita etiquetas, se entrena en simulación y da modelos más robustos que la imitación.
Test final
Comprueba lo que has aprendido. Necesitas 4 aciertos de 5 para superar el módulo.
Para saber más
- Reinforcement learning overview Oficial
- Explore reinforcement learning Oficial
- Concepts and terminology Oficial
- Página de la solución DeepRacer on AWS Oficial