miércoles, 23 de julio de 2014

EXPOSICIÓN

RED KOHONEN
INTRODUCCIÓN
Existen evidencias que demuestran que en el cerebro existen neuronas que se organizan en muchas zonas, de forma que las informaciones captadas del entorno a través de los órganos sensoriales se representan internamente en forma de capas bidimensionales. Por ejemplo, en el sistema visual se han detectado mapas del espacio visual en zonas de córtex (capa externa del cerebro). También en el sistema auditivo se detecta organización según la frecuencia a la que cada neurona alcanza la mayor respuesta.
Aunque en gran medida esta organización neuronal está predeterminada genéticamente, es probable que de ella se origine mediante el aprendizaje. Esto sugiere, por tanto, que el cerebro podría poseer la capacidad inherente de formar mapas topológicos de las informaciones recibidas del exterior. De hecho, esta teoría podría explicar su poder de operar con elementos semánticos: algunas áreas del cerebro simplemente podrían crear y ordenar neuronas especializadas o grupos con características de alto nivel y sus combinaciones. Se trataría, en definitiva, de construir mapas espaciales para atributos y características.



HISTORIA
Teuvo Kohonen presentó en 1982 un sistema con un comportamiento semejante a la organización de cerebro humano se trataba de un modelo de red neuronal con capacidad para formar mapas de características de manera similar a como ocurre en el cerebro.
El objetivo de Kohonen era demostrar que en un estímulo externo (información de entrada) por sí solo, suponiendo una estructura propia y una descripción funcional del comportamiento de la red, era suficiente para forzar la formación de mapas.
Este modelo tiene dos variantes, denominadas LVQ (Learning Vector Quantization) y TPM (Topology-Preserving Map) o SOM (Self-Organizating Map). Ambas se basan en el principio de formación de mapas topológicos para establecer características comunes entre las informaciones (vectores) de entrada a la red, aunque difieren en las dimensiones de éstos, siendo de una sola dimensión en el caso de  LVQ, y bidimensional, e incluso tridimensional, en la red TPM.


CARACTERÍSTICAS
Pertenece a la categoría de las redes competitivas o mapas de auto organización, es decir, aprendizaje no supervisado. Poseen una arquitectura de dos capas (entrada-salida) (una sola capa de conexiones), funciones de activación lineales y flujo de información unidireccional (son redes en cascada).
Las unidades de entrada reciben datos continuos normalizados, se normalizan así mismo los pesos de las conexiones con la capa de salida. Tras el aprendizaje de la red, cada patrón de entrada activará una única unidad de salida.
El objetivo de este tipo de redes es clasificar los patrones de entrada en grupos de características similares, de manera que cada grupo activará siempre la(s) misma(s) salida(s). Cada grupo de entradas queda representado en los pesos de las conexiones de la unidad de salida triunfante. La unidad de salida ganadora para cada grupo de entradas no se conoce previamente, es necesario averiguarlo después de entrenar a la red.



ARQUITECTURA
En la arquitectura de la versión original (LVQ) del modelo Kohonen no existen conexiones hacia atrás. Se trata de una de las N neuronas entradas y M de salidas. Cada una de las N neuronas de entrada se conecta a las M de salida a través de conexiones hacia adelante (feedfoward).
Entre las neuronas de la capa de salida, puede decirse que existen conexiones laterales de inhibición (peso negativo) implícitas, pues aunque no estén conectadas, cada una de las neuronas va a tener cierta influencia sobre sus vecinas. El valor que se asigne a los pesos de las conexiones hacia adelante entre las capas de entrada y salida (Wji) durante el proceso de aprendizaje de la red va a depender precisamente de esta interacción lateral.
La influencia que una neurona ejerce sobre las demás es función de la distancia entre ellas, siendo muy pequeñas cuando están muy alejadas. Es frecuente que dicha influencia tenga la forma de un sombrero mexicano.
Por otra parte, la versión del modelo denominado TPM (Topology Preserving Map) trata de establecer una correspondencia entre los datos de entrada y un espacio bidimensional de salida, creando mapas topológicos de dos dimensiones, de tal forma que ante datos de entrada con características comunes se deben activar neuronas situadas en próximas zonas de la capa de salida.


FUNCIONAMIENTO
Lo que se pretende es encontrar el dato aprendido más parecido al de entrada para en consecuencia averiguar que neurona se activara y sobre todo en qué zona del espacio bidimensional de salida se encuentra, lo que hace la red en definitiva es una tarea de clasificación ya que la neurona de salida activa la clase a la que pertenece dicha entrada, además como ante otra entrada parecida se activa la misma neurona de salida u otra cercana, debido a la semejanzas entre las clases se garantiza que la neuronas topológicamente próximas sean sensibles a entradas físicamente similares, por tanto esta red es especialmente útil en establecer relaciones entre conjuntos de datos.

ALGORITMO DE APRENDIZAJE
1.    Inicialización de los pesos sinápticos Wijk.
2.    Elección de un patrón de entre el conjunto de patrón de entrenamiento.
3.     Para cada neurona del mapa, calcular la distancia Euclidea entre el patrón de entrada X y el vector de pesos sinápticos.


Distancia Euclidea entre el vector sináptico y la entrada.

4.    Evaluar la neurona ganadora es decir aquella cuya distancia es la menor de todas.
5.    Actualizar los pesos sinápticos de la neurona ganadora y de sus vecinas según la regla de actualización de pesos.



RITMO DE APRENDIZAJE
Determina la variación en los pesos de las neuronas además es una función decreciente con el tiempo y se actualiza con una función lineal.




FUNCIÓN DE VECINDAD
Define en cada iteración t si una neurona i pertenece o no a la vecindad de la ganadora g, esta función determina que neurona son vecina de la ganadora.


6.    Si se llegó al número de iteración establecido, el proceso de aprendizaje finaliza, caso contrario regresa al paso 2.


CONCLUSIÓN
La Red Kohonen es un mapa auto organizado y este es una red Neuronal con un entrenamiento no supervisado. La diferencia y características de la red Kohonen son la competición entre neuronas la definición de vecindades que permiten la ordenación topológicas, existe una relación cercana con los métodos de cuantificación vectorial. Ha sido aplicación con éxito a un gran número de problemas tales como reconocimiento de voz, reconocimiento de texto, reconocimiento de imágenes, en general reconocimiento de patrones, robótica, optimización vectorial, clasificación de proteínas y muchos otros más pero su principal desventaja es la lentitud del entrenamiento.




BIBLIOGRAFÍA


H David y C Jorge. 2010, KOHONEN. (En línea). EC. Consultado, 12 de JULIO. 2014. Formato PDF. Disponible en: http://es.davidhorat.com/publicaciones/descarga/kohonen.pdf

A Luna. 2008. Mapa auto organizativo de Kohonen. (En línea). EC. Consultado, 12 de JULIO. 2014. Formato PDF. Disponible en: http://geneura.ugr.es/~jmerelo/tutoriales/bioinfo/Kohonen.pdf


TREC internet. 2010. Red Kohonen. (En línea). EC. Consultado, 17 de JULIO. 2014. Formato HTML. Disponible en: http://electronica.com.mx/neural/informacion/kohonen.html

miércoles, 9 de julio de 2014

INTRODUCCIÓN DE LAS REDES NEURONALES ARTIFICIALES

INTRODUCCIÓN
En este capítulo veremos lo que son las redes neuronales artificiales que son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas que colaboran entre sí para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.

OBJETIVO
La siguiente clase tiene como objetivo guiarnos en la introducción a las redes neuronales artificiales


HISTORIA

Los primeros modelos de redes neuronales datan de 1943 por los neurólogos McCulloch y Pitts. Años más tarde, en 1949, Donald Hebb desarrolló sus ideas sobre el aprendizaje neuronal, quedando reflejado en la "regla de Hebb". En 1958, Rosemblatt desarrolló el perceptrón simple, y en 1960, Widrow y Hoff desarrollaron el ADALINE, que fue la primera aplicación industrial real.
En los años siguientes, se redujo la investigación, debido a la falta de modelos de aprendizaje y el estudio de Minsky y Papert sobre las limitaciones del perceptrón. Sin embargo, en los años 80, volvieron a resurgir las RNA gracias al desarrollo de la red de Hopfield, y en especial, al algoritmo de aprendizaje de retropropagación ideado por Rumelhart y McLellan en 1986 que fue aplicado en el desarrollo de los perceptrones multicapa.

PROPIEDADES

Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones:
  1. Una función de propagación (también conocida como función de excitación), que por lo general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denominaexcitatoria; si es negativo, se denomina inhibitoria.
  2. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación.
  3. Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]).



Diseño y programación de una RNA (red neuronal artificial)


Con un paradigma convencional de programación en ingeniería del software, el objetivo del programador es modelar matemáticamente (con distintos grados de formalismo) el problema en cuestión y posteriormente formular una solución (programa) mediante un algoritmo codificado que tenga una serie de propiedades que permitan resolver dicho problema. En contraposición, la aproximación basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la redaprenda automáticamente las propiedades deseadas. En este sentido, el diseño de la red tiene menos que ver con cuestiones como los flujos de datos y la detección de condiciones, y más que ver con cuestiones tales como la selección del modelo de red, la de las variables a incorporar y el preprocesamiento de la información que formará elconjunto de entrenamiento. Asimismo, el proceso por el que los parámetros de la red se adecuan a la resolución de cada problema no se denomina genéricamente programación sino que se suele denominar entrenamiento neuronal.
Por ejemplo en una red que se va a aplicar al diagnóstico de imágenes médicas; durante la fase de entrenamiento el sistema recibe imágenes de tejidos que se sabe son cancerígenos y tejidos que se sabe son sanos, así como las respectivas clasificaciones de dichas imágenes. Si el entrenamiento es el adecuado, una vez concluido, el sistema podrá recibir imágenes de tejidos no clasificados y obtener su clasificación sano/no sano con un buen grado de seguridad. Las variables de entrada pueden ser desde los puntos individuales de cada imagen hasta un vector de características de las mismas que se puedan incorporar al sistema (por ejemplo, procedencia anatómica del tejido de la imagen o la edad del paciente al que se le extrajo la muestra).

Estructura


La mayoría de los científicos coinciden en que una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es muchísimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal.
Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadores virtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las conexiones sinápticas biológicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada.
Por otra parte, en una RNA, además de los pesos y las conexiones, cada neurona tiene asociada una función matemática denominada función de transferencia. Dicha función genera la señal de salida de la neurona a partir de las señales de entrada. La entrada de la función es la suma de todas las señales de entrada por el peso asociado a la conexión de entrada de la señal. Algunos ejemplos de entradas son la función escalón de Heaviside, la lineal o mixta, la sigmoide y la función gaussiana, recordando que la función de transferencia es la relación entre la señal de salida y la entrada.

VENTAJAS

Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que están basadas en la estructura del sistema nervioso, principalmente el cerebro.
  • Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cuál es la salida (respuesta) esperada.
  • Auto organización: Una RNA crea su propia representación de la información en su interior, quitándole esta tarea al usuario.
  • Tolerancia a fallos: Debido a que una RNA almacena la información de forma redundante, ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente.
  • Flexibilidad: Una RNA puede manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada (por ejemplo si la información de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente).
  • Tiempo real: La estructura de una RNA es paralela, por lo cual si esto es implementado con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en tiempo real.


APLICACIONES

Las características de las RNA las hacen bastante apropiadas para aplicaciones en las que no se dispone a priori de un modelo identificable que pueda ser programado, pero se dispone de un conjunto básico de ejemplos de entrada (previamente clasificados o no). Asimismo, son altamente robustas tanto al ruido como a la disfunción de elementos concretos y son fácilmente paralelizables.
Esto incluye problemas de clasificación y reconocimiento de patrones de voz, imágenes, señales, etc. Asimismo se han utilizado para encontrar patrones de fraude económico, hacer predicciones en el mercado financiero, hacer predicciones de tiempo atmosférico, etc.
También se pueden utilizar cuando no existen modelos matemáticos precisos o algoritmos con complejidad razonable, por ejemplo la red de Kohonen ha sido aplicada con un éxito más que razonable al clásico problema del viajante (un problema para el que no se conoce solución algorítmica de complejidad polinómica).
Otro tipo especial de redes neuronales artificiales se ha aplicado en conjunción con los algoritmos genéticos (AG) para crear controladores para robots. La disciplina que trata la evolución de redes neuronales mediante algoritmos genéticos se denomina Robótica Evolutiva. En este tipo de aplicación el genoma del AG lo constituyen los parámetros de la red (topología, algoritmo de aprendizaje, funciones de activación, etc.) y la adecuación de la red viene dada por la adecuación del comportamiento exhibido por el robot controlado (normalmente una simulación de dicho comportamiento).

CONCLUSIÓN
En sí las Redes Neuronales Artificiales simulan a una Red Neuronal Biológica pero solo eso la simulan, y hasta el día de hoy no la han podido superar porque es muy compleja. Por otra parte estas están constituidas de muchas neuronas como unidades de procesos simple, existen muchos tipos de neuronas artificiales para tratar de simular una parte del cerebro humano. Entonces se necesitarían miles de millones de redes neuronales artificiales para poder simular el cerebro humano.


BIBLIOGRAFÍA

P Isasi y I Galvan. 2004, Redes Neuronales Artificiales, Un Enfoque Práctico. Editorial, Pearson Educación S.A., Madrid

F Izaurieta y C Saavedra. 2012, Redes Neuronales Artificiales.  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://www.uta.cl/charlas/volumen16/Indice/Ch-csaavedra.pdf




miércoles, 25 de junio de 2014

BUEN COMPORTAMIENTO: EL CONCEPTO DE RACIONALIDAD


INTRODUCCIÓN


Hablando de la racionalidad, podemos decir que un agente racional es aquel que hace lo correcto; en términos conceptuales, cada elemento de la tabla que define la función del agente se tendría que rellenar correctamente. Obviamente, hacer lo correcto es mejor que hacer algo incorrecto, pero ¿qué significa hacer lo correcto? Como primera aproximación, se puede decir que lo correcto es aquello que permite al agente obtener un resultado mejor. Por tanto, se necesita determinar una forma de medir el éxito. Ello, junto a la descripción del entorno y de los sensores y actuadores del agente, proporcionará una especificación completa de la tarea que desempeña el agente.
Ademas se hablara de la Omnisciencia, aprendiz y autónomo.



OBJETIVO

La clase de hoy tendrá como objetivo aprender a distinguir el concepto de racionalidad, Omnisciente, aprendiz y autónomo



MEDIDAS DE RENDIMIENTO

Las medidas de rendimiento incluyen los criterios que determinan el éxito en el comportamiento del agente. Cuando se sitúa un agente en un medio, éste genera una secuencia de acciones de acuerdo con las percepciones que recibe. Esta secuencia de acciones hace que su hábitat pase por una secuencia de estados. Si la secuencia es la deseada, entonces el agente habrá actuado correctamente. Obviamente, no hay una única medida adecuada para todos los agentes. Se puede preguntar al agente por su opinión subjetiva acerca de su propia actuación, pero muchos agentes serían incapaces de contestar, y otros podrían engañarse a sí mismos3. Por tanto hay que insistir en la importancia de utilizar medidas de rendimiento objetivas, que normalmente determinará el diseñador encargado de la construcción del agente.
Si retomamos el ejemplo de la aspiradora de la sección anterior, se puede proponer utilizar como medida de rendimiento la cantidad de suciedad limpiada en un período de ocho horas. Con agentes racionales, por supuesto, se obtiene lo que se demanda. Un agente racional puede maximizar su medida de rendimiento limpiando la suciedad, tirando la basura al suelo, limpiándola de nuevo, y así sucesivamente. Una medida de rendimiento más adecuada recompensaría al agente por tener el suelo limpio. Por ejemplo, podría ganar un punto por cada cuadrícula limpia en cada período de tiempo (quizás habría que incluir algún tipo de penalización por la electricidad gastada y el ruido generado). Como regla general, es mejor diseñar medidas de utilidad de acuerdo con lo que se quiere para el entorno, más que de acuerdo con cómo se cree que el agente debe comportarse. La selección de la medida de rendimiento no es siempre fácil. Por ejemplo, la noción de «suelo limpio» del párrafo anterior está basada en un nivel de limpieza medio a lo largo del tiempo. Además, este nivel medio de limpieza se puede alcanzar de dos formas diferentes, llevando a cabo una limpieza mediocre pero continua o limpiando en profundidad, pero realizando largos descansos. La forma más adecuada de hacerlo puede venir dada por la opinión de un encargado de la limpieza profesional, pero en realidad es una cuestión filosófica profunda con fuertes implicaciones. ¿Qué es mejor, una vida temeraria con altos y bajos, o una existencia segura pero aburrida? ¿Qué es mejor, una economía en la que todo el mundo vive en un estado de moderada pobreza o una en la que algunos viven en la abundancia y otros son muy pobres? Estas cuestiones se dejan como ejercicio para los lectores diligentes.




Racionalidad

