Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las redes neuronales de una sola capa tiene una interfaz de entrada conocida como
nodos de entrada en donde no se realiza ninguna operación (definida como X). Y también
esta compuesta por la capa de salida en donde se tienen las redes neuronales en si mismo
(definida como Y). En la fig. 2.1, se muestra una red neuronal de una capa con n nodos de
entrada y m neuronas de salida.
De la fig. 2.1, se puede observar que existen una serie de pesos sinápticos
que unen los nodos de entrada con cada una de las neuronas. De este grupo de pesos se
puede crear una matriz de pesos, como la que se describe en la ec. (1.1). El primer
subíndice de cada peso representa el nodo de entrada y el segundo subíndice hacía que
neurona se conecta.
(1.1)
Donde n= # de nodo de entrada; m= # de neuronas de salida; normalmente nm. De
la matriz se observa que cada columna de pesos representa los pesos sinápticos que se
conectan de los nodos de entrada a cada uno de las neuronas de la red.
La red neuronal multicapa esta compuesta no solamente de una sola capa sino que la
integran 2 o más capas. En la fig. 2.2, se muestra la arquitectura de una red con una capa de
nos de entrada una capa oculta o intermedia y una segunda capa o de salida.
Al igual que la red neuronal de una capa, por cada capa de neuronas que se tiene se
asocia una matriz de pesos. De acuerdo con la fig. 2.2, se tendrán las siguientes dos
matrices. Nuevamente cada una de las columnas de las dos matrices representan los pesos
sinápticos que se conectan a cada neurona. De la fig. 2.2, se puede observar que la
respuesta de las neuronas de la primera capa se convierten ahora en las señales de entrada
de la segunda capa. Esta idea, como ya se mencionó, se puede extender y se pueden llegar a
conectar más capas a esta red neuronal. Además, el numero de neuras puede llegar a ser
distinto del número de neuronas de la segunda capa.
(1.2)
Figura 2.4 Resumen gráfico del flujo de señales en una red multicapa. Parte superior de la figura:
Propagación. Parte inferior de la figura: Retro-propagación.
Existen otro tipo de redes, denominadas recurrentes en las cuales se realiza una
retroalimentación de la señal de salida hacia alguna de las capas anteriores a la capa de
salida; ejemplo de éstas es la denominada red de Hopfield. Sin embargo, es necesario
aclarar que los algoritmos de entrenamiento o de ajuste de parámetros tienen como objetivo
la minimización de una función de error, la que como se mencionó, en ocasiones se le
denomina función de energía la cual es necesario minimizar. Así, en general una regla de
aprendizaje se deriva al aplicar una técnica de optimización específica a una medida de
error dada. Las técnicas más comunes son las denominadas por gradiente descendiente
abrupto (GD), y por estimación de mínimos cuadrados (LSE).
La conectividad entre los nodos de una red neuronal está relacionada con la forma
en que las salidas de las neuronas están canalizadas para convertirse en entradas de otras
neuronas. La señal de salida de un nodo puede ser una entrada de otro elemento de proceso,
incluso ser una entrada de su propia salida (conexión autorrecurrente).
Las aplicaciones del mundo real deben acometer dos tipos diferentes de requisitos
en el procesado. En un caso, se requiere la prueba en tiempo real pero el entrenamiento ha
de realizarse "fuera de línea". En otras ocasiones, se requieren las dos procesos, el de
prueba y el de entrenamiento en tiempo real. Estos dos requisitos implican velocidades de
proceso muy diferentes, que afectan a los algoritmos y hardware usados.
La polarización (bias) actúa exactamente como un peso sobre una conexión desde
una unidad cuya activación es siempre uno. Al momento de incrementar la polarización se
aumenta la entrada de la red a la unidad. Si la polarización es incluida, la función de
activación típica esta definida por la ec. (1.3):
(1.3)
donde:
El propósito que tiene incluir una función de activación en una red neuronal es
implementar una frontera de decisión , en donde, no importando cual sea el valor de net, a
la salida de la red neuronal solo se tendrán dos valores 0 y 1, para una función de activación
binaria o –1 y 1 para datos de salida bipolares. En la fig. 2.6, se observa un grupo de datos
definidos en 2. De este grupo de datos se distinguen dos familias o clases, para verificar a
que familia pertenece cada dato se le ha asociado una etiqueta. Un símbolo de asterisco (*)
para la primera clase (C1) y un cuadro () para la segunda clase (C2). Para separar las dos
familias se puede utilizar una frontera de decisión (línea) la cual define la zona a la
Figura 2.6. Grupo de datos linealmente separados, que están divididos ha través de una frontera de decisión.
Considerando el bias:
(se iguala a cero porque a partir de él se etiquetan los patrones, ya sea con uno 1 ó con -1).
- Para bias:
- Para threshold:
Algoritmo:
Paso 1. Por cada vector de entrenamiento de entrada y par de salida deseado, s: t hacer
los pasos 2 a 4.
Paso 3. Fijar la activación para las unidades de salida: y=t (t = objetivo o “target”)
Ajustar el bias:
Ejemplo 2.1: Entrenar una red de Hebb para tener la función de la compuerta AND con
entradas x1 y x2, salida t, con datos binarios.
Solución:
Denotando los pesos con w1, w2 y b, y a sus respectivos gradientes como w1, w2,
y b. Utilizando el algoritmo descrito anteriormente, podemos formar la siguiente tabla:
x1 x2 B t w1 w2 b w1 w2 b
1 1 1 1 1 0 0 1 1 1
1 0 1 0 0 0 0 1 1 1
0 1 1 0 0 0 0 1 1 1
0 0 1 0 0 0 0 1 1 1
Los valores de los pesos resultantes del entrenamiento son los del último renglón en las
columnas correspondientes a w1, w2 y b.
con
En este caso:
Figura 2.8. Gráfica que muestra como un grupo de datos no ha sido separado todavía por la frontera de
decisión que produce la red neuronal.
En la fig. 2.8 se puede notar que la red no fue entrenada, puesto que no separó los
símbolos (+1) de los (0). Para este ejemplo se recomienda emplear datos bipolares (+1 ó -
1).
x1 x2 B t w1 w2 b w1 w2 b
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 -1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 -1 2 2 -2
Los nuevos pesos son w1=2, w2=2 y b=-2, y ahora se obtiene la siguiente expresión
para la frontera de decisión:
Figura 2.9. Gráfica resultante del ejemplo anterior que muestra como el grupo de datos linealmente separable
han sido divididos por una región de separación producida por la red neuronal.
La red ahora sí se entrenó de manera correcta, ya que separó linealmente los valores
(-1) y (+1).
Para la entrada:
Para:
Para:
Finalmente, para:
#...# . # # #.
.#.#. #...#
..#.. #...#
.#.#. #...#
#...# . # # #.
# equivale a +1
. equivale a -1
Entrenar una red de Hebb que reconozca los caracteres y que al captar una X
produzca un +1, y al captar una Y produzca un –1.
De manera similar:
. (2.7)
Y recordando que:
Arquitectura:
w (new) = w (old) + xi t
b(new)=b(old) + t
Paso 0. Inicializar los pesos y la polarización (por simplicidad se fijan a cero). Fijar la
razón de aprendizaje (0<<=1; por simplicidad, = 1).
Paso 1. Mientras que la condición de paro sea falsa, hacer los pasos 2 al 6.
Si y t, entonces:
wi(new) = wi(old) + t xi
b(new) = b(old) + t
else:
wi(new) = wi(old)
b(new) = b(old)
Paso 6. Probar la condición de paro: Si no han cambiado los pesos en el paso 2, detenerse;
si no es así, continuar.
Ejemplo 2.3: Función lógica AND con entradas binarias y salidas bipolares. Factor de
aprendizaje = 1, umbral = 0.2
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 -1 -1 0 -1 0 1 0
0 1 1 -1 0 -1 -1 0 0 -1
0 0 1 -1 0 0 0 0 0 -1
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b 0 0 -1
1 1 1 1 1 1 1 1 1 0
1 0 1 -1 -1 0 -1 0 1 -1
0 1 1 -1 0 -1 -1 0 0 -2
0 0 1 -1 0 0 0 0 0 -2
y_in = -1 + 0 + 1 = 0 <
y = 0 -1= t3
w1(new) = 0 + 1(-1)(0) = 0
w2(new) = 1 + 1(-1)(1) = 0
b(new) = -1 + 1(-1) = -2
y_in = -2 + 0 + 0 = -2 < -
y = -1= t4
los pesos se quedan igual.
Este proceso continúa similarmente hasta la novena época, para la cual se tiene la
siguiente tabla:
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b
1 1 1 1 1 1 1 3 3 -3
1 0 1 -1 -1 0 -1 2 3 -4
0 1 1 -1 0 0 0 2 3 -4
0 0 1 -1 0 0 0 2 3 -4
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b
1 1 1 1 0 0 0 2 3 -4
1 0 1 -1 0 0 0 2 3 -4
0 1 1 -1 0 0 0 2 3 -4
0 0 1 -1 0 0 0 2 3 -4
= f(x)
= g(x)
Ejemplo 2.4: El ejemplo 2.3 se puede realizar también empleando tanto datos de entrada
como de salida bipolares, con factor de aprendizaje 1 y umbral 0:
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 1 1 -1 0 2 0
-1 1 1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 0 0 0 1 1 -1
x1 x2 B t Cambio de w1 w2 b
pesos
w1 w2 b 1 1 -1
1 1 1 1 0 0 0 1 1 -1
1 -1 1 -1 0 0 0 1 1 -1
-1 1 1 -1 0 0 0 1 1 -1
-1 -1 1 -1 0 0 0 1 1 -1
Se puede ver que la red ya se entrenó en tan sólo dos épocas. Es entonces mucho
más rápido el entrenamiento con datos de entrada y salida bipolares que el caso anterior,
realizado con entradas binarias.
x1w1 + x2w2 + b =
.....(a)
.....(b)
Paso 0. Inicializar los pesos y las polarizaciones con cero o con valores aleatorios
pequeños.
Paso 1. Por cada par, mientras que la condición de paro sea falsa, continuar con los
pasos 2 a 6.
Si ti = yj bj (new) = bj (old)
Arquitectura:
La red Adaline significa red neuronal lineal adaptativa (Neurona Lineal Adaptativa).
Emplea la regla delta (que habrá de ser descrita posteriormente) para optimizar los
pesos. Su arquitectura es similar a la del Perceptron.
Figura 2.14. Red neuronal tipo Adaline propuesta por Widrow-Hoff con dos señales de entrada y una
entrada de polarización con valor constante de +1.
De manera típica utiliza valores de activación bipolar tanto para sus señales de entrada
como para su salida (sin embargo no se restringe a estos valores). Los pesos de las
conexiones desde la unidad de entrada a la salida son ajustables. La red Adaline cuenta con
un peso de polarización, que actua como un peso ajustable sobre una conexión desde una
unidad cuya activación siempre es uno.
La regla delta también es conocida como el cuadrado medio mínimo (Least Mean
Square-LMS) o regla de Widrow-Hoff. Esta regla puede utilizarse para redes de una sola
capa con muchas unidades de salida. Durante el entrenamiento, la activación de la unidad
es su entrada de red, es decir, la función de activación es la función identidad.
La regla de aprendizaje minimiza el error cuadrático medio entre la activación y el
valor objetivo. Esto permite a la red seguir aprendiendo sobre todos los patrones de
entrenamiento, inclusive aun después de que la salida correcta se genera (si una función de
umbral se aplica) para algunos patrones.
Después del entrenamiento, si la red está siendo utilizada para clasificación de patrones en
donde la salida deseada es +1 o –1, una función de umbral se aplica a la entrada para
obtener la activación (salida). Si la entrada de a la Adaline es mayor que o igual a cero, su
activación es 1, de otra manera, es –1.
Cualquier problema para el los patrones de entrada que sean linealmente separable
pueden ser modelados de manera exitosa por una unidad (neurona) Adaline.
Algoritmo:
Paso 0. Inicializar los pesos con valores aleatorios pequeños. Fijar la razón de aprendizaje
(0<<=1).
Paso 1. Mientras que las condiciones de paro sean falsas, hacer los pasos del 2 al 6.
:= error mínimo
Aquí w = 0.0068 < 0.01= , por lo que la red queda entonces como se muestra a
continuación.
Para una red neuronal con entrenamiento supervisado ser puede formar una función
objetivo que permita monitorear el entrenamiento de la misma. Esta función objetivo se
forma a partir de la comparación de la señal deseada ydj(k) menos yj(k). Donde ydj(k) es la
señal deseada y yj(k) es la señal que nos entrega la red neuronal cuando se aplica una señal
de entrada para el k-ésimo patrón respectivamente, por lo tanto el error por patrón que se
obtiene es:
. (2.5)
Por lo que el error total va a ser:
. (2.6)
, (2.8a)
y
. (2.8b)
(2.9)
Se observa de la ec. (2.6) que el error total se define como el error cuadrático medio.
Por otra parte, sabemos que el valor mínimo de una función g(x) esta dado por:
. (2.10)
. (2.11)
Realizando el despeje de t, se obtiene que el producto es aproximadamente
igual a:
. (2.12)
. (2.13)
Y substituyendo la ec. (2.10) en la ec. (2.13) obtenemos:
. (2.14)
Si consideramos que t tiende a cero podemos hacer una substitución, así que t
= , y tenemos que:
. (2.15)
2.10. Regla Delta (o LMS: Least Mean Square, o Regla de Widrow - Hoff)
Se tiene que:
= 2 (t – y_in) xi (2.16)
(2.17)
Si = -2 , entonces:
(2.18)
(2.20)
(2.21)
En la fig. 2.17, se muestra un diagrama a bloques hecho con Simulink, de una red
Adaline. Se observa que las señales de entrada corresponde a generadores de señales
cuadradas, estas señales son continuas. Si observamos la señal que corresponde a la entrada
de la red (y_in) se comprara con la señal objetivo (t). Específicamente la función que se
trata de entrenar es la función AND bipolar. Una vez que la señal deseada se compara con
la señal de entrada de red se genera la señal de error. Esta señal de error se multiplica con
cada una de las señales de entrada (x1 y x2). Posteriormente este resultado se amplifica por
medio del bloque de amplificación, de la figura se observa que el factor de amplificación es
20. Esto es equivalente a generar el factor dentro de la integral que se muestra en la ec.
(2.21). Posteriormente cada una de estas señales se integra lo cual da como resultado cada
uno de los pesos sinápticos Wij, posteriormente cada uno de los pesos se multiplica
nuevamente por su señal de entrada, para finalmente sumarse para generar nuevamente
y_in. Se observa que la señal correspondiente al peso de polarización es +1. Además, se
observa que la función de activación que se utiliza es un escalón bipolar. Cada una de las
señales se monitorea por medio de los bloques “Scope”. En la fig. 2.18, se observan las
señales generadas. La primera señal corresponde a X1, la segunda señal corresponde a X2,
se observa que la frecuencia de X2 es la doble que la que corresponde a X 1. La señal que
corresponde a la función de salida (tercera señal) se observa que tiene un ciclo de trabajo de
un 25%, lo que corresponde a la función AND. Cada una de las señales tiene una amplitud
de 2 y se le resta –1 para obtener la señal bipolar de entrada-salida correspondiente.
Finalmente, la última de las señales es la señal de respuesta o salida de la red neuronal. En
los primeros ciclos se puede observar que la señal no corresponde exactamente a la señal
deseada, sin embargo, los últimos ciclos corresponden exactamente a la señal deseada. No
se muestra la señal que corresponde al error cuadrático medio, debido a que se considera
innecesario.
Figura 2.17. Implementación de la regla delta para entrenar una red neuronal Adaline.
Figura 2.18. Resultado del entrenamiento de una red Adaline para que aprenda la función AND bipolar,
utilizando señales de pulsos.
Una de las desventajas que presenta este método, es que la función de activación
que se utiliza, pude presentar variaciones con respecto a la función matemática original.
Este problema es significativo, sobre todo para implementaciones en hardware de este tipo
de red neuronal. Más adelante, en la última sección de esta unidad, se comentará como
utilizando el algoritmo MRIII (Madaline Rule III), este problema se puede superar.
En la fig. 2.19, se muestra el circuito que se utiliza para entrenar la red Perceptron,
nuevamente con la función AND bipolar. De la figura se observa que ahora cada una de las
señales que se monitorea, se utiliza un bloque que guarda el resultado de la simulación,
para después graficar éstos, utilizando la instrucción plot.
Figura 2.20. Resultado del entrenamiento de la red Perceptron para que aprenda la función AND.
2.13. Métodos Alternativos para Entrenar a la red Adaline
En la actualidad existen diferentes variantes del método descendiente abrupto que permiten
un mejor entrenamiento de la red Adaline. Algunos de éstos se basan en el método de
minimización de Newton, y el método de Levenberg-Marquardt que se basa en el método
de Gauss-Newton. A continuación se muestran dichos métodos.
(2.23)
(2.24)
. (2.25)
De manera heurística se puede determinar para satisfacer E(siguiente) < E(actual), por
ejemplo: k+1 = 1/2 k, k= 0, 1, 2, 3,…etc. Comenzando con 0 = 1 o un valor más pequeño.
El Hessiano puede ser alterado para el caso en que este no sea definido positivo
añadiéndole una matriz P a H para hacerlo definido positivo. Levenberg y Marquadt
aplicaron este concepto al método de Newton. Donde P = I a la ec. (2.25), obteniendo:
, (2.26)
. (2.27)
Ahora bien, ya solo resta sustituir nuestra función objetivo a minimizar es decir la
suma de los errores cuadráticos medios. Para un grupo de pares de entrenamiento entrada-
salida (xp, tp), p = 1, …,m, donde m es el número de pares de entrenamiento, tenemos que
encontrar un grupo de parámetros * (grupo de conexiones sinápticas o pesos) que
minimicen la suma del error cuadrático (función objetivo) es decir:
(2.28)
donde recordaremos que tp es la salida deseada cuando se tiene un vector de entrada xp; yp=
f (xp, ) es el modelo de la salida cuando se tiene una entrada xp; rp es el vector compuesto
de ri (), i = 1, …, m.
. (2.29)
, (2.30)
(2.31)
Esta regla de aprendizaje se aplica cuando el grupo de datos de entrada abarca desde
valores pequeños hasta valores muy grandes.
2.14. Aplicaciones
Figura 2.22. Filtro FIR que se implementa con la señal actual y un conjunto de operadores unitarios de atraso
de la misma señal.
Figura 2.27. Respuesta del filtro FIR. La función original es la función sinusoidal (línea roja). La señal
filtrada es la línea con ruido aleatorio(línea azul). Y la respuesta del filtro (línea verde).
De la fig. 2.28:
() = Error
S = Señal original
V = Señal de ruido
m = Señal de ruido alterada por el filtro de patrón de ruido
En su momento, se comentó que una red neuronal puede llevar a cabo la separación
y clasificación de datos, siempre y cuando estos sean linealmente separables. Sin embargo,
funciones como la XOR es una función donde sus datos no son linealmente separables, lo
que significa que una red neuronal con una sola capa no sea capaz de separar el grupo de
datos. Existe la posibilidad, de que utilizando una función no lineal, como lo es un
polinomio, o en este caso, una función elíptica (o hipérbola), se pueda lograr esa separación
de datos linealmente no separables. La ecuación de una elipse queda expresada por medio
de la siguiente ecuación:
(2.35)
En donde cada A,B, ..., F, son constantes, y X y Y representan las variables de la
función elipse. Para el caso de una red neuronal de una capa, podemos considerar que la
respuesta de la red neuronal queda expresada como:
(2.36)
De esta expresión observamos que cada uno de los términos ha sido sustituido por
un peso sináptico, y las variables han sido sustituidas por datos de entrada. La función de
activación que se puede utilizar puede ser desde una simple función identidad, hasta una
función continua. El método de entrenamiento de esta red se puede realizar por medio de la
regla delta.
La fig. 2.30, muestra el resultado de entrenar una red Adaline con función elíptica
que separa el grupo de datos que representa una función XOR. Se observa que la línea de
separación es en realidad una hipérbola, este tipo de funciones se logra debido a que en
principio los pesos iniciales de la red, pueden variar, y que al momento de entrenar la red
esta tienda a una función hiperbólica.
Figura 2.30. Separación de datos no linealmente separables por medio de una red Adaline basada en una
elipse.
En la fig. 2.31, se muestra como se utiliza una red Adaline con función elíptica para
implementar un filtro predictor lineal utilizando Simulink. En la fig. 2.32, se muestra la
respuesta de este filtro. Nuevamente, se observa que la respuesta presenta cierto
defasamiento, y escalamiento con respecto a la función original. En la fig. 2.33, se muestra
la respuesta del error que se genera. Se puede ver que el valor numerico que se obtiene es
del orden de 10-3.
Figura 2.31. Red neuronal Adaline elíptica aplicada para copiar una función sinusoidal (predictor lineal)
Figura 2.34. Curva de aprendizaje promedio, que se obtiene durante el entrenamiento de la red neuronal
Adaline con función elíptica.
Podemos utilizar simplemente el error medio como medio para obtener la regla de
entrenamiento de una red Adaline, es decir:
(2.37)
(2.38)
Se ha dejado el valor 2 solamente por conveniencia. En forma vectorial la ec. (2.38)
queda expresada como:
Si consideramos que:
Desarrollando:
Donde:
[I – 2 R] = Zi – 2 R Zi
= [1 – 2 i] Zi (2.47)
Por lo tanto:
para toda i, o
Desarrollando el determinante:
Para el caso en que el número de elementos del vector de entrada sea mayor a 3, se
deberá utilizar algún método numérico que permita calcular el valor del máximo
eigenvalor.
Arquitectura:
En la fig. 2.34, se observa una red Madaline que tiene dos nodos de entrada, definidos
como X1 y X2, dos neuronas que se encuentran en la primera capa, definidas como Z 1 y Z2,
y una tercera neurona que se encuentra en la segunda capa, definida como Y. Se observa
que cada neurona se le asocian tres pesos, dos sinápticos y uno de polarización. Los valores
que se asocian a los pesos de la primera capa, en primera instancia son proporcionados con
un valor aleatorio, y los valores de corresponden a los de la segunda capa, para el caso de
una función or, son igual a 0.5. El número de neuronas tanto de la primera, como de la
segunda capa puede variar, y no existe teóricamente algún límite.
Durante el entrenamiento de esta red neuronal, los únicos cambios que se realiza esta
red son los de los pesos de la primera capa, en ningún momento se considera que hay que
cambiar los pesos de la segunda capa.
Por lo tanto, si se considera que el valor de los pesos sinápticos de la segunda capa
implementan una función or, para el entrenamiento pueden existir tres situaciones. La
primera, es que al momento de aplicar un vector de entrada se calculan, para la fig. 2.34, las
entradas de red Z_in1 y Z_in2, posteriormente, cada uno de estos valores es evaluado por las
funciones de activación escalón bipolar, para dar los valores Z1 y Z2 respectivamente, a
continuación, estos valores son ahora las señales de entrada para la neurona de la segunda
capa, por lo que se calcula una señal de entrada de red igual a Y_in, y finalmente se obtiene
una respuesta de red igual a Y. Si esta respuesta de red es igual a el valor de salida deseado,
el valor de los pesos no va a cambiar. Sin embargo, nuevamente, si al momento de aplicar
un vector de entrada, la respuesta final de la red es diferente al valor deseado, pueden
presentarse las siguientes situaciones: en el caso en que la respuesta de red este equivocada
y la respuesta de salida deseada fuera +1, es decir, que la respuesta fue Y = -1, implica que
los dos valores de entrada de la neurona de la segunda capa, esto es, tanto Z1 como Z2
tienen un valor igual a –1 (recordar la función or bipolar), y que se debe considerar que
para que la respuesta Y de la red sea +1, que es lo que se desea, se necesita cambiar al
menos uno de los valor de las Z’s. En este caso el principio de mínimo disturbio me
propone que se debe modificar los valores de pesos cuya Z_in sea la más cercana a cero,
esto es, se va a realizar el cambio, cuyos valor vectorialmente hablando, se modifiquen lo
menos posible. En este caso, la regla de aprendizaje que se utiliza es la misma que la de la
red Adaline.
Algoritmo MRI:
Paso 0. Inicializar los pesos: V1, V2 y b3 igual a 0.5, y el valor de los pesos
(sinápticos y de polarización) se fijan con valores aleatorios pequeños.
Paso 1. Mientras que la condición de paro sea falsa, continuar con los pasos 2 a 8.
Paso 4. Calcular la entrada de red para cada unidad Adaline oculta Z1 y Z2:
Z1 = f(Z_in1)
Z2 = f(Z_in2)
y = f(y_in)
De otra forma:
wik(new)=wik(old) + (1 – z_inj)xi
Si t = -1, entonces actualizar los pesos sobre todas las unidades Z k que tengan una
entrada de red positiva más cercana a cero:
Ejemplo: Función lógica XOR con datos de entrada y salida bipolares empleando el
algoritmo MRI para una red Madaline. ( = 0.5 y función de activación escalón bipolar)
x1 x2 t
+1 +1 -1
+1 -1 +1
-1 +1 +1
-1 -1 -1
Paso 5. Z1 = Z2 = 1
Paso 7. t – y = -1-1 = -2 0
t = -1, pero z_in1 y z_in2 son positivas, por lo que hay que actualizar ambos grupos
de pesos.
Paso 1. Mientras la condición de paro sea falsa, hacer los pasos 2-8.
Paso 2. Por cada par de entrenamiento bipolar, s:t, hacer los Pasos 3-7.
Si t Y, hacer los Pasos 7 a-b por cada unidad oculta cuya entrada de red este lo
suficientemente cercana a 0 (digamos, entre –0.25 y +0.25). Comenzar con la unidad cuya
entrada de red sea lo más cercana a 0, después la más cercana, etc.
Paso 7b. Recalcular la respuesta de la red. Si el error se reduce: ajustar los pesos de esta
unidad (usar su nuevo valor de salida asignado como objetivo y aplicar la regla delta).
(2.48)
(2.49)
(2.50)
Finalmente, existen dos maneras de implementar el algoritmo MRIII para la red Adaline.
Estas dos alternativas se basan en el método descendiente abrupto, utilizando los gradientes
estimados instantáneos.
(2.51)
(2.52)