Posts etiquetados ‘inteligencia artificial’

Mi coche autónomo se encuentra ante uno de los clásicos dilemas del tranvía. Vamos por un estrecho desfiladero y un niño se cruza en el camino. No hay tiempo para frenar, así que solo hay dos opciones: o atropellamos al niño o nos lanzamos al vacío por el desfiladero. El software del coche tiene que tomar la trágica decisión: o matar al niño o matarme a mí ¿Qué debería hacer? ¿Podríamos decir que el software es un agente moral y, por tanto, responsable de tomar la decisión?

En principio, la respuesta es fácil: claro que no. El software solo sigue instrucciones implementadas en su código por un programador. El evidente responsable de la decisión es quien programó a la máquina para tomar la decisión. Aquí no cabe discusión. Sin embargo, pensemos en las nuevas arquitecturas de aprendizaje profundo. Imaginemos que entrenamos a una red convolucional para clasificar gatitos, de modo que cada vez que le presentemos una imagen sea capaz de decir si allí hay un gato o no. Entonces le enseñamos una foto de un gato Kohana, un subtipo de la extraña raza Sphynx. Antes de enseñársela el programador no sabe qué va a responder la red, porque ésta decidirá en función de su aprendizaje, no de ninguna instrucción previamente programada ¿Podemos entonces decir que ha tomado una decisión y que, por tanto, estamos ante un agente moral?

No tan rápido. Tengamos en cuenta que, a pesar de que la decisión fue fruto del aprendizaje, la máquina obró de una forma completamente determinista. De hecho, siempre volverá a tomar la misma decisión en el futuro. De la misma forma, la red no es consciente de nada, no tiene emociones, ni intención ni siquiera obra siguiendo el deseo de hacer lo que hace ¿Es o no es un agente moral? Podríamos decir que, desde luego, no es un agente moral completo pero ¿Qué mínimos serían los suficientes para decir que estamos ante un agente moral? A fin de cuentas, si pusiéramos a nuestra red convolucional al mando de nuestro coche autónomo, podría tener que decidir si atropellar al niño o matarnos sin que el ingeniero se lo hubiera indicado de antemano. La red estaría tomando una decisión que, si la tomara un humano, diríamos con meridiana certeza que es una decisión moral. El filósofo John P. Sullins, de la Universidad Estatal de Sonoma en California, sostiene que si una IA es capaz de autonomía con respecto a sus programadores, podemos explicar su comportamiento apelando a intenciones morales y muestra comprensión de su responsabilidad con respecto a otros agentes morales, es un agente moral. Quizá, nuestra red convolucional incumple la segunda y la tercera condición: no obra con intenciones ni parece mostrar demasiada comprensión de su responsabilidad pero, ¿Y si obrara como si las tuviera? ¿Y si su conducta fuera siempre responsable ante los otros aunque no hubiese intención ni compresión?

Luciano Floridi, filósofo de Oxford, rebaja un poco más las condiciones: si la IA es capaz de cierta interacción con otros agentes morales, cierta autonomía y cierta adaptabilidad, ya podríamos hablar de agencia moral. Estas condiciones están ya aquí. Un bot conversacional como Blender de Facebook estaría muy cerca, si no lo ha conseguido ya, de cumplirlas. Floridi nos insta a hablar de moralidad a-mental, es decir, de moral sin mente, tal y como la llevarían a cabo las máquinas.

Pero, con independencia de lo que pensemos los filósofos, los algoritmos se irán volviendo más autónomos, más adaptables e irán interactuando cada vez más, y a más niveles, con nosotros. Los usuarios, ignorantes de su funcionamiento interno, solo podrán observar su comportamiento, el cual será indistinguible del de las personas que actúan moralmente, por lo que, al final, actuarán con ellas como si fueran agentes morales de pleno derecho. Cuando Stan Franklin intentó llevar la teoría del espacio de trabajo global de la consciencia de Bernard Baars en un programa llamado LIDA, que se encargaba de comunicarse vía e-mail con marineros de la armada norteamericana, los usuarios no tenían demasiados problemas en afirmar que LIDA era un ente consciente. Así, estamos seguros, no tendrían problemas en otorgarle agencia moral (Ya hablamos de lo fácil que es otorgar mente y empatizar con seres teóricamente inertes). Dentro de un tiempo, no parecerá demasiado extraño contemplar a una persona regañando o castigando a un robot doméstico por haberse portado mal. Pero claro, ¿llegaríamos entonces a juzgar y encarcelar a un algoritmo? Parece muy absurdo meter líneas de código en prisión. Entonces, ¿de qué estaríamos hablando? ¿Estaríamos ante máquinas que obran moralmente pero que no tienen que rendir cuentas cuando obran mal? ¿Moral sin responsabilidad?

Así es. La moral de las máquinas sería una moral arresponsable ya que no tiene ningún sentido castigar a una máquina (únicamente lo tendría si queremos simular ese comportamiento para que la máquina se parezca más en su conducta a un humano). Si un algoritmo actuara moralmente mal, sencillamente, habría que repararlo, corregir su software para que ese comportamiento no se repitiera. La responsabilidad final, por mucho que el algoritmo tomara decisiones autónomas que no fueran previstas por el programador, será de un humano, ya fuera el diseñador, la empresa o el usuario, de la misma forma que un menor de edad o una mascota son responsabilidad de sus padres o dueños . Sin embargo, esto sigue trayendo problemas. Los grandes programas de software están diseñados por muchos programadores diferentes que trabajan para distintas empresas en diversos tiempos. Así, en muchas ocasiones, se hace muy difícil rastrear quién desarrolló cada parte del programa y qué parte de responsabilidad tiene esa parte en la ejecución de la acción moralmente reprobable. También tenemos el problema del secreto industrial: las empresas no querrán desvelar cómo funcionan sus IAs, e, incluso, podrían diseñar sus sistemas de forma intencionalmente opaca para eludir cualquier responsabilidad. Y, para colmar el vaso, tenemos el problema de la caja negra: los sistemas de deep learning son terriblemente opacos per se. Difíciles tiempos aguardan a los juristas que quieran poner orden aquí.

Una original propuesta es la del jurista neoyorquino David Vladeck: en caso de un coche autónomo será el propio coche el que cargue con la culpa. Se crearía una nueva figura jurídica, “coche autónomo”, a la que se obligaría a tener un seguro. La prima de pago del seguro oscilaría en función de los accidentes que tuviese ese modelo en concreto, de forma que un modelo muy inseguro pagaría un precio tan elevado que a la empresa automovilística no le saldría rentable seguir produciéndolo, de modo que se fomentaría la carrera por diseñar coches cada vez más fiables. Es una idea.

Diseño un programa para conducir un coche en un entorno simulado. Creo un contador al que llamo “módulo de dolor” que va sumando cada vez que el coche hace algo que no queremos que haga. Por ejemplo, suma uno cada vez que una de las ruedas pisa la línea que separa la carretera del campo, suma cinco cada vez que el coche toca algún otro coche o suma veinte si se sale completamente de la carreta o colisiona frontalmente con algún obstáculo. Obviamente, diseño el programa para que este contador sume lo menos posible. Como soy muy buen ingeniero de software consigo, después de horas y horas corrigiendo bugs (que es a lo que, básicamente, se dedica un programador), que mi coche circule a la perfección, sin cometer infracción de tráfico alguna.

Al día siguiente de la aparición de mi programa, la prensa publica a bombo y platillo: “Construyen máquina capaz de sentir dolor”, “Ingeniero construye ordenador con sentimientos”, “La llegada de las máquinas conscientes”, “La singularidad ha llegado”, “Máquinas con sentimientos que se rebelan contra sus creadores”… Cuando leo estos estrafalarios titulares maldigo la mala praxis periodística ¡Si ni siquiera me han entrevistado para preguntarme cómo funciona! Desde luego, no puedes creerte nada de lo que sale en los medios. Pero, ¿tendría yo alguna parte de responsabilidad en lo que ha pasado? Sí, y no poca.

Es lo que se llama el labeling problem, la responsabilidad que el ingeniero tiene a la hora de etiquetar, de nombrar sus programas. Si llamamos al contador de errores “módulo de dolor” estamos abriendo la caja de Pandora de las interpretaciones erróneas. Nuestro coche no siente ni la más mínima sensación cada vez que colisiona, no siente dolor alguno, por lo que estamos cometiendo una grave equivocación al llamar así al contador. Y es que esto ha pasado en no pocas ocasiones a lo largo de la historia de la inteligencia artificial.

Las mismas redes neuronales artificiales nunca debieron llamarse así. Si bien, en un principio, pudieron buscar su inspiración en las neuronas biológicas, las redes neuronales artificiales que forman parte de AlphaFold, por ejemplo, no se parecen en absolutamente nada a lo que tenemos dentro de nuestro encéfalo. Tal y como dicen Chella y Manzotti, las redes neuronales artificiales tuvieron que llamarse “Aproximadores funcionales no lineales” y ya está. Si eso hubiera sido así, nos habríamos ahorrado miles de páginas de literatura absurda y la gente tendría una visión mucho más realista de lo que, verdaderamente, es la inteligencia artificial.

Oye, oye, tampoco es para ponerse así. Solo estamos haciendo uso de metáforas, son solo formas de hablar para entendernos, pero nunca han querido ir más allá. Si la gente se las toma demasiado en serio no es culpa de los ingenieros. No es tan sencillo. En primer lugar dudo mucho que solo hayan sido formas de hablar que no han querido ir más allá, que ya somos mayorcitos y que todos conocemos cómo funciona el marketing tecnológico. Y, en segundo, hay que tener mucho cuidado con el uso de las metáforas. Cuando hablamos de “computación”, “información”, “estado de un sistema”, “símbolo” hay que saber muy bien que no tienen una existencia real tal como un circuito o un electrodo. Una cosa es una abstracción conceptual y otra un objeto concreto. Es lo que Francis Bacon ya denunciaba en el siglo XVII: los idola fori. Son errores conceptuales que surgen cuando creamos nombres para cosas que no existen o nombramos (definimos) mal cosas existentes.

Si caemos en ellos y, por ejemplo, pensamos que la computación, entendida como la capacidad de cálculo, es un ente real que, en cierta manera, existe con independencia del hardware del ordenador, podemos pensar que tiene poderes causales, es decir, que puede hacer cosas por ella misma sin necesidad de su soporte físico. Y de aquí un error que he visto varias veces: pensar que la mera computación, o el mero aumento de su complejidad, puede causar mente o consciencia. No, calcular, por muy grande y complejo que sea el cálculo, solo puede dar un resultado matemático interpretable, o bien por un humano, o bien por otro sistema de cómputo que realice nuevos cálculos con él. Nada más. O, de la misma forma, hay que tener cuidado de no pensar que términos típicos de la psicología popular tienen existencia real. Cuando decimos “Hizo esto porque creía que era lo justo” corremos el riesgo de pensar que una “creencia” tiene poderse causales, como si una entidad intangible e inmaterial pudiese mover nuestras fibras musculares. No, nuestra creencia debe estar codificada de alguna forma en nuestro cerebro y será esa configuración de estructuras y procesos la que desencadene causalmente nuevas estructuras y procesos. La palabra “creencia” es tan solo una etiqueta, una metáfora para resumir la ingente cantidad de procesos físicos que tendríamos que describir si quisiéramos hacer una descripción más realista de lo que verdaderamente ocurre. Leemos constantemente sobre “percepción” en máquinas ¿Perciben verdaderamente las redes convolucionales? Ni hablar. Nuestra forma de hablar no debería ir más lejos de decir “el programa recibe información del entorno a través de un sensor”, lo cual es muy, muy diferente a decir “El programa ve”.

Tenemos que tener mucho cuidado con no caer en errores categoriales (mezclar diferentes categorías o conjuntos de objetos) o falacias mereológicas (confundir el todo con la parte), y aplicar lo más posible la siempre saludable navaja de Ockham. Y, sobre todo, hay que evitar antropomorfizar la máquina. Y es que creo que ese ha sido el error de los errores desde el principio de la inteligencia artificial: otorgar a la máquina cualidades humanas de forma muy precipitada (como ya ilustré en esta entrada).

Feliz Navidad, máquinas.

