algoritmo de aprendizaje acelerado para backpropagation

Anuncio
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: dote@csse.muroran-it.ac.jp
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
Descargar