Rede neural artificial
![]() | Esta páxina ou sección está a editarse nestes intres. Para evitar posibles conflitos de edición, non edites esta páxina ou sección mentres vexas esta mensaxe. Revisa o historial de edicións para saber quen traballa nela. O usuario O Breixo (conversa · contribucións) realizou a última edición na páxina hai 2 anos. O tempo máximo de presenza deste marcador é dun mes dende a última edición do usuario que o puxo; pasado ese tempo debe retirarse. |

As redes neurais artificiais (RNAs),[1][2] xeralmente chamadas simplemente redes neurais, son sistemas informáticos inspirados nas redes neurais biolóxicas que constitúen os cerebros animais.[3]
Unha RNA baséase nunha colección de unidades ou nodos conectados chamados neuronas artificiais, que modelan de forma vaga as neuronas nun cerebro biolóxico. Cada conexión, como as sinapses dun cerebro biolóxico, pode transmitir un sinal a outras neuronas. Unha neurona artificial recibe sinais e logo procésaos e pode sinalar as neuronas conectadas a ela. O "sinal" nunha conexión é un número real, e a saída de cada neurona calcúlase mediante algunha función non lineal da suma das súas entradas. As conexións chámanse enlaces ou edges en inglés. As neuronas e os enlaces adoitan ter un peso ou weight que se axusta a medida que avanza a aprendizaxe. O peso aumenta ou diminúe a intensidade do sinal nunha conexión. As neuronas poden ter un límite tal que só se envía un sinal se o sinal agregado cruza ese límite.
Normalmente, as neuronas están agregadas en capas. Diferentes capas poden realizar diferentes transformacións nas súas entradas. Os sinais viaxan dende a primeira capa (a capa de entrada) ata a última capa (a capa de saída), posiblemente despois de atravesar as capas varias veces.
Adestramento
As redes neurais aprenden (ou son adestradas) procesando exemplos, cada un dos cales contén unha "entrada" e un "resultado" coñecidos, formando asociacións ponderadas por probabilidade entre ambos, que se almacenan dentro da estrutura de datos da propia rede. O adestramento dunha rede neural a partir dun exemplo dado adoita realizarse determinando a diferenza entre a saída procesada da rede (a miúdo unha predición) e unha saída obxectivo. Esta diferenza é o erro. A rede axusta entón as súas asociacións ponderadas segundo unha regra de aprendizaxe e utilizando este valor de erro. Os sucesivos axustes farán que a rede neural produza unha saída cada vez máis semellante á saída de destino. Despois dun número suficiente destes axustes, a formación pódese finalizar en función de determinados criterios. Esta é unha forma de aprendizaxe supervisada.
Estes sistemas "aprenden" a realizar tarefas considerando exemplos, xeralmente sen ser programados con regras específicas para tarefas. Por exemplo, no recoñecemento de imaxes, poden aprender a identificar imaxes que conteñan gatos analizando imaxes de exemplo que foron etiquetadas manualmente como "gato" ou "sen gato" e utilizando os resultados para identificar gatos noutras imaxes. Fan isto sen ningún coñecemento previo dos gatos, por exemplo, que teñen pelaxe, rabo, bigotes e caras de gato. Pola contra, xeran automaticamente características de identificación a partir dos exemplos que procesan.
Historia
Rede neural lineal
O tipo máis sinxelo de rede neural prealimentada (feed-forward neural network FNN en inglés) é unha rede lineal, que consiste nunha única capa de nodos de saída; as entradas son alimentadas directamente ás saídas mediante unha serie de pesos (weights). A suma dos produtos dos pesos e das entradas calcúlase en cada nodo. Os erros cuadráticos medios entre estas saídas calculadas e uns valores obxectivo determinados redúcense ao mínimo creando un axuste aos pesos. Esta técnica é coñecida desde hai máis de dous séculos como o método de mínimos cadrados lineais ou regresión linear. Legendre (1805) e Gauss (1795) utilizaron como medio para atopar un bo axuste lineal aproximado a un conxunto de puntos para a predición do movemento planetario.[4][5][6][7][8]
Arquitecturas de rede recorrentes
Wilhelm Lenz e Ernst Ising crearon e analizaron o modelo de Ising (1925),[9] que é esencialmente unha rede neural recorrente (recurrent neural network RNN) sen aprendizaxe que consta de elementos similares ás neuronas.[7] En 1972, Shun'ichi Amari fixo esta arquitectura adaptativa.[10][7] A súa RNN foi popularizada por John Hopfield en 1982.[11]
Perceptróns e primeiras redes neurais
Warren McCulloch e Walter Pitts[12] (1943) tamén consideraron un modelo computacional de non-aprendizaxe para redes neurais.[13] A finais da década de 1940, D. O. Hebb[14] creou unha hipótese de aprendizaxe baseada no mecanismo da plasticidade neural que se coñeceu como teoría hebbiana. Farley e Wesley A. Clark[15] (1954) utilizaron primeiro máquinas computacionais, entón chamadas "calculadoras", para simular unha rede hebbiana. En 1958, o psicólogo Frank Rosenblatt inventou o perceptrón, a primeira rede neural artificial implementada,[16][17][18][19] financiada pola Oficina de Investigación Naval dos Estados Unidos.[20]
Algúns din que a investigación se estancau seguindo a Minsky e Papert (1969),[21] que descubriron que os perceptróns básicos eran incapaces de procesar o circuíto exclusivo e que os ordenadores carecían da potencia suficiente para procesar redes neurais útiles. Non obstante, cando saíu este libro, xa se coñecían métodos para adestrar perceptróns multicapa (MLP).
Primeiro deep learning
O primeiro MLP deep learning foi publicado por Alexey Grigorevich Ivakhnenko e Valentín Lapa en 1965, como o método de agrupamento para o manexo de datos.[22][23][24] O primeiro MLP de deep learning adestrado por descenso de gradiente estocástico[25] foi publicado en 1967 por Shun'ichi Amari. En experimentos informáticos realizados por un dos alumnos de Amari, un MLP de cinco capas con dúas capas modificables aprendeu representacións internas útiles para clasificar clases de patróns non linealmente separables.
Retropropagación
O algoritmo de retropropagación é unha aplicación eficiente da regra da cadea de Leibniz (1673) a redes de nodos diferenciables. Tamén se coñece como o modo inverso de diferenciación automática ou acumulación inversa, debido a Seppo Linnainmaa (1970). O termo "erros de propagación inversa" foi introducido en 1962 por Frank Rosenblatt, pero non tiña unha implementación deste procedemento, aínda que Henry J. Kelley e Bryson tiñan unha programación dinámica baseada precursores continuos da retropropagación xa en 1960 no contexto da teoría do control. En 1973, Dreyfus utilizou a retropropagación para adaptar os parámetros dos controladores en proporción aos gradientes de erro. En 1982, Paul Werbos aplicou a retropropagación aos MLPs de xeito que se converteu no estándar. En 1986 Rumelhart, Hinton e Williams demostraron que a retropropagación aprendeu interesantes representacións internas de palabras como vectores de características cando se adestraba para predicir a seguinte palabra nunha secuencia.
Mapas autoorganizados
Os mapas autoorganizados (SOMs) foron descritos por Teuvo Kohonen en 1982. Os SOM son redes neurais de inspiración neurofisiolóxica que aprenden representacións de baixa dimensión de datos de alta dimensión á vez que preservan a estrutura topolóxica dos datos. Adestran mediante a aprendizaxe competitiva.
Rede neurais convolucionais (CNNs)
A arquitectura da rede neural convolucional (CNN), con capas convolucionais e capas de compresión, foi introducida por Kunihiko Fukushima en 1980. Chamouno neocognitron. En 1969, tamén introduciu a función de activación ReLU (unidade lineal rectificada). O rectificador converteuse na función de activación máis popular para as CNN e as redes neurais de deep learning en xeral. As CNN convertéronse nunha ferramenta esencial para a visión artificial.
A rede neural con retardo de tempo (TDNN) de Alex Waibel (1987) combinou convolucións e repartición de peso e retropropagación. En 1988, Wei Zhang et al. aplicou a retropropagación a unha CNN (un Neocognitron simplificado con interconexións convolucionais entre as capas de características da imaxe e a última capa totalmente conectada) para o recoñecemento do alfabeto. En 1989, Yann LeCun et al. adestrou a unha CNN para recoñecer os códigos postais escritos a man no correo. En 1992, o max-pooling para CNN foi introducido por Juan Weng et al. para axudar coa invariancia de menor desprazamento e tolerancia á deformación para axudar ao recoñecemento de obxectos 3D. LeNet-5 (1998), unha CNN de 7 niveis de Yann LeCun et al., que clasifica os díxitos, foi aplicada por varios bancos para recoñecer números escritos a man en cheques dixitalizados en imaxes de 32 x 32 píxeles.
A partir de 1988, o uso de redes neurais transformou o campo da predición da estrutura das proteínas, en particular cando as primeiras redes en cascada foron adestradas en perfís (matrices) producidos por aliñamentos de secuencias múltiples.
Na década de 1980, a retropropagación non funcionaba ben para o deep learning das FNN e RNN. Para superar este problema, Juergen Schmidhuber (1992) propuxo unha xerarquía de RNNs adestradas previamente un nivel cada vez mediante a aprendizaxe autosupervisada. Usa codificación preditiva para aprender representacións internas en múltiples escalas de tempo. Isto pode facilitar substancialmente o deep learning posterior. A xerarquía RNN pode colapsarse nun único RNN, destilando unha rede chunker de nivel superior nunha rede de automatización de nivel inferior. En 1993, un chunker resolveu unha tarefa de deep learning cuxa profundidade superaba os 1000.
Redes adversarias xerativas
En 1991, Juergen Schmidhuber tamén publicou redes neurais adversarias que compiten entre si en forma de xogo de suma cero, onde a ganancia dunha rede é a perda da outra rede. A primeira rede é un modelo xenerativo que modela unha distribución de probabilidade sobre patróns de saída. A segunda rede aprende mediante o descenso en gradiente a predicir as reaccións do medio a estes patróns. Isto chamóuselle "curiosidade artificial".
En 2014, Ian Goodfellow et al. utilizou este principio nunha rede adversaria xerativa (GAN). Aquí a reacción ambiental é 1 ou 0 dependendo de se a saída da primeira rede está nun conxunto dado. Isto pódese usar para crear deepfakes realistas. StyleGAN (2018) de Nvidia conséguese unha excelente calidade de imaxe baseado no Progressive GAN de Tero Karras, Timo Aila, Samuli Laine e Jaakko Lehtinen. Aquí o xerador GAN crece de pequena a grande escala de forma piramidal.
Transformadores e as súas variantes
En 1992, Juergen Schmidhuber tamén publicou unha alternativa ás RNNs que agora se chama transformador lineal ou transformador con auto-atención linealizada. Aprende focos internos de atención: unha rede neural prealimentada aprende mediante un descenso de gradientes a controlar os pesos rápidos doutra rede neural a través de produtos externos de patróns de activación autoxerados FROM e TO (que agora se denominan key e value para auto-atención).
O transformador moderno foi introducido por Ashish Vaswani et. al. no seu artigo de 2017 "Attention Is All You Need". Combina isto cun operador softmax e unha matriz de proxección. Os transformadores convertéronse cada vez máis no modelo de elección para o procesamento da linguaxe natural. Moitos modelos modernos de grandes linguaxes como ChatGPT, GPT-4 e BERT utilízano. Os transformadores tamén se usan cada vez máis na visión por ordenador.
O problema de desvanecemento de gradiente
A tese de Sepp Hochreiter (1991) foi denominada "un dos documentos máis importantes da historia da aprendizaxe automática" polo seu supervisor Juergen Schmidhuber. Hochreiter identificou e analizou o problema de desvanecemento de gradiente e propuxo conexións residuais recorrentes para resolvelo. Isto levou ao método de deep learning chamado memoria longa a curto prazo (LSTM), publicado en Neural Computation (1997). As redes neurais recorrentes LSTM poden aprender tarefas de "very deep learning" con longos camiños de asignación de créditos que requiren memorias de eventos que ocorreron miles de pasos de tempo antes. A "vanilla LSTM" con porta de esquecemento foi introducida en 1999 por Felix Gers, Schmidhuber e Fred Cummins. LSTM converteuse na rede neural máis citada do século XX. En 2015, Rupesh Kumar Srivastava, Klaus Greff e Schmidhuber utilizaron o principio LSTM para crear a Highway network, unha rede neural de avance con centos de capas, moito máis profunda que as redes anteriores. Sete meses despois, Kaiming He, Xiangyu Zhang; Shaoqing Ren e Jian Sun gañaron a competición ImageNet 2015 cunha variante de Highway network de porta-aberta ou sen porta chamada rede neural residual. Esta converteuse na rede neural máis citada do século XXI.
Deseños baseados en hardware
O desenvolvemento da integración a moi grande escala (VLSI) de metal-óxido-semicondutores (MOS), en forma de tecnoloxía MOS complementaria (CMOS), permitiu aumentar a conta de transistores MOS na electrónica dixital. Isto proporcionou máis potencia de procesamento para o desenvolvemento de redes neurais artificiais na década de 1980.
Os primeiros éxitos das redes neurais incluíron a predicción do mercado de valores e en 1995 un coche autónomo.
Geoffrey Hinton et al. (2006) propuxeron aprender unha representación de alto nivel utilizando capas sucesivas de variables latentes binarias ou de valor real cunha máquina de Boltzmann restrinxida para modelar cada capa. En 2012, Andrew Ng e Jeff Dean crearon unha rede que aprendeu a recoñecer conceptos de nivel superior, coma gatos, só mirando imaxes sen etiquetas. O adestramento previo sen supervisión e o aumento da potencia de computación das GPU e a computación distribuída permitiron o uso de redes máis grandes, particularmente en problemas de recoñecemento visual e de imaxe, que se coñeceu como "deep learning".
Dan Ciresan e colegas (2010) demostraron que a pesar do problema de desvanecemento de gradiente, as GPU fan que a retropropagación sexa factible para redes neurais de avance de moitas capas. Entre 2009 e 2012, os ANNs comezaron a gañar premios en concursos de recoñecemento de imaxes, achegándose ao rendemento a nivel humano en varias tarefas, inicialmente no recoñecemento de patróns e recoñecemento da escritura. Por exemplo, a memoria longa a curto prazo bidireccional e multidimensional (LSTM) de Alex Graves et al. gañou tres concursos de recoñecemento de caligrafía en 2009 sen ningún coñecemento previo sobre as tres linguas que ían aprender.
Ciresan e os seus colegas crearon os primeiros recoñecedores de patróns en lograr un rendemento similar ao humano en puntos de referencia como o recoñecemento de sinais de tráfico (IJCNN 2012).
Notas
- ↑ Hardi Shah. "A Full Overview of Artificial Neural Networks (ANN)". learn.g2.com (en inglés).
- ↑ Hardesty, Larry (2017). "Explained: Neural networks". Massachisetts Institute of Technology.
- ↑ Yang, Z.R; Yang, Z. (2014). Comprehensive Biomedical Physics. Karolinska Institute. ISBN 978-0-444-53633-4.
- ↑ Merriman, Mansfield (1877). A List of Writings Relating to the Method of Least Squares. Harvard University. ISBN 978-1166426859.
- ↑ Stigler, Stephen M. (1981). "Gauss and the Invention of Least Squares". Project Euclid 9 (3): 465–474. doi:10.1214/aos/1176345451.
- ↑ Bretscher, Otto. Linear Algebra with Applications. Pearson. ISBN 978-0321796943.
- ↑ 7,0 7,1 7,2 Schmidhuber, Juergen (2022). "Annotated History of Modern AI and Deep Learning". Cornell University. arXiv:2212.11279.
- ↑ Stigler, Stephen M. (1986). The History of Statistics: The Measurement of Uncertainty before 1900. Cambridge: Harvard. ISBN 0-674-40340-1.
- ↑ Brush, Stephen G. (1967). "History of the Lenz-Ising Model". Reviews of Modern Physics 39 (4): 883–893. Bibcode:1967RvMP...39..883B. doi:10.1103/RevModPhys.39.883.
- ↑ Amari, Shun-Ichi (1972). "Learning patterns and pattern sequences by self-organizing nets of threshold elements". IEEE Transactions (21): 1197–1206. ISSN 1557-9956. doi:10.1109/T-C.1972.223477.
- ↑ Hopfield, J. J. (1982). "Neural networks and physical systems with emergent collective computational abilities". Proceedings of the National Academy of Sciences 79 (8): 2554–2558. Bibcode:1982PNAS...79.2554H. doi:10.1073/pnas.79.8.2554.
- ↑ McCulloch, Warren; Pitts, Walter (1943). "A Logical Calculus of Ideas Immanent in Nervous Activity". Bulletin of Mathematical Biophysics 5 (4): 115–133. doi:10.1007/BF02478259.
- ↑ Kleene, S.C. (1956). "Representation of Events in Nerve Nets and Finite Automata". Annals of Mathematics Studies. Princeton University Press (34): 3–41.
- ↑ The Organization of Behavior. Wiley. 1949. ISBN 978-1-135-63190-1.
- ↑ Farley, B.G.; Clark, W.A. (1954). "Simulation of Self-Organizing Systems by Digital Computer". IRE Transactions on Information Theory 4 (4): 76–84. doi:10.1109/TIT.1954.1057468.
- ↑ Haykin, Simon (2008). Neural Networks and Learning Machines, 3rd edition. McMaster University, Pearson. ISBN 978-0131471399.
- ↑ Rosenblatt, F. (1958). "The Perceptron: A Probabilistic Model For Information Storage And Organization in the Brain". Psychological Review 65 (6): 386–408. doi:10.1037/h0042519.
- ↑ Werbos, Paul John (1975). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. Harvard University.
- ↑ Rosenblatt, Frank (1957). "The Perceptron—a perceiving and recognizing automaton" (PDF). Cornell Aeronautical Laboratory. Report 85-460-1.
- ↑ Olazaran, Mikel (1996). "A Sociological Study of the Official History of the Perceptrons Controversy". Social Studies of Science 26 (3): 611–659. JSTOR 285702. doi:10.1177/030631296026003005.
- ↑ Minsky, Marvin; Papert, Seymour (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press. ISBN 978-0-262-63022-1.
- ↑ Schmidhuber, Juergen (2015). "Deep Learning in Neural Networks: An Overview". Neural Networks 61: 85–117. PMID 25462637. arXiv:1404.7828. doi:10.1016/j.neunet.2014.09.003.
- ↑ Ivakhnenko, A. G. (1973). Cybernetic Predicting Devices. CCM Information Corporation.
- ↑ Ivakhnenko, A. G. (1967). Cybernetics and Forecasting Techniques. American Elsevier Publishing Company. ISBN 9780444000200. ISSN 0076-9908.
- ↑ Robbins, H.; Monro, S. (1951). "A Stochastic Approximation Method". The Annals of Mathematical Statistics 22 (3): 400. doi:10.1214/aoms/1177729586.