#TecnousuariosTv: El gran debate sobre si será posible o no una inteligencia artificial

lunes, 17 de agosto de 2015

El gran debate sobre si será posible o no una inteligencia artificial

Robot 507811 1280 1

Hanover es una pequeña población situada en New Hampshire, muy a noreste de los Estados Unidos. Es un sitio muy bonito, plagado de bosques, lagos y montañas nevadas. A pesar de su pequeño tamaño tiene una universidad, el Dartmouth College, una de las más antiguas del país (fundada en 1769) y, según dicen ellos, una de las más prestigiosas y exclusivas del mundo. El caso es que, a pesar de esa fama, nada hacía presagiar lo que allí ocurriría durante el verano de 1956.

Hay momentos y lugares impredecibles en la historia, en los que, no sabemos si porque los planetas se alinean o porque los dioses así lo ordenan, se reúne un grupo de genios para dar un giro radical a la historia de la humanidad. Y eso es lo que ocurrió en las míticas conferencias de Dartmouth.

El plan era sencillo: diez investigadores pasarían dos meses debatiendo y compartiendo ideas sobre una cosa que se llamaba “Inteligencia Artificial”, expresión que fue acuñada por el organizador, John McCarthy, y que allí aparece por primera vez. El tema principal de las conferencias era cómo desarrollar computadoras que pudieran simular la mente humana, y como temas secundarios estaba hablar de programación, automatización, capacidad de cómputo, redes neuronales, self-improvement, aleatoriedad y creatividad… Es decir, allí se postularon todos y cada uno de los grandes temas que iban a desarrollarse a lo largo de los siguientes sesenta años.

Por decirlo en término de Laudan, allí acababa de nacer una de las tradiciones de investigación más importantes y apasionantes de nuestra época.

6277562593 517f25ef2f Z John McCarthy, creador del lenguaje de programación LISP

Y es que ya, si miramos quiénes eran los organizadores, el asunto era cosa de titanes. El organizador, John McCarthy será el creador del lenguaje de programación LISP (el más antiguo lenguaje de alto nivel después de Fortran), cofundador del laboratorio de inteligencia artificial del MIT y de la Universidad de Stanford, Premio Alan Turing en 1971… Por contar alguna anécdota, estuvo casado tres veces, siendo una de sus mujeres Vera Watson, programadora de la IBM y la primera mujer en escalar en solitario el Aconcagua, desgraciadamente fallecida en 1978 ascendiendo el Annapurna. Un genio con una vida apasionante.

Claude E. Shannon, que por aquel entonces trabajaba para la Bell Telephone Laboratories, fue el padre de la moderna teoría estadística de la información. Eso que nos enseñaban en clases de lengua de emisor, receptor, mensaje, código… todo de Shannon (Nótese que su teoría tendrá tanta influencia que llegará a materias tan distantes de la informática con la lingüística). Aparte, Shannon fue pionero en relacionar al álgebra booleana con circuitos eléctricos, mostrando que configuraciones de conmutadores podían realizar operaciones lógicas. También ideó máquinas que jugaban al ajedrez, fue un criptoanalista (como Turing, con quien parece ser que al menos tomó un té), trabajó en sistemas de control de disparo (como Von Neumann), diseñó la computadora digital Minivac 601, e incluso inventó extraños cachivaches como un fresbee a reacción o un pogo stick motorizado…

Marvin Minsky, que por aquel entonces solo tenía 29 años (es el único de los organizadores que sigue aún vivo) creó en 1951 SNARC (el primer simulador de redes neuronales), escribió, junto con Seymour Papert, el libro "Perceptrons", una de las obras más influyentes en la disciplina y de la que hablaremos más adelante; y en fin, sus aportaciones al campo son inmensas: semántica computacional, percepción y aprendizaje mecánico, ingeniería del conocimiento… Su último libro "La máquina de las emociones" fue hace poco editada en español por Debate. Recomiendo leerla, es una obra muy curiosa.

Nathaniel Rochester, quien trabajó para la IBM toda su vida, escribió el primer ensamblador, diseñó la IBM 701 (en la que simuló redes neuronales artificiales), ayudó a McCarthy a desarrollar LISP, diseñó radares y supervisó un montón de importantes proyectos en IA para la IBM. Sus aportaciones a la disciplina son, igual que en los anteriores, casi incontables.

Y luego están los seis alumnos asistentes a las conferencias: Ray Solomonoff (otro genio), Oliver Selfridge, Trenchard More, Arthur Samuel, Herbert A. Simon, y Allen Newell (sobre todo, estos dos últimos, de los que hablaremos enseguida). Todos hicieron grandes aportaciones a la disciplina, pero ya no os quiero aburrir más con biografías intelectuales.

Es muy curioso, a la par que injusto, que cuando a la gente le preguntan por los grandes genios del siglo XX, suelen hablar de grandes físicos como Einstein, Bohr, Heisenberg, Feynman… pero nadie suele conocer a los grandes pioneros de la IA. Espero que el tiempo y la posteridad les hagan justicia. Hay un libro maravilloso: "Máquinas que piensan" de Pamela McCorduck (difícil de encontrar en castellano) donde se cuenta la apasionantemente historia de esta gente.

Dos grandes hitos: GPS y SHRLDU. El programa simbólico

Turing Machine Model Davey 2012 Recreación de la maquina de Turing

Si nos tenemos que remontar algo más en el tiempo en la historia de la IA, tenemos que irnos a la figura de Alan Turing. No vamos a contar aquí sus grandes aportaciones a la materia (que me lío y no terminamos nunca), sino que solo nos vamos a centrar en un concepto fundamental: la máquina de Turing.

Es algo relativamente sencillo: una cinta de papel dividida en celdas que pueden tener impreso un símbolo cada una; una “cabeza lectora” que puede leer lo que pone en la cinta, y escribir y borrar en ella; y un programa, es decir, el conjunto de instrucciones sobre qué hacer en la cinta. Sencillo, ¿no? Pues esta simplona máquina es capaz de realizar, según la hipótesis Church-Turing, cualquier operación computable.

El ordenador desde el que ahora mismo estás leyendo es una máquina universal de Turing, lo mismo que hemos descrito pero mucho más complejo. Turing había inventado un ordenador primitivo que sería la base de todos los demás ordenadores.

Entonces, ya teníamos una máquina que podía realizar cualquier cálculo pensable. Si aceptamos, que el pensamiento puede reducirse a lógica y la lógica es, a fin de cuentas, matemáticas, podríamos tener máquinas que pudieran pensar. Y así comenzó todo: había que diseñar programas que realizan conductas que todos consideraríamos como inteligentes.

Turing había inventado un ordenador primitivo que sería la base de todos los demás ordenadores.

Vamos a ver dos de los programas pioneros en este ámbito que fueron dos hitos en la historia de la IA y que, además, representan muy bien su futura problemática: GPS y SHRLDU.

En 1957 (un año después de Dartmouth, donde ya lo presentaron), Newell y Simon (junto con Shaw) construyeron General Problem Solver (GPS), un programa diseñado para solucionar problemas de carácter general. Hasta el momento ya se habían construido magníficos programas para propósitos específicos (una calculadora de bolsillo, por ejemplo, es un muy eficaz programa para resolver cálculos, pero no hace otra cosa).

El reto consistía ahora en hacer un programa que pudiera enfrentarse a una cantidad indefinida de problemas y solucionarlos. A fin de cuentas, si queremos simular la mente humana, ésta soluciona un montón de problemas de muy diversa índole, por lo que habrá que diseñar programas de propósito general.

Implementado en IPL, el GPS era capaz de resolver problemas sencillos siempre que se le presentaran suficientemente formalizados. Por ejemplo, resolvía muy bien el problema de las torres de Hanói. Además, su forma de actuar era muy nueva e ingeniosa: se le indicaba un objetivo y él establecía la diferencia entre su estado actual y el objetivo a cumplir.

Se ponía a realizar tareas heurísticas (sub-objetivos), para luego comprobar si éstas le habían acercado al objetivo final. Si no era así volvía a empezar, y así sucesivamente. Si queréis una explicación muy sencilla aunque algo más desarrollada del funcionamiento de GPS, la escribí hace ya tiempo aquí.

