Nota previa (4/3/21): a petición de algunos lectores he modificado el texto de la parte del aprendizaje supervisado, para hacerlo más comprensible. También algunas pequeñas erratas y he mejorado algunas expresiones. Se han añadido los conceptos de sobre entrenamiento y sub entrenamiento de una IA.
En este número continuamos el experimento que empezamos en el artículo anterior de contar un concepto complejo con cinco niveles distintos en función del nivel de madurez intelectual y conocimientos del interlocutor. Hoy abordamos el nivel 2 o adolescente.
(Juan, tiene 16 años y estudia 1º de Bachillerato) [el nombre es ficticio]
¿Has oído hablar del término Inteligencia Artificial?
Sí -responde Juan con decisión
Lo he visto en películas de ciencia ficción y suena mucho en redes sociales y también en las noticias, aunque veo pocas noticias yo. Es como un programa que es inteligente porque se comporta de manera parecida a como lo hacemos las personas, aunque a veces no tengan cuerpo y sean sólo un programa de ordenador.
Perfecto Juan, buena definición. Cuando tienen un cuerpo físico se les llama robots mientras que si sólo tienen programa se les llama bots, pero ambos son, simplemente, “Inteligencia Artificial”.

Lo primero que me gusta de cómo lo has definido es que has comparado las IA con las personas. Igual que nosotros, la IA calcula (y aquí los ordenadores son mucho mejores que nosotros) y también razona, ya que es capaz de deducir unas cosas a partir de otras, usando las técnicas esas que estarás estudiando en filosofía de los silogismos y la lógica, ¿no?
Si, ¡Uff! pero a veces es dura la lógica esa, hay muchos símbolos y es fácil equivocarse. Pero si dices que las IA las usan, al menos le veo a todo esto una utilidad -dice Juan un poco resignado.
Bueno, en el uso de la lógica también son mejores que nosotros desde hace muchos años y hay IA que aprenden a hacer complicados razonamientos lógicos para después poder tomar decisiones, exactamente como te habrán dicho en Filosofía que toman las decisiones las personas idealmente, de manera racional. “Pensar racionalmente” es la técnica que usan las IA y equivale a “tomar la mejor decisión posible, en base a la información disponible y a nuestra capacidad de procesarla en el tiempo de que disponemos para tomar dicha decisión”.
O sea, que las IA calculan, razonan y toman decisiones. También saben planificar, es decir, pueden establecer una secuencia de pasos para conseguir un objetivo, como cuando te aseas por la mañana antes de comenzar tu jornada. Tu cerebro pasa automáticamente en el orden adecuado por la secuencia de cepillado de dientes, lavado de cara y manos, peinado, etc., sin prácticamente pensar en ello. Lo que pasa es que aún no sabemos como hacer para que hagan todas esas cosas simultáneamente, de manera coordinada, ni tampoco cómo cambiar de planes sobre la marcha.
Pero, curiosamente, todas esas cosas que he dicho antes, a nosotros nos parecen difíciles y sin embargo son fáciles para las IA, mientras que lo que nosotros hacemos sin darnos cuenta, como caminar por un terreno difícil, bailar o atrapar una pelota en el aire, o reconocer a una persona que va disfrazada, son un desafío muy grande para las IA y sólo después de más de 60 años desde que comenzó el estudio de las IA, empiezan a poder hacer bien algunas de ellas.
Otra cosa importante respecto de la inteligencia, que aún hacen peor que nosotros, es aprender cosas nuevas. Ya habrás observado que la Inteligencia Artificial normalmente sólo sabe hacer bien -a veces mejor que nosotros-, una cosa o unas pocas, por ejemplo, ¿te suena Deep Blue?
Si– responde Juan –pero no recuerdo bien lo que hacía.
Deep Blue era una inteligencia artificial que aprendió a jugar al ajedrez tan bien que ganó al campeón del mundo Gary Kasparov en 1997, unos años antes de que tu nacieras. Pero si intentara jugar a las damas sencillamente no podría, porque sólo sabe hacer una cosa, jugar al ajedrez.
Pero después han habido otras IA, como AlphaGo que aprendió a jugar al Go hasta ganar al campeón mundial en 2015.
¿Sabes lo que es el Go? -Juan niega con la cabeza
El Go es una especie de ajedrez con guijarros de dos colores (blancos y negros) que se juega en Oriente, pero, a pesar de que parece muy simple, es mucho más complicado que nuestro ajedrez, entre otras cosas porque el número de combinaciones posibles en una partida es muchísimo mayor que el número de partículas que se calcula hay en el universo. En este caso han podido mejorar sus programas de aprendizaje de manera que no sólo sabe jugar como un experto al Go, sino también al ajedrez y otros juegos y videojuegos como el Mario Bros y otros muchos de esos antiguos de la compañía Atari.
Esto es un paso muy importante, pero aún está lejos de poder aprender cualquier cosa como nosotros. Lo importante aquí es que ha desarrollado una especie de «intuición artificial», que les permite estimar si una jugada es buena sin tener que calcular todas las posiciones (además de que no podría porque son prácticamente infinitas).
¡Madre mía! – dice Juan asombrado
Hay otras Inteligencias artificiales, como Libratus, que aprendió a jugar al póker hasta ser tan bueno o incluso mejor que los jugadores profesionales humanos y esto supone aprender a echar faroles, o sea, engañar a los otros jugadores. O también a los coches de Tesla, esos que conducen solos y que por eso los llaman autónomos. En realidad, los conduce una Inteligencia Artificial, que “ve” la carretera, los otros coches, los caminantes y los obstáculos a través de sensores que le hacen de ojos y oídos y tienen que interpretar la escena para saber lo que está sucediendo y ser capaces de controlar el volante, el freno y el acelerador y de planificar la trayectoria a seguir, justo para conducir como lo haríamos nosotros.
Y, ¿cómo aprenden las inteligencias artificiales? – pregunta Juan ahora con interés
Lo primero que hicieron para mejorar los resultados mucho fue cambiar la manera en que funcionaban. Por ejemplo, en los coches autónomos primero los programadores intentaban escribir reglas para cubrir todas las situaciones imaginables conduciendo, pero siempre acababan fallando porque la realidad siempre tiene un montón de situaciones que no es posible prever. Así que “pensaron creativamente” y se centraron en escribir un programa que fuera muy bueno en predecir lo que un conductor humano haría y el nivel de conducción mejoró mucho hasta aproximarse al de los seres humanos. Hace diez años sólo, conducían mejor que una persona cuando está borracha (que ya sabes, no debería conducir en esas situaciones). Pero ahora conducen mejor que muchas personas, al menos en situaciones que no sean muy complejas
¿A qué te refieres por complejas? -pregunta Juan
Pues a cosas como atravesar un mercadillo callejero lleno de gente o conducir en una ciudad grande en la que no haya semáforos de ningún tipo.
Ah, vale, está claro -asiente Juan
¿Sabías que hicieron una prueba de conducción a una IA en un circuito cerrado y conforme aprendía acabó haciendo mejores tiempos que cualquier miembro del equipo? Así que llamaron a un conductor top de carreras de velocidad y este consiguió ser ¡sólo un segundo más rápido que la inteligencia artificial!
¡Vaya tela! – exclamó Juan
La diferencia de tiempo vino porque la IA no estaba programada para experimentar los límites de la conducción, para arriesgarse, mientras que el piloto profesional está acostumbrado a llevar al límite al coche para saber hasta donde puede acelerar en una curva o cuanto pueda apurar una frenada. Los sistemas de IA de este tipo deben utilizar lo que se llama aprendizaje por refuerzo, es decir, tienen que guardar un equilibrio entre explotar lo que han aprendido: las reglas de conducción y la física del coche (por ejemplo, que cuesta frenar y acelerar más cuanto más cargado de combustible vaya el coche, que un suelo bajo permite tomar las curvas a mayor velocidad, etc.), pero deben ser capaces de al mismo tiempo explorar nuevas opciones, aunque a veces les vaya peor y hagan un trompo y, en ese caso, anotarlo para no repetirlo.

Pero no todas las IA aprenden así, ¿verdad?, los sistemas que aprenden a reconocer personas, coches, o perros y gatos, como por ejemplo hace Google Photo o Apple, no puede funcionar por prueba y error como el coche autónomo, ¿no? –
Efectivamente Juan, muy observador, no todas las IA aprenden igual. Las estrategias para aprender dependen un poco del sitio donde se vaya a mover o relacionarse la IA y del tipo de tarea que vaya a realizar. No es lo mismo una partida de ajedrez, que coger objetos en una línea industrial, conducir un coche, o ser capaz de coger un álbum de fotos y clasificar la foto en una categoría, como “perros”, “gatos” y “caballos” como tú bien has dicho, o bien cuidar de personas mayores.
Así que en función de todas estas cosas y algunas otras más se diseña su sistema de aprendizaje y, precisamente por eso, sólo saben hacer una cosa o unas pocas parecidas. Todavía no sabemos como hacer que aprendan una cosa y otra muy distinta sin tener que cambiarle el programa de aprendizaje, mientras que las personas aprendemos muchas cosas de manera rápida a menudo con unos pocos ejemplos o con uno solo a veces.
Hoy en día la mayoría de las IA aprenden mediante una técnica que se denomina aprendizaje supervisado, es decir, que hay un entrenador humano que le va mostrando ejemplos a la IA y esta hace una predicción de cuál es la categoría a la que pertenece esa muestra, por ejemplo, si es una IA artificial que tendrá que inspeccionar las piezas que salen de un horno en una fábrica y clasificarlas como “OK” o “RETIRAR”, después de hecha la clasificación ha de haber una persona que le indique a la IA si la respuesta es correcta o no. Y, en caso de que hubiera más de dos posibilidades (por ejemplo, OK/retirar/recocer), cual es la respuesta correcta.
La IA tiene como objetivo cometer el menor error posible clasificando cosas o prediciendo cantidades, como por ejemplo el precio al que se podrá vender una casa. De manera que con cada muestra que le van enseñando, el error se va reduciendo hasta que ya no puede hacerse más pequeño porque el conjunto de variables que utiliza la IA para hacer su predicción no es suficientemente preciso para capturar todas las posibles decisiones que se pueden dar en la realidad, es decir, se toman en cuenta variables que la IA desconoce. Por ejemplo, si la IA no tiene información entre sus variables, del número de cuartos de baño o de habitaciones de una casa, no será tan buena a la hora de predecir el precio de venta, porque existen personas, con varios hijos, por ejemplo, para las cuales es muy importante conocer esas variables y están dispuestas a pagar más para asegurarse que la casa se acomoda a sus necesidades.
Pero así se tardará un montón en entrenarlas, ¿no? – señala Juan con decisión
Pues sí, porque como he dicho, las IA no son muy buenas aprendiendo, probablemente porque usan un modelo muy simple de «neurona artificial» y necesitan de miles y, a veces, hasta millones de ejemplos para aprender las relaciones entre las entradas (las imágenes) y las salidas (la clasificación) tan fiablemente como las personas. Nosotros, por el contrario, con unas decenas de ejemplos ya podemos ser muy buenos en esa tarea. Para acelerar el proceso lo que se hace es destinar a muchas personas para que etiqueten correctamente un conjunto muy grande de fotos marcándolas como “caballo”, “perro” o “coche”. Esto es lo que hacen por ejemplo plataformas como Amazon Mechanical Turk. ¿Los conocías?
No, nunca había oído hablar de esa parte de Amazon -dice Juan
Bueno, da igual. Lo importante es que, gracias al trabajo de etiquetado de estas personas, las IA pueden usar las muestras etiquetadas (clasificadas) para aprender estas tareas que requieren inteligencia humana.
El proceso de aprendizaje es más o menos así para el caso de la clasificación de imágenes: la IA separa en dos conjuntos todas las muestras de fotos etiquetadas previamente por las personas. El primer montón es el más grande, como el 70-90% del total y se llama conjunto de entrenamiento.Las restantes fotos se llaman conjunto de validación y no se utilizan para el entrenamiento.
En la fase de entrenamiento la IA coge una imagen del conjunto de entrenamiento, hace una predicción con su programa y al principio falla mucho y es muy mala clasificando las fotos correctamente (como un niño pequeño cuando está aprendiendo a caminar sus primeros pasos). Una vez la IA realiza su predicción a la vista de la foto, ésta comprueba la etiqueta que le había asignado la persona y si ha fallado, usa unas fórmulas matemáticas que tratan de asegurar que la siguiente predicción que haga con el conjunto de entrenamiento tenga un error menor.
Conforme repite este proceso con todas las fotos del conjunto de entrenamiento, su porcentaje de error prediciendo la etiqueta correcta se va reduciendo, hasta que se llega a una situación en que el error no baja más y el porcentaje de imágenes correctamente clasificadas es muy alto, normalmente, por encima del 90%. Si el porcentaje baja de ahí con el conjunto de entrenamiento, es que falta algún tipo de información (variables) para que la IA pueda mejorar la predicción o que el sistema de mejora de la predicción de la IA no es suficientemente sofisticado para la complejidad que tiene el problema (a esto se le llama sub-entrenar o underfitting).
El siguiente paso es comprobar que la tarea de clasificación que ha aprendido con el conjunto sabe generalizarla, clasificando correctamente las muestras del conjunto de validación, que no había visto porque las habíamos reservado. esta capacidad de etiquetar correctamente ejemplos que nunca ha visto, es justo lo que interesa para luego poder usarlo en aplicaciones reales como, por ejemplo, el teclado predictivo del móvil, que usa una IA para adivinar la siguiente palabra.
Cuando tienes un error de entrenamiento bajo y después tu error con el conjunto de validación es bastante más alto, lo que está sucediendo es que tu IA ha «memorizado» las muestras con las que ha sido entrenado, pero no ha captado cómo generalizar ese «aprendizaje» a nuevos casos, que es lo que realmente significa aprender una cosa y no simplemente memorizarla (esto se llama sobre entrenar a la IA u overfitting). Sería el caso contrario al underfitting y es el gran peligro que hay entrenando una IA.
Bua, no tenía ni idea. Pero este sistema supervisado, da pateo, así lleva mucho tiempo entrenar a la IA -dice Juan resoplando
Exacto Juan, bien visto. En realidad, la forma en que nos gustaría que aprendieran las IA se llama aprendizaje no supervisado y consiste sencillamente en darle los datos y que sea la IA la que averigüe por sí sola las relaciones entre las distintas variables que forman parte de los ejemplos de entrenamiento. El problema es que, de momento, si bien podemos separar las muestras en función de sus propiedades numéricas o estadísticas, creando grupos diferenciados de forma automática, todavía necesitan de una persona que interprete el significado de cada uno de esos grupos, porque lo que no tienen aún es “sentido común”.
¿A que te refieres con sentido común? -pregunta interesado Juan
Es todo aquello que rodea a la tarea que estés haciendo en cada momento y que se da por sentado sobre cómo funciona el mundo, como, por ejemplo, que si subes a un autobús has de pagar un billete o que no se ha de tratar de subir al autobús hasta que el conductor abra la puerta, o que la gente hace una cola para entrar en orden de llegada a la parada (bueno, al menos la gente bien educada).
De todas formas, esto también está cambiando con los sistemas que se llaman de aprendizaje profundo o Deep Learning, que usan estructuras inicialmente inspiradas en un modelo de neurona humana muy simplificado, conectadas entre sí en forma de capas y agrupándose por miles o a veces en cantidades mayores, pero que funcionan sorprendentemente bien y son capaces de aprender cosas sobre las que no sabemos cómo podríamos programar que hicieran algo así.
Por ejemplo, nadie tiene la menor idea de cómo escribir un programa que, a base de reglas, pueda identificar gatos de todas las formas, pelajes, colores e iluminaciones. Tampoco sabe nadie programar cosas como coger una fotografía y cambiarle de estilo, como si fuera un dibujo animado, o un pintor impresionista, o cambiar un paisaje de estación del año, de primavera a otoño por ejemplo, o del día a la noche.

