jueves, 27 de septiembre de 2012

La Cocina de Asimov: El Lego de la Mente


Desde que entré de lleno en el mundo de la robótica amateur y el el aun más fascinante mundo de la inteligencia artificial y sus ramas derivadas, de aquí a un tiempo encontré toda una explosión de programas que intentan remedar, emular, simular o re-crear funciones de los módulos que componen la mente humana (Como prefieren nombrar los actuales psicólogos o como dicen los neurólogos: áreas cerebrales)

Entonces hoy vamos a hacer otro ejercicio de imaginación (O como decía Einstein en uno de sus ejercicios para visualizar la física mentalmente ;ungeklärte Problem) hace tiempo con un conocido del mundo de la robótica que intenta impulsar su proyecto eNarduin (recomendable web proyecto individual) llegamos a una conclusión; Las máquinas actuales, aunque sean multi núcleo, arquitectura paralela, y con expansiones como GPU´s todavia no tienen la escala de paralelismo y recursividad cerebrales y parcialmente siguen siendo lineales. Solución; Cada área o función cerebral debería   representarse por un programa bloque llamado Módulo Cerebral.

Un ejemplo metafórico; Si queremos que una máquina vea tendremos que instalarle un programa de vision artificial. Pero si queremos que por web cam lea tendremos que complementar con un programa OCR (Reconocimiento Óptico de Caracteres) y si queremos que nos recite lo leido por la web cam tendremos que instalar un TTS (Tex To Speech ) , siendo cada una un area cerebral ( area visual, wernicke y Brocca respectivamente )
  
Entonces para unir todas esas funciones podemos echar mano de un reciente amigo; el lenguaje Python, es fácil, ligero y potente. Puede hacer de “Pizarra” para unificar comandos, salidas y entradas de un proceso a otro unificando funciones.

Actualmente , con la explosión de software y programas y proyectos de robótica actuales nos podemos aprovechar de lo Open Source y de las comunidades. Podemos empezar por una cosa así:

Como un viejo juego de Lego pensad en lo siguiente:

Un sistema operativo linux estable ( Debian) con la plataforma ROS (Robot Operative System) que contenga el software Julius, Festival, Sphinx (reconocimiento de voz y dictado continuo) con generador Mbrola TTS (De texto a voz), reconocimiento OCR ( para textos), visión artificial (CVL 7.0 , Cognex Vision Library) , la estructura de software que tiene Qbo (link aqui)
Varios sistemas de conocimiento of-line y online ( OpenCyc, OpenMind, Wordnet y Scone knowledge-base [link aqui]) , Sistemas de Chatbot como “Howie” y “Program N” (Que están orientados a ser robots de charla formal y orientados a que la conversación sea educativa para el robot) el sistema de programación del robot AIsoy1 II (link aqui , capaz en teoría de tener “personalidad” y “emociones”) y redes neuronales genéricas (OpenAI, link aqui) e incluso a automatas celulares tridimensionales (Por ejemplo, menciono a tenor de este último, que los ACT permiten hacer lo que se llama Cálculo Matricial Acotado; es una herramienta con la que trabajaba Von Neumann  para representar cálculos cuánticos simples en un modo algebraico y decimal. ¿ Permitirá enfocar puertas NAND de corte cuántico [C-NAND] ? y por otro lado se puede emular procesos de toma de decisión por acumulación polarizada de poblaciones de autómatas, para cuando una decisión en el árbol lógico de esa maquina esta muy equilibrada.)

Y añadiríamos como base conductual-emocional el tamdem ASEBA-Límbico (este último todavía en teorización sobre papel) para producir instintos, emociones  sentimientos en la máquina. A partir de aquí podemos según se incrementen las capacidades futuras del hardware los paquetes de software tanto como queramos, así con el paso del tiempo esas mentes artificiales adquieren habilidades y conocimientos que no están en el género humano. 

Un ejemplo; todo el mundo temería que una máquina se vuelva loca, en principio eso es muy improbable. Tened en cuenta que se le puede poner salvaguardas sicológicas que no poseemos los humanos o animales siquiera, por ejemplo si ponemos el software Eliza como psicólogo Rogeriano a modo de una voz interna en la maquina, seria como tener un sicoterapeuta a quien contar tus penas o que el sea la voz de la razón o conciencia para evitar torpezas.

Así que ya le hemos dado a nuestra máquina de forma básica y primitiva; La vista, el oído, el tacto, la voz, memoria, conocimiento, instinto, movilidad, emoción, sentimiento , recuerdos, aprendizaje, decision, evolución, autoconciencia, conciencia moral, capacidad de juego, de crecimiento y desarrollo...hummm pero nos falta un par de cosas:

1) Cómo le damos imaginación.
2) Como le damos empatia.

Al primero cabe responder que existen muchos motores de videojuegos que simulan muy bien la física y los patrones del mundo y con los avatares al personaje mismo. Una forma posible de darle imaginación es que la IA gestiona un mundo VR con avatar con las capacidades de manipulación del “Photoshop” o edición de video. Eso le permitirá pensar : “¿Y si hago esto con lo que se? ¿Que pasaria?.

El segundo punto deriva del primero por una simple razón; si la máquina escucha que X recibe un accidente por las escaleras la máquina simula “Imaginariamente” (1) que ella misma ocupa el lugar de X y procede a ver en qué puntos se golpearía y estimaría por puntuación negativa de tacto el “Dolor” y la experiencia “emocional” del caso. Entonces diria; “!Vaya¡ Pobre X, si que se hizo daño en su cuerpo. que dolor y mala experiencia.”

Y como colofón final razon, gramatica, lenguaje , ontología;

Muchas veces siempre hemos pensado como pensábamos . Pensamos en imágenes, percepciones, palabras y emociones. Pero no dejan de ser símbolos generados por redes neuronales.
Con este paso final quiero cerrar y dar carpetazo a lo que probablemente serán las “Semillas” de la IA´s;

Para crear una buena Ontología , cuya lógica sea polivalente y evite los límites impuestos por Gödel ( Lo llamo Límite de Gödel) pensé en la siguiente estructura por capas, las numero por números;


Si, puede parecer complejo tantas capas de lógica, pero cada capa permite ampliar la lógica anterior y cada ciencia formal de la lógica sólo consta de muy pocas reglas, permitiendo introducir una lógica en la de siguiente nivel hasta llegar a la ontología y minimizar el límite de Gödel. Así permite una ontología muy poderosa. El paso número dieciséis es un poco extraño, pero tiene un ¿porqué? muy importante; 

Claude Piron fue un psicólogo , lingüista y políglota que hablaba esta lengua y descubrí en sus estudios dos cosas, primero que permitía facilitar las traducciones de un texto a otro y segundo que esta lengua artificial es muy similar al proto indo europeo y este es muy similar al “Mentales” o la forma en que codificamos mentalmente a nuestra manera el mundo. Esto permite que a partir del último paso con todo lo anteriormente añadido una maquina si que pueda representar todo el mundo en contexto y comprensión perceptual, emocional, racional. Permitiendo pensar de forma logica y cientifica y creando mas conocimiento que ella misma puede explicar. Asi podriamos darle una especie de mente a las máquinas que les permita ir evolucionando a partir de ese punto de forma positiva.

Un saludo,
Marco García Baturan

Este articulo es Common Creative y Copy Left, se respeta su libre distribución siempre y cuando se nombre al autor del articulo, fuentes del articulo y primer editor (Posteador) del articulo previa petición por e-mail al autor y referencia al enlace a las web´s de origen  del articulo.

Si deseáis contactar directamente con Marco García Baturan, lo podéis hacer a través del siguiente mail: marcogb8 (arroba) gmail.com

No hay comentarios: