martes, 2 de diciembre de 2014

Introducción a las Redes Neuronales Artificiales

INTRODUCCIÓN

La preocupación del ser humano por saber cómo funciona su sistema en relación con la naturaleza ha incrementado cada vez más con el pasar de los años, qué nos diferencia de los animales, de los más pequeños microorganismos y de las cosas es una de los principales enigmas que mediante investigaciones, van tomando forma hasta que pronto sepamos la razón por la que somos humanos.

Se puede decir, que somos humanos, diferentes de los demás organismos vivos porque tenemos la capacidad de pensar, es decir la inteligencia, pero de dónde viene esta, la inteligencia no es algo con lo que nacemos precisamente, más bien es lo que vamos aprendiendo con el paso del tiempo e increíblemente todo tiene que ver con cómo funcionamos internamente y la información que nuestras neuronas perciban y procesen es lo que posibilita que seamos inteligentes.

Como ya he dicho antes, el objetivo de la IA es crear sistemas que tengan la capacidad de ser inteligentes, para lo cual es necesario el análisis de las redes neuronales de nuestro sistema.

OBJETIVO


El objetivo de ésta clase es adquirir conocimiento sobre los componentes de las neuronas, su función y las redes neuronales artificiales.

MARCO TEÓRICO

Redes Neuronales Artificiales

Las redes neuronales artificiales también denominadas RNA es una forma de aprendizaje de la función del sistema nervioso de los seres humanos y animales. Es en si, una especie de red compuesta por neuronas, es decir muchas neuronas conectadas entre si, que permiten la entrada, procesamiento y salida de información.

¿Por qué la inteligencia artificial estudia las redes neuronales artificiales?

La inteligencia artificial estudia las redes neuronales artificiales o también llamadas neuroredes para hacer un modelo de la forma en las que las neuronas procesan la información en los sistemas biológicos.

La inteligencia artificial trata de crear elementos artificiales que tengan un comportamiento en su cerebro o base como el que tenemos los seres humanos, lo cual es complicado ya que nuestro sistema cerebral funciona de manera no lineal y paralela es decir que el cerebro procesa  varias informaciones al mismo tiempo, sin embargo un sistema computacional funciona de manera secuencial, es decir procesa una información a la vez.

La inteligencia artificial tiene en su estudio dos campos distintos : 
  • El área encargada de la construcción de sistemas con características identificables como inteligentes cómo nos enfrentamos a un problema y la manera en la que lo resolvemos y este campo es denominado como inteligencia artificial simbólica.
  • La inteligencia artificial subsimbólica no realiza diseños de alto nivel sino que más bien estudia sistemas genéricos que van evolucionando hasta ser capaces de resolver un problema, estudia los mecanismos físicos que permiten que seamos denominados inteligentes así como el cerebro y su funcionamiento lógico, y las redes neuronales artificiales.

Fundamentos biológicos de las Redes Neuronales

El sistema de comunicación neuronal de los seres humanos y animales es conformado por el sistema nervioso y el hormonal conectando también a los sentidos para poder percibir el medio y los órganos efectores que nos permiten ejecutar una acción, este sistema de comunicación tiene el objetivo de recopilar la información, procesarla, almacenarla y transmitirla de una forma tan rápida que no es percibible por nosotros.

Esta comunicación se da gracias a tres partes importantes:

Imagen 1: Partes que componen la comunicación neuronal
La célula nerviosa o neurona es el principal elemento en éste sistema de comunicación éstas transmiten información por medio de los productos de secreción, la información se transmite de una a más neuronas lo cual forma una red que está relacionada con los receptores y otra parte de las neuronas con los efectores.

Procesamiento de información de las neuronas

Imagen 2: Partes que componen una neurona
El funcionamiento de una neurona se da en base a sus partes y éstas cumplen a su vez una función que permite el procesamiento de la información percibida por ejemplo:  

Núcleo: Es el encargado de procesar la información y manda esta información al axón.
Axón:Es encargado de la conducción de los impulsos.
Sinápsis: Es la comunicación que se da entre una neurona y otra a través de botones terminales, actúa como aislante o amplificador según la conveniencia.
Dendritas:  Propagan la señal al interior de la neurona.



¿Qué es un estímulo?

Un estímulo es una información que perciben las neuronas del exterior de su sistema las cuales son propagadas hacia otras neuronas una vez procesadas, hasta que la información se guarda.

Las neuronas utilizan sus secreciones como señales de transmisión, esta información transmitida se propaga a través de otras neuronas conectadas entre si lo cual forma una red neuronal. 


Imagen 3: Esquema de red de 3 capas conectadas entre si.

Aporte: Avances de las RNA

 Reconocimiento de voz de Android: El reconocimiento de voz que también usa Google y utilizan sistemas operativos como Android también funciona mediante redes neuronales, Vincent Vanhoucke, científico de google indicó que el mejoramiento del reconocimiento de voz que hace que éste tenga una tasa de error del 25%, se dio en base a el cambio del modelo a las redes neuronales. La forma en la que funciona el reconocimiento de voz, es bastante simple de entender sin embargo requirió de muchas investigaciones, al hablar a nuestro dispositivo el espectograma de las palabras se parte en pedazos y es enviado a 8 servidores de google en donde existen bases de datos con grabaciones de palabras pronunciadas, todo esto se realiza mediante las redes neuronales creadas por el equipo de científicos de google liderado por Vanhoucke y el secreto del funcionamiento del sistema es la capacidad de aprendizaje que tienen las redes neuronales.


Chips basados en el cerebro humano: El cerebro humano tiene un funcionamiento complejo y sorprendente y su red de información tiene alrededor de 86.000 millones de neuronas que se conectan unas con otras en un constante intercambio de información, y es que a pesar de que los computadores realicen tareas mucho más rápido que las personas, para ser más concretos el tiempo de respuesta es en una nanosegundo, el cerebro es mucho más experto en lo que sabe hacer, por lo cual ningún ordenador se compara a su funcionamiento.

