Definición de red neuronal artificial

Definición de red neuronal artificial

Paradigma de aprendizaje y procesamiento automático inspirado en el funcionamiento del sistema nervioso humano.

Una red neuronal está compuesta por un conjunto de neuronas interconectadas entre sí mediante enlaces.

Cada neurona toma como como entradas las salidas las neuronas antecesoras, multiplica cada una de esas entradas por un peso y mediante una función de activación calculan una salida. Esta salida es a su vez entrada de la neurona a la que precede.

La unión de todas esta neuronas interconectadas es lo que compone la red neuronal artificial.

Estas redes no son más que redes interconectadas masivamente en paralelo de elementos simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar con los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico.

red neuronal

 

Conceptos básicos

Se ha indicado que una rede neuronal es un neuronas interconectada trabajando conjuntamente, pero para entender su funcionamiento es muy recomendable tener claros los concretos asociados a cada neurona.

perceptron monocapaConjunto de entradas x1,…xn

Representan las entradas de la red neuronal.

Pesos sinápticos w1,…wn

Cada entrada tiene un peso que se va ajustando de forma automática a medida que la red neuronal va aprendiendo.

Función de agregación, Σ

Realiza el sumatorio de todas las entradas ponderadas por sus pesos.

Función de activación, F

Se encarga de mantener el conjunto de valores de salida en un rango determinado, normalmente (0,1) o (-1,1)

Existen diferentes funciones de activación que cumplen este objetivo, la más habitual es la función sigmoide.

Salida, Y

Representa el valor resultante tras pasar por la red neuronal.

 

Clasificación de redes neuronales

Clasificación según la topología de red

Clasificación según el método de aprendizaje

 

Proceso de aprendizaje de una red neuronal

La red neuronal artificial al igual que las redes biológicas aprenden por repetición y cuantos más datos tengamos para entrenar y más veces la entrenemos a la red mejores resultados obtendremos.

La forma mejor de entender este funcionamiento es con un sencillo sencillo. Vamos a ver como una red neuronal es capaz de aprender el sistema de calificación de un profesor que pone dos exámenes los pondera y con ello obtiene la nota final.

Como no sabemos nada de como puede ponderar el profesor vamos a estimar los pesos iniciales a 0,5, es decir que ambos exámenes tengan la misma importancia.

Empezamos el entrenamiento y metemos dos notas 6 y 8 y vemos que el resultado no es 7 sino 6,4, esto nos hace pensar que no valen igual, para adivinar la ponderación subimos el peso de la primera entrada y bajamos el de la segunda, por ejemplo 0,4 y 0,6.

Repetimos el proceso y vemos que ahora nos hemos acercado 6,8, pero todavía no es correcto, por ello repetimos este proceso hasta llegar un valor que consideremos aceptable.

 

Una vez visto el ejemplo, vamos a dividir este proceso en tres partes para poder entender de forma más técnica como es capaz de aprender una red neuronal artificial.

Esquema de funcionamiento - red neuronal

Esquema de funcionamiento – red neuronal

 

 

Forward propagation

Este proceso que parte de las neuronas de la capa de entrada y termina en las neuronas de la capa de salida.

En este proceso cada neurona realiza una suma ponderada de todas las entradas de acuerdo a unos pesos, pasa el resultado por una función de activación  y genera el resultado, que pasa a la siguiente capa.

Este proceso se repite hasta la última capa de neuronas que nos devuelve el resultado de la red.

Calcular el coste de la función

La función de coste calcula el error entre el valor estimado por la red y el valor real que debería de haber salido, con el fin de optimizar los parámetros de la red neuronal.

Backpropagation

Finalmente, a partir del resultado de la función de coste el algoritmo de backpropagation trata de determinar cuanto de culpa tiene cada una de las neuronas sobre error cometido.

El nombre de backpropagation viene el algoritmo busca la culpa de manera iterativa desde la última capa hasta la primera.

 

 

Ventajas que aportan

  • Aprendizaje Adaptativo: capacidad de aprender a realizar tareas basadas en experiencias anteriores.
  • Auto-organización: capacidad para crear su propia representación de la información que recibe mediante una etapa de aprendizaje.
  • Tolerancia a fallos: capacidad de seguir produciendo respuestas aceptables incluso ante daños parciales de su estructura, esto se debe a que almacena información redundante.
  • Operación en tiempo real: al implementarse sobre arquitecturas paralelas.
  • Flexibilidad: capacidad para manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada

 

Ejemplos de Implementación

Otros artículos que pueden ser de interés:

Autor: Diego Calvo