Aquí tenéis la charla que he dado para el curso de verano de la SEMF. En ella hago un recorrido histórico por los principales hitos en el campo, desde los primeros modelos teóricos de McCulloch o Rosenblatt, hasta Alpha Zero o GPT-3. He intentado que sea lo más sencilla y sugerente posible, sin meterme demasiado en temas técnicos. Para quien quisiera profundizar he adjuntando el artículo académico principal de cada tema que trato. Espero que os resulte provechosa.

Perdonándome por mis continuas coletillas (mi perenne “vale”) y mis malas vocalizaciones, las que hacen de mí un pésimo orador, no hay nada mejor que hacer en tiempos de cuarentena que ver la pequeña charla que dí para los AI Saturdays de Almería en el centro cultural La Oficina, allá por el 2018. Debo agradecer a los organizadores la invitación, el trato recibido y la elaboración de este vídeo. Me lo pasé muy bien y descubrí una ciudad bastante sorprendente.

Y recordad, las máquinas no piensan, ¡las máquinas kensan!

He leído en varias ocasiones, con torcida perplejidad, a expertos en áreas tecnológicas afirmar, con suma tranquilidad, que la tecnología ni es buena ni mala, que todo depende del uso que se le dé. Así, un cuchillo puede servir tanto para cortar el tan necesario alimento, como para apuñalar al prójimo. Por consiguiente, los empresarios-ingenieros-fabricantes quedan exonerados de toda culpa por diseñar cualquier artefacto, cayendo la totalidad de la responsabilidad en el usuario. Grave error para, como es habitual, metérnosla doblada.

La tecnología no es, de ningún modo, neutra éticamente. Veamos una serie de argumentos para dejarlo claro como el agua:

1.Toda tecnología requiere unos materiales y un coste energético, por lo que cabe preguntarse: ¿Cuán de escasos son esos recursos?  Si son escasos ¿no se necesitarán para otro objetivo éticamente más importante que el que yo les voy a dar? ¿Cómo de difícil es su extracción? ¿Se pondrán en peligro vidas para ello? Famoso es el debate acerca de los materiales con los que se construyen nuestros teléfonos móviles: ¿es ético producir y consumirlos sabiendo de donde vienen sus componentes? En lo que respecta a la IA, hasta hace poco nadie parecía caer en su elevado coste medioambiental cuando la enorme necesidad de capacidad de cómputo dada la notoria ineficiencia del deep learning es muy patente. La IA no es ecofriendly, y eso merece una profunda reflexión.

2. Toda tecnología requiere un proceso de producción: ¿dónde y quién lo realiza? ¿Los trabajadores reciben un salario justo y sus condiciones laborales son adecuadas? Mucho se ha debatido sobre las condiciones laborales de las fábricas asiáticas, donde se produce, prácticamente, todo la tecnología que consumimos. A través de Pinker, he leído estos días sobre la interesante, y polémica, idea de la curva de Kuznets: tras un periodo de gran desigualdad, cuando los países llegan a un alto nivel de desarrollo, la desigualdad se reduce. Quizá no justifique éticamente esa desigualdad, pero en ausencia de alternativas viables en esos países, es posible que sea la mejor opción (si bien también se ha discutido si su base empírica se sostiene).

3. Toda tecnología genera residuos, por lo que cabe preguntarse: ¿que residuos va a generar la nuestra? ¿Son biodegradables? ¿Cuál será su impacto medioambiental? ¿Dónde se almacenan y en qué condiciones? Así, tenemos el gran debate sobre la idoneidad de los coches eléctricos. Por un lado parecía que eran mucho más ecológicos, pero cuando caemos en lo que contamina generar la electricidad que consumen, vemos que no lo son tanto. En está línea está la polémica con respecto a las centrales nucleares. Yo creo firmemente que el sector ecologista que las critica está equivocado. Si hacemos un balance de pros y contras, y a falta de que la energía solar mejore, son una magnífica opción y una buena forma de luchar contra el cambio climático.

4. Toda tecnología tiene efectos secundarios no previstos por los diseñadores. Por eso todo proyecto tecnológico tiene que ir acompañado de una buena evaluación de riesgos. Ya hablamos aquí hace tiempo de la elegante definición de eficiencia tecnológica de Quintanilla: una máquina es eficiente si utiliza los medios más económicos para llegar a sus objetivos y a nada más que a sus objetivos. Esta última parte es la clave: hay que intentar que no se nos escape nada, y si no podemos evitar que se nos escape (realmente, es muy difícil predecir a medio y largo plazo cómo estará el tema), al menos, hacer una sesuda reflexión sobre ello y ponderar razonablemente si merece o no la pena.

5. Toda tecnología tiene posibles usos perversos ¿cuáles son y cuál puede ser su gravedad? ¿Hasta dónde puedo garantizar que no se lleven a cabo? Por ejemplo, parece evidente que si yo creo un método de edición genética que permite a cualquier persona del mundo, sin conocimientos de bioquímica, crear en su casa un virus letal, no deberé sacar a la luz tal tecnología. Y aquí es donde mejor se ve la no neutralidad ética de la tecnología: no es éticamente lo mismo diseñar una vacuna que una bomba de hidrógeno, porque los posibles usos perversos de la segunda son mucho mayores que los de la primera. Resulta muy curioso como en el caso de la IA, se haga más mención al uso perverso que “ella misma” hará contra nosotros (la famosa rebelión de las máquinas), más que del uso perverso que muchos humanos harán de ella. Y, del mismo modo, también resulta curioso que se sobredimensionen sus peligros y usos negativos (los killer robots o los algoritmos sesgados) cuando sus usos positivos son infinitamente más beneficiosos para la humanidad que estos posibles perjuicios. En la IA, igual que pasa con la ingeniería genética, se está ponderando muy mal su uso futuro.

6. Toda tecnología tiene un grado de impacto global: no es lo mismo un invento que hago en mi casa y se queda allí, que algo que tenga muchísimas repercusiones a todos los niveles. Por ejemplo, yo invento un cereal transgénico cuyas cualidades abaratan muchísimo sus costes de producción y, por tanto, su precio final. Supongamos que existe un pequeño país cuyo principal producto de exportación es el cereal. Entonces, he de prever qué efectos sobre la economía de ese país tendrá que yo saque al mercado mi producto. Si que yo me forre implica que condene a un país a la hambruna y a la miseria, he de repensar mi estrategia y buscar otras vías. Además, en un mundo globalizado donde todo está interconectado, hay que tener en cuenta que lo que uno hace en Londres, puede tener repercusiones en Tokio, es decir, que el grado de impacto de cualquier cosa que se haga es, potencialmente, mucho mayor que antaño, por lo que, igualmente, el grado de responsabilidad crecerá a la par.