La empresa desarrolladora mundialmente reconocida IBM desarrolló un chip llamado TrueNorth que tiene aproximadamente 256 millones de conexiones y es la base del sistema computacional.

CONCLUSIÓN

Una neurona es el principal elemento en la comunicación neuronal es decir en las redes neuronales y una red neuronal es el funcionamiento que tiene el sistema nervioso de los animales, este constituye un sistema de comunicación, una red de neuronas conectadas entre si, puede ser interpretada como una malla de información, esta información pasa por distintas capas en donde es receptada, procesada y propagada.

El sistema de comunicación neuronal es lo que nos hace inteligentes y nos permite tener información sobre el exterior o interior del organismo, por lo cual la creación de una red neuronal artificial sería un gran avance para la IA ya que constituiría a la solución de problemas de pérdidas de información.

El gran objetivo de la Inteligencia Artificial de crear entes que razonen, no puede llevarse a cabo sin antes estudiar cómo y porqué los humanos razonamos por lo cual estudio de las RNA es esencial. 

BIBLIOGRAFÍA


Basogain, X. 2008. Redes neuronales artificiales y sus aplicaciones.(En línea). ES. Consultado, 2 de dic.2014. Formato PDF. Disponible en: cvb.ehu.es/open_course_ware/castellano/.../redes.../libro-del-curso.pdf

García, P. 2004. Introducción a las redes neuronales y su aplicación a la investigación astrofísica. (En línea). ES. Consultado, 2 de dic.2014. Formato PDF. Disponible en: www.iac.es/sieinvens/SINFIN/Sie_Courses_PDFs/NNets/confiac.p

Izurieta, F y Saavedra, C. 2000. Redes Neuronales artificiales. (En línea). ES. Consultado, 2 de dic .2014. Formato PDF. Disponible en: www.uta.cl/charlas/volumen16/Indice/Ch-csaavedra.pdf

Isasi, P y Galván,I. 2004. Redes neuronales artificiales: Un enfoque práctico. 1 ed. España.  Pearson Education. p 248

Salas, R. 2004. Redes Neuronales artificiales. (En línea). ES. Consultado, 2 de dic .2014. Formato PDF. Disponible en: www.inf.utfsm.cl/~rsalas/.../Redes%20Neuronales%20Artificiales.pdf


miércoles, 12 de noviembre de 2014

La naturaleza del entorno

INTRODUCCIÓN

Como ya sabemos la inteligencia artificial tiene el objetivo de estudiar entidades inteligentes, el estudio de estas entidades debe darse mediante un orden y clasificación de las diferentes entidades racionales que existen o pueden crearse para ser más clara , un agente taxista no tendrá los mismos objetivos que cumplir, ni el mismo entorno, ni los mismos actuadores ni sensores que los que tendría un agente aspiradora y si los tuviera, uno de los dos agentes o ambos tendría un diseño equivocado por lo cual no cumplirá con su función correctamente , es por ésto que la inteligencia artificial, clasifica los tipos de entorno en los que un agente pueda trabajar, de manera que se facilite la implementación de un agente y se escoja bien el diseño del mismo ya que de una correcta clasificación depende también el correcto funcionamiento del agente.

OBJETIVO


El objetivo de la siguiente clase es el estudio de los distintos entornos de trabajo que existen dependiendo el tipo de agente a diseñar.

MARCO TEÓRICO

¿Qué es un entorno de trabajo?

Se podría definir al entorno de trabajo como las condiciones que ocurren dentro del cumplimiento laborar, pero enfocando éste concepto a la Inteligencia Artificial y al diseño de agentes inteligentes o racionales, entorno de trabajo es representado por los problemas, los cuales serán solucionados por los agentes.


Especificación del entorno de trabajo

La inteligencia artificial debe tomar en cuenta siempre el entorno en el que los agentes se desenvolverán por lo cual se especifica el REAS que significa lo siguiente:
Imagen 1: REAS definición.
Cabe recalcar que el REAS varía dependiendo del tipo de agente así como lo indica el cuadro 1:


Cuadro 1: REAS para cada tipo de agente.

Propiedades de los entornos de trabajo

Los entornos de trabajo que pueden tener los agentes varían dependiendo del tipo de agente y la clasificación de estos entornos servirá mucho para diseñar el agente.

  • Totalmente observable  vs. parcialmente observable

El entorno de trabajo es totalmente observable cuando los aspectos que sirven para la toma de decisiones son todos detectados por los sensores y es parcialmente observable cuando se da lo contrario por razones como ruido o quizá sensores no muy exactos o adecuados para el tipo de agente.



  • Determinista vs. estocástico.
Un agente es estocástico cuando se basa en las probabilidades y la incertidumbre de no saber exactamente lo que ocurrirá en su entorno, en cambio cuando el medio está determinado por el estado actual,  el agente es Determinista.

Estratégico: Un agente puede ser estratégico si el medio es determinista sin embargo las acciones de otros agentes no lo son, como en el caso del juego de ajedrez o el taxi automático.

  • Episódico vs. secuencial

Un agente es episódico cuando su acción no determina una secuencia de acciones futuras, en cambio es secuencial cuando sus acciones pueden cambiar el resto de acciones, como por ejemplo una frenada en mal momento del agente taxista puede determinar un sin número de acciones futuras.


  • Estático vs. dinámico.

Un agente es estático cuando el medio ambiente no cambia mientras se toma la decisión, y un agente dinámico es todo lo contrario, como en el caso del agente taxista, al girar a la derecha puede cambiar su entorno de muchas maneras mientras toma esa decisión de girar. 


SemiDinámico: Es cuando el rendimiento del agente cambia aunque el entorno no lo haga.

  • Discreto vs. contínuo.

