« Hans Rosling: Una lec… « || Inicio || » El modelado de proble… »

Sobre la Inteligencia Artificial...

Última modificación: 24 de Septiembre de 2021, y ha tenido 7606 vistas

Etiquetas utilizadas: || ||

La Inteligencia Artificial (IA) es un campo de investigación transdisciplinar que generalmente se relaciona con el desarrollo e investigación de sistemas que operan o actúan inteligentemente. Está considerada una disciplina de las Ciencias de la Computación ya que tiene un enfoque principalmente computacional, aunque cada día hay más aportaciones desde otras áreas (como neurociencia, estadística, psicología, etc.). 

La IA clásica nace en los años 50 con la aparición de los primeros modelos de computación formales y teóricos (incluso antes de la aparición del primer ordenador digital), pero se enriquece enormemente con los avances posteriores en comprensión del cerebro por medio de la neurociencia, las nuevas teorías matemáticas de la información, la teoría de control que surge desde la cibernética y la aparición del ordenador digital. A pesar de ello, si hacemos un rápido recorrido en su historia, podemos situar sus fundamentos y motivación matemática incluso antes del nacimiento formal de la computación. 

Su evolución a lo largo del tiempo está caracterizada por una sucesión de momentos álgidos (denominadas primaveras), en los que se espera que la IA sea capaz de resolver todos los problemas del hombre, y periodos de abandono y olvido (denominadas inviernos) donde la decepción de ver que esos problemas son más complicados de lo que la ilusión promete hace que pierda una atención casi absoluta y pase a formar parte de las áreas científicas más ignoradas. En la actualidad estamos viviendo una de las primaveras más fuertes que se recuerdan desde sus inicios, apenas comparable a ninguno de los buenos momentos que han vivido otras disciplinas tanto en atención gubernamental (en forma de grandes inversiones y financiación) como en atención del público general (ocupando los medios de comunicación, aunque la mayoría de las veces dando información inexacta y confusa de los hitos conseguidos). Las expectativas que despierta son tales que muchos de los cursos de IA que se imparten por universidades del mundo reciben más asistentes que muchas titulaciones completas, hasta el punto de que muchas de estas universidades han generado titulaciones específicas que preparan especialistas de IA, cuando antes apenas era una rama algo exótica de grados como Informática y Matemáticas.

Aunque las diversas entradas que podemos encontrar en este curso profundizan en técnicas concretas de la IA, a continuación daremos algunas ideas generales acerca de diversas aproximaciones que pueden explicar cómo ha evolucionado y, quizás, cómo evolucionará la IA en el futuro.

Aproximaciones a la IA

Por ejemplo, Russell y Norvig en su famoso libro "Inteligencia Artificial: Un enfoque moderno", proporcionan una perspectiva que describe esencialmente 4 posibles aproximaciones a la hora de entender cómo se puede desarrollar la IA. Dependiendo de las combinaciones posibles que se pueden dar entre si consideramos una IA basada en cómo piensan los humanos o si se considera una racionalidad ideal, y si consideramos una IA basada en el razonamiento o basada en el comportamiento:

  Basado en humanos Racionalidad Ideal
Basado en
razonamiento
Sistemas que piensan
como humanos
Sistemas que piensan
racionalmente
Basado en
comportamiento
Sistemas que actúan
como humanos
Sistemas que actúan
racionalmente
  1. Sistemas que piensan como humanos: modelan las propiedades del procesamiento cognitivo de los humanos, como, por ejemplo, un resolvedor general de problemas que mimetizan las metodologías desarrolladas por el ser humano.
  2. Sistemas que actúan como humanos: pueden realizar cosas específicas que hacen los humanos, aunque no sigan los mismos procedimientos que estos. Incluye tareas como aquellas destinadas a superar el Test de Turing, realizar procesamiento de lenguaje natural, razonamiento automático, repersentación del conocimiento, aprendizaje automático, visión computacional y robótica.
  3. Sistemas que piensan racionalmente: sugiere leyes de racionalismo ideal y un pensamiento estructurado, tales como silogismos y lógica formal, aunque puedan estar alejados de la forma real en que razona el ser humano. 
  4. Sistemas que actúan racionalmente: hacen cosas racionales tales como maximizar la utilidad esperada por medio de agentes racionales, cuyos resultados se consideran correctos, aunque no podamos decir si siguen un proceso de pensamiento concreto.