La gran limitación de este prodigio de la informática es que podía resolver cualquier cosa, siempre y cuando le diésemos previamente un montón de información muy precisa acerca de las características de los objetos inmiscuidos en el problema y las operaciones que podían hacerse con ellos. Resultaba muy decepcionante que GPS no fuera ni remotamente capaz de enfrentarse a ningún problema del mundo real por sí solo. Ahora veremos por qué.

379993291 758dd7c2c6 Z Terry Winograd, creador del programa SHRDLU

El segundo gran hito de la IA que analizaremos es SHRDLU de Terry Winograd. Mucho más avanzado que GPS, fue desarrollado en los últimos años de la década de los 60. Estaba diseñado para comprender el lenguaje natural. Era otro de los grandes retos de la IA.

Muchos predijeron que desde hace ya bastantes años, dispondríamos de traductores simultáneos o, en general de programas con los que podríamos conversar alegremente de cualquier tema. De hecho, Turing sostuvo que, si a la hora de mantener una conversación escrita a través de la terminal de un ordenador, no podíamos distinguir si hablábamos con una máquina o con un ser humano, esa sería una prueba inequívoca de que esa máquina piensa. Es el famosísimo Test de Turing. Sin embargo, se equivocaban.

Todos los años se celebra el Premio Loebner (actualmente en la Universidad de Reading) en donde se premia al programa que sea capaz de superar el Test de Turing. Se considera que la prueba se ha superado si el programa consigue engañar al menos a un 30% de los interlocutores con los que conversa.

Desgraciadamente el test aún no se ha conseguido pasar. Tuvimos un espejismo en el 2014, cuando un programa llamado Eugene Goostman, consiguió engañar a un 33% de los interlocutores. Sin embargo, hay demasiados puntos oscuros en la prueba para aceptar el resultado.

Pues bien, a SHRDLU se le implementó un pequeño mundo de formas geométricas (small block world), un entorno tridimensional en el que existían cubos, pirámides, esferas, etc. sobre el cual se le podían dar instrucciones como, por ejemplo, “Coge el cono y ponlo entre el cubo y la pirámide”. SHRDLU realizaba la acción propuesta y te preguntaba si tenía algún problema. Después podías preguntarle sobre el historial de sus acciones y la justificación de su conducta.

El caso es que SHRDLU presentaba una notable comprensión del lenguaje que utilizaba. Aquí transcribo una de las conversaciones que tuvo con su programador, extraída de otra obra que recomiendo muchísimo: "Inteligencia Artificial" de Jack Copeland. En cursiva las palabras de SHRDLU.

¿Puede una pirámide sostener otra pirámide?
No lo sé.

Apila dos pirámides
(SHRDLU lo intenta y fracasa). No puedo.

La pirámide azul es mía.
Entiendo.

Yo poseo los bloques que no son rojos pero no poseo nada que sostenga una pirámide.
Entiendo.

¿Poseo la caja?
No

¿Poseo algo que esté dentro de la caja?
Sí, dos cosas: el bloque azul y la pirámide azul.

¿Hay algo que sea mayor que cualquier pirámide que no sea tan ancho como la cosa que lo sostiene?
Sí, el bloque azul.

¿Sostiene algo verde la cosa más corta que sostiene el soporte de la pirámide más alta?
Sí, la pirámide verde.

¿De qué color es?
Supongo que te refieres a la cosa más corta que sostiene el soporte de la pirámide más alta. Rojo.

Una torre.
Lo siento, no conozco la palabra torre.

Una “torre” es un apilamiento que contiene dos cubos verdes y una pirámide.
Entiendo.

¿Hay alguna torre ahora?
No.

¿Puedes apilar, por favor, los dos bloques rojos y un cubo verde o una pirámide?
De acuerdo (SHRDLU hace lo que le ordenan).
[…]

¿Has tocado alguna pirámide antes de poner una sobre el bloque verde?
Sí, la verde.

¿Cuándo la cogiste?
Cuando estaba apilando un cubo rojo, un cubo verde grande y un bloque rojo grande.

¿Por qué?
Para quitarla.

¿Por qué hiciste eso?
Para despejar el cubo rojo.
[…]

¿Por qué hiciste eso?
Porque me lo pediste tú.

La conversación tiene algo de hipnótica y fascinante. Estamos ante una de las primeras veces que un hombre se comunica con una máquina mediante lenguaje natural de modo totalmente coherente.

Sin embargo, las ambiciones que se ocultaban tras GPS y SHRDLU fueron, rápidamente truncadas. Se diseñaron como el comienzo de algo grandioso. Winograd pensaba que la única dificultad para que su programa consiguiera manejar plenamente la totalidad del lenguaje natural era ir progresivamente agrandando su mundo.

Sencillamente habría que ir añadiendo objetos y propiedades a su, inicialmente pequeño universo, para que, poco a poco, SHRDLU consiguiera poder conversar sobre cualquier cosa. Ingenuo error. Pronto se topó con uno de los grandes problemas de la IA, todavía no superado en la actualidad: el problema del sentido común.

Artificial Intelligence 503592 1280

Vamos a verlo. Supongamos que llevamos a una versión muy avanzada de SHRDLU a cenar a un restaurante con un amigo llamado Fred. Esta nueva versión dispone de un potente diccionario con todas las definiciones de la lengua española y una gramática para comprender y construir cualquier tipo de oración. Cuando estamos allí, refiriéndome a otro día que vine con Fred al mismo restaurante, le digo a SHRDLU:

“Fred le dijo al camarero que él quería patatas fritas a la inglesa”

Parece una frase trivial que todos nosotros entendemos sin el más mínimo problema. Pero, si la analizamos profundamente, vemos que hace falta saber muchas cosas para entenderla.

La palabra él se refiere a Fred, y no al camarero. Eso sucedía en un restaurante. Fred era un cliente que estaba cenando allí. Fred y el camarero se encontraban más o menos a un metro de distancia. El camarero trabajaba allí y en aquel momento estaba atendiendo a Fred.

Fred quiere patatas en rodajas finas, no en tiras. Fred no desea unas patatas determinadas, sino solo un tipo determinado de patatas.Fred indica esto mediante las palabras habladas que dirige al camarero. Tanto Fred como el camarero son seres humanos. Ambos hablan el mismo idioma. Ambos tienen edad suficiente para poder expresarse, y el camarero tiene edad suficiente para trabajar.Fred tiene hambre. Desea y espera que en unos minutos el camarero le traiga una ración normal, que Fred empezará a comer en cuanto le sirvan.

Asimismo podemos suponer que Fred supone que el camarero también supone todas esas cosas. Si SHRDLU no conoce esta información, será imposible que comprenda la frase. Únicamente conociendo los significados de las palabras y la gramática no es suficiente. Y es que el lenguaje que los humanos utilizamos convencionalmente está plagado de elementos extralingüísticos (gestos, entonaciones, conocimiento previo de intenciones…) así como otros netamente contextuales.

No es lo mismo decir “fuego” entre una maraña de humo en un bosque, que decirlo mirando a una persona mientras tenemos un cigarro en la boca. A todos estos aspectos incontrolables para SHRDLU se los ha denominado de diversas formas: conocimiento implícito, sentido común o, simplemente, contexto. Resulta paradójico que las computadoras sean capaces de resolver complejos teoremas matemáticos o nos machaquen jugando al ajedrez pero que, sin embargo, no sean capaces de entender una sencillísima frase.

Son endiabladamente inteligentes para muchas cosas pero carecen de algo que hasta el humano más estúpido tiene en alguna medida: sentido común.

El ejemplo de Fred en el restaurante no es mío, sino de Douglas Lenat, presidente de Cycorp y el jefe de uno de los proyectos que pretenden solucionar este problema: el CYC. Lenat piensa que la clave está en dotar a las computadoras de todo este conocimiento implícito que constituye el sentido común.

Las máquinas son endiabladamente inteligentes para muchas cosas pero carecen de algo que hasta el humano más estúpido tiene en alguna medida: sentido común.

Traduciendo a reglas cualquier aspecto del mundo, Lenat sostiene que el sentido común (o “realidad de consenso” como él lo llama) consiste en saber, aproximadamente, unas cien millones de reglas. Serían normas del tipo “los objetos sólidos no pueden ser penetrados por otros objetos sólidos” o “el agua genera humedad”.

El equipo de Lenat lleva desde 1984 introduciéndolas en ordenadores con todavía poco éxito, y es que él mismo confiesa que es un grandioso trabajo que llevará décadas hasta su finalización. A mí me parece que es hacer las cosas demasiado a lo bruto. A lo mejor existen caminos menos laboriosos.

Pasando al programa conexionista

Binary 503589 1280

Hasta ahora, lo que hemos visto es el programa de investigación simbólico, el cual intentaba (y todavía intenta) crear una mente artificial de arriba-abajo. Los ingenieros simbólicos pensaban que la clave estaría en crear un software definitivo, un programa maravilloso que llegara a ser el equivalente a una mente. Por lo que hemos visto fracasaron estrepitosamente o, como mínimo, todavía no han conseguido casi nada que lo prometían.

Y es que también, uno de los grandes problemas de la IA como disciplina técnica o científica es que sus promesas, casi siempre, han estado muy por encima de lo que han conseguido.

Entonces, muchos decidieron pasarse al programa de investigación conexionista, el cual pretende hacer el camino inverso: ir de abajo-arriba. Vamos a comenzar por comprender bien los componentes físicos de la mente (cerebro y sistema nervioso en general) y vamos a ir, poco a poco, o bien construyéndolos físicamente o bien simulándolos por ordenador. La idea es ir escalando hasta que la mente termine por aparecer en algún momento. A mi juicio, este es el camino correcto, si bien todavía está muy lejos de llegar a algo grande.

Empecemos. Lo más básico que sabemos del cerebro es que está formado por neuronas interconectadas ¿cómo funciona una neurona? Pues, según lo poco que sabemos, se activa lanzando potenciales de acción a sus neuronas vecinas según es estimulada. No parece algo muy complicado y ya McCulloch y Pitts habían propuesto en 1943 el primer modelo matemático moderno de neurona. Unos años más tarde, en 1958, Franck Rosemblatt desarrolló un nuevo modelo de neurona, el perceptrón (el nombre mola, parece el de un transformer malo). Su estructura era la siguiente:

Perceptron

La neurona recibe inputs (x) y cada input tiene un valor o peso (w). Cada vez que se recibe un input, su peso correspondiente se va sumando hasta que supera un determinado umbral. Cuando el umbral es superado la neurona dispara un output por su axón (s). Lo interesante del perceptrón es que era capaz de aprender ¿Cómo? Podían modificarse los pesos de sus inputs en función de si daba la respuesta correcta o no a un determinado problema ¡Neuronas que aprendían! Era algo magnífico y el entusiasmo y las expectativas se dispararon, aún más cuando dos años más tarde, Bernie Widrow y Ted Hoff desarrollaron ADALINE, un modelo que aprendía mucho mejor que el perceptrón, siguiendo la regla de aprendizaje Delta (ADALINE tenía en cuenta la diferencia entre la solución deseada y la obtenida, corrigiendo sus pesos en función de ello).

Pero aquí llegó el gran batacazo: en 1969, Marvin Minsky y Seyomur Papert publicaron "Perceptrons", en donde analizaban en profundidad las posibilidades y limitaciones de estas redes neuronales. Parecían llegar a la conclusión que ni el perceptrón ni ADALINE eran capaces de realizar la función lógica XOR (también conocida como disyunción exclusiva). Estas prometedoras neuronas no eran capaces de aprender todas las posibles combinaciones entre entradas y salidas, lo cual parecía limitarlas muchísimo. Realmente, no era para tanto. Enseguida se demostró que con ciertos cambios, el problema se solucionaba: añadiendo capas intermedias y un nuevo sistema de aprendizaje: el mecanismo de propagación hacia atrás.

Pero el caso es que Marvin Minsky tenía una grandísima influencia y, quizá por temor llevarle la contraria, los trabajos en modelización de redes neuronales cesaron de golpe, provocando la total parálisis de esta vía de investigación durante los años 70. Fue el llamado primer largo invierno de la IA.

A pesar de todo, hubo un nuevo renacer a mediados de los 80 cuando se propusieron nuevos modelos de redes: las redes Hopfield, de Boltzmann o los mapas autoorganizados de Kohonen. Todos ellos tienen sus virtudes y sus limitaciones, aunque han demostrado tener bastantes aplicaciones tecnológicas y todavía pueden dar mucho de sí en un panorama aún prometedor.

Neurons 440660 1280

El caso es que, con respecto al proyecto de crear una mente, las neuronas artificiales tienen el problema de que, o bien no son modelos fieles a una neurona porque han sido diseñadas para otras cosas, o bien solo son un modelo muy simplificado de una neurona. Las neuronas reales no solo lanzan impulsos eléctricos en función de pesos, sino que también realizan una compleja gama de interacciones químicas que han sido totalmente pasadas por alto en estos modelos.

El trabajo reside ahora en intentar entender mejor cómo funciona nuestro sistema nervioso, campo de investigación en el que, a pesar de los últimos avances, va todavía muy despacito.

Aprendiendo de los expertos

Si las máquinas de propósito general no habían sido fructíferas todavía quedaba otro camino que ya llevaba tiempo demostrando sus frutos: las de propósito específico. Nuestro mundo se está llenando cada vez más de artefactos que nos asisten espléndidamente en un montón de tareas concretas. El ejemplo paradigmático es el ordenador personal, una máquina que vale para infinidad de cosas y que ha sido una total revolución en nuestras sociedades.

Entonces se pensó en diseñar sistemas expertos, que no es más que hacer una máquina altamente especializada en hacer algo, de tal modo que su maestría sea equiparable al de un experto en la materia. Para programarlos se consultaba a tales expertos, se les introducía todo el conocimiento especializado en su materia, luego se les implementaba un motor de inferencia para que sacaran conclusiones a partir de los datos, y, por último, se les dotaba de un módulo de justificación para que explicaran el porqué de sus conclusiones.

Así, se fabricaron varios: Dendral (experto en química), Mycin (experto en diagnósticos de enfermedades sanguíneas) o XCon (experto en producción industrial). Y, la verdad es que funcionaron bastante bien en muchos casos, pero tenían problemas muy graves: eran muy costosos de mantener, fallaban estrepitosamente ante datos inusuales, no eran capaces de manejar conocimiento poco estructurado, era muy complicado hacer que aprendieran, y, en general, seguían careciendo de sentido común (algo no solo necesario para ir a un restaurante, sino por lo visto, también para afrontar tareas específicas) y no podían simular aspectos no formalizables de la conducta de un experto.

Por ejemplo, un especialista humano opera, muchas veces, guiado únicamente por su intuición ¿Cómo diablos implementamos en un ordenador la intuición?

A principios de los 90, la mayoría de las empresas dedicadas a diseñar sistemas expertos buscaron nuevos mercados y nuevos paradigmas de software. Otro nuevo invierno de la IA.

Construyendo bichejos

Bacteria 359956 1280

Una floreciente vía de investigación en los últimos tiempos es la llamada IA bioinspirada: aprender de los seres vivos. Se crean entornos virtuales en los que se sitúan “organismos” con distintas características para ver cómo evolucionan. La gran idea está en lo que se denomina algoritmo genético o evolutivo. Se propone un objetivo y se ponen a infinidad de “bichos” a intentar conseguirlo.

Luego se introduce en cada uno de ellos una variación aleatoria (una mutación). A los que la variación no les mejore para conseguir el objetivo o, incluso, les perjudique, se eliminan. Los que mejoren siguen y se les introduce una nueva mutación aleatoria. Así, tras muchas generaciones, obtendremos seres altamente especializados en lo que queremos obtener. Todo consiste en copiar la selección natural darwiniana, pero acelerarla tanto como nos permiten hoy nuestros computadores.

Las aplicaciones de los algoritmos genéticos van mucho más allá de formas de vida artificial. Un caso muy significativo ocurrió en 2006 cuando la NASA lanzó al espacio tres microsatélites. Para esta misión en concreto había un gran problema con las comunicaciones, ya que la naturaleza de los campos electromagnéticos implicados en ellas, hacían muy difícil el diseño de antenas para los satélites.