El error de pensar en la neutralidad de la técnica está en pensar entendiendo los diversos agentes y elementos sociales de forma aislada cuando, verdaderamente, nada se da de forma aislada. Tanto más cuando un desarrollo tecnológico es, en la actualidad, una tarea inmensa. Así creo que una buena forma de entender la globalidad o localidad de cualquier evento es la teoría de sistemas: entender los fenómenos sociales como sistemas o partes de los mismos, siendo un sistema un conjunto de elementos y de interrelaciones entre ellos y otros sistemas. De este modo podemos extender nuestra responsabilidad ética cuando creamos algo: no solo hay que estudiar lo que ocurrirá en nuestro sistema al introducir el nuevo elemento, sino qué consecuencias tendrá en los demás.

Imagen del artista callejero Ludo.

 

En una romántica búsqueda de conseguir un sistema jurídico perfecto, vamos a crear un juez robot que no se vea influido por esos sesgos que hacen que los humanos fallemos una y otra vez en la sagrada tarea de impartir justicia. A primera vista, sencillamente, podríamos dotar a un algoritmo con la base de datos lo más potente posible sobre casos anteriores que crearon jurisprudencia. Entonces, ante cualquier decisión, nuestro juez electrónico solo tendría que buscar en su memoria el caso que más se asemejara al presente y aplicar la misma sentencia. Bien, pero pronto comenzarían los problemas, dado que las, a priori, pequeñas diferencias entre los casos pasados y los actuales, pueden ser mucho más grandes de lo que parecen, y ante esa novedad no prevista, nuestro programa debería ser capaz de dar una justa respuesta. Nos encontraremos casos en los que ni las sentencias anteriores ni la ley parecen dar una respuesta clara y concisa, por lo que nuestro robot necesitará reflexionar. Es por eso que suele decirse que las leyes no se aplican sino que se interpretan.

Entonces, no nos quedará otra que programar al robot con una serie de directrices que le sirvan para interpretar toda nueva circunstancia, una serie de principios de justicia. Hagámoslo: para que consideremos una condena  como justa, tiene que darse una serie de condiciones que nuestro robot debería tener grabada a fuego en su placa base:

  1. Conocimiento: el juez robot ha de contar con toda la información relevante para determinar la sentencia. Es por eso que muchas veces se habla de “falta de pruebas”, cuando no hay información suficiente para determinar si el sospechoso es culpable o no. Importante es entonces saber que casi nunca se cuenta con toda la información: a pesar de que estemos casi seguros de que el asesino es el mayordomo, nadie más que asesino y asesinado estuvieron presentes en el momento del crimen. Entonces, casi toda condena entraña una incertidumbre que hay que determinar si es asumible o no.
  2. Imparcialidad: el juez robot no ha de beneficiar a ninguna de las partes interesadas debido a cualquier motivo que no esté estrictamente relacionado con el asunto a juzgar. Aquí el problema no estaría ya en la corrupción pura y dura que asola los sistemas judiciales de medio mundo, sino en los sesgos inconscientes ocultos en la mente del juez. Esto es, precisamente, lo que se intenta subsanar con los jueces robóticos, y aunque la prensa amarillista nos haya mostrado siempre lo contrario, la inteligencia artificial es una tecnología muy apropiada para evitarlos. No hay nada más fácil, si quieres construir una máquina que no sea racista, que hacerla ciega al color de piel.
  3. Proporcionalidad: el castigo debe ser proporcional al delito cometido. No es justo que me condenen a diez años de trabajos forzados por robar una barra de pan, ni tampoco es justo que me condenen a un día de cárcel por un triple asesinato.
  4. Estabilidad o consistencia: en casos similares que se dan en otro momento del tiempo, los castigos han de ser similares. La justicia no ha de cambiar con el tiempo, ya que crearíamos agravios comparativos entre casos iguales. Si miramos la historia de la humanidad vemos que eso no se ha cumplido para nada, y que los castigos por las mismas penas han ido cambiando. Antes, por regla general, eran muchísimo más duras y las prisiones bastante menos humanas que las de hoy. La explicación, algo presuntuosa por parte de nuestro presente eso sí, está en decir que en el pasado se equivocaban y que nosotros hemos perfeccionado el sistema para hacerlo más justo, de modo que el agravio comparativo se da solo hacia los que tuvieron la mala fortuna de ser juzgados en el pasado.

Vamos a centrarnos en el 3, en el principio de proporcionalidad. Explicarlo es muy fácil, pero llevarlo a la práctica es harto complejo. Sencillamente dice que el castigo a aplicar debe ser proporcional a la magnitud del delito. La proporcionalidad más perfecta es la lex talionis, el bíblico “ojo por ojo, diente por diente”: aplicar al culpable del delito exactamente lo mismo que le ha hecho a la víctima. En algunos casos es relativamente sencillo. Si me han robado 100 euros, han de devolvérmelos con un plus añadido por el perjuicio que me ocasionó no tenerlos durante el tiempo que se tardó en la devolución (por ejemplo, sumando unos intereses). Sin embargo, los problemas surgen en nada que nos paramos a pensar un segundo: ¿una misma cantidad de dinero tiene el mismo valor para todo el mundo? ¿Son iguales 100 euros para un indigente que para un multimillonario? Eso es lo que pienso cuando voy conduciendo por la carretera y me pasa un Porsche a 170 Km/h.

Y la dificultad se hace más patente cuando comenzamos a intentar medir la proporcionalidad de ciertos daños, más cuando la sensibilidad al sufrimiento de cada individuo difiere significativamente. Por ejemplo, si yo insulto públicamente a una persona, lo proporcional sería que esa persona me insultara de la misma forma. No obstante, yo puedo ser un personaje público al que los insultos no le afectan demasiado (incluso, podría ser que los buscara a propósito con tal de que se hable de mí), mientras que el otro agraviado puede ser muy sensible al escarnio público, por lo que aquí la proporcionalidad no se conseguiría en un insulto por insulto. Como no podemos medir con precisión la cantidad de sufrimiento que proporciona tal o cual castigo, esta proporcionalidad es netamente imposible, cuánto más en esta época de ofendiditos en la red. Podría ser que a mí me provocara importantes daños emocionales ver rostros de gente poco agraciada físicamente en Instagram ¿Deberían compensarme los feos por el daño que me ocasionan? ¿Dónde está el límite entre lo que es razonable que ofenda y lo que no?

Tirando más del hilo nos encontramos con aún más problemas. Si suponemos que el crimen más grave es el asesinato, el castigo proporcional no podría ser más exacto que la pena de muerte pero, ¿cómo castigar proporcionalmente a alguien que ha asesinado a dos o más personas? Si con un asesinato el criminal tiene asegurada la pena de muerte, cuando ya ha matado a una persona, todos los demás crímenes que cometa le saldrán gratis. O, si no somos favorables a la pena de muerte pero sí a la cadena perpetua, tenemos el caso de que la pena será mucho más leve para un anciano o un enfermo terminal que morirán en la cárcel habiendo cumplido muy poco tiempo de condena, que para un joven con veinte años y una salud de hierro.

En la sociedad actual, las nuevas tecnologías de la información suponen novedades que deberían tenerse en cuenta a la hora de legislar, si queremos mantener lo más posible el principio de proporcionalidad. En el celebérrimo caso de la manada, los acusados fueron castigados con unos daños de cárcel supuestamente proporcionales al delito cometido. Independientemente con si esa sanción fue justa o no, los acusados fueron también sometidos a un linchamiento público por parte de los medios. Las redes sociales permitieron que sus fotos y datos biográficos fueran conocidos por todo el mundo, y que se hablara en el tono que se quisiera sobre ellos. Es decir, al clásico castigo carcelario se le añadió el nuevo castigo de vapuleamiento en la red que, muchos, podrían considerar incluso peor, o quizá más dañino a largo plazo, que el primero. En otros tiempos en los que no existían nuestros hipertrofiados medios de comunicación, un delincuente, una vez que pagaba su pena, podría empezar de nuevo sin que todo el mundo supiera de su turbio pasado, pero ahora eso es casi imposible. Entonces, cualquier juez robótico que se precie debería tener en cuenta dicho plus, quizá compensando al criminal con menos tiempo en prisión (si además del principio de proporcionalidad quiere mantener el principio de estabilidad). No deja de resultar chocante como hemos vuelto a formas de justicia medievales. Antes de la llegada del Estado Moderno, a los criminales se los linchaba públicamente, cuando no se los ahorcaba en la plaza del pueblo. Entonces, el nuevo contrato social estipuló que la capacidad de castigar delitos era una función exclusiva del Estado, evitando que nadie pudiera tomarse la justicia por su mano. Ahora, paradójicamente, volvemos a torturas medievales gracias a altas tecnologías.

Como vemos, crear un juez robot es algo muchísimo más completo de lo que hubiera soñado Leibniz, y aunque creo que es perfectamente posible, en contra de los que piensan que la justicia humana es algo irreductible a la automatización, no es algo que se vaya a conseguir en dos tardes. Impartir justicia es una tarea que requiere una muy profunda comprensión de la realidad de la que están lejos nuestra mejores inteligencias artificiales. Otra cosa, muy saludable, es que los jueces dispongan de software que le ayude en sus sentencias, como ya ocurre, no sin polémica eso sí, con el programa Compas en Estados Unidos.

Otro camino, que es el que se está usando ahora, es el de abandonar la programación simbólica y utilizar deep learning.  Así, se le da la base de datos a la red neuronal y se la va entrenando para que sus sentencias sean similares a las de los jueces profesionales. Aunque el porcentaje de aciertos suele ser muy alto, aquí nos encontramos con un gravísimo problema: la black box. Los algoritmos de deep learning no pueden explicar el porqué de sus resultados y eso, hablando de decidir sobre la condena de un ser humano, es inaceptable. No podemos tolerar de ningún modo que un software tome decisiones tan importantes sin que sepamos por qué lo ha hecho.  Hasta que tengamos una auténtica IA explicada, no podemos utilizar las redes neuronales para impartir justicia.

Condición necesaria, que no suficiente (ni mucho menos) para crear consciencia artificial: que la máquina tenga un automodelo, un mapa de sí misma ¿Y qué es el sí mismo? Bueno, sin meternos en complejas disquisiciones, pongamos de primeras, un mapa de su cuerpo ¿Y qué tipo de mapa? No una representación realista de su propia estructura, sino un mapa de relaciones dinámico. Para ser económicamente eficientes en términos de fitness biológico (seguimos la hipótesis de Hoffman), la máquina solo debe percibir las relaciones entre sus partes y el entorno que le permitan actuar con efectividad en él.  Y esto ya se hizo en 2006:

Las primeras máquinas automodélicas ya han aparecido. Investigadores en el campo de la vida artificial comenzaron a simular procesos evolucionistas hace tiempo, pero ahora tenemos una disciplina académica denominada “robótica evolutiva”. Josh Bongard, del Departamento de Ciencias de la Computación de la Universidad de Vermont, y sus colegas Víctor Zykov y Hod Lipson, han creado una estrella de mar artificial que desarrolla gradualmente un automodelo interno. Sus máquinas de cuatro patas utilizan relaciones de actuación-sensación para inferir directamente su propia estructura y luego utilizan ese modelo para generar locomoción. Cuando se le priva de parte de sus patas, la máquina adapta su automodelo y genera un paso alternativo – aprender a cojear. A diferencia de los pacientes con miembros fantasmas[…], puede reestructurar su presentación corporal posterior a la pérdida del miembro; por tanto, en cierto sentido, puede aprender. Como dice su creador, puede “recomponer su propia topología con un poco de información previa”, optimizando constantemente los parámetros de su automodelo resultante. La estrella de mar no solo sintetiza su automodelo interno, sino que también lo utiliza para generar comportamiento inteligente.

Thomas Metzinter, El túnel del Yo

 

