Una red neuronal de retroalimentación es una red neuronal artificial en la que las conexiones entre los nodos no forman un ciclo. [1] Como tal, es diferente de su descendiente: redes neuronales recurrentes .
La red neuronal feedforward fue el primer y más simple tipo de red neuronal artificial ideada. [2] En esta red, la información se mueve en una sola dirección, hacia adelante, desde los nodos de entrada, a través de los nodos ocultos (si los hay) y hacia los nodos de salida. No hay ciclos ni bucles en la red. [1]
Perceptrón de capa única
El tipo más simple de red neuronal es una red de perceptrón de una sola capa, que consta de una sola capa de nodos de salida; las entradas se alimentan directamente a las salidas a través de una serie de pesos. La suma de los productos de los pesos y las entradas se calcula en cada nodo, y si el valor está por encima de algún umbral (normalmente 0), la neurona se dispara y toma el valor activado (normalmente 1); de lo contrario, toma el valor desactivado (normalmente -1). Las neuronas con este tipo de función de activación también se denominan neuronas artificiales o unidades de umbral lineal . En la literatura, el término perceptrón a menudo se refiere a redes que constan de una sola de estas unidades. Warren McCulloch y Walter Pitts describieron una neurona similar en la década de 1940.
Se puede crear un perceptrón utilizando cualquier valor para los estados activado y desactivado siempre que el valor umbral se encuentre entre los dos.
Los perceptrones se pueden entrenar mediante un algoritmo de aprendizaje simple que generalmente se denomina regla delta . Calcula los errores entre la salida calculada y los datos de salida de muestra, y los usa para crear un ajuste a los pesos, implementando así una forma de descenso de gradiente .
Los perceptrones de una sola capa solo son capaces de aprender patrones linealmente separables ; En 1969, en una famosa monografía titulada Perceptrons , Marvin Minsky y Seymour Papert demostraron que era imposible que una red de perceptrones de una sola capa aprendiera una función XOR (sin embargo, se sabía que los perceptrones de múltiples capas son capaces de producir cualquier función booleana posible). ).
Aunque una sola unidad de umbral es bastante limitada en su poder computacional, se ha demostrado que las redes de unidades de umbral paralelas pueden aproximar cualquier función continua desde un intervalo compacto de los números reales en el intervalo [-1,1]. Este resultado se puede encontrar en Peter Auer, Harald Burgsteiner y Wolfgang Maass "Una regla de aprendizaje para aproximadores universales muy simples que consta de una sola capa de perceptrones". [3]
Una red neuronal de una sola capa puede calcular una salida continua en lugar de una función escalonada . Una opción común es la denominada función logística :
Con esta elección, la red de una sola capa es idéntica al modelo de regresión logística , ampliamente utilizado en el modelado estadístico . La función logística es una de la familia de funciones llamadas funciones sigmoides porque sus gráficos en forma de S se asemejan a la minúscula de la letra final de la letra griega Sigma . Tiene una derivada continua, lo que permite su uso en retropropagación . Esta función también se prefiere porque su derivada se calcula fácilmente:
- .
(El hecho de que f satisface la ecuación diferencial anterior se puede demostrar fácilmente aplicando la regla de la cadena ).
Si la función de activación de la red neuronal de una sola capa es módulo 1, esta red puede resolver el problema de XOR con una sola neurona.
Perceptrón multicapa
Esta clase de redes consta de múltiples capas de unidades computacionales, generalmente interconectadas en forma de retroalimentación. Cada neurona de una capa tiene conexiones dirigidas a las neuronas de la capa siguiente. En muchas aplicaciones, las unidades de estas redes aplican una función sigmoidea como función de activación.
El teorema de aproximación universal para redes neuronales establece que cada función continua que asigna intervalos de números reales a algún intervalo de salida de números reales puede aproximarse de manera arbitraria y cercana mediante un perceptrón de múltiples capas con una sola capa oculta. Este resultado es válido para una amplia gama de funciones de activación, por ejemplo, para las funciones sigmoideas.
Las redes multicapa utilizan una variedad de técnicas de aprendizaje, la más popular es la propagación hacia atrás . Aquí, los valores de salida se comparan con la respuesta correcta para calcular el valor de alguna función de error predefinida. Mediante diversas técnicas, el error se retroalimenta a través de la red. Con esta información, el algoritmo ajusta los pesos de cada conexión para reducir el valor de la función de error en una pequeña cantidad. Después de repetir este proceso durante un número suficientemente grande de ciclos de entrenamiento, la red generalmente convergerá a algún estado en el que el error de los cálculos sea pequeño. En este caso, se diría que la red ha aprendido una determinada función objetivo. Para ajustar los pesos correctamente, se aplica un método general de optimización no lineal que se llama descenso de gradiente . Para esto, la red calcula la derivada de la función de error con respecto a los pesos de la red, y cambia los pesos de manera que el error disminuya (yendo cuesta abajo en la superficie de la función de error). Por este motivo, la retropropagación solo se puede aplicar en redes con funciones de activación diferenciables.
En general, el problema de enseñar a una red a funcionar bien, incluso en muestras que no se utilizaron como muestras de entrenamiento, es un tema bastante sutil que requiere técnicas adicionales. Esto es especialmente importante para los casos en los que solo se dispone de un número muy limitado de muestras de formación. [4] El peligro es que la red se sobreajuste a los datos de entrenamiento y no capture el verdadero proceso estadístico que genera los datos. La teoría del aprendizaje computacional se ocupa de entrenar clasificadores en una cantidad limitada de datos. En el contexto de las redes neuronales, una simple heurística , llamada parada temprana , a menudo asegura que la red se generalizará bien a ejemplos que no están en el conjunto de entrenamiento.
Otros problemas típicos del algoritmo de retropropagación son la velocidad de convergencia y la posibilidad de terminar en un mínimo local de la función de error. Hoy en día, existen métodos prácticos que hacen que la retropropagación en perceptrones multicapa sea la herramienta preferida para muchas tareas de aprendizaje automático .
También se pueden utilizar una serie de redes neuronales independientes moderadas por algún intermediario, un comportamiento similar al que ocurre en el cerebro. Estas neuronas pueden funcionar de forma separada y manejar una gran tarea, y los resultados finalmente se pueden combinar. [5]
Otras redes de feedforward
De manera más general, cualquier gráfico acíclico dirigido puede usarse para una red de retroalimentación, con algunos nodos (sin padres) designados como entradas y algunos nodos (sin hijos) designados como salidas. Estos pueden verse como redes multicapa donde algunos bordes saltan capas, ya sea contando capas hacia atrás desde las salidas o hacia adelante desde las entradas. Se pueden usar varias funciones de activación y puede haber relaciones entre pesos, como en las redes neuronales convolucionales .
Ejemplos de otras redes de alimentación directa incluyen redes de función de base radial , que utilizan una función de activación diferente.
A veces , el perceptrón multicapa se usa de manera flexible para referirse a cualquier red neuronal de alimentación directa, mientras que en otros casos se restringe a redes específicas (p. Ej., Con funciones de activación específicas o con capas completamente conectadas o entrenadas por el algoritmo del perceptrón).
Ver también
- Red Hopfield
- Red neuronal convolucional
- Feed-forward
- Retropropagación
- Rprop
Referencias
- ↑ a b Zell, Andreas (1994). Simulation Neuronaler Netze [ Simulación de redes neuronales ] (en alemán) (1ª ed.). Addison-Wesley. pag. 73. ISBN 3-89319-554-8.
- ^ Schmidhuber, Jürgen (1 de enero de 2015). "Aprendizaje profundo en redes neuronales: una visión general". Redes neuronales . 61 : 85-117. arXiv : 1404,7828 . doi : 10.1016 / j.neunet.2014.09.003 . ISSN 0893-6080 . PMID 25462637 . S2CID 11715509 .
- ^ Auer, Peter; Harald Burgsteiner; Wolfgang Maass (2008). "Una regla de aprendizaje para aproximadores universales muy simples que consta de una sola capa de perceptrones" (PDF) . Redes neuronales . 21 (5): 786–795. doi : 10.1016 / j.neunet.2007.12.036 . PMID 18249524 . Archivado desde el original (PDF) el 6 de julio de 2011 . Consultado el 8 de septiembre de 2009 .
- ^ Roman M. Balabin ; Ravilya Z. Safieva; Ekaterina I. Lomakina (2007). "Comparación de modelos de calibración lineales y no lineales basados en datos de espectroscopía de infrarrojo cercano (NIR) para la predicción de propiedades de gasolina". Laboratorio Chemometr Intell . 88 (2): 183–188. doi : 10.1016 / j.chemolab.2007.04.006 .
- ^ Tahmasebi, Pejman; Hezarkhani, Ardeshir (21 de enero de 2011). "Aplicación de una red neuronal Feedforward modular para estimación de grado" . Investigación de recursos naturales . 20 (1): 25–32. doi : 10.1007 / s11053-011-9135-3 . S2CID 45997840 .
enlaces externos
- Tutorial de redes neuronales Feedforward
- Red neuronal Feedforward: Ejemplo
- Redes neuronales Feedforward: Introducción