Luz visible concentrada Luz visible dispersa
2.6. REDES DE NEURONAS ARTIFICIALES.
2.6.2. DEFINICIONES Y CONCEPTOS BÁSICOS.
Una red de neuronas artificiales es un sistema, el cual, tras un proceso de aprendizaje, servirá para la resolución de un problema específico. Consta de un conjunto de elementos de procesamiento en cantidad finita, denominados neuronas, interconectados entre si conformando una arquitectura. Las conexiones, llamadas sinapsis están caracterizadas por un peso sináptico que determina el grado de fortaleza o debilidad de éstas. Podemos clasificar las distintas redes neuronales en dos grandes grupos, en función de la distribución e interconexión de las neuronas que las forman: Redes alimentadas hacia delante o no recurrentes [WASS89], [RIOS91]. En este tipo de redes, las neuronas se encuentran distribuidas en niveles, también denominados capas. El primero de estos niveles o capa de entrada se encarga de recibir los datos de entrada o estímulos exteriores de la red. A su vez, el último nivel o capa de salida tiene la función de enviar sus respuestas al exterior, una vez procesados y propagados los datos de entrada. Entre estos dos niveles pueden existir, además, otros niveles intermedios o capas ocultas. Estas capas ocultas reciben señales de los niveles anteriores y, a su vez, envían señales a niveles posteriores. Es decir, la información avanza siempre en el mismo sentido, desde la entrada a la salida, no pudiendo existir conexiones entre neuronas de un mismo nivel.
C a p a de Entrada C a p a Oculta C a p a de Salida
Fig. 2.6.1 Red Neuronal Alimentada hacia delante.
Otro tipo de redes neuronales alimentadas hacia delante son las denominadas redes de neuronas generalizadas, en las cuales, se permite la interconexión de neuronas pertenecientes a capas no consecutivas [PRIN00]. A este tipo de conexiones se las suele denominar adelantamientos.
Las redes recurrentes [DORA99] se caracterizan por permitir la conexión entre dos neuronas cualesquiera de la red. Se permiten incluso conexiones de retroalimentación, es decir, conexiones que permiten que la salida de una neurona en el instante t, sea la entrada de dicha neurona en algún instante posterior. Este tipo de conexiones dota a la red de un comportamiento dinámico. La información llega a la capa de salida cuando se alcance algún criterio de convergencia. Un ejemplo de este tipo de redes es el mostrado en la Fig. 2.6.2.
C a p a d e Entrada C a p a Oculta C a p a d e Salida
Fig. 2.6.2Red Neuronal Recurrente.
Se estudian a continuación las redes de neuronas alimentadas hacia delante totalmente conectadas, en las que todas las neuronas de cualquier capa, excepto la de salida, están conectadas con todas las neuronas de la capa siguiente. Cada una de estas capas se identifica mediante un índice c = 0,1,2,...,C. El valor c = 0 se reserva para la capa de entrada y el valor c = C para la de salida. Cada capa está formada, a su vez, por nccélulas reales y
una célula umbral. La célula umbral es una neurona ficticia que carece de entradas y cuya salida se toma siempre igual a 1.
La salida proporcionada por la neurona i-ésima de la capa c-ésima cuando se presenta el patrón de entrada p se denota como Sip(c) ó Oip(c). S0p(c) representa la salida de la célula umbral. Dado que los patrones se presentan a la red en forma vectorial, la salida de las células de la capa c se puede representar como el vector Sp(c).
Se denota por wij(c) el peso correspondiente a la conexión entre la neurona
j-ésima de la capa c-1 y la i-ésima de la capa c, siendo 1≤c≤C, 1≤i≤nc y 1
0≤ j≤nc− . Para j = 0, wi0(c) representa el valor del umbral, también
denominado sesgo o desplazamiento, de la célula i-ésima de la capa c. Si ocurre que wij(c) = 0, se entiende que no existe conexión entre dichas neuronas. El conjunto de pesos sinápticos entre las neuronas de las capas c- 1 y c expresado en forma matricial, se representa por W(c), con c = 1,...,C.
La entrada neta de la neurona i-ésima de la capa c cuando se ha presentado el patrón p, denotada por netip(c), determina el estímulo total que llega a la célula i-ésima. Para i=0 no está definida porque las células umbral carecen de entradas. La entrada neta de la célula i se calcula como la suma de todas las salidas de las neuronas j conectadas con ella, ponderada por los pesos de dichas conexiones.
net
(c)
w
(c)·S
jp(c
1)
n 0 j ij ip 1 c−
=
∑
− =Tras recibir el estímulo total netip(c), la neurona adquiere cierto grado de activación aip(c) que determina el grado de excitación o inhibición de la
célula según la función denominada función de activación, y denotada por F:
aip(c) = F[netip(c)]
Aunque es posible la utilización de distintas funciones de activación para cada una de las neuronas que forman la red, en el caso general que se está exponiendo, se supone siempre la utilización de la misma función F en todas las neuronas. Asimismo, es posible emplear una función de salida que determine la salida final de la neurona Sip(c) a partir de su estado de activación. Sin embargo, es muy corriente utilizar como función de salida, la identidad, por lo que se cumple que:
Sip(c) = aip(c) = F[netip(c)]
La elección de la función de activación, es una cuestión íntimamente relacionada con el tipo de respuesta que es capaz de proporcionar cada neurona de la red. La utilización de ciertas funciones de activación ponen limitaciones a las tareas que pueden asignarse a la red. Concretamente, en el caso de funciones de activación lineales, la utilización de una red de neuronas con C capas de neuronas, es equivalente a utilizar una red con únicamente la capa de entrada y la de salida [LERM91].
Por lo tanto, puede decirse que no siempre se mejora la configuración de una red añadiendo niveles. Para que esto ocurra, la función de activación debe ser, al menos, no lineal. Por ello, y dado que, en general, las redes multicapa se muestran mejor capacitadas para resolver tareas más complicadas, se necesita recurrir a funciones de activación no lineales.
Una función de activación ampliamente utilizada actualmente, corresponde a la función sigmoide, la cual devuelve valores dentro del intervalo (0,1). Suponiendo x = netip(c), la función sigmoide se define como:
x - e 1 1 F(x) + =
Si se desea que las respuestas de las neuronas tomen valores dentro del intervalo (-1,1), se suele tomar como función de activación la tangente hiperbólica: x - x -x x e e e - e F(x) + =
Aunque existen otras funciones de activación, se suelen utilizar la sigmoide y la tangente hiperbólica. Los motivos son que, no sólo se consiguen resultados bastantes aceptables [DAI97], sino que además son funciones computacionalmente poco costosas en comparación con otras existentes. Esto es debido, principalmente a que su derivada es función de ellas mismas.
2.6.2.1. Arquitectura de las redes de neuronas artificiales.
Las RNA pueden clasificarse, atendiendo a su arquitectura en: Monocapa y Multicapa.
RNA Monocapa. Fueron las primeras utilizadas. Su problema principal era que con los elementos formales (neuronas) con que estaban construidas, no eran capaces de funcionar adecuadamente, entre otros, en problemas con solución “no lineal” [MINS69]. Actualmente se utilizan RNAs monocapa con unas neuronas y algoritmos de aprendizaje que les permiten abordar problemas complejos de clasificación (por ejemplo: las RNAs de Hopfield [HOPF82].
RNA Multicapa. Son RNAs que poseen más de una capa oculta (capa con neuronas que no reciben ni envían información al entorno). Estas RNAs multicapa suelen ser jerárquicas, la información se procesará y enviará de todas las neuronas de una capa, a las de la capa subsiguiente con las que están conectadas. Y así, sucesivamente desde la capa de entrada de la RNAs a la de salida, pasando por las diferentes capas ocultas.
2.6.2.2. Dinámica de las redes de neuronas artificiales.
La mayor parte de las RNAs tienen una comunicación sincrónica entre las diferentes capas de la misma; es decir, todas las neuronas de una capa disparan o procesan la información que les llega al mismo tiempo. Dentro de este sincronismo se pueden distinguir dos tipos principales de dinámica [HOPF82]: con alimentación hacia delante y con retroalimentación.
• Con alimentación hacia delante: las neuronas envían la información siempre, a las neuronas de las capas subsiguientes.
• Con retroalimentación: las neuronas pueden enviar información, además de a las neuronas de las capas subsiguientes, a las de su misma capa (incluso a sí mismas) o a neuronas de capas previas. Este hecho hace desaparecer el concepto de capas previamente expuesto.
2.6.3. ALGORITMOS DE ENTREMAMIENTO.