¿Por qué lo que hicieron Bongard et al. fue un trabajo magnífico?

  1. La estrella de mar no tiene un automodelo dado desde el principio, sino que tiene que construirlo. Seguramente, los humanos no nacemos con el mapa de nuestro cuerpo completamente configurado, sino que lo construimos, como mínimo, parcialmente.
  2. Lo va reconfigurando constantemente, de modo que lo hace mejor que nosotros. La estrella de mar no tiene el “síndrome de la extremidad fantasma” como nos pasa a los humanos. No solo investigamos sobre la consciencia sino que encontramos la forma de subsanar sus errores.
  3. El automodelo le sirve para actuar en la realidad. No entendemos aquí el autoconocimiento como un epifenómeno, como un añadido sin función ni como un efecto secundario. Gracias al automodelo evalúa su estado y actúa en consecuencia. Creo que es el camino acertado para entender la función evolutiva de la consciencia.

Dan Dennett escribió en 1984 un ensayo titulado “Cognitive wheels: the frame problem of AI”, en donde expone de forma muy simpática una versión del frame problem.

Tenemos un robot (R1) al que le encomendamos una misión: tiene que entrar en una habitación para encontrar una batería con la que recargarse. Dicha batería está situada sobre una mesa con ruedas, pero en la misma mesa hay una bomba programada para explotar en pocos segundos. La misión sería un éxito si R1 sale de la habitación solo con la batería, dejando que la bomba explote dentro.

R1 no es todavía muy sofisticado. Con su software infiere que sacando la mesa, también se saca la batería, por lo que con su brazo mecánico arrastra la mesa fuera de la habitación. Desgraciadamente, al hacerlo también saca fuera la bomba que explota, haciendo saltar a R1 por los aires. Los ingenieros entonces desarrollan a R1D1, quien es capaz de inferir también las consecuencias secundarias de sus acciones. Entonces, el nuevo el robot se para delante de la mesa y se queda parado procesando todas las consecuencias de su acción. De nuevo, cuando acababa de inferir que sacar la mesa de la habitación no va a cambiar el color de las paredes y se estaba embarcando en la siguiente inferencia, la bomba explota.

Los ingenieros se dieron cuenta de que procesar todas las consecuencias secundarias de una acción es una tarea prácticamente infinita, no resoluble, desde luego, en los pocos segundos que nos deja la cuenta atrás de la bomba. Había que diseñar un nuevo robot que no se pare a sopesar todas y cada una de las consecuencias de sus acciones, sino solo las que son relevantes para solucionar la tarea encomendada. El color de las paredes es algo completamente intrascendente para sacar una batería sin que explote una bomba. Fabrican R2D1 y lo ponen en funcionamiento. El robot entra en la habitación, la observa un rato, sale y se queda parado procesando información. Los segundos pasan y los ingenieros le gritan desesperados que haga algo. R2D1 responde que ya lo está haciendo: se está dedicando a ir descartando todas y cada una de las consecuencias irrelevantes de todas y cada una de las acciones que pueden hacerse… La bomba vuelve a explotar.

¿Qué está pasando aquí? ¿Por qué los ingenieros fracasan una y otra vez? Los seres humanos tenemos una fantástica habilidad que todavía no se ha conseguido computar: saber diferenciar el grano de la paja, es decir, saber diferenciar lo relevante de lo irrelevante entre una inmensa cantidad de información recibida. Para Jerry Fodor esta es la pregunta clave de la psicología cognitiva. Si el mundo es una inmensa red causal en la que millones de procesos se causan unos a otros simultáneamente… ¿cómo hace nuestra mente para saber cuáles son los procesos relevantes para lo que quiere hacer? Y es que ese sigue siendo el gran problema para el diseño de máquinas inteligentes, por ejemplo, en el procesamiento de lenguaje natural.

Hay soluciones (o más bien intentos de solución), muy interesantes (e ingeniosos). Desde la perspectiva lógica, se han intentado realizar acotaciones para que el manejo de la información comience a ser manejable computacionalmente. La base está en pensar que no hay por qué saberlo todo ni con plena certeza. Nosotros, cuando nos movemos competentemente en nuestro entorno, rara vez sabemos con total seguridad lo que va a pasar aunque acertemos en un número razonable de ocasiones. Además, corregimos constantemente nuestras creencias en función de la nueva información que vamos recibiendo (es lo que va a llamarse razonamiento revisable o no monótono). Así, por ejemplo, a McCarthy se le ocurrió lo que denominó circunscripción: minimizar las extensiones de los predicados tanto como sea posible. Dicho de otro modo y con un ejemplo: lo normal, lo que pasaría en la mayor parte de los casos, es que si yo me encuentro con un cisne, éste sea de color blanco. Entonces yo partiré dando como verdadera la afirmación de que “todos los cisnes son blancos” y voy a pasar olímpicamente de las excepciones, porque aunque me arriesgue a fallar, acertaré en la mayoría de las veces. A esta idea puede unirse lo que también se ha llamado razonamiento prototípico no monótono, desarrollado por Tversky y Kahenman en 1983. Se trata de proponer un concepto prototípico, un ideal o arquetipo de cualquier objeto o suceso que queramos representar. La computadora ponderará si un nuevo objeto o suceso que se encuentra es una instancia del prototipo en función de lo que se le parezca. De este modo ahorramos mucha información, centralizando todo en un conjunto de patrones y siendo ciegos a todo lo demás. Se pierde realismo pero se acota muchísima información. Tengamos muy en cuenta esta paradoja: para ser competente el trabajo duro no está en saberlo todo, sino en ignorar todo menos lo estrictamente necesario.

Otra propuesta es la del razonamiento autoepistémico de Robert C. Moore (1983): consiste en que el computador opere como si supiera toda la información que hay que tener, aunque ésta sea incompleta. Es obrar del modo: “Dado lo que sé y no teniendo noticia de que esto no sea así, opero en consecuencia”. Esto se complementa muy bien con la famosa hipótesis del mundo cerrado (muy usada en bases de datos), que consiste además en sostener como falso todo lo que no se da implícitamente en la información disponible. Por ejemplo si tengo un horario de llegada de trenes y se me pregunta si va a venir un tren de Madrid a las 10:00 y en mi horario compruebo que no aparece ningún tren de Madrid a esa hora, concluyo que no, presuponiendo que mi horario es toda la información que existe acerca de la llegada de trenes a esa estación.

