Download Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa...
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa Manuel Currea Urcua, Estudiante Fundación Universitaria Konrad Lorenz
[email protected] Leonardo Jimenez Moscovitz, Docente Fundación Universitaria Konrad Lorenz
[email protected]
Abstract Based Based on the BackPr BackProp opagati agation on algorithm algorithm and the Generalize Generalized d Delta Rule develop develop the mathematical concepts of learning algorithms for multilayer perceptrons, showing its functioning from a very small structure, the arti…cial neuron. neuron.
Partiendo del algoritmo de RetroPropagación y la Regla Delta Generalizada se desarrollan los conceptos matemáticos de los algoritmos de aprendizaje para perceptrones multicapa, mostrando su funcionamiento desde su mas pequeña estructura, la neurona arti…cial
1
Intr Introd oduc ucci ción ón
Este documento muestra los conceptos básicos de las Redes Neuronales de Aprendizaje (RNA) en particular la con…guración en perceptron multicapa y el algoritmo de aprendizaje llamado RetroPropagación RetroPropagación (BackPropagatio (BackPropagation) n) destacando su funcionamiento funcionamiento matemático. En la primera sección se encuentran los fundamentos biológicos de la neurona y su equiv equivalente alente neurona arti…cial arti…cial,, explicand explicandoo las partes que componen componen cada uno. Seguido Seguido a
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
2
esto se encuentra la con…guración en perceptron multicapa de RNA, exponiendo cada una de sus partes y las matemáticas involucradas. La siguiente sección es donde se desarrollan los algoritmos de aprendizaje mas utilizados y en donde se exponen todo su contenido matemático, siendo el núcleo del trabajo. Este documento se realizó como trabajo de investigación paralelo al trabajo de grado 1 titulado " Aplicación de Herramientas Matemáticas en la Determinación de Indicadores de gestión Empresarial:Solución Mediante Minería de Datos", el cuál utiliza un perceptron multicapa con algoritmo de aprendizaje Resilient BackPropagation (RPROP ), para una mejor comprensión se recomienda su lectura. 2
2
La Neur Neuron ona a Arti… Arti…ci cial al
Uno de los retos más importantes a los que se enfrenta el ser humano de nuestra generación es el de la construcción de sistemas inteligentes, en su afán de conseguir este propósito aparecen aparecen las redes neuronale neuronaless arti…ci arti…ciales ales.. Desde Desde el punto de vista vista biológic biológicoo las RNA son un modelo modelo matemáti matemático co acerca acerca del funcionamie funcionamient ntoo del cerebro. "Los sencillos sencillos elementos elementos de cálculo aritmético equivalen a las neuronas -células que procesan la información en el cerebro- y la red en general equivale a un conjunto de neuronas conectadas entre sí" [1]. Para la raza humana sigue siendo un misterio el funcionamiento del cerebro humano y como se genera el pensamiento, sin embargo años y años de investigación han dado ideas sobre sobre el accionar accionar del mismo. mismo. Si se quieren quieren reproducir reproducir las acciones acciones del cerebro humano, humano, se debe tener la idea de como funciona. Una explicación sencilla y clara se encuentra en [1]: "Sabemos que la neurona, o célula nerviosa, es la unidad funcional básica de los tejidos del sistema nervioso, incluido el cerebro. Las neuronas están formadas por el cuerpo de la célula, o soma, en donde se aloja el núcleo de la célula. Del cuerpo de la célula salen rami…caciones de diversas …bras conocidas como dendritas dendritas y sale también una …bra más larga larga denominada axón. Las dendritas se rami…can tejiendo una tupida red alrededor de la célula, mientras el axón se extiende un buen tramo: por lo general, un centímetro (100 veces el diámetro del cuerpo cuerpo de la célula) célula) y, en casos extremos, extremos, hasta un metro. metro. …nalmente, …nalmente, el axón 1
Trabajo de Grado realizado por el autor para optar por el título de matemático en la Fundación Uni-
versitaria versitaria Konrad Lorenz. Lorenz. 2
Disponible en: http://es.scribd.com/doc/98230558/Trabajo-Degr-a-Do
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
3
Figure 1: Neurona biológica simpli…cada (Tomado de [4])
también también se rami…c rami…ca a en …lamentos …lamentos y sub…lamentos sub…lamentos mediante mediante los que estable establece ce conexió conexión n con las dendritas dendritas y los cuerpos cuerpos de las células células de otras otras neuronas. neuronas. A la unión o conexión conexión se le conoce conoce como sinapsis. sinapsis. Cada neurona establec establece sinapsis sinapsis desde con una docena de otras neuronas hasta con cientos de miles de otras de ellas" 3 .
En la …gura 1 se muestran las partes de una neurona biológica. La neurona arti…cial se ha diseñado como una abstracción de la neurona biológica y se muestra muestra en la …gura 2. La …gura represen representa ta la neurona i que recibe entradas Sus partes principales son: 1. Las entradas xi , que son puntos por los que se reciben los datos provenientes del entorno o bien de otras neuronas. En una neurona biológica corresponden a las dendritas. En el modelo se considera el vector de n entradas x
= (x1 ; x2 ; :::x :::xn )
2. La salida yi . En una neurona biológica corresponde al axón. 3. Al igual que en una neurona biológica, la neurona arti…cial debe permitir establecer conexiones (sinápsis) entre las entradas (dendritas) de una neurona y la salida (axón) de otra. Esta conexión se representa con una línea que tiene asociado un valor llamado llamado 3
Isasi, P.; Galván, I. M. Redes de Neuronas Arti…ciales. Pearson Educación, 2004.
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
4
Figure 2: Neurona Arti…cial típica.
peso sinápticos wij . Nótese que el primer subíndice indica la neurona a la que llega
la conexión, mientras que el segundo subíndice indica de donde viene la conexión. El peso representa el factor de importancia de la conexión en la determinación del valor de salida. El valor wij , que es un número real, se modi…ca durante el entrenamiento de la red neuronal y es la variable que almacenará la infomación que indicará que la red ha aprendido algo y por tanto que sirva para un propósito u otro. 4. En la …gura 2 también se observa observa una entrada especial, llamada umbral, con un valor …jo que puede ser 1 o 1, y con un peso asociado llamado w0 o i dependiendo del autor. El valor del umbral se ajusta igual que cualquier otro peso durante el proceso de entrenamiento. entrenamiento. 5. Una regla regla de propagaci propagación ón. Para Para un ciert ciertoo valor alor de las entra entradas das xi y los pesos sinápticos asociados wij , se raliza algun tipo de operación para obtener el valor del potencial post-sináptico . Este Este valor valor es función función de las entrad entradas as y los los pesos. Una de las operaciones mas comunes es realizar la suma ponderada, que no es otra cosa que la sumatoria de las entradas, pero teniendo en cuenta la importancia de cada una (el peso sináptico asociado). Luego: hi =
X
wij x j + w0
(1)
j
donde t indica que es la salida de la regla de propagación en un instante determinado t:
6. Una función de activación : Luego Luego de realizar realizar la suma ponderada, ponderada, se aplica al
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
5
resultado la función de activación, que se escoge de tal manera que permita obtener la forma deseada para el valor de salida. A partir de la …gura 2 se observa que = (hi )
yi
=
0X @
wij x j + w0
j
= (w x) =
1 A
T
(2) (3) (4)
w x
donde las últimas dos ecuaciones están en notación vectorial. Es necesario especi…car la función de activación : Las funciones más usuales se observan en la …gura 3. Con estas especi…caciones, se puede ahora explicar cómo funciona funciona la neurona. Se supone en el modelo de neurona más simple, que corresponde a la función de activación escalón, también llamada limitador duro. En este caso, la salida puede tomar solo dos valores 1 y +1 donde la salida viene determinada por (hi ) =
(
1
+1
si hi < w0 con w0 = 0 si hi w0
(5)
Entonces, para la función sigmoidea, se tiene que yi
=
hi
=
X
1
1+e
hi
con
(6)
wij x j + w0
j
y para el segundo caso de la función sigmoidea
yi
= tanh anh(hi) =
hi
=
X
ehi ehi ehi + ehi
con
(7)
wij x j + w0
j
La expresión de la ecuación que almacena la neurona en virtud del vector de pesos w es el modelo que representa en mayor o menor grado el comportamiento del vector de salida y con respecto al vector de entradas x.
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
6
Figure 3: Funciones de activación más importantes.
Entonces, una neurona arti…cial es un procesador elemental. Se encarga de procesar un vector de n entradas para producir un único valor de salida y. El nivel de activa activación ción depende de las entradas recibidas y de los valores valores sinápticos. Para calcular el estado de activación activación se ha de calcular en primer lugar la entrada total a la célula. Este valor se cálcula como la suma de todas las entradas ponderadas por ciertos valores dados a la entrada. 2.1
Redes Redes Neurona Neuronales les Arti…cia Arti…ciales les (RNA) (RNA)
La capacidad de modelar funciones más complejas aumenta grandemente cuando la neurona no trabaja sola, sino interconectada con otras neuronas, formando Redes Neuronales Arti…ciales (RNA), tal como se observa de manera simpli…cada en la …gura 4. La red más simple se llama perceptron multicapa multicapa. Esta Esta red de…ne de…ne una relac relación ión entre las variables de entrada y las variables de salida. Esta relación se obtiene propagando
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
7
Figure 4: Esquema simpli…cado de una RNA (Tomado de [5])
hacia adelante los valores de las variables de entrada. Cada neurona procesa la información recibida por sus entradas y produce una respuesta o activación que se propaga, a través de las conexiones correspondientes, hacia las neuronas de la siguiente capa. Sea un perceptron multicapa con C capas, de las cuales una es la capa de entrada, una la capa de salida y C 2 capas ocultas. Se tienen nc neuronas en la capa c; con c = 1; 2; 3;:::;C: Sea W c = (wijc ) la matriz de pesos asociada a las conexiones de la capa c a la capa c + 1 para c = 1; 2; 3;:::;C 1; donde wijc representa el peso de la conexión de la neurona i de la capa c a la neurona j de la capa c + 1: Sea U c = (uic ) el vector de umbrales de las neuronas de la capa c para c = 2; 3;:::;C: Se denota aic a la activación de la neurona i de la capa c; estas activaciones se calculan del siguiente modo: 1. Entrada (ai1 ): Estas neuronas transmiten hacia la red las señales recibidas del exterior ai1 = xi para i = 1; 2; 3;::n1
(8)
Donde X = (x1 ; x2 ;:::;xn) representa el vector de enntrada a la red. 2. Activación de las neuronas de la capa oculta c (aic ) : Las neuronas ocultas procesan la información recibida aplicando la función de activación a la suma de los producto de las activaciones que recibe por sus correspondientes pesos:
0X @
nc1
aic =
c1 c1 w ji a j + uic
j =1
Para i = 1; 2; 3;:::;nc y c = 2; 3;:::;C 1
1 A
(9)
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
8
3. Salida (aiC ) : Al igual que en las capas ocultas, la activación de estas neuronas viene dada por la función de activación f
0X @
1 A
nC 1
yi = aiC =
C 1 C 1 + uiC w ji a j
j =1
(10)
para i = 1; 2; 3;:::;nc donde Y = (y1 ; y2 ; y3 ;:::;ynC ) es el vector salida de la red. Para el perceptron multicapa las funciones de activación mas usadas son la función sigmoidal: (h) =
1 1+e
1 (h) =
1e 1+e
h
(11)
y la función tangente hiperbólica: h
h
(12)
Estas funciones tienen una forma similar pero se diferencian en que la sigmoidal tiene un rango continuo de valores dentro de los intervalos [0; 1] mientras mientras que la tangente hiperbólica tiene un rango contínuo en el intervalo [1; 1].
3
Algo Al gori ritm tmos os de Apre Aprend ndiz izaje aje
Existen diferentes algoritmos algoritmos de aprendizaje que optimizan las conexiones entre las neuronas según el error que esté cometiendo la red, entendiendo entendiendo por error la diferencia que existe entre la salida ofrecida por la red y la salida deseada.Los más utilizados son los algoritmos por descenso de gradiente ya que maximizan o minimizan determinada función, generalmente el valor absoluto del error o el error cuadrático medio. En el mometo de la implementación se deben tener en cuenta las características del problema a resolver, para escoger el algoritmo mas adecuado, sin embargo para optimizar el funcionamiento, el algoritmo debe cumplir con las siguientes particularidades [8]:
E…cacia
Robustez, para adaptarse a diferentes problemas.
Independencia respecto a las condiciones iniciales.
Alta capacidad de generalización.
9
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
Coste computacional bajo.
Sencillez en los razonamientos empleados.
Algunos de los algoritmos de aprendizaje existentes para perceptrones multicapa son;
RetroPropagación RetroPropagación (Back Propagation) Propagation)
Momento
Silva-Almeida
DELTA-BAR-DELTA
Resilient BackPropagation (RPROP)
Algoritmos de segundo orden
Alopex
Algoritmos Algoritmos genéticos
En este document do cumentoo se encontrarán encontrarán los algoritmos: RetroPropagación RetroPropagación (Back PropagaPropagation), Momento, Silva-Almeida, DELTA-BAR-DELTA y Resilient BackPropagation (RPROP), por ser estos variaciones de la utilización de la regla delta generalizada. Además de ser los mas utilizados y en particular el algoritmo RPROP que se utilizó en el trabajo de grado 4 que da origen a este documento. Es claro que tambien existen otras arquitecturas de red como; redes de neuronas de base radial, red de Hop…eld, regla de Hebb, Adaline, entre otras. El objetivo de este documento se limira a con…guraciones en perceptron multicapa. 3.1
Retro RetroPr Propa opagac gación ión
Como el objetivo es que la salida de la red sea lo más próximo posible a la salida deseada, el aprendizaje de la red se formula como un problema de minimización, según[7]: M inw E 4
(13)
Trabajo de grado desarrollado por el autor de este documento para optar por el título de Matemático en la Fundación Universitaria Konrad Lorenz "Aplicación de Herramientas Matemáticas en la Determinación de Indicadores de gestión Empresarial:Solución Mediante Minería de Datos"
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
10
Siendo W el conjunto de parámetros de la red (pesos y umbrales)
E =
1 e(n) = 2
1
N
X
e(n)
(14)
(si (n) yi (n))2
(15)
N
n=1
nc
X i=1
Donde E es la función de error que evalúa las salidas de la red y las detectadas, W es el conjunto de parametros de la red, N es el número de patrones o muestras y e(n) es el error error cometido por la red para el patron n: Además Y (n) = (y1 (n); y2 (n); y3 (n);:::;ynC (n))
(16)
es el vector de salida obtenida mediante la red y S (n) = (s1 (n); s2 (n); s3 (n);:::;snC (n))
(17)
es el vector de salida deseada, según los dato original originales. es. Entonce Entoncess si W es un mínimo de la función error E , en este punto el error es lo más próximo a cero, alcanzado la meta de aprendizaje. Se sabe que la red debe entrenarse para minimizar el error total, según la ecuacion 14. Para esto el procedimiento mas usado se basa en métodos del gradiente estocástico, los cuales se basan en una sucesiva minimización de los errores para cada patrón e(n), en lugar de minimizar el error total @e (n) (18) w(n) = w(n 1) @w
donde como la razón o tasa de aprendizaje, y determina qué tan grande es la variación en cada paso de entrenamiento. Como las neuronas de la red estan agrupadas en capas, se puede aplicar el método del gradiente, resultando el algoritmo de RETROPROPAGACIÓN [3] o regla delta. El término retropropagación debido a la forma en que se implementa en el perceptron multicapa, ya que el error cometido en la salida de la red es propagado hacia atrás y se transforma en un error para cada una de las neuronas ocultas. 3.1.1 3.1.1
Regla Regla Delta Delta Gene General raliza izada: da:
Sea w jiC 1 el peso de la conexión de la neurona j de la capa C 1 a la neurona i de la capa de salida. Utilizando el método de descenso [9] del gradiente de la ecuación 18, el parámetro
11
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
se modi…ca en dirección negativa del gradiente: C 1 C 1 w ji (n) = w ji (n 1)
@e (n)
(19)
C 1 @w ji
Entonces para la actualización del parámetro se necesita evaluar la derivada del error punto. Tomemos omemos entonces entonces la ecuación ecuación 15, como las salidas salidas de la red son e(n) en dicho punto. C 1 constantes y no dependen del peso y ademas el peso w ji solo afecta a la neurona i, ecuación 10, tenemos que:
@e (n) C 1 @w ji
= (si (n) yi (n))
@y i (n)
(20)
C 1 @w ji
Se debe calcular la derivada de la neurona de salida yi (n) respecto al peso w jiC 1 : La salida de la red es la funcion aplicada a la suma de las entradas por sus pesos, por lo tanto la derivada que se busca es:
@y i (n) C 1 @w ji
0X @
1 A
nC 1
=
0
C 1 C 1 + uiC w ji a j
j =1
a jC 1 (n)
(21)
Sea iC (n) de…nido de la siguiente manera:
0X @
1 A
nC 1
iC (n) = (si (n) yi (n)) 0
C 1 C 1 + uiC w ji a j
j =1
(22)
Reemplazando en 20 la ecuación 21, usando iC (n) como se de…nio en 22, se obtiene: @e (n) C 1 @w ji
= iC (n)a jC 1 (n)
(23)
Por ultimo, reemplazando 23 en 19, se obtiene la ley para modi…car el peso: C 1 C 1 (n) = w ji (n 1) iC (n)a jC 1 (n) w ji
(24)
j = 1; 2;:::;nC 1 i = 1 ; 2;:::;nC
De la misma forma se deduce que los umbrales de las neuronas de la capa de salida se modi…can de acuerdo a la siguiente expresión: uiC (n) = uiC (n 1) + iC (n)
para
i = 1; 2;:::;nC
(25)
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
12
En las ecuaciones 24 y 25 se tienen los pesos de la capa oculta C 1 a la capa de salida y los umbrales de la capa de salida. Ahora se van a calcular los pesos de la capa c a la capa c + 1 y los umbrales de las neuronas de la capa c + 1 para c = 1; 2;::;C 2: Para esto se elige un peso de la capa C 2 C 2 a la capa C 1: Sea wkj el peso de la conexión de la neurona k de la capa C 2 a la neurona j de la capa C 1: utilizando el método del descenso del gradiente, se tiene que:
C 2 C 1 (n) = wkj (n 1) + wkj
@e (n)
(26)
C 2 @w kj
C 2 Nótese que el peso wkj in‡uye en todas las salidas de la red, entonces la derivada del error e(n) en la ecuación 15 respecto al peso viene dada por la suma de las derivadas de cada una de las salidas:
nC
@e (n) C 2 @w kj
=
X
(si (n) yi (n))
i=1
@y i (n)
(27)
C 2 @w kj
De acuerdo a la ecuación 10 la derivada de la salida esta dada por: @y i (n) C 2 @w kj
0X @
1 A
nC 1
=
0
C 1 C 1 w ji a j
+
uiC
j =1
C 1 w ji
@a jC 1
(28)
C 2 @w kj
Sustituyendo este valor en la ecuación 27 y de acuerdo con la de…nición de en 22, se obtiene: n C
@e (n)
=
C 2 @w kj
X
C 1 iC (n)w ji
i=1
@a jC 1
(29)
C 2 @w kj
Al derivar la activación de la neurona j de la capa oculta C 1; a jC 1 ; respecto a dicho peso en la ecuación 9:
@a jC 1 C 2 @w kj
nC 2
=
0
X
C 2 C 2 + u jC 1 wkj ak
k=1
!
akC 2 (n)
(30)
Para las neuronas de la capa C 1 : nC 2
jC 1 (n)
=
0
X
nC
C 2 C 2 wkj ak
+
u jC 1
!X
C 1 jC (n)w ji
(31)
i=1
k =1
Sustituyendo 30 y 31 en 29: @e (n) C 2 @w kj
= jC 1 (n)akC 2 (n)
(32)
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
13
Finalmente la ley de aprendizaje viene dada por: C 2 C 2 wkj (n) = wkj (n 1) + jC 1 (n)akC 2 (n)
(33)
k = 1; 2;:::;nC 2 y j = 1 ; 2;:::;nC 1
Se puede generalizar la ley: C C (n) = wkj (n 1) + jc+1 (n)akc (n) wkj
(34)
c para k = 1; 2;:::;nc ; j = 1; 2;:::;nC +1 +1 y c = 1; 2;:::;C 2 donde ak (n) es la activación de la neurona k de la capa c para el patrón n y jc+1 esta dado por: nc+1
nc
jc+1 (n)
=
0
X
c c wkj ak
+
uic
!X
c ic+2 (n)w ji
(35)
i=1
k=1
por ultimo la ley de prendizaje para los umbrales esta dada por: u jc+1 (n) = u jc+1 (n 1) + ic+1 (n)
(36)
para j = 1; 2;:::;nC +1 +1 y c = 1; 2;:::;C 2: Como los valores de en 22 y 35 necesitan el cálculo de la derivada de la función de activación, a continuación se van a obtener las derivadas para la función sigmoidal (ecuación 11) y la tangente hiperbólica (ecuación 12) , que son las más utilizadas en la estructura de perceptron multicapa[1]. multicapa[1].
Derivada de la función sigmoidal Derivando la ecuación 11, se obtiene 0
(h) =
1
(e (1 + e h )2
h
)=
1 1+e
eh h 1 + eh
(37)
de donde (38)
0 (h) = (h)(1 (h))
y los valores en las ecuaciones 22 y 35 vienen dados respectivamente por iC (n) = (si (n) yi (n))yi (n)(1 yi (n))
para
i = 1; 2;:::;nC
(39)
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
14
nc+1
jc+1 (n)
=
a jc (c)(1a jc (n))
X
c ic+2 (n)w ji
j = 1; 2;:::;nc+1 y c = 1 ; 2; :::C :::C 2
para
i=1
(40)
Derivada de la función tangente hiperbólica 1e h 21e = 1+e h 1+e h 2 (1 + e h) 1+e h
1 (h) =
h
(41)
=
reemplazando la ecuación 11 tenemos 1 (h) =
2 1+e
h
h
h
1+e 1+e
= 2 (h) 1
(42)
entonces si se utiliza la función de activación tangente hiperbólica, las expresiones 39 y 40 se multiplican por 2. El algoritmo de retropropagación posee una serie de de…ciencias, por ejemplo el proceso de adaptar los pesos …naliza cuando @E 0; y esto no garantiza que el mínimo alcanzado @w sea un mínimo global, puede ser simplemente un mínimo local, en este caso claramente es indeseabl indeseablee que el proceso de aprendizaje aprendizaje de la red …nalice. …nalice. Otro posible posible problema problema el el fenómeno denominado parálisis o saturación, este ocurre cuando la entrada de una neurona alcanza valores cercanos a los extremos, como ya se mostro, las funciones de activación tienen comportamiento asintotico, asi que para estos valores la suma de los errores permanece constante. 3.2 3.2
Momen omento to
Esta variante añade un término que controla la velocidad de acercamiento al mínimo acelerandola,como lo dice [10], cuando se está lejos de éste y deteniendola cuando se esta cerca, viene dado por la expresión: w(n) = w(n 1)
@e (n) + w(n 1) @w
(43)
donde w(n 1) = w(n 1) w(n 2) es el incremento que sufrió el parámetro w en la iteración anterior y es un número positivo positivo que controla controla la importancia dada al incremento
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
15
anterior y se denomina momento, este regla fue propuesta propuesta por p or [3]. Aplicand Aplicandoo la de…nición de…nición de w(n 1); se obtiene: n
w(n) = w(n 1)
X t=0
nt
@e (t) @w
(44)
Este método trata de ser mas estable ya que si la derivada parcial del error respecto al peso tiene el mismo signo en iteraciones iteraciones consecutivas, consecutivas, la utilización del momento procura un cambio mayor en el peso, acelerando así la convergencia del algoritmo.Presenta problemas en proximidades del mínimo. 3.3
Silv Silva-Alme a-Almeida ida
Este método varia la tasa de aprendizaje, en función de la distancia al mínimo: (t) =
(
)(rwi;j (t1) E ) > 0 (t 1)u $ (rwi;j (t) E )( )(rwi;j (t1) E ) < 0 (t 1)d $ (rwi;j (t) E )(
(45)
con u > 1 y d < 1: Con este método los saltos realizados en función del error son siempre en la misma dirección y cuando se esta cerca del mínimo, se oscila alrededor de él [3]. 3.4
DELT DELTA-BAR-DEL A-BAR-DELT TA
Se evitan inestabilidades durante la variación de la tasa de aprendizaje, mediante la siguiente modi…cación:
(t) =
(
(t 1) + u $ (rwi;j (t) E )( )( ij ij (t 1)) > 0
)( ij (t 1)d $ (rwi;j (t) E )( ij (t 1)) < 0
(46)
Siendo ij ij (t 1) = (1 )rwi;j (t) E + ij ij (t 2)
(47)
con 0 < < 1: Las inestabilidades se disminuyen aumentando el valor de la tasa de aprendizaje para acelerar la convergencia y al comparar el gradiente y el promediado exponencial de los anteriores :[2]
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
3.5 3.5
16
RPROP
El algoritmo RPROP cálcula el cambio de los pesos en forma separada, es guiado por la primera derivada de f , en este caso; f es una medida de la diferencia entre la salida arrojada por la red neuronal neuronal y el valor valor esperado. esperado. RPROP RPROP utiliza parámetro parámetross independie independient ntes es que controlan la velocidad con que se recorre la función objetivo para cada uno de los pesos de la red neuronal, al no verse afectado por la saturación de la red neuronal converge mas rápidamente que otros algoritmos, como lo dice [8]. Un perceptrón multicapa busca una función yt que se construye en función de sus valores valores pasados, yt 1 ; yt 2 ; :::; :::; yt P
X 24 0@ X H
yt = +
h g
h=1
1
2 y 1
P
;h +
p;hyt p
p=1
13 A5
+ "t
(48)
Donde los parámetros = [ ; h ; ;h ; p;h] ; h = 1:::H; p = 1:::P son estimados usando el principio de máxima verosimilitud de los residuales, el cual equivale a la minimización de una función función de costo que es de…nida usualmen usualmente te como error cuadrátic cuadráticoo medio. Esta ecuación equivale a un modelo estadístico no paramétrico de regresión no lineal, "t sigue una distribución normal con media cero y varianza desconocida 2 ; H representa representa el número de neuronas en la capa oculta, P es el número de rezagos de la variable dependiente y g es la función de activación de las neuronas de la capa oculta.
El algoritmo RPROP busca encontrar los valores del vector de parámetros ; de forma que se minimice la diferencia entre los valores reales yt y los valores yt :
La actualización de los pesos, viene dada por (49)
wij (t) = (t)signo(rwi;j (t) E )
La utilización del signo del gradiente en la actualización de los pesos supone un ahorro en la carga computacional. Por otro lado, la constante de adaptación viene dada por
(t) =
(
min((t)u; max ) $ (rwi;j (t) E )( )(rwi;j (t max((t)d; min ) $ (rwi;j (t) E )( )(rwi;j (t
1) E )
>0
1) E )
1 y d < 1: Se intenta tener un valor bajo en las proximidades del mínimo y mayor lejos de éste. controlando de esta manera la velocidad de convergencia, pero se limitan los valores ya que si son demasiado grandes se pueden tener inestabilidades y si son demasiado pequeños la velocidad de convergencia puede ser muy lenta.
4
Conc Co nclu lusi sion ones es
Las multiples aplicaciones de las RNA ponen de mani…esto la necesidad de realizar modelos que conduzcan a resultados cada vez mas acertados. La con…guración en perceptron multicapa exige la implementación de una algoritmo de aprendizaje y ademas exige la con…guración de un adecuado número de capas ocultas. Respecto a esto no existe en la literatura una sistemática vía para determinar el número exacto, además no existen razónes empíricas, metodológicas o teóricas para preferir un algoritmo de entrenamiento especí…co entre varias alternativas. En el desarrollo del trabajo de grado " Aplicación de Herramientas Matemáticas en la Determinación de Indicadores de gestión Empresarial:Solución Mediante Minería de Datos"
se utilizó el algoritmo RPROP, las razónes de esto basicamente responden a que sin duda es el más utilizado actualmente, pero principalmente la herramienta computacional en la que se trabajo fue KNIME y esto limita la libre elección e implementación de l algoritmo de aprendizaje, ya que KNIME 5 trabaja la arquitectura del perceptron multicapa solamente con el algoritmo RPROP. En cuanto al número de capas ocultas en el desarrollo del trabajo de grado, no se encontro correlación alguna entre los resultados y la arquitectura de red, corroborando lo que dice en la literatura literatura.. Sin embargo, embargo, es importan importante te dejar claro que el rendimient rendimientoo del modelo si tiene correlación con la calidad y la cantidad de datos que se suministren, es decir al tener muchos periodos de un mismo fenómeno la RNA ofrece resultados óptimos.
5
Herr Herrami amien enta ta comp comput utac acio iona nall desa desarr rrol olla lada da sobr sobree la plat plataf afor orma ma Eclip Eclipse se,, http://www.knime.org/
mas info informa rmació ciónn en
Algoritmos de Aprendizaje en Retropropagación para Perceptron Multicapa
18
References [1] Russell, Russell, S.J.; S.J.; Norvi Norvig, g, P. P. Inteligencia Arti…cial . Prentice Hall Hispanoamerica, 1996. [2] Isasi, Isasi, P.; P.; Galv Galván, án, I. M. Redes de Neuronas Arti…ciales. Pearson Educación, 2004. Parallel Distribute Distributed d Proc Processing essing,, MIT [3] [3] Rume Rumelh lhar art, t, D.,H D.,Hin into to,, G., G., Will Willia iams ms,R ,R., ., Parallel Press,1986.
[4] http://commons.wikimedia.or http://commons.wikimedia.org/wiki/File:Neur g/wiki/File:Neurona.svg ona.svg [5] http://commons.wikimedia.org/wiki/File:RedNeuronalArti…cial.pn [6] Sanz, Sanz, A.; Del Brío, Brío, B. Redes Neuronales y Sistemas Difusos. Alfaomega Grupo Editor, 2002. [7] Nilsso Nilsson, n, N. Inteligencia Arti…cial. Mc Graw Hill, 2001. des Neur Neuron onal ales es Arti… rti…ci cial ales es,, [8] Ser Serrano, A.;Soria, E.;Martín, J. Redes http://ocw.uv.es/ing http://ocw.uv.es/ingenieria-y-ar enieria-y-arquitectura/ quitectura/1-2/libro_ 1-2/libro_ocw_libro_de_re ocw_libro_de_redes.pdf des.pdf
en
[9] http://ingenieria http://ingenieria.udea.edu.co .udea.edu.co/grupos/revista /grupos/revista/revistas/ /revistas/nro050/A nro050/Articulo%2 rticulo%2017.pdf 017.pdf [10] http://www2.una http://www2.unalmed.edu.co lmed.edu.co/~pruebasm /~pruebasminas/index. inas/index.php?option=co php?option=com_docm m_docm an&task=doc_view&gid=1743&tmpl=component&format=raw&Itemid=285
Manuel Currea Urcua Estudiante de último semestre de Matemáticas en la Fundación universitaria Konrad Lorenz. Sus áreas de interes son la economia matemática, actuaría y
data minnig. Leonardo Jimenez Moscovitz Docente investigador de la Fundación universitaria Konrad Lorenz . Sus áreas de interes son la inteligencia inteligencia arti…cial, análisis digital digital de imagenes
y data minnig. Sus trabajos han sido publicados en diferentes revista de circulación circulación nacional e internacional. internacional.