Después de probar varios diseños fallidos, los ingenieros de la NASA recurrieron a un algoritmo evolutivo. Diseñaron un programa que iba generando diseños de antenas de modo aleatorio. Las que mejor funcionaban, dados los problemas antes mencionados, se iban seleccionando y las que no se desechaban. Después de muchas generaciones de antenas, la vencedora fue la de la imagen. Un curioso espantajo que jamás se le hubiera ocurrido a ningún ingeniero humano.

Lohnevolved Antenna

Quizá el programa más paradigmático en este campo sea Animat, presentado por Stewart W. Wilson en su artículo “Knowledge Growth in an Aritificial Animal” de 1985. Animat es un autómata celular, es decir, es un asterisco que “vive” en una malla cuadriculada. La malla representa su entorno, su ecosistema. En ella podemos introducir todo lo que queramos, si bien, en un principio solo se introdujeron dos elementos: comida y obstáculos.

En los primeros experimentos Animat tenía que obtener comida moviéndose y evitando los obstáculos. Cada movimiento que hacía gastaba su “energía” por lo que le era urgente conseguir la máxima comida posible moviéndose lo menos posible. Progresivamente, se fueron ensayando en él un montón de interesantes posibilidades: se le dotó de percepción (al principio, era solo capaz de saber lo que había en las ochos casillas que lo rodeaban) y de múltiples estrategias inteligentes para lograr sus objetivos.

Se implementó memoria, aprendizaje de diversos tipos (por refuerzo, por inducción, mediante sistemas de clasificadores o por algoritmos genéticos) e incluso se llegaron a ensayar modelos de proto-conciencia en él. En cualquier caso, Animat es un interesantísimo proyecto que puede servirnos para conocer mucho mejor el funcionamiento de los seres vivos en su entorno.

Otro tema que se ha movido mucho en la IA bioinspirada es la llamada inteligencia colectiva o de enjambre. Con las hormigas como referente natural, la idea consiste no ya tanto en diseñar un único organismo inteligente, sino en hacer muchos, digamos “tontos”, pero que, operando en conjunto y colaborando, son capaces de una conducta muy inteligente. Si lo pensamos bien, es lo que ocurre en el cuerpo humano. Nuestras células, por sí solas, no parecen demasiado inteligentes, pero todas ellas trabajando en equipo producen cosas tan sensacionales como que puedas estar leyendo este artículo ahora mismo.

El reto de esta forma de programación es que el funcionamiento de un sistema así no está jerarquizado, es decir, no hay un módulo maestro que diga a los demás lo que tienen que hacer. Hay que programar a cada “pequeño idiota”, para que cooperando con otros muchos iguales, hagan algo inteligente. Es complicado.

Se han ensayado ya un buen número de algoritmos llamados de optimización, basándose en este principio que van siendo utilizados con cierto éxito en problemas de tráfico aéreo o de telecomunicaciones.

En el presente y más allá

Cortanahero Copy

Tanto por la importancia cultural de la sci-fi, como por tener esforzados defensores como Ray Kurzweil, Hans Moravec o Rodney Brooks, el entusiasmo hacia las posibilidades de la IA sigue siendo bastante alto. Otros, sin embargo, afirman que la IA no ha salido todavía de su casi eterno invierno.

El caso es que si nos alejamos de las ensoñaciones más futuristas, los, digamos, logros intermedios de la IA han sido bastante notables. La lógica difusa, desarrollada en 1960 por Lofti Zadeh, ha resultado muy exitosa al aplicarse a la AI y ya tiene muchas aplicaciones industriales: lavadoras que regulan el uso de agua de modo supereconómico, máquinas de fotos que enfocan de forma muy inteligente o cajas de cambios automáticas (el Audi TT de 2006 ya utilizaba fuzzy logic).

Luego están todas las estrategias heurísticas desarrolladas por la IA y que, en Internet, un mundo repleto de ingentes cantidades de información, son tremendamente útiles. El mismo motor de búsqueda de Google es un ejemplo de IA. En todo lo que sea búsqueda y análisis de datos (data minning), la IA está resultado muy útil y tiene un prometedor futuro.

También han mejorado muchísimo los sistemas de traducción automática y reconocimiento de voz. Los usuarios podemos disfrutar de órdenes de voz en la mayoría de nuestros dispositivos y la verdad es que van funcionando cada vez mejor. El mismo traductor de idiomas de Google, con todos sus errores, es una herramienta muy válida.

El mismo motor de búsqueda de Google es un ejemplo de IA. En todo lo que sea búsqueda y análisis de datos (data minning), la IA está resultado muy útil y tiene un prometedor futuro.

En general, la mayoría de las empresas de IA se han centrado en proyectos más realistas y rentables. Hay que tener en cuenta que la Inteligencia Artificial, aparte de una ciencia o una tecnología es, ante todo, una industria. Esos costosos sistemas expertos de los años setenta se han redireccionado hacia las demandas de unos usuarios que quieren máquinas que les faciliten más su vida.

Así, los sistemas expertos se han ido haciendo expertos, precisamente, en ti. De este modo, los iPhone traen consigo a Siri, todavía algo rudimentaria y Windows 10 trae a Cortana, algo más avanzada. Son asistentes virtuales especializados en servirte y cuya IA reside en aprender más y más sobre tus gustos y costumbres.

Diseñar esclavos virtuales parece otra rama prometedora de la IA. Pero, desagraciadamente, en lo que respecta a fabricar una mente artificial similar o superior a la humana, las cosas siguen bastante glaciares. Aunque se han dado ciertos avances, no se ha solucionado el problema del sentido común y las computadoras siguen sin poder enfrentarse a entornos poco formalizados. Hemos descubierto que la inteligencia no se reduce a mero cálculo (en lo cual las máquinas son las campeonas), sino que hay muchos tipos de inteligencias muy interconectadas: hay inteligencia social, emocional, creativa… ¿Cómo implementar en una máquina algo parecido a una emoción? No hay ingeniero en el mundo que tenga la más remota idea de cómo hacerlo.

Podemos simular conducta emocional, pero de hacer que un ordenador sienta realmente dolor o pena, cero patatero. Y ya ni hablar de consciencia, de que una máquina se dé cuenta realmente de lo que hace. A pesar de que en los últimos tiempos hay bastante literatura al respecto, nada de nada.

Lo siento amigos, tendremos que esperar muchos, muchos años para poder jugar al ajedrez con HAL 9000, mientras hablamos con él del sentido de la vida. Algunos dicen que en la IA está a punto de llegar una nueva primavera. Ojalá sea cierto.

SantiagoSobre Santiago Sánchez-Migallón Profesor de Filosofía atrapado en un bucle: construir una mente artificial, a la vez que construye la suya propia. Fracasó en ambos proyectos, pero como el bucle está programado para detenerse solo cuando dé un resultado positivo, allí sigue, iteración tras iteración. Quizá no llegue a ningún lado, pero dice que el camino está siendo fascinante. Darwinista, laplaciano y criptoateo, se especializó en Filosofía de la Inteligencia Artificial, neurociencias y Filosofía de la Biología. Es por ello que algunos lo caracterizan de filósofo ciberpunk, aunque esa etiqueta le parece algo infantil. Adora a Turing y a Wittgenstein y, en general, detesta a los postmodernos. Es el dueño del Blog La Máquina de Von Neumann y colabora asiduamente en Hypérbole y en La Nueva Ilustración Evolucionista.

Foto | Lisa Padilla
En Xataka | Antes de hablar de inteligencia artificial... ¿qué es la inteligencia?

También te recomendamos

Centro de innovación BBVA

Con Marta Martínez, presidenta IBM España sobre robots, IA, trabajo y el mercado cloud y del internet de las cosas

Este robot parecido a un niño se comporta como un niño y está listo para ser su profesor

-
La noticia El gran debate sobre si será posible o no una inteligencia artificial fue publicada originalmente en Xataka por Santiago Sánchez-Migallón .











Agradecemos a Santiago Sánchez-Migallón
Fuente: http://bit.ly/1a8SV6e