Arquetipos de la IA

En cualquier caso, una de las grandes problemáticas que se observa dentro de la Inteligencia Artificial se debe a la falta de una definición clara acerca de qué se considera IA y qué no, y se puede observar que muchas de las encendidas disputas que hay al respecto tienen su origen en que los interlocutores están asumiendo definiciones distintas del tema de discusión. Es importante tener en cuenta estas diferencias ya que puede haber suposiciones provenientes de visiones distintas que pueden generar contradicciones e inconsistencias a la hora de planificar un proyecto de IA a largo plazo.

En este sentido, Beau Cronin en su artículo AI's dueling definitions presenta los siguiente arquetipos de IA, todos ellos presentes en diversas líneas de investigación y desarrollo de la IA, aunque no son los únicos posibles:

  • IA como interlocutor: es el concepto que se esconde tras ideas como HAL, Apple Siri, Microsoft Cortana o IBM Watson, un ordenador que puede comunicarse en lenguaje natural, y que es capaz de responder a nuestras dudas de forma tan eficiente (y a veces mejor) a como lo harían expertos humanos. Mucha de la investigación más llamativa y de los productos/servicios que se desarrollan últimamente van en esta línea y son el centro de negocio de muchos de los actuales gigantes de Internet. Además, está también en la línea del famoso Test de Turing, ya que el objetivo es que el interlocutor humano no note diferencia (al menos en cuanto al uso, no a su capacidad) entre interactuar con esta IA o con otro humano.
  • IA como androide: a la vista de la imaginería resultante de películas como Blade Runner, Yo Robot, Alien, Terminator, etc. es común tranferir las expectativas de estos ejemplos de ficción a los desarrollos industriales del mundo real, como lo demuestran los últimos productos de empresas como Boston Dynamics (que ha pasado por las manos de Google, SoftBank o recientemente Hyundai), o SoftBank (con su robot Pepper). Para muchos entusiastas de la IA, ésta debe ser dotada de un cuerpo para que complete las verdaderas ambiciones del área. Por ahora, sin embargo, no parece ser más que un movimiento sentimental que calma nuestra necesidad de ver un componente corporal en la (limitada) inteligencia que se desarrolla. Sin embargo, no parece descabellado pensar que una inteligencia similar a la de un humano (o un animal) precise de un cuerpo que experimente sensaciones similares.
  • IA como razonador y resolvedor de problemas: aunque los robots humanoides y los sistemas de conversación mantienen la atracción del público, los pioneros de la IA se dirigieron originalmente a crear sistemas mucho más refinados y orientados a actividades mentales elevadas, tales como jugar al ajedrez, generar pruebas lógicas, o planificar tareas complejas. En uno de los errores colectivos más llamativos de la ciencia, resultó que las máquinas eran especialmente aptas para la ejecución de estas tareas abstractas, y sin embargo no era nada fácil resolver problemas que animales con poca inteligencia aprendían a resolver de forma natural, como moverse por un entorno desconocido valorando las diversas opciones que se presentan o manipular objetos simples dentro de un entorno. Los sistemas que se desarrollaron para resolver juegos como el ajedrez resultaron ser de muy poca utilidad para resolver tareas del mundo real. A pesar de ello, estas tareas superinteligentes que parecen más asequibles son las que generan las mayores reservas a la hora de plantear una inteligencia abstracta elevada, ¿qué pasaría si consiguieramos una IA que resuelva problemas generales tan bien como Deep Blue juega al ajedrez?, ¿de qué forma se pueden extrapolar las propiedades de un uen jugador de ajedrez a otro tipo de habilidades? En este sentido, Deepmind (de Google) ha desarrollado recientemente con AlphaZero técnicas que generalizan bien la obtención de jugadores artificiales en el contexto de un conjunto más amplio de juegos de tablero.
  • IA como modelador de datos: este se ha convertido en el arquetipo por excelencia en la actualidad, donde cantidades ingentes de datos son devoradas por compañías de internet y gobiernos. Así como en el pasado se equiparaba la IA con la habilidad de tener una conversación aceptable o de jugar al ajedrez, hoy en día se relaciona con la capacidad de obtener sistemas de predicción, optimización y recomendación (la mayoría de las veces, por desgracia, orientado a fines comerciales, pero poco a poco ganando terreno en otros campos más interesantes, como el médico). Esta versión de la IA le ha devuelto el halo de respetabilidad perdido tras muchos años de éxitos y fracasos alternos. Sin embargo, no parece que los paradigmas recurrentes del aprendizaje automático acerca de clasificación, regresión, clusterización y reducción de la dimensionalidad contengan la riqueza suficiente como para expresar los problemas que una inteligencia sofisticada debe resolver. Quizás nuevas aproximaciones, como Deep Learning o Programación Diferencial (con su orientación hacia la aplicación de la IA a la Ciencia), puedan ofrecer soluciones más interesantes cuando alcancen un grado de madurez mayor al ser comprendidas en profundidad.

Aunque esta lista no es exhaustiva, en ella podemos encontrar las principales líneas que se reconocen como parte de la IA en la actualidad. Cuál de ellas es la más prometedora es una pregunta que cae fuera de esta entrada (si es que se pudiera responder), pero lo más seguro es que ninguna de ellas por separado pueda ser suficientemente rica como para resolver los problemas que queremos resolver, y que una combinación de ellas, junto con la creación de nuevos enfoques, puede ser una vía a seguir en el futuro de esta disciplina. 

Como medio de obtener un poco de cultura general acerca de las últimas novedades relacionadas con la IA puede ser aconsejable seguir alguno de los muchos canales de información que sobre el tema han surgido en los últimos años, por ejemplo, el canal DOT CSV de youtube, donde se van colgando videos divulgativos sobre la IA en español muy interesantes y bien desarrollados.

Alcance del curso

Como hemos comentado, la IA tiene muchas definiciones (o aproximaciones de definiciones). Nosotros la vamos a tratar aquí como un conjunto de metodologías automatizables (algorítmicas y verificables) para la resolución general de problemas (para los que, normalmente, se presupone una mínima inteligencia para su resolución).

Debemos observar que en el párrafo anterior hay multitud de conceptos no formalizados, conocidos, pero que pueden resultar ambiguos: problema, resolver, inteligencia, algorítmico, verificable. Algunos de ellos pueden formalizarse (otros, no), pero ese esfuerzo se sale de los objetivos de este curso, por lo que correremos el riesgo de acudir a interpretaciones informales a lo largo del mismo.

En consecuencia, se busca disponer de metodologías que no resuelvan únicamente instancias concretas de problemas, sino que resuelvan problemas de forma general. Para ello, hemos de disponer de conjuntos de problemas que vengan dados (o puedan transformarse) en un sistema de representación común, ya que los algoritmos necesitarán un lenguaje común y prefijado para poder manipularlos.

¿Qué es un Sistema de Representación?

Es importante tener en cuenta que un Sistema de Representación no es lo mismo que un Sistema de Representación del Conocimiento, en cierta forma este último se puede entender como un caso particular del primero.

Un Sistema de Representación es simplemente un espacio formal, $R$, sobre el que hay definido un lenguaje de manipulación que permite hablar de algoritmos matemáticos/computacionales que usan los elementos de $R$ como datos de entrada, trabajo y salida.

Representar un problema, $P$, en $R$ consiste en proyectar los elementos constitutivos de $P$ en $R$, $\varphi:P\to R$, de forma que el problema de cálculo/decisión en las estructuras informales de $P$ se convierte en un problema de cálculo/decisión en las estructuras formales de $R$, y tal que:

  • Si $P$ es de decisión, la respuesta obtenida por la resolución de $\varphi(P)$ es la respuesta a $P$.
  • Si $P$ es de cálculo, la respuesta $x$ obtenida por la resolución de $\varphi(P)$ verifica que $\varphi^{-1}(x)$ es solución de $P$.

Sistemas de Representación Clásicos

Algunos Sistemas de Representación clásicos que deben resultar relativamente cercanos son:

  1. Sistemas Lógicos.
  2. Problemas de Satisfacción de Restricciones (son como sistemas lógicos, pero con esteroides).
  3. Espacios de Estados (discretos y continuos).

Comenzaremos trabajando sobre ellos, y los mantendremos como sistemas de representación formales a lo largo de todo el curso, así que en breve veremos ejemplos concretos de este tipo de representaciones.

Algunas aproximaciones asépticas de la IA

En este sentido, y tras tener en cuenta cuál es el contexto más o menos formal en el que nos vamos a mover, hay dos aproximaciones (de distinta complejidad) de las que se encarga habitualmente la IA en su sentido más amplio:

  • Dado un sistema de representación adecuado, $R$, encontrar un algoritmo, $A_R$, de manera que si codificamos un problema $P$ en $R$ (como hemos comentado anteriormente), entonces $A_R(\varphi(P))$ es una solución (o una aproximación de una solución) de $P$.

La mayoría de las veces $\varphi$ no es computable, o no se conoce un algoritmo general que sea capaz de tomar problemas generales y codificarlos siguiendo esa representación (de hecho, en general no es un problema definido formalmente, por lo que no tiene sentido prguntarse si es computable de forma general), por lo que una vez obtenido $A_R$, tradicionalmente la tarea del experto en IA ha sido la de tomar problemas (o conjunto de problemas) que presentan cierto interés y dar manualmente las representaciones de esos problemas en $R$ para poder aplicar posteriormente $A_R$.

Una vez encontrado $A_R$ queda después otra parte de la IA, con un carácter más cercano a la ingeniería, que se encarga de modificar el algoritmo para mejorar el rendimiento sobre instancias del problema de cierto tamaño (mejoras en tiempo y/o espacio, mejoras en su comprensibilidad, mejoras en su interpretabilidad, etc.).

La segunda aproximación, mucho más complicada, pero mucho más interesante, sería:

  • Encontrar sistemas de representación lo más generales posibles cuyas funciones de proyección sean computables para el mayor número de problemas posibles. Incluso: dar una familia de sistemas de representación y una función $\Phi$, computable, que para un gran número de problemas seleccione el sistema de representación sobre el que se deben proyectar, y proporcione la proyección asociada.

De esta forma, se pretende evitar la parte manual de la metodología anterior, haciendo que gran parte del proceso sea automatizable por completo, algo que consideramos más cercano a una inteligencia superior que la resolución del problema anterior. 

Obviamente, la facilidad para resolver un problema radica, pues, en la capacidad que tengamos para representarlo de forma más o menos adecuada, y se puede observar que algunas representaciones facilitan la tarea de resolver el problema mientras otras lo pueden complicar tremendamente. A la capacidad de buscar una representación adecuada para facilitar la resolución se le denomina perspicacia. Así pues, mucha de la labor que hay detrás de la IA más general radica precisamente en dotar de perspicacia a las máquinas, porque ya hay muchos métodos de resolución posteriores que pueden funcionar relativamente bien.

Nuestro Contenido

En virtud de las notas apuntadas en los párrafos anterior, podemos hacer un pequeño bosquejo del recorrido que haremos a lo largo del curso con la siguiente línea de acción:

  1. Algunos Sistemas de Representación Clásicos: Lógicos, Satisfacción de Restricciones, y Espacios de Estados.
  2. Algoritmos de Inferencia para Sistemas Lógicos.
  3. Algoritmos de Resolución para Problemas de Satisfacción de Restricciones.
  4. Algoritmos de Búsqueda para Sistemas de Espacios de Estados.
  5. Algoritmos de Búsqueda con Adversario.
  6. Búsqueda como Optimización.
  7. Algoritmos de Optimización.
  8. Vías no clásicas para Búsqueda y Optimización.
  9. Representación a partir de Datos: Aprendizaje.
  10. Aprendizaje como Reconocimiento de Patrones, como Calculador de Funciones, y como Optimización.
  11. Modelos de Aprendizaje.

Se han destacado en color los 3 grandes bloques en los que podemos dividir nuestra aproximación, y que marcan, más o menos, las partes en las que se divide el curso, tal y como puede verse en el índice específico (en el curso general, y en el curso de la asignatura oficial).

Para saber más...

La nueva era de la computación

12 ejemplos de IA en nuestra vida

Inteligencia artificial: qué es, cómo funciona y para qué se está utilizando

El futuro de la IA: hacia inteligencias artificiales realmente inteligentes

« Hans Rosling: Una lec… « || Inicio || » El modelado de proble… »