viernes, 14 de diciembre de 2018

Intentar definir Inteligencia Artificial


El pasado Miércoles 12 de Diciembre asistí al evento 'IA en negocios: una visión en el corto plazo' organizado por Digital&Beers y que tuvo lugar en las instalaciones de Sngular en Madrid. En el evento actuaba como anfitrión y presentador José Carlos Cortizo y como ponentes Raúl Arrabales, Ana Jiménez, José Luis Calvo y David Llorente. Y, como no era raro esperar, lo primero que se les pidió fue definir Inteligencia Artificial.

Escuché con mucha atención sus respuestas. Oí cosas con las que estaba de acuerdo. Y oí cosas con las que no tanto. Pero sí que me quedé pensando en lo difícil que es definir el campo de la Inteligencia Artificial y en lo igualmente difícil que es explicárselo a alguien lego en la materia, especialmente si no tiene algún tipo de background científico y sobre todo informático.

De izquierda a derecha: Raúl Arrabales, Ana Jiménez, José Luis Calvo y David Llorente

Sin aspirar, no al menos en este artículo, a definir yo mismo lo que es la Inteligencia Artificial, sí voy a recoger alguna definición existente y alguna reflexión propia, algunas de las cuales ya han ocupado espacio anteriormente en este blog.

Lo primero que conviene saber es que el campo de la Inteligencia Artificial no es monolítico, sino que agrupa un conjunto bastante diverso y heterogéneo de técnicas, o casi mejor, algoritmos. ¿Qué tienen en común? Podemos recordar la primera definición de Inteligencia Artificial proporcionada por John McCarthy allá por 1955:

making a machine behave in ways that would be called intelligent if a human were so behaving

Lo bueno de esta definición es que es muy sencilla y compacta. Lo malo...que nos aclara poco y que puede incluso ser errónea. Nos aclara poco porque, en el fondo, tampoco acabamos de saber lo que es un comportamiento inteligente (aunque medio lo intuimos). Y puede ser errónea, desde una perspectiva actual, porque hay formas de exhibir un comportamiento externo inteligente con algoritmos muy básicos cuando nos centramos en tareas muy específicas y tenemos una suficiente capacidad de computación.

Estoy pensando, por ejemplo, en el empleo de algoritmos de 'fuerza bruta' (es decir, los que simplemente exploran todas las posibilidades) aplicados a juegos como el 'tres en raya'. Se trata de un juego con un número de posibilidades (de jugadas) finito y fácilmente evaluables así que con informática 'de toda la vida' podemos hacer un programa que juegue al tres en raya y que sea invencible. ¿Es eso Inteligencia Artificial? Me resisto a clasificarlo como tal. Los algoritmos en sí mismos son relativamente básicos y la inteligencia la aporta realmente el programador. Si a esto le llamásemos inteligencia artificial, creo que la mayor parte de la informática podría ser clasificada como tal... y no se trata de eso. Y, sin embargo, creo que se puede decir que ese algoritmo que juega al tres en raya satisface la definición de McCarthy.

Un poco en mi misma línea de razonamiento, Jerry Kaplan en su libro 'Artificial Intelligence: What Everyone Needs to Know' comenta a propósito de la estadística:

one of the biggest surprises of the past few years has been that relatively simple statistical methods, when supplied with a sufficiently large number of examples, are capable of tasks that would otherwise appear to require comprehension and insigth.

Es decir, también algoritmos estadísticos 'de toda la vida' pueden conseguir un comportamiento externamente inteligente. ¿Es eso inteligencia artificial? Conforme a la definición de McCarthy sí que lo sería pero, de nuevo, me resisto a tratarlos como tales porque entonces desdibujamos el campo de la Inteligencia Artificial.

En otras ocasiones se hace referencia a su imitación del cerebro humano y la naturaleza, a su inspiración incluso biológica de cómo funciona el cerebro humano. De hecho, las redes neuronales parten de la metáfora de las neuronas y su interconexión, los algoritmos genéticos se inspiran en la genética y selección natural y los sistemas expertos en el modo de razonar, presuntamente, de las personas expertas. Sin embargo, creo que esa inspiración no debe tomarse como otra cosa que no sea inspiración. Seamos sinceros: todavía no sabemos cómo funciona el cerebro humano...así que no podemos asegurar que lo estamos imitando, y mucho menos que, al hacerlo, vayamos a conseguir algoritmos que funcionen de la misma manera.

¿Y entonces? ¿Qué es la inteligencia artificial?


No voy, todavía, a proporcionar una definición propia y no dispongo ahora mismo de una definición ajena que me satisfaga completamente. Así que sólo voy a explorar y de una manera todavía tentativa y eventualmente transitoria, elementos que creo que son distintivos de la 'verdadera' inteligencia artificial.

Por un lazo mencionaré el aprendizaje y/o la adaptación. Los algoritmos de inteligencia artificial presentan la capacidad de modificar su comportamiento externo con base en la experiencia. Una experiencia que según el algoritmo, se adquiere en una fase de entrenamiento previo a su uso y en otras se obtiene, además, durante su funcionamiento en operación real. En cualquier caso, el comportamiento externo del algoritmo (que no el algoritmo en sí mismo) aprende y cambia. Y puede hacerlo de una forma que ni su programador podría haber previsto. Porque el programador sabe de la lógica, el algoritmo propiamente dicho, a qué experiencias se ca a enfrentar esa lógica ni con qué datos va a trabajar.

Ese aprendizaje confiere a los algoritmos de inteligencia artificial una cierta autonomía que no deja de impresionarnos. Autonomía en el sentido de que, de alguna forma, acaban decidiendo por sí mismos. cómo actuar. No nos confundamos ni dejemos volar la fantasía en exceso: el algoritmo está completamente fijado, pero esa capacidad de adaptación que le confiere el aprender de la experiencia, y de los datos, le confiere facultad para comportarse con una cierta 'libertad'.

Por otro lado, y bastante relacionado con el aprendizaje, tendríamos la capacidad de generalización y de abstracción. Todos los clasificadores tan propios del machine learning de alguna forma generalizan y abstraen características. Esto se utiliza por ejemplo para reconocimiento de imágenes o para establecimiento de 'clusters'.

No me resisto a dejar de añadir un cuarto elemento, algo discutible y un tanto romántico: el misterio. Los algoritmos los crean científicos y desarrollan programadores. Los algoritmos en sí mismos son perfectamente conocidos y documentados. Pero su estructura interna es tan compleja y su forma de adaptación tan abstracta que, una vez entrenados, ni el propio científico que lo diseñó, ni el propio programador que lo desarrolló, podrían explicar exactamente por qué se comporta como se comporta. Hay un cierto halo de misterio, una cierta percepción de que, en efecto, hemos logrado una inteligencia externa, una inteligencia artificial. 

Aunque no se suela mencionar como tal, es cierto que el misterio de una forma, quizá no rigurosa pero sí psicológica, acompaña a la Inteligencia Artificial. De hecho, Jerry Kaplan nos apunta esta paradoja:

the field of AI suffers from an unusual deficiency - once a particular problem is considered solved, it often is no longer considered AI.

Si un problema algorítmico que considerábamos en su concepción, propio del campo de la Inteligencia Artificial queda claramente resuelto, a esa solución tendemos a no considerarla ya Inteligencia Artificial...seguramente porque ya no hay misterio...

Aprendizaje, abstracción, autonomía y misterio.

Por sí mismos no son la definición que aún estoy buscando, pero creo que ayudan a entender, aunque de una manera aún difusa, qué es Inteligencia Artificial.


Artículo de este blog relacionados