No hay comentarios.:

lunes, 17 de agosto de 2015

El gran debate sobre si será posible o no una inteligencia artificial

Robot 507811 1280 1

Hanover es una pequeña población situada en New Hampshire, muy a noreste de los Estados Unidos. Es un sitio muy bonito, plagado de bosques, lagos y montañas nevadas. A pesar de su pequeño tamaño tiene una universidad, el Dartmouth College, una de las más antiguas del país (fundada en 1769) y, según dicen ellos, una de las más prestigiosas y exclusivas del mundo. El caso es que, a pesar de esa fama, nada hacía presagiar lo que allí ocurriría durante el verano de 1956.

Hay momentos y lugares impredecibles en la historia, en los que, no sabemos si porque los planetas se alinean o porque los dioses así lo ordenan, se reúne un grupo de genios para dar un giro radical a la historia de la humanidad. Y eso es lo que ocurrió en las míticas conferencias de Dartmouth.

El plan era sencillo: diez investigadores pasarían dos meses debatiendo y compartiendo ideas sobre una cosa que se llamaba “Inteligencia Artificial”, expresión que fue acuñada por el organizador, John McCarthy, y que allí aparece por primera vez. El tema principal de las conferencias era cómo desarrollar computadoras que pudieran simular la mente humana, y como temas secundarios estaba hablar de programación, automatización, capacidad de cómputo, redes neuronales, self-improvement, aleatoriedad y creatividad… Es decir, allí se postularon todos y cada uno de los grandes temas que iban a desarrollarse a lo largo de los siguientes sesenta años.

Por decirlo en término de Laudan, allí acababa de nacer una de las tradiciones de investigación más importantes y apasionantes de nuestra época.

6277562593 517f25ef2f Z John McCarthy, creador del lenguaje de programación LISP

Y es que ya, si miramos quiénes eran los organizadores, el asunto era cosa de titanes. El organizador, John McCarthy será el creador del lenguaje de programación LISP (el más antiguo lenguaje de alto nivel después de Fortran), cofundador del laboratorio de inteligencia artificial del MIT y de la Universidad de Stanford, Premio Alan Turing en 1971… Por contar alguna anécdota, estuvo casado tres veces, siendo una de sus mujeres Vera Watson, programadora de la IBM y la primera mujer en escalar en solitario el Aconcagua, desgraciadamente fallecida en 1978 ascendiendo el Annapurna. Un genio con una vida apasionante.

Claude E. Shannon, que por aquel entonces trabajaba para la Bell Telephone Laboratories, fue el padre de la moderna teoría estadística de la información. Eso que nos enseñaban en clases de lengua de emisor, receptor, mensaje, código… todo de Shannon (Nótese que su teoría tendrá tanta influencia que llegará a materias tan distantes de la informática con la lingüística). Aparte, Shannon fue pionero en relacionar al álgebra booleana con circuitos eléctricos, mostrando que configuraciones de conmutadores podían realizar operaciones lógicas. También ideó máquinas que jugaban al ajedrez, fue un criptoanalista (como Turing, con quien parece ser que al menos tomó un té), trabajó en sistemas de control de disparo (como Von Neumann), diseñó la computadora digital Minivac 601, e incluso inventó extraños cachivaches como un fresbee a reacción o un pogo stick motorizado…

Marvin Minsky, que por aquel entonces solo tenía 29 años (es el único de los organizadores que sigue aún vivo) creó en 1951 SNARC (el primer simulador de redes neuronales), escribió, junto con Seymour Papert, el libro "Perceptrons", una de las obras más influyentes en la disciplina y de la que hablaremos más adelante; y en fin, sus aportaciones al campo son inmensas: semántica computacional, percepción y aprendizaje mecánico, ingeniería del conocimiento… Su último libro "La máquina de las emociones" fue hace poco editada en español por Debate. Recomiendo leerla, es una obra muy curiosa.

Nathaniel Rochester, quien trabajó para la IBM toda su vida, escribió el primer ensamblador, diseñó la IBM 701 (en la que simuló redes neuronales artificiales), ayudó a McCarthy a desarrollar LISP, diseñó radares y supervisó un montón de importantes proyectos en IA para la IBM. Sus aportaciones a la disciplina son, igual que en los anteriores, casi incontables.

Y luego están los seis alumnos asistentes a las conferencias: Ray Solomonoff (otro genio), Oliver Selfridge, Trenchard More, Arthur Samuel, Herbert A. Simon, y Allen Newell (sobre todo, estos dos últimos, de los que hablaremos enseguida). Todos hicieron grandes aportaciones a la disciplina, pero ya no os quiero aburrir más con biografías intelectuales.

Es muy curioso, a la par que injusto, que cuando a la gente le preguntan por los grandes genios del siglo XX, suelen hablar de grandes físicos como Einstein, Bohr, Heisenberg, Feynman… pero nadie suele conocer a los grandes pioneros de la IA. Espero que el tiempo y la posteridad les hagan justicia. Hay un libro maravilloso: "Máquinas que piensan" de Pamela McCorduck (difícil de encontrar en castellano) donde se cuenta la apasionantemente historia de esta gente.

Dos grandes hitos: GPS y SHRLDU. El programa simbólico

Turing Machine Model Davey 2012 Recreación de la maquina de Turing

Si nos tenemos que remontar algo más en el tiempo en la historia de la IA, tenemos que irnos a la figura de Alan Turing. No vamos a contar aquí sus grandes aportaciones a la materia (que me lío y no terminamos nunca), sino que solo nos vamos a centrar en un concepto fundamental: la máquina de Turing.

Es algo relativamente sencillo: una cinta de papel dividida en celdas que pueden tener impreso un símbolo cada una; una “cabeza lectora” que puede leer lo que pone en la cinta, y escribir y borrar en ella; y un programa, es decir, el conjunto de instrucciones sobre qué hacer en la cinta. Sencillo, ¿no? Pues esta simplona máquina es capaz de realizar, según la hipótesis Church-Turing, cualquier operación computable.

El ordenador desde el que ahora mismo estás leyendo es una máquina universal de Turing, lo mismo que hemos descrito pero mucho más complejo. Turing había inventado un ordenador primitivo que sería la base de todos los demás ordenadores.

Entonces, ya teníamos una máquina que podía realizar cualquier cálculo pensable. Si aceptamos, que el pensamiento puede reducirse a lógica y la lógica es, a fin de cuentas, matemáticas, podríamos tener máquinas que pudieran pensar. Y así comenzó todo: había que diseñar programas que realizan conductas que todos consideraríamos como inteligentes.

Turing había inventado un ordenador primitivo que sería la base de todos los demás ordenadores.

Vamos a ver dos de los programas pioneros en este ámbito que fueron dos hitos en la historia de la IA y que, además, representan muy bien su futura problemática: GPS y SHRLDU.

En 1957 (un año después de Dartmouth, donde ya lo presentaron), Newell y Simon (junto con Shaw) construyeron General Problem Solver (GPS), un programa diseñado para solucionar problemas de carácter general. Hasta el momento ya se habían construido magníficos programas para propósitos específicos (una calculadora de bolsillo, por ejemplo, es un muy eficaz programa para resolver cálculos, pero no hace otra cosa).

El reto consistía ahora en hacer un programa que pudiera enfrentarse a una cantidad indefinida de problemas y solucionarlos. A fin de cuentas, si queremos simular la mente humana, ésta soluciona un montón de problemas de muy diversa índole, por lo que habrá que diseñar programas de propósito general.

Implementado en IPL, el GPS era capaz de resolver problemas sencillos siempre que se le presentaran suficientemente formalizados. Por ejemplo, resolvía muy bien el problema de las torres de Hanói. Además, su forma de actuar era muy nueva e ingeniosa: se le indicaba un objetivo y él establecía la diferencia entre su estado actual y el objetivo a cumplir.

Se ponía a realizar tareas heurísticas (sub-objetivos), para luego comprobar si éstas le habían acercado al objetivo final. Si no era así volvía a empezar, y así sucesivamente. Si queréis una explicación muy sencilla aunque algo más desarrollada del funcionamiento de GPS, la escribí hace ya tiempo aquí.

La gran limitación de este prodigio de la informática es que podía resolver cualquier cosa, siempre y cuando le diésemos previamente un montón de información muy precisa acerca de las características de los objetos inmiscuidos en el problema y las operaciones que podían hacerse con ellos. Resultaba muy decepcionante que GPS no fuera ni remotamente capaz de enfrentarse a ningún problema del mundo real por sí solo. Ahora veremos por qué.

379993291 758dd7c2c6 Z Terry Winograd, creador del programa SHRDLU

El segundo gran hito de la IA que analizaremos es SHRDLU de Terry Winograd. Mucho más avanzado que GPS, fue desarrollado en los últimos años de la década de los 60. Estaba diseñado para comprender el lenguaje natural. Era otro de los grandes retos de la IA.

Muchos predijeron que desde hace ya bastantes años, dispondríamos de traductores simultáneos o, en general de programas con los que podríamos conversar alegremente de cualquier tema. De hecho, Turing sostuvo que, si a la hora de mantener una conversación escrita a través de la terminal de un ordenador, no podíamos distinguir si hablábamos con una máquina o con un ser humano, esa sería una prueba inequívoca de que esa máquina piensa. Es el famosísimo Test de Turing. Sin embargo, se equivocaban.

Todos los años se celebra el Premio Loebner (actualmente en la Universidad de Reading) en donde se premia al programa que sea capaz de superar el Test de Turing. Se considera que la prueba se ha superado si el programa consigue engañar al menos a un 30% de los interlocutores con los que conversa.

Desgraciadamente el test aún no se ha conseguido pasar. Tuvimos un espejismo en el 2014, cuando un programa llamado Eugene Goostman, consiguió engañar a un 33% de los interlocutores. Sin embargo, hay demasiados puntos oscuros en la prueba para aceptar el resultado.

Pues bien, a SHRDLU se le implementó un pequeño mundo de formas geométricas (small block world), un entorno tridimensional en el que existían cubos, pirámides, esferas, etc. sobre el cual se le podían dar instrucciones como, por ejemplo, “Coge el cono y ponlo entre el cubo y la pirámide”. SHRDLU realizaba la acción propuesta y te preguntaba si tenía algún problema. Después podías preguntarle sobre el historial de sus acciones y la justificación de su conducta.

El caso es que SHRDLU presentaba una notable comprensión del lenguaje que utilizaba. Aquí transcribo una de las conversaciones que tuvo con su programador, extraída de otra obra que recomiendo muchísimo: "Inteligencia Artificial" de Jack Copeland. En cursiva las palabras de SHRDLU.

¿Puede una pirámide sostener otra pirámide?
No lo sé.

Apila dos pirámides
(SHRDLU lo intenta y fracasa). No puedo.

La pirámide azul es mía.
Entiendo.

Yo poseo los bloques que no son rojos pero no poseo nada que sostenga una pirámide.
Entiendo.

¿Poseo la caja?
No

¿Poseo algo que esté dentro de la caja?
Sí, dos cosas: el bloque azul y la pirámide azul.

¿Hay algo que sea mayor que cualquier pirámide que no sea tan ancho como la cosa que lo sostiene?
Sí, el bloque azul.

¿Sostiene algo verde la cosa más corta que sostiene el soporte de la pirámide más alta?
Sí, la pirámide verde.

¿De qué color es?
Supongo que te refieres a la cosa más corta que sostiene el soporte de la pirámide más alta. Rojo.

Una torre.
Lo siento, no conozco la palabra torre.

Una “torre” es un apilamiento que contiene dos cubos verdes y una pirámide.
Entiendo.

¿Hay alguna torre ahora?
No.

¿Puedes apilar, por favor, los dos bloques rojos y un cubo verde o una pirámide?
De acuerdo (SHRDLU hace lo que le ordenan).
[…]

¿Has tocado alguna pirámide antes de poner una sobre el bloque verde?
Sí, la verde.

¿Cuándo la cogiste?
Cuando estaba apilando un cubo rojo, un cubo verde grande y un bloque rojo grande.

¿Por qué?
Para quitarla.

¿Por qué hiciste eso?
Para despejar el cubo rojo.
[…]

¿Por qué hiciste eso?
Porque me lo pediste tú.

La conversación tiene algo de hipnótica y fascinante. Estamos ante una de las primeras veces que un hombre se comunica con una máquina mediante lenguaje natural de modo totalmente coherente.

Sin embargo, las ambiciones que se ocultaban tras GPS y SHRDLU fueron, rápidamente truncadas. Se diseñaron como el comienzo de algo grandioso. Winograd pensaba que la única dificultad para que su programa consiguiera manejar plenamente la totalidad del lenguaje natural era ir progresivamente agrandando su mundo.

Sencillamente habría que ir añadiendo objetos y propiedades a su, inicialmente pequeño universo, para que, poco a poco, SHRDLU consiguiera poder conversar sobre cualquier cosa. Ingenuo error. Pronto se topó con uno de los grandes problemas de la IA, todavía no superado en la actualidad: el problema del sentido común.

Artificial Intelligence 503592 1280

Vamos a verlo. Supongamos que llevamos a una versión muy avanzada de SHRDLU a cenar a un restaurante con un amigo llamado Fred. Esta nueva versión dispone de un potente diccionario con todas las definiciones de la lengua española y una gramática para comprender y construir cualquier tipo de oración. Cuando estamos allí, refiriéndome a otro día que vine con Fred al mismo restaurante, le digo a SHRDLU:

“Fred le dijo al camarero que él quería patatas fritas a la inglesa”

Parece una frase trivial que todos nosotros entendemos sin el más mínimo problema. Pero, si la analizamos profundamente, vemos que hace falta saber muchas cosas para entenderla.

La palabra él se refiere a Fred, y no al camarero. Eso sucedía en un restaurante. Fred era un cliente que estaba cenando allí. Fred y el camarero se encontraban más o menos a un metro de distancia. El camarero trabajaba allí y en aquel momento estaba atendiendo a Fred.

Fred quiere patatas en rodajas finas, no en tiras. Fred no desea unas patatas determinadas, sino solo un tipo determinado de patatas.Fred indica esto mediante las palabras habladas que dirige al camarero. Tanto Fred como el camarero son seres humanos. Ambos hablan el mismo idioma. Ambos tienen edad suficiente para poder expresarse, y el camarero tiene edad suficiente para trabajar.Fred tiene hambre. Desea y espera que en unos minutos el camarero le traiga una ración normal, que Fred empezará a comer en cuanto le sirvan.

Asimismo podemos suponer que Fred supone que el camarero también supone todas esas cosas. Si SHRDLU no conoce esta información, será imposible que comprenda la frase. Únicamente conociendo los significados de las palabras y la gramática no es suficiente. Y es que el lenguaje que los humanos utilizamos convencionalmente está plagado de elementos extralingüísticos (gestos, entonaciones, conocimiento previo de intenciones…) así como otros netamente contextuales.

No es lo mismo decir “fuego” entre una maraña de humo en un bosque, que decirlo mirando a una persona mientras tenemos un cigarro en la boca. A todos estos aspectos incontrolables para SHRDLU se los ha denominado de diversas formas: conocimiento implícito, sentido común o, simplemente, contexto. Resulta paradójico que las computadoras sean capaces de resolver complejos teoremas matemáticos o nos machaquen jugando al ajedrez pero que, sin embargo, no sean capaces de entender una sencillísima frase.

Son endiabladamente inteligentes para muchas cosas pero carecen de algo que hasta el humano más estúpido tiene en alguna medida: sentido común.

El ejemplo de Fred en el restaurante no es mío, sino de Douglas Lenat, presidente de Cycorp y el jefe de uno de los proyectos que pretenden solucionar este problema: el CYC. Lenat piensa que la clave está en dotar a las computadoras de todo este conocimiento implícito que constituye el sentido común.

Las máquinas son endiabladamente inteligentes para muchas cosas pero carecen de algo que hasta el humano más estúpido tiene en alguna medida: sentido común.