También tenemos la compleción definida por Clark en 1978: obrar como si las implicaciones fueran equivalencias. Lo explicamos: cuando tenemos un condicional (una estructura de la forma si A entones B), el antecedente (A) es condición suficiente para el consecuente (B), es decir, solo del hecho de que se de A, y sin que ocurra nada más, se dará B; pero el antecedente (A) no es condición necesaria para que se de el consecuente (B), es decir, B podría darse por otras causas diferentes a A. Por el contrario cuando hablamos de un bicondicional (una equivalencia), antecedente y consecuente son ambos causas necesarias y suficientes el uno del otro.  Por ejemplo si yo digo:

“Si llegas después de las siete estarás llegando tarde”

estaré enunciando una implicación pero, en el fondo, la puedo convertir en un bicondicional sin que pase, realmente, nada. Podría decir:

“Si y sólo si llegas después de las siete estarás llegando tarde”

es decir, que llegar después de las siete y llegar tarde es, exactamente lo mismo. Con ello nos estamos ahorrando computacionalmente una regla crucial en el razonamiento. La compleción es interesante además porque confundir implicaciones con equivalencias es un error común en nuestra forma ordinaria de razonar, tal como ya vimos hace algunos años con el experimento de Wason.

Y una nueva forma, de nuevo estipulada por McCarthy, es el llamado Axioma del Marco. Uno de los problemas que tenía el robot de Dennett era que cuando modificaba algo, tenía que verificar todo el entorno completo para ver si esa modificación había modificado algo más. El Axioma del Marco o también denominado Ley de Sentido Común de la Inercia, diría que lo normal es que nada cambie más que lo que que uno ha modificado, por lo que es buena estrategia obrar como si eso fuera siempre así, de modo que nos ahorramos analizar toda la realidad cada vez que modificamos una sola cosa.

Pero todavía hay más: estaría el denominado razonamiento sin riesgo, que consiste en que si tenemos dos opciones y aceptar una de ellas nos llevaría a consecuencias fatales, escogemos la otra. El claro ejemplo está en el término jurídico in dubio pro reo: ante la duda a favor del acusado. Encarcelar a un inocente nos parece algo muy injusto, por lo que, a falta de pruebas suficientes en su contra, sentenciamos su no culpabilidad.

Y, por supuesto, nos queda la forma más estudiada de razonamiento sin certezas ni información suficiente: el cálculo de probabilidades expresado en lógica mediante la lógica borrosa.  Ante varias opciones elijo la que, según mis cálculos, tenga más probabilidades de cumplirse, aceptando tanto que la probabilidad puede hacer que mi apuesta falle aún teniendo los datos a mi favor (los sucesos de cisne negro se dan por doquier), como que mis cálculos tampoco sean fiables dada la información disponible (el también llamado razonamiento por conjetura).

Entonces, con tantas estrategias diferentes, ¿se ha solucionado el frame problem? De ninguna manera. Todas ellas tienen serias limitaciones y defectos que solo las hacen válidas para casos muy concretos, de modo que lo difícil sigue siendo lo de siempre: generalizar. Todavía no hay estrategias que sirvan para más de un contexto específico. La Inteligencia Artificial General, por mucho que nos cuenten milongas, sigue muy lejos. Y es que, por lo menos a mí, me resulta muy llamativo lo terriblemente complejo que es hacer todo lo que nosotros hacemos ordinariamente con suma facilidad. La evolución, desde luego, hizo un buen trabajo con nuestra especie.

 

Es tan conocidísimo el argumento de Searle conocido como la habitación china (también la caja o la pieza china) que casi no merece la pena soltar el rollo de volverlo a explicar, pero, por si acaso hay algún despistado, lo volveremos hacer. Searle hace una comparación entre un supuesto computador que supera el test de Turing y una curiosa situación: imaginemos a un hombre que se encuentra en una habitación en la que hay una ventana. A través de esa ventana recibe frases escritas en chino. Él no tiene idea de chino, pero dispone de un libro con una serie de instrucciones escritas en inglés (su lengua materna) en las que se indica qué frases hay que decir ante cualquier frase en chino que uno reciba, de tal modo que la persona que se encuentre al otro lado de la ventana no sabría decir si está hablando con una persona que habla chino o no. Lo que Searle pretende argumentar es que el operario de la habitación no comprende chino, solo sabe un tipo de sintaxis, juntar símbolos con otros de una determinada manera y, sin embargo, parece que lo comprende, por lo que el test de Turing no es válido para determinar si un ordenador piensa o no. Para Searle, pensar tiene que ver con comprender, es decir, con conocer una cierta semántica. Las computadoras solo saben de sintaxis, de unir o separar unos símbolos con otros siguiendo unas reglas marcadas, nada más, y eso no es realmente entender nada.

Durante mucho tiempo este argumento me pareció inapelable y lo utilizaba con asiduidad para criticar las pretenciosas afirmaciones de los entusiastas de la Inteligencia Artificial. Sin embargo, hace poco descubrí el error que encierra (y me sorprendí de cómo no lo había descubierto antes. Quizá porque estaba hechizado con la brillante y sencilla prosa de Searle) y también descubrí que, para desgracia de mi descubrimiento, ya se habían escrito toneladas de artículos en esa línea. Y es que el argumento de Searle ya tiene unos cuantos añitos. No obstante, como después explicaré, el error es solo en una de las tesis que Searle deriva del argumento, siendo lo demás correcto, porque sigo pensando que, en términos generales, el argumento de Searle es correcto.

El error está en que no se pueden separar taxativamente sintaxis y semántica, es más, no se pueden separar ni siquiera un milímetro, ya que la una sin la otra no tienen ningún sentido. Supongamos que estamos usando la habitación china y cualquiera de nosotros es su operario. Entonces recibimos este mensaje:

早安

Esto es “Buenos días” en chino tradicional. ¿Qué instrucción pone en nuestro libro que respondamos y por qué? Podría haber muchas respuestas posibles pero una de ellas de puro sentido común sería que devolviéramos el saludo:

早安

¿Por qué devolver el saludo es una buena respuesta que nos llevaría por buen camino para superar el test de Turing? Para devolver el saludo necesitamos una información previa que no puede reducirse a mera sintaxis: necesitamos saber que cuando alguien te saluda es habitual devolver el saludo, es decir, necesitamos comprender el contexto, las circunstancias en donde se da esa frase en chino, y eso es un elemento metalingüístico o metasintáctico que no obedece a una sintaxis determinada.

