Capítulo 7

Inteligencia Artificial

Una vez que tenemos almacenados los datos, el siguiente paso es lograr extraer nueva información, el objetivo último del big data. De esto se encarga la rama de la informática conocida como inteligencia artificial.

Si buscamos una definición general, podríamos decir que la inteligencia artificial es el campo de la informática que busca replicar tareas complejas que habitualmente han venido realizando humanos, incluyendo reconocimiento de imágenes, escritura o voz, o incluso toma de decisiones en tiempo real, como las que deben tomar los vehículos autónomos.

Todas estas técnicas han pasado en muy pocos años del ámbito académico a influir en nuestra vida cotidiana, ser portada de periódicos y objeto de discusión pública por sus posibilidades y peligros. Algunos ejemplos comunes son los asistentes por voz como Siri o Alexa, el reconocimiento facial o por huella en dispositivos como móviles u ordenadores o la predicción de la hora de llegada de vehículos de transporte público.

Aunque no de forma tan evidente, la inteligencia artificial también se encuentra detrás de importantes decisiones de negocio. Por ejemplo, permiten la gestión ajustada de reposición de productos en grandes supermercados, calculando cuántas unidades se precisarán a partir de la fecha actual y del histórico del propio centro. También ayudan a predecir tendencias de moda en grandes cadenas de venta de ropa o permiten predecir cuándo una línea de negocio va a ser un éxito en una empresa. Incluso los mercados financieros se controlan en gran medida mediante el análisis automático de datos en tiempo real.

La historia de esta disciplina, aunque breve en el tiempo, ha sido azarosa, con varios altibajos. Examinar brevemente cada una de estas etapas puede ayudarnos a entender en qué punto nos encontramos y qué posibles caminos pueden abrirse para el futuro.

La lucha por imitar al cerebro humano

En el primer capítulo de este libro indicamos que desde sus comienzos los ordenadores generaron todo tipo de expectativas, dado su papel de “cerebros electrónicos” y por tanto posibles com­­petidores del cerebro humano. ¿Serían las máquinas capaces de escribir poesía? ¿De resolver enigmas científicos encontrando soluciones novedosas? ¿Y de mantener una conversación sin que fuéramos capaces de distinguir si estábamos hablando con un ordenador o un ser humano, tal y como planteó el propio Alan Turing en su famosa prueba conocida como el “test de Turing” (representada en la icónica Blade Runner)?

Este espíritu prometeico llevó a la organización, en el verano de 1956, del Dartmouth Summer Research Project on Artificial Intelligence a una reunión de unos pocos científicos, cuidadosamente seleccionados, que incluía entre ellos a cuatro futuros premios Turing (la máxima distinción dentro de las ciencias de la computación) e incluso un futuro premio Nobel en Economía. Patrocinados por la Fundación Rockefeller, estos científicos dedicaron dos meses a estudiar cómo “las máquinas pueden utilizar el lenguaje, formar abstracciones y conceptos, resolver tareas asignadas hasta ahora a los humanos y mejorarse a sí mismas”.

El resultado fue ciertamente esperanzador: en tan solo esos dos meses se logró programar un sistema capaz de demostrar teoremas relativamente complejos e incluso proporcionar alguna prueba más elegante que las ya conocidas. También se elaboraron programas capaces de resolver muchas de las preguntas típicas de los test de inteligencia empleados en la época.

Sin embargo, y a pesar de estos prometedores primeros resultados, pronto se encontraron los dos principales obstáculos que han acompañado a la inteligencia artificial durante todos estos años: la dificultad en entender el comportamiento del cerebro humano y la complejidad y el alto coste computacional que lleva para un ordenador resolver este tipo de problemas.

Empecemos por el segundo desafío. Aunque en un primer momento se pensó que los problemas complejos de inteligencia artificial se podrían resolver por mera “fuerza bruta”, es decir, explorando exhaustivamente todos los posibles caminos hasta hallar la solución, pronto se comprobó que esta idea no daba los resultados esperados. A pesar de que los ordenadores pueden realizar búsquedas mucho más rápidas que los humanos, en muchos problemas reales el número de posibilidades se dispara tras pocos pasos hasta hacerlos inabordables. Incluso en un juego como el ajedrez, con un número limitado de fichas y reglas, y por tanto muy alejado de la complejidad del mundo real, tras los dos primeros movimientos, es decir la apertura de las blancas y la contestación de las negras, nos encontramos ya con 400 posibles tableros diferentes. Pero es que después de 6 movimientos, es decir 3 movimientos de cada jugador, el número supera los 121 millones de tableros. Las posibilidades continúan creciendo y ningún ordenador, por rápido que sea, es capaz de analizar todas estas posibilidades. Es la llamada explosión combinatoria. Los humanos, en cambio, parece que somos capaces de resolver este tipo de problemas de alguna manera que no implica la mera enumeración y revisión de todas las posibilidades, utilizando “estrategias”. Parecía, por tanto, que la inteligencia artificial debía dirigirse a descubrir estas estrategias, reglas heurísticas que permitieran evitar la exploración de algunas regiones de estos inmensos campos de búsqueda.

Pasemos ahora a la primera dificultad: se busca interactuar con los humanos, pero los humanos tienden a hacer las cosas de forma cambiante y un tanto desconcertante y difícil de explicar para un ordenador. Un ejemplo sencillo es el reconocimiento de la escritura manual. A priori, resulta sencillo, por ejemplo, describir cómo es una letra “o”: se trata de una figura similar a una circunferencia. El problema surge con la palabra “similar”: un ordenador necesita que se describa con precisión a qué se refiere. Volviendo al ejemplo de la letra “o”, ¿la circunferencia puede estar sin terminar, sin cerrar del todo? Sabemos que, en efecto, algunas personas no cierran del todo la o. Si añadimos una regla indicando esto, tendremos que el programa confundirá una “c” con una “o”…, hasta los humanos encontramos en ocasiones dificultades para entender la escritura de otros humanos, así que podemos imaginar la complejidad que supondrá para un ordenador realizar una tarea que parece casi imposible describir mediante reglas.

En un intento de resolver estos problemas, se pensó en programar sistemas que imitaran el cerebro de los seres humanos también en su morfología. Siguiendo esta idea, en 1958 se planteó la utilización del perceptrón, una imitación en forma de algoritmo de una neurona humana aunque a una escala muy simple. Los perceptrones podían unirse entre sí de forma que unas neuronas podían activar otras, formando una red neuronal artificial. Inicialmente hubo un gran revuelo ante las posibilidades que ofrecían estos nuevos algoritmos y se logró una gran inversión por parte de medios oficiales, pero pronto se llegó a la conclusión de que las redes neuronales tenían más dificultades de las esperadas para aprender y poco a poco la idea de las redes neuronales fue pasando a un segundo plano.

Debido a estas limitaciones, la inteligencia artificial, que había empezado planteando con (arrogante) optimismo que sus objetivos se alcanzarían en 20 años, fue pasando de moda y quedando olvidada salvo para unos pocos científicos que continuaron investigando este tipo de problemas alejados de los focos y de la relevancia pública.

El nuevo impulso a la idea de la inteligencia artificial coincidió con la llamada quinta generación de ordenadores en los años ochenta del siglo XX. Un paso importante fue admitir que era muy difícil hacer programas basados en reglas fijas para resolver los problemas que se consideraban; los programas necesitaban, de alguna forma, “aprender”. Los sistemas expertos eran programas basados en reglas, pero reglas dinámicas, que podían añadirse sobre la marcha. De ello se encargaba un experto, que le “explicaba” al programa qué reglas eran adecuadas, forzando tanto la inclusión de nuevas reglas como la desaparición de reglas inútiles.

Desde el principio resultó complicado determinar qué información del tema se debía recolectar y cómo representarla. Por ello, los sistemas expertos únicamente han tenido éxitos notables en áreas bien delimitadas, como la monitorización y el control de sistemas. Hoy en día podemos decir que estos algoritmos no suponen la solución que se buscaba, aunque se pueden ver como un paso intermedio en la dirección adecuada: mientras que en la etapa inicial el ordenador era un mero calculador, que o bien exploraba opciones combinatorias o bien seguía reglas preprogramadas, en esta etapa ya se le reconocía el status de “alumno” y, por tanto, la capacidad de aprender fijándose en su maestro humano.

Actualidad: aprendizaje automático
y aprendizaje profundo

Continuando con la metáfora del ordenador como alumno, podemos decir que la edad actual se alcanza cuando el alumno llega a su madurez y “sale” de la escuela para aprender del mundo tal y como es, mientras que el humano pasa de ser maestro a convertirse en el intermediario necesario para acceder a los datos reales.

En efecto, los sistemas actuales de inteligencia artificial no se basan en las reglas explicadas por un experto, sino en la observación y estudio de ejemplos del fenómeno que se quiere aprender. Es el llamado machine learning o aprendizaje automático.

Como explicaremos en detalle posteriormente, los sistemas de aprendizaje automático se “alimentan” de base de datos suministrados por los humanos y detectan patrones que les permiten hacer predicciones certeras. Una mayor cantidad de datos de entrenamiento, que es como se conoce a estos valores, supone, en general, un mejor aprendizaje y una mayor tasa de acierto. Se comprende entonces con facilidad la relación entre el éxito reciente de la inteligencia artificial y el fenómeno big data, que se encarga de “alimentar” con ingentes cantidades de datos a estos algoritmos predictivos.

Para comprender las posibilidades y limitaciones de los sistemas actuales de aprendizaje automático, debemos entender mejor el papel que desempeñan los datos y de qué forma han sido utilizados por la industria. Para ello, vamos a centrarnos en el llamado aprendizaje automático supervisado, el conjunto de técnicas que parten de datos ya “etiquetados”; por ejemplo, caracteres escritos por humanos que ya han sido clasificados previamente como correspondientes a letras concretas.

Podemos imaginarnos los datos que se utilizan en la moderna inteligencia artificial como inmensas hojas Excel, tablas tan grandes que a menudo no caben en un solo ordenador y están repartidas entre decenas de ordenadores interconectados, ya sea en un RDD de Spark, una colección de MongoDB o un documento en un sistema de archivos distribuido, tal y como hemos visto en capítulos anteriores.

Por ejemplo, supongamos que en un centro médico disponemos de datos históricos de individuos que se quieren emplear para predecir la probabilidad de que una persona desarrolle una cierta enfermedad en un plazo de 10 años. En este caso, a cada persona le corresponderá una fila de la hoja Excel, mientras que las columnas serán los datos de los que dispone. Una columna puede contener el nivel de azúcar en sangre; otra, una medida de un tipo de colesterol; otra, el resultado de cierta prueba médica, etc. Finalmente, una columna final tendrá, por ejemplo, un valor 0 si la persona no desarrolló esta enfermedad en 10 años y un valor 1 en caso de haberla desarrollado. Esta es la “etiqueta”, el valor que queremos que el sistema aprenda.

Esto puede resultar sorprendente a primera vista: por un lado, decimos que queremos predecir si la persona tendrá la enfermedad en menos de 10 años y, por otro, pedimos que los datos incluyan ya de entrada una columna que indique si finalmente la enfermedad se desarrolló o no. Pero recordemos que cuando explicamos algo a un niño ponemos ejemplos y a menudo los libros de matemáticas disponen de una sección de “problemas resueltos”. Estos datos etiquetados son los que harán este papel, permitiendo a los métodos de aprendizaje automático “aprender” a relacionar el resto de columnas con la columna etiqueta.

Una vez analizados de forma automática estos datos históricos, el programa generará un modelo, que no es más que un fragmento de código ya especializado, capaz de predecir si se desarrollará la enfermedad a partir de las características de nuevos pacientes, esta vez sin la necesidad de la etiqueta final 0 o 1, que es justo lo que se quiere pronosticar y que a partir de este momento nos proporcionará el modelo.

Por supuesto habrá buenos modelos y malos modelos según su capacidad de predicción. Para evaluar la eficacia del modelo, podemos aplicarlo en un entorno real y comparar los resultados predichos con los reales. Pero en nuestro ejemplo eso significará esperar 10 años para ver si el modelo “acierta” al predecir si nuevos pacientes desarrollarán la enfermedad o no.