Un agente discreto es aquel en el que el tiempo, el medio y las percepciones que tiene no son infinitas como lo haría un agente continuo.


  • Agente individual vs. multiagente

Un agente individual es aquel que no depende de otro para cumplir con su medida de rendimiento, como es el caso del agente aspiradora, sin embargo un multiagente sería un agente jugador de ajedrez cuya medida de rendimiento depende también del rendimiento del otro agente.

Para poder entender mejor los distintos entornos con los que el agente puede ser diseñado el cuadro 2 muestra algunos ejemplos con diferentes agentes.
Cuadro 2: Propiedades del entorno según los agentes.

Aporte: Chips basados en el cerebro humano

El cerebro humano tiene un funcionamiento complejo y sorprendente y su red de información tiene alrededor de 86.000 millones de neuronas que se conectan unas con otras en un constante intercambio de información, y es que a pesar de que los computadores realicen tareas mucho más rápido que las personas, para ser más concretos el tiempo de respuesta es en una nanosegundo, el cerebro es mucho más experto en lo que sabe hacer, por lo cual ningún ordenador se compara a su funcionamiento.

La empresa desarrolladora mundialmente reconocida IBM desarrolló un chip llamado TrueNorth que tiene aproximadamente 256 millones de conexiones y es la base del sistema computacional.


CONCLUSIÓN

El diseño de un agente y su implementación no puede darse sin antes tener en cuenta las medidas de rendimiento que especifican las funcionabilidades principales, el entorno que será donde trabaje el agente, los actuadores que permiten que actué con el entorno y los sensores que permiten percibir el mismo, todo lo anteriormente dicho es definido más claramente como REAS.
Un agente puede tener varios tipos de entorno así mismo como distintos REAS y de su correcto diseño depende también el correcto funcionamiento del agente y que éste pueda alcanzar los objetivos que en un principio fueron planteados. 

BIBLIOGRAFÍA


Hermoso, R y Centeno, R. 2010. Inteligencia Artificial. ES. Consultado el 12 de nov. 2014. Formato PDF. Disponible en: www.ia.urjc.es/cms/sites/default/files/userfiles/.../tema01_to_print.pdf

Jiménez,L. Sánchez, L. 2007. Agentes Inteligentes. ES. Consultado el 12 de nov. 2014. Formato PDF. Disponible en: http://www.sanchezcrespo.org/Docencia/IA/IA%20-%20Tema%203B%20-%20Busquedas%20v1.3.pdf

Russell, S y Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. 2 ed. España. Pearson Education. p 34-47.


V. Julián, V. Botti. 2000. Agentes Inteligentes: el siguiente paso en la Inteligencia Artificial. ES. Consultado el 11 de nov. 2014. Formato PDF. Disponible en: http://www.ati.es/novatica/2000/145/vjulia-145.pdf

martes, 11 de noviembre de 2014

Buen comportamiento: el concepto de racionalidad

INTRODUCCIÓN

La inteligencia artificial tiene como objetivo principal estudiar las entidades inteligentes, para luego crear entidades que logren pensar como humanos. Los agentes racionales son aquellos que logran actuar de manera correcta dentro de su entorno, todo esto mediante actuadores y sensores, así como los seres humanos, el cuerpo es el que percibe el entorno mediante los sensores, y la mente determina las acciones que conllevan las percepciones, una medida de rendimiento será en este caso la guía del proceso.

Hacer que un agente artificial tenga autonomía, es decir actué en base a la secuencia de percepciones y pueda tener la capacidad de ir aprendiendo a medida que su entorno evoluciona, es el principal objetivo de la IA, para así lograr crear agentes que sepan hacer lo correcto y actúen de manera eficiente sin depender únicamente de los conocimientos que los diseñadores impongan.

OBJETIVO


El objetivo de la siguiente publicación es aprender sobre los agentes que son capaces de razonar, es decir, los agentes inteligentes o racionales y la omnisciencia, aprendizaje y autonomía que pueden tener los mismos.


MARCO TEÓRICO

Agente Racional

Un agente racional es un ente capaz de actuar de manera razonable analizando su entorno y ejecutando acciones mediante actores y sensores los que permitirán elegir la mejor de las opciones posibles para de esta forma lograr obtener beneficios.

Un agente racional debe tener la capacidad de diferenciar entre lo que es correcto y lo que no lo es.

Un agente de es un sistema de computación que tiene autonomía y flexibilidad, entendiéndose por ésto último a las siguientes características:


  • Reactivo: Es decir que pueda responder a cambios en el medio que se encuentre
  • Pro-activo: El agente debe cumplir sus objetivos propios.
  • Social: Debe existir comunicación con otros agentes.

La meta de la Inteligencia Artificial es diseñar un agente que tenga la capacidad de razonar de acuerdo con el medio en el que se desenvuelva, y que básicamente haga dos cosas importantes:


  • Deben fijar medidas de rendimiento eficientes
  • Tener en cuenta el Principio de Racionalidad Restringida de Herbert Simon



Imagen 1: Agente inteligente


Medidas de Rendimiento

Las medidas de rendimiento son los criterios determinadores del éxito de un agente, un agente debe percibir el entorno y luego de ésto tendrá una secuencia de percepciones y si ésta es la adecuada, el agente actúa de manera correcta.

Existen distintas medidas de rendimiento distinguiendo los tipos de agente al que se refieran, los agentes podrían no saber qué responder sobre su actuar , o podrían también engañarse a si mismos como las personas que fingen no querer algo después de que ya no lo han conseguido, para que un agente sepa responder sobre su actuar es necesario tener medidas de rendimiento objetivas.


Las medidas de rendimiento deben diseñarse de acuerdo con el agente y su entorno, más que por cómo se cree que el agente debe comportarse.



Racionalidad

La racionalidad depende de 4 factores:
Gráfico 1: Factores de la racionalidad

