15

Click here to load reader

Explicar Sobre Acerca de Una Red Neuronal Artificial

Embed Size (px)

Citation preview

Page 1: Explicar Sobre Acerca de Una Red Neuronal Artificial

Explicar acerca de una Red Neuronal Artificial (RNA)

Fundamentos Biológicos

Las Redes Neuronales Artificiales (RNA) son redes en las que existen elementos procesadores de información de cuyas interacciones locales depende el comportamiento del conjunto del sistema.

Las RNAs tratan de emular el comportamiento del cerebro humano, del cual se conoce que esta basado en el aprendizaje a partir de la experiencia y extracción de conocimiento genérico a partir de un conjunto de datos.

La imitación se realiza de tres formas:

1) Por simulación, mediante un programa para computador.2) Por emulación, mediante el modelado a través de estructuras de

procesamiento con cierta capacidad de cálculo paralelo.3) Por implementación de hardware de RNAs, mediante la

construcción física de sistemas cuya arquitectura se aproxima a la estructura de la red neuronal biológica.

Sin embargo, existen diferencias significativas entre el cerebro biológico y el computador (Tabla 1)

Tabla 1: Cerebro humano vs. Computador convencional

Característica Cerebro humano Computador

Velocidad de proceso Entre 10-3 y 10-2 seg Ente 10-8 y 10-9 seg

Estilo de procesamiento Paralelo Secuencial (en serie)Número de procesadores Entre 1011 y 1014 Pocos

Conexiones 10,000 por procesador Pocas

Almacenamiento del conocimiento

DistribuidoEn direcciones fijas (posiciones precisas)

Tolerancia a fallos Amplio Poca o nulaTipo de control del proceso

Autoorganizado(democrático)

Centralizado(dictatorial)

Consumo de energía para ejecutar una operación/seg

10-16 Julios 10-6 Julios

Los computadores presentan habitualmente una arquitectura tipo Von Neumann, y emplea un microprocesador muy rápido para ejecutar operaciones en serie de manera fiable, por otro lado el cerebro humano

Page 2: Explicar Sobre Acerca de Una Red Neuronal Artificial

esta compuesto por millones de procesadores elementales o neuronas interconectadas entre sí formando redes. Mientras que los computadores convencionales realizan un procesamiento en serie, las neuronas biológicas no necesitan ser programadas, si no que aprenden a partir de los estímulos que reciben del entorno y operan siguiendo un esquema masivamente paralelo.

El elemento fundamental de los sistemas neuronales biológicos es la neurona (etimológicamente “célula nerviosa”) de forma genérica una neurona esta compuesta de (ver Fig 1):

1) Cuerpo celular o soma2) Axón, es una rama principal que parte del cuerpo celular3) Arbol dendrítico, compuesto por dendritas

Figura 1. Estructuras típicas de las neuronas biológicas

La conexión entre el axón de una neurona y las dendritas de otra recibe el nombre de sinapsis o sinapsis (etimológicamente “contacto”), y determina la fuerza y tipo de relación entre ellas (Figura 2). El hecho de que unas sinapsis sean excitadoras o inhibidoras, y que tengan una mayor o menor importancia respecto al input final que recibe el soma, se determina biológicamente a través del aprendizaje. No obstante, las sinapsis son unidireccionales, es decir, la información fluye siempre en un único sentido.

Page 3: Explicar Sobre Acerca de Una Red Neuronal Artificial

La transmisión de información entre neuronas se realiza a través de señales de distinta naturaleza: eléctrica y química; la señal eléctrica prevalece en el interior de la neurona, mientras que la señal química lo hace en el exterior.

Figura 2. Sinapsis neuronales

De forma simplista podemos decir que:

1.- Las dendritas constituyen el canal de entrada de información

2.- El soma o cuerpo celular, es el órgano de cómputo.

3.- El axón corresponde al canal de salida, y a la vez envía información a otras neuronas. Cada neurona recibe información de aproximadamente 10,000 neuronas y envía impulsos a cientos de ellas.

4.- Algunas neuronas reciben información directamente del exterior.

Existen tres conceptos claves a emular:

Procesamiento paralelo, derivado de que los miles de millones de neuronas que intervienen, por ejemplo en el proceso de ver, están operando en paralelo sobre la totalidad dela imagen.

Memoria distribuida, mientras que en un computador la información está en posiciones de memoria bien definidas, en las redes neuronales biológicas dicha información está distribuida por la sinapsis de la red, existiendo una redundancia en el almacenamiento, para evitar la perdida de información en caso de que una sinapsis resulte dañada.

