Tipo de red neuronal de propagación hacia adelante
Un perceptrón multicapa ( MLP ) es el nombre de una red neuronal artificial de propagación hacia adelante moderna , que consta de neuronas totalmente conectadas con una 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 . [1]
Las redes de propagación hacia adelante modernas se entrenan utilizando el método de retropropagación [2] [3] [4] [5] [6] y se las conoce coloquialmente como redes neuronales "vanilla". [7]
Los MLP surgieron de un esfuerzo por mejorar los perceptrones de una sola capa , que solo podían distinguir datos separables linealmente. Un perceptrón tradicionalmente usaba una función de paso de Heaviside como su función de activación no lineal. Sin embargo, el algoritmo de retropropagación requiere que los MLP modernos usen funciones de activación continuas [ desambiguación necesaria ] como sigmoide o ReLU . [8]
Cronología
- En 1943, Warren McCulloch y Walter Pitts propusieron la neurona artificial binaria como modelo lógico de las redes neuronales biológicas. [9]
- 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. [10]
- En 1962, Rosenblatt publicó muchas variantes y experimentos sobre perceptrones en su libro Principles of Neurodynamics , incluyendo hasta 2 capas entrenables mediante "errores de retropropagación". [11] Sin embargo, no era el algoritmo de retropropagación, y no tenía un método general para entrenar múltiples capas.
- En 1967, Shun'ichi Amari informó [15] que la primera red neuronal multicapa entrenada por descenso de gradiente estocástico era 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. [14]
- La retropropagación se desarrolló de forma independiente varias veces a principios de la década de 1970. El primer ejemplo publicado fue la tesis de maestría de Seppo Linnainmaa (1970). [16] [17] [14] Paul Werbos la desarrolló de forma independiente en 1971, [18] pero tuvo dificultades para publicarla hasta 1982. [19]
- En 2021, se diseñó una arquitectura NN muy simple que combina dos MLP profundos con conexiones de salto y normalizaciones de capas y se denominó MLP-Mixer; sus realizaciones con entre 19 y 431 millones de parámetros demostraron ser comparables a los transformadores de visión de tamaño similar en ImageNet y tareas de clasificación de imágenes similares . [23]
Fundamentos matemáticos
Función de activación
Si un perceptrón multicapa tiene una función de activación lineal en todas las neuronas, es decir, una función lineal que asigna las entradas ponderadas a la salida de cada neurona, entonces el álgebra lineal muestra que cualquier número de capas se puede reducir a un modelo de entrada-salida de dos capas. En los MLP, algunas neuronas utilizan una función de activación no lineal que se desarrolló para modelar la frecuencia de los potenciales de acción , o disparos, de las neuronas biológicas.
Las dos funciones de activación históricamente comunes son ambas sigmoides y se describen mediante
- .
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).
En los últimos desarrollos del aprendizaje profundo, la unidad lineal rectificada (ReLU) se utiliza con mayor frecuencia como una de las posibles formas de superar los problemas numéricos relacionados con los sigmoides.
Capas
El MLP consta de tres o más capas (una capa de entrada y una capa de salida con una o más capas ocultas ) de nodos que se activan de forma no lineal. Como los MLP están completamente conectados, cada nodo de una capa se conecta con un cierto peso a cada nodo de la capa siguiente.
Aprendiendo
El aprendizaje se produce en el perceptrón 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 , una generalización del algoritmo de mínimos cuadrados medios en el perceptrón lineal.
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 por el perceptrón 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
- .
Usando el descenso de gradiente , el cambio en cada peso es
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. [24]
Referencias
- ^ Cybenko, G. 1989. Aproximación por superposiciones de una función sigmoidea Matemáticas de control, señales y sistemas , 2(4), 303–314.
- ^ 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
- ^ 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 .
- ^ 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.
- ^ "¿Por qué la función ReLU no es diferenciable en x=0?".
- ^ 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.
- ^ 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.
- ^ abc Schmidhuber, Juergen (2022). "Historia anotada de la IA moderna y el aprendizaje profundo". arXiv : 2212.11279 [cs.NE].
- ^ 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.
- ^ 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. ISBN 978-0-262-26715-1.
- ^ 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 .
- ^ 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.
- ^ 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.
- ^ 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.
- ^ "Artículos con código – MLP-Mixer: una arquitectura totalmente MLP para la visión".
- ^ Haykin, Simon (1998). Redes neuronales: una base integral (2.ª edición). Prentice Hall. ISBN 0-13-273350-1.
Enlaces externos
- Weka: software de minería de datos de código abierto con implementación de perceptrón multicapa.
- La documentación de Neuroph Studio implementa este algoritmo y algunos otros.