domingo, 24 de junio de 2012

Redes neuronales.

Ya sabemos qué lo que una red neuronal aritficial intenta imitar es una red neuronal orgánica. Pero,

Qué es una red neuronal orgánica? El siguiente video lo explica.


Elementos de una Red Neuronal

Elementos de una Red Neuronal Artificial

Las redes neuronales artificiales (RNA) son modelos que intentan reproducir el comportamiento del cerebro. Como tal modelo, realiza una simplificación, averiguando cuáles son los elementos relevantes del sistema, bien bien porque la cantidad de información de que se dispone es excesiva o bien porque es redundante. Una elección adecuada de sus características, más una estructura conveniente, es el procedimiento convencional utilizado para construir redes capaces de realizar determinada tarea.
  
1.         Se conoce como capa o nivel a un conjunto de neuronas cuyas entradas provienen de la misma fuente y cuyas salidas se dirigen al mismo destino.
  
2.         Unidad de proceso: La neurona Artificial. Existen tres tipos de unidades en cualquier sistema: entradas, salidas y ocultas. Las unidades de entrada reciben señales desde el entorno; las de salida envían la señal fuera de la red, y las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema.
 
 3.         Estado de Activación. Los estados del sistema en un tiempo t se representan por un vector A(t). Los valores de activación pueden ser continuos o discretos, limitados o ilimitados. Si son discretos, suelen tomar un conjunto discreto de valores binarios, así un estado activo se indicaría con un 1 y un estado pasivo se representaría por un cero. En otros modelos se considera un conjunto de estados de activación, en cuyo valor entre [0,1], o en el intervalo [-1,1], siendo una función sigmoidal.
 
 4.         Función de Salida o de Transferencia. Asociada con cada unidad hay una función de salida, que transforma el estado actual de activación en una señal de salida.

Redes neuronales artificiales e inteligencia artificial.

Las redes neuronales son perfectas para problemas que son muy difíciles de calcular pero que no requieren de respuestas perfectas, sólo respuestas rápidas y buenas. Tal y como acontece con el escenario bursátil en el que se quiere saber ¿compro?, ¿vendo?, ¿mantengo?, o en el reconocimiento cuando se desea saber ¿se parece? ¿es el mismo pero tienen una ligera modificación?
Por otra parte, las redes neuronales son muy malas para cálculos precisos, procesamiento en serie, y no son capaces de reconocer nada que no tenga inherentemente algún tipo de patrón. Es por esto, que no pueden predecir la lotería, ya por definición es un proceso al azar.

En general una Red Neuronal se puede aplicar de forma eficiente a problemas que se encuadran dentro de tres grandes grupos: Optimización, reconocimiento y generalización, esta claro que estos tres tipos engloban un elevado numero de situaciones, lo cual hace que el campo de aplicación de las redes Neuronales sea muy amplio.
Optimización: Esto es principalmente en la gestión empresarial en las cuales son decisiones de optimización encontrar los niveles adecuados de tesorería, de existencias, de producción, construcción de carteras óptimas, etc. Concluyendo, la optimización es encontrar la mejor forma de realizar una tarea en un ambiente con limitaciones.

Reconocimiento: En este tipo de problemas una red Neuronal se entrena con inputs como sonido, letras, números y se procede a la fase de test presentando esos mismos patrones con ruido(es este caso manchas, borrones, etc.) Valga destacar que este es uno de los capos más fructíferos e las redes neuronales y casi todo los modelos han sido aplicacdos con mayor o menor éxito.

      * Redes de Aprendizaje Competitivo
Una red básica de aprendizaje competitivo tiene una capa de neuronas de entrada y una capa de neuronas de salida. Un patrón de entrada x es un simple punto en el espacio real o binario de vectores n-dimensional. Los valores binarios (0 ó 1) de representación local son más usados en los nodos de salida. Esto es, hay tantas neuronas de salida como número de clases y cada nodo de salida representa una categoría de patrones.

miércoles, 20 de junio de 2012

Elementos de una Red Neuronal

Ensayo Redes Neuronales
Las redes neuronales son una técnica eficaz para resolver muchos problemas del mundo real

Introducción
En el mundo cambiante  y con la evolución que ha tenido el ser humano a través de los tiempos, el hombre descubierto como funciona uno de los sistemas más complejos el cerebro.  El cerebro está compuesto por millones de unidades de proceso muy simples que se encuentran inter conectadas entre sí.
A medida que las tecnologías han avanzado el hombre ha descubierto he  inventado  sistemas que puedan lograr la magia que millones de años de evolución lograron, en los seres humanos el pensamiento y el  razonamiento.  Para esto se ha introducido un concepto del cual muchas personas han escuchado hablar Redes Neuronales.  Las cuales tienen la misma arquitectura que una red biológica.



Argumentos
La red consiste en diferentes capas de neuronas, una capa de entrada, capas ocultas, y capas de salida. Las capas de entrada toman la entrada y la distribuyen en las capas ocultas (así llamadas ocultas porque el usuario no puede ver ni sus entradas ni sus salidas. Estas capas ocultas realizan toda la computación necesaria y envían la el resultado a la capa de salida, la cual sorprendentemente envía la salida al usuario. Ahora, para evitar confusiones, no desarrollaré más este tema. Para leer más sobre los diferentes tipos de redes neuronales.
Así como varia también lo hacen las reglas de aprendizaje, pero la mayoría de reglas pueden ser divididas en dos categorías  supervisadas y no supervisadas. Las reglas del aprendizaje supervisado requieren un 'profesor' para que les diga cual es la salida deseada para una entrada dada. Las reglas de aprendizaje entonces ajustan todos los pesos necesarios (esto puede ser muy complicado en redes), y el proceso completo vuelve a empezar hasta que los datos pueden ser analizados correctamente por la red. Las reglas de aprendizaje supervisado incluyen retropropagación y la regla delta. Las reglas sin supervisión no requieren profesores puesto producen su propia salida que será posteriormente evaluada.

 En la actualidad existe muchos tiempos de redes simples, hasta las más complejas. Las redes están organizadas por diferentes capas, una capa de entrada de datos, una capa oculta o capa de caja negra y la capa de salida, la capa de entrada como su nombre lo indica es la que esta es relacionada con la entrada de de datos y se encarga de asignar los datos a las correspondientes capas ocultas, las capas ocultas realizan los cálculos o procesamiento de los datos ingresados y le envía el resultado  a la capa de salida.
En los sistemas informáticos se ha logrado integrar el hardware y el software para un fin en común solucionar problemas y optimizar tiempo de procesamiento. Desde hace tiempos se habla de algoritmos de de aprendizaje adaptativo y auto organización ofreciendo posibilidades de un procesamiento robusto y adaptable, lo cual permite que las redes neuronales se entrenen basadas en unos patrones definidos para determinar los pesos que definen la red.
Las aplicaciones que se encuentran para las redes neuronales son diversas, van desde sistemas de predicciones, minería de datos y reconocimiento de patrones; también está muy ligado con el tema de inteligencia artificial. Las redes neuronales se pueden usar con otras herramientas tales como la lógica difusa, sistemas expertos, estadísticas, la transformación, etc. Se puede decir que las redes neuronales es un gran conjunto de elementos básicos interconectados entre sí. En un futuro se espera que las redes neuronales artificiales puedan llegar a razonar y tomar decisiones por sí mismas, tal como lo hacen los seres humanos; pero sin tener en cuenta los sentimientos. También se espera poder tener conversaciones fluidas entre hombre y máquina.
Hay muchas buenas razones para el uso de redes neuronales y los avances en este campo incrementarán su popularidad. Son excelentes como clasificadores/reconocedores de patrones - y pueden ser usadas donde las técnicas tradicionales no funcionan. Las redes neuronales pueden manejar excepciones y entradas de datos anormales, muy importante para sistemas que manejan un amplio rango de datos (sistemas de radar y sonar, por ejemplo). Muchas redes neuronales son biológicamente plausibles, lo que significa que pueden proveer pistas de como trabaja el cerebro según progresen. Avances en la neurociencia también ayudarán al avance en las redes neuronales ¡hasta el punto en que sean capaces de clasificar objetos con la precisión de un humano y la velocidad de una computadora! El futuro es brillante, el presente por otro lado...
Sí, hay unas cuentas desventajas en las redes neuronales. La mayoría de ellas, de todas maneras, padecen nuestra falta de hardware. La capacidad de las redes neuronales radica en su habilidad de procesar información en paralelo (esto es, procesar múltiples pedazos de datos simultáneamente). Desafortunadamente, las máquinas hoy en día son serie - sólo ejecutan una instrucción a la vez. Por ello, modelar procesos paralelos en máquinas serie puede ser un proceso que consuma mucho tiempo. Como todo en este día y época, el tiempo es esencial, lo que a menudo deja las redes neuronales fuera de las soluciones viables a un problema.Otros problemas con las redes neuronales son la falta de reglas definitorias que ayuden a construir una red para un problema dado - hay muchos factors a tomar en cuanta: el algoritmo de aprendizaje, la arquitectura, el número de neuronas por capa, el número de capas, la representación de los datos y mucho más. De nuevo, con el tiempo siendo tan importante, las compañías no pueden permitirse invertir tiempo de desarrollo para resolver los problemas eficientemente. Esto puede cambiar al avanzar las redes neuronales.
Las redes neuronales son una técnica eficaz para resolver muchos problemas del mundo real. Ellos tienen la capacidad de aprender de la experiencia con el fin de mejorar su rendimiento y adaptarse a los cambios en el medio ambiente. Además de que son capaces de tratar con información incompleta o datos de ruido y puede ser muy eficaz, especialmente en situaciones donde no es posible definir las reglas o pasos que conducen a la solución de un problema.A partir de los datos de medición de una fuente conocida o desconocida, una red neuronal puede ser entrenada para realizar la clasificación, la estimación, la simulación y predicción de los procesos subyacentes que generan datos. Por lo tanto, las redes neuronales, son herramientas de software diseñadas para estimar las relaciones en los datos. Una relación estimada es esencialmente un mapa o una función, sobre los datos en bruto a sus características.El área general de las redes neuronales artificiales tiene sus raíces en nuestra comprensión del cerebro humano. En este sentido, los conceptos iniciales se basaron en los intentos de imitar la manera del cerebro de procesar la información. Los esfuerzos que siguieron dieron lugar a diversos modelos de estructuras de red neuronal biológica y el aprendizaje de algoritmos.





Conclusión
Este ensayo se realizo con el fin  saber el funcionamiento básico de las redes neuronales. añadido una gran cantidad de información sobre redes neuronales, tanto en programas como en ensayos. Tenemos ejemplos de redes neuronales.
Descubrir los diversos campos que han tenido las redes neuronales, así como descubrir las diversas aplicaciones en los diversos ámbitos de la actividad humana.
Analizar aplicaciones en la utilización del perceptrón multicapa en problemas de predicción,  Pues en el campo de la Economía, en problemas que a diario vemos y que son muy complejos de resolver, las finanzas, la bolsa de valores o un problema de tenemos hoy día es la crisis, como es posible llegar a predecir estos fenómenos antes de que llegan a perjudicar a la gente, estas son algunas de estas utilidades que tienen las redes neuronales.
 
Bibliografia
Paginas de donde se Investigo

http://det.bi.ehu.es/~doctorado/guia_rna.pdf5

http://programaeditorial.univalle.edu.co/index.php/component/virtuemart/?page=shop.product_details&category_id=20&flypage=flypage.tpl&product_id=3193

http://www.ciberconta.unizar.es/leccion/redes/170.HTM

domingo, 13 de mayo de 2012

Wolfgang Wahlster - Centro Alemán de IA



Las computadoras del futuro no funcionarán como las actuales, sino que apelarán a todos los sentidos. Ya se trabaja en los prototipos, en Alemania.

lunes, 7 de mayo de 2012

Diferencias entre inteligencia artificial y inteligencia humana


Lo que diferencia la inteligencia natural (humana) de la artificial no es tanto su mayor o menor capacidad de superar problemas, etc, sino la capacidad de decisión propia esté o no acertada; puesto que eso con tiempo se puede llegar a solucionar antes o después. Por ejemplo, un ordenador, aunque sea capaz de llevarnos a la luna, no tendrá capacidad de decisión propia hasta que no cuente con unidades de superposición cuántica capaces de decidir por sí mismos entre 0 y 1 dentro de un marco de posibilidades priorizadas que se le hayan suministrado previamente como programas de referencia o lógica, que es lo mismo que hace nuestra inteligencia natural Integral cuando decide entre los programas de inteligencia vegetativa lógica y analógica que tiene a su disposición alojadas respectivamente en la parte izquierda y derecha cerebral.
Sin embargo, la variedad y rapidez de las funciones de una PC llevan a pensar… ¿serán nuestros cerebros inferiores a las máquinas? Si a alguien le hacen esta pregunta y debe responder en una manera impulsiva y rápida, esta podría llegar a decir que las maquinas son más "inteligentes". No sería una respuesta totalmente errónea: hoy en día  las maquinas realizan, por ejemplo, complicadísimos cálculos matemáticos en segundos, buscan información también en segundos. Esto podría provocar que la gente irreflexivamente conteste que las más inteligentes son las máquinas.
Esta repuesta es criticable, y el fundamento es simple: los seres humanos no somos perfectos, es por eso que algo imperfecto no puede hacer algo perfecto. Es cierto que las máquinas, actualmente, son increíblemente inteligentes y pueden hacer cálculos y tareas de suma precisión de una manera rápida y simple que un hombre no podría hacerlo. Pero esas máquinas fueron creadas por hombres, y la capacidad de realizar esas complicadísimas tareas se las dieron hombre. Es decir, la máquina sin el hombre no hace nada. Si los hombres no tuvieran inteligencia, las máquinas tampoco la tendrían. Y, por lo tanto, al darle el hombre su inteligencia, le da sus errores. EL hombre puede realizar sus tareas cuando quiere, como quiere, la cantidad de veces que quiere y a la velocidad que quiere; la máquina no. Esta última necesita que alguien le especifique todas estas cosas al menos una vez. Alguien podría argumentar contra esto que al hombre, cuando es pequeño, también se le debe indicar qué, cómo y cuándo debe hacer determinadas cosas para que después las incorpore. La diferencia entre este último ejemplo y una máquina reside en que esas indicaciones que se le dan al hombre son como una guía, es decir, el hombre las incorpora con las modificaciones que él crea necesarias según su personalidad, su ámbito social, económico, etc. Y estas modificaciones las puede llevar a cabo gracias a qué puede razonar y decidir. En cambio, las máquinas siguen las indicaciones al pie de la letra, porque, obviamente, carecen de la capacidad de razonamiento y elección, no pueden ni siquiera cuestionarse aquella tarea para la que han sido creados.  
Otra diferencia es la variedad de lo que llamamos inteligencia. No es solamente todo aquello que tenga que ver con ciencias de algún tipo. Existe también lo que el llamado inteligencia emocional, es decir ese tipo de inteligencia que abarca las capacidades de reconocer las emociones propias y ajenas. Una maquina no puede determinar el estado de animo de una persona y, además, carece de emociones y sentimientos.

Características de la inteligencia artificial

1.-  Una característica fundamental que distingue a los métodos de Inteligencia Artificial de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es suficiente para distinguirlo completamente. Otros tipos de programas como los compiladores y sistemas de bases de datos, también procesan símbolos y no se considera que usen técnicas de Inteligencia Artificial.


2.-    El comportamiento de los programas no es descrito explícitamente por el algoritmo. La secuencia de pasos seguidos por el programa es influenciado por el problema particular presente. El programa especifica cómo encontrar la secuencia de pasos necesarios para resolver un problema dado (programa declarativo). En contraste con los programas que no son de Inteligencia Artificial, que siguen un algoritmo definido, que especifica, explícitamente, cómo encontrar las variables de salida para cualquier variable dada de entrada (programa de procedimiento).

3.-  Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmente por las conclusiones intermedias alcanzadas durante las consideraciones al problema específico. Los lenguajes orientados al objeto comparten esta propiedad y se han caracterizado por su afinidad con la Inteligencia Artificial.


4.-  El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas.


5.-  Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta.



martes, 1 de mayo de 2012

Redes neuronales artificiales (Introducción)

Desde la primera mitad del siglo XX se han empezado a desarrollar modelos computacionales que han intentado emular el comportamiento del cerebro humano . Aunque se han propuesto una gran cantidad de ellos, todos usan una estructura en red en la cual los nodos o neuronas son procesos numéricos que involucran estados de otros nodos según sus uniones. Una clase de estos modelos computacionales son las Redes de Neuronas Artificiales.
Las Redes de Neuronas Artificiales (RNA) se han hecho muy populares debido a la facilidad en su uso (ver Figura 1) e implementación y la habilidad para aproximar cualquier función matemática. Las Redes de Neuronas Artificiales, con su marcada habilidad para obtener resultados de datos complicados e imprecisos, pueden utilizarse para extraer patrones y detectar tramas que son muy difíciles de apreciar por humanos u otras técnicas computacionales.  

\includegraphics[width=.95\linewidth]{imagenes/esquemaRNA.eps}
El primer modelo de neurona artificial fue propuesto por McCulloch y Pitts, donde se modelizaba una estructura y un funcionamiento simplificado de las neuronas del cerebro, considerándolas como dispositivos con n entradas, una única salida y sólo dos estados posibles: activa o inactiva .
Una red era, en ese planteamiento inicial, una colección de neuronas de McCulloch y Pitts, todas sincronizadas, donde las salidas de unas neuronas estaban conectadas a las entradas de otras. Algunos de los planteamientos de McCulloch y Pitts se han mantenido desde 1943 sin modificaciones, otros por el contrario han ido evolucionando, pero todas las formalizaciones matemáticas que se han realizado desde entonces, sobre las Redes de Neuronas Artificiales, aún sin pretender ser una modelización exacta de las redes de neuronas biológicas, sí han resultado un punto de partida útil para el estudio de las mismas.

Una de las definiciones que se estima más certera de Red de Neuronas Artificiales es la siguiente: ``Las redes neuronales son conjuntos de elementos de cálculo simples, usualmente adaptativos, interconectados masivamente en paralelo y con una organización jerárquica que le permite interactuar con algún sistema del mismo modo que lo hace el sistema nervioso biológico''.
Su aprendizaje adaptativo, auto-organización, tolerancia a fallos, operación en tiempo real y fácil inserción dentro de la tecnología existente, han hecho que su utilización se haya extendido en áreas como la biológica, financiera, industrial, medio ambiental, militar, salud, etc. . Están funcionando en aplicaciones que incluyen identificación de procesos, detección de fallos en sistemas de control , modelación de dinámicas no lineales, control de sistemas no lineales y optimización de procesos.

En general, se puede encontrar que una Red de Neuronas Artificiales se suele caracterizar por tres partes fundamentales: la topología de la red, la regla de aprendizaje y el tipo de entrenamiento.
En este afán de emular el cerebro, esto es simular tanto su estructura como su funcionamiento, se han desarrollado numerosos modelos de Redes de Neuronas Artificiales , entre los que se pueden mencionar: Perceptron (1957), Adeline y Madeline (1960), Avalancha (1967), Retropropagación (1974), Hopfield y SOM (1980), ART (1986), etc. De los modelos anteriores se puede apreciar que esta idea tiene más de 40 años, sin embargo, sólo en las últimas décadas se ha desarrollado la tecnología que permita su aplicación de manera eficiente.
Cabe destacar, para concluir esta breve introducción, que las Redes de Neuronas Artificiales, gracias al masivo paralelismo de su estructura, gozan de una serie de ventajas:

  • Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o una experiencia inicial.
  • Autoorganización. Una red neuronal puede crear su propia organización o representación de la información que recibe durante la etapa de aprendizaje.
  • Tolerancia a fallos. Gracias a poseer la información distribuída o vía información redundante la destrucción parcial de una red puede conducir a una degradación de su estructura; sin embargo, algunas capacidades de la red se pueden retener, incluso sufriendo daños considerables.
  • Capacidad de generalización. Ante la entrada de datos nuevos es capaz de producir resultados coherentes de acuerdo con la naturaleza del problema para el cual han sido entrenadas.
  • Operación en tiempo real. El cómputo neuronal puede realizarse en paralelo, bien vía software o mediante máquinas especiales para obtener esta ventaja (hardware conexionista o masivamente paralelo).
Pero los sistemas neuronales no están exentos de ciertos inconvenientes. Uno importante es que habitualmente realizan un complejo procesamiento que supone millones de operaciones, por lo que no es posible seguir paso a paso el razonamiento que les ha llevado a extraer sus conclusiones. Sin embargo, en redes pequeñas, mediante simulación o por el estudio de los pesos sinápticos sí es posible saber, al menos, qué variables de las introducidas han sido relevantes para tomar la decisión.


EN ENTRADAS POSTERIORES SE PROFUNDIZARÁ EN EL TEMA.