Qué significa aprender en IA
Imagina que tienes montones de fotos de gatos y de perros. ¿Cómo harías para que una computadora los distinga? Podrías escribir reglas sobre la forma de las orejas, la nariz y el pelaje una por una, pero cada foto es distinta, así que las reglas no se acaban nunca. Por eso se toma otro camino: mostrarle a la máquina montones de fotos con la respuesta y dejar que encuentre la diferencia por su cuenta. Eso es lo que significa que una máquina aprenda.
Una persona escribe las reglas
Los programas que vimos hasta ahora siguen al pie de la letra las órdenes que escribió una persona. Para que hicieran algo, primero una persona tenía que pensar las reglas y escribirlas. Tomemos como ejemplo filtrar el correo basura.
Si tiene la palabra «oferta», se tira; si tiene demasiados enlaces, se tira; si está escrito todo en mayúsculas, se tira. Con reglas como estas escritas una por una, parece que casi todo el correo basura quedaría filtrado.
Activa y desactiva las reglas de a una para filtrar el correo. Aun con todas activadas, un correo basura que cambió de aspecto se escapa.
Cuantas más reglas activas, más correo basura se detiene. Pero uno se escapa siempre, porque quienes lo envían cambian su aspecto una y otra vez para no ser detectados: en vez de «oferta» escriben «regalo», y esconden los enlaces dentro de imágenes.
Cada vez hay que escribir otra regla, así que las reglas crecen sin fin. Además, las reglas pueden chocar entre sí, y si se ponen demasiado estrictas, terminan tirando también correo normal. Escribiendo cada regla a mano es difícil seguirle el paso a cambios así.
Encontrar la regla a partir de ejemplos
Esta vez, demos vuelta el camino. En lugar de escribir reglas, se le muestran a la máquina montones de ejemplos con la respuesta: miles de correos, cada uno marcado como «esto es basura» o «esto es normal».
Mirando esos ejemplos, la máquina descubre por sí sola en qué se parecen los correos basura entre sí y en qué se parecen los normales. El patrón que encuentra es la regla que hizo la máquina. Aprender así, a partir de ejemplos con respuesta, se llama aprendizaje supervisado.
Muestra los ejemplos etiquetados uno por uno. A medida que se acumulan, el patrón que separa los dos grupos se vuelve más claro.
A medida que se acumularon los ejemplos, el límite entre los dos grupos se volvió más claro. Ninguna persona trazó ese límite: la máquina lo encontró directamente en los ejemplos.
Lo sorprendente es que capta incluso diferencias que a la gente le cuesta explicar con palabras, siempre que haya suficientes ejemplos. Aun así, el primer patrón que encuentra es tosco, y puede clasificar mal algunos ejemplos. ¿Cómo se pule ese patrón?
Se corrige poco a poco al equivocarse
El aprendizaje no se completa de una vez. La máquina mira un ejemplo, da una respuesta y la compara con la correcta. Si se equivocó, mide cuánto y ajusta el patrón solo un poquito.
Si vuelve a equivocarse con el siguiente ejemplo, vuelve a ajustar. Repitiendo esto incontables veces, la cantidad de errores va bajando. Cómo se mide el error y cómo se hacen los ajustes se ve en detalle más adelante, con los nombres de función de pérdida y descenso de gradiente.
Agrega ejemplos de a una tanda. Con cada toque, la máquina ajusta su patrón, la precisión sube y los ejemplos mal clasificados bajan.
Con cada tanda de ejemplos, la precisión subió. Un patrón que al principio acertaba poco más de la mitad pasó a acertar nueve de cada diez tras unas cuantas rondas de pulido.
Pero no mejora para siempre. A partir de cierto punto solo mejora de a poquito, y puede quedar un ejemplo que siga mal hasta el final. Aun así, llegamos hasta aquí con mucho menos esfuerzo que escribiendo reglas a mano. Entonces, ¿para qué sirve un patrón pulido así?
También predice entradas nuevas
Aquí está la verdadera recompensa del aprendizaje. Los ejemplos usados para entrenar ya tienen respuesta; lo útil aparece cuando la máquina se encuentra con un correo nuevo que nunca vio.
La máquina compara el correo nuevo con el patrón que pulió y decide si es basura o normal. Como encontró un patrón en lugar de memorizar los ejemplos, puede dar una respuesta incluso para un correo que ve por primera vez. Hacer una estimación así sobre una entrada nueva se llama predicción.
Toca un correo nuevo que no se usó en el entrenamiento. La máquina predice si es basura o normal con el patrón que aprendió, y te dice si acertó.
Clasificó bien la mayoría de los correos que nunca había visto. No sacó una respuesta memorizada: aplicó a la entrada nueva el patrón que encontró en los ejemplos. Por eso, aunque la forma cambie un poco, puede juzgar por el parecido.
Pero a veces falla, como con el último correo, porque el patrón no es perfecto. Por eso, en el aprendizaje automático se apartan ejemplos que no se usan para entrenar y con ellos se mide qué tan bien se acierta con entradas nuevas.
Resumen
En resumen: un programa común sigue las reglas que escribió una persona, pero el mundo es demasiado complejo para meterlo entero en reglas. Por eso el aprendizaje automático da vuelta el camino. Si se le muestran montones de ejemplos con respuesta, la máquina encuentra el patrón común, es decir, la regla.
Cuando se equivoca, se corrige poco a poco y acierta cada vez más, y con ese patrón predice incluso entradas que nunca vio. Aprender de ejemplos en lugar de escribir reglas: esa es la clave.
Toca los puntos clave en orden para repasar. (una persona escribe reglas → encontrar reglas con ejemplos → corregirse al fallar → predecir entradas nuevas)
Ahora sabes qué significa que una máquina aprenda: en lugar de que una persona le enseñe cada detalle, la máquina mira ejemplos y encuentra las reglas por sí sola. Las máquinas de hoy que reconocen fotos y entienden lo que decimos partieron todas de esta idea.
Pero para encontrar patrones en los ejemplos, primero hay que saber resumir y leer los datos. La próxima lección, sobre estadística, explica cómo describir un montón de datos con unos pocos números, como dónde está su centro y qué tan dispersos están.