Texto completo

(1)

Open AI, inteligencia artificial Open Source

Un sitio sobre inteligencia artificial, pero basado en el software libre. Lo que se pretende es desarrollar una herramienta de inteligencia artificial genérica, que pueda luego ser adaptada a diferentes usos.Ayer te lo contamos, la inteligencia artificial pronto superará a la humana, y podría llegar a utilizarse para reemplazar a los corredores de bolsa de Wall Street .

Pero detrás de estos objetivos hay varios miles de líneas de código, y a menudo de dólares. Los desarrollos de IA son muy costosos y de largo plazo, y solo pueden llevarlos a cabo grandes compañías o universidades.

Con OpenAI lo que se busca es crear un punto de encuentro entre aficionados a la inteligencia artificial, en el cual se pueda debatir en foros, descargar herramientas, y cooperar en el desarrollo de un modelo genérico de IA, que pueda luego ser adaptado a diferentes usos. Y siempre basado en la filosofía del software libre.

El proyecto se basa en Java y C++ como lenguajes de programación para su desarrollo, y utiliza XML y CORBA para la configuración, comunicación entre procesos y persistencia de objetos.

(2)

Ya hay un prototipo desarrollado, que puedes descargarte desde el sitio oficial del proyecto, para comenzar a probarlo y ver como es esto de las redes neuronales.

OpenAI

Requerimientos de Software Historia

Formado por un grupo de ingenieros apasionados por el potencial de la inteligencia artificial, el proyecto OpenAI fue alcanzado para hacer frente a la necesidad reconocida de las normas de la comunidad que permitan a este potencial se haga realidad. Todas las herramientas de Inteligencia Artificial, por definición, aspiran a emular la inteligencia humana de alguna manera. Para alcanzar este objetivo común, sin embargo, todas las herramientas deben a cierto nivel no habla el mismo idioma o se comportan de la misma manera. Es este nivel de comunicación y el comportamiento que el proyecto OpenAI tiene como objetivo definir y estandarizar.

Los investigadores de OpenAI se dan cuenta de que los objetivos y las metas de todo el software de IA no pueden ser descritas por una API externa simple o especificación. Describir el campo de la IA apropiadamente dividiremos AI en un conjunto de disciplinas. Cada disciplina tendrá una especificación de nivel 2 o 3 que describa esa área mayor que la especificación de nivel 1. De esta manera esperamos cubrir el vasto campo de la IA lo mejor que podamos.

(3)

Visión

El grupo OpenAI ha propuesto crear dos cosas:

• una especificación para la Inteligencia Artificial (en adelante, AI) tecnologías básicas que permitan la interoperabilidad, la intercomunicación y la facilidad de integración.

• una implementación de referencia que constará de los servicios públicos de Inteligencia Artificial o bibliotecas que ilustrarán cómo implementar la especificación.

Este documento comprende el primer artículo y va a definir la manera en la que una multitud de herramientas de IA puede ser escrito de modo que surge una API común. Esta API común permitirá que las aplicaciones que encapsulan las herramientas para compartir datos entre ellos y controlarlos de la misma manera.

El segundo elemento será una implementación de referencia de código abierto creado por los desarrolladores involucrados en el proyecto OpenAI para ilustrar la eficacia de la especificación. Inicialmente estas bibliotecas constarán de las herramientas tradicionales de IA. Por ejemplo, una red neuronal, Algoritmos Genéticos, motor de inferencia y Sistema Mobile Agent. Sin embargo, a medida que pasa el tiempo las bibliotecas más avanzadas, herramientas y algoritmos serán desarrollados.

Alcance

Este documento definirá las disciplinas de la IA y los diferentes niveles de especificación. El primer nivel se tratará de capturar datos objetivos y de comportamiento comunes. Los niveles posteriores se tratarán diferentes ámbitos de la AI, cada división frente a los objetivos y comportamientos evaluados para esa área.

Por favor, tenga en cuenta que se trata de una evolución de documento que se está desarrollado en un entorno distribuido. Como tal, habrá notas esparcidos y pedazos de conversación intervino con piezas de especificación.

Su constructivo comentarios son bienvenidos. Envíe un correo electrónico gleo con cualquier comentario o sugerencia.

Nivel 1

Visión de conjunto

Nivel 1 proporcionará una especificación de alto nivel para todas las herramientas de la IA. El objetivo es crear un conjunto de descripciones que

(4)

