Una red neuronal de propagación hacia adelante ( FNN ) es uno de los dos tipos generales de red neuronal artificial , que se caracteriza por la dirección del flujo de información entre sus capas. [2] Su flujo es unidireccional, lo que significa que la información en el modelo fluye solo en una 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, sin ciclos ni bucles [2] (a diferencia de las redes neuronales recurrentes , [3] que tienen un flujo bidireccional). Las redes de propagación hacia adelante modernas se entrenan utilizando retropropagación , [4] [5] [6] [7] [8] y se las conoce coloquialmente como redes neuronales "vanilla". [9]
La primera es una tangente hiperbólica que va de -1 a 1, mientras que la otra es la función logística , que tiene una forma similar pero va de 0 a 1. Aquí está la salida del nodo n.º (neurona) y es la suma ponderada de las conexiones de entrada. Se han propuesto funciones de activación alternativas, incluidas las funciones rectificadoras y softplus . Las funciones de activación más especializadas incluyen funciones de base radial (utilizadas en redes de base radial , otra clase de modelos de redes neuronales supervisadas).
El aprendizaje se produce al cambiar los pesos de conexión después de procesar cada pieza de datos, en función de la cantidad de error en la salida en comparación con el resultado esperado. Este es un ejemplo de aprendizaje supervisado y se lleva a cabo mediante retropropagación .
Podemos representar el grado de error en un nodo de salida en el punto de datos th (ejemplo de entrenamiento) por , donde es el valor objetivo deseado para el punto de datos th en el nodo , y es el valor producido en el nodo cuando el punto de datos th se proporciona como entrada.
Los pesos de los nodos se pueden ajustar en función de las correcciones que minimizan el error en toda la salida para el punto de datos, dado por
donde es la salida de la neurona anterior , y es la tasa de aprendizaje , que se selecciona para asegurar que los pesos converjan rápidamente a una respuesta, sin oscilaciones. En la expresión anterior, denota la derivada parcial del error según la suma ponderada de las conexiones de entrada de la neurona .
La derivada que se debe calcular depende del campo local inducido , que a su vez varía. Es fácil demostrar que para un nodo de salida esta derivada se puede simplificar a
donde es la derivada de la función de activación descrita anteriormente, que en sí misma no varía. El análisis es más difícil para el cambio de pesos en un nodo oculto, pero se puede demostrar que la derivada relevante es
.
Esto depende del cambio en los pesos de los nodos th, que representan la capa de salida. Por lo tanto, para cambiar los pesos de la capa oculta, los pesos de la capa de salida cambian de acuerdo con la derivada de la función de activación, y por lo tanto este algoritmo representa una retropropagación de la función de activación. [10]
Historia
Cronología
Hacia 1800, Legendre (1805) y Gauss (1795) crearon la red de propagación hacia adelante más simple, que consiste en una sola capa de peso con funciones de activación lineal. Se entrenó mediante el método de mínimos cuadrados para minimizar el error cuadrático medio , también conocido como regresión lineal . Legendre y Gauss lo utilizaron para la predicción del movimiento planetario a partir de datos de entrenamiento. [11] [12] [13] [14] [15]
En 1958, Frank Rosenblatt propuso el modelo de perceptrón multicapa , que consta de una capa de entrada, una capa oculta con pesos aleatorios que no aprenden y una capa de salida con conexiones que se pueden aprender. [17] RD Joseph (1960) [18] menciona un dispositivo similar al perceptrón aún anterior: [13] "Farley y Clark del Laboratorio Lincoln del MIT en realidad precedieron a Rosenblatt en el desarrollo de un dispositivo similar al perceptrón". Sin embargo, "abandonaron el tema".
En 1960, Joseph [18] también analizó los perceptrones multicapa con una capa oculta adaptativa. Rosenblatt (1962) [19] : sección 16 citó y adoptó estas ideas, y también reconoció el trabajo de HD Block y BW Knight. Desafortunadamente, estos primeros esfuerzos no condujeron a un algoritmo de aprendizaje funcional para unidades ocultas, es decir, aprendizaje profundo .
En 1965, Alexey Grigorevich Ivakhnenko y Valentin Lapa publicaron Group Method of Data Handling , el primer algoritmo de aprendizaje profundo funcional , un método para entrenar redes neuronales arbitrariamente profundas. [20] [21] Se basa en el entrenamiento capa por capa a través del análisis de regresión. Las unidades ocultas superfluas se podan utilizando un conjunto de validación separado. Dado que las funciones de activación de los nodos son polinomios de Kolmogorov-Gabor, estas también fueron las primeras redes profundas con unidades multiplicativas o "puertas". [13] Se utilizó para entrenar una red neuronal de ocho capas en 1971.
En 1967, Shun'ichi Amari informó [22] sobre la primera red neuronal multicapa entrenada mediante descenso de gradiente estocástico , que fue capaz de clasificar clases de patrones no linealmente separables. El estudiante de Amari, Saito, realizó los experimentos informáticos, utilizando una red de alimentación hacia adelante de cinco capas con dos capas de aprendizaje. [13]
En 1970, Seppo Linnainmaa publicó la forma moderna de retropropagación en su tesis de maestría (1970). [23] [24] [13] GM Ostrovski et al. la republicaron en 1971. [25] [26] Paul Werbos aplicó la retropropagación a las redes neuronales en 1982 [7] [27] (su tesis doctoral de 1974, reimpresa en un libro de 1994, [28] aún no describía el algoritmo [26] ). En 1986, David E. Rumelhart et al. popularizaron la retropropagación pero no citaron el trabajo original. [29] [8]
Si se utiliza un umbral, es decir, una función de activación lineal , la unidad de umbral lineal resultante se denomina perceptrón . (A menudo, el término se utiliza para denotar solo una de estas unidades). Múltiples unidades no lineales paralelas pueden aproximar cualquier función continua de un intervalo compacto de números reales en el intervalo [−1,1] a pesar del poder computacional limitado de una unidad única con una función de umbral lineal. [31]
Los perceptrones se pueden entrenar mediante un algoritmo de aprendizaje simple que suele denominarse regla delta . Calcula los errores entre los datos de salida calculados y los datos de salida de muestra, y los utiliza para crear un ajuste en los pesos, implementando así una forma de descenso de gradiente .
Perceptrón multicapa
Un perceptrón multicapa ( MLP ) es un nombre inapropiado para una red neuronal artificial de propagación hacia adelante moderna, que consta de neuronas completamente conectadas (de ahí el sinónimo a veces utilizado de red completamente conectada ( FCN )), a menudo con un tipo de función de activación no lineal, organizada en al menos tres capas, notable por ser capaz de distinguir datos que no son linealmente separables . [32]
^ Ferrie, C., y Kaiser, S. (2019). Redes neuronales para bebés . Libros de consulta. ISBN 978-1492671206.{{cite book}}: CS1 maint: multiple names: authors list (link)
^ ab Zell, Andreas (1994). Simulación Neuronaler Netze [ Simulación de redes neuronales ] (en alemán) (1ª ed.). Addison-Wesley. pag. 73.ISBN3-89319-554-8.
^ Schmidhuber, Jürgen (1 de enero de 2015). "Aprendizaje profundo en redes neuronales: una descripció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.
^ Linnainmaa, Seppo (1970). La representación del error de redondeo acumulativo de un algoritmo como una expansión de Taylor de los errores de redondeo locales (Masters) (en finlandés). Universidad de Helsinki. págs. 6-7.
^ Kelley, Henry J. (1960). "Teoría de gradientes de trayectorias de vuelo óptimas". ARS Journal . 30 (10): 947–954. doi :10.2514/8.5282.
^ Rosenblatt, Frank. x. Principios de neurodinámica: perceptrones y teoría de los mecanismos cerebrales. Spartan Books, Washington DC, 1961
^ ab Werbos, Paul (1982). "Aplicaciones de los avances en el análisis de sensibilidad no lineal" (PDF) . Modelado y optimización de sistemas . Springer. pp. 762–770. Archivado (PDF) desde el original el 14 de abril de 2016. Consultado el 2 de julio de 2017 .
^ ab Rumelhart, David E., Geoffrey E. Hinton y RJ Williams. "Aprendizaje de representaciones internas mediante propagación de errores". David E. Rumelhart, James L. McClelland y el grupo de investigación PDP (editores), Procesamiento distribuido paralelo: exploraciones en la microestructura de la cognición, volumen 1: Fundamentos. MIT Press, 1986.
^ Hastie, Trevor. Tibshirani, Robert. Friedman, Jerome. Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción. Springer, Nueva York, NY, 2009.
^ Haykin, Simon (1998). Redes neuronales: una base integral (2.ª edición). Prentice Hall. ISBN0-13-273350-1.
^ Merriman, Mansfield. Lista de escritos relacionados con el método de mínimos cuadrados: con notas históricas y críticas . Vol. 4. Academy, 1877.
^ Stigler, Stephen M. (1981). "Gauss y la invención de los mínimos cuadrados". Ann. Stat . 9 (3): 465–474. doi : 10.1214/aos/1176345451 .
^ abcde Schmidhuber, Jürgen (2022). "Historia comentada de la IA moderna y el aprendizaje profundo". arXiv : 2212.11279 [cs.NE].
^ Bretscher, Otto (1995). Álgebra lineal con aplicaciones (3.ª ed.). Upper Saddle River, Nueva Jersey: Prentice Hall.
^ Stigler, Stephen M. (1986). Historia de la estadística: la medición de la incertidumbre antes de 1900. Cambridge: Harvard. ISBN0-674-40340-1.
^ McCulloch, Warren S.; Pitts, Walter (1943-12-01). "Un cálculo lógico de las ideas inmanentes en la actividad nerviosa". Boletín de Biofísica Matemática . 5 (4): 115–133. doi :10.1007/BF02478259. ISSN 1522-9602.
^ Rosenblatt, Frank (1958). "El perceptrón: un modelo probabilístico para el almacenamiento y la organización de la información en el cerebro". Psychological Review . 65 (6): 386–408. CiteSeerX 10.1.1.588.3775 . doi :10.1037/h0042519. PMID 13602029. S2CID 12781225.
^ ab Joseph, RD (1960). Contribuciones a la teoría del perceptrón, Cornell Aeronautical Laboratory Report No. VG-11 96--G-7, Buffalo .
^ Rosenblatt, Frank (1962). Principios de neurodinámica . Spartan, Nueva York.
^ Ivakhnenko, AG (1973). Dispositivos de predicción cibernética. CCM Information Corporation.
^ Ivakhnenko, AG ; Grigorʹevich Lapa, Valentin (1967). Cibernética y técnicas de previsión. American Elsevier Pub. Co.
^ Amari, Shun'ichi (1967). "Una teoría del clasificador de patrones adaptativo". Transacciones IEEE . EC (16): 279-307.
^ Linnainmaa, Seppo (1970). La representación del error de redondeo acumulativo de un algoritmo como una expansión de Taylor de los errores de redondeo locales (Masters) (en finlandés). Universidad de Helsinki. págs. 6-7.
^ Linnainmaa, Seppo (1976). "Expansión de Taylor del error de redondeo acumulado". BIT Numerical Mathematics . 16 (2): 146–160. doi :10.1007/bf01931367. S2CID 122357351.
^ Ostrovski, GM, Volin, YM y Boris, WW (1971). Sobre el cálculo de derivadas. Wiss. Z. Tech. Hochschule for Chemistry, 13:382–384.
^ ab Schmidhuber, Juergen (25 de octubre de 2014). "¿Quién inventó la retropropagación?". IDSIA, Suiza. Archivado desde el original el 30 de julio de 2024. Consultado el 14 de septiembre de 2024 .
^ Anderson, James A.; Rosenfeld, Edward, eds. (2000). Talking Nets: Una historia oral de las redes neuronales. The MIT Press. doi :10.7551/mitpress/6626.003.0016. ISBN978-0-262-26715-1.
^ Werbos, Paul J. (1994). Las raíces de la retropropagación: de las derivadas ordenadas a las redes neuronales y la previsión política . Nueva York: John Wiley & Sons. ISBN0-471-59897-6.
^ Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (octubre de 1986). "Aprendizaje de representaciones mediante retropropagación de errores". Nature . 323 (6088): 533–536. Bibcode :1986Natur.323..533R. doi :10.1038/323533a0. ISSN 1476-4687.
^ Bengio, Yoshua; Ducharme, Réjean; Vincent, Pascal; Janvin, Christian (marzo de 2003). "Un modelo de lenguaje probabilístico neuronal". The Journal of Machine Learning Research . 3 : 1137–1155.
^ Auer, Peter; Harald Burgsteiner; Wolfgang Maass (2008). "Una regla de aprendizaje para aproximadores universales muy simples que consisten en 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 2011-07-06 . Consultado el 2009-09-08 .