Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ISSN 0122-1701 13
un conjunto de datos de relacin matemtica aproximacin a la ecuacin (2) con la ventaja de requerir
desconocida. Existen muchas definiciones para las RNA, un menor esfuerzo computacional.
usando la planteada por [6] se establece que una red El algoritmo de propagacin hacia atrs (BP) modifica
neuronal artificial es un grafo dirigido que cumple con wji(n) respecto a E(n) usando la informacin de primer
las siguientes propiedades: orden (3). Es decir:
A cada nodo i se le asocia una variable de estado yi E(n)
A cada conexin (i,j) de los nodos i y j se le asocia w ji (n)= (4)
un peso sinptico wji donde wji R w ji (n)
A cada nodo j se le asocia un bias bj R Utilizando (3), el algoritmo de propagacin hacia atrs
Para cada nodo j se define una funcin j(yi, wji, bj) establece que [3]:
que depende de los pesos, conexiones, bias y estados w (n)= - (n)y (n) (5)
ji j i
de los nodos i, conectados a l.
Siendo j(n) el gradiente local. Si j es una neurona de la
La figura 1, muestra la estructura de una neurona capa de salida
artificial que pertenece a la capa de salida de una RNA (n)= e (n) '(v (n)) (6)
j j j j
multicapa.
Si la neurona j pertenece a una capa oculta
j (n)= j'(v j (n)) k (n)wkj (n) (7)
k
Por lo tanto algoritmo BP modifica iterativamente los
pesos con las ecuaciones (5) y (6) hasta que (2) o (3)
alcance un valor de tolerancia lo cual significa que la red
ha aprendido el conjunto de entrenamiento.
Figura 1. Modelo de una neurona en una RNA
3. SIMULATED ANNEALING
n Denota una iteracin cuando se propaga en la red el n- El proceso SA se formula sobre el concepto que cuando
simo patrn del conjunto de entrenamiento una estructura se calienta, sus molculas empiezan a
yj(n) Salida de la neurona j moverse con altas velocidades debido a la gran cantidad
wji(n) Peso de conexin de la entrada i en la neurona j de energa, con el tiempo y por la prdida de energa,
bj(n) Bias de la neurona j dichas molculas posern un movimiento ms lento y se
vj(n) Valor de activacin de la neurona j acomodaran permitiendo establecer estructuras cristalinas
j Funcin de transferencia de la neurona j simtricas [5, 10]. El proceso SA se basa en el algoritmo
dj(n) Salida esperada de la neurona j al propagar el de Metrpolis, el cual genera un conjunto de estructuras
patrn n vecinas a partir de una estructura actual con sus
ej(n) Error en la salida de la neurona j al propagar el respectivos niveles de energa; a su vez el algoritmo de
nsimo patrn metrpolis se basa en el mtodo de Montecarlo que
asigna una funcin de probabilidad de aceptar los
Un algoritmo de entrenamiento de una RNA modifica el cambios hechos en la estructura.
valor de los pesos de acuerdo con la expresin (1):
w (n +1)= w (n)+ w (n) (1) Si se supone una estructura que se encuentra en el estado
ji ji ji
i a un nivel de energa Ei el cual es un indicativo de su
donde wji es el valor que se obtiene por medio de una comportamiento; obtener otra estructura a partir de este
regla que define el algoritmo de entrenamiento. Si E(n) es estado energtico actual, consiste en efectuar
el error de la red cuando se propaga el nsimo patrn de modificaciones que la llevan al estado energtico Ej;
entrenamiento se tienen dos posibilidades de medir el decidir si la nueva estructura se acepta en dicho estado
desempeo de la red. depende de un criterio de Montecarlo, que asigna la
1 N funcin de probabilidad (8) para aceptar o no este
E(n)=
2N
(e (n)
z j
j
Z
)2 (2) cambio.
1, si E j < Ei
1 (3) P(aceptacin)= (Ei -E j )/T
E(n)= e j (n)
(8)
2 j e , si E j > Ei
Siendo T la temperatura a la cual se encuentra la
La expresin (2) define el error global en la RNA sobre estructura, P la probabilidad de aceptacin. Es
todo el conjunto de aprendizaje o sobre los N patrones, importante notar que cuando la temperatura es muy
mientras que la expresin (3) define el error medio elevada, la probabilidad de aceptar este nuevo estado, as
cuadrtico (MSE) instantneo o de un patrn y es una sea de peor calidad que el anterior, es cercana a uno
(altamente probable de aceptar), y si la temperatura es
Scientia et Technica Ao X, No 24, Mayo 2004. UTP 15
baja, es poco probable que se acepte. Esta propiedad que son valores determinados por la naturaleza y
tiene el algoritmo de aceptar configuraciones cuya complejidad del problema.
funcin objetivo sea de peor calidad, permite al mtodo Algoritmo 1.
explorar en diversas regiones del espacio de soluciones Calcular (No , To)
sin quedar atrapado en los ptimos locales. Nk=No
La figura 2 es una representacin aproximada del Genere una configuracin inicial So
comportamiento del algoritmo cuando explora diversas Haga mientras no se cumpla el criterio de parada
regiones en un problema de optimizacin; la propiedad Haga desde k=1 hasta Nk
de aceptar soluciones de peor calidad le permite al Genere una configuracin Sj a partir de Si
mtodo escalar en las regiones de ptimos locales para Si Ej Ei
finalmente alcanzar el ptimo global del sistema [10], Si = Sj
que por lo general es la configuracin que tiene el menor Sino
valor en la funcin objetivo o menor estado energtico; la ( Ei E j ) / T
Si Aleatorio< e
figura 3 muestra la relacin entre la probabilidad de
aceptar soluciones de peor calidad y la temperatura de la Si = Sj
estructura; a altas temperaturas la probabilidad de Fin si
aceptacin es alta, con la disminucin de la temperatura Fin Si
se disminuye igualmente la probabilidad de aceptacin. k=k+1
Fin Haga
Calcular (Nk,Tk)
Criterio de Parada
Fin Haga
Fin Programa
T0 es la salida final de este programa, y es la temperatura del proceso igualmente debe ser determinada, para esto
con que inicia el proceso SA. En este algoritmo E+ es se utiliza el algoritmo 2. Para cada cadena de Markov y
una medida de la degradacin de la funcin objetivo, m1 en la temperatura dada se generan varios estados posibles
es el nmero de transiciones de i a j donde mejora la a travs de una estructura de vecindad. Los pesos y los
funcin objetivo, m2 es el nmero de transiciones de i a j bias de todas y cada una de las neuronas se pueden
donde empeora la funcin objetivo y x es una tasa de organizar en un conjunto de matrices; el algoritmo SA
aceptacin que vara entre 0.8 y 0.9 [5]. genera estos nuevos estados partiendo de una
configuracin inicial de matrices, escogiendo de forma
4. ALGORITMO SA IMPLEMENTADO EN EL aleatoria una de ellas e igualmente escogiendo de forma
ENTRENAMIENTO DE UNA RNA aleatoria cualquiera de las posiciones de memoria de la
En una RNA se desea encontrar una configuracin matriz escogida para realizar un cambio pequeo al valor
ptima de pesos de tal manera que ella pueda aprender un que posee actualmente. La forma de hacer este cambio se
conjunto de patrones. El entrenamiento se convierte en orienta de dos formas. La primera consiste en realizar la
un problema de programacin no lineal, donde las actualizacin del peso escogido sumando un pequeo
variables de estado, los pesos sinpticos, son variables valor ( w) y evaluando el desempeo de la red, luego se
irrestrictas [9]. La funcin objetivo es minimizar el error resta al peso original el mismo incremento y se opta por
medio cuadrtico instantneo por patrn. aquella configuracin que reduzca el MSE; esto es lo que
min E(n) plantea por la ecuacin (1). A medida que se reduce el
sa error, es necesario reducir este incremento con el fin de
que el algoritmo realice una exploracin ms intensiva y
1
E(n)= e j (n)2
2 j
(11) as pueda converger a buenas soluciones Esta forma de
entrenar la RNA es la que se denomina en el presente
w ji irrestricto artculo como entrenamiento SA. La segunda forma
consiste en escoger de forma aleatoria el peso a
El algoritmo SA para el problema de entrenamiento de actualizar, pero para este peso se calcula su gradiente
una RNA consta de los siguientes pasos. usando el algoritmo de propagacin hacia atrs (BP),
segn la ecuacin (5), y se reemplaza en la ecuacin (1);
Paso 1: Definir la arquitectura de la RNA segn el este mtodo se denomina como algoritmo de
problema a resolver. Segn la naturaleza del problema, entrenamiento SA-BP.
fcilmente se puede determinar la cantidad de neuronas
en la capa de entrada y en la capa de salida, sin embargo Si la nueva configuracin tiene un MSE menor que la
el nmero de capas ocultas y la cantidad de neuronas en anterior, se acepta esta nueva configuracin; de lo
estas capas no sigue ningn patrn o regla definida y se contrario se acepta con una probabilidad definida por la
atiende ms a la experiencia en la solucin de problemas expresin (8). Una vez se haya completado toda la
similares y a la complejidad matemtica del problema a cadena de Markov, se actualiza la temperatura que tiene
resolver; en el caso del problema de la codificacin dura efecto directo sobre la aceptacin de nuevas
y en el problema de las dos espirales se parten de las configuraciones y tambin se calcula la nueva cadena de
configuraciones de RNA proporcionadas por [7]. Markov para realizar una nueva iteracin El proceso
contina hasta que se cumple algn criterio de parada; el
Paso 2: Encontrar el MSE de la RNA. Una vez definida algoritmo puede emplear uno o varios de los siguientes
la red neuronal, se inicializan para todas y cada una de las criterios de parada.
neuronas los pesos y los bias; para esto se puede asignar
a los pesos y bias un mismo valor, o tambin asignar El algoritmo alcanza un MSE predefinido
valores diferentes usando alguna heurstica constructiva; La temperatura lleg a cierto valor mnimo
una vez se tiene inicializada la RNA se pueden propagar predefinido
los patrones para as encontrar un primer valor para la No se cumple con un mnimo de aceptaciones de
funcin objetivo, que en este caso es el MSE del nuevas configuraciones para alguna cadena de
desempeo de la red. Este es el punto de partida para el Markov.
algoritmo SA.
5. PRUEBAS Y RESULTADOS
Paso 3: Iniciar el Proceso SA. Es necesario definir la Para medir el desempeo del algoritmo se tienen dos
cadena inicial de Markov; como en la determinacin de problemas clsicos de RNA tradicionalmente usados para
la estructura de la RNA, la longitud de la cadena de este propsito, el problema de la codificacin y el
Markov atiende a la experiencia en la solucin de problema de la doble espiral Como algoritmo de
problemas similares y a la complejidad del problema entrenamiento se plantea dos alternativas y se comparan
propio; para los dos problemas de ensayo propuestos en con un algoritmo clsico de BP. Estas dos alternativas
el presente artculo, la cadena inicial de Markov oscila son el algoritmo de entrenamiento SA y el algoritmo de
entre tres y cinco configuraciones. La temperatura inicial entrenamiento SA-BP
Scientia et Technica Ao X, No 24, Mayo 2004. UTP 17
La arquitectura definida en la RNA para probar el Se puede concluir que los tres algoritmos convergen al
algoritmo SA, posee 3 capas con 12 neuronas en las mismo valor en MSE para este problema particular y que
primeras capa, 2 neuronas en la capa intermedia y 12 BP lo hace significativamente ms rpido que los dems,
neuronas en la capa de salida. Como conjunto de sin embargo, los otros dos algoritmos que usan SA
entrenamiento se escogen las combinaciones binarias que aunque que tardan ms, pueden seguir explorando en el
posean un uno lgico en cualquier posicin y cero en las espacio de soluciones pues ellos no quedan atrapados en
dems. ptimos locales y as mejorar la respuesta.
7. AGRADECIMIENTOS
Figura 7. Comportamiento de los algoritmos SA-BP y BP Los autores expresan su agradecimiento a la Universidad
Tecnolgica de Pereira, Colombia, por su apoyo al grupo
Algoritmo MSE MSE Iteraciones t(s) de Planeamiento de Sistemas Elctricos de la Maestra en
objetivo alcanzado Ingeniera Elctrica.
BP 0.001 0.001 10000 100
SA 0.001 0.001 31000 610 8. BIBLIOGRAFA
SA-BP 0.001 0.001 18000 240
Tabla 2. Entrenamiento de una red neuronal artificial para el [1] Gallego R.A., Romero R.A., Escobar A. (2003).
problema de las dos espirales Algoritmos Genticos, Primera edicin, Maestra en
Ingeniera Elctrica, Universidad Tecnolgica de Pereira.
Las conclusiones que se obtienen a partir del problema de [2] Sanz A., Martn del Ros B. (2002). Redes
la doble espiral son semejantes a las que se obtienen del Neuronales y Sistemas Difusos, Alfa omega, 2 edicin.
problema de la codificacin; BP es un algoritmo ms [3] Haykin Symon. (1999). "Neural Network. A
rpido, pero SA y SA-BP pueden explorar de forma ms Comprehensive Foundation". 2nd edition. Prentice-Hall.
intensiva; adicionalmente, cuando se usan la informacin [4] Gallego R. A. (1997). Planejamento a Longo Prazo
del gradiente, el algoritmo SA se vuelve ms rpido de Sistemas de Transmissao Usando Tcnicas de
acercndolo en velocidad al resultado obtenido por el Otimizaao Combinatorial, Tese de Doutorado,
algoritmo BP. UNICAMP.
[5] R Romero, R A Gallego, and A Monticelli. (1996).
T0 N0 Tasa de enfriamiento t(s) Transmission System Expanssion Planning by
0.25 2 5% 10% 190 Simulated Annealing, IEEE Trans on Power System,
0.25 10 1% 5% 260 Vol 11, No 1, pp 364-369.
100 2 5% 10% 1100 [6] Hilera J. R., Martnez V. J.(1995) "Redes Neuronales
100 50 1% 5% 4600 Artificiales. Fundamentos, Modelos y Aplicaciones".
0.01 2 5% 10% Inf Ra-ma Editorial. Madrid.
0.01 50 1% 5% Inf [7] Riedmiller M. (1994). Advanced Supervised
Tabla 3. Efectos de la temperatura, tasa de enfriamiento y
Learning in Multi-Layer Perceptrons From
incremento de la cadena de Markov sobre la respuesta. Backpropagation to Adaptive learning Algorithms.
Computer Standards and Interfaces, 5. Special Issue on
Valores de temperatura entre 0,5 y 1.0 con tasas de Neural Networks .
enfriamiento mayores a 0.9 y cadenas iniciales de [8] Mollen M.F. (1993). A scaled conjugate gradient
Markov de menos de 4 configuraciones y tasas de algorithm for fast supervised learning, Neural Networks,
incremento cercanas al 5% hacen que el algoritmo 6(3), pag 525-533.
converja de forma ms eficiente. [9] Bazaraa M. S, Sherali H. D and Shetty M. C. (1993).
"Nolinear Programming Theory and Alorithms". 2nd
6. CONCLUSIONES edition. Wiley.
El entrenamiento de una red neuronal artificial usando un [10] Aarts E., Korst J. (1989). Simulated Annealing and
algoritmo BP o un algoritmo combinatorial en problemas Boltzmann Machines, John Wiley & Son.