¿No podemos hacerlo mejor? Los científicos de datos han encontrado un método más rápido para evaluar modelos. Se trata de “esconder” parte de los datos históricos ya etiquetados, es decir, de guardarlos aparte y no utilizarlos para entrenar el modelo. Después, sacaremos estos datos y se los proporcionaremos al modelo sin la etiqueta para que prediga si esas personas desarrollarán la enfermedad. Es decir, someteremos al alumno (el modelo) a un examen con problemas que no ha visto y cuyas respuestas tenemos pero no le mostraremos. Finalmente, compararemos los datos predichos por el modelo con los datos reales, pudiendo llegar a conclusiones sobre su efectividad sin necesidad de esperar esos 10 años.

Por supuesto esta idea de “esconder” parte de los datos conlleva que el modelo desarrollado será un poco peor, ya que dispondrá de menos ejemplos para aprender, pero estamos en el paradigma big data, y la V de volumen nos garantiza que aun así la cantidad de datos de entrada debe ser suficiente para lograr buenos resultados.

El papel de los datos

Análogamente, si, por ejemplo, queremos predecir la cantidad de productos que se necesitará en cierto supermercado cada día, partiremos de datos históricos de las ventas realizadas en ese mismo supermercado en un periodo suficientemente largo. Por supuesto, si estos datos no han sido convenientemente registrados no podremos elaborar el modelo predictivo; es por esto por lo que la mayor parte de las empresas se cuidan actualmente de registrar todos y cada uno de sus datos, asegurando la existencia de datos históricos con los que poder entrenar futuros modelos.

Por tanto, la clave de cualquier proyecto de aprendizaje automático actual es disponer de datos de calidad en cantidad suficiente, conteniendo la información necesaria, y correctamente etiquetados. En el campo de la ciencia de datos que intenta aplicar estos métodos para solucionar problemas reales, se dice que en esta área los datos son los algoritmos. Lo que esta expresión significa es que el éxito de estos proyectos no depende tanto de los programas, que son un conjunto de técnicas ya desarrolladas, como de obtener datos de calidad.

Estas técnicas buscarán relaciones entre las columnas de entrada y la columna ya etiquetada generando el referido modelo. Por ejemplo, si la entrada son fotos etiquetadas de perros y gatos, el método intentará inferir a partir de cada imagen si se trata de un perro o de un gato. Algunas técnicas generarán modelos nítidos, a los que pasaremos una imagen y nos devolverán simplemente “perro” o “gato”. Otras técnicas generarán modelos probabilistas que nos dirán la probabilidad de que la imagen sea de un perro o de un gato.

El modelo nos indica que la imagen corresponde a la de un perro con un 75% y a un gato con un 25% de probabilidad. En resumen, si le pedimos que se decante por una u otra cosa, el modelo nos asegurará que se trata de un perro al tener esta etiqueta una probabilidad de más del 50%. ¿Estamos ya listos para ofrecer nuestro clasificador de perros y gatos como una aplicación comercial? ¿O para utilizarlo en nuestro hotel de mascotas, de forma que el expendedor automático de comida analice la imagen del “cliente” alojado en cada dependencia y le proporcione la alimentación que le corresponda según el tipo de animal?

La respuesta, como podemos imaginar, es un rotundo NO. Todo experimento requiere su fase de evaluación y es ahí donde se comprueba si los resultados cumplen con unos requerimientos mínimos de calidad en su predicción. De manera similar al de los ensayos clínicos, donde se evalúan los efectos de un fármaco a partir de la comparativa con un grupo de control que no está tomando dicho fármaco, en aprendizaje automático tendremos que utilizar el conjunto de test al que nos referíamos anteriormente para evaluar si el modelo cumple con las expectativas.

Tanto el conjunto de entrenamiento, los datos que usa el método para aprender y generar el modelo, como los datos de test que se usarán para evaluar este modelo deben disponer de datos correspondientes a todas las situaciones posibles. Por ejemplo, en el caso de la previsión de stock, nos interesaría que ambos conjuntos dispongan de datos correspondientes a todos los casos que nos parezcan interesantes: consumo del producto cuyo stock se quiere predecir en un día de entresemana, en fin de semana, en víspera de puente, en vacaciones de navidad, etc.

Para lograr un mayor control de sus propios datos, las grandes compañías disponen de sus propios centros de proceso de datos, de los que hablamos en el apartado dedicado a big data. Es el caso por ejemplo de la cadena Mercadona, que dispone de un centro de proceso de datos para calcular (entre otras cosas) las necesida­­des de stock, en la localidad de Albalat dels Sorells (Valencia), y de otro centro que hace de “copia de seguridad” del principal en Villadangos del Páramo (León).

Regresión versus clasificación

Dentro del aprendizaje automático supervisado, que como hemos visto intenta predecir el valor de una etiqueta a partir de lo “aprendido” con datos históricos, distinguimos dos tipos: clasificación y regresión. Los ejemplos que hemos mencionado anteriormente, como detectar cuándo una foto contiene un gato o un perro, son casos de clasificación porque la etiqueta que hay que predecir puede tomar un pequeño conjunto de valores. En el caso de la regresión, la etiqueta que se quiere predecir es un número, normalmente en una columna que puede tomar una gran cantidad de valores. Por ejemplo, un automóvil autónomo emplearía regresión para calcular la distancia a la que se encuentra un vehículo al que se planea adelantar. Igualmente, una entidad bancaria puede emplear técnicas de regresión para intentar calcular cuánto crédito puede pedir un cliente a partir de su saldo medio y de su hipoteca, tal y como muestra la siguiente tabla de ejemplo:


Saldo Medio

Hipoteca

Crédito

20.000

120.000

40.000

3.000

80.000

20.000

2.000

95.000

40.000

4.300

45.000

0

7.550

60.000

10.000

90.532

195.000

50.000

4.320

70.000

????


La última fila sería el dato que queremos predecir a partir del modelo de regresión elaborado previamente a partir de los datos históricos y las filas anteriores pueden ser (parte de) los datos del test. Supongamos que el modelo es una fórmula matemática de la siguiente forma:


Crédito = -20.000 – 0,5 x Saldo Medio + 0,6 x Hipoteca


Se trata de un modelo muy simple, un modelo lineal, pero nos vale como ejemplo. Ahora podemos usar las filas de la tabla, que asumimos como la fila del test, para evaluar lo bueno que es dicho modelo calculando, por ejemplo, el error absoluto medio. En el caso dela primera fila tendríamos:


Crédito Predicho = -20.000 – 0,5 x 20.000 + 0,6 x 120.000 = 42.000


El valor real del crédito que ha pedido esta persona es de 40.000, por lo que nuestro modelo ha cometido un error de 2.000 euros. Si repetimos el mismo procedimiento con el resto de filas, llegaremos a un error promedio de 3.551,5 euros. Si ese error nos parece aceptable, podemos usar este modelo para calcular cuánto crédito es esperable en el nuevo caso cuya etiqueta no conocemos:


Crédito Predicho = -20.000 – 0,5 x 4.320 + 0,6 x 70.000 = 19.840


sabiendo que de media nos estaremos equivocando en alrededor de 3.551 euros por arriba o por abajo. Por supuesto, los modelos reales suelen ser más complejos y la forma de estimar tiene en cuenta más factores, pero esto debe bastarnos para tener una idea suficientemente aproximada de lo que es un aprendizaje basado en regresión.

En cambio, en clasificación la etiqueta que hay que predecir toma un número finito (y generalmente pequeño) de valores. Un ejemplo es el sistema de los coches autónomos que tiene que decidir si el objeto detectado a través de la cámara es un coche, una moto, un camión, un peatón, una bicicleta o algún otro tipo de objeto de entre los catalogados previamente por la empresa. Otro ejemplo más simple es nuestra clasificación de imágenes entre gatos y perros, que constituye un ejemplo de clasificación binaria, con solo dos alternativas. Se trata del caso más sencillo de clasificación, pero resulta muy común, ya que incluye los problemas cuya respuesta es de tipo sí/no. Es el tipo de clasificación que se emplea, por ejemplo, cuando una entidad bancaria decide si debe conceder una hipoteca, o en el ejemplo que indicábamos al principio de esta sección, para decidir si es probable que el paciente desarrolle cierta enfermedad en un plazo de 10 años. También es muy común encontrar este tipo de clasificadores asociados a alarmas, alertas de seguridad o detección de anomalías en sistemas físicos.

En caso de clasificación, dos medidas de error habituales son la precisión y la exhaustividad. La precisión nos indica qué proporción de los elementos etiquetados de determinada forma tienen realmente dicha etiqueta. En cambio, la exhaustividad nos indica qué proporción de los elementos que realmente tienen una etiqueta dada han sido etiquetados con esa etiqueta por ese modelo.

Para entenderlo mejor, pongamos un nuevo ejemplo. Supongamos que tenemos un modelo que mediante reconocimiento facial indica si una persona es un hombre o una mujer. Supongamos que nuestro conjunto de test consta de 10 hombres y de 10 mujeres. El modelo reconoce correctamente a las mujeres como tales, pero además también etiqueta, erróneamente, a 5 de los hombres como mujeres. Por tanto, considerando la etiqueta “mujer” tenemos que de las 15 personas etiquetadas como mujeres, 10 lo son de verdad, lo que nos da una precisión de 10/15, o 2/3. En cambio, para la etiqueta “mujer” la exhaustividad es del 100%: el sistema ha “encontrado” a todas las mujeres del test. En cambio, si consideramos la etiqueta “hombre”, la situación se invierte: las 5 personas etiquetadas como hombres lo son en realidad, lo que da una precisión del 100%. Sin embargo, de los 10 hombres que había solo 5 han sido “encontrados”, lo que da una exhaustividad del 50%.

Lo interesante de estas medidas es que a menudo podemos forzar al modelo durante su desarrollo para aumentar, por ejemplo, la precisión de una clase, aunque siempre debemos saber que eso tendrá como contrapartida que otras medidas empeorarán. Se trata, una vez más, de una decisión de negocio.

Un ejemplo de este balance entre medidas son las pruebas médicas de screening que se hacen a todas las personas a partir de determinada edad para detectar una cierta enfermedad. En estos casos nos interesa que la exhaustividad para la etiqueta “sí, tiene la enfermedad” sea muy cercana al 100%, es decir, que la prueba salga positiva para todas las personas que, en efecto, tengan la enfermedad. Sabemos que a cambio perderemos precisión, es decir, que tendremos una cierta cantidad de “falsos positivos”, personas que sin tener la enfermedad son marcadas inicialmente como que sí la tienen, y que necesitan una segunda prueba, más rigurosa y seguramente más costosa, para descartar tal posibilidad.

Por el contrario, supongamos un modelo utilizado por un club de fútbol de poco presupuesto que intenta predecir cuándo un jugador de categorías inferiores va a ser una futura estrella. En este caso, puede que no interese tener una gran cantidad de falsos positivos, es decir, tener que comprar a cientos de jugadores solo porque alguno seguramente será una estrella, ya que no hay presupuesto para tamaña inversión. En cambio, sí primaremos la precisión: que cuando el modelo señale a un jugador, entonces haya una alta posibilidad de que el jugador vaya a ser, en efecto, una estrella, aunque a cambio perdamos en exhaustividad, es decir, algunos jugadores que sí serán futuras estrellas no serán detectados como tales y se convertirán en “falsos negativos”.

Hay que señalar que ambos tipos de aprendizaje automático supervisado, clasificación y regresión, emplean métodos y medidas de error diferentes: son mundos distintos. Esto es interesante porque en ocasiones un problema que da malos resultados considerado como problema de regresión puede dar excelentes resultados al convertirlo en un problema de clasificación (o viceversa, aunque esto es menos habitual).

