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 entradas las salidas de las neuronas de las capas antecesoras, cada una de esas entradas se multiplica por un peso, se agregan los resultados parciales y mediante una función de activación se calcula la salida. Esta salida es a su vez es entrada de la neurona a la que precede.
La unión de todas estas neuronas interconectadas es lo que compone la red neuronal artificial.
Las redes redes neuronales 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.
Conceptos básicos
Se ha indicado que una red neuronal es un conjunto de neuronas interconectada trabajando conjuntamente, pero para entender su funcionamiento es muy recomendable tener claros los concretos asociados a cada neurona.
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
- Red neuronal Monocapa
- Red neuronal Multicapa
- Red neuronal Convolucional (CNN)
- Red neuronal recurrente (RNN)
- Redes de base radial (RBF)
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.
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
Excelente