ClickCease
Primeros grandes avances de la Inteligencia Artificial
 /  Inteligencia Artificial / Opinión y Recomendaciones / Profundizando en el Big Data / Primeros grandes avances de la Inteligencia Artificial
Primeros grandes avances de la Inteligencia Artificial

Primeros grandes avances de la Inteligencia Artificial

En este extenso post hablaremos de los primeros éxitos que se obtuvieron en el campo de la IA. Estos conocimientos fueron en temas relacionados con la representación del conocimiento, heurística, planificación, sistemas expertos, visión computacional, etc. Diferentes aspectos del conocimiento que se trataron de resolver a lo largo de la historia mediante la IA.

También abordaremos las primeras dificultades que se encontraron en el campo de la IA, como la carencia de sentido común y otras más profundas, dentro del ámbito de la ética, la filosofía o la moral.

Representación del conocimiento

La inteligencia es la capacidad de un individuo de hacer inferencias no obvias sobre una situación determinada. Este era el propósito de la representación del conocimiento, que las máquinas pudieran realizar algún tipo de inferencias no obvias, de tal forma que a partir del conocimiento de que “María es una mujer”, pudiera llegar a deducir que “María es mamífera”, “María puede quedar embarazada” o “María es mortal”.

Para poder llevar a cabo esta serie de deducciones, en principio sencillas para nosotros, se debe partir de una vasta cantidad de conocimientos previos que nosotros vamos adquiriendo a través de la experiencia, la educación, el error, etc. Por ejemplo, para deducir que “María puede quedar embarazada”, se partiría de la premisa de que “solo las mamíferos hembra, pueden quedar embarazas”, “los mamíferos son de sangre caliente”, “los mamíferos son mortales”.

Para presentar este tipo de conocimiento se utiliza la lógica de predicados:

x, mujer(x) mortal(x)
Para todo objeto x, si x es mujer, entonces x es mortal

En principio la lógica de predicado fue buena candidata para representar el conocimiento, y aunque tenía muchas ventajas también contaba con inconvenientes, la posibilidad de construir gran cantidad de deducciones correctas, pero inútiles, o la dificultad para manejar excepciones.

x, pajaro(x) vuela(x)
Para todo objeto x, si x es pájaro, entonces x vuela
No aplicable por ejemplo a avestruces y pingüinos

El ser humano es hábil haciendo inferencias e invalidando deducciones cuando conocemos un nuevo dato que no las permite. Esta habilidad se llama sentido común, y no está presente en las máquinas.

Sabemos, debido a nuestra enorme experiencia, que por ejemplo los objetos caen al soltarlos (aunque no sepamos la velocidad exacta) o que la madera flota (aunque desconozcamos que es debido a la densidad de la materia). También sabemos realizar una enorme cantidad de acciones básicas, como empujar o tirar de algo (aunque algunos nos liemos con las puertas de cristal al entrar a un edificio).

Heurística

La búsqueda de un elemento dentro de un conjunto es otro campo de la IA con enorme interés. Hablamos de búsqueda heurística cuando cada decisión para avanzar se realiza en base a unos conocimientos.

El desarrollo de búsquedas heurísticas tuvo mucha atención dentro de la IA en los primeros años de desarrollo de aplicaciones, aunque poco a poco fue bajando su interés debido a la gran cantidades de problemas que se encontraban.

Un ejemplo típico es la resolución de rompecabezas, como el clásico del puzle de 8, consistente en un tablero de 3×3 que tiene 8 piezas móviles numeradas del 1 al 8, además de un hueco. Todas las piezas se pueden deslizar horizontal o verticalmente si el hueco está en su misma fila o columna, respectivamente. La resolución del problema es que las piezas queden numeradas en orden, partiendo de una numeración aleatoria previa.

Planificación

Este es otro campo en el que se ha trabajado desde los orígenes de la IA. Tiene una similitud con las búsquedas heurísticas. La planificación se basa en que dato un conjunto de elementos y la posibilidad de realizar acciones sobre ellos, tenemos que encontrar la secuencia que nos permite alcanzar un objetivo determinado. A esto hay que sumar las reglas de movimiento y la posibilidad de que haya excepciones.

Un ejemplo clásico, el acertijo del lobo, la cabra y la col.

Un granjero fue al mercado y compró un lobo, una cabra y una col. Para volver a casa tenía que cruzar un río. El granjero dispone de una barca para cruzar a la otra orilla, pero en la barca solo caben él y una de sus compras. Si el lobo se queda solo con la cabra se la come, si la cabra se queda sola con la col se la come. El reto del granjero era cruzar él mismo y dejar sus compras a la otra orilla del río, dejando cada compra intacta. ¿Cómo lo hizo?

El ejemplo más sencillo lo tenemos en un conjunto de 3 bloques (A, B y C) colocados sobre una mesa, y la acción sobre (X,Y), que nos permite colocar un bloque X sobre un bloque Y (o sobre la mesa). Dada una configuración inicial de bloques, tenemos que llegar a una configuración final.

Sin embargo se presentan una serie de problemas y limitaciones difíciles de resolver. Por ejemplo, nunca podremos ejecutar la acción sobre(B,C) si sobre el bloque B está situado el bloque A, por ejemplo. Por lo tanto además de los objetos y acciones, tendremos una serie de condiciones. Lo que dificulta mucho el sistema de solución.

La manera de solucionar esto es trabajando con un plan de trabajo no lineal. El plan de solución se debe construir como un conjunto de acciones parcialmente ordenado (POP, parcial order planing). Con este plan POP, cuando se añade una nueva acción al plan, se analiza si esta amenaza a futuras acciones.

Sistemas expertos

Newell y Simon, creadores del GPS, y de los que ya hemos hablado en posts anteriores, en sus intentos identificar como un ser humano resuelve problemas nuevos, idearon el sistema de producción.  Este sistema consiste en representar el conocimiento de la sencilla forma SI->ENTONCES.

Este conjunto de reglas almacenadas en la memoria de la máquina, le permitiría realizar acciones y llegar a conclusiones. Si bien Newell y Simon idearon este sistema como modelo teórico, pero fue una gran contribución al estudio de conocimiento humano y dio lugar a los primeros sistemas expertos importantes creados por la IA.

Heuristic Dendral. Diseñado en los años setenta, en la Universidad de Stanford, era capaz de hipotetizar sobre la estructura de compuestos químicos para interpretar su espectrograma de masas. Para ello utilizada conocimientos químicos expertos, representados mediante el sistema desarrollado por Newell y Simon, SI->ENTONCES.

Mycin. También desarrollado en Stanford unos años después del Heuristic Dendral, utilizada el tipo de reglas SI->ENTONCES, para tratar de ayudar a médicos en la detección de enfermedades infecciosas. Además, ayudaba con el tratamiento a realizar. Mycin incorporaba también factores de probabilidad, que median la confianza del experto en el diagnóstico. Por ejemplo:

SI el organismo es GRAMNEGATIVO y su morfología es de tipo BASTONCILLO,
ENTONCES es una BACTERIA con una certeza de 0,6 (midiendo la certeza de -1 a 1)

Una de las característica más importantes de Mycin es que utilizada un motor de inferencia separado e independiente de las reglas de producción, lo que permitía utilizarlo en otros sistemas expertos, como así se hizo.

Aprendizaje automático

Durante la década de los sesenta y setenta el aprendizaje automático se limitaba a la utilización de redes neuronales artificiales para clasificar datos y ni mucho menos era una prioridad de la inteligencia artificial. Fue a partir de los años ochenta cuando se empezaron a desarrollar métodos de  aprendizaje automático y cuando empezó a ocupar un lugar relevante dentro de la IA.

El método más conocido en los años ochenta llegó a ser el aprendizaje inductivo de árboles de decisión. Las inferencias inductivas trabajan con hipótesis que pueden ser falseadas según datos adicionales. Difieren de las inferencias deductivas, que son conclusiones no falseables.

Una inferencia deductiva puede ser:

SI es un hombre ENTONCES es mamífero

Sin embargo la siguiente inferencia en inductiva y puede ser desmontada posteriormente si añadimos datos tales como que los pingüinos no vuelan:

SI es un pájaro ENTONCES vuela

Los árboles de decisión constituyen el método de aprendizaje más aplicado en IA. Consisten finalmente en una secuencia de decisiones cuyo objetivo será determinar una categoría en concreto o asignar un valor a un atributo, según valores conocidos de otros atributos. Un ejemplo puede ser este árbol, con el que decidimos si un cliente en concreto tiene derecho a un descuento:

Visión por computador

El objetivo de la visión por computador es dotar a las máquinas de la capacidad que tenemos los seres humanos y otros animales que adquirir una enorme cantidad de datos a través de la vista. En los primeros años de la IA el objetivo era dotar a los denominados brazos robóticos de la capacidad de “ver” objetos para poder moverlos de sitio.

En un principio, se desarrollaron algoritmos capaces de encontrar el borde de los objetos (buscadores de líneas) y otros capaces de identificar estos objetos, para poder moverlos de sitio y colocar de esta forma una pirámide encima de un cubo. Por ejemplo.

Primeros robots móviles

En los años sesenta, investigadores de la John Hoppkins ya fueron capaces de desarrollar los primeros robots móviles, capaces de moverse a lo largo de un pasillo con paredes blancas, reconociendo enchufes de color negro en las paredes a los cuales era capaz de conectarse para recargar su batería.

En la misma década, algo más tarde, investigadores del Stanford Research Institute construyeron uno de los robots más famosos de la historia, Shakey, cuyo nombre se debía a que a la hora de detenerse temblaba considerablemente.

Procesamiento del lenguaje

Este ha sido siempre uno de los objetivos principales de la inteligencia artificial (NLP, natural language processing); procesamiento del lenguaje natural de los seres humanos. Un objetivo muy ambicioso que abarca tres ramas fundamentales: generación de lenguaje (escribir en lenguaje natural), traducción automática y comprensión.

En los años sesenta se realizaron varios sistemas NLP que solo sirvieron para demostrar la enorme complejidad del propósito y que solo funcionaban con vocabularios muy reducidos sobre temas muy específicos y solo en inglés (un idioma bastante sencillo debido entre otros motivos a la escasa conjunción verbal).

Procesamiento del habla

Esta disciplina busca procesar la señal acústica del habla humana, codificarla digitalmente (analógicamente en sus inicios) y convertirla a una secuencia de palabras y signos de puntuación (esto último de gran importancia, ya que son capaces que cambiar totalmente el sentido de una frase).

Es un propósito altamente técnico y complejo, donde a menudo nos tenemos que mover en el mundo de la incertidumbre, al existir palabras que fonéticamente son idénticas, pero significan cosas totalmente diferentes (baca y vaca) y al existir una enorme dificultad en encontrar la separación entre palabras (lo que denominamos segmentación).

Los mejores sistemas desarrollados hasta el momento reconocen hasta el 98% de las palabras correctamente, pero siempre y cuando la señal acústica sea de calidad, el idioma sea sencillo y la longitud de la entrada no sea muy extensa. Es decir, trabajando bien, pero con ciertas limitaciones.

Fuentes bibliográficas

¿Qué sabemos de? Inteligencia artificial (2017)
Ramón López de Mántaras Badia y Pedro Meseguer González
Editorial CSIC – ISBN 978-84-9097-340-0

Related Posts

Módulo 10. Procesamiento de datos escalable en el contexto Big Data: Machine Learning y Streaming
Módulos
Módulo 10. Procesamiento de datos escalable en el contexto Big Data: Machine Learning y Streaming

¡Potencia tu conocimiento en Big Data e Inteligencia Artificial con el Módulo 10 del Máster en Big Data e Inteligencia Artificial de la UMA! En este módulo, exploraremos el emocionante mundo del procesamiento de datos escalable en el contexto de aplicaciones Big Data, centrándonos en dos áreas clave: el Machine Learning y el Streaming. Aprenderás a utilizar tecnologías como SparkML, Spark Structured Streaming y Apache Flink para desarrollar aplicaciones escalables y aprovechar al máximo el potencial de los datos.

Deja un comentario

Your email address will not be published. Required fields are marked.*

× ¿Cómo puedo ayudarte?