best microsoft windows 10 home license key key windows 10 professional key windows 11 key windows 10 activate windows 10 windows 10 pro product key AI trading Best automated trading strategies Algorithmic Trading Protocol change crypto crypto swap exchange crypto mcafee anti-virus norton antivirus Nest Camera Best Wireless Home Security Systems norton antivirus Cloud file storage Online data storage
tes

Torre de Babel Ediciones

Conexionismo – Mecanismos de procesamiento en los modelos PDP

 

VII.2. CONCEPTOS Y MECANISMOS BÁSICOS PARA EL PROCESAMIENTO EN LAS REDES CONEXIONISTAS  

VII.2.1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas

VII.2.2. La entrada (input) total. La regla de propagación

VII.2.3.El estado de activación

VII.2.4. La regla o función de activación

VII.2.4.a. Concepto y fórmula general

VII.2.4.b. Tipos de funciones de activación

VII.2.5 La salida de las unidades. La función de transferencia

VII.2.5.a. Concepto y fórmula general de la función de transferencia

VII.2.5.b. Tipos de función de salida o de transferencia

VII.2.6. Reglas de aprendizaje

VII.2.6.a. Concepto y modelos de aprendizaje

VII.2.6.b. Regla de Hebb (o regla del producto)

VII.2.6.c. Regla de Widrow-Hoff o regla delta o regla del menor error cuadrático

VII.2.6.d. Regla Delta generalizada (o regla de propagación hacia atrás)

 

 

VII.2.1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas

La tarea de cada neurona o unidad es simple: recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes. Toda la información que la red recibe, almacena, transforma y envía se expresa en términos matemáticos, en la forma de cantidades y de fórmulas aplicadas a cantidades.

La representación interna de la información se genera en las sinapsis o conexiones y en la actividad de las neuronas, particularmente en las de la capa oculta. Dado que las redes modifican sus estados a través del tiempo como consecuencia de las distintas entradas de información, es imprescindible también introducir en la descripción de los estados de activación la referencia al tiempo:

1. a cada neurona (unidad , i) le corresponde en cualquier instante un valor numérico denominado valor o estado de activacióni(t);

2. cada unidad utiliza una función de salida, i, que calcula la señal de salida (“i”, del inglés output o salida) a partir del estado de activación que en ese momento tiene la neurona;

3. la señal de salida se trasmite a otras unidades con las que dicha neurona está conectada;

4. una neurona recibe la señal de todas las unidades con las que está conectada, pero lo hace teniendo en cuenta:

  • el peso asociado a cada una de las conexiones, ij (del inglés “wheit”, peso)
  • y la intensidad o señal que se transmite por la sinapsis;

a la suma de todas las señales ponderadas por el peso de las correspondientes conexiones se le llama NET

5. el nuevo estado de activación i(t+1) de la neurona se calcula mediante una función de activación Fa, teniendo en cuenta la entrada total calculada o NET y su anterior estado de activación, i(t)

 

 

image

(Tomado de «Redes neuronales artificiales«, J. R. Hilera y V. J. Martínez,  Editorial Ra-ma; p. 51.)

 

La notación empleada en las redes neuronales no es unánime:

  • las unidades o neuronas se representan como “u” o como “n”
  • la función de activación se suele representar por Fa, pero también, simplemente, por F; dado que es preciso referirse a dos funciones, la de activación y la de transferencia, conviene utilizar una notación distinta para cada una de ellas, por ejemplo para la función de activación la F mayúscula (Fa) y para la de transferencia la f minúscula (i);
  • la referencia a la activación actual se suele representar como a(t) y la siguiente como a(t+1); pero en la literatura sobre el tema también podemos encontrar la referencia a la activación actual como a(t-1) y  el estado de activación siguiente como a(t) (y tanto en negrita como en caracteres normales);
  • para distinguir la parte de la fórmula que corresponde al nombre de las unidades de la parte de la fórmula correspondiente a los otros elementos, se pueden emplear varias estrategias:
    • subíndice para los nombres y letra normal para el resto: o
    • letra normal para el nombre de la unidad y negrita para el resto:
  • para referirse al peso de cada conexión se puede emplear tanto la O mayúscula como la o minúscula, lo mismo que para el peso (W o w) y para la entrada total en cada unidad (Net o NET O NET o net).

Volver a al índice

 

VII.2.2. La entrada (input) total. La regla de propagación 