Traduciendo a reglas cualquier aspecto del mundo, Lenat sostiene que el sentido común (o “realidad de consenso” como él lo llama) consiste en saber, aproximadamente, unas cien millones de reglas. Serían normas del tipo “los objetos sólidos no pueden ser penetrados por otros objetos sólidos” o “el agua genera humedad”.

El equipo de Lenat lleva desde 1984 introduciéndolas en ordenadores con todavía poco éxito, y es que él mismo confiesa que es un grandioso trabajo que llevará décadas hasta su finalización. A mí me parece que es hacer las cosas demasiado a lo bruto. A lo mejor existen caminos menos laboriosos.

Pasando al programa conexionista

Binary 503589 1280

Hasta ahora, lo que hemos visto es el programa de investigación simbólico, el cual intentaba (y todavía intenta) crear una mente artificial de arriba-abajo. Los ingenieros simbólicos pensaban que la clave estaría en crear un software definitivo, un programa maravilloso que llegara a ser el equivalente a una mente. Por lo que hemos visto fracasaron estrepitosamente o, como mínimo, todavía no han conseguido casi nada que lo prometían.

Y es que también, uno de los grandes problemas de la IA como disciplina técnica o científica es que sus promesas, casi siempre, han estado muy por encima de lo que han conseguido.

Entonces, muchos decidieron pasarse al programa de investigación conexionista, el cual pretende hacer el camino inverso: ir de abajo-arriba. Vamos a comenzar por comprender bien los componentes físicos de la mente (cerebro y sistema nervioso en general) y vamos a ir, poco a poco, o bien construyéndolos físicamente o bien simulándolos por ordenador. La idea es ir escalando hasta que la mente termine por aparecer en algún momento. A mi juicio, este es el camino correcto, si bien todavía está muy lejos de llegar a algo grande.

Empecemos. Lo más básico que sabemos del cerebro es que está formado por neuronas interconectadas ¿cómo funciona una neurona? Pues, según lo poco que sabemos, se activa lanzando potenciales de acción a sus neuronas vecinas según es estimulada. No parece algo muy complicado y ya McCulloch y Pitts habían propuesto en 1943 el primer modelo matemático moderno de neurona. Unos años más tarde, en 1958, Franck Rosemblatt desarrolló un nuevo modelo de neurona, el perceptrón (el nombre mola, parece el de un transformer malo). Su estructura era la siguiente:

Perceptron

La neurona recibe inputs (x) y cada input tiene un valor o peso (w). Cada vez que se recibe un input, su peso correspondiente se va sumando hasta que supera un determinado umbral. Cuando el umbral es superado la neurona dispara un output por su axón (s). Lo interesante del perceptrón es que era capaz de aprender ¿Cómo? Podían modificarse los pesos de sus inputs en función de si daba la respuesta correcta o no a un determinado problema ¡Neuronas que aprendían! Era algo magnífico y el entusiasmo y las expectativas se dispararon, aún más cuando dos años más tarde, Bernie Widrow y Ted Hoff desarrollaron ADALINE, un modelo que aprendía mucho mejor que el perceptrón, siguiendo la regla de aprendizaje Delta (ADALINE tenía en cuenta la diferencia entre la solución deseada y la obtenida, corrigiendo sus pesos en función de ello).

Pero aquí llegó el gran batacazo: en 1969, Marvin Minsky y Seyomur Papert publicaron "Perceptrons", en donde analizaban en profundidad las posibilidades y limitaciones de estas redes neuronales. Parecían llegar a la conclusión que ni el perceptrón ni ADALINE eran capaces de realizar la función lógica XOR (también conocida como disyunción exclusiva). Estas prometedoras neuronas no eran capaces de aprender todas las posibles combinaciones entre entradas y salidas, lo cual parecía limitarlas muchísimo. Realmente, no era para tanto. Enseguida se demostró que con ciertos cambios, el problema se solucionaba: añadiendo capas intermedias y un nuevo sistema de aprendizaje: el mecanismo de propagación hacia atrás.

Pero el caso es que Marvin Minsky tenía una grandísima influencia y, quizá por temor llevarle la contraria, los trabajos en modelización de redes neuronales cesaron de golpe, provocando la total parálisis de esta vía de investigación durante los años 70. Fue el llamado primer largo invierno de la IA.

A pesar de todo, hubo un nuevo renacer a mediados de los 80 cuando se propusieron nuevos modelos de redes: las redes Hopfield, de Boltzmann o los mapas autoorganizados de Kohonen. Todos ellos tienen sus virtudes y sus limitaciones, aunque han demostrado tener bastantes aplicaciones tecnológicas y todavía pueden dar mucho de sí en un panorama aún prometedor.

Neurons 440660 1280

El caso es que, con respecto al proyecto de crear una mente, las neuronas artificiales tienen el problema de que, o bien no son modelos fieles a una neurona porque han sido diseñadas para otras cosas, o bien solo son un modelo muy simplificado de una neurona. Las neuronas reales no solo lanzan impulsos eléctricos en función de pesos, sino que también realizan una compleja gama de interacciones químicas que han sido totalmente pasadas por alto en estos modelos.

El trabajo reside ahora en intentar entender mejor cómo funciona nuestro sistema nervioso, campo de investigación en el que, a pesar de los últimos avances, va todavía muy despacito.

Aprendiendo de los expertos

Si las máquinas de propósito general no habían sido fructíferas todavía quedaba otro camino que ya llevaba tiempo demostrando sus frutos: las de propósito específico. Nuestro mundo se está llenando cada vez más de artefactos que nos asisten espléndidamente en un montón de tareas concretas. El ejemplo paradigmático es el ordenador personal, una máquina que vale para infinidad de cosas y que ha sido una total revolución en nuestras sociedades.

Entonces se pensó en diseñar sistemas expertos, que no es más que hacer una máquina altamente especializada en hacer algo, de tal modo que su maestría sea equiparable al de un experto en la materia. Para programarlos se consultaba a tales expertos, se les introducía todo el conocimiento especializado en su materia, luego se les implementaba un motor de inferencia para que sacaran conclusiones a partir de los datos, y, por último, se les dotaba de un módulo de justificación para que explicaran el porqué de sus conclusiones.

Así, se fabricaron varios: Dendral (experto en química), Mycin (experto en diagnósticos de enfermedades sanguíneas) o XCon (experto en producción industrial). Y, la verdad es que funcionaron bastante bien en muchos casos, pero tenían problemas muy graves: eran muy costosos de mantener, fallaban estrepitosamente ante datos inusuales, no eran capaces de manejar conocimiento poco estructurado, era muy complicado hacer que aprendieran, y, en general, seguían careciendo de sentido común (algo no solo necesario para ir a un restaurante, sino por lo visto, también para afrontar tareas específicas) y no podían simular aspectos no formalizables de la conducta de un experto.

Por ejemplo, un especialista humano opera, muchas veces, guiado únicamente por su intuición ¿Cómo diablos implementamos en un ordenador la intuición?

A principios de los 90, la mayoría de las empresas dedicadas a diseñar sistemas expertos buscaron nuevos mercados y nuevos paradigmas de software. Otro nuevo invierno de la IA.

Construyendo bichejos

Bacteria 359956 1280

Una floreciente vía de investigación en los últimos tiempos es la llamada IA bioinspirada: aprender de los seres vivos. Se crean entornos virtuales en los que se sitúan “organismos” con distintas características para ver cómo evolucionan. La gran idea está en lo que se denomina algoritmo genético o evolutivo. Se propone un objetivo y se ponen a infinidad de “bichos” a intentar conseguirlo.

Luego se introduce en cada uno de ellos una variación aleatoria (una mutación). A los que la variación no les mejore para conseguir el objetivo o, incluso, les perjudique, se eliminan. Los que mejoren siguen y se les introduce una nueva mutación aleatoria. Así, tras muchas generaciones, obtendremos seres altamente especializados en lo que queremos obtener. Todo consiste en copiar la selección natural darwiniana, pero acelerarla tanto como nos permiten hoy nuestros computadores.

Las aplicaciones de los algoritmos genéticos van mucho más allá de formas de vida artificial. Un caso muy significativo ocurrió en 2006 cuando la NASA lanzó al espacio tres microsatélites. Para esta misión en concreto había un gran problema con las comunicaciones, ya que la naturaleza de los campos electromagnéticos implicados en ellas, hacían muy difícil el diseño de antenas para los satélites.

