Hoy en día es bastante común escuchar a la gente referirse a los sistemas modernos de aprendizaje automático como «cajas negras». Como ejemplo, consideremos un episodio reciente del podcast de Sam Harris en el que entrevistó al pionero de la IA Stuart Russell. Harris pregunta:

«Así que, si no me equivoco, la mayoría, si no todos estos enfoques de aprendizaje profundo, o incluso más generalmente los enfoques de aprendizaje automático son, esencialmente cajas negras, en las que no se puede inspeccionar realmente cómo el algoritmo está logrando lo que está logrando»

Aunque esta metáfora es apropiada para algunas situaciones particulares, en realidad es bastante engañosa en general, y puede estar causando una cantidad considerable de confusión. Como veremos, un sistema de aprendizaje profundo no es una caja negra; incluso el desarrollo de dicho sistema no tiene por qué ser una caja negra. Sin embargo, el verdadero reto es que ambas cosas son complejas, y no necesariamente bien entendidas. Aquí quiero intentar aclarar algunas de estas ideas y, al mismo tiempo, reflexionar sobre lo que entendemos por explicaciones.

Como explicaré a continuación, creo que la confusión surge, al menos en parte, de las ideas erróneas que tiene la gente sobre el funcionamiento de estos sistemas. Cuando la gente recurre a la metáfora de la caja negra, lo que parece estar expresando es el hecho de que es difícil dar sentido al propósito de los diversos componentes de un modelo de aprendizaje automático. Aunque esto es realmente difícil, quiero argumentar que también es una expectativa poco realista. Por el camino, intentaré explicar la diferencia entre los modelos y cómo se entrenan, discutiré los escenarios en los que la metáfora de la caja negra es apropiada y sugeriré que, en muchos sentidos, los humanos son las verdaderas cajas negras, al menos en lo que respecta al aprendizaje automático.

Explicaciones

Para empezar, es útil reflexionar sobre lo que la gente quiere decir cuando habla de explicaciones. Esta no es en absoluto una cuestión trivial, pero parece que hay al menos dos formas particularmente relevantes de pensar en esto.

Cuando pedimos a alguien una explicación de por qué hizo algo («¿Por qué hiciste X?»), estamos operando sobre un cierto conjunto de supuestos de fondo. En el caso de una decisión cuidadosamente tomada, solemos suponer que tuvieron alguna buena razón para actuar como lo hicieron, y básicamente estamos preguntando por el proceso de razonamiento que utilizaron para tomar la decisión. Por ejemplo, podríamos esperar que sopesaran los pros y los contras y eligieran un curso de acción basándose en la expectativa de que condujera a algún resultado concreto.

Cuando preguntamos por qué algo salió mal, por el contrario, estamos pidiendo una especie de explicación post-hoc del fracaso. Por ejemplo, después de un accidente de coche, podríamos querer una explicación de la causa del accidente. ¿Se distrajo el conductor? ¿Otro coche le hizo desviarse? Más que un proceso de razonamiento, estamos preguntando, más o menos, por el estímulo crítico que causó una reacción particular fuera del comportamiento normal.

Cuando la gente piensa en la inteligencia artificial, normalmente parece tener en mente el primer tipo de explicación. La expectativa es que el sistema hizo una deliberación y eligió un curso de acción basado en el resultado esperado. Aunque hay casos en los que esto es posible, cada vez más estamos viendo un movimiento hacia sistemas que se asemejan más al segundo caso; es decir, reciben estímulos y luego simplemente reaccionan.

Hay muy buenas razones para esto (entre otras cosas porque el mundo es complicado), pero significa que es más difícil entender las razones de por qué se tomó una decisión particular, o por qué terminamos con un modelo en lugar de otro. Teniendo esto en cuenta, vamos a profundizar en lo que entendemos por modelo y en la metáfora de la caja negra.

Cajas y modelos

La metáfora de la caja negra se remonta a los primeros tiempos de la cibernética y el conductismo, y suele referirse a un sistema del que sólo podemos observar las entradas y salidas, pero no su funcionamiento interno. De hecho, ésta era la forma en que B. F. Skinner conceptualizaba las mentes en general. Aunque demostró con éxito que ciertos comportamientos aprendidos podían explicarse mediante una señal de refuerzo que vinculaba ciertas entradas con ciertas salidas, cometió el famoso error de pensar que esta teoría podía explicar fácilmente todo el comportamiento humano, incluido el lenguaje.

Como ejemplo más sencillo de una caja negra, considere un experimento mental de Skinner: se le da una caja con un conjunto de entradas (interruptores y botones) y un conjunto de salidas (luces que están encendidas o apagadas). Al manipular las entradas, puede observar las salidas correspondientes, pero no puede mirar dentro para ver cómo funciona la caja. En el caso más sencillo, como un interruptor de luz en una habitación, es fácil determinar con gran confianza que el interruptor controla el nivel de luz. Sin embargo, en el caso de un sistema suficientemente complejo, puede resultar imposible determinar cómo funciona la caja simplemente probando varias combinaciones.