Una neurona recibe señales desde múltiples neuronas por lo que es necesario calcular el efecto global que tendrá ese conjunto de señales o inputs. El input total se denomina NET, y para el caso de las entradas que le llega a la neurona i en el tiempo t, NETi(t). Llamamos regla de propagación a la fórmula que nos indica cómo calcular dicha entrada total o NET; existen varias reglas de propagación, pero la más sencilla y habitual es la que se representa del siguiente modo:

 

NETi(t+1) =  wij * oj(t)

 

 

NETi es la suma de todas las señales que llegan a la neurona (señales representadas como j), ponderada cada una de ellas por el peso de conexión asociado, (ij). Cuando una determinada señal j llega a la neurona por una sinapsis inhibidora, el peso ij asociado a dicha sinapsis será negativo, por lo que el resultado del producto, ij*j, aportará un elemento negativo a la suma.

image

Los valores que transmite una neurona a las neuronas con las que está conectada se representan como “” (j sería el valor que transmite la neurona ). Pongamos que los valores que transmite las neuronas de la capa de entrada, y los pesos correspondientes a sus conexiones con la neurona son los siguientes:

 

valores: O(t)                oj: 0.5              ok: 0.3             ot: 0.5             ou: -1

pesos: (Wij)                 wil: -0.5           wik: 1               wit: 0.5            wiu: -0.3

 

En ocasiones los pesos de todas las conexiones o sinapsis correspondientes a una neurona se suelen representar mediante una matriz: la matriz wij incluiría todos los pesos de las conexiones con la neurona (wi1, wi2, wi3, …wij);  si un elemento de la matriz es positivo indica que la conexión es excitatoria, si es negativo, la conexión es inhibitoria y si es 0 no existe conexión entre neuronas; en el caso anterior la matriz sería:


Wij = [–0.5, 1, 0.5, –0.3]

También es habitual referirse al conjunto de valores de entrada de una unidad como el vector (t) (de “output”, salida, puesto que normalmente estos valores que le llegan a una unidad son la salida que produce otra unidad). En el caso anterior, el vector de valores que le llegan desde otras neuronas y correspondiente al instante anterior a la modificación de la neurona (instante que se suele representar como (t)) sería:


O(t) = [0.5, 0.3, 0.5, -1].

Si utilizamos la regla de propagación antes señalada, la entrada total que le llega a la neurona o NETi será la suma de las entradas parciales ponderadas por los pesos correspondientes:

(0.5 x -0.5) + (0.3 x 1) + (0.5 x 0.5) + (-1 x -0.3) =  -2.5 + 0.3 + 2.5 + 0.3 = 0.6

 

La entrada total se calcula para después averiguar el estado de activación que la va a corresponder a la unidad, pero, dado que la regla de propagación citada es muy sencilla, la función de activación que ha de calcular su activación no se suele referir a NETi, sino simplemente al sumatorio de los productos del peso por el valor de las entradas (Wij * Oj).

 

Volver a al índice

 

VII.2.3. El estado de activación

La activación (o excitación, o actividad) de una neurona es muy importante para el procesamiento puesto que la salida que la neurona provoca depende de ella. La activación es el grado o nivel de excitación de una neurona, y, generalmente, cambia en función de cuatro factores:

  • el anterior estado de activación de la unidad;
  • las entradas que la neurona recibe;
  • los pesos de las conexiones por las que recibe las señales;
  • la función de activación utilizada para calcular la activación a partir de dichas entradas.

Se llama ciclo a cada una de las veces que la red toma los vectores de entrada (conjunto de valores de entrada) para realizar los cómputos correspondientes; pues bien, dado que en cada ciclo la activación de las neuronas puede ser distinta, es preciso caracterizar dicha activación en cada pasada de la información o ciclo, por ello es necesario referirse al tiempo; así, es habitual representar como i(t) (o también, con minúscula, como i(t)), el nivel de activación de la neurona i en el tiempo t.

Lo que la red representa en cada momento depende del conjunto o patrón de activación de la totalidad de las unidades que la componen, por ello es conveniente también especificar dicho patrón. Para reflejar el patrón de activación se suele utilizar un vector de N números reales (t), vector que representa el estado de activación de todas las unidades de la red en el tiempo t; en el vector, cada uno de los elementos representa la activación de cada unidad en el tiempo t:

A(t) = (a1(t), a2(t), …, ai(t), …., an(t))

 

De este modo, cabe caracterizar el procesamiento que realiza la red como la evolución que sufren a través del tiempo los patrones de activación de las unidades.

 

Hay muchos modelos de redes conexionistas y los valores de activación que pueden tomar las unidades no son los mismos en todos ellos. Los valores utilizados con  más frecuencia son los siguientes:

 

I. continuos

a)  abiertoslos modelos que utilizan este tipo reciben el nombre de modelos no acotados (o modelos sin límite): el valor de activación de una neurona puede ser cualquier número real

b) o cerrados; los modelos que utilizan este tipo reciben el nombre de modelos acotados (o modelos con límites): pueden tomar cualquier valor real comprendido en un intervalo con un valor mínimo y un valor máximo,  por ejemplo, el intervalo {0,1}, o el intervalo  {-1,1}, generalmente siguiendo una función sigmoidal.

 

II. discretos: estos valores se utilizan en los modelos más sencillos.

a)los más frecuentes son los valores binarios: la neurona sólo puede tener dos estados: activada o desactivada, estados que se suelen identificar mediante el par de valores {0,1}, representado el 1 el estado de activado y el 0 el estado de desactivado o en reposo, o bien {-1,+1}; o, simplemente,  {–,+}, representado el 1 (o el +) el estado de activado y el -1 (o el –) el estado de desactivado.

b)en otros casos son valores discretos no binarios, valores que están entre cualquiera de un pequeño conjunto: por ejemplo, pueden estar restringidos al conjunto de valores {-1, 0, +1}, o a un  pequeño conjunto finito de  valores tales como {1, 2, 3, 4, 5, 6, 7, 8, 9}.

 

Naturalmente, el comportamiento y las utilidades de las redes con distintos tipos de valores de activación son también distintos; por ejemplo, si las entradas responden a información analógica y no a señales discretas, entonces los valores más adecuados son los continuos, no los discretos.

 

 

Volver a al índice

 

 

VII.2.4. La regla de activación

VII.2.4.a. Concepto y fórmula general

El estado de activación de una unidad depende de la función de activación, que no es otra cosa que una función matemática utilizada para calcular el siguiente estado de activación; dicha función calcula la nueva actividad de la unidad o neurona a partir de:

  • el anterior estado de activación de la unidad (aunque esta cantidad no siempre se tiene en cuenta);
  • todas las entradas que recibe dicha unidad de las otras unidades;
  • los pesos de las conexiones que la unidad en cuestión tiene con las unidades de las que recibe las entradas.

 

Si tenemos la unidad , su actividad en el tiempo t+1 dependerá de la función de activación (Fa) aplicada a:

  • el estado de activación de la neurona en el tiempo t;
  • todas las entradas Oj recibidas por la unidad desde las neuronas de la capa anterior en el tiempo t;
  • los pesos de conexión Wij correspondientes a las distintas sinapsis por los que cada señal j llega a la neurona en el tiempo t.

          De este modo, podemos representar la función de activación para el cálculo del nuevo estado de activación de la unidad i en el tiempo t+1 utilizando la siguiente notación:

 

ai(t+1) = Fa [ai(t), oj(t), wij]

 

Dado que la entrada total o NET correspondiente a dicha unidad es igual a la suma de todas las entradas ponderadas por sus correspondientes pesos, la anterior fórmula también se puede expresar del siguiente modo:

 

ai(t+1) = Fa [ai(t), NETi(t)]   

 

Como más arriba se ha indicado, la notación utilizada no es la misma en todos los autores, así en la fórmula algunos utilizan , otros Fa, y para referirse al tiempo algunos utilizan la notación t y t-1 y otros t+1 y t, pero son fórmulas equivalentes.

Como ocurría para los valores de activación de cada neurona, existen múltiples funciones de activación, y es el diseñador de la red quien debe establecer la que se ha de utilizar en función de las peculiaridades de la tarea para la que se diseña la red.

 

Volver a al índice

 

VII. 2. 4. b. Tipos de funciones de activación

Se trata de una función muy simple que no tiene en cuenta el anterior estado de activación de la unidad. Se puede expresar con la siguiente fórmula:

 

ai(t+1) = wij oj(t)

 

Según esta función de activación, el estado de activación que le corresponde a la unidad (i(t+1)) tras recibir las señales desde las unidades a las que está conectada es el resultado de sumar todas las señales recibidas (j), ponderadas cada una de ellas por el peso sináptico (ij) asociado a la sinapsis por la que se transmite la señal.

Podemos representar el conjunto de estímulos de entrada que le llegan a una unidad desde la capa anterior como un vector, y los pesos sinápticos correspondientes mediante una matriz; en esta circunstancia, el cálculo del nuevo estado de activación de todas las neuronas se obtiene simplemente mediante el producto de matrices.

 