Por ejemplo, cuando el saludo no se da al principio de la conversación sino al final o en medio, esto suele indicar que la conversación se termina. Quizá nuestro interlocutor se ha sentido ofendido por algo que dijimos y quiere finalizar la conversación de un modo educado pero cortante.  O, quizá, nuestro interlocutor es un desconocido que solo nos quiere saludar por educación pero no quiere comenzar conversación alguna ya que no nos conoce. ¿Cómo saber esto? Sólo comprendiendo el contexto, huelga decir, sabiendo semántica. Entonces, para pasar el test de Turing, necesariamente, tenemos que enseñar semántica a nuestra habitación china. Las reglas que el operador de la habitación maneja deben incorporar semántica para que puedan superar el test de Turing

Para desgracia del argumento de Searle, podríamos enseñar a un computador semántica. No habría ningún problema (a priori) en enseñar a la máquina a saber qué puede significar una proposición dado un contexto dado puesto que podríamos traducir la semántica a sintaxis. Si la semántica puede reducirse a reglas no hay impedimento. En el ejemplo podríamos introducir en el programa las diferentes situaciones en las que puede darse un saludo y establecer nuevas reglas dado el contexto anterior o futuro de la conversación. El problema (ahora sí, a posteriori) es la enorme riqueza de los contextos en donde puede darse una conversación. Llegamos al frame problem, del que pronto hablaremos en otra entrada.

Sin embargo, para lo que el argumento de la habitación china sí que tiene clara validez es en dos sentidos: uno es para hablar de la consciencia o de los qualia. Podríamos tener una máquina que comprendiera muy bien el contexto de las afirmaciones de una conversación y que pudiera pasar el test de Turing, pero eso no indicaría nada sobre su consciencia. La máquina seguiría siendo tan inconsciente de sus acciones como lo es mi tostador sobre el estado de las tostadas. Y en otro acerca de lo que hacen las computadoras actuales con respecto a lo que pasa en mi cerebro cuando pienso: no es lo mismo. Un programa de ajedrez no hace lo mismo que yo cuando decide mover una pieza en el tablero y una calculadora no hace lo mismo que yo cuando realiza una multiplicación. Y con respecto al lenguaje, programas clásicos como la Eliza de Weizenbaum o la Siri de los Iphone no hacen lo mismo que nosotros cuando se comunican con nosotros. Las analogías que puedan encontrarse no son, ni de lejos, suficientes para decir que las máquinas piensan si por pensar nos referimos a cómo lo hacemos los seres humanos.

En palabras de de Jerry Kaplan:

Searle argumenta que, en realidad, éstas deben ser cosas distintas, pero simplemente no entendemos aún lo que está haciendo el cerebro. Es importante entender qué no está diciendo. No está afirmando ninguna propiedad mágica de la mente humana que transcienda el ámbito de la ciencia: sus pies están firmemente plantados en el suelo, con un creencia en el mundo físico como (en su mayor parte) determinista, sujeto a medición y a explicación racional. Sólo está diciendo que en nuestros cerebros ocurre algo que aún no entendemos y que, cuando lo consigamos (lo cual acepta como probable), se aclarará el camino para una explicación satisfactoria de lo que él cree que son fenómenos exclusivamente humanos; no sólo “pensar”, sino también la consciencia, la sensación de experimentar cosas (lo que los filósofos llaman “qualia”), la percepción, etc. Tampoco está afirmando que un programa informático nunca pueda realizar ninguna tarea concreta; ya sea pintar bellos cuadros, descubrir leyes de la naturaleza o consolarnos por la muerte de un ser querido. Pero él cree que el programa está simulando el pensamiento, no duplicando el proceso que tiene lugar en las mentes humanas cuando se implican en estas actividades. Para Searle, un piano informático no está haciendo lo mismo que un maestro de la música, cuando ejecutan un concierto de Rachmaninoff, aunque suene igual. Resumiendo, Searle dice que, en lo relativo a los ordenadores, al menos tal como existen en la actualidad, nadie tiene toda la razón.

Y es que, ya lo he dicho cientos de veces, el problema de la Inteligencia Artificial no es fabricar agentes inteligentes (lo cual ya lo hace con mucho éxito en algunos casos), sino agentes conscientes o sintientes. La AI ya ha fabricado inteligencia, lo que hace falta es que fabrique mentes.

P. D. : Por si aún no lo habéis leído, hace poco me han publicado un artículo mucho más extenso sobre estos temas en Xataka.

Desde el Foro de Futuro Próximo hemos planteado una serie de debates acerca de un tema tan apasionante en estos momentos como es la IA. En nuestra primera mesa, mañana a las 18:00 horas en las Escuela Técnica Superior de Ingenieros Industriales, contamos como contertulios a figuras tan interesantes como Juan Andrés Avilés, Pablo Gervás, José Manual García y Álvaro José García Tejedor, primeras espadas en el campo de la IA nacional. Y como no podía ser de otra manera, el moderador será vuestro maquinista preferido, un servidor.

La asistencia es gratuita (podéis registraros en la página por razones de control, pero no es necesario), así que no podéis faltar. Os garantizo un debate de calidad que, con total seguridad, os dará una visión más rica y profunda del fenómeno tecnológico de moda (tened en cuenta que lo modera un filósofo, con su peculiar toque, muy distinto a la habitual visión ingenieril). Después de la mesa redonda habrá una fase de preguntas en las que podréis participar, y discutir y debatir lo que os plazca, con toda la maldad e irreverencia que os de la gana (Incluso después podréis hablar con nosotros y conocernos en persona, hasta tocarnos para comprobar que somos organismos biológicos y no androides… o eso creo).

Os espero. Doy mi palabra de que merecerá la pena venir.

Addendum del 4-11-2017:

 

 

Añado el vídeo de la primera sesión. El montaje es genial (doy las gracias a Alianza Futurista por ese excelente trabajo). Ponentes de altísimo nivel (de verdad), dando opiniones formadas en un debate fluido (creo que no se hizo demasiado aburrido) sobre nuestro tema. No sé los demás, pero yo me lo pasé bastante bien.