La racionalidad en un momento determinado depende de cuatro factores:
La medida de rendimiento que define el criterio de éxito.
El conocimiento del medio en el que habita acumulado por el agente.
Las acciones que el agente puede llevar a cabo.
La secuencia de percepciones del agente hasta este momento.
Esto nos lleva a la definición de agente racional:
En cada posible secuencia de percepciones, un agente racional deberá emprender aquella acción que supuestamente maximice su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en el conocimiento que el agente mantiene almacenado.
Considerando que el agente aspiradora limpia una cuadrícula si está sucia y se mueve a la otra si no lo está, ¿se puede considerar racional? Depende! Primero, se debe determinar cuál es la medida de rendimiento, qué se conoce del entorno, y qué sensores y actuadores tiene el agente. Si asumimos que:
La medida de rendimiento premia con un punto al agente por cada recuadro limpio en un período de tiempo concreto, a lo largo de una «vida» de 1.000 períodos.
La «geografía» del medio se conoce a priori, pero que la distribución de la suciedad y la localización inicial del agente no se conocen. Las cuadrículas se mantienen limpias y aspirando se limpia la cuadrícula en que se encuentre el agente. Las acciones Izquierda y Derecha mueven al agente hacia la izquierda y derecha excepto en el caso de que ello pueda llevar al agente fuera del recinto, en este caso el agente permanece donde se encuentra.
Las únicas acciones permitidas son Izquierda, Derecha, Aspirar y NoOp (no hacer nada).
El agente percibe correctamente su localización y si esta localización contiene suciedad.


Omnisciencia, aprendizaje y autonomía

Es necesario tener cuidado al distinguir entre racionalidad y omnisciencia Un agente omnisciente conoce el resultado de su acción y actúa de acuerdo con él; sin embargo, en realidad la omnisciencia no es posible. Considerando el siguiente ejemplo: estoy paseando por los Campos Elíseos y veo un amigo al otro lado de la calle. No hay tráfico alrededor y no tengo ningún compromiso, entonces, actuando racionalmente, comenzaría a cruzar la calle. Al mismo tiempo, a 33.000 pies de altura, se desprende la puerta de un avión , y antes de que termine de cruzar al otro lado de la calle me encuentro aplastado. ¿Fue irracional cruzar la calle? Sería de extrañar que en mi nota necrológica apareciera «Un idiota intentando cruzar la calle».
Este ejemplo muestra que la racionalidad no es lo mismo que la perfección. La racionalidad maximiza el rendimiento esperado, mientras la perfección maximiza el resultado real. Alejarse de la necesidad de la perfección no es sólo cuestión de hacer justicia con los agentes. El asunto es que resulta imposible diseñar un agente que siempre lleve a cabo, de forma sucesiva, las mejores acciones después de un acontecimiento, a menos que se haya mejorado el rendimiento de las bolas de cristal o las máquinas de tiempo. La definición propuesta de racionalidad no requiere omnisciencia, ya que la elección racional depende sólo de la secuencia de percepción hasta la fecha. Es necesario asegurase de no haber permitido, por descuido, que el agente se dedique decididamente a llevar a cabo acciones poco inteligentes. Por ejemplo, si el agente no mirase a ambos lados de la calle antes de cruzar una calle muy concurrida, entonces su secuencia de percepción no le indicaría que se está acercando un gran camión a gran velocidad. ¿La definición de racionalidad nos está indicando que está bien cruzar la calle? Todo lo contrario! Primero, no sería racional cruzar la calle sólo teniendo esta secuencia de percepciones incompleta: el riesgo de accidente al cruzarla sin mirar es demasiado grande. Segundo, un agente racional debe elegir la acción de «mirar» antes de intentar cruzar la calle, ya que el mirar maximiza el rendimiento esperado. Llevar a cabo acciones con la intención de modificar percepciones futuras, en ocasiones proceso denominado recopilación de información, es una parte importante de la racionalidad. Un segundo ejemplo de recopilación de información lo proporciona la exploración que debe llevar a cabo el agente aspiradora en un medio inicialmente desconocido.

La definición propuesta implica que el agente racional no sólo recopile información, sino que aprende lo máximo posible de lo que está percibiendo. La configuración inicial del agente puede reflejar un conocimiento preliminar del entorno, pero a medida que el agente adquiere experiencia éste puede modificarse y aumentar. Hay casos excepcionales en los que se conoce totalmente el entorno a priori. En estos casos, el agente no necesita percibir y aprender; simplemente actúa de forma correcta. Por supuesto, estos agentes son muy frágiles. Considérese el caso del humilde escarabajo estercolero. Después de cavar su nido y depositar en él su huevos, tomó una bola de estiércol de una pila cercana para tapar su entrada. Si durante el trayecto se le quita la bola, el escarabajo continuará su recorrido y hará como si estuviera tapando la entrada del nido, sin tener la bola y sin darse cuanta de ello. La evolución incorporó una suposición en la conducta del escarabajo, y cuando se viola, el resultado es un comportamiento insatisfactorio. La avispa cavadora es un poco más inteligente. La avispa hembra cavará una madriguera, saldrá de ella, picará a una oruga y la llevará a su madriguera, se introducirá en la madriguera para comprobar que todo está bien, arrastrará la oruga hasta el fondo y pondrá sus huevos. La oruga servirá como fuente de alimento cuando los huevos se abran. Hasta ahora todo bien, pero si un entomólogo desplaza la oruga unos centímetros fuera cuando la avispa está revisando la situación, ésta volverá a la etapa de «arrastre» que figura en su plan, y continuará con el resto del plan sin modificación alguna, incluso después de que se intervenga para desplazar la oruga. La avispa cavadora no es capaz de aprender que su plan innato está fallando, y por tanto no lo cambiará. 
Los agentes con éxito dividen las tareas de calcular la función del agente en tres períodos diferentes: cuando se está diseñando el agente, y están los diseñadores encargados de realizar algunos de estos cálculos; cuando está pensando en la siguiente operación, el agente realiza más cálculos; y cuando está aprendiendo de la experiencia, el agente lleva a cabo más cálculos para decidir cómo modificar su forma de comportarse.
Se dice que un agente carece de aitanonrfa cuando se apoya más en el conocimiento inicial que le proporciona su diseñador que en sus propias percepciones. Un agente racional debe ser autónomo, debe saber aprender a determinar cómo tiene que compensar el conocimiento incompleto o parcial inicial. Por ejemplo, el agente aspiradora que aprenda a prever dónde y cuándo aparecerá suciedad adicional lo hará mejor que otro que no aprenda. En la práctica, pocas veces se necesita autonomía completa desde el comienzo: cuando el agente haya tenido poca o ninguna experiencia, tendrá que actuar de forma aleatoria a menos que el diseñador le haya proporcionado ayuda. Así, de la misma forma que la evolución proporciona a los animales sólo los reactivos necesarios para que puedan sobrevivir lo suficiente para aprender por ellos mismos, sería razonable proporcionar a los agentes que disponen de inteligencia artificial un conocimiento inicial, así como de la capacidad de aprendizaje. Después de las suficientes experiencias interaccionando con el entorno, el comportamiento del agente racional será efectivamente independiente del conocimiento que poseía inicialmente. De ahí, que la incorporación del aprendizaje facilite el diseño de agentes racionales individuales que tendrán éxito en una gran cantidad de medios.


CONCLUSIÓN
En conclusión un agente es racional cuando hace lo correcto, y cuando hace lo correcto se refiere que haga lo que esta destinado a hacer o lo que le dice su programación, porque un agente puede matar a alguien y si esta en su programación es correcto, pero en la ética no es correcto.
Ademas existen tres tipos de agentes, que son: Omnisciente que son aquellos que predicen el futuro, predicen que es lo que va a parar y evitan realizar alguna acción que sea mala en el futuro; Aprendiz son los que aprendes su entrenamiento, y luego lo ponen en practica, hacen lo que aprenden, pero necesitan un entrenamiento; Autónomas estos aprenden y hacen lo que ellos creen necesario, no necesariamente aprenden de un entrenamiento si no que



BIBLIOGRAFÍA

S Russel y P Norvig. 2004, Agentes Racionales.  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://cmapspublic2.ihmc.us/rid=1KNK0LDJ7-245BJ2V-19GR/Russell%20Y%20Norvig%20Inteligencia%20Artificial%20Un%20Enfoque%20Moderno.pdf


P Mashut. 2010, Omniciencia.  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://www.ugr.es/~nef/Docencia_files/Propiedades%20divinas%202%20short.pdf

AGENTES Y SU ENTORNO

INTRODUCCIÓN
Enfocando la IA desde la perspectiva del desarrollo de agentes inteligentes se puede considerar el nuevo reto a corto plazo. Los agentes constituyen el próximo avance mas significativo en el desarrollo de sistemas y pueden ser considerados como la nueva revolución en el software.


OBJETIVO: La clase de hoy tendrá como objetivo saber distinguir un Agente y el Entorno donde se desenvuelve.


AGENTE Y SU ENTORNO

Un agente es un sistema computacional capaz de actuar de manera autónoma para satisfacer sus objetivos y metas, mientras se encuentra situado persistentemente en su medio ambiente.
Un agente humano tiene ojos, oídos y otros órganos sensoriales además de manos,piernas, boca y otras partes del cuerpo para actuar. Un agente robot recibe pulsaciones del teclado, archivos de información y paquetes vía red a modo de entradas sensoriales y actúa sobre el medio con mensajes en el monitor, escribiendo ficheros y enviando paquetes por la red.




AGENTE RACIONAL

Es aquel que hace lo correcto; en términos conceptuales, cada elemento de la tabla que define la función del agente se tendría que rellenar correctamente. Obviamente, hacer lo correcto es mejor que hacer algo incorrecto, pero ¿qué significa hacer lo correcto? Como primera aproximación, se puede decir que lo correcto es aquello que permite al agente obtener un resultado mejor. Por tanto, se necesita determinar una forma de medir el éxito. Ello, junto a la descripción del entorno y de los sensores y actuadores del agente, proporcionará una especificación completa de la tarea que desempeña el agente.



MEDIO AMBIENTE

Observable VS. Parcialmente observable.- Si los sensores de un agente le permiten percibir el estado completo del ambiente en cada punto en el tiempo, decimos que el ambiente es observable. Un ambiente es efectivamente observable si los sensores del agente detectan todos los aspectos relevantes para decidir que acción debe llevarse a cabo. Relevancia aquí depende de la definición de función de desempeño. Los ambientes observables son convenientes debido a que en ellos, un agente no necesita mantener el historial de estados del ambiente para ser efectivo. Un ambiente puede ser parcialmente observable debido a la impresión y el ruido en los sensores; o bien porque algunos aspectos del ambiente caen fuera del rango de lectura de los sensores.

Determinista VS. Estocástico.- Si el próximo estado del ambiente está determinado por la acción que ejecuta el agente, se dice que el ambiente es determinista. Si otros factores influyen en el próximo estado del ambiente, éste es estocástico. Si el ambiente es parcialmente observable, entones aparecerá como no estocástico. Esto es particularmente cierto en el caso de ambientes complejos, donde es difícil dar seguimiento a los aspectos no observables del ambiente. Generalmente es mejor considerar estas propiedades del ambiente, desde el punto de vista del agente. El carácter estocástico del ambiente captura dos nociones importantes:
1. El hecho de que los agentes tienen una esfera de influencia limitada, es decir, en el mejor de los casos tienen un control parcial de su ambiente;
2. y el hecho de que las acciones de un agente puede fallar y no lograr el resultado deseado por el agente.

Por ello, es más sencillo construir agentes en ambientes deterministas. Si el ambiente es determinista, excepto para las acciones de otros agentes, se dice que el ambiente es estratégico.

Episódico VS. Secuencial.- En un ambiente episódico, la experiencia de un agente puede evaluarse en rondas. Las acciones se evalúan en cada episodio o ronda , esto es, la calidad de la acción en los episodios subsecuentes, no depende de las acciones ocurridas en episodios previos. Por ejemplo, el detector de basura en las botellas de una cervecería es episódico: la decisión de si una botella esta sucia o no, no depende de los casos anteriores. Dada la persistencia temporal de los agentes, estos tienen que hacer continuamente decisiones locales que tienen consecuencias globales. Los episodios reducen el impacto de estas consecuencias, y por lo tanto es más fácil construir agentes en ambientes episódicos. Un programa que juega ajedrez está en un ambiente secuencial.

Estático VS. Dinámico.- Si el ambiente puede cambiar mientras el agente se encuentra deliberando, se dice que es dinámico; de otra forma, se dice estático. Si el ambiente no cambia con el paso del tiempo, pero si lo hace con las acciones del agente si lo hace, se dice que el ambiente es semi-dinámico. Los ambientes dinámicos tienen dos consecuencias importantes: Un agente debe percibir continuamente, porque aún si no ha ejecutado ninguna acción entre los tiempos t0 y t1, el agente no puede asumir que el estado del ambiente sea el mismo en t0 que en t1; Otros procesos en el ambiente pueden interferir con las acciones del agente, incluyendo las acciones de otros agentes. Por lo tanto, es más sencillo diseñar agentes en ambientes estáticos.



CONCLUSIÓN

Una buena conclusión, es que los agentes se podría decir que es una de las partes importantes de la Inteligencia Artificial, ya que sin ellos no podríamos percibir el medio en que se trabajará, gracias a esto podemos hacer que haga una función después de procesarla.



BIBLIOGRAFÍA

A Guerra. 2013, Agentes Inteligentes.  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://www.uv.mx/aguerra/documents/2013-ia2-01.pdf


J Pavón. 2010. Agentes Inteligentes. (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://www.fdi.ucm.es/profesor/jpavon/doctorado/arquitecturas.pdf




miércoles, 11 de junio de 2014

LOS FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL



INTRODUCCIÓN

Muchas de las actividades mentales humanas, tales como escribir programas de cómputo, demostrar teoremas, razonar con sentido común y aún conducir un vehículo normalmente se dice que requieren “inteligencia”. Durante las décadas pasadas se ha logrado construir programas que pueden realizar tareas como esas. Existen programas que pueden diagnosticar enfermedades, resolver ecuaciones diferenciales en forma simbólica, analizar circuitos electrónicos, entender en forma limitada frases habladas y escritas o escribir programas de cómputo cumpliendo especificaciones. Se puede decir que tales sistemas posen cierto grado de Inteligencia Artificial (IA).



OBJETIVO
La siguiente clase tiene como objetivo entender los fundamentos de la Inteligencia Artificial, su historia con el pasar de los años, en cuanto a la Filosofía, Matemáticas, Economía, Neurociencia y algunas otras ramas de la ciencia.

LOS FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL

Filosofía (desde el año 428 A.C. hasta el presente)

¿Se pueden utilizar reglas formales para extraer conclusiones válidas?
¿Cómo se genera la inteligencia mental a partir de un cerebro físico?
¿De dónde viene el conocimiento?
¿Cómo se pasa del conocimiento a la acción?

Aristóteles (384-322 a.C.) fue el primero en formular un conjunto preciso de leyes que gobernaban la parte racional de la inteligencia. Él desarrolló un sistema informal para razonar adecuadamente con silogismos, que en principio permitía extraer conclusiones mecánicamente, a partir de premisas iniciales. Mucho después, Ramón Lull (d. 1315) tuvo la idea de que el razonamiento útil se podría obtener por medios artificiales. Sus «ideas» aparecen representadas en la portada de este manuscrito. Thomas Hobbes (1588-1679) propuso que el razonamiento era como la computación numérica, de forma que «nosotros sumamos y restamos silenciosamente en nuestros pensamientos». La automatización de la computación en sí misma estaba en marcha; alrededor de 1500, Leonardo da Vinci (1452-1519) diseñó, aunque no construyó, una calculadora mecánica; construcciones recientes han mostrado que su diseño era funcional. La primera máquina calculadora conocida se construyó alrededor de 1623 por el científico alemán Wilhelm Schickard (1592-1635), aunque la Pascalina, construida en 1642 por Blaise Pascal (1623-1662), sea más famosa. Pascal escribió que «la máquina aritmética produce efectos que parecen más similares a los pensamientos que a las acciones animales». Gottfried Wilhelm Leibniz (1646-1716) construyó un dispositivo mecánico con el objetivo de llevar a cabo operaciones sobre conceptos en lugar de sobre números, pero su campo de acción era muy limitado.

Matemáticas (aproximadamente desde el año 800 al presente)

¿Qué reglas formales son las adecuadas para obtener conclusiones válidas?
¿Qué se puede computar?
¿Cómo razonamos con información incierta?

Los filósofos delimitaron las ideas más importantes de la IA, pero para pasar de ahí a una ciencia formal es necesario contar con una formulación matemática en tres áreas fundamentales: lógica, computación y probabilidad.
El concepto de lógica formal se remonta a los filósofos de la antigua Grecia, pero su desarrollo matemático comenzó realmente con el trabajo de George Boole (1815-1864) que definió la lógica proposicional o Booleana (Boole, 1847). En 1879, GottlobFrege (1848-1925) extendió la lógica de Boole para incluir objetos y relaciones, y creó la lógica de primer orden que se utiliza hoy como el sistema más básico de representación de conocimiento5. Alfred Tarski (1902-1983) introdujo una teoría de referencia que enseña cómo relacionar objetos de una lógica con objetos del mundo real. El paso siguiente consistió en definir los límites de lo que se podía hacer con la lógica y la informática.
Se piensa que el primer a^joritmo no trivial es el algoritmo Euclídeo para el cálculo del máximo común divisor. El considerar los algoritmos como objetos en sí mismos se remonta a la época de al-Khowarazmi, un matemático persa del siglo ix, con cuyos escritos también se introdujeron los números arábigos y el álgebra en Europa. Boole, entre otros, presentó algoritmos para llevar a cabo deducciones lógicas y hacia el final del siglo xix se llevaron a cabo numerosos esfuerzos para formalizar el razonamiento matemático general con la lógica deductiva. En 1900, David Hilbert (1862-1943) presentó una lista de 23 problemas que acertadamente predijo ocuparían a los matemáticos durante todo ese siglo. En el último de ellos se preguntaba si existe un algoritmo que permita determinar la validez de cualquier proposición lógica en la que aparezcan números naturales (el famoso Entscheidungsproblem, o problema de decisión). Básicamente, lo que Hilbert se preguntaba es si hay límites fundamentales en la capacidad de los procedimientos efectivos de demostración. En 1930, Kurt Godel (1906-1978) demostró que existe un procedimiento eficiente para demostrar cualquier aseveración verdadera en la lógica de primer orden de Frege y Russell, sin embargo con la lógica de primer orden no era posible capturar el principio de inducción matemática necesario para la caracterización de los números naturales


Economía (desde el año 1776 hasta el presente)

¿Cómo se deben llevar a cabo acciones cuando otros no colaboren?
¿Cómo se debe llevar a cabo el proceso de toma de decisiones para maximizar el rendimiento?
¿Cómo se deben llevar a cabo acciones cuando los resultados se obtienen en un futuro lejano?

La ciencia de la economía comenzó en 1776, cuando el filósofo escocés Adam Smith (1723-1790) publicó An Inquiríinto the Nature and Causes o f the Wealth ofNations Aunque los antiguos griegos, entre otros, habían hecho contribuciones al pensamiento económico, Smith fue el primero en tratarlo como una ciencia, utilizando la idea de que las economías pueden concebirse como un conjunto de agentes individuales que intentan maximizar su propio estado de bienestar económico. La mayor parte de la gente cree que la economía sólo se trata de dinero, pero los economistas dicen que ellos realmente estudian cómo la gente toma decisiones que les llevan a obtener los beneficios esperados.
Léon Walras (1834-1910) formalizó el tratamiento matemático del «beneficio deseado» o itfid ad , y fue posteriormente mejorado por Frank Ramsey (1931) y después por John von Neumann y Oskar Morgenstern en su libro The Theory o f Games andEconomic Behavior (1944).
La teoría de la decisión, que combina la teoría de la probabilidad con la teoría de la utilidad, proporciona un marco completo y formal para la toma de decisiones (económicas o de otra índole) realizadas bajo incertidumbre, esto es, en casos en los que las descripciones probabilísticas capturan adecuadamente la forma en la que se toman las decisiones en el entorno; lo cual es adecuado para «grandes» economías en las que cada agente no necesita prestar atención a las acciones que lleven a cabo el resto de los agentes individualmente. Cuando se trata de «pequeñas» economías, la situación se asemeja más a la de un juego; las acciones de un jugador pueden afectar significativamente a la utilidad de otro (tanto positiva como negativamente). Los desarrollos de von Neumann y Morgenstern a partir de la teoría dejuegos (véase también Luce y Raiffa, 1957) mostraban el hecho sorprendente de que, en algunos juegos, un agente racional debía actuar de forma aleatoria o, al menos, aleatoria en apariencia con respecto a sus contrincantes.


Neurociencia (desde el año 1861 hasta el presente)

¿Cómo procesa información el cerebro?

La Neurotioicia es el estudio del sistema neurológico, y en especial del cerebro. La forma exacta en la que en un cerebro se genera el pensamiento es uno de los grandes misterios de la ciencia. Se ha observado durante miles de años que el cerebro está de alguna manera involucrado en los procesos de pensamiento, ya que fuertes golpes en la cabeza pueden ocasionar minusvalía mental. También es ampliamente conocido que los cerebros humanos son de alguna manera diferentes; aproximadamente en el 335 a.C. Aristóteles escribió, «de entre todos los animales el hombre tiene el cerebro más grande en proporción a su tamaño»6. Aunque, no fue hasta mediados del siglo xviii cuando se aceptó mayoritariamente que el cerebro es la base de la conciencia. Hasta este momento, se pensaba que estaba localizado en el corazón, el bazo y la glándula pineal. El estudio de Paul Broca (1824-1880) sobre la afasia (dificultad para hablar) en pacientes con el cerebro dañado, en 1861, le dio fuerza a este campo y convenció a la sociedad médica de la existencia de áreas localizadas en el cerebro responsables de funciones cognitivas específicas. En particular, mostró que la producción del habla se localizaba en una parte del hemisferio izquierdo; hoy en día conocida como el área de Broca7. En esta época ya se sabía que el cerebro estaba formado por células nerviosas o neuronas, pero no fue hasta 1873 cuando Camillo Golgi (1843-1926) desarrolló una técnica de coloración que permitió la observación de neuronas individuales en el cerebro. Santiago Ramón y Cajal (1852-1934) utilizó esta técnica es sus estudios pioneros sobre la estructura neuronal del cerebro8.



Psicología (desde el año 1879 hasta el presente)

¿Cómo piensan y actúan los humanos y los animales?

La psicología científica se inició con los trabajos del físico alemán Hermann von Helmholtz (1821-1894), según se referencia habitualmente, y su discípulo Wilhelm Wundt (1832-1920). Helmholtz aplicó el método científico al estudio de la vista humana, y su obra Handbook ofPhysiological Optics, todavía en nuestros días, se considera como «el tratado actual más importante sobre la física y la fisiología de la vista humana» (Nalwa, 1993, p. 15). En 1879, Wundt abrió el primer laboratorio de psicología experimental en la Universidad de Leipzig. Wundt puso mucho énfasis en la realización de experimentos controlados cuidadosamente en la que sus operarios realizaban tareas de percepción o asociación al tiempo que sometían a introspección sus procesos mentales. Los meticulosos controles evolucionaron durante un largo período de tiempo hasta convertir la psicología en una ciencia, pero la naturaleza subjetiva de los datos hizo poco probable que un investigador pudiera contradecir sus propias teorías. Biólogos, estudiando el comportamiento humano, por el contrario, carecían de datos introspectivos y desarrollaron una metodología objetiva, tal y como describe H. S. Jennings (1906) en su influyente trabajo Behavior ofthe Lower Organisms. El movimiento anductista, liderado por John Watson (1878-1958) aplicó este punto de vista a los humanos, rechazando cualquier teoría en la que intervinieran procesos mentales, argumentando que la introspección no aportaba una evidencia fiable. Los conductistas insistieron en el estudio exclusivo de mediciones objetivas de percepciones (o estímulos) sobre animales y de las acciones resultantes (o respuestas). Construcciones mentales como conocimientos, creencias, objetivos y pasos en un razonamiento quedaron descartadas por ser consideradas «psicología popular» no científica. El conductismo hizo muchos descubrimientos utilizando ratas y palomas, pero tuvo menos éxito en la comprensión de los seres humanos. Aún así, su influencia en la psicología fue notable (especialmente en Estados Unidos) desde aproximadamente 1920 hasta 1960.
 



Ingeniería computacional (desde el año 1940 hasta el presente)

¿Cómo se puede construir un computador eficiente?

Para que la inteligencia artificial pueda llegar a ser una realidad se necesitan dos cosas: inteligencia y un artefacto. El computador ha sido el artefacto elegido. El computador electrónico digital moderno se inventó de manera independiente y casi simultánea por científicos en tres países involucrados en la Segunda Guerra Mundial. El equipo de Alan Turing construyó, en 1940, el primer computador operacionalde carácter electromecánico, llamado Heath Robinson11, con un único propósito: descifrar mensajes alemanes. En 1943 el mismo grupo desarrolló el Colossus, una máquina potente de propósito general basada en válvulas de vacío12. El primer computador operacional programable fue el Z-3, inventado por Konrad Zuse en Alemania, en 1941. Zuse también inventó los números de coma flotante y el primer lenguaje de programación de alto nivel, Plankalkúl. El primer computador electrónico, el ABC, fue creado por John Atanasoff junto a su discípulo Clifford Beny entre 1940 y 1942 en la Universidad Estatal de Iowa. Las investigaciones de Atanasoff recibieron poco apoyo y reconocimiento; el ENIAC, desarrollado en el marco de un proyecto militar secreto, en la Universidad de Pensilvania, por un equipo en el que trabajaban entre otros John Mauchly y John Eckert, puede considerarse como el precursor de los computadores modernos.


Teoría de control y cibernética (desde el año 1948 hasta el presente)

¿Cómo pueden los artefactos operar bajo su propio control?

Ktesibios de Alejandría (250 a.C.) construyó la primera máquina auto controlada: un reloj de agua con un regulador que mantenía el flujo de agua circulando por él, con un ritmo constante y predecible. Esta invención cambió la definición de lo que un artefacto podía hacer. Anteriormente, solamente seres vivos podían modificar su comportamiento como respuesta a cambios en su entorno. Otros ejemplos de sistemas de control auto regulables y retroalimentados son el motor de vapor, creado por James Watt (1736-1819),
y el termostato, inventado por Cornelis Drebbel (1572-1633), que también inventó el submarino. La teoría matemática de los sistemas con retroalimentación estables se desarrolló en el siglo xix.


Lingüística (desde el año 1957 hasta el presente)

¿Cómo está relacionado el lenguaje con el pensamiento?

En 1957, B. F. Skinner publicó Verbal Behavior. La obra presentaba una visión extensa y detallada desde el enfoque conductista al aprendizaje del lenguaje, y estaba escrita por los expertos más destacados de este campo. Curiosamente, una revisión de este libro llegó a ser tan famosa como la obra misma, y provocó el casi total desinterés por el conductismo. El autor de la revisión fue Noam Chomsky, quien acababa de publicar un libro sobre su propia teoría, Syntactic Structures. Chomsky mostró cómo la teoría conductista
no abordaba el tema de la creatividad en el lenguaje: no explicaba cómo es posible que un niño sea capaz de entender y construir oraciones que nunca antes ha escuchado. La teoría de Chomsky (basada en modelos sintácticos que se remontaban al lingüista indio Panini, aproximadamente 350 a.C.) sí podía explicar lo anterior y, a diferencia de teorías anteriores, poseía el formalismo suficiente como para permitir su programación.




CONCLUSIÓN
A lo largo del tiempo,  la humanidad ha intentado crear vida artificial, todo se remonta a épocas muy antiguas desde los filósofos como Aristoteles, a pesar de ello que era solamente teoría, hubo un gran avance en las Matemáticas para la Inteligencia Artificial, luego se involucraron todas las ramas de ciencia en general, como son la Economía, Neurociencia, Psicología e Ingeniería Computacional.



BIBLIOGRAFÍA
S Russel y P Norvig. 2004, Fundamentos de la Inteligencia Artificial.  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en: http://cmapspublic2.ihmc.us/rid=1KNK0LDJ7-245BJ2V-19GR/Russell%20Y%20Norvig%20Inteligencia%20Artificial%20Un%20Enfoque%20Moderno.pdf

H Billhartdt, R Ortiz, 2012. Fundamentos de la Inteligencia Artificial,  (En línea). EC. Consultado, 2 de Julio. 2014. Formato PDF. Disponible en:http://www.secyt.frba.utn.edu.ar/gia/IIA-mod1-Fundamentos.pdf