Imagina ahora que se te permite abrir la caja y mirar dentro. Incluso te dan un diagrama de cableado completo, que muestra cuáles son todos los componentes y cómo están conectados. Además, ninguno de los componentes es complejo en sí mismo; todo está construido a partir de componentes sencillos como resistencias y condensadores, cada uno de los cuales tiene un comportamiento que se entiende bien de forma aislada. Ahora, no sólo tienes acceso a la especificación completa de todos los componentes del sistema, sino que incluso puedes realizar experimentos para ver cómo responde cada uno de los distintos componentes a determinadas entradas.

Podrías pensar que con toda esta información en la mano, ahora estarías en condiciones de dar una buena explicación de cómo funciona la caja. Al fin y al cabo, se entiende cada componente individual y no hay información oculta. Por desgracia, la complejidad surge de la interacción de muchos componentes simples. Para un sistema suficientemente complejo, es poco probable que se pueda predecir cuál será la salida de la caja para una entrada determinada, sin realizar el experimento para averiguarlo. La única explicación de por qué la caja hace lo que hace es que todos los componentes están siguiendo las reglas que gobiernan su comportamiento individual, y el comportamiento global emerge de sus interacciones.

Aún más importante, más allá del cómo del sistema, es probable que no puedas explicar por qué cada componente ha sido colocado donde está, incluso si conoces el propósito general del sistema. Dado que la caja se diseñó con algún propósito, suponemos que cada componente se añadió por una razón. Sin embargo, en un sistema especialmente inteligente, cada componente puede acabar asumiendo múltiples funciones, como en el caso del ADN. Aunque esto puede dar lugar a un sistema muy eficiente, también hace que sea muy difícil siquiera pensar en resumir el propósito de cada componente. En otras palabras, el cómo del sistema es completamente transparente, pero el porqué es potencialmente insondable.

Esto, como resulta, es una metáfora perfecta para el aprendizaje profundo. En general, todo el sistema está abierto a la inspección. Además, está formado en su totalidad por componentes simples que se entienden fácilmente de forma aislada. Sin embargo, aunque conozcamos el propósito del sistema global, no hay necesariamente una explicación sencilla que podamos ofrecer sobre cómo funciona el sistema, aparte del hecho de que cada componente individual opera según sus propias reglas, en respuesta a la entrada. Esta es la verdadera explicación de cómo funciona el sistema, y es totalmente transparente. La pregunta más difícil es, por supuesto, por qué cada componente ha asumido el papel que tiene. Para entenderlo mejor, será útil separar la idea de un modelo del algoritmo utilizado para entrenarlo.

Modelos y algoritmos

Para entrar realmente en los detalles, tenemos que ser un poco más precisos sobre lo que estamos hablando. Harris se refiere a «cómo el algoritmo está logrando lo que está logrando», pero en realidad hay dos partes aquí: un modelo – como un sistema de aprendizaje profundo – y un algoritmo de aprendizaje – que utilizamos para ajustar el modelo a los datos. Cuando Harris se refiere al «algoritmo», presumiblemente está hablando del modelo, no necesariamente de cómo fue entrenado.

¿Qué queremos decir exactamente con un modelo? Aunque quizás sea algo vago, un modelo estadístico básicamente captura las suposiciones que hacemos sobre cómo funcionan las cosas en el mundo, con detalles que se aprenden de los datos. En concreto, un modelo especifica cuáles son las entradas, cuáles son las salidas y, normalmente, cómo pensamos que las entradas podrían interactuar entre sí para generar la salida.

Un ejemplo clásico de modelo son las ecuaciones que rigen la gravedad newtoniana. El modelo establece que la salida (la fuerza de gravedad entre dos objetos) está determinada por tres valores de entrada: la masa del primer objeto, la masa del segundo objeto y la distancia entre ellos. Más concretamente, afirma que la gravedad será proporcional al producto de las dos masas, dividido por la distancia al cuadrado. Críticamente, no explica por qué estos factores deben ser los que influyen en la gravedad; simplemente trata de proporcionar una explicación parsimoniosa que nos permita predecir la gravedad para cualquier situación.

Por supuesto, incluso si esto fuera completamente correcto, para poder hacer una predicción, también necesitamos conocer el factor de escala correspondiente, G. En principio, sin embargo, debería ser posible aprender este valor a través de la observación. Si hemos asumido el modelo correcto (o casi correcto) de cómo funcionan las cosas en la realidad, tenemos una buena oportunidad de poder aprender los detalles relevantes a partir de los datos.

