40. SBAI-Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 ALGORITMO DE APRENDIZAJE ACELERADO PARA BACKPROPAGATION Miguel Strefezza Bianco Yasuhiko Dote Universidad Simón Bolivar Departamento de Procesos y Sistemas Tf: (02) 906-3327 / 906-33-04. Fax (02) 906-33-03 e-mail: strefeza @usb.ve son estimadores que no necesitan un modelo matemático para su descripción y tienen la capacidad de poder ser usados en sistemas donde se . posean problemas de datos incompletos, perturbados o contaminados con ruido. Resumen: El entrenamiento de redes neuronales utilizando el algoritmo de backpropagation es muy utilizado y sufre por poseer una convergencia asimptótica lenta. En este artículo se presenta un algoritmo para mejorar y acelerar el algoritmo de backpropagation mediante un aprendizaje intensivo de las neuronas. Con estas modificaciones sobre el algoritmo original se necesitan menos presentaciones de los datos entrada-salida a las neuronas para su entrenamiento. Se realizan varias simulaciones con redes neuronales multicapas, en la cual se compara el algoritmo aquí presentado con el método original y con otros trabajos. Los resultados muestran una significativa mejora en la velocidad de aprendizaje de las redes. Palabras claves: Redes neuronales, aprendizaje, redes multicapas. Las redes neuronales son entrenadas en gran parte mediante el método de backpropagation, el cuai es un algoritmo que posee una convergencia lenta. Para acelerar la convergencia y mejorar el aprendizaje de éstas, se han realizado . diferentes investigaciones. Estas técnicas incluyen el algoritmo de optimización quasi-Newton, Bello(1992), algoritmos que utilizan información sobre la segunda derivada del error total, Stefanos et al (1988). También se han planteado métodos basados en la optimización de la arquitectura de las redes neuronales, en las cuales son eliminados algunos pesos o algunas neuronas que carecen de importancia en el aprend izaje, Karin(1990) Mozer et al (1989). Además de éstos, se han ptesentado otras modificaciones en el algoritmo Javed et al (1991) Parker(1987) Ricotti et ai (1988) Wilamows lei et al (19993) Zhou et aI (1991). backpropagation, Abstract: The training of neural networks with the backpropagation algorithm is very used, but it suffers from slow asymtotic convergence. In this papaer, an algorithm that improves and accelerate the basíc backpropagation algorithm is proposed by using intensive learning method for the neurons. With these modifications on the basic algorithm, the number of iterations of the input-output data to the networks is reduced. Many simulations with multilayer networks are carried out, the results are compared with original method and with other works. These .results show that there is a significative improvement of the learning speed of the networks . La convergencia dei algoritmo de backpropagation es lento cuando las neuronas tienen alta ganancia cuando los estados entre las neuronas son diferentes. En estos casos, el gradiente obtenido mediante el algoritmo de backpropagation son pequenos y el error no se propaga en forma adecuada a través de la red. Como consecuencia, el proceso de aprendizaje y el ajuste de los pesos entre las neuronas es lento. o Keywords: Neural networks, backpropagation, learning, multilayer networks. 1 Muroran Institute ofTechnology Division of Production and Information System Engineering Tf: (81143) 44-4181 e-mail: [email protected] En este trabajo se presenta un algoritmo en el cual se han realizado varias modificaciones ai método original para así obtener una mejora de éste, esto se logra mediante un aprendizaje intensivo de las neuronas y con cambios en la función de activaci6n. EI resultado es una red en la cual se necesitan menos presentaciones de los datos entrada-salida para reducir el tiempo de convergencia. INTRODUCCIÓN. La aplicación de técnicas de inteligencia artificial a diferentes sistemas se ha incrementado en los últimos aãos ya que éstas han demostrado ser capaces de producir buenos resultados al ser utilizadas. Entre éstas se encuentran las redes neuronales, las cuales han sido utilizadas para reconocimientos de patrónes, identificación de sistemas, predicción, controI. AI igual las redes neuronales bilógicas, pueden realizar procesamiento paralelo, aceptar entradas procedentes de diferentes sensores, además de poder aprender funciones no Iineales. Además es importante mencionar que la información que poseen las redes neuronales no radica en las neuronas sino en la intensidad con la cual estén interconectadas todas ellas. Las redes neuronales 2 ALGORITMO DE ENTRENAMIENTO PARA LAS REDES NEURONALES En este trabajo se entrenan las redes neuronales utilizando el método de backpropagation, pero ai cual se le han hecho ciertas modificaciones para incrementar la velocidad de convergencia Es un método supervisado de aprendizaje en· el cual la salida deseada es dado ai algoritmo y la diferencia entre entre este valor y la salida actual es usado para el mecanismo 203 40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 de adaptací õn, siendo basicamente este algoritmo lento. presentadose varias modificaciones como se mencionó anteriormente. Pero alguna de elIas necesitan mucho uso de memoria computacional o de cálculos complicados. So _ So so so g e k - -(d k - x k )lf'(Ik - (d k - x k (8) donde O<g<1. EI valor de esta variable hace que la derivada de Ia función sigmoidal cambie como se muestra en la Fig. 2. De »J EI algoritmo aquí presentado está basado en un entrenarniento intensivo en donde dos de los incrementos pasados de peso son utilizados como factores de ajuste dei peso actual, además otras modificaciones realizadas en él. Antes de presentar las cambios realizados, veamos primero las ecuaciones básicas dei método: FUNCIONSIGMOIDAL MODIFICADA a) Entrada a la capa escondida o a la capa de salida. s Ij = f s s-I [f(.):F (1) WjiXi FUNCIONSIGMOIDE ;=1 1(.) b) Salida desde la(s) capa(s) escondida(s) y capa de salida. (2) xj = f(lj) c) Incremento de los pesos. .. s s s-I AWj; =áe jXj -8. O .. s +çAw ji(t-l) (5) ej k.el = [r(lj)ftet+1wk/O DERIV ADA DE LA FUNCrON SIGMOIDAL MODIFICADA 0.8 En este trabajo se realizan cambios en las ecuaciones Driankov et ai (1993) Hayashi et aI (1989) Jang et al (1997) y Javed et ai (1991), que no solo modifican la funci6n sigmoidal y su derivada sino también el resto dei algoritmo de entrenamiento. Las ecuaciones se transforman como siguen: a) En primer lugar. la salida de la(s) capa(s) y capas de salida, se obtiene como: -8 . o '- 4 . O O .+ 4. o +8 . o Fig. 2 Modificación de la derivada de la función sigmoidal. (6) Todos los cambios realizados producen un impacto positivo para el aprendizaje de los datos y para su proceso de aceleración, siendo simple de implementar. Además con las modificaciones realizadas aún se cumple que la funci6n sigmoidal utilizada sigue siendo una función continua y que converge a un valor cuando se evalua en ±oo. donde z> 1. Esto produce que ; i) la funci6n sigmoidal se desplace hacia la derecha, ii) : los valores resultantes de las capas escondidas o de salida son menores que con la funci6n sigmoidal original. esto se puede observar en la Fig. 1. b) En segundo lugar. el incremento de los pesos se modifica como: Ãwj; =áe j x r l +çÃw Ji(t-I)/2+çÃw ji(t-2)/3 (9) donde O es el número de salidas de la red neuronal. Como es sabido. el método dei gradiente es lento y se hace más lento en las cercanias dei mínimo. Debido a que en muchos casos es deseado entrenar a las redes neuronales con datos que se encuentran en los extremos dei rango de salida además de valores muy pequenos en la salida, la simple funci6n sigmoidal falIa en estoscasos Jang et ai (1997). La modificación de dicha función y su derivada es presentada por otros autores Jang et aI (1997 ). r o kel dondej{x) es la funci6n sigmoidal. [f (Ij) +8 . (4) o. xj = +4 . O O esta forma el resultado obtenido de esta funci6n hace que los cambios de pesos entre la capas escondida y la capa de salida tengan variaciones mayores, produciendo una convergencia en menor tiempo. d) Finalmente, el error local se obtiene como: d) Error en la capa de salida. ejs = f(ls)" j LJeks+1Wkj o Fíg.I Modificación de la función sigmoidal donde 11 es el momento. = -(d k e) Error local. -4 . (3) (7) 3 En este caso se introducen dos téminos de ajuste de peso . los realizados en las dos últimas iteraciônes, Además poseen un factor de divisiõndiferente, ya que si consideramos la neuronas biológicas, estas no son capaces de recordar un 100% de lo aprendido en el pasado, de igual forma es considerado en este caso para las redes neuronales. c) El error en la capa de salida es calculado de la siguiente manera: SIMULACIONES Con el . algoritmo de backpropagation propuesto para el aprendizaje de las redes neuronales se reaIizaron diversas experiencias, comparandose los resultados ' con el método tradicional y en otros casos con algoritmos presentados con otros autores. En todos los casos se utilizaron redes neuronales con tres capas. .Entre los ejemplos seleccionados se encuentra el EXCLUSIVE Ok", para este caso se utilizaron 2 neuronas en 204 40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08·10 de Setembro de 1999 Fig. 3. patrones utilizados para el aprendizaje de las letras. Tabla 1. Datos de entrada-salida para obtener la función de pertenencia deI error (e) y la deI cambio del error (ê) respectivamente. ENTRADA NB NM ·NS ZO PS PM ENTRADA NB NM NS ZO PS PM PB -004 -3.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.34 -2.3 0.7 0.3 0.0 0.0 0.0 0.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 -0.26 0.3 0.7 0.0 0.0 0.0 0.0 -104 0.3 0.7 0.0 0.0 0.0 0.0 0.0 -0.2 0.0 1.0 0.0 0.0 0.0 0.0 -0.7 0.0 l.0 0.0 0.0 0.0 0.0 0.0 -0.16 0.0 0.7 0.3 0.0 0.0 0.0 -0.5. 0.0 0.7 0.3 0.0 0.0 0.0 0.0 -0.09 0.0 0.3 0.7 0.0 0.0 0.0 0.0 0.3 0.7 0.0 0.0 0.0 0.0 -0.05 0.0 0.0 1.0 0.0 0.0 0.0 -0.1 0.0 0.0 1.0 0.0 0.0 0.0 0.0 -0.035 0.0 0.0 0.7 0.3 0.0 0.0 -0.07 0.0 0.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.3 0.7 0.0 0.0 -0.015 -0.03 0.0 0.0 0.3 0.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.015 0.0 0.0 0.0 0.7 0.3 0.0 0.03 0.0 0.0 0.0 0.7 0.3 0.0 0.0 0.035 0.0 0.0 0.0 0.3 0.7 0.0 0.07 0.0 0.0 0.0 0.3 0.7 0.0 0.0 0.05 0.0 0.0 0.0 0.0 1.0 0.0 0.1 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.09 0.0 0.0 0.0 0.0 0.7 0.3 0.3 0.0 0.0 0.0 0.0 0.7 0.3 0.0 0.16 0.0 0.0 0.0 0.0 0.3 0.7 0.0 0.0 0.0 0.0 0.3 0.7 0.0 0.5 0.2 0.0 0.0 0.0 0.0 0.0 1.0 .0.7 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7 0.26 IA 0.0 0.0 0.0 0.0 0.0 0.7 0.3 0.34 0.0 0.0 0.0 0.0 0.0 0.3 2.3 0.0 0.0 0.0 0.0 0.0 0.3 0.7 . 3.0 004 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 . 0.0 0.0 0.0 0.0 1.0 PB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 la capa escondida y se obtuvieron resultados satisfactorios con .solamente 140 iteraciones. Si comparamos esto con el método tradicional esto neéesitará unas 7000. En el mejor caso de en presentado por. Zhou et ai (1991), se necesítaron 1209 iteraciones el caso; en e1 presentado en Javed et ai ( 1991) unas 250 y de Wilamowski et aI (1993), 500 presentaciones. necesitaron con el algoritmo propuest 50 interaciones con lo que obtenia una certeza deI 95% o más en el caso afirmativo y 0.01% o menos para los casos negativos. También se consideró la presencia de ruido en los patrones de las letras, obteniendose un 85% o más en los casos afirmativos. Con el algoritmo original esto necesitaría unas 3000 iteraciones. Como segundo ejemplo tenemos el problema de simetria, en el cual se utilizaron 5 neuronas en la capa escondida, necesitandose 180 iteraciones para el entrenamiento de la red. Con el método tradicional se necesitan unas 8000, y en e1 mejor caso de Zhou et aI (1991), se necesitaron 1290. Como último caso presentarernos el aprendizaje de funciones de las pertenencia deI error (e) y deI cambio deI error (6), así corno de la tab1a de búsqueda utilizada para controladores borrosos, lo cual puede ser útil en el área de control Hayashi et aI (1989) Strefezza (1994) Yarnaoka et aI (1990). Otro caso que se tomó fue el reconocimiento de letras, se realizaron experiencias con matrices de · llx 11 y de 5x5, utilizandose las letras de la "A" hasta la "F', teniendose 5 neuronas en la capa escondida, los patrones utilizados se observan en la Fig. 3. Para el aprendizaje de estas redes se Para las funciones de pertenencia, se entrenan dos redes neuronales, las cuales poseen respectivamente tres capas con 1, 6 y 7 neuronas respectivamente. Esto implica que se están tornando siete variables borrosas. De igual forma, los datos de entrada-salida para cada una de las redes se muestran en la 205 40. SBAI-Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 Tabla 1 respectivamente. EI resultado deI entrenamiento de estas redes se pueden observar en las Fig. 4 Y Fig. 5 respectivamente. Con :el algoritmo arriba propuesto, se necesitan menos de 260 presentaciones de los datos entradasalida para entrenar a cada una de las redes, con el método tradicional de backpropagarion son necesarias más de 3000 presentaciones. . En cuanto a la tabla de busqueda, también se utiliza una red neuronaI de tres capas con 14, 6 y 7 neuronas en cada capa. La tabla de busqueda utilizada se muestra en la Tabla 2, siendo utilizados soIamente 1's y O's para su entrenamiento. Con las ecuaciones modificadas se necesitaron menos de 100 presentaciones de los datos entrada-salida para entrenar esta 1.0 Grado de pertenenecia deI error Error(e) NB NR NB NM NS ZO PS PM PB NB NB NM PS PM PB Cambio deI Error ( é ) PM NR NM N's ZO PS NB NB NB NB NB NB NM NM NM NM NS NS NS PS PM PB ZO PS PM PB ZO PS PM PB ZO PM PB PB PB NM NB NM NS PS PM PB PB NS PM PB PN PB Tabla 2. Tabla de busqueda utilizada para entrenar la red neuronal. datos para obtener su convergencia y así reducir el tiempo de aprendizaje. Se realizaron experiencias con diferentes tipos de data y de patrones, además de comparase con otros métodos propuestos en la literatura, obteniendose resultados satisfactorios. Comparando con eI algoritmo original. La diferencia entre los porcentajes de respuesta afirmativa y negativa a la salida de la red lo suficientemente grande, en casos de entrenamientos de patrones compuestos de O's y 1's, EI algoritmo presentado también puede ser utilizado en caso de diseiíar sistemas de control. Fig, 4. Función de pertenencía del error (e) obtenida Iuego de utilizar los datos de la labia 1. I. o. En el algoritmo presentado se deben ajustar ciertas variables por ensayo y error, al igual que en otros algoritmos, por lo que siempre existe la posibilidad de saturación de las neuronas impidiendo un aprendizaje correcto de los patrones presentados a las redes. Grado de pertenencia dei cambio del error 5 Bello, M.G.(1992). Enhanced Training AIgorithms, and integrated training/architecturc selection for Multilayer Perceptron .Networks. IEEE Transactions on Neural Networks, VoI. 3, November. Driankov, D., HeIlendoorn, H. and Reinfrank, M. (1993). An Introduction to Fuzzy ControI. Springer-Verlag. . Hayashi, 1., Nomura, H. and Wakami, N. (1989). Artificial Neural Network Driven Fuzzy Control and its Application to the Lerarning of Inverted Pendulum System. 3 rtf• IFSA Congress, Japón (1989). 610-613. Jang, J.-S.R., Sun,C.-T. and Mizutani, E.(1997l.Neuro-Fuzzy and Soft Computing. Prentice HaIl, 1997. . Javed, M.A. and Sanders S.AC (1991).An Adaptive Learning Procedure for ' Neural Networks In ' engineering Applications. Intelligent Engineering Systems Through Artificial Neyral Networks. Dagli, Kimura and Shin Editors, ASME Press. Karnin, s,o. (1990). A Simple Procedure for Pruning BackPropagation Trained Neural Networks. IEEE Transactions on Neural Networks, VoI. 1. Mozer, M.C. and Smolensky, P.(1989). Using Relevance to Reduce Network Size Automatically. Connection Science, VaI. 1. Parker, D. (1987). OptimaI Algorithm for Adaptive Networks: Second Order Back Propagation, Second Order Direct Propagation and Second Order Hebbian Learning. .. 4.0 -4.0 Cambio dei crror (xlO' l ) Fig. 5. Función de pertenencia dei cambio error (ti ) obtenida Iuego de utilizar los datos de la tabla 1. red. EI método convencional necesita más de 3000 para obtener el mismo resultado. 4 REFERENCIAS BIBLIOGRÁFICAS CONCLUSIONES En este trabajo se han entrenado las redes neuronales con un algoritmo modificado de backpropagation, el cual no es dificil de implementar ya que no necesita. Este reduce en un gran porcentaje el número de iteraciones que hay que realizar de 206 40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 Proceedings of IEEE First International Conference on Neural Networs, San Diego, USA. Ricotti, L., Ragazzini, S. and Martinelli, G.(1988). Learning of Word Stress in a Sub-optimal Second Order Backpropagation Neural Network. Proceedings of IEEE Second Intemational Conference on Neural Networs, San Diego, USA. Stefanos, K. and Anastassiou D.(1988).Adaptive Training of Multilayer Neural Networks using a Least-squares Estimation Technique. Proceedings of the IEEE Intemational Conference on Neural Networks , (1), 383 390. Strefezza, M. (1994). Neuro Fuzzy Robust Motion ControI. Doctoral thesis, Muroran Institute ofTechnology, Japan. Uchikawa, Y., Horikawa, S. Furuhashi, T. and Okuma, S.(1990). AFuzzy Controller using a Neural Network and its capability to Learn Experts Control Rules. Proceedings 0 - of the International Conference on Fuzzy Logic and Neural Networks, Japón. 103-106. Wilamowski, B.M. and Torvik, L.M.(1993). Modification of gradient Computation in the Back-Propagation A1gorithm. Intelligent Engineering Systems Through Artificial Neyral Networks. Dagli, Kimura and Shin Editors, ASME Press. Yamaoka, M. and Mukaidomo, M. (1990). A Learning Method of the Membership Function with Neural Networks. &h. Fuzzy System Symposium, Japón. 197-200. .En Japonés. Zhou, G. and Sun, Y.(1991). A Combined Gradient Learning algorithm For Multi-layered Neural Networks. Proceedings ofthe IECON'91 . Japón (1991).1492-]495. 207