Page 4: Explicar Sobre Acerca de Una Red Neuronal Artificial

Adaptabilidad al entorno, por medio de la información de las sinapsis. Por medio de esta adaptabilidad se puede aprender de la experiencia y es posible generalizar conceptos a partir de casos particulares.

El modelo estándart de neurona artificial

El denominado modelo estándard de neurona artificial según los principios descritos en Rumelhart y McClelland (1986) y McClelland y Rumelhart(1986).

Figura 3. Sistema global de proceso de una red neuronal

El elemento fundamental de una red neuronal es la “neurona”, también llamado “nodo”, cuyo modelo se muestra en la Figura 4. En ella, la suma de las n entradas xj de la neurona i, ponderadas con los pesos sinápticos wij, genera la entrada ponderada total o “potencial postsináptico” de la neuroina i. Los pesos sinápticos wij miden la intensidad de la interacción entre las dos neuronas que están conectadas por el enlace. Posteriormente, se aplica una función de activación o transferencia (f) a la diferencia entre “potencial postsináptico” y el umbral θi, obteniéndose la salida de la neurona (yi).

Figura 4. Modelo de neurona artificial o Perceptrón simple

Page 5: Explicar Sobre Acerca de Una Red Neuronal Artificial

Donde y i ( t )=f (∑j=1

n

wij x j−θi) es el modelo matemático más elemental. La

función de activación f() se suele considerar determinista, y en la mayor parte de los modelos es monótona creciente y continua. La forma y i (t )=f (x ) de las funciones de activación más empleadas en las redes neuronales artificiales se muestra en la Tabla 2. Donde x representa el postsináptico e y el estado de activación.

Tabla 2. Algunas funciones de activación más empleadas

Page 6: Explicar Sobre Acerca de Una Red Neuronal Artificial

Topología

La topología viene a ser la arquitectura, estructura o patrón de conexionado de una red neuronal. En una red neuronal artificial los nodos se conectan por medio de sinapsis, estando el comportamiento de la red determinado por la estructura de conexiones sinápticas. Estas conexiones sinápticas son direccionales, es decir, la información solamente puede propagarse en un único sentido (desde la neurona presináptica a la pos-sináptica). En general las neuronas se suelen agrupar en unidades estructurales que denominaremos capas. El conjunto de una o más capas constituye la red neuronal.

Se distinguen tres tipos de capas: de entrada, de salida y ocultas. Una capa de entrada, también denominada sensorial, está compuesta por neuronas que reciben datos o señales procedentes del entorno. Una capa de salida se compone de neuronas que proporcionan la respuesta de la red neuronal. Una capa oculta no tiene una conexión directa con el entorno, es decir, no se conecta directamente ni a órganos sensores ni a efectores. Este tipo de capa oculta proporciona grados de libertad a la red neuronal gracias a los cuales es capaz de representar más fehacientemente determinadas características del entorno que trata de modelar. Figura 5.

Figura 5. Arquitectura unidireccional con tres capas de neuronas: una capa de entrada, una capa oculta y una capa de

salida

Se tiene tres tipos de básicos de RNAs, dos de propagación hacia adelante (Monocapa y multicapa) y una recurrente.

Page 7: Explicar Sobre Acerca de Una Red Neuronal Artificial

1.- Red Monocapa, (Figura 6.1) 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 los diferentes cálculos.

Figura 6.1. Red Monocapa

2.- Red multicapa (Figura 6.2), es una generalización de la anterior, existiendo un conjunto de capas intermedias entre la capa de entrada y la de salida (capas ocultas). Este tipo de red puede estar total o parcialmente conectada.

Figura 6.1. Red Multicapa

3.- Red recurrente (Figura 6.3), este tipo de red se diferencia de las anteriores en la existencia de lazos de realimentación en la red. Estos lazos pueden ser entre neuronas de diferentes capas, neuronas de la misma capa o, entre una misma neurona. Esta estructura la hace especialmente adecuada para estudiar la dinámica de los sistemas no lineales.

Page 8: Explicar Sobre Acerca de Una Red Neuronal Artificial

Figura 6.1. Red recurrente

Aprendizaje

Este concepto es sustancialmente la modificación de la respuesta producido por la interacción con el medio y de esta forma establecer nuevas respuestas que se adaptan a estímulos externos. En el caso del cerebro estas cualidad se alberga en las sinapsis en el caso de las redes neuronales, el conocimiento esta en los pesos de las conexiones. Por esto, todo mecanismo de aprendizaje demanda modificaciones en dichos pesos, las cuales se pueden hacer a dos niveles:

1.- A través del modelado de las sinapsis; que consiste en modificar los pesos sinápticos siguiendo una cierta regla de aprendizaje, construida normalmente a partir de la optimización de una función de error, que mide la eficacia actual de la operación de la red. Si denominamos wij(t) al peso que conecta la neurona pre-sináptica j con la post-sináptica i en la iteración t, el algoritmo de aprendizaje, en función de las señales que en el instante t llegan procedentes del entorno, proporcionará el valor Δwij(t) que da la modificación que se debe incorporar en dicho peso, el cual quedará actualizado de la forma:Δwij(t+1) = wij(t) + Δwij(t) El proceso de aprendizaje es usualmente iterativo, actualizándose los pesos de la manera anterior, una y otra vez, hasta que la red neuronal alcanza el rendimiento deseado.

2.- A través de la creación o destrucción de neuronas; en el cual se lleva a cabo una modificación de la propia arquitectura de la red.

De este modo algunos de los tipos de aprendizaje mas relevantes que se pueden distinguir son:

Page 9: Explicar Sobre Acerca de Una Red Neuronal Artificial

1.- Aprendizaje supervisado. En el aprendizaje supervisado se presenta a la red un conjunto de patrones, junto con la salida deseada u objetivo, e iterativamente ésta ajusta sus pesos hasta que la salida tiende a ser la deseada, utilizando para ello información detallada del error que se comete en cada paso. De este modo, la red es capaz de estimar relaciones entrada/salida sin necesidad de proponer una cierta forma funcional de partida. Es decir, si E[w] es una función que representa el error esperado de la operación de la red, expresado en función de sus pesos sinápticos w, se pretende estimar una cierta función multivariables f : Rm → Rn a partir de muestras (x;y) tomadas aleatoriamente por medio de la minimización iterativa de E[w] mediante aproximación estocástica (las técnicas de aproximación estocástica estiman valores esperados a partir de cantidades aleatorias observadas).

2.- Aprendizaje no supervisado o auto organizado. El aprendizaje no supervisado se puede describir genéricamente como la estimación de la función densidad de probabilidad p(x) que describe la distribución de patrones x Є Rn (espacio de entrada).En este tipo de aprendizaje se presentan a la red multitud de patrones sin adjuntar la respuesta que deseamos. La red, por medio de la regla de aprendizaje, estima p(x), a partir de lo cual podemos reconocer regularidades en el conjunto de entradas, extraer rasgos o agrupar patrones según su similitud

3.- Aprendizaje híbrido. En este caso existen en la red los dos tipos de aprendizajes básicos, supervisado y auto organizado, normalmente en distintas capas de neuronas.

4.- Aprendizaje reforzado. Se sitúa a medio camino entre al aprendizaje supervisado y el auto organizado. Como en el primero, se emplea información sobre el error cometido, pero en este caso existe una única señal de error, que representa un índice global del rendimiento de la red (solamente le indicamos lo bien o lo mal que está actuando). Como en el caso del no supervisado, no se suministra explícitamente la salida deseada.

Page 10: Explicar Sobre Acerca de Una Red Neuronal Artificial

Diseño y programación de una RNA

La aproximación basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda 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á el conjunto de entrenamiento o aprendizaje. 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).

Aplicaciones

Las redes neuronales tratan de resolver de forma eficiente problemas que pueden encuadrarse dentro de tres amplios grupos: optimización, reconocimiento y generalización. Estos tres tipos engloban un elevado número de situaciones, lo que hace que el campo de aplicación de las redes neuronales en la gestión empresarial sea muy amplio.

En los problemas de optimización, se trata de determinar una solución que sea óptima. Generalmente se aplican redes neuronales realimentadas, como el modelo de Hopfield citado. En la gestión empresarial, son decisiones de optimización encontrar los niveles de tesorería, de existencias, de producción, construcción de carteras óptimas, etc.

Page 11: Explicar Sobre Acerca de Una Red Neuronal Artificial

En los problemas de reconocimiento, se entrena una red neuronal con inputs como sonidos, números, letras y se procede a la fase de test presentando esos mismos patrones con ruido. Este es uno de los campos más fructíferos en el desarrollo de redes neuronales y casi todos los modelos: perceptrón, redes de Hopfield, mapas de Kohonen, etc, han sido aplicados con mayor o menor éxito.

En los problemas de generalización, la red neuronal se entrena con unos inputs y el test se realiza con otros casos diferentes. Problemas típicos de generalización son los de clasificación y predicción.