Un agente racional pretende actuar de la manera más correcta maximizando las utilidades, es decir el rendimiento, basándose en la secuencia de percepciones que tiene almacenadas.

Gráfico 2: Factores importantes para determinar si un agente es racional o no.

En el caso del agente aspiradora éste es premiado por cada recuadro limpio alrededor de un promedio de tiempo y esa es su medida de rendimiento, conoce el entorno aunque el agente no sabe qué tan lejos está de la suciedad, el agente aspiradora mantiene limpio el cuadriculo en el que se encuentra y percibe su localización actual mediante sensores, su actuador es realizar la acción de moverse a la izquierda, derecha, limpiar o simplemente no hacer nada. Explicando de ésta forma se podría decir que el agente es racional, sin embargo, cuando el piso está limpio no habría nada que hacer y si el agente realiza acciones de buscar cuadros sucios, este no estaría actuando de manera racional, el agente debe tener la capacidad de percibir el entorno y limpiar sólo si es necesario y si no conoce el entorno , explorarlo.

Omnisciencia, aprendizaje y autonomía

La Omnisciencia: Ser omnisciente o clarividente no nos hace inteligentes, y la omnisciencia trata de ésto, es la capacidad que tendrá un agente, de saber absolutamente todo, hasta lo que ocurrirá en el futuro, es decir, tener todo calculado.

Un ejemplo de que los agentes no aplican la omnisciencia independientemente de si son o no racionales, es lo que pasó en un caso de 1000 maneras de morir, un señor cruzo la calle cuando estaba en rojo y ésto era lo que haría cualquier agente racional en su posición sin embargo, por fallas eléctricas para los conductores el semáforo estaba en verde, por lo cual el señor fue atropellado y murió. Son muchas las cosas que pasan que no siguen una secuencia con lo que suele pasar, cada día es distinto y no existe el plan llevado a cabo con perfección, por lo cual, ser omnisciente es imposible hasta ahora.

La perfección no hace que el agente sea racional, más bien el agente se debe guiar y ejecutar acciones por medio de la secuencia de percepciones que tendrá y se llevan a cabo acciones con el fin de modificar las futuras percepciones para lo cual es necesario :


  • Recopilar información.
  • Explorar.

El aprendizaje: Para que un agente sea considerado racional necesita no sólo percibir algo, sino también aprender sobre la secuencia de percepciones que tiene, existen algunos agentes que conocen su entorno de trabajo a la perfección, por lo cual solo tienen que dedicarse a actuar de manera correcta o incorrecta.

Existen agentes que siguen solamente la secuencia de percepciones pero en este caso el agente debe tener la capacidad de percibir y aprender en conjunto, como por ejemplo las hormigas, cuando llevan su alimento lo hacen casi mecánicamente, si alguien les quitara el alimento de encima, ellas no se regresarían a ver otro poco de comida si no que más bien harían de cuenta que nada pasó, y ésto es muy propio de agentes no racionales, es decir no aprenden sobre las percepciones.

La autonomía: 

Para que un agente sea autónomo necesita centrarse en las percepciones del medio en que se encuentre más que en el código que le dio el diseñador, es decir, los agente autónomos no se guían por reglamentos externos impuestos. Pueden haber dos clases de agentes autónomos y son los que tienen una conducta basada en su experiencia es decir percepciones, y los que basan su conducta a partir de su red neuronal.

Cuando es la primera vez que el agente se encuentra en un medio o actuando, este no necesariamente tiene que ser autónomo, ya que al igual que los seres humanos, primero el agente debe aprender para luego y llenando el conocimiento que le dieron al inicio, como cuando se enseña a los bebés a decir papá o mamá y en el transcurso el niño aprende palabras que oyó y que los padres no enseñaron inicialmente, ese sería el comportamiento de un agente inteligente.

Un agente aspiradora con autonomía por ejemplo, será más eficiente ya que sabrá hacia dónde deber ir según lo que va aprendiendo.

Aporte: Robot Golem 

Es el primer robot desarrollado en México, capaz de mantener una conversación en español, de la forma en la que lo haría una persona y se basa en la tecnología que se desarrolló para los Diálogos Inteligentes Multimodales.
Los componentes que permitían que el robot mantuviera una conversación son:

  • Visión computacional.
  • Desligue de texto, imágenes y videos.




CONCLUSIÓN

Un agente racional es aquel que tiene la capacidad de razonar, es decir es inteligente, ya que por medio de percepciones o redes neuronales va aprendiendo y no se quedará sólo con el conocimiento dado por el diseñador, ya que el medio en el que los agentes se desarrollan cambia, y el agente debe tener las medidas de rendimiento más eficientes para cumplir mejor sus objetivos.
Un agente inteligente artificial sin embargo no puede saberlo todo y actuar respecto a este conocimiento, ya que ni siquiera los seres humanos lo han logrado, el agente inicialmente tendrá conocimientos básicos y luego deberá aprender según como se den los sucesos en su entorno,y razonará en base a la secuencia de percepciones lo cual lo llevará a ser un agente autónomo.

BIBLIOGRAFÍA


Jiménez,L. Sánchez, L. 2007. Agentes Inteligentes. ES. Consultado el 13 de nov. 2014. Formato PDF. Disponible en: http://www.sanchezcrespo.org/Docencia/IA/IA%20-%20Tema%203B%20-%20Busquedas%20v1.3.pdf

Romero, J; Dafonte, C; Gómez, A; Penousal, J. 2007. Inteligencia Artificial y Computación Avanzada. ES. Colección Informática nº 13. p 400.

Russell, S y Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. 2 ed. España. Pearson Education. p 34-47.


V. Julián, V. Botti. 2000. Agentes Inteligentes: el siguiente paso en la Inteligencia Artificial. ES. Consultado el 11 de nov. 2014. Formato PDF. Disponible en: http://www.ati.es/novatica/2000/145/vjulia-145.pdf

