Google+ Seguidores

martes, 31 de julio de 2018

Introducción a las Redes Neuronales- Parte #1 - Tipos de Redes Neuronales

Tipos de Redes Neuronales

Hemos visto la estructura de las redes neuronales, y sus conceptos básicos. Es hora de mencionar y desglosar los diferentes tipos de redes neuronales que nos toparemos al trabajar con estas.

Perceptrón Simple:

El modelo biológico más simple de un perceptrón es una neurona y viceversa. Es decir, el modelo matemático más simple de una neurona es un perceptrón. La neurona es una célula especializada y caracterizada por poseer una cantidad indefinida de canales de entrada llamados dendritas y un canal de salida llamado axón. Las dendritas operan como sensores que recogen información de la región donde se hallan y la derivan hacia el cuerpo de la neurona que reacciona mediante una sinapsis que envía una respuesta hacia el cerebro, esto en el caso de los seres vivos.

El perceptrón es una máquina de computación universal y tiene la expresividad equivalente a la lógica binaria ya que podemos crear un perceptrón que tenga el mismo comportamiento que una función booleana NAND y a partir de esta función se puede crear cualquier otra función booleana.


El perceptrón simple es una red que consta de dos capas de neuronas. 
Esta red admite valores binarios o bipolares como entrada para los sensores y los valores de su salida están en el mismo rango que los de entrada.

La función de la primera capa es hacer de sensor, por ella entran las señales a la red. 
La segunda capa realiza todo el procesamiento. La manera de interconexionar ambas capas es todas con todas esto es, cada neurona de la primera capa esta unida con todas las de la segunda capa.











Los pasos para que la red aprenda una lista de patrones son los siguientes

1 Tomar un patrón al azar de la lista.
2 Se establece el patrón de entrada en los sensores, la capa de entrada.
3 Se establecen los valores deseados en las neuronas de la capa de salida
4 Se actualizan las neuronas de la capa de Salida.
5 Solicitar que aprendan todas las sinapsis
6 Si las sinapsis han cambiado volver al paso 1
Si no han cambiado la red se ha estabilizado y paramos.

Las sinapsis que une las neuronas i, j aprenderá de la siguiente manera:

w = w + N * (d(k) - y) * x(k)

Donde:

W = El peso actual asociado a la sinapsis que une la neurona i de la capa de entrada y la neurona j de la capa de salida.
N = Es una constante entre 0 y 1 que indica cuanto aprende la red.
d(k) = El estado de la neurona de la capa de salida j.
y = El valor deseado para esa neurona.
x(k) = El estado de la neurona de la capa de entrada i.

El perceptrón simple tiene una serie de limitaciones, como lo es la incapazidad de clasificar conjuntos que no son linealmente independientes.

Por ello tenemos el Perceptrón Multicapa, y es aquí en donde nos topamos con otro tipo de red neuronal.

Perceptrón Multicapa

El perceptrón multicapa es una red neuronal artificial 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. 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”.


Las capas pueden clasificarse en tres tipos:
§  Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento.
§  Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y cuyas salidas pasan a neuronas de capas posteriores.
§  Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la red.

La propagación hacia atrás (también conocido como retropropagación del error o regla delta generalizada), es un algoritmo utilizado en el entrenamiento de estas redes, por ello, el perceptrón multicapa también es conocido como red de retropropagación.
Este modelo es una ampliación del perceptrón a la cual añade una serie de capas que, básicamente, hacen una transformación sobre las variables de entrada, que permiten eludir el problema de no clasificar conjuntos que no son linealmente independientes.

La Red de Hopfield

La red de Hopfield es una de las redes unicapas más importantes y ha influido en el desarrollo de multitud de redes posteriores.
Es una red autoasociativa no lineal que fue desarrollada por Hopfield en 1982 basándose en los modelos de redes de McCulloch y Pitts y los símiles de los campos magnéticos con spin de Amit, Gutfreund, & Sompolinsky.

Arquitectura de la red de hopfield

La red de Hopfield es una red monocapa, esto es, de una sola capa. Aunque también se puede mostrar como una red bicapa de dos capas, la primera capa seria una capa de sensores y la segunda capa será la capa donde se realiza el procesamiento.

En la versión bicapa la manera de interconexionar ambas capas es unir la primera capa a la segunda linealmente, esto es cada neurona con su respectiva, y después unir todas las neuronas con todas en la misma capa.

La red de Hopfield toma valores bipolares esto es, {-1,1}, sin embargo se pueden usar también valores binarios {0,1}.

Ejecutar un patrón en la red de Hopfield consiste en enviar un patrón en la red y actualizar las neuronas repetidamente hasta que se estabilicen los estados de las neuronas a un patrón memorizado.

Con pasos sería así.

1 Se establece el patrón de entrada en la capa de entrada.
2. Se actualizan las neuronas de la capa de procesamiento.
3. Si han cambiado el estado de la red o hemos realizada ya el número máximo de iteraciones paramos.
4. Si no volvemos al pasos 2.

Redes Competitivas

Las redes de aprendizaje competitivo se diferencian de las otras redes neuronales en que en las anteriores redes las neuronas colaboran en la representación de los patrones, sin embargo, en este tipo de redes cada neurona compite con las otras neuronas para representar los patrones.

El aprendizaje de este tipo de redes es como su nombre indica, competitivo.
Las neuronas compiten en cual representa mejor al patrón y la ganadora se lleva todo el aprendizaje de ese patrón. El objetivo de este tipo de redes es que se formen grupos de patrones, categorías, que son representados por cada neurona. 

Cuando ejecutamos un patrón en una red competitiva solamente se activa una neurona que es la que representa mejor el patrón.

Este tipo de redes fue desarrollado por Rumelhart y Zipser en 1985 aunque a partir de él se han diversificado sus aplicaciones y modificaciones dando lugar a redes tan interesantes como las redes de kohonen y otras.

Este es el ejemplo de red competitiva más simple que podemos encontrar ya que no introduce ninguna mejora.

Redes ART1

Las redes basadas en la teoría de resonancia adaptativa sirven para clasificar patrones de manera no supervisada, esto es, la red forma grupos y crea el número de categorías que crea conveniente en función de la configuración que le demos y las cualidades de los patrones.

Se considera que el aprendizaje no supervisado es el más posible desde un punto de vista psicológico, ya que los humanos aprendemos más sobre nuestra experiencia que escuchando a profesores. Un ejemplo de aprendizaje no supervisado es el siguiente: debemos clasificar una serie de objetos y no tenemos a nadie que nos diga a que categoría pertenece, así que tenemos que fijarnos en las características de los objetos y cuanto se parecen…

ART hace uso de dos términos usados en el estudio del comportamiento del celebro: Estabilidad y Plasticidad para llevar a cabo esta clasificación.
Estabilidad refleja la capacidad del sistema para recordar patrones previamente aprendidos. Plasticidad es la capacidad de aprender nuevos patrones

El equilibrio entre Estabilidad y Plasticidad es resuelto en las redes ART usando un parámetro llamado, granulidad , según algunos autores , otros lo llaman parámetro de vigilancia , yo he usado el anterior nombre por que expresa mejor la idea de una red con muchos categorías formando muchos y pequeños gránulos de patrones o formando pocos y grandes gránulos.

Este parámetro nos cuantifica cuanto debe diferenciarse un patrón al clasificar, del almacenado (estabilidad) en una categoría para que sea considerado una nueva categoría (plasticidad).


Redes ART2

La red ART2 es una ampliación de la red art1 que admite valores reales, como la anterior red, sirve para clasificar patrones de manera no supervisada

La arquitectura de la red ART2 es la misma que la de la art1. Consta de dos capas: la capa de entrada de sensores y la capa de salida, que en un principio no tiene ninguna neurona, pero que según vamos entrenando la red, esta va formando grupos de patrones que clasifica en una categoría cuyo patrón representativo son los pesos de entrada de la neurona de la capa de salida.

La manera de unirse ambas capas es total, cada neurona de la capa entrada esta unida con todas las neuronas de la capa de salida.

La diferencia principal entre la red art1 y la art2 es que esta última red admite valores reales.


Mapas de Kohonen. Redes Neuronales Autorganizativas.

La red de Kohonen pertenece a la categoría de redes no supervisadas, la diferencia con otras redes, es que las neuronas que representan patrones parecidos aparecen juntas en el espacio salida, este espacio puede ser unidimensional, una línea, bidimensional, un plano o N-dimensional. Es el propio diseñador de la red el que establece el espacio de salida que tendrá la red.

Las redes de kohonen son redes bicapas, esto es, de dos capas: la capa de entrada de sensores y la capa de salida que realiza el cálculo.

Cada neurona de la capa de salida debe reflejar las coordenadas que tiene en el espacio que el diseñador de la red decida. Para que las neuronas puedan ser comparadas con la posición de otras neuronas de la red, se le asocia una regla de vecindad.

El modo de unir las capas es todas con todas, total, cada neurona de la capa entrada esta unida con todas las neuronas de la capa de salida.

Referencias:

No hay comentarios :
Write comentarios

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .