Introducción a las Redes Neuronales

Introducción a las Redes Neuronales

Las redes neuronales artificiales son un paradigma de aprendizaje y de procesamiento automatizado basado en el funcionamiento del sistema nervioso biológico, en este sentido, las redes neuronales artificiales son sistemas de procesamiento que copian esquemáticamente la estructura neuronal del cerebro con el fin de reproducir sus capacidades. Una red neuronal está conformada por un grupo de neuronas interconectadas que colaboran entre sí para producir un estímulo de salida.

De esta manera, las redes neuronales artificiales son capaces de aprender de la experiencia a partir de datos o señales provenientes del exterior en un marco de computación paralela y distribuida.

En la estructura neuronal biológica, en general, las neuronas constituyen procesadores de información sencillos. Poseen un canal de entrada de información que son las dentritas, un órgano de cómputo, que es el cuerpo celular o soma y un canal de salida que es el axón.

Estructura de una neurona biológica

El axón envía la información a otras neuronas y si éstas últimas son motoras, la información se envía directamente al músculo. En el caso de las neuronas receptoras o sensoras, reciben la información directamente del exterior, en lugar de hacerlo desde otras neuronas.

La unión entre dos neuronas se denomina sinapsis y representa una comunicación direccional, es decir, que fluye en un sólo sentido.

Cada neurona recibe un conjunto de entradas a través de sus interconexiones y produce una salida que depende de la sinapsis realizada y del procesamiento realizado en el cuerpo de la neurona.

Análogamente, en los sistemas de redes neuronales artificiales, se imita la estructura del sistema nervioso con la intención de construir sistemas con un cierto comportamiento inteligente en un esquema de procesamiento paralelo, distribuido y adaptativo.

Cuando se dice que las redes neuronales artificiales son sistemas paralelos, distribuidos y adaptativos, es por que se intenta emular el paralelismo de cálculo, la memoria distribuida y la adaptabilidad al entorno.

Verlo en video aquí y suscribete al canal en Youtube

Modelo genérico de neurona artificial

De acuerdo con la descripción del grupo PDP (Parallel Distributed Processing Research Group, de la Universidad de California en San Diego) [Rumelhart 86a, McClelland 86], una neurona artificial es un dispositivo simple de cálculo que, a partir de un vector de entrada procedente del exterior o de otras neuronas, proporciona una única respuesta o salida.

Las entradas constituyen las variables independientes X1, X2, … Xm y la salida Y es la variable dependiente, la cual puede ser un valor continuo, un valor binario, o un valor categórico.

La sinapsis se da a través de los pesos sinápticos que representan la intensidad de interacción de las entradas. La salida en la neurona es la variable dependiente que puede tener valores continuos, binarios o categóricos.

La sinapsis se lleva a cabo con la excitación de las entradas de la neurona que son modificadas por los pesos comúnmente llamados, pesos sinápticos. Esto implica que cada una de las entradas es multiplicada por su peso correspondiente como primer paso en la conformación de una salida.

1er Paso. Suma de las entradas multiplicada por sus pesos correspondientes

La salida producida en una neurona viene dada por tres funciones:

  • Función de Propagación. También llamada función de excitación la cual consiste en la suma de los valores de cada entrada multiplicada por el peso de sus interconexiones. Si el peso es positivo, la conexión es excitadora y si es negativo, la conexión es inhibidora.
  • Función de Activación. Si existe, modifica a la función de propagación de acuerdo con un objetivo, si no existe, la salida es la misma función de propagación.
  • Función de Transferencia. Se aplica al valor devuelto por la función de activación para acotar la salida de la neurona, por lo que se utiliza para dar una interpretación a dicha salida. Por ejemplo, la función sigmoidal se utiliza para obtener valores en el intervalo de 0 a 1, si se desea obtener valores en el intervalo de -1 a 1, comúnmente se utiliza la función tangente hiperbólica.
2o Paso, Función de activación aplicada a la suma de las entradas multiplicada por sus pesos correspondientes
En el tercer paso se obtiene la salida acotada por la función de transferencia o activación

Las funciones de transferencia o activación más comunes se muestran en la siguiente tabla:

El modelo de red neuronal se inspira en la operación del sistema biológico en el sentido de incorporar un conjunto de entradas y proporcionar cierta respuesta, que se propaga por el axón para conformar una salida o la entrada a otras neuronas, constituyendo así una red de neuronas que colaboran entre sí, para un objetivo común.

Una red neuronal parte del conjunto de datos de entrada con el objetivo de hacer que la red aprenda automáticamente las propiedades deseadas.

El proceso por el cual los parámetros de la red se adecuan a la resolución de cada problema se denomina entrenamiento neuronal.

Los parámetros de la red los constituyen los pesos sinápticos y el bias o umbral.

En la arquitectura de una red neuronal cada capa puede utilizar una función de activación o transferencia distinta:

Red neuronal con distintas funciones de activación en cada capa, la función rectifier en la capa oculta y la función sigmoid en la capa de salida

Ejemplo sencillo de aplicación

Evaluación del valor de una propiedad

Estimar el precio de una propiedad basados en datos como el tamaño o área en metros cuadrados o pies cuadrados, número de habitaciones, distancia en metros o millas al centro de la ciudad y edad (tiempo de haber sido construida).

variables independientes que describen el precio de la propiedad

Los datos que describen el valor de la propiedad se constituyen como las variables independientes de la entrada a la red neuronal.

Estimación del precio con una sola neurona

Sin embargo, el problema de la estimación del precio, podría no ser un problema lineal y podría requerir una capa oculta.

Arquitectura de 3 capas para la red neuronal

Por lo que cada entrada, o neurona de la capa de entrada, deberá conectarse a cada neurona de la capa oculta.

Conexiones de la capa de entrada a la capa oculta

Si todas las variables de entrada son significativas para las neuronas de la capa oculta, todas las entradas contribuyen con su peso en cada una de las neuronas de la capa oculta. Sino es así, algunas entradas podrían quedar anuladas para una o más neuronas de la capa oculta y esto se lleva a cabo utilizando el valor de los pesos, es decir, el peso se vuelve cero, para aquellas variables que no tienen significancia para algunas neuronas.

Interconexión completa entre las 3 capas de la red neuronal

Aprendizaje de una red neuronal

Durante el entrenamiento de la red neuronal, los pesos se modifican de manera tal que la conducta entrada/salida se adecúe con el ambiente que produce las entradas.

Una regla de aprendizaje es un procedimiento para modificar los pesos y los bías de una red. Este procedimiento también se conoce como el algoritmo de entrenamiento.

El objetivo de las reglas de aprendizaje es entrenar a la red para desempeñar algunas tareas y dichas reglas de aprendizaje se clasifican en tres categorías generales:

  • Aprendizaje Supervisado. Se proporcionan a la red un conjunto de ejemplo (el conjunto de entrenamiento), para indicarle el comportamiento adecuado de la red. Este conjunto contiene los valores de entrada y las salidas o targets esperados.
  • Aprendizaje graduado o reforzado. Este tipo de aprendizaje es similar al supervisado, pero en lugar de proporcionarle las salidas correctas a cada entrada, sólo recibe un score o valor de recompensa, que es una medida del desempeño de la red sobre algunas secuencias de entrada en forma de retroalimentación.
  • Aprendizaje no supervisado. En este tipo de aprendizaje, los pesos y los bias se ajustan en respuesta únicamente de las entradas. No hay salidas correctas o targets disponibles. En este tipo de algoritmo se ejecuta algún tipo de operación de agrupamiento o clustering. Aprenden para categorizar los patrones de entrada dentro de un grupo finito de clases.

En el siguiente post hablaremos sobre el algoritmo de entrenamiento para redes neuronales basado en la propagación hacia atrás o back propagation y el gradiente decreciente.

4.8 5 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x

JacobSoft

Recibe notificaciones de los nuevos artículos y tutoriales cada vez que se incorpore uno nuevo

Gracias, te has suscrito al blog y al newsletter

There was an error while trying to send your request. Please try again.

JacobSoft utilizará la información que proporcionas para estar encontacto contigo y enviarte actualizaciones.