En el caso de la gravedad, por supuesto, Einstein acabó demostrando que el modelo de Newton sólo era aproximadamente correcto, y que falla en condiciones extremas. Sin embargo, para la mayoría de las circunstancias, el modelo newtoniano es suficientemente bueno, por lo que la gente pudo aprender la constante G= 6,674×10^(-11) N – (m/kg)², y utilizarla para hacer predicciones.

El modelo de Einstein es mucho más complejo, con más detalles que deben aprenderse mediante la observación. En la mayoría de las circunstancias, da aproximadamente la misma predicción que daría el modelo newtoniano, pero es más preciso en circunstancias extremas, y por supuesto ha sido esencial en el desarrollo de tecnologías como el GPS. Y lo que es más impresionante, las predicciones secundarias de la relatividad han sido asombrosas, prediciendo con éxito, por ejemplo, la existencia de agujeros negros antes de que pudiéramos esperar comprobar su existencia. Y, sin embargo, sabemos que el modelo de Einstein tampoco es completamente correcto, ya que no coincide con los modelos de la mecánica cuántica en condiciones aún más extremas.

La gravitación, por supuesto, es determinista (por lo que sabemos). En cambio, en el aprendizaje automático y la estadística, solemos tratar con modelos que implican incertidumbre o aleatoriedad. Por ejemplo, un modelo simple de cuánto tiempo vas a vivir sería simplemente predecir la media de la población del país en el que vives. Un modelo mejor podría tener en cuenta factores relevantes, como su estado de salud actual, sus genes, cuánto ejercicio hace, si fuma o no cigarrillos, etc. En casi todos los casos, sin embargo, habrá cierta incertidumbre sobre la predicción, porque no conocemos todos los factores relevantes. (Esto es diferente, por supuesto, de la verdadera aleatoriedad aparente que ocurre a nivel subatómico, pero no nos preocuparemos por esa diferencia aquí).

Además de ser un cambio de marca increíblemente exitoso de las redes neuronales y el aprendizaje automático (en sí mismo podría decirse que es un cambio de marca bastante exitoso de la estadística), el término aprendizaje profundo se refiere a un tipo particular de modelo, uno en el que las salidas son los resultados de una serie de muchas transformaciones simples aplicadas a las entradas (muy parecido a nuestro diagrama de cableado de arriba). Aunque los modelos de aprendizaje profundo son ciertamente complejos, no son cajas negras. De hecho, sería más preciso referirse a ellos como cajas de cristal, porque podemos mirar literalmente dentro y ver lo que hace cada componente.

El problema, por supuesto, es que estos sistemas también son complicados. Si te doy un conjunto sencillo de reglas que debes seguir para hacer una predicción, siempre que no haya demasiadas reglas y que las propias reglas sean sencillas, podrías averiguar con bastante facilidad el conjunto completo de mapeos de entrada y salida en tu mente. Esto también es cierto, aunque en menor medida, con una clase de modelos conocidos como modelos lineales, en los que el efecto de cambiar cualquier entrada puede interpretarse sin conocer el valor de otras entradas.

Los modelos de aprendizaje profundo, por el contrario, suelen implicar no linealidades e interacciones entre las entradas, lo que significa que no sólo no hay un mapeo simple de las entradas a las salidas, sino que el efecto de cambiar una entrada puede depender críticamente de los valores de otras entradas. Esto hace que sea muy difícil averiguar mentalmente lo que está sucediendo, pero los detalles son, sin embargo, transparentes y completamente abiertos a la inspección.

El cálculo real realizado por estos modelos al hacer una predicción es normalmente bastante sencillo; donde las cosas se ponen difíciles es en el aprendizaje real de los parámetros del modelo a partir de los datos. Como se ha descrito anteriormente, una vez que asumimos una determinada forma para un modelo (en este caso, una red neuronal flexible), tenemos que tratar de averiguar buenos valores para los parámetros a partir de los datos.

En el ejemplo de la gravedad, una vez que hemos asumido un modelo «suficientemente bueno» (proporcional a la masa e inversamente proporcional a la distancia al cuadrado), sólo tenemos que resolver el valor de un parámetro (G), ajustando el modelo a las observaciones. Con los sistemas modernos de aprendizaje profundo, por el contrario, puede haber fácilmente millones de estos parámetros que aprender.

En la práctica, casi todos estos modelos de aprendizaje profundo se entrenan utilizando alguna variante de un algoritmo llamado descenso de gradiente estocástico (SGD), que toma muestras aleatorias de los datos de entrenamiento, y ajusta gradualmente todos los parámetros para que la salida predicha se parezca más a lo que queremos. Todavía no se entiende bien por qué funciona tan bien, pero lo principal es tener en cuenta que también es transparente.

Debido a que se suele inicializar con valores aleatorios para todos los parámetros, el SGD puede dar lugar a parámetros diferentes cada vez que lo ejecutamos. El algoritmo en sí, sin embargo, es determinista, y si utilizáramos la misma inicialización y los mismos datos, produciría el mismo resultado. En otras palabras, ni el modelo ni el algoritmo son una caja negra.

Aunque es algo insatisfactorio, la respuesta completa a por qué un sistema de aprendizaje automático hizo algo reside en última instancia en la combinación de las suposiciones que hicimos al diseñar el modelo, los datos con los que se entrenó y varias decisiones tomadas sobre cómo aprender los parámetros, incluyendo la aleatoriedad en la inicialización.

Volver a las cajas negras

¿Por qué importa todo esto? Bueno, hay al menos dos formas en las que el concepto de cajas negras es muy relevante para el aprendizaje automático.

En primer lugar, hay un montón de algoritmos y sistemas de software (y no sólo los basados en el aprendizaje automático) que son cajas negras en lo que respecta al usuario. Este es quizás el caso más común en el software propietario, donde el usuario no tiene acceso al funcionamiento interno, y todo lo que llegamos a ver son las entradas y salidas. Este es el tipo de sistema sobre el que ProPublica informó en su cobertura de los algoritmos de sentencia judicial (específicamente el sistema COMPAS de Northpointe). En ese caso, conocemos las entradas, y podemos ver las puntuaciones de riesgo que han dado a las personas como la salida. Sin embargo, no tenemos acceso al algoritmo utilizado por la empresa, ni a los datos con los que fue entrenado. No obstante, es seguro que alguien tiene acceso a los detalles -presumiblemente los empleados de la empresa- y es muy probable que sea completamente transparente para ellos.

La segunda forma en que la metáfora de las cajas negras es relevante es con respecto a los sistemas que estamos tratando de aprender, como la visión humana. En cierto modo, el comportamiento humano es excepcionalmente transparente, ya que podemos preguntar a las personas por qué han hecho algo y obtener explicaciones. Sin embargo, hay buenas razones para creer que no siempre conocemos las verdaderas razones de las cosas que hacemos. Lejos de ser transparentes para nosotros mismos, simplemente no tenemos acceso consciente a muchos de los procesos internos que rigen nuestro comportamiento. Si se nos pide que expliquemos por qué hemos hecho algo, es posible que seamos capaces de ofrecer una narración que al menos transmita lo que sentimos en el proceso de toma de decisiones. En cambio, si se nos pide que expliquemos cómo somos capaces de reconocer objetos, podríamos pensar que podemos dar algún tipo de explicación (algo que implique bordes y colores), pero en realidad, este proceso opera muy por debajo del nivel de conciencia.

Aunque hay circunstancias especiales en las que podemos inspeccionar realmente el funcionamiento interno de los sistemas humanos o de otros mamíferos, como los experimentos de neurociencia, en general, estamos tratando de utilizar el aprendizaje automático para imitar el comportamiento humano utilizando sólo las entradas y las salidas. En otras palabras, desde la perspectiva de un sistema de aprendizaje automático, el humano es la caja negra.

Conclusión

En conclusión, es útil reflexionar sobre lo que la gente quiere cuando piensa en sistemas que no son cajas negras. La gente suele imaginar algo así como el escenario en el que un coche de autoconducción se ha salido de la carretera, y queremos saber por qué. En la imaginación popular, la expectativa parece ser que el coche debe haber evaluado los posibles resultados, asignarles probabilidades y elegir el que tenga la mejor oportunidad de maximizar algún resultado mejor, donde lo mejor se determina de acuerdo con algún tipo de moralidad que se ha programado en él.

En realidad, es muy poco probable que las cosas funcionen así. Más bien, si preguntamos al coche por qué hizo lo que hizo, la respuesta será que aplicó un cálculo transparente y determinista utilizando los valores de sus parámetros, dada su entrada actual, y esto determinó sus acciones. Si preguntamos por qué tenía esos parámetros en particular, la respuesta será que son el resultado del modelo que se eligió, los datos con los que se entrenó y los detalles del algoritmo de aprendizaje que se utilizó.

Esto parece frustrantemente poco útil, y es fácil ver por qué la gente recurre a la metáfora de la caja negra. Sin embargo, hay que tener en cuenta que en realidad no tenemos este tipo de acceso para los sistemas que estamos tratando de imitar. Si preguntamos a un conductor humano por qué se salió de la carretera, es probable que sea capaz de responder con un lenguaje y dar alguna explicación sobre sí mismo -que estaba borracho, o distraído, o que tuvo que dar un volantazo, o que le cegó el tiempo- y, sin embargo, aparte de proporcionar algún tipo de coherencia narrativa, no sabemos realmente por qué lo hizo, y ellos tampoco. Al menos, con el aprendizaje automático, podemos recrear el mismo escenario y sondear el estado interno. Puede que sea complicado de entender, pero no es una caja negra.