Después de probar varios diseños fallidos, los ingenieros de la NASA recurrieron a un algoritmo evolutivo. Diseñaron un programa que iba generando diseños de antenas de modo aleatorio. Las que mejor funcionaban, dados los problemas antes mencionados, se iban seleccionando y las que no se desechaban. Después de muchas generaciones de antenas, la vencedora fue la de la imagen. Un curioso espantajo que jamás se le hubiera ocurrido a ningún ingeniero humano.

Lohnevolved Antenna

Quizá el programa más paradigmático en este campo sea Animat, presentado por Stewart W. Wilson en su artículo “Knowledge Growth in an Aritificial Animal” de 1985. Animat es un autómata celular, es decir, es un asterisco que “vive” en una malla cuadriculada. La malla representa su entorno, su ecosistema. En ella podemos introducir todo lo que queramos, si bien, en un principio solo se introdujeron dos elementos: comida y obstáculos.

En los primeros experimentos Animat tenía que obtener comida moviéndose y evitando los obstáculos. Cada movimiento que hacía gastaba su “energía” por lo que le era urgente conseguir la máxima comida posible moviéndose lo menos posible. Progresivamente, se fueron ensayando en él un montón de interesantes posibilidades: se le dotó de percepción (al principio, era solo capaz de saber lo que había en las ochos casillas que lo rodeaban) y de múltiples estrategias inteligentes para lograr sus objetivos.

Se implementó memoria, aprendizaje de diversos tipos (por refuerzo, por inducción, mediante sistemas de clasificadores o por algoritmos genéticos) e incluso se llegaron a ensayar modelos de proto-conciencia en él. En cualquier caso, Animat es un interesantísimo proyecto que puede servirnos para conocer mucho mejor el funcionamiento de los seres vivos en su entorno.

Otro tema que se ha movido mucho en la IA bioinspirada es la llamada inteligencia colectiva o de enjambre. Con las hormigas como referente natural, la idea consiste no ya tanto en diseñar un único organismo inteligente, sino en hacer muchos, digamos “tontos”, pero que, operando en conjunto y colaborando, son capaces de una conducta muy inteligente. Si lo pensamos bien, es lo que ocurre en el cuerpo humano. Nuestras células, por sí solas, no parecen demasiado inteligentes, pero todas ellas trabajando en equipo producen cosas tan sensacionales como que puedas estar leyendo este artículo ahora mismo.

El reto de esta forma de programación es que el funcionamiento de un sistema así no está jerarquizado, es decir, no hay un módulo maestro que diga a los demás lo que tienen que hacer. Hay que programar a cada “pequeño idiota”, para que cooperando con otros muchos iguales, hagan algo inteligente. Es complicado.

Se han ensayado ya un buen número de algoritmos llamados de optimización, basándose en este principio que van siendo utilizados con cierto éxito en problemas de tráfico aéreo o de telecomunicaciones.

En el presente y más allá

Cortanahero Copy

Tanto por la importancia cultural de la sci-fi, como por tener esforzados defensores como Ray Kurzweil, Hans Moravec o Rodney Brooks, el entusiasmo hacia las posibilidades de la IA sigue siendo bastante alto. Otros, sin embargo, afirman que la IA no ha salido todavía de su casi eterno invierno.

El caso es que si nos alejamos de las ensoñaciones más futuristas, los, digamos, logros intermedios de la IA han sido bastante notables. La lógica difusa, desarrollada en 1960 por Lofti Zadeh, ha resultado muy exitosa al aplicarse a la AI y ya tiene muchas aplicaciones industriales: lavadoras que regulan el uso de agua de modo supereconómico, máquinas de fotos que enfocan de forma muy inteligente o cajas de cambios automáticas (el Audi TT de 2006 ya utilizaba fuzzy logic).

Luego están todas las estrategias heurísticas desarrolladas por la IA y que, en Internet, un mundo repleto de ingentes cantidades de información, son tremendamente útiles. El mismo motor de búsqueda de Google es un ejemplo de IA. En todo lo que sea búsqueda y análisis de datos (data minning), la IA está resultado muy útil y tiene un prometedor futuro.

También han mejorado muchísimo los sistemas de traducción automática y reconocimiento de voz. Los usuarios podemos disfrutar de órdenes de voz en la mayoría de nuestros dispositivos y la verdad es que van funcionando cada vez mejor. El mismo traductor de idiomas de Google, con todos sus errores, es una herramienta muy válida.

El mismo motor de búsqueda de Google es un ejemplo de IA. En todo lo que sea búsqueda y análisis de datos (data minning), la IA está resultado muy útil y tiene un prometedor futuro.

En general, la mayoría de las empresas de IA se han centrado en proyectos más realistas y rentables. Hay que tener en cuenta que la Inteligencia Artificial, aparte de una ciencia o una tecnología es, ante todo, una industria. Esos costosos sistemas expertos de los años setenta se han redireccionado hacia las demandas de unos usuarios que quieren máquinas que les faciliten más su vida.

Así, los sistemas expertos se han ido haciendo expertos, precisamente, en ti. De este modo, los iPhone traen consigo a Siri, todavía algo rudimentaria y Windows 10 trae a Cortana, algo más avanzada. Son asistentes virtuales especializados en servirte y cuya IA reside en aprender más y más sobre tus gustos y costumbres.

Diseñar esclavos virtuales parece otra rama prometedora de la IA. Pero, desagraciadamente, en lo que respecta a fabricar una mente artificial similar o superior a la humana, las cosas siguen bastante glaciares. Aunque se han dado ciertos avances, no se ha solucionado el problema del sentido común y las computadoras siguen sin poder enfrentarse a entornos poco formalizados. Hemos descubierto que la inteligencia no se reduce a mero cálculo (en lo cual las máquinas son las campeonas), sino que hay muchos tipos de inteligencias muy interconectadas: hay inteligencia social, emocional, creativa… ¿Cómo implementar en una máquina algo parecido a una emoción? No hay ingeniero en el mundo que tenga la más remota idea de cómo hacerlo.

Podemos simular conducta emocional, pero de hacer que un ordenador sienta realmente dolor o pena, cero patatero. Y ya ni hablar de consciencia, de que una máquina se dé cuenta realmente de lo que hace. A pesar de que en los últimos tiempos hay bastante literatura al respecto, nada de nada.

Lo siento amigos, tendremos que esperar muchos, muchos años para poder jugar al ajedrez con HAL 9000, mientras hablamos con él del sentido de la vida. Algunos dicen que en la IA está a punto de llegar una nueva primavera. Ojalá sea cierto.

SantiagoSobre Santiago Sánchez-Migallón Profesor de Filosofía atrapado en un bucle: construir una mente artificial, a la vez que construye la suya propia. Fracasó en ambos proyectos, pero como el bucle está programado para detenerse solo cuando dé un resultado positivo, allí sigue, iteración tras iteración. Quizá no llegue a ningún lado, pero dice que el camino está siendo fascinante. Darwinista, laplaciano y criptoateo, se especializó en Filosofía de la Inteligencia Artificial, neurociencias y Filosofía de la Biología. Es por ello que algunos lo caracterizan de filósofo ciberpunk, aunque esa etiqueta le parece algo infantil. Adora a Turing y a Wittgenstein y, en general, detesta a los postmodernos. Es el dueño del Blog La Máquina de Von Neumann y colabora asiduamente en Hypérbole y en La Nueva Ilustración Evolucionista.

Foto | Lisa Padilla
En Xataka | Antes de hablar de inteligencia artificial... ¿qué es la inteligencia?

También te recomendamos

Centro de innovación BBVA

Con Marta Martínez, presidenta IBM España sobre robots, IA, trabajo y el mercado cloud y del internet de las cosas

Este robot parecido a un niño se comporta como un niño y está listo para ser su profesor

-
La noticia El gran debate sobre si será posible o no una inteligencia artificial fue publicada originalmente en Xataka por Santiago Sánchez-Migallón .











Agradecemos a Santiago Sánchez-Migallón
Fuente: http://bit.ly/1a8SV6e

No hay comentarios.: