Introducción a las redes neuronales

1. Estructura

La estructura de una red neuronal se compone de neuronas agrupadas en capas, distinguiendo entre capas de entrada, capas ocultas y capas de salida. La capa de entrada es la que recibe los datos que la red deberá procesar del exterior, transmitiendo dichos datos a una o más capas ocultas de la red neuronal. Una vez que la información ha llegado a las capas ocultas de la red, esta información será procesada por cada una de las neuronas de la capa, transmitiendo la salida generada a las capas siguientes de la red neuronal. De esta manera la información se irá propagando por las capas ocultas de la red hasta llegar a la capa de salida Esta última capa tiene una función similar a la capa de entrada salvo que en vez de coger los datos del exterior y transmitirlos al interior de la red, realizará la operación contraria, recibiendo los datos de la red neuronal y transmitiéndolos al exterior, generando de esta manera los resultados de la red neuronal.

2. Neurona

La neurona, como se ha comentado en el apartado 2.1, es el elemento básico de procesamiento de la red neuronal, cuyo objetivo es procesar los datos que recibe en sus entradas y generar una salida determinada.

Estructura de una Neurona

 Como se aprecia en la figura anterior,  la neurona dispone de una serie de valores de entrada, los cuales provienen de las neuronas de las capas anterior, además como se puede apreciar a cada una de las conexiones de entrada, se le aplica un determinado peso (W).  De esta manera la entrada de una neurona vendría determinado por dos vectores. El vector X que representa los valores de propagación de las capas anteriores y el vector W que representa los pesos asociados a cada una de las entradas.

A este conjunto de entrada (WX),  se le aplica una determinada función denominada función de red, la cual servirá para calcular el valor de entrada de la neurona, normalmente esta función es una un simple sumatorio del vector resultante de multiplicar los elementos de entrada (X) por sus correspondientes pesos (W). Una vez aplicada la función de red para obtener el valor de entrada de la neurona, es necesario calcular el valor de salida de la neurona, (función de activación), denominada así debido a la propiedad de dicha función de inhibir o desinhibir la salida de la neurona, es decir, el valor de salida de la neurona puede ser nulo en caso de que el valor de entrada no cumpla la condición de la fórmula de activación, o ser un valor dentro de un rango determinado dependiendo del tipo de función de que se trate.Pues bien, una vez calculado el resultado de la función de activación, este valor será el que se propague a las neuronas de las capas hacia las que se conecte la neurona actual.

3. Capas

Como se ha comentado anteriormente, las neuronas de la red se agrupan en capas, y dichas capas se conectan entre sí. En la figura 2, se muestra la estructura más habitual de una red neuronal.

Estructura habitual de una red neuronal

Como se puede apreciar en la figura anterior, la red neuronal consta de una capa de entrada, una o más capas ocultas y una capa de salida. Además cada capa se conecta con su capa siguiente, situación más habitual con la que nos podemos encontrar, sin embargo esto no se tiene porque cumplir, pudiendo estar conectadas una capa hacía más capas que su siguiente o no estar conectado a la siguiente y sí hacia otras, o incluso tener conexiones hacía capas anteriores.

Como se puede imaginar el lector, los valores de entrada de la red, se aplican como entradas de las neuronas de la capa de entrada e inmediatamente se propagan a la primera capa de la red (o hacia las capas conectadas con dicha capa de entrada), una vez echo esto, las neuronas de las capas que acaban de recibir los valores de la capa de entrada, calcularán su correspondiente valor de entrada, teniendo en cuenta los valores que acaban de recibir y los pesos asociados a cada una de las conexiones, para posteriormente aplicarle a dicho valor la función de activación y calcular el valor de salida de cada neurona, valor que será a su vez enviado hacia las neuronas de las capas hacia las que se conecta la capa a la que pertenece cada neurona.

Siguiendo este proceso los valores de salida de cada neurona se van propagando por las capas de la red, hasta llegar a la capa de salida de la red. Por supuesto como se ha comentado en la sección 2.1.1 algunas neuronas pueden desinhibir el valor de entrada, no generando salida alguna.

4. Funcionamiento

En las redes neuronales, se pueden distinguir dos fases principales, la fase de aprendizaje y la fase de aplicación (opcionalmente se puede añadir una fase de Tes. entre una y otra).

La fase de aprendizaje consiste en intentar optimizar las salidas de la red neuronal para que se ajusten a las salidas esperadas dentro del ámbito de aplicación de la red neuronal. Para realizar esto la forma de operar consiste en modificar los pesos asociados a las conexiones entre las neuronas en base a la presentación de una serie de patrones de entrada.

En base a la manera en que la red detecta los errores en las salidas generadas, se distingue entre aprendizaje supervisado, no supervisado.

Entrenamiento Supervisado

En el aprendizaje supervisado se le indican a la red neuronal junto a los patrones de entrada la salida esperada que se debe generar (targets), de esta manera la red ajusta los pesos de las conexiones en base a una función de minimización del error producido. Según esto dado un patrón de entrada n, la fórmula utilizada para ajustar el peso sería de la siguiente manera:

Wij(n+1) = W(n) + Awij(n)Siendo A el valor de incremento que se asignará al nuevo peso en base al error cometido

Como se puede apreciar el Nuevo peso se calcularía en base al peso anterior incrementándole el error obtenido resultado de comparar la salida real generada por la red para el patrón y la salida deseada indicada en el target asociado a dicho patrón.

En la siguiente figura se puede apreciar una representación de este tipo de entrenamiento.

Aprendizaje supervisado RNA

Entrenamiento No Supervisado

En el aprendizaje no supervisado a la red tan solo se le indican los patrones de entrada, dejando a la red neuronal que decida si la salida generada es correcta y como debe ajustar los pesos de las conexiones en base a la experiencia recogida de los patrones de entrenamiento que ha procesado anteriormente.Este tipo de redes se basan en el principio de reducción del rango de los vectores de entrada, de forma relativamente parecida a como actual los algoritmos numéricos usados en estadística. Como el Principal Component Analisis, K-means o multidimensional Scaling.

2 comentarios hacia “Introducción a las redes neuronales”

  1. [...] Redes neuronales: podéis ver mi post sobre introducción a las redes neuronales. [...]

  2. Hola podrías ayudarme con un tutorial de cómo meter dados a una red neuronal en matlab , la verdad ya aprendí a programar pero no se como colocar los comandos en matlab para q me salga una ventana de red neuronal y para que sirve cada opción de la ventana q llegara a salir tengo que realizar un red neuronal de 3 capas o lazos porfavor ayuda se les agradese de antemano .

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.