martes, 4 de noviembre de 2014

Agentes y su Entorno

INTRODUCCIÓN

Para que la inteligencia artificial sea llevada a cabo se necesitan de agentes que cumplan ciertos procesos, quienes más participan en la ciencia de la IA son los agentes inteligentes, entidades capaces de percibir de su entorno y así pensar y actuar de manera racional entendiendo que debe maximizar los resultados para obtener beneficios.
Los agentes inteligentes son  tomados como parte central de la Inteligencia Artificial y en las siguientes publicaciones se explicará como la racionalidad es aplicada a los diferentes agentes del universo analizando los medios en los que éstos se desenvuelven.

OBJETIVO


El objetivo de la siguiente publicación es aprender cómo los agentes pueden razonar con respecto al entorno en el que se desenvuelven.


MARCO TEÓRICO

¿Qué es un agente?

Un agente es cualquier organismo capaz de percibir el entorno que lo rodea es decir su medio ambiente, por medio de sensores y que se permite actuar por medio de actuadores.

Imagen 1: Los agentes interactúan con el medio ambiente por medio de actuadores y sensores.

¿Qué son los sensores y por qué permiten que agentes perciban su entorno?

Un sensor es un dispositivo detector de magnitudes físicas o químicas tales como temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, movimiento, pH, etc.

Imagen 2: Ejemplo de sensor, sensor de efecto Hall para la determinación de la posición.

Mediante los sensores los agentes pueden percibir el entorno que los rodea como en la Imagen 2 , un agente con el sensor de Hall podrá determinar su posición así como también medir campos magnéticos o corrientes.


¿Qué son los actuadores y por qué permiten que agentes interactúen con su entorno?

Los actuadores tienen el objetivo de generar el movimiento de los elementos de un agente según las ordenes dadas por la unidad de control es decir que los agentes reaccionan a un estímulo realizando una acción.

Agentes humanos - Agentes Inteligentes

Una agente humano tiene órganos sensoriales y partes del cuerpo que permiten realizar acciones, como las piernas para caminar o correr, un agente robot también recibe pulsaciones tan solo que éstas por medio del teclado, vía red entre otras.

Las percepciones son las entradas de datos o información que los agentes reciben en cualquier momento y al conjunto de percepciones que hacen referencia al historial de percepciones que el agente ha tenido a lo largo de un determinado tiempo, se les llaman secuencia de percepciones.


Gráfico 1: Agente inteligente simple.

La función de los agentes es controlar el comportamiento de los agentes: "Un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante". ( Russell, S y Norvig, P. 2008). Es por esto que se podría saber la decisión que tomará un agente en base a la secuencia de percepciones.

Programa del agente: Es la implementación completa que se ejecuta en la arquitectura del agente.

En la siguiente figura se simula a una aspiradora y su función de limpiar tanto en el mundo  A como en el B la aspiradora percibe en qué cuadro se encuentra y si está sucio o no lo está, si está sucio deberá limpiar, una vez limpio puede elegir si se mueve a la izquierda o derecha o no hacer nada.

Imagen 3: Mundo Aspiradora
Imagen 4: Tabla parcial de una función de agente sencilla para el mundo de la aspiradora

Los distintos agentes tienen una tabla de secuencias con las que pueden dirigirse, de cómo funcionan los agentes y que hace que estos sean considerados razonables o no depende de aspectos considerados en las siguientes publicaciones.


Aporte: Congreso Internacional sobre Redes Neuronales

El Granada Seminar que es patrocinado por Ministerio de Educación y Ciencia, por la Sociedad Europea de Física (EPS) y por la Fundación SNN de Redes Neuronales trata fundamentalmente de los recientes avances de las redes neuronales y del paradigma que es el cerebro humano, distintos catedráticos de la Universidad de Granada celebran desde 1990 los descubrimientos sobre redes neuronales y en el 2014 catedráticos y expertos en el tema de más de 30 países, se reunieron para dar conferencias sobre el tema.
En éste congreso se debaten temas como:

  • Resultados experimentales de las RNA.
  • Mecanismos congnitivos de las RNA
  • Toma de decisiones
  • Almacenamiento de información
  • Procesos de reconocimiento
  • Criticalidad, estabilidad y sincronización del cerebro.
Más de 200 investigadores de primera línea provenientes de América, Europa, Asia y África son acogidos por el congreso de la Universidad de granada.

CONCLUSIÓN

Los agentes son organismos capaces de realizar alguna acción determinada y puedes ser diferenciados entre inteligentes o no, sin embargo un agente inteligente o no debe ser capaz de percibir su entorno y actuar en cuanto a el, para lo cual necesita actuadores que permiten ejecutar las acciones y sensores que permiten percibir el medio ambiente.

Las percepciones que tiene un agente son importantes para las siguientes acciones que desempeñará es por lo tanto que el agente guarda una especie de lista con las secuencias de las percepciones en cuanto a su entorno.


BIBLIOGRAFÍA


Basogain, X. 2008. Redes neuronales artificiales y sus aplicaciones.(En línea). ES. Consultado, 21 de dic.2014. Formato PDF. Disponible en: cvb.ehu.es/open_course_ware/castellano/.../redes.../libro-del-curso.pdf

Isasi, P y Galván,I. 2004. Redes neuronales artificiales: Un enfoque práctico. 1 ed. España. Pearson Education. p 248


Romero, J; Dafonte, C; Gómez, A; Penousal, J. 2007. Inteligencia Artificial y Computación Avanzada. ES. Colección Informática nº 13. p 400.

Russell, S y Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. 2 ed. España. Pearson Education. p 34-47.


V. Julián, V. Botti. 2000. Agentes Inteligentes: el siguiente paso en la Inteligencia Artificial. ES. Consultado el 4 de nov. 2014. Formato PDF. Disponible en: http://www.ati.es/novatica/2000/145/vjulia-145.pdf

sábado, 25 de octubre de 2014

Historia de la inteligencia artificial

INTRODUCCIÓN

El estudio de la Inteligencia Artificial no sólo es primordial para quienes estén interesados en la ingeniería biogenética, computacional, informática o para quienes simplemente tienen amor por las nuevas ciencias, sino que también es interesante, pero después de saber los principales conceptos sobre la IA, y conocer la historia sobre las ciencias que la componen, es muy justo hablar también de los sucesos y los personajes que permitieron el desarrollo de la IA, es decir es indispensable hablar de la interesante historia de la Inteligencia Artificial.

Si bien es cierto que la historia puede ser para algunos un tanto aburrida, saber sobre la historia de las cosas es algo definitivamente necesario, conocer la historia de la Inteligencia Artificial permite a que las nuevas generaciones no realicen los mismos experimentos ya antes realizados y se centren más bien en proponer nuevas y mejores teorías.

OBJETIVO

El objetivo de la siguiente publicación es conocer la historia de la Inteligencia Artificial y los principales personajes que por medio de arduas investigaciones de años, teorías, y un gran esfuerzo hicieron posible el desarrollo de uno de los campos más interesantes en la actualidad, la IA.

MARCO TEÓRICO

Génesis de la inteligencia artificial (1943-1955)

Imagen 1: Principales autores de la inteligencia artificial

Como se puede apreciar en la imagen 1, Warren McCulloch y Walter Pitts fueron los autores del primer trabajo realizado en la Inteligencia Artificial en 1943, aunque en sí la inteligencia artificial surgiera muchos años más tarde.

Para su trabajo McCulloch y Pitts utlizaron 3 conceptos básicos:

  • La fisiología básica y el funcionamiento de las neuronas en el cerebro.
  • El análisis de la lógica proposicional de Russell y Whitehead.
  • La teoría computacional de Alan Turing.

Juntos propusieron un sistema basado en neuronas artificiales en el que éstas pasaban de un estado activado a desactivado, en el estado activado era la respuesta a un estimulo que venía desde neuronas vecinas.

Demostraron que los conectores lógicos se podían implementar usando estructuras de red simples, ademas propusieron la regla de la actualización de conexión de las neuronas llamada ahora aprendizaje Hebbiano o de Hebb.

Imagen 2: Estudiantes graduados en el Departamento de Matemáticas de Princeton
Los dos estudiantes de la Imagen 2, Minsky y Edmonds construyeron en 1951 el primer computador a partir de una red neuronal, se llamaba SNARC y fué creado con 3.000 válvulas de vacío y un mecanismo de piloto automático sacado de un avión bombardero, de ésta manera el computador simulaba una red neuronal con 40 neuronas interconectadas. Aunque las teorías presentadas por estos dos estudiantes, a lo largo del tiempo fue demostrado que dieron uno de los primeros pasos en la IA, ademas Marvin Minsky probó teorías que demostraban que la investigación sobre las redes neuronales en ese entonces era muy limitada.

Alan Turing obviamente fue uno de los pioneros en la IA con la prueba de Turing, el aprendizaje automático, los algoritmos genéricos y el aprendizaje por refuerzo.
Imagen 3: Alan Turing

Nacimiento de la inteligencia artificial (1956)


John McCarthy, estudiante de Princeton también fue una de las figuras importantes en la historia de la IA, MacCarthy junto a Minsky, Claude Shannon y Nathaniel Rochester proponía realizar arduas investigaciones sobre las redes neuronales, la teoría de los autómatas  que son máquinas capaces de realizar una acción de manera autónoma sustituyendo a un ser humano en algunos oficios y los conceptos de la IA.

Alien Newell y Herbert Simón eran en ese entonces los personajes de la Inteligencia Artificial más sonados y preferidos por la ciencia, y es  que aunque existían muchos autores de teorías interesantes, Newell y Simón tenían ya un programa que podía pensar de manera no numérica.

El taller de Dartmouth creado en 1956 por MacCarthy y 10 asistentes más, no tuvo ningún progreso después del programa de razonamiento teórico lógico,y mientras pasaban 20 años el taller estuvo a cargo de personas que pertenecían a MIT, CMU, Stanford e IBM, sin embargo se podría decir que un avance fue darle un nombre a ésta ciencia, y fue denominada Inteligencia Artificial por John McCarthy.

La inteligencia artificial no podría pertenecer a las matemáticas porque no se trata de simular la resolución de problemas matemáticos, se trata de la correcta toma de decisiones para obtener beneficios, como se hace en economía, verificando las restricciones que se tienen como en investigación operativa, y obviamente de la metodología para realizar las acciones, todos éstos puntos y más son tomados en cuenta en la IA unicamente.

Entusiasmo inicial, grandes esperanzas (1952-1969)


Cuando la inteligencia artificial apenas nacía todas las pruebas realizadas o la mayoría eran consideradas un gran avance tomando en cuenta que los computadores apenas salían al mercado y únicamente realizaban operaciones matemáticas, a pesar de que muchos pensaban que un computador jamás podría realizar tareas Simón y Newell crearon el SRGP, después del Teorico Lógico este programa solucionaba problemas prácticamente de la manera en la que lo realizaría un ser humano,por lo tanto podría considerarse como el primer sistema que simuló el pensamiento humano.


  • Después del éxito que tuvo SRGP, Simón y Newell en 1976 formularon la hipótesis de sistema de símbolos físicos la cual indicaba que cualquier ser humano o máquina con inteligencia debe manipular una estructura de datos compuesta por símbolos.
  • Arthur Samuel en 1952 creó un conjunto de programas para el juego de damas y permitió que el computador juegue incluso mejor que el creador del programa, con ésto obviamente queda atrás la teoría que nos indica que los computadores sólo hacen lo que nosotros pidamos, este programa fue presentado en televisión en 1956 por primera vez, y causo una gran sensación.
  • Herbert Gelernter construyó en 1959 el DTG o demostrador de teoremas de geometría, el cual sirvió para muchos estudiantes que consideraban a estos problemas, muy complejos.
  • En 1958, de nuevo John MacCarthy hace historia definiendo el segundo lenguaje de alto nivel llamado Lisp  y el cual se convirtió en el lenguaje oficial de la IA, es necesario saber que el primer lenguaje de programación es Fortran. Para MacCarthy era un poco dificil el uso de los computadores debido a la escases de cursos de cómputo, es por esto que unido con otros colegas de MIT inventaron el tiempo compartido.
  • De la misma manera que programas como Teórico Lógico y el Demostrador de Teoremas de Geometría, MacCarthy diseño un programa para la solución de problemas mediante el conocimiento.
  • Minsky se integró a MIT en 1958 y se encontraba muy interesado en hacer que los programas funcionaran desarrollando así el punto de vista anti-lógico, y mientras que MacCarthy en 1963 creaba el laboratorio de IA en la Universidad de Stanford, Minsky guiaba a estudiantes que eligieron un número de problemas limitados en donde su solución requería inteligencia.
  • SAINT fue creado en 1963 por James Slagle y resolvía integrales en cálculos.
  • STUDENT creado por Daniel Bobrow  en 1967 resolvía problemas de álgebra.
  • ANALOGY de Tom Evans fue creada en 1968 y resolvía problemas de la analogía geométrica, generalmente usados para medir la inteligencia.

Mundo de los bloques

Con la invención del mundo de los bloques surgieron varias ideas:



Imagen 4: Mundo de los bloques creado por Winograd

  • En 1971 David Huffman se enfocó en la visión de un ser humano y para esto se apoyo en las teorias del micromundo tambien conocido como la ordenación de bloques.
  • David Waltz también investigó sobre la visión y la propagación de las restricciones en 1975.
  • Patrick Winston en 1970 desarrolló el programa de comprensión del lenguaje natural, a partir del sistema de bloques.
  • Scott Fahlman en 1974 desarrolló el planificador.
  • Winograd y Cowan (1963) mostraron en sus trabajos que muchos elementos se puden representar de una manera colectiva.

Una dosis de realidad (1966-1973)


En los primeros años de la IA la emoción por el desarrollo de la misma era impresionante, fue asi que en 1957 Herbert Simon dijo:  

"Sin afán de sorprenderlos y dejarlos atónitos, pero la forma más sencilla que tengo de resumirlo es diciéndoles que actualmente en el mundo existen máquinas capaces de pensar, aprender y crear. Además, su aptitud para hacer lo anterior aumentará rápidamente hasta que (en un futuro previsible) la magnitud de problemas que serán capaces de resolver irá a la par que la capacidad de la mente humana para hacer lo mismo".

La confianza de Simon en la IA se debía a los grandes avances y pruebas aparentemente fiables de resolución de problemas, por lo cual él aseguraba que en unos 10 años un computador podría ser campeón de ajedrez y si bien es cierto las predicciones que Simon tenia se cumplieron no fue para nada en el tiempo que en el estableció sino que más bien 40 años después.

Los programas creados al principio de la IA, que servían para la resolucióon de algunos tipos de problemas, en realidad carecían de investigación y funcionaban solamente para problemas demasiado básicos.

El traductor fue uno de los programas que en un principio dejó un tanto en ridículo a la IA, y es que para traducir lo que alguien dice o escribe se necesita más que solo conocimiento de palabras si no también centrar de qué tema se está tratando, es por esto que la traducción del ruso al inglés fue la siguiente:

Imagen 5: Traducción del ruso al español

Después de realizadas varias pruebas sin éxitos en el programa de traducción, el gobierno quitó la ayuda económica para ésta investigación y quedó olvidada por un tiempo, obviamente los traductores que hoy tenemos son mucho más avanzados que los de antes sin embargo aún se pierden datos importantes en la traducción.

Otra de las realidades que enfrentó la IA , era que los programas que en principio eran funcionales demostraron que no lo eran tanto ya que solo tenían un pequeño número de variantes u opciones correctas, luego estos programas fueron creados con unas decenas más de opciones sin embargo aún no funcionaban correctamente.

Se plantearon ideas que resultaban impresionantes a simple vista pero que no obtuvieron buenos resultados como las mutaciones aleatorias que requerían largas horas de trabajo de un CPU o varios y la evolución automática.

Sistemas basados en el conocimiento: ¿clave del poder? (1969-1979)


Los métodos débiles era la forma en la que se enlazaban elementos de razonamiento básico y asi encontraban soluciones completas a los problemas planteados.

DENDRAL llegó a tener tanto éxito por ser el primer sistema de conocimiento, éste fue diseñado en Standford en  1969 por Ed Feigenbaum , Bruce Buchanan y Joshua Lederberg y es un programa de análisis químico que permite enumerar todas las estructuras posibles de las moléculas mediante un proceso de búsqueda de generación y prueba jerárquica que se divide en tres partes funcionales: plan, generación y prueba.(Santana, R.2004).

MYCIN es otro sistema experto desarrollado en 1976 por Edgar Shortliffe, Feigenbaum, Buchanan y al igual que DENDRAL fue escrito en lenguaje lisp. Este programa utilizaba 450 reglas aproximadamente y verificaba las infecciones sanguíneas-

Schank y  tros compañeros de trabajo y como Abelson, 1977, Wilensky, 1978, Schank y Riesbeck, 1981 y  Dyer, 1983 se enfocaron en la comprensión del lenguaje natural.

La IA se convierte en una industria (desde 1980 hasta el presente)


En 1982 por McDermott se creó el primer sistema experto comercial llamado R1 el cual utilizaba la elaboración de pedidos informáticos, 4 años más tarde R1 representó un ahorro de aproximadamente 40 millones de dólares al año y en 1988 la inteligencia artificial distribuía mas de 40 sistemas expertos.

En la pelea de Japón y EEUU, por quién investigaba y desarrollaba más en la IA, ésta pertenecía a un proyecto que involucraba diseño de chips y la relación del ser humano con las máquinas.

Regreso de las redes neuronales (desde 1986 hasta el presente)


"Las Redes Neuronales Artificiales, ANN (Artificial Neural Networks) están inspiradas  en las redes neuronales biológicas del cerebro humano. Están constituidas por  elementos que se comportan de forma similar a la neurona biológica en sus funciones  más comunes. Estos elementos están organizados de una forma parecida a la que  presenta el cerebro humano".(Basogain, X. 2008).

Las redes neuronales artificiales tienen algunas semejanzas con las redes neuronales biológicas (García, P. 2004).


 Gráfico 1: Semejanzas entre las ANN y las redes neuronales biológicas.


"En 1982 John Hopfield y otros físicos utilizaban técnicas de la mecánica estadística para analizar las propiedades de almacenamiento y optimización de las redes, tratando colecciones de nodos como colecciones de átomos." (Russell, S y Norvig, P. 2008).


 Psicólogos como David Rumelhart y Geoff Hinton continuaron con el estudio de modelos de memoria basados en redes neuronales.

En 1969 Biyson y Ho propusieron  el algoritmo de aprendizaje de retroalimentación, años más tarde cuatro grupos distintos reabrieron el tema y lo aplicaron a campos como la psicología y la informática.

IA se convierte en una ciencia (desde 1987 hasta el presente)


La IA no podría dejar de ser considerada una ciencia, se han dado demasiadas investigaciones y se han comprobado tantas teorías que la IA fue separada también de las ciencias informáticas y las hipótesis que se planteen deben someterse a rigurosos experimentos y los resultados se analizan estadísticamente.

Si se enfoca a la IA como una ciencia Romero,  Dafonte,  Gómez y Penousal en su libro indican que:
"El estudio del comportamiento inteligente, siendo su fin conseguir una teoría de la inteligencia que explique la conducta que se produce en seres de natural inteligentes, y que guíe la creación de entes artificiales capaces de alcanzar dicho proceder inteligente".(Wells, W.M., 1986).

Aporte: Sreet View 


Las redes neuronales artificiales son uno de los puntos claves en la Inteligencia Artificial y pese a que muchas investigaciones y muchos años pasaron antes de ser tomadas realmente en cuenta, ahora muchos inventos tienen en sus sistemas redes neuronales artificiales.

Sin duda, este invento es algo que ha ayudado en gran manera al turismo, y es que bajo la tutela de Google, el sistema traducido al español como vista de calles tiene un 96% de precisión a la hora de reconocer los números de las calles y no contentos con esto las redes neuronales muy bien utilizadas por los desarrolladores de Google Inc. han también implementado el sistema online que se guía por coordenadas y brinda un tour como si estuvieras en el lugar que quisieras estar.

Imagen 5: Street View

Video Aportativo:

Si bien es cierto, leer enriquece el léxico, un vídeo también es una buena forma de aprender por lo cual el siguiente vídeo resume también la historia de la Inteligencia Artificial.

CONCLUSIÓN


La evolución de la inteligencia artificial tuvo procedimientos, autores pruebas y demás sucesos que conllevan a crear la historia de ésta ciencia, y es que para poder escribir lo que estoy escribiendo, para poder comunicarnos de la forma que ahora lo hacemos y obtener todas las maravillas tecnológicas como smarthphones, tamagotchi´s entre otros inventos, primero se debió pasar por un sin número de pruebas y para poder avanzar en este campo hoy en día es necesario conocer la historia de la IA.

Si bien es cierto se ha avanzado de manera significativa con los inventos pruebas y demás, la Inteligencia Artificial no ha ido creciendo como en principio sus autores anhelaban, y es que la IA al principio tuvo mucho éxito en las pruebas que realizaba, pero poco a poco se empezó a tener problemas cada vez más grandes.

Aunque el proceso de conversión de la IA en una ciencia fuera difícil, fue posible con el paso del tiempo, con las nuevas teorías, nuevos autores y nuevas investigaciones, hasta llegar a la actualidad en donde cada vez se van inventando más cosas para hacer crecer la IA y obviamente la historia de la IA no muere en este año, ni en los próximos, son tantos los avances aunque no en gran rapidez de tiempo , sí en calidad, que la Inteligencia Artificial seguirá siendo historia por mucho tiempo más, y quién sabe, quizá algún día seamos parte de esa historia.

BIBLIOGRAFÍA


Basogain, X. 2008. Redes neuronales artificiales y sus aplicaciones.(En línea). ES. Consultado, 28 de oct.2014. Formato PDF. Disponible en: cvb.ehu.es/open_course_ware/castellano/.../redes.../libro-del-curso.pdf

García, P. 2004. Introducción a las redes neuronales y su aplicación a la investigación astrofísica. (En línea). ES. Consultado, 28 de oct.2014. Formato PDF. Disponible en: www.iac.es/sieinvens/SINFIN/Sie_Courses_PDFs/NNets/confiac.pdf

Romero, J; Dafonte, C; Gómez, A; Penousal, J. 2007. Inteligencia Artificial y Computación Avanzada. ES. Colección Informática nº 13. p 400.

Russell, S y Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. 2 ed. España. Pearson Education. p 34-47.

Santana, R.2004. DENDRAL, El Primer Sistema Experto Basado en Conocimiento. (En línea). ES. Consultado, 28 de oct.2014. Formato PDF. Disponible en:www.it.uc3m.es/jvillena/irc/practicas/estudios/DENDRAL.pdf

Wells, W.M., 1986. “Efficient Synthesis of Gaussian Filters by Cascaded Uniform Filters”. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 9 (2).