En algunas redes se incluye en la función de activación un factor que representa una fracción del valor de activación anterior, por ejemplo:

 

ai(t+1) =  ½ ai(t) + wij oj(t)

 

Con esta variante conseguimos que la unidad o neurona mantenga cierto estado de activación durante varios ciclos, incluso en el caso de que las entradas sean cero, en esta última circunstancia en cada período de tiempo su estado de activación corresponderá a la mitad del valor de activación anterior. Con este tipo de funciones de activación se garantiza que cada neurona no varíe en su estado y en su respuesta demasiado bruscamente (recordamos que la respuesta de la red depende en gran medida de los estados de activación de las unidades que la componen).

 

Esta función es algo más complicada que la anterior y se utiliza con frecuencia en las redes conexionistas, en particular cuando cada unidad sólo puede tener dos estados: activada o desactivada (1 ó 0, respectivamente). Se suele representar la función tipo umbral del siguiente modo:

 

ai(t+1) 1 si wij oj(t) > umbral
0 si wij oj(t)  umbral

 

 

Estas fórmulas quieren indicar, simplemente, que la neurona se activará (tomará el valor 1) si y sólo si la suma ponderada de sus entradas supera cierto umbral, umbral que ha de ser decidido por el diseñador de la red.

 

Volver a al índice

 

 

VII.2.5. La salida de las unidades. La función de transferencia

 

VII.2.5.a. Concepto y fórmula general de la función de transferencia

Las unidades o neuronas transmiten señales a otras con las que están conectadas. La intensidad de estas señales y, por lo tanto, el grado en que influyen en las unidades con las que están conectadas está determinado por dos factores:

  • su grado de activación;
  • una función matemática que modula dicho estado de activación provocando la señal de salida, función que suele ser la misma para todas las unidades.

Por lo tanto, unidades con el mismo grado de activación pero distintas funciones de salida producirán distintas señales (i). A dicha función se le llama habitualmente función de transferencia, y puede representarse del siguiente modo:

oi(t+1) = fi[ai(t+1)]

 

El valor de salida o respuesta de la unidad (representado por i), en el tiempo t+1, será el resultado de aplicar la función de transferencia (i) a su estado de actividad (i) en el tiempo t+1.

Podemos utilizar la notación vectorial para representar el conjunto de todos los valores de salida en el tiempo t+1. Así, el vector (t+1) contendrá las salidas de todas las neuronas o unidades en el tiempo t+1:

 

O(t+1) = (f1[a1(t+1)], f2[a2(t+1)],…, fi[ai(t+1)],…, fn[an(t+1)])

 

 

VII.2.5.b. Tipos de función de salida o de transferencia

Existen varios tipos de funciones de transferencia. La función escalón o umbral únicamente se utiliza cuando las salidas de la red son binarias (dos posibles valores): la salida de una neurona se activa sólo cuando el estado de activación es mayor o igual que cierto valor umbral. Las funciones mixta y sigmoidal son las más apropiadas cuando queremos como salida información analógica.

Es la más sencilla y la de menos uso. Se llama función de identidad porque la salida correspondiente a la unidad es igual a su estado de activación. En realidad esta función equivale a no aplicar función de salida. La fórmula correspondiente a esta función es

 

fi[ai(t+1)] = ai(t+1)

 

y la salida correspondiente a dicha unidad se puede representar como

 

oi(t+1) = ai(t+1)

 

y, en representación gráfica:

image

 

La función de identidad es adecuada cuando la función de activación que hemos utilizado para calcular la activación de la unidad es de tipo umbral. En este caso la activación de la unidad será 1 si está activa y 0 si está inactiva, y la salida correspondiente será 1 en el primer caso y 0 en el segundo (o 1 y -1 si hemos preferido esta notación).

 

           O función escalón. Su uso es más frecuente que la función identidad. Con la función umbral la unidad envía señales de salida sólo cuando su activación es mayor o igual que cierto valor umbral. La respuesta de salida será binaria o discreta: sólo 1 ó 0 (o bien 1 y -1 si utilizamos esta otra notación), y dependerá de si el valor de activación (que en este caso es un valor continuo) supera cierto umbral.

 

oi(t+1) = 1 si ai(t+1) ≥  umbral

 

 0 si ai(t+1) < umbral

 

 

si el umbral es 0 tendríamos

 

 

 

         oi(t+1) =

 

  1 si ai(t+1)   0

 

0 si ai(t+1)  < 0

 

      

oi(t+1) =

 

 

1 si ai(t+1)  ≥ 0

 

-1 si ai(t+1)  < 0

 

 

y, en representación gráfica:

 

 

imageimage

Si en lugar de 0 el umbral fuese otro número, el escalón quedaría desplazado.

 

Con esta función,  si la activación es menor que un límite inferior, la salida es 0 (ó -1). Si la activación es mayor o igual que el límite superior, entonces la salida es 1. Si la activación está entre los límites, la salida es una función lineal de la activación

 

  0 si x < -C   -1 si x < – C
f(x) =   1 si x≥
x/ (2C) + ½ en otro caso
f(x) =   1 si x≥

a.x en otro caso

 

 

 

y, en representación gráfica

imageimage

 

 

C es el límite superior de la activación y -C el límite inferior

 

Son las funciones en las que los incrementos o disminuciones de la intensidad de la actividad de la unidad producen incrementos o disminuciones de los valores de salida hasta llegar a unos límites de salida máxima o mínima a partir de los cuales la salida se estabiliza y es la misma a pesar del incremento o disminución de la intensidad de actividad de la unidad. Dicho de otro modo: mediante las funciones de saturación conseguimos que el aumento de la actividad de la unidad por encima de un límite no se traduzca en un incremento de salida (y lo mismo para los valores mínimos). Las funciones de saturación establecen límites máximos y mínimos para las salidas (por ejemplo 1 y -1) y aunque la actividad de la unidad esté por encima de dichos límites, la salida es siempre el valor máximo.

 

Hay varias funciones de saturación, siendo la más utilizada la función sigmoide.

Es una de las funciones de transferencia más utilizadas. Produce salidas continuas y proporcionales al nivel de activación de la neurona dentro del rango [0,1]; sus niveles de saturación son 0 y 1, por lo que su salida máxima será 1 y la mínima 0. Cuando el nivel de activación supere al umbral de saturación máximo la salida seguirá siendo 1 y cuando el nivel de activación sea inferior al umbral de saturación mínimo la salida seguirá siendo 0.

Es similar a la anterior pero en este caso la saturación es 1 para el valor máximo y -1 para el mínimo.

imageimage

 

 

Atendiendo a los tipos de funciones que intervienen en el cómputo, las neuronas se pueden clasificar en neuronas lineales y neuronas no lineales.

Tienen funciones de activación y de transferencia lineales, por lo que la composición de ambas funciones da lugar a otra función lineal. En estas neuronas la salida i es linealmente dependiente (es decir, proporcional) de sus entradas j ponderadas cada una de ellas por el peso asociado a las sinapsis (ij) por las que le llega a la unidad las entradas señal. La respuesta de las neuronas lineales no está acotada y puede tomar cualquier valor.

Está demostrado que los cómputos que realizan redes con más de dos capas con unidades lineales se pueden realizar también con redes de dos  capas, con lo que se hace superfluo construir redes de más de dos capas si las funciones utilizadas son siempre lineales.

Las primeras redes que aparecieron eran de este tipo y presentaban por esta característica dos grandes problemas:

1. Falta de persistencia en las respuestas: todo cambio en las señales de entrada produce inevitablemente cambios en las salidas; ello puede dar lugar a que cambios realmente muy pequeños en las entradas provoquen fluctuaciones bastante grandes en la respuesta.

2.Falta de adecuación simultánea a señales grandes y pequeñas: si las funciones utilizadas amplifican mucho las señales de entrada, entonces señales de entrada de pequeña intensidad no se perderán sino que provocarán una respuesta de la neurona (señales de entrada moderada provocarán respuestas elevadísimas). En el caso de que dichas funciones amplifiquen poco las señales de entrada (si produce salidas moderadas ante valores medios), entonces las señales de entrada débiles producirán señales poco significativas.

En estas neuronas su respuesta no es una función lineal o proporcional de sus entradas pues o bien la función de activación o bien la de transferencia o bien ambas son funciones no lineales. Este es el caso cuando la unidad o neurona utiliza las funciones no lineales Umbral, Sigmoide o Hiperbólica Tangente.

Estas neuronas son más interesantes que las anteriores pues producen respuestas acotadas y con ello resuelven en gran medida los problemas anteriores; por ejemplo en el caso del uso de la función umbral, la neurona produce una salida discreta (0 o 1 por ejemplo) con lo que no se da el problema de la fluctuación de la respuesta. En el caso de neuronas con función sigmoide o hiperbólica tangente las repuestas sólo varíen significativamente ante los cambios de las entradas cuando el valor de la actividad de la neurona está a medio camino entre los dos niveles de saturación, mientras que cuando se alcanza los niveles de saturación pequeñas fluctuaciones en los datos de entrada no producen cambios en la respuesta; con ello se consigue el efecto de que la neurona no produce salidas con cambios significativos cuando las nuevas señales de entrada no son muy diferentes de los actuales.

Volver a al índice

 

VII.2.6. Reglas de aprendizaje

 

VII.2.6.a. Conceptos y modelos de aprendizaje 

En las redes neuronales se dice que la red aprende cuando es capaz de ofrecer ante un determinado patrón de entrada el correspondiente patrón de salida. Esta capacidad para emparejar adecuadamente los vectores de entrada y los vectores de salida lo consigue la red mediante la modificación de los patrones de interconexión. Las redes neuronales biológicas realizan estas modificaciones mediante, al menos, los siguientes procedimientos:

1. el desarrollo de nuevas conexiones;

2. la pérdida de las conexiones existentes;

3. la modificación de la fuerza de las conexiones que ya existen.

 

Los aspectos 1 y 2 han sido poco tratados en el marco de las redes neuronales conexionistas. De todos modos, pueden considerarse como un caso especial de 3, puesto que el cambio de la fuerza de conexión de cero a algún otro valor, sea positivo o negativo, tiene un efecto similar al hecho de desarrollarse una nueva conexión; y, a la inversa, siempre que se modifique la fuerza de conexión situándola en cero es como si se perdiese una conexión existente. En definitiva, el aprendizaje en las redes conexionistas consiste en la modificación de las intensidades de las conexiones; las reglas de aprendizaje no son otra cosa que las reglas o procedimientos para cambiar los pesos sinápticos o pesos de las conexiones.

En la vida de la red se suelen distinguir dos periodos o fases: durante la fase de aprendizaje se la entrena para que modifique sus pesos sinápticos hasta que su respuesta ante los patrones de entrada sea correcta. En la fase de funcionamiento real o fase de ejecución la red ya es operativa y sus pesos sinápticos no volverán a ser modificados; la red ya se puede utilizar en la tarea para la que ha sido diseñada.

Existen varios modelos de aprendizaje, siendo los principales el supervisado, el no supervisado y el reforzado.

  • aprendizaje supervisado en este modelo existe un agente externo (supervisor o maestro) que controla el proceso de aprendizaje de la red. La red debe relacionar dos fenómenos (X e Y) mediante la presentación de un conjunto de ejemplos (x1, y1), (x2, y2), …, (xn, yn). En la formulación anterior, «X» representa las entradas e «Y» las salidas requeridas Se llama “juego de ensayo” al conjunto formado por las parejas anteriores, “patrón de estímulos-respuesta deseada”. En algunos casos no hay ninguna duda en cuanto a los elementos que deben componer dicho juego de ensayo puesto que se conocen perfectamente todos los patrones que la red debe reconocer y sus salidas correspondientes (este ocurre, por ejemplo con el uso del Perceptrón para el cómputo de las funciones lógicas); pero en la mayoría de los casos esto no es así y es preciso tener mucho cuidado en la elección del juego de ensayo y tratar de incluir en él los patrones más representativos del problema o fenómeno que se intenta computar. El maestro presenta a la red una entrada x y la red produce una salida i. Normalmente esta salida no coincide con la salida requerida, por lo que el maestro debe calcular el error de salida, i = e(oi, yi) y proceder a la modificación de los pesos utilizando alguna regla de aprendizaje con la intención de aproximar la salida obtenida a la salida deseada. Tras esta modificación se presenta el siguiente patrón del juego de ensayo y se procede de la misma manera. Cuando se termina con el último patrón del juego de ensayo, se tiene que volver a empezar de nuevo pues los pesos se han modificado y es preciso comprobar que la red responde adecuadamente. A cada uno de los pasos completos del juego de ensayo se le llama ciclo; dependiendo de la complejidad del problema, serán precisos pocos o muchos ciclos para el aprendizaje. La fase de aprendizaje termina cuando los pesos se estabilizan o convergen en unos valores óptimos. En este caso la red consigue responder correctamente a todas las presentaciones de los patrones estimulares del juego de ensayo. Aunque el ideal de aprendizaje es el cien por cien de aciertos, se considera que concluye cuando se minimizan razonablemente los errores ante el conjunto de ejemplos presentados.
  • aprendizaje no supervisado en este tipo de aprendizaje no existe dicho agente externo que vaya modificando los pesos sinápticos en función de la corrección de la salida de la red; la red no compara su respuesta efectiva con la salida correcta puesto que no se le especifica cuál ha de ser dicha salida correcta. Con este aprendizaje se busca que la red se autoorganice y encuentre por sí misma características, regularidades, correlaciones o categorías en los datos de entrada. En el aprendizaje no supervisado es necesario presentar  un mayor número de patrones de entrada y utilizar reglas de aprendizaje distintas a las que nos sirven para el caso anterior; además las arquitecturas de las redes suelen ser distintas (por ejemplo muchas de ellas tienen dos capas), destacando  las redes de Kohonen y de Grossberg. El modelo que comentamos tiene mucha importancia para los sistemas biológicos pues es evidente que la cantidad de habilidades aprendidas con la ayuda de un “profesor” es muy inferior a la que se aprende “espontáneamente”.
  • aprendizaje reforzado: en cierto modo es una variante del aprendizaje supervisado pues también utiliza un supervisor que examina las salidas del sistema; sin embargo en el aprendizaje reforzado no se dispone de salidas deseadas precisas por lo que no es posible  computar el error para cada una de las unidades de salida; el supervisor valora el comportamiento global de la red mediante un criterio y en función de él modifica los pesos mediante un mecanismo de probabilidades. Para ilustrar la diferencia entre este tipo de aprendizaje y el supervisado se suele indicar que en el reforzado el supervisor se comporta  como un crítico (que opina sobre la respuesta de la red) y no como un maestro (que indica a la red la respuesta concreta que debe generar), mientras que en el supervisado el supervisor se comporta como un maestro. En el aprendizaje reforzado los algoritmos son más complejos que en el  supervisado y el tamaño de las muestras superior. Uno de los algoritmos más conocidos para este tipo de aprendizaje es el algoritmo asociativo con recompensa y penalización presentado en 1985 por Barto y Anandan

Volver a al índice

 

 

VII.2.6.b. Regla de Hebb (o regla del producto)

En La organización de la conducta, escrito en 1949, Hebb defiende la idea de que el aprendizaje y la memorización se basa en modificaciones de las conexiones existentes entre las neuronas y en la creación de conexiones nuevas; pero el cambio que le pareció más determinante para explicar el aprendizaje y la memoria es el relativo a la modificación del potencial con el que se transmiten las señales nerviosas entre las neuronas. Expresó esta modificación del modo siguiente (regla de Hebb): cuando dos neuronas tienden a estar activas o inactivas simultáneamente, la fuerza o intensidad de sus conexiones aumenta, y disminuye en caso contrario

Para dar cuenta de esta modificación supuso que el incremento de la conexión se debe a un aumento del área de unión sináptica. En la actualidad se considera que esta explicación biológica no es adecuada puesto que se cree más bien que la causa está en un incremento de la velocidad con que se libera el neurotransmisor en la célula presináptica. Sin embargo, no interesa su explicación biológica sino la formulación general antes citada, que como se observa no se expresa en términos matemáticos precisos; por esta razón, existen muchas interpretaciones matemáticas de la regla de Hebb.  Al aprendizaje que sigue este modelo se le llama aprendizaje tipo Hebb. Veamos algunas de dichas interpretaciones matemáticas:

wij =  ai(t) * aj(t)

wij = µ(ai–ai) * (aj–aj)

wij = µ ai(t) * aj(t)

wij = µ * ai(t) * oj(t)

 

ij : es el incremento que se ha de sumar o restar al peso sináptico

µ : es la tasa de aprendizaje

i(t) : es la activación de la neurona en el tiempo

i : media de los valores de activación de

j : es la activación de la neurona

j : media de los valores de activación de

j(t) : es la señal que emite la neurona en el tiempo

 

Se trata de una regla de aprendizaje no supervisado, pues no existe ninguna información externa que nos indique si los resultados de la red son erróneos, ni que nos ayude a decidir cómo y en qué grado modificar las conexiones.; la regla hace simplemente que las unidades vayan influyéndose unas a otras, y se autoconfiguran la permeabilidad sináptica de la red a partir de las reacciones a los estímulos recibidos.

 

Volver a al índice

 

VII.2.6.c. Regla de Windrow-Hoff o regla delta o regla del menor error cuadrático

La utilizaron por primera vez, en 1960, B. Widrow y M. Hoff para su red ADALINE. Se trata de una regla de aprendizaje supervisado (es preciso presentar a la red todos los casos de pares entrada-salida que se desea que la red aprenda, y que el maestro modifique los pesos de las conexiones para corregir los errores en las salidas). Se denomina “regla delta” porque en esencia el procedimiento consiste en modificar los pesos de las conexiones (por lo tanto, favorecer el aprendizaje de la red) a partir del cálculo de la diferencia (o delta) entre las salidas efectivas de la red y las salidas deseadas.