Aunque se han hecho esfuerzos importantes en dotar de una especie de módulo de “sentido común” a las IA, todavía no hemos conseguido una forma en que esto se pueda hacer de forma automática y fiable.
Igual que dijo el primer astronauta justo antes de pisar la Luna por primera vez: “es un pequeño paso para el hombre, pero un gran paso para la Humanidad”, así sería para las IA este pequeño paso en su programación, en relación con el impacto en su capacidad de resolver problemas distintos como las personas.
Bueno, aun tengo otra pregunta -inquiere Juan
¿Puede la IA tener sentimientos? ¿Puede llegar a ser consciente?
Lo cierto es que otra cosa que las IA no pueden hacer es tener sentimientos: sentir dolor, alegría o tristeza o ira, ni consciencia, o sentido subjetivo de “ser uno mismo”, por lo que un robot nunca se enfadará contigo. Lo cierto es que nadie tiene la menor idea aún de como hacer estas cosas, lo más que sabemos hacer, es que simulen que tienen sentimientos o consciencia, pero como tu sabes muy bien es muy diferente simular que te gusta un regalo que tu madre considera «útil», que realmente te guste el regalo.
Juan asiente y sonríe.
Bueno, Juan, ¿tienes ahora más claro lo que es una IA?
Creo que sí -dice con aplomo
Es un programa o un robot, que puede hacer tareas que hasta ahora sólo hacíamos las personas, incluso puede aprender. Aunque de momento sólo saben hacer una tarea o unas pocas a nuestro nivel, probablemente en el futuro puedan hacer más cosas y mejor. Todo depende de que vayamos entendiendo como aprendemos y como tomamos decisiones y así encontremos la manera de reproducir esto en la IA. Pero para otras cosas como sentir, realmente estamos muy lejos aún.