redes neuronales maria jose paredes
Post on 09-Jul-2015
171 Views
Preview:
DESCRIPTION
TRANSCRIPT
TAREA
REDES NEURONALES
ALUMNA:
MARIA JOSE PAREDES ICAZA
CURSO:
9ª “A” MATUTINO
INTRODUCCIÒN
Una de las razones por lo cual los seres humanos y los computadores se necesitan mutuamente, es la diferencia radical que hay entre ellos. Los computadores hacen muy bien tareas que nosotros realizamos torpemente y viceversa. Por ejemplo, los computadores son lógicos y exactos; nosotros no siempre lo somos. Los computadores pueden almacenar, sin errores, cantidades impresionantes de toda clase de información; los humanos que intentan hacer algo similar pertenecen a los archivos Guiness.
Pero los humanos podemos manejar, en escalas que llegan a la genialidad, la incertidumbre, la ambigüedad, la suposición, e integrar en conclusiones, información proveniente de diferentes y múltiples fuentes. El sistema biológico de percepción en un insecto es miles de veces más flexible y poderoso que cualquier programa de computador por extenso, robusto y poderoso que sea.
Las Redes Neuronales Artificiales, fueron originalmente una simulación abstracta de los sistemas nerviosos biológicos, formados por un conjunto de unidades llamadas "neuronas " o "nodos" conectadas unas con otras. Estas conexiones tienen una gran semejanza con las dendritas y los axones en los sistemas nerviosos biológicos.
El cerebro es un procesador de información con unas características muy notables: es capaz de procesar a gran velocidad grandes cantidades de información procedentes de los sentidos, combinarla o compararla con la información almacenada y dar respuestas adecuadas incluso en situaciones nuevas. Logra discernir un susurro en una sala ruidosa, distinguir una cara en una calle mal iluminada o leer entre líneas en una declaración política; pero lo más impresionante de todo es su capacidad de aprender a representar la información necesaria para desarrollar tales habilidades sin instrucciones explícitas para ello.
Aunque todavía se ignora mucho sobre la forma en que el cerebro aprende a procesar la información, se han desarrollado modelos que tratan de mimetizar tales habilidades; es lo que llamamos redes neuronales artificiales ó paradigma de computación conexionista (otras denominaciones son computación neuronal y procesamiento distribuido paralelo, P.D.P.). La elaboración de estos modelos supone en primer lugar la deducción de los rasgos o características esenciales de las neuronas y sus conexiones, y en segundo lugar la implementación del modelo en una computadora de forma que se pueda simular. Es obvio decir que estos modelos son idealizaciones burdas de las auténticas redes neuronales, en muchos casos de dudosa plausibilidad neurofisiológica, pero que, sin embargo, no carecen de interés.
ARQUITECTURAS DE REDES NEURONALES
Se puede estructurar de diferentes formas:
Según el número de capas
Redes neuronales monocapas, Se corresponde con la red neuronal
más sencilla ya que se tiene una capa de neuronas que proyectan las
entradas a una capa de neuronas de salida donde se realizan diferentes
cálculos.
Redes neuronales multicapa, Es una generalización de la anterior
existiendo un conjunto de capas intermedias entre la entrada y la salida
(capas ocultas). Este tipo de red puede estar total o parcialmente
conectada.
Según el tipo de conexiones
Redes neuronales no recurrentes. En esta red la propagación de las
señales se produce en un sentido solamente, no existiendo la posibilidad
de realimentaciones. Lógicamente estas estructuras no tienen memoria.
Redes neuronales recurrentes. Esta red viene caracterizada por la
existencia de lazos de realimentación. Estos lazos pueden ser entre
neuronas de diferentes capas, neuronas de la misma capa o, más
sencillamente, entre una misma neurona. Esta estructura estudia
principalmente la dinámica de sistemas no lineales.
Según el grado de conexión
Redes neuronales totalmente conectadas. En este caso todas las
neuronas de una capa se encuentran conectadas con las de la capa
siguiente (redes no recurrentes) o con las de la anterior (redes
recurrentes).
Redes parcialmente conectadas. En este caso no se da la conexión
total entre neuronas de diferentes capas
Estas estructuras neuronales se podrían conectar entre sí para dar lugar a
estructuras mayores: estamos en el nivel de la mesoestructura. Esta conexión
se puede llevar a cabo de diferentes formas siendo las más usuales las
estructuras en paralelo y jerárquicas. En la primera estructura se plantea un
“consenso” entre las diferentes redes para obtener la salida mientras que en la
estructura jerárquica existen redes subordinadas a otras que actúan como
elementos centrales en la salida final de la red.
ESTRUCTURA Y FUNCIONAMIENTO
s=f(Σ(wi*i))
Fig.2 Estructura de una red neuronal
La estructura de una neurona artificial es la
siguiente:
En el esquema, 1 2 y 3 son los valores de
entrada de la neurona, y w1, w2, w3 son los
pesos de cada entrada. (3 en este ejemplo, pero
puede ser otro número) El valor de salida de la neurona es el sumatorio de
cada valor de entrada multiplicado por su peso correspondiente. La f (de
función) indica que no siempre se emplea el sumatorio directamente, sino que
a veces se “ajusta” el valor para que esté comprendido entre un rango
determinado (por ejemplo, de 0 a 16)
Una neurona artificial tiene dos modos de funcionamiento:
Las neuronas deben ser previamente entrenadas para reconocer patrones.
Esto se hace de la siguiente manera: Se coloca como valores de entrada de la
neurona el patrón a aprender (p.ej. usando la neurona del ejemplo, el patrón 1
1 0) y después se incrementan los pesos de las entradas “utilizadas” (en este
caso la 1 y la 2, que son las que están a 1) y se decrementan los de las no
utilizadas. Los valores de los pesos oscilan generalmente entre -1 y 1, aunque
estos valores pueden ser otros.
La velocidad a la que se ajustan esos pesos varía según el número de
ejemplos con los que se vaya a entrenar a la red. Cuantos más ejemplos se le
vayan a poner a la red, con mayor lentitud debe variar la tasa de aprendizaje.
Puede parecer que cuanto más rápido se ajusten los pesos de las neuronas
más rápido va a aprender a reconocer un determinado patrón, pero esto, que
puede ser cierto a veces para una neurona, generalmente no lo es para una
red neuronal con muchas neuronas. Además, incluso en el caso de una
neurona sola, siempre es mejor poner muchos ejemplos con una tasa de
aprendizaje lenta que no poner unos pocos con una tasa de aprendizaje rápida.
Una vez entrenada la neurona, se utiliza para reconocer ese patrón entre otros.
Ahora basta con presentar un patrón a la neurona, que devolverá un valor
dependiendo del patrón. Entonces, basta con interpretar el resultado; la
neurona habrá reconocido el patrón cuando produzca una salida mayor que
una determinada cantidad, y no lo habrá reconocido cuando la salida sea
menor que esa cantidad.
REDES NEURONALES SUPERVISADAS Y NO SUPERVISADAS
Las redes neuronales se clasifican comúnmente en términos de sus correspondientes algoritmos o métodos de entrenamiento: redes de pesos fijos, redes no supervisadas, y redes de entrenamiento supervisado. Para las redes de pesos fijos no existe ningún tipo de entrenamiento.
Reglas de entrenamiento Supervisado
Las redes de entrenamiento supervisado han sido los modelos de redes más desarrolladas desde inicios de estos diseños. Los datos para el entrenamiento están constituidos por varios pares de patrones de entrenamiento de entrada y de salida. El hecho de conocer la salida implica que el entrenamiento se beneficia la supervisión de un maestro. Dado un nuevo patrón de
entrenamiento, por ejemplo, (m+1)-ésimo, los pesos serán adaptados de la siguiente forma:
Se puede ver un diagrama esquemático de un sistema de entrenamiento supervisado en la siguiente figura:
Reglas de entrenamiento No Supervisado
Para los modelos de entrenamiento No Supervisado, el conjunto de datos de entrenamiento consiste sólo en los patrones de entrada. Por lo tanto, la red es entrenada sin el beneficio de un maestro. La red aprende a adaptarse basada en las experiencias recogidas de los patrones de entrenamiento anteriores. Este es un esquema típico de un sistema "No Supervisado":
Ejemplos típicos son La Regla de Aprendizaje de Hebb, y la Regla de Aprendizaje Competitiva. Un ejemplo del primero consiste en reforzar el peso que conecta dos nodos que se excitan simultáneamente.
Como ejemplo de aprendizaje competitivo, si un patrón nuevo se determina que pertenece a una clase reconocida previamente, entonces la inclusión de este nuevo patrón a esta clase matizará la representación de la misma. Si el patrón de la entrada se determinó que no pertenece a ninguna de las clases reconocidas anteriormente, entonces la estructura y los pesos de la NN serán ajustados para reconocer la nueva clase.
MODELOS DE REDES NEURONALES
Existe una serie de modelos que aparecen en la mayoría de estudios
académicos y la bibliografía especializada.
Perceptrón:
El Perceptrón dentro del campo de las redes neuronales tiene dos
acepciones. Puede referirse a un tipo de red neuronal artificial
desarrollado por Frank Rosenblatt. Y dentro de la misma teoría de Frank
Rosenblatt. También puede entenderse como la neurona artificial y
unidad básica de inferencia en forma de discriminador lineal, es decir, un
algoritmo capaz de generar un criterio para seleccionar un sub-grupo, de
un grupo de componentes más grande. La limitación de este algoritmo
es que si dibujamos en un plot estos elementos, se deben poder separar
con un hiperplano los elementos "deseados" de los "no deseados". El
perceptrón puede utilizarse con otros perceptrones u otro tipo de
neurona artificial, para formar redes neuronales más complicadas.
Adaline:
Generalmente se compone de una sola capa de n neuronas ( por tanto n
valores de salida ) con m entradas con las siguientes características:
Las m entradas representan un vector de entrada que pertenece al
espacio.
Por cada neurona, existe un vector de pesos sinápticos que indican la
fuerza de conexión entre los valores de entrada y la neurona. En la
práctica representan la ponderación de cada entrada sobre la neurona.
Una constante.
La salida de la neurona se representa por la función de activación, que
se define como
Perceptrón multicapa:
El perceptrón multicapa es una red neuronal artificial (RNA) formada por
múltiples capas, esto le permite resolver problemas que no son
linealmente separables, lo cual es la principal limitación del perceptrón
(también llamado perceptrón simple). El perceptrón multicapa puede ser
totalmente o localmente conectado. En el primer caso cada salida de
una neurona de la capa "i" es entrada de todas las neuronas de la capa
"i+1", mientras que en el segundo cada neurona de la capa "i" es
entrada de una serie de neuronas (región) de la capa "i+1".
Memorias asociativas
La memoria asociativa es el almacenamiento y recuperación de
información por asociación con otras informaciones.
Un dispositivo de almacenamiento de información se llama memoria
asociativa si permite recuperar información a partir de conocimiento
parcial de su contenido, sin saber su localización de almacenamiento. A
veces también se le llama memoria de direccionamiento por contenido
Los computadores tradicionales no usan este direccionamiento; se
basan en el conocimiento exacto de la dirección de memoria en la que
se encuentra la información.
Sin embargo, se cree que el cerebro humano no actúa así. Si queremos
recordar el nombre de una persona, no nos sirve saber que fue el
nombre número 3274 que aprendimos. Es más útil saber que su nombre
empieza y termina por 'N' y que es un famoso científico inglés. Con esta
información, es casi seguro que recordaremos exitosamente a "Newton".
Las memorias asociativas son una de las redes neuronales artificiales
más importantes con un amplio rango de aplicaciones en áreas tales
como: Memorias de acceso por contenido, identificación de patrones y
control inteligente.
Una memoria asociativa puede almacenar información y recuperarla
cuando sea necesario, es decir, una red retroalimentada, cuya salida se
utiliza repetidamente como una nueva entrada hasta que el proceso
converge. Puede recuperar dicha información basándose en el
conocimiento de parte de ésta (clave). El patrón clave puede ser una
versión con ruido de un patrón memorizado, es decir, que difiere de él en
pocas componentes. La memoria humana recuerda a una persona
aunque vaya vestida de forma diferente o lleve gafas.
Máquina de Boltzmann
Una máquina de Boltzmann es un tipo de red neuronal recurrente
estocástica. El nombre le fue dado por los investigadores Geoffrey
Hinton y Terry Sejnowski. Las máquinas de Boltzmann pueden
considerarse como la contrapartida estocástica y generativa de las redes
de Hopfield. Fueron de los primeros tipos de redes neuronales capaces
de aprender mediante representaciones internas, son capaces de
representar y (con tiempo suficiente) resolver complicados problemas
combinatorios. Sin embargo, debido a una serie de cuestiones que se
abordan más adelante, las máquinas de Boltzmann sin restricciones de
conectividad no han demostrado ser útiles para resolver los problemas
que se dan en la práctica en el aprendizaje o inferencia de las máquinas.
Aun así resultan interesantes en la teoría debido a la localización y a la
naturaleza hebbiana de su algoritmo de entrenamiento, así como por su
paralelismo y por la semejanza de su dinámica a fenómenos físicos
sencillos. Si se limita la conectividad, el aprendizaje puede ser lo
bastante eficaz como para ser útil en la resolución de problemas
prácticos.
En mecánica estadística se denominan distribuciones de Boltzmann y
son utilizadas en funciones de muestreo.
Máquina de Cauchy
Propagación hacia atrás (backpropagation)
La propagación hacia atrás de errores o retropropagación (del inglés
backpropagation) es un algoritmo de aprendizaje supervisado que se
usa para entrenar redes neuronales artificiales. El algoritmo emplea un
ciclo propagación – adaptación de dos fases. Una vez que se ha
aplicado un patrón a la entrada de la red como estímulo, este se
propaga desde la primera capa a través de las capas superiores de la
red, hasta generar una salida. La señal de salida se compara con la
salida deseada y se calcula una señal de error para cada una de las
salidas. Las salidas de error se propagan hacia atrás, partiendo de la
capa de salida, hacia todas las neuronas de la capa oculta que
contribuyen directamente a la salida. Sin embargo las neuronas de la
capa oculta solo reciben una fracción de la señal total del error,
basándose aproximadamente en la contribución relativa que haya
aportado cada neurona a la salida original. Este proceso se repite, capa
por capa, hasta que todas las neuronas de la red hayan recibido una
señal de error que describa su contribución relativa al error total. La
importancia de este proceso consiste en que, a medida que se entrena
la red, las neuronas de las capas intermedias se organizan a sí mismas
de tal modo que las distintas neuronas aprenden a reconocer distintas
características del espacio total de entrada. Después del entrenamiento,
cuando se les presente un patrón arbitrario de entrada que contenga
ruido o que esté incompleto, las neuronas de la capa oculta de la red
responderán con una salida activa si la nueva entrada contiene un
patrón que se asemeje a aquella característica que las neuronas
individuales hayan aprendido a reconocer durante su entrenamiento.
Redes de Elman
Redes de Hopfield
Una red de Hopfield es una forma de red neuronal artificial recurrente
inventada por John Hopfield. Las redes de Hopfield se usan como
sistemas de Memoria asociativa con unidades binarias. Están diseñadas
para converger a un mínimo local, pero la convergencia a uno de los
patrones almacenados no está garantizada.
Red de contrapropagación
Redes de neuronas de base radial
Las redes de base radial son un tipo de redes de neuronas artificiales
que calculan la salida de la función en función de la distancia a un punto
denominado centro. Al igual que con los perceptrones multicapa, sirven
como aproximadores universales.
Las redes de base radial tienen sus orígenes a finales de los años 80.
Son redes de tipo multicapa que tienen conexiones hacia delante y que sólo
tienen una capa oculta. Mientras que las neuronas ocultas poseen carácter
local, las neuronas de salida realizan una combinación lineal de las
activaciones de las neuronas ocultas.
Este tipo de redes construyen aproximaciones que son
combinaciones lineales de múltiples funciones locales no lineales.
Entre sus aplicaciones se encuentran análisis de series temporales,
procesamiento de imágenes, reconocimiento automático del habla,
diagnósticos médicos, etc.
Redes de neuronas de aprendizaje competitivo
Mapas Autoorganizados (RNA) (Redes de Kohonen)
Un mapa auto-organizado (SOM por sus siglas en inglés) o un mapa
auto-organizado de características (SOFM por sus siglas en inglés) es
un tipo de red neuronal artificial (ANN por sus siglas en inglés), que es
entrenada usando aprendizaje no supervisado para producir una
representación discreta del espacio de las muestras de entrada, llamado
mapa. Los mapas auto-organizados son diferentes de otras redes
neurales artificiales, en el sentido que estos usan una función de
vecindad para preservar las propiedades topológicas del espacio de
entrada.
El objetivo del aprendizaje en los mapas auto-organizados es provocar
que diferentes partes de la red respondan similarmente a ciertos
patrones de la entrada. Esto es parcialmente motivado por el manejo en
partes separadas de la corteza cerebral del cerebro humano de la
información sensorial, como la visual y la auditiva
Crecimiento dinámico de células
Gas Neuronal Creciente
Redes ART (Adaptative Resonance Theory)
ART son las siglas en inglés de Teoría de la Resonancia Adaptativa
(Adaptive Resonance Theory), desarrollada por Stephen Grossberg y
Gail Carpenter. Es un modelo de red neuronal artificial que basa su
funcionamiento en la manera en que el cerebro procesa información y
que describe una serie de modelos de redes neuronales que utilizando
métodos de aprendizaje supervisado y no supervisado abordan
problemas tales como el reconocimiento y la predicción de patrones.
IMPLEMENTACIÓN DE LAS REDES NEURONALES
En la búsqueda de sistemas inteligentes en general, se ha llegado a un importante desarrollo del software, dentro de esta línea se encuentran algunos de los neurocomputadores más conocidos. Un neurocomputador es básicamente un conjunto de procesadores conectados con cierta regularidad que operan concurrentemente. En la actualidad ya existen un serie de
neurocomputadores comerciales destinados a la realización de redes neuronales. Por otro lado la realización de RNA puede llevarse a cabo por medio de uno o varios circuitos integrados específicos, para así poder obtener una estructura que se comporte lo más similar posible a como lo haría una red neuronal. Otra tecnología que podría ser apropiada en la implementación de las redes neuronales es la tecnología electroóptica, con la ventaje de utilizar la luz como medio detransporte de la información, permitiendo la transmición, masiva de datos.
Realización de Redes Neuronales:
La realización más simple e inmediata consiste en simular la red sobre un ordenador convencional mediante un software específico. Es un procedimiento rápido, economico, e instituible, pero su mayor desventaja radica en el hecho de que se intentan simular redes con un alto grado de paralelismo sobre máquinas que ejecuten secuencialmente las operaciones. Valores intrínsecos de las redes neuronales no pueden obtenerse de esta forma.
Otro método es la realización de redes neuronales a través de arquitecturas orientadas a la ejecución de procesos con un alto de paralelismo, tales como redes de transputers, arquitecturas sistólicas, etc. Este método es una optimización del anterior, ya que el acelera el proceso, permitiendo una respuesta en tiempo real, pero el comportamiento real de la red sigue siendo simulado por una estructura ajena a la estructura intrínseca de una red neuronal. Una tercera aproximación radicalmente distinta es la realización de redes neuronales mediante su implementación por uno o varios circuitos integrados específicos. Son los llamados chips neuronales. Las neuronas y las conexiones se emulan con dispositivos específicos, de forma que la estructura del circuito integrado refleja la arquitectura de la red. Se consigue de esta forma realizaciones que funcionan a alta velocidad, pero a costa de una pérdida notable de velocidad. Herramientas software de desarrollo:
La comercialización de productos software es la forma más extendida para simular redes neuronales, debido a las ventajas citadas anteriormente. La diferencia entre los distintos productos software radica en aspectos tales como el tipo y el número de arquitecturas de red que soporta, velocidad de procesamiento, iinterfaz gráfica, exportación de codigo C para el desarrollo automático de aplicaciones, etc.
Algunos de los productos comerciales son: ANSim (DOS), ExpertNet (DOS, Windows), Neuralesk (Windows), Neuralworks Pro II/Plus (DOS, OS/2, UNIX, VMS) Neurocomputadores de propósito especial y de propósito general: Como se dijo anteriormente un neurocomputador es básicamente un conjunto de procesadores conectados con cierta regularidad que operan concurrentemente.
Los de propósito general deben ser capaces de emular un gran número de modelos de red neuronal.
Los de propósito especial han sido diseñados para implementar un modelo específico de red neuronal. Implementación microelectronica (VLSI):
En general si la red ha estado previamente simulada y su configuración de conexiones perfectamente determinada, se busca la implementación sobre un circuito de conexiones fijas. La presentación del panorama que actualmente existe en el ámbito de la implementación VLSI de redes neuronales resulta complicada por la gran cantidad de aportaciones existentes, tanto en soluciones analógicas como digitales y con la alternativa de matriz de neuronas o de sinapsis.
BIBLIOGRAFIA
http://advancedtech.wordpress.com/2007/08/27/arquitectura-estructura-
y-funcionamiento-de-las-rna/
SORIA Emilio, BLANCO Antonio, “Redes Neuronales Artificiales”
http://www.slideshare.net/mentelibre/introduccion-a-las-redes-euronales-
Artificiales
http://www.oocities.org/motorcity/shop/3186/introduccion_redes.htm
http://inteligenciaartificialudb.blogspot.com/2008/01/redes-euronales.html
http://www.slideshare.net/mentelibre/redes-neuronales-algoritmos-de-
aprendizaje
top related