El maestro presenta a la red un vector o patrón de entrada. Si la red produce el vector de salida deseado no realiza ningún cambio en los pesos. Si existe discrepancia entre ambos vectores, los pesos se cambian para reducir la diferencia. Cuando existe diferencia entre las salidas efectivas y las deseadas la modificación afecta a todos los pesos de las neuronas que colaboran en el error, y se modifican en proporción a su influencia en el error. Se sigue el procedimiento citado minimizar el error y, en los mejores casos, convertirlo en cero. En la literatura sobre el tema existen varias formulaciones; presentamos dos de las más sencillas:

 

wij = µ [Ti(t+1) – ai(t+1)] oj(t)

 

 

ij : incremento o decremento del peso sináptico

µ : tasa de aprendizaje

i(t+1) : activación deseada en la neurona

i(t+1) : activación real de la neurona

j(t) : señal emitida por la neurona y enviada a la neurona

 

En esta primera fórmula intervienen los valores de los estados de activación (el que realmente tiene la unidad y el deseado), por lo que para averiguar si la salida final de la red es la correcta es preciso tener en cuenta la función de transferencia.

 

Otra formulación es la siguiente:

 

wij = µ [Ti(t+1) – oi(t+1)] aj(t)

 

 

ij : incremento o decremento del peso sináptico

µ : tasa de aprendizaje

i : es la señal deseada de la unidad (la unidad de salida)

i : es la señal producida por la unidad i (la unidad de salida)

j(t) : es la activación de la unidad (la unidad de entrada)

 

La expresión entre corchetes representa el error que se comete en el nivel de activación de la neurona. El nuevo peso sináptico ij se calcula sumando o restando el incremento obtenido con la fórmula general.

 

 

Volver a al índice

 

VII.2.6.d. Regla Delta Generalizada (o regla de propagación hacia atrás)

La regla delta no se puede utilizar en redes que tengan más de dos capas de unidades pues con él no es posible averiguar en cuánto colaboran las unidades de las capas intermedias en el error total. Dado que hay muchos problemas de clasificación que las redes de dos capas no pueden resolver y sí lo pueden hacer las redes multicapa, es necesario ampliar la regla delta para aplicarla a estas últimas. La regla delta generalizada es precisamente una modificación de la regla delta para su aplicación a redes multicapa Se suele atribuir su desarrollo a David E. Rumelhart, Geoffrey Hinton, Robert J. Williams (“Learning internal representations by error propagation” en Parallel Distributed Processing: Explorations in the Microstructure of Cognition, vol. 1, Foundations, ed. David E. Rumelhart y James L. McClelland, Cambridge: Mit Press, 1986).

Esta regla trabaja con el modelo de aprendizaje supervisado, su aplicación es válida sólo con redes alimentadas hacia adelante, y al igual que la regla delta, compara la respuesta emitida por la red con la respuesta deseada y reajusta los pesos sinápticos de todas las sinapsis de forma proporcional a la diferencia encontrada. Pero, y esta es la diferencia fundamental, con la regla delta generalizada el cálculo se hace capa a capa desde la capa de salida hacia la de entrada (de ahí que se llame retropropagación del error, o mejor, de la corrección del error). Dada la complejidad de la táctica empleada para la modificación de los pesos no se incluye en este informe su desarrollo matemático.

 

La regla delta de aprendizaje presenta también algunas dificultades características, por ejemplo, que se caiga en un mínimo local: en el proceso de minimización del error la red puede llegar a una situación en la que cualquier pequeño cambio en los pesos, positivo o negativo, incrementa el error;  en esta situación la regla no es capaz de determinar la dirección en la que se debe mover los pesos para que, con un incremento mayor, el error vuelva a decrecer.

image

 

La regla delta generalizada es una de las más utilizadas en las redes conexionistas multicapa alimentadas hacia adelante; desde un punto de vista histórico y metodológico supuso un impulso muy importante para el conexionismo pues consiguió superar las dificultades matemáticas descubiertas por Minsky y Papert y que tanto frenaron la investigación en redes neurales. Con este algoritmo de aprendizaje utilizado en redes multicapa es posible resolver el problema de la disyunción exclusiva y el de la distinción entre T y C (recordamos que estos problemas se utilizaron como ejemplo de las limitaciones del Perceptrón).

Volver a al índice

 

 

tes