permitirá a los desarrolladores proporcionar una API que describe la herramienta que se está desarrollando a otras herramientas de IA conscientes de la especificación. Las especificaciones de esta sección le permitirá a cualquier pieza de software para obtener información básica acerca de la herramienta, que es la versión, el nivel de especificación que se apoya y una ubicación para buscar más información acerca de la ontología y / o API externa completa.

1.1 Comunicación Desaprobado

La comunicación entre cualquier módulo se requiere previamente. Sin embargo, esto complica el módulo innecesariamente al requerir un marco de comunicaciones para ser incluido. Este elemento se elimina de la especificación de nivel 1 y se abordará mediante un conjunto de interfaces de interconexión de módulos dentro de la implementación de referencia. Esto conservará la intención original al permitir que los módulos de transferencia de datos y el control de los aspectos de la otra operación de módulos. Estas habilidades se manifestarán a través del uso de el resto de esta especificación.

1.2 Configuración

Para permitir que un módulo sea dinámico, que debe ser capaz de ser configurado en cualquier momento. Esto permitirá que las características de funcionamiento de los módulos que se cambien de forma dinámica con el fin de adaptarse a las nuevas situaciones y flujos de datos. Cada módulo debe ser capaz de cargar su configuración desde un archivo y estar listo para iniciar la operación utilizando la nueva configuración. 1.3 Descripción

Uno de los objetivos clave de OpenAI es proporcionar compatibilidad entre los módulos de IA. A tal efecto, los módulos deben ser capaces de reunir información sobre la versión y el nivel de la Specificaton OpenAI es compatible con el módulo en cuestión. Todos los módulos proporcionarán una forma de acceder a esta información mediante la devolución de una cadena de la forma "Especificación OpenAI Nivel 1, fecha de revisión AAAA / MM / DD"

1.4 Control de 1.4.1

Para permitir que los módulos sean fácilmente integrados dentro de una aplicación, y para proporcionar una interfaz familiar para todos los módulos, una especificación en el control de los módulos es necesario. A un alto nivel, cualquier aplicación que utilice un módulo no debería tener que conocer el tipo de módulo

(5)

que está controlando. Las funciones comunes como inicio, detener, repetir, etc deben estar expuestos a otros programas para permitir el control del módulo externamente. Estas aplicaciones de control deben ser capaces de enviar comandos y los datos de acceso para cualquier módulo de la misma manera. 1.4.2

A menudo será necesario que las aplicaciones obtengan pleno conocimiento de una API de módulos con el fin de realizar llamadas específicas. El pleno del API de cada módulo debe estar disponible para una aplicación. Al consultar un módulo, una aplicación debe ser capaz de obtener un lugar en el API completo.

1.4.3

Es necesario que los módulos sean "bien educados". Con esto queremos decir no intrusiva para el entorno de funcionamiento normal de la computadora host. Cualquier módulo usando sockets debe utilizar puertos asignados para el uso de aplicaciones de la IEEE. Un módulo debe permitir que los límites que se establezcan en él es el uso de la CPU y la memoria de la computadora host. 1.5 Escalabilidad

1.5.1

Gran atención se debe prestar a la escalabilidad de los módulos. Deben funcionar en entornos distribuidos y paralelos. (Esto puede ser una especificación separada por la carretera)

1.5.2

Si el sistema se ejecuta de manera distribuida, será necesario que las aplicaciones y otros módulos para consultar los módulos accesibles existentes. Un gestor central o, preferentemente, un directorio en red de módulos que se pueden conectar en cascada actualizaciones (similar a DNS) debe estar en su lugar.

1.6 Persistencia y Observación

Cada módulo debe ser capaz de guardar su estado completo en todo momento para la persistencia y movilidad, así como proporcionando información sobre el estado actual del módulo de observación y representación (posiblemente de una manera gráfica). Con este fin, un motor de estado debe estar previsto que permite múltiples niveles de descripción sobre el estado interno. El nivel más alto será igual a la persistencia y el estado interno total del módulo, los niveles intermedios

(6)

serán para los diferentes instrumentos de observación y el nivel más bajo serían para la salida de la ejecución.

1.7 Internacionalización

Los módulos deben ser internationlised. Tienen que adaptarse a la lengua local, locales, monedas, etc, de acuerdo con los valores especificados en el archivo de configuración o el entorno en el que se están ejecutando pulg

Figure

Actualización...

Related subjects :