Por ejemplo, podemos encontrar que el modelo de regresión que acabamos de desarrollar para predecir el crédito que va a pedir un nuevo cliente no es nada preciso. En ese caso, podemos probar a cambiar la etiqueta Crédito, que ahora es un número entero, para que tome solo 2 valores: 0 si el crédito está por debajo de 20.000 euros y 1 si el crédito supera esta cantidad. Este problema, ahora de clasificación binaria, suele ser más fácil de resolver y puede dar mejores resultados. Si este es el caso, al menos podremos distinguir entre aquellos clientes que pedirán créditos pequeños y los que solicitarán créditos por un monto más importante.

Otras formas de aprendizaje

Aunque el aprendizaje supervisado (clasificación y regresión) es sin duda el más frecuente, hay que mencionar otras formas de aprender diferentes:


Aprendizaje no supervisado. En este tipo de aprendizaje no disponemos de ninguna etiqueta que predecir. Por ejemplo, imaginemos datos tomados por un telescopio de decenas de miles de objetos celestes de tipo indeterminado: su magnitud aparente (brillo), su extensión, color, etc. Examinarlos uno a uno para etiquetarlos puede llevarnos muchísimo tiempo. ¿Qué podemos hacer en ese caso? Para este tipo de situaciones, se ha creado el aprendizaje no supervisado, cuya labor es determinar características comunes entre todos los objetos. Una forma de llevarlo a cabo es imaginar los datos de los objetos, las filas de nuestra tabla, como puntos en el espacio y buscar cuáles están más cerca unos de otros. Por supuesto, si cada objeto tiene 40 características, estamos hablando de un espacio de 40 dimensiones, pero esto no supone ningún problema para un ordenador. En el caso del catálogo astronómico, puede suceder, por ejemplo, que agrupe nuestros objetos en 4 tipos diferentes y que al examinar algunos objetos de cada clase, veamos que algunos son galaxias; otros, nebulosas, etc. De esta forma, y de forma automática, hemos obtenido una primera clasificación, una primera etiqueta, que podemos utilizar en estudios posteriores.


Aprendizaje por refuerzo. Este aprendizaje trata de resolver un problema concreto, digamos, ganar al ajedrez a cierto oponente. Se parte de “las reglas del juego” y de una versión inicial del jugador, llamado en este contexto agente. La idea es que el agente recibirá una recompensa (refuerzo) si gana, y un castigo si pierde, y está programado para buscar la mayor recompensa a largo plazo. Tanto los premios como los castigos son simplemente incrementos o decrementos en las probabilidades de adoptar una cierta regla o estrategia en una situación dada. Aunque en las primeras partidas el agente actuará aleatoriamente, gracias a los refuerzos, tanto positivos como negativos, irá orientando su estrategia a adoptar mejores jugadas y tácticas, haciendo que al cabo de pocas partidas empiece a jugar mejor y siga aprendiendo hasta dominar el juego. El ejemplo más famoso fue el programa Alpha-Go, diseñado para jugar al Go, mucho más complejo que el ajedrez. En 2016 este programa, que utilizaba aprendizaje por refuerzo combinado con redes neuronales, derrotó al campeón mundial, el surcoreano Lee Sedol, en un emocionante torneo a cinco partidas, demostrando las enormes posibilidades de esta nueva técnica.

Críticas y limitaciones a la inteligencia artificial actual

La ubicuidad de los algoritmos de inteligencia artificial en nuestras vidas despierta grandes inquietudes. ¿Quién está tomando las decisiones? ¿Están pensando las máquinas por nosotros?

Para profundizar en estas cuestiones, conviene distinguir entre algoritmos explicables y algoritmos opacos. Algunas de las técnicas empleadas en aprendizaje automático generan una explicación del valor propuesto. Por ejemplo, los árboles de decisión, indican qué criterio se sigue sobre cada columna. Una hipoteca denegada se puede explicar con argumentos como “nuestro sistema indica que el riesgo de impago es alto por ser usted menor de 32 años y tener un salario menor a 15.000 ”. Igualmente, en el caso de decisiones automáticas, un sistema de este tipo que falle genera una explicación de la decisión tomada, lo que puede ayudar a detectar dónde se encontraba el error.

En cambio, la mayoría de las técnicas actuales tales como las redes neuronales y, por tanto, el aprendizaje profundo, son opacas: resulta muy difícil para un humano, incluso para un experto en este tipo de redes, entender por qué la red decide predecir un valor concreto para unas entradas. No es que exista algún secreto, los modelos están ahí y son analizables, pero consisten en ecuaciones que implican decenas de miles de valores numéricos que se han ajustado a partir de enormes cantidades de datos de entrenamiento para ser capaces proporcionar las salidas esperadas, lo que resulta difícilmente comprensible para un humano.

Podemos decir, por tanto, que hemos creado máquinas que toman decisiones en las que confiamos porque las pruebas avalan sus resultados, pero cuyas decisiones no entendemos, algo que seguramente no había sucedido antes en la historia de la humanidad y que suscita desconfianza en estas técnicas.

La mera existencia de los algoritmos opacos facilita la aparición de brechas de seguridad que son realmente difíciles de detectar. Algunos investigadores han demostrado que son capaces de producir pequeñas modificaciones en una señal de tráfico de STOP con rectángulos blancos y negros de forma que un algoritmo automático de detección de señales vea, en lugar de la señal de STOP, una señal de “máximo 45 km por hora”.

Estas “imágenes adversarias”, como se acostumbran a denominar, se construyen analizando la red de manera que la menor variación posible de la imagen produzca el mayor error posible en la salida.

Esto ha llevado a plantear la posibilidad de que hackers maliciosos manipulen imágenes para provocar resultados indeseados en redes que controlan procesos críticos. Lo peor es que estas imágenes no son advertidas por los humanos como potencialmente peligrosas, pero sí causan resultados inesperados en los modelos.

Seguramente, todos habremos leído noticias en las que se informaba de la existencia de un “algoritmo racista”. Con lo que sabemos podemos intentar entender esto mejor y precisar qué o quién es el que tiene un comportamiento racista. Como hemos visto, lo que hacen los métodos de aprendizaje automático es partir de una técnica determinada (siempre las mismas, generales) y aplicarlas a unos datos de entrada que, por así decirlo, instancian la técnica dando lugar a un modelo. Este modelo predice nuevos valores a partir de las relaciones que ha encontrado en los datos de entrada. Por tanto, si el modelo tiende a señalar más a personas de una determinada raza, es porque los datos de entrada realizaban esto, es decir eran los datos los que eran racistas, no el “algoritmo” que nada sabe de razas.

Es importante observar que aunque los datos no incluyan explícitamente la raza, pueden incluir, por ejemplo, datos de la renta per cápita o de la zona donde vive la persona, lo que conllevaría, finalmente, que el modelo señale a personas de determinada raza, principalmente, porque son las que más habitan en esas zonas o las que tienen esa renta per cápita. Es decir, puede que lo que sea realmente racista sea la sociedad y el modelo solo esté reflejando lo que sucede en ella.

¿Podemos hablar realmente
de inteligencia artificial?

No vamos a entrar en profundidad en este tema tan complejo que requeriría de otro libro (o varios) para profundizar. Pero sí podemos al menos reflexionar sobre la posible inteligencia de los métodos que hemos visto y su capacidad para imitar a los humanos.

Según lo explicado hasta ahora, lo que tenemos son métodos que aprenden a partir de datos. Muchos autores piensan que este tipo de técnicas, que han supuesto en los últimos años grandes éxitos en tareas específicas, suponen a la vez la principal limitación del aprendizaje automático actual, que es incapaz de conectar diferentes tareas entre sí, viéndose obligado a “reinventar la rueda” una y otra vez partiendo de cero. Esto es así porque cada nuevo entrenamiento no aprovecha nada del anterior. Asimismo, impediría a su vez que los sistemas actuales realicen descubrimientos o inferencias interesantes, ya que se trata en todos los casos de modelos superespecializados y, por tanto, “cortos de miras”. Hay trabajos en desarrollo que intentan paliar esta limitación, pero no parece un logro que se vaya a alcanzar a corto plazo, por consiguiente, parece que para concebir un ordenador que realmente “piense”, o al menos simule pensar, se deberá transitar por un camino diferente al actual.