SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Introducci´n a las Redes de Neuronas
             o
                Artificiales
                       Marcos Gestal Pose
    Depto. Tecnolog´ de la Informaci´n y las Comunicaciones
                   ıas                o
                     Universidade da Coru˜a
                                          n
                http://sabia.tic.udc.es/˜mgestal
                         mgestal@udc.es


´
Indice
1. Introducci´n
             o                                                                                         3

2. Fundamentos y Conceptos B´sicos
                            a                                                                          5

3. Funci´n de activaci´n
        o             o                                                                                6

4. Tipos de neuronas                                                                                   6
   4.1. Neuronas lineales . . . . . . . . . . . . . . . . . . . . . . . . . . .                        7
   4.2. Neuronas no lineales . . . . . . . . . . . . . . . . . . . . . . . . .                         7

5. Flujo de datos en las Redes de Neuronas Artificiales                                                 8
   5.1. Redes alimentadas hacia delante . . . . . . . . . . . . . . . . . .                            8
   5.2. Redes con Retroalimentaci´n total o parcial . . . . . . . . . . . .
                                 o                                                                     9

6. Informaci´n en las Redes de Neuronas Artificiales
            o                                                                                         9

7. Tipos de problemas                                                                                 11
   7.1. Fase de creaci´n y desarrollo . . . . . . . . . .
                      o                                       .   .   .   .   .   .   .   .   .   .   11
        7.1.1. Dise˜o de la arquitectura . . . . . . . .
                    n                                         .   .   .   .   .   .   .   .   .   .   11
        7.1.2. Fase de Entrenamiento . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   12
        7.1.3. Aprendizaje supervisado . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   12
        7.1.4. Aprendizaje no supervisado . . . . . .         .   .   .   .   .   .   .   .   .   .   13
        7.1.5. Problemas comunes en el entrenamiento          .   .   .   .   .   .   .   .   .   .   13
   7.2. Fase de validaci´n o test . . . . . . . . . . . . .
                        o                                     .   .   .   .   .   .   .   .   .   .   16

8. Redes recurrentes                                                         17
   8.1. Aprendizaje por ´pocas . . . . . . . . . . . . . . . . . . . . . . . 18
                        e
   8.2. Aprendizaje en modo continuo . . . . . . . . . . . . . . . . . . . 18

Referencias                                                                                           19




                                         1
Introducci´n a las Redes de Neuronas Artificiales
          o


´
Indice de figuras
   1.   Esquema b´sico del trabajo con RNA . . . . . . . .
                  a                                               .   .   .   .   .   .   .    3
   2.   Neurona Artificial . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .    6
   3.   Funci´n de Transferencia Lineal . . . . . . . . . . . .
             o                                                    .   .   .   .   .   .   .    7
   4.   Funci´n de Transferencia Umbral . . . . . . . . . . .
             o                                                    .   .   .   .   .   .   .    7
   5.   Funci´n de Transferencia Sigmoide . . . . . . . . . .
             o                                                    .   .   .   .   .   .   .    8
   6.   Funci´n de Transferencia Hiperb´lica-Tangente . . .
             o                           o                        .   .   .   .   .   .   .    8
   7.   RNA alimentada hacia delante . . . . . . . . . . . .      .   .   .   .   .   .   .    8
   8.   RNA con retroalimentaci´n . . . . . . . . . . . . . .
                                 o                                .   .   .   .   .   .   .    9
   9.   Evoluci´n del error durante la fase de entrenamiento
               o                                                  .   .   .   .   .   .   .   15




M. Gestal                                                                                     2
Introducci´n a las Redes de Neuronas Artificiales
          o




         El siguiente tutorial no pretende ser un documento exhaustivo acerca
     de las Redes de Neuronas Artificiales. M´s bien una referencia avanzada
                                               a
     que sirva para permita al lector conocer la terminolog´ los conceptos
                                                             ıa,
     claves y una bibliograf´ de base.
                             ıa


1.    Introducci´n
                o
    Desde la primera mitad del siglo XX se han empezado a desarrollar mod-
elos computacionales que han intentado emular el comportamiento del cerebro
humano [16]. Aunque se han propuesto una gran cantidad de ellos, todos usan
una estructura en red en la cual los nodos o neuronas son procesos num´ricos
                                                                          e
que involucran estados de otros nodos seg´n sus uniones. Una clase de estos
                                             u
modelos computacionales son las Redes de Neuronas Artificiales [10].
    Las Redes de Neuronas Artificiales (RNA) se han hecho muy populares de-
bido a la facilidad en su uso (ver Figura 1) e implementaci´n y la habilidad
                                                              o
para aproximar cualquier funci´n matem´tica. Las Redes de Neuronas Artifi-
                                  o        a
ciales, con su marcada habilidad para obtener resultados de datos complicados
e imprecisos, pueden utilizarse para extraer patrones y detectar tramas que son
muy dif´ ıciles de apreciar por humanos u otras t´cnicas computacionales.
                                                 e




               Figura 1: Esquema b´sico del trabajo con RNA
                                  a


    El primer modelo de neurona artificial fue propuesto por McCulloch y Pitts,
donde se modelizaba una estructura y un funcionamiento simplificado de las
neuronas del cerebro, consider´ndolas como dispositivos con n entradas, una
                                a
unica salida y s´lo dos estados posibles: activa o inactiva [16].
´               o
    Una red era, en ese planteamiento inicial, una colecci´n de neuronas de
                                                             o
McCulloch y Pitts, todas sincronizadas, donde las salidas de unas neuronas
estaban conectadas a las entradas de otras. Algunos de los planteamientos de
McCulloch y Pitts se han mantenido desde 1943 sin modificaciones, otros por el


M. Gestal                                                                       3
Introducci´n a las Redes de Neuronas Artificiales
          o


contrario han ido evolucionando, pero todas las formalizaciones matem´ticas que
                                                                         a
se han realizado desde entonces, sobre las Redes de Neuronas Artificiales, a´n   u
sin pretender ser una modelizaci´n exacta de las redes de neuronas biol´gicas,
                                   o                                        o
s´ han resultado un punto de partida util para el estudio de las mismas.
 ı                                      ´
    Una de las definiciones que se estima m´s certera de Red de Neuronas Ar-
                                               a
tificiales es la siguiente: “Las redes neuronales son conjuntos de elementos de
c´lculo simples, usualmente adaptativos, interconectados masivamente en par-
 a
alelo y con una organizaci´n jer´rquica que le permite interactuar con alg´n
                             o      a                                           u
sistema del mismo modo que lo hace el sistema nervioso biol´gico” [13].
                                                                o
    Su aprendizaje adaptativo, auto-organizaci´n, tolerancia a fallos, operaci´n
                                                  o                             o
en tiempo real y f´cil inserci´n dentro de la tecnolog´ existente, han hecho que
                    a          o                       ıa
su utilizaci´n se haya extendido en ´reas como la biol´gica, financiera, industrial,
            o                         a                o
medio ambiental, militar, salud, etc. [11]. Est´n funcionando en aplicaciones que
                                                a
incluyen identificaci´n de procesos [9], detecci´n de fallos en sistemas de control
                      o                          o
[1], modelaci´n de din´micas no lineales [17], control de sistemas no lineales
              o          a
[18][22] y optimizaci´n de procesos [19].
                      o
    En general, se puede encontrar que una Red de Neuronas Artificiales se suele
caracterizar por tres partes fundamentales: la topolog´ de la red, la regla de
                                                           ıa
aprendizaje y el tipo de entrenamiento.
    En este af´n de emular el cerebro, esto es simular tanto su estructura como su
              a
funcionamiento, se han desarrollado numerosos modelos de Redes de Neuronas
Artificiales [8], entre los que se pueden mencionar: Perceptron (1957), Adeline y
Madeline (1960), Avalancha (1967), Retropropagaci´n (1974), Hopfield y SOM
                                                       o
(1980), ART (1986), etc. De los modelos anteriores se puede apreciar que es-
ta idea tiene m´s de 40 a˜os, sin embargo, s´lo en las ultimas d´cadas se ha
                  a          n                    o           ´       e
desarrollado la tecnolog´ que permita su aplicaci´n de manera eficiente.
                          ıa                        o
    Cabe destacar, para concluir esta breve introducci´n, que las Redes de Neu-
                                                         o
ronas Artificiales, gracias al masivo paralelismo de su estructura, gozan de una
serie de ventajas:

      Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas
      en un entrenamiento o una experiencia inicial.
      Autoorganizaci´n. Una red neuronal puede crear su propia organizaci´n
                     o                                                      o
      o representaci´n de la informaci´n que recibe durante la etapa de apren-
                    o                 o
      dizaje.
      Tolerancia a fallos. Gracias a poseer la informaci´n distribu´ o v´ in-
                                                        o           ıda ıa
      formaci´n redundante la destrucci´n parcial de una red puede conducir a
              o                          o
      una degradaci´n de su estructura; sin embargo, algunas capacidades de la
                    o
      red se pueden retener, incluso sufriendo da˜os considerables.
                                                  n
      Capacidad de generalizaci´n. Ante la entrada de datos nuevos es capaz de
                                o
      producir resultados coherentes de acuerdo con la naturaleza del problema
      para el cual han sido entrenadas.
      Operaci´n en tiempo real . El c´mputo neuronal puede realizarse en par-
               o                     o
      alelo, bien v´ software o mediante m´quinas especiales para obtener esta
                   ıa                     a
      ventaja (hardware conexionista o masivamente paralelo).

  Pero los sistemas neuronales no est´n exentos de ciertos inconvenientes.
                                      a
Uno importante es que habitualmente realizan un complejo procesamiento que


M. Gestal                                                                        4
Introducci´n a las Redes de Neuronas Artificiales
          o


supone millones de operaciones, por lo que no es posible seguir paso a paso el
razonamiento que les ha llevado a extraer sus conclusiones. Sin embargo, en re-
des peque˜as, mediante simulaci´n o por el estudio de los pesos sin´pticos s´ es
          n                     o                                  a        ı
posible saber, al menos, qu´ variables de las introducidas han sido relevantes
                            e
para tomar la decisi´n.
                    o


2.     Fundamentos y Conceptos B´sicos
                                a
    Warren McCulloch y Walter Pitts pueden ser considerados como los padres
de las Redes de Neuronas Artificiales, ya que fueron los primeros en dise˜ar una
                                                                             n
neurona artificial. En los a˜os 40 supon´ que las neuronas biol´gicas eran de
                               n           ıan                       o
car´cter binario, lo cual resulta ser bastante inexacto, pero sirvi´ de base para
    a                                                                o
posteriores estudios sobre el sistema nervioso.
    As´ McCulloch y Pitts proponen el modelo de neurona que lleva su nombre,
       ı,
el cual es un dispositivo binario con un umbral fijo que hay que superar para
que cambie de estado. Recibe sinapsis excitadoras de otros elementos, los cuales
tienen la caracter´ıstica de ser del mismo valor. Puede recibir sinapsis inhibidoras
que son de acci´n total, lo cual supone que la recepci´n de una impide el cambio
                o                                        o
de estado del elemento, sin importar la cantidad de sinapsis excitadoras que
hubiese.
    La neurona artificial o elemento formal est´ conceptualmente inspirada en
                                                   a
la neurona biol´gica. Esto es, los investigadores est´n en su inmensa mayor´
                 o                                       a                         ıa
pensando en la organizaci´n cerebral cuando consideran configuraciones y algo-
                             o
ritmos de Redes de Neuronas.
    Se va a considerar una neurona como un elemento formal o m´dulo o unidad
                                                                    o
b´sica de la red que recibe informaci´n de otros m´dulos o del entorno; la integra,
  a                                    o             o
la computa y emite una unica salida que se va a transmitir id´ntica a m´ltiples
                           ´                                      e          u
neuronas posteriores [24].
    Consid´rese a los pesos sin´pticos como referencia a la noci´n biol´gica de
            e                     a                                 o       o
la fuerza de uni´n entre los elementos; es decir, a la fuerza de la sinapsis. Se
                  o
considera que una sinapsis es fuerte; es decir, tiene un alto grado de conexi´n, o
cuando la informaci´n que transmite contribuye, en gran medida, a un nuevo
                       o
estado o a la alteraci´n que se produzca en la neurona receptora y, por tanto,
                         o
en la respuesta que ´sta elabora.
                       e
    En una red de neuronas existe un peso o fuerza sin´ptica que va a ser un
                                                            a
valor num´rico que pondera las se˜ales que se reciben por sus entradas. Este
            e                         n
peso ser´ un valor que determina la fuerza de conexi´n entre 2 neuronas. Cuando
          a                                            o
se eval´a una neurona se debe calcular el conjunto de todas las fuerzas o valores
        u
(denominado NET) que se reciben por sus entradas. Una vez calculado el valor
conjunto de todas las entradas se aplica una funci´n de activaci´n (FA) que
                                                         o             o
determinar´ el valor del estado interno de la neurona y que ser´ lo que se
             a                                                          a
transmita a su salida.
    La combinaci´n de las se˜ales que recibe una neurona se puede calcular como
                   o            n
muestra en la ecuacion 1:
                                      N −1
                        N ETi (t) =          [Wij · Oj · (t − 1)]                (1)
                                      j=1




M. Gestal                                                                          5
Introducci´n a las Redes de Neuronas Artificiales
          o


   d´nde Wij representa el peso de la conexi´n entre una neurona emisora j y
    o                                       o
neurona receptora i.




                           Figura 2: Neurona Artificial


    La funci´n de activaci´n y la funci´n de transferencia son las encargadas de
            o             o            o
definir el nuevo estado de activaci´n Ai y la respuesta Oi de la neurona. Tanto
                                   o
el estado de activaci´n como la salida de la neurona van a variar en funci´n de
                     o                                                     o
las entradas que recibe en un determinado momento y del estado de activaci´n  o
previo que tenga esa neurona (ver figura 2).


3.     Funci´n de activaci´n
            o             o
    La funci´n de activaci´n de una neurona es la encargada de relacionar la
            o             o
informaci´n de entrada de la neurona con el siguiente estado de activaci´n que
          o                                                             o
tenga esa neurona.
    Existen dos modelos de funci´n de activaci´n:
                                o             o

      Modelos acotados: El valor de la activaci´n de la neurona puede ser cualquiera
                                               o
      dentro de un rango continuo de valores.

      Modelos No acotados: No existe ning´n l´
                                         u ımite para los valores de acti-
      vaci´n.
          o

    Cuando se dise˜a una red debe establecerse c´mo van a ser los valores de
                   n                              o
activaci´n de cada neurona y se debe decidir la funci´n de activaci´n (FA)
        o                                               o             o
con la que cada neurona procesar´ las entradas. Por lo tanto, tal y como se
                                    a
muestra en la ecuaci´n 2 la funci´n de activaci´n va a actuar sobre las se˜ales
                     o            o            o                          n
de entrada, sobre los pesos sin´pticos asociados con cada entrada y sobre el
                                a
valor de activaci´n que ten´ la neurona en el momento de recibir las se˜ales.
                 o         ıa                                           n

                      Ai (t) = F A(Ai (t − 1), N ET i (t − 1))                  (2)

                          FA = Funci´n de activaci´n.
                                    o             o


4.     Tipos de neuronas
    La linealidad de las funciones que definen a los elementos de la red es quiz´s lo
                                                                               a
que va a proporcionar la caracter´ ıstica m´s definitoria. As´ se pueden clasificar
                                           a                ı,
las neuronas en lineales y no lineales.



M. Gestal                                                                         6
Introducci´n a las Redes de Neuronas Artificiales
          o


4.1.    Neuronas lineales
   Una neurona es lineal cuando su salida es linealmente dependiente de sus
entradas, es decir, proporcional a las funciones de transferencia y de activaci´n
                                                                               o
(ver Figura 3.




                   Figura 3: Funci´n de Transferencia Lineal
                                  o


    Esto conlleva ciertos problemas como la falta de persistencia en las respues-
tas, de modo que cambios muy peque˜os en las entradas pueden producir fluc-
                                      n
tuaciones bastante grandes en las respuestas, o la falta de adecuaci´n simult´nea,
                                                                    o        a
pues es imposible que con neuronas lineales la respuesta de una neurona se
adapte tanto a se˜ales grandes como a peque˜as.
                  n                            n

4.2.    Neuronas no lineales
    En estas neuronas, o bien la funci´n de activaci´n, o bien la funci´n de
                                        o              o                    o
transferencia (o ambas) son funciones no lineales, dando lugar a que la respuesta
de la neurona no sea funci´n lineal de sus entradas.
                           o
    Este tipo de neuronas va a producir respuestas acotadas, desapareciendo los
problemas de fluctuaci´n y la falta de adecuaci´n a se˜ales peque˜as y grandes.
                       o                        o      n          n
    Como ejemplo de funciones no lineales se pueden destacar la funci´n um-
                                                                          o
bral (Figura 4), la funci´n sigmoide (Figura5) o la funci´n hiperb´lica tangente
                         o                               o         o
(Figura6).




                  Figura 4: Funci´n de Transferencia Umbral
                                 o




M. Gestal                                                                       7
Introducci´n a las Redes de Neuronas Artificiales
          o




                 Figura 5: Funci´n de Transferencia Sigmoide
                                o




            Figura 6: Funci´n de Transferencia Hiperb´lica-Tangente
                           o                         o



5.     Flujo de datos en las Redes de Neuronas Ar-
       tificiales
5.1.   Redes alimentadas hacia delante
    Las redes alimentadas hacia delante –generalmente conocidas como redes
feedforward– son aquellas en las que, como su nombre indica, la informaci´n se
                                                                         o
mueve en un unico sentido, desde la entrada hacia la salida (Figura 7). Estas
              ´
redes est´n cl´sicamente organizadas en “capas”. Cada capa agrupa a un con-
         a    a
junto de neuronas que reciben sinapsis de las neuronas de la capa anterior y
emiten salidas hacia las neuronas de la capa siguiente. Entre las neuronas de
una misma capa no hay sinapsis.




                   Figura 7: RNA alimentada hacia delante


    En este tipo de redes existe al menos una capa de entrada, formada por
las neuronas que reciben las se˜ales de entrada a la red y una capa de salida,
                               n


M. Gestal                                                                   8
Introducci´n a las Redes de Neuronas Artificiales
          o


formada por una o m´s neuronas que emiten la respuesta de la red al exterior.
                      a
Entre la capa de entrada y la de salida existen una o m´s capas intermedias.
                                                       a
   En redes as´ construidas es evidente que la informaci´n s´lo puede moverse
               ı                                        o o
en un sentido: desde la capa de entrada hasta la capa de salida, atravesando
todas y cada una de las capas intermedias una s´la vez.
                                                 o
   El hecho de que no haya conexi´n entre las neuronas de una misma capa
                                    o
hace que no haya tiempos de espera en los que las neuronas est´n interactuando
                                                              e
unas sobre otras hasta que toda la capa adquiera un estado estable. Se trata
por tanto de redes r´pidas en sus c´lculos.
                    a              a

5.2.    Redes con Retroalimentaci´n total o parcial
                                 o
    En este tipo de redes los elementos pueden enviar est´ımulos a neuronas de
capas anteriores, de su propia capa o a ellos mismos, por lo que desaparece el
concepto de agrupamiento de las neuronas en capas (Figura 8). Cada neurona
puede estar conectada a todas las dem´s; de este modo, cuando se recibe infor-
                                       a
maci´n de entrada a la red, cada neurona tendr´ que calcular y recalcular su
      o                                          a
estado varias veces, hasta que todas las neuronas de la red alcancen un estado
estable. Un estado estable es aquel en el que no ocurren cambios en la salida
de ninguna neurona. No habiendo cambios en las salidas, las entradas de todas
las neuronas ser´n tambi´n constantes, por lo que no tendr´n que modificar su
                a         e                                 a
estado de activaci´n ni su respuesta, manteni´ndose as´ un estado global estable
                  o                          e        ı
[21].




                     Figura 8: RNA con retroalimentaci´n
                                                      o


  Las redes retroalimentadas emulan m´s fielmente la estructura del cerebro
                                       a
humano, en donde los fen´menos de retroalimentaci´n son fundamentales.
                        o                        o


6.     Informaci´n en las Redes de Neuronas Arti-
                o
       ficiales
   En el cerebro todas las neuronas act´an del mismo modo. Una neurona
                                           u
concreta no puede distinguir caracter´
                                     ısticas como “rojo” o “fr´ Lo unico que
                                                              ıo”. ´
una neurona biol´gica distingue es el potencial de membrana, su estado de
                 o


M. Gestal                                                                     9
Introducci´n a las Redes de Neuronas Artificiales
          o


activaci´n y sus secuencias de activaci´n. Estos tres ultimos elementos pueden
         o                                o                  ´
ser expresados num´ricamente.
                        e
    La informaci´n de entrada en n´meros tiene que ser adecuada para las fun-
                   o                  u
ciones de activaci´n y transferencia de la red y se deben distribuir esas infor-
                     o
maciones Oj entre las neuronas de la capa de entrada de forma adecuada.
    Se observa, por tanto, que a la hora de dise˜ar una red neuronal es necesario
                                                    n
realizar un an´lisis tanto de la informaci´n de entrada que hay que suministrar-
                a                           o
le para presentarle el problema, como de la informaci´n de salida que la red
                                                               o
proporcionar´ como soluci´n a dicho problema.
              a               o
    Si los datos de entrada, es decir, la informaci´n del problema que se desea
                                                        o
que la red de neuronas resuelva, no se pueden representar mediante valores di-
cot´micos, se tendr´n que modificar las funciones de la red para hacerla as´ capaz
    o                 a                                                          ı
de trabajar con valores Oj con los que se puedan representar los datos.
    Si, por ejemplo, se trabaja con informaci´n incierta, en donde s´lo se pueda
                                                 o                           o
dar un valor de la probabilidad de que un determinado elemento pertenezca a un
conjunto, se necesitar´ que la funci´n sea continua para poder expresar valores
                          a           o
de probabilidad. De esta manera el rango de los Oj variar´ de 0 a 1.
                                                                  a
    Si los valores de Oj son continuos y los datos tambi´n, se tendr´ que volver
                                                               e             a
a normalizar los datos de entrada para hacerlos corresponder con el rango de
valores que los Oj pueden tomar. Es decir, es necesario reajustar la escala de los
datos para que se adapte a la escala de los Oj . As´ si por ejemplo un dato de
                                                          ı,
entrada es una longitud en metros (desde 0 a 1.000 m.) y los Oj se mueven desde
-1 a 1 se tendr´ que establecer una correspondencia en la que a la longitud de
                 a
0 m. le corresponda -1, a 1.000 m. le corresponda +1, a 500 m. le corresponda
0, etc.
    En cuanto al proceso de normalizaci´n se pueden realizar tres clases de
                                              o
transformaci´n de los datos: transformaci´n lineal, estandarizaci´n estad´
              o                                o                           o        ıstica
y funciones matem´ticas. La transformaci´n lineal es la t´cnica m´s empleada,
                       a                      o                  e          a
en este caso, se escalan los valores al rango [0, 1] o [-1, 1] de forma lineal. El
objetivo es asegurar que todas las variables (entradas de la RNA) reciben igual
atenci´n en el proceso de entrenamiento y son escaladas de acuerdo a los l´
       o                                                                           ımites
de las funciones de activaci´n utilizadas en las neuronas de la capa de salida de
                               o
la red.
    En la estandarizaci´n estad´
                           o     ıstica, el escalado involucra la resta de una cierta
medida, como por ejemplo la media aritm´tica, y dividir por un cierto valor,
                                                e
como por ejemplo la desviaci´n est´ndar. Cualquier escalado que establezca
                                 o      a
una tendencia central pr´xima a cero suele ser beneficioso en el proceso de
                             o
inicializaci´n de los pesos de la red.
            o
    La ultima transformaci´n se basa en funciones matem´ticas como por ejem-
        ´                     o                                  a
plo aplicar la funci´n logaritmo sobre los datos, con el objetivo de estabilizar la
                      o
variancia [7]. El aplicar el logaritmo o la ra´ cuadrada, se usa principalmente
                                                 ız
para aproximar los datos a distribuciones Gausianas con el objetivo de mini-
mizar el efecto de los valores extremos del rango. Se ha demostrado [4][23] que
transformar las entradas de la red para que sigan una distribuci´n uniforme  o
puede ayudar a un mejor proceso de conversi´n y transformaci´n en los val-
                                                     o                    o
ores de salida por la red de neuronas y, en consecuencia, un mejor proceso de
entrenamiento de la red. Una forma de conversi´n a una distribuci´n uniforme
                                                      o                      o
cuando los datos no siguen ninguna distribuci´n probabil´
                                                     o             ıstica conocida es la
ecualizaci´n del histograma [15].
           o



M. Gestal                                                                              10
Introducci´n a las Redes de Neuronas Artificiales
          o


7.       Tipos de problemas
    Una vez decidido c´mo representar la informaci´n, el siguiente paso es con-
                        o                            o
siderar qu´ tipo de problema va a resolver la red. La mayor´ de los problemas
            e                                                 ıa
se dividen en dos grandes grupos y, consecuentemente, existen dos grandes tipos
de redes de neuronas: redes de clasificaci´n y redes de evaluaci´n. Las redes del
                                          o                      o
primer tipo, asocian una determinada configuraci´n de entrada, o patr´n de en-
                                                   o                      o
trada, con una salida. Se denomina a estas redes, redes asociativas, clasificadoras
o reconocedoras de patrones [2][3]. El segundo tipo de redes, maneja problemas
en los que lo que se pide es un “juicio”, por lo que se denominan redes eval-
uadoras. Otro grupo de Redes de Neuronas Artificiales lo constituyen modelos
espec´ıficos para tareas especiales como: restauraci´n de patrones, predicci´n,
                                                     o                         o
etc. Funcionamiento
    El funcionamiento b´sico de las redes neuronales abarca dos grandes etapas.
                          a
La primera comprende todas las fases de creaci´n y desarrollo de la misma, y
                                                  o
posteriormente viene la fase de funcionamiento real o fase de ejecuci´n, durante
                                                                       o
la cual la RNA ya es operativa y, tanto su estructura interna como los valores de
los pesos de las conexiones no vuelven a ser modificados, a pesar de la existencia
de varios tipos de redes en los que esto ocurre. Durante esta fase se usa la RNA
como si se tratara de cualquier otro programa inform´tico convencional, y es
                                                         a
cuando se utiliza de forma efectiva para resolver los problemas para los que ha
sido dise˜ada.
          n

7.1.     Fase de creaci´n y desarrollo
                       o
  Esta etapa comprende todas las fases necesarias para el desarrollo de una
RNA, y comprende las siguientes etapas:

       Dise˜o de la arquitectura.
           n
       Entrenamiento de la red.
       Validaci´n de la red.
               o

     En los siguientes ep´
                         ıgrafes se detallan cada una de las referidas fases.

7.1.1.    Dise˜ o de la arquitectura
              n
    En la fase de dise˜o de la arquitectura, tambi´n denominada dise˜o de la
                       n                             e                    n
topolog´ se determina el n´mero de neuronas que tendr´ la red, as´ como su
         ıa,                 u                              a           ı
disposici´n en capas y la conectividad entre las mismas. A partir de un an´lisis
          o                                                                   a
de los datos del problema, se determinan cu´ntas entradas y salidas tiene la
                                                a
red, as´ como el n´mero de neuronas y c´mo estas est´n distribuidas en capas
       ı          u                       o              a
e interconectadas entre s´ Esta etapa es cr´
                          ı.                 ıtica, puesto que la topolog´ de la
                                                                           ıa
red determina la capacidad de representatividad de la misma, y, por lo tanto,
la cantidad de conocimiento que puede albergar. La topolog´ de la red debe
                                                                ıa
adecuarse al problema a resolver, y la no existencia de t´cnicas que realicen esta
                                                         e
funci´n hace que haya que recurrir a la experiencia y a la t´cnica de ensayo y
     o                                                        e
error, probando varias topolog´ distintas, para finalmente conseguir una que
                               ıas
se adapte de forma satisfactoria al problema.
    Esta etapa tambi´n alberga el determinar las funciones de activaci´n y trans-
                     e                                                 o
ferencia que se usar´n (habitualmente, las mismas para todas las neuronas).
                    a


M. Gestal                                                                       11
Introducci´n a las Redes de Neuronas Artificiales
          o


7.1.2.   Fase de Entrenamiento
    Norbert Wiener en su libro “Dios y el Golem” [25] proporciona tal vez una
de las definiciones m´s neutrales de aprendizaje de todas las conocidas. All´ defi-
                      a                                                      ı
ni´ un sistema que aprende como: “Un sistema organizado puede definirse como
  o
aquel que transforma un cierto mensaje de entrada en uno de salida, de acuerdo
con alg´n principio de transformaci´n. Si tal principio est´ sujeto a cierto cri-
        u                             o                      a
terio de validez de funcionamiento, y si el m´todo de transformaci´n se ajusta
                                                 e                      o
a fin de que tienda a mejorar el funcionamiento del sistema de acuerdo con ese
criterio, se dice que el sistema aprende”.
    Esta definici´n es v´lida para definir el aprendizaje bajo los dos puntos de
                  o       a
vista en que ´ste puede entenderse: el ontogen´tico, que es el aprendizaje de un
              e                                    e
individuo humano o no, y el filogen´tico, aprendizaje que afecta a la especie.
                                     e
    Uno de los principales objetivos de los sistemas aut´nomos es emular la habil-
                                                        o
idad que posee el hombre para interactuar con el ambiente y aprender de dichas
interacciones. Es as´ como necesitan de una estructura flexible, capaz de de-
                      ı
sempe˜arse en ambientes de operaci´n din´micos sujetos a diversas incertezas y
       n                              o      a
perturbaciones. Dentro de las aproximaciones existentes en la teor´ de Inteligen-
                                                                     ıa
cia Artificial, surgen las Redes de Neuronas Artificiales como elementos capaces
de proveer de dicha estructura flexible, mediante la integraci´n con diversos
                                                                   o
sistemas de aprendizaje. Tales sistemas est´n orientados hacia diferentes opera-
                                              a
ciones y pueden ser clasificados en dos tipos [5][14]: aprendizaje supervisado y
no supervisado, y dentro de este, aprendizaje auto-organizativo y aprendizaje
por reforzamiento[12].
    Una vez dise˜ada la arquitectura de la red (capas y n´mero de neuronas
                   n                                          u
por capa) y las funciones que la regir´n, se tiene que proceder a entrenar a
                                          a
la red para que aprenda el comportamiento que debe tener; es decir, para que
aprenda a dar la respuesta adecuada a la configuraci´n de est´
                                                       o         ımulos o patrones
de entrada que se le presenten [6][20].
    Una excepci´n a esta regla general la constituyen las redes de Hopfield,
                  o
que no son entrenadas sino construidas, de modo que tengan ya inicialmente el
comportamiento deseado. Por este motivo, se ha dicho que las redes de Hopfield
simulan el comportamiento instintivo mientras que las dem´s redes simulan el
                                                               a
comportamiento aprendido.
    En la vida de las redes con comportamiento aprendido se distinguen dos
periodos o fases claramente diferenciados. Durante la fase de aprendizaje se
entrena a la red para que vaya modificando sus pesos sin´pticos, adapt´ndolos
                                                           a               a
paulatinamente para que la respuesta de la red sea la correcta. Despu´s, viene
                                                                          e
la fase de funcionamiento real o fase de ejecuci´n, durante la cual la red ya es
                                                     o
operativa y sus pesos sin´pticos no volver´n a ser modificados. Durante esta
                             a                 a
fase se usa la red como si se tratara de cualquier otro programa inform´tico   a
convencional.

7.1.3.   Aprendizaje supervisado
   Con esta t´cnica de aprendizaje el entrenamiento consiste en presentarle a la
              e
red repetitivamente patrones de est´
                                   ımulos de entrada pertenecientes a un juego
de ensayo. El juego de ensayo est´ formado por parejas “patr´n de est´
                                 a                            o        ımulos -
respuesta correcta” y debe de ser elegido cuidadosamente. Cada pareja se de-
nomina hecho. En el juego de ensayo debe estar representada equilibradamente


M. Gestal                                                                      12
Introducci´n a las Redes de Neuronas Artificiales
          o


toda la informaci´n que la red necesite aprender.
                  o
    Al realizar el entrenamiento la respuesta que da la red a cada patr´n se
                                                                           o
compara con la respuesta correcta ante dicho patr´n y, en virtud de esa com-
                                                     o
paraci´n, se reajustan los pesos sin´pticos. El reajuste de los pesos sin´pticos
       o                              a                                  a
est´ orientado a que, ante el patr´n de entrada, la red se acerque cada vez m´s
   a                                o                                         a
a la respuesta correcta.
    Cuando ante un patr´n de entrada la red de neuronas ya responde correcta-
                          o
mente, se pasa al siguiente patr´n del juego de ensayo y se procede de la misma
                                  o
manera.
    Cuando se termina con el ultimo patr´n del juego de ensayo, se tiene que
                                 ´         o
volver a empezar con el primero, ya que los pesos se han seguido modificando.
    En casos sencillos, al cabo de unos pocos pasos de entrenamiento completos,
con todos los elementos del juego de ensayo, los pesos sin´pticos de todas las
                                                            a
neuronas se estabilizan en torno a unos valores ´ptimos. Se dice entonces que el
                                                o
algoritmo de aprendizaje converge. Es decir, despu´s de sucesivas presentaciones
                                                   e
de todos los patrones estimulares del juego de ensayo, la red, responder´ cor-
                                                                          a
rectamente a todos ellos y se puede considerar entrenada y dar por terminada
la fase de aprendizaje.

7.1.4.    Aprendizaje no supervisado
    En este tipo de aprendizaje, no se especifica a la red cu´l debe ser la respuesta
                                                            a
correcta; es decir, no hay una comparaci´n entre la respuesta de la red y la
                                            o
respuesta deseada. Adem´s, en este modelo de aprendizaje no existe ninguna
                           a
influencia externa a la red, puesto que no se le informa de si un resultado fue
correcto o no; tan s´lo se le suministran grandes cantidades de datos con los
                       o
que la red pueda construir sus propias asociaciones. Se necesita, por tanto, una
cantidad mucho mayor de patrones de entrada durante el entrenamiento para
que la red pueda ajustar correctamente sus pesos sin´pticos. Por supuesto, los
                                                         a
procedimientos de aprendizaje son diferentes a los utilizados con el modelo de
entrenamiento supervisado.
    En este tipo de aprendizaje, lo que de hecho se est´ haciendo es exigirle a la
                                                         a
red que capte por s´ misma alguna de las caracter´
                     ı                               ısticas presentes en los datos
de entrada.
    Evidentemente, muchos de los aprendizajes b´sicos que realizan los sis-
                                                       a
temas biol´gicos son de este tipo. Los reci´n nacidos (al igual que los ciegos
           o                                  e
de nacimiento que recuperan la visi´n en edad adulta) aprenden a organizar
                                       o
los datos visuales sin ayuda de profesor que les indique para cada patr´n de   o
est´
   ımulos de entrada, cual es la organizaci´n - interpretaci´n correcta de di-
                                              o                  o
chos est´
        ımulos; es decir, la respuesta del subsistema neurol´gico de visi´n que
                                                                o             o
servir´ a su vez de entrada a otros subsistemas.
      a
    De hecho, en el aprendizaje no supervisado se pretende que las neuronas se
auto-organicen aprendiendo a captar las regularidades de los datos de entra-
da sin suministrarles ning´n tipo de criterio o ayuda externa que dirija dicha
                            u
autoorganizaci´n.
               o

7.1.5.   Problemas comunes en el entrenamiento
   Uno de los problemas m´s comunes al entrenar una RNA es que la red no se
                           a
entrene con precisi´n suficiente; es decir, que tenga un alto porcentaje de fallos
                   o


M. Gestal                                                                        13
Introducci´n a las Redes de Neuronas Artificiales
          o


que no se reduzca por m´s veces que se le pase el juego de ensayo o que la red
                           a
tarde mucho tiempo en entrenarse. Cuando esto sucede, se deber´ analizar el
                                                                      a
dise˜o de la red y del juego de ensayo. El hecho de cambiar el n´mero de capas
     n                                                            u
ocultas aumentar´ o disminuir´ el tiempo de aprendizaje, pero probablemente
                   a             a
no afectar´ en gran medida a la precisi´n o proporci´n de respuestas acertadas
            a                            o            o
de la red. Si los resultados son pobres al presentarle una colecci´n de patrones
                                                                  o
de entrada, es preciso comprobar el juego de ensayo. Tal vez se haya olvidado
representar en el juego de ensayo alguno de los problemas tipo con los que la red
debe enfrentarse, o la informaci´n sea enga˜osa o contradictoria. Se tendr´ en
                                  o            n                             a
cuenta que, cuando se modifica el juego de ensayo a˜adiendo nuevos hechos o
                                                       n
corrigiendo alguno de los existentes, la red debe de ser entrenada de nuevo con
la totalidad de los hechos y no tan s´lo con los nuevos o con los corregidos.
                                        o
Una forma de determinar qu´ hechos est´n produciendo problemas consiste en
                               e           a
entrenar la red hasta que responda con un nivel de aciertos aproximadamente
del 90 %. Luego, al probar la red, se observan los hechos a los cuales la red
responde mal. A continuaci´n, se le deber´ proporcionar a la red una mayor
                              o               a
informaci´n similar a la de los hechos no aprendidos y se entrenar´ de nuevo.
           o                                                           a
Si se llega a la conclusi´n de que se le han dado suficientes hechos a la red; es
                         o
decir, que el juego de ensayo es completo y cubre todos los problemas a resolver
y ´sta sigue comport´ndose poco satisfactoriamente, habr´ que considerar la
   e                   a                                     a
posibilidad de cambiar el modo de presentar la informaci´n de entrada a la red.
                                                           o
Si se est´n utilizando entradas no distribuidas, se deber´ cambiar a distribuidas
         a                                               a
lo cual requerir´ una estructuraci´n completamente nueva de la red. Existen, por
                a                  o
supuesto, problemas tan complejos que una red de neuronas no puede resolver
en un tiempo y un espacio razonables. Si este es el caso, se podr´ montar una
                                                                    a
cadena de redes de neuronas de modo que las salidas de una red alimenten las
entradas de otras. Las primeras redes deber´n simplemente identificar los objetos
                                             a
y sus salidas se utilizar´n para alimentar a otra red que realice la evaluaci´n.
                         a                                                     o
El a˜adir m´s capas a una unica red no produce el mismo efecto. Otro de
     n        a                 ´
los problemas que pueden ocurrir, y de hecho es bastante com´n, es el del
                                                                     u
sobreentrenamiento. Este problema puede observarse al hacer un test de una
red que acaba de ser entrenada con un alto porcentaje de acierto en dicho
entrenamiento. Si el comportamiento que ofrece la red en el test no es todo lo
bueno que puede hacer suponer por los resultados obtenidos en el entrenamiento,
la red obtenida est´ sobreentrenada. Esto quiere decir que la red ha aprendido
                     a
los patrones existentes en el juego de ensayo, pero realmente no ha sido capaz
de abstraer y generalizar las relaciones entre los mismos, con lo que esta red no
es aplicable en el mundo real, en el que se le presentar´n entradas que no est´n
                                                        a                       a
presentes en el juego de ensayo. Este problema puede estar provocado por dos
motivos fundamentales:

     La topolog´ de la red tiene una complejidad muy alta. Es decir, que
                 ıa
     tiene un n´mero de capas y/o neuronas demasiado alto, con lo que tiene
                u
     un nivel de representatividad demasiado elevado para el problema que
     se est´ intentando resolver. No existe ning´n m´todo que determine la
           a                                      u    e
     arquitectura de una red adecuada al problema a resolver, sino que esta
     tarea se basa en la experiencia del experto que dise˜e la red.
                                                         n

     La red se ha entrenado durante demasiados ciclos.



M. Gestal                                                                     14
Introducci´n a las Redes de Neuronas Artificiales
          o


    Una situaci´n muy com´n es entrenar una RNA con un juego de ensayo
                o           u
que contiene ruido, puesto que en el mundo real en muchas ocasiones no se
puede eliminar totalmente el ruido de las mediciones que se realizan. Cualquier
algoritmo de aprendizaje m´quina –y las redes neuronales no son una excepci´n–
                           a                                                 o
que sea capaz de aprender y ofrecer una precisi´n del 100 % (o, en general, un
                                                 o
porcentaje superior a la precisi´n de los patrones sin el ruido) ha aprendido los
                                o
patrones de entrenamiento y el ruido de los mismos, sin llegar a discriminarlo,
es decir, ha perdido la capacidad de generalizaci´n.
                                                  o
    El proceso de entrenamiento tiende a minimizar el error que se consigue
en el conjunto de entrenamiento durante el mismo, (Figura 9.a). Sin embargo,
si durante el entrenamiento se realizan tests a la red con patrones que no se
presentan durante el entrenamiento, el error observado en estos tests no tiende
siempre a minimizarse, como puede verse en la Figura 9.b, sino que llega a un
punto en el que este empieza a crecer. Este es el punto en el que la red empieza
a sobreentrenarse y perder la capacidad de generalizaci´n, por eso se comporta
                                                         o
mal en los test.




        Figura 9: Evoluci´n del error durante la fase de entrenamiento
                         o


    Una soluci´n a este problema podr´ ser el realizar test durante el entre-
                o                          ıa
namiento, y detectar el punto en el que el error en el test comienza a crecer.
(valor 6 del eje de abscisas en la Figura 9.c) Esto no se puede realizar con el
conjunto de test, puesto que, de hacerlo as´ se est´ condicionando la red de al-
                                              ı,      a
guna forma a este conjunto de test, lo cual no es deseable, porque este conjunto
de test est´ pensado para ser presentado a una red final, no a una que todav´
            a                                                                   ıa
est´ en el proceso de entrenamiento, y con patrones que nunca haya visto.
   a
    Para solucionar esto, se cuenta con otro conjunto de patrones, denominado
conjunto de validaci´n, que tendr´ patrones distintos a los del entrenamiento y
                      o              a
test. Al ser evaluada la red durante el entrenamiento con este nuevo conjunto
de patrones, se ofrece una estimaci´n de c´mo se comportar´ la red cuando se
                                       o      o                a
realice el test, es decir, en su ejecuci´n real con patrones que no ha visto. Este
                                         o
conjunto de validaci´n tambi´n sirve para tomar decisiones acerca de qu´ red es
                      o         e                                         e
mejor tomar, entre varias redes distintas –posiblemente con topolog´ distintas–
                                                                     ıas
ya entrenadas.
    Sin embargo, este proceso no es tan sencillo. El error de validaci´n mostrado
                                                                      o
en la Figura 3.8.b es un error te´rico. En la pr´ctica se tiene uno similar al
                                     o               a
mostrado en la Figura 9.c, con lo que no resulta sencillo determinar cu´ndo  a
hay que parar el entrenamiento. Existen diversas t´cnicas que, utilizando el
                                                        e
conjunto de validaci´n, dictan cu´ndo es razonablemente aconsejable parar el
                       o             a
entrenamiento. Sin embargo, ninguna de ellas consigue determinar con exactitud
cu´ndo es el mejor momento.
  a



M. Gestal                                                                      15
Introducci´n a las Redes de Neuronas Artificiales
          o


7.2.    Fase de validaci´n o test
                        o
    Tras la fase de entrenamiento viene la fase de ejecuci´n, durante la que se le
                                                               o
pedir´ a la red que responda a est´
      a                               ımulos diferentes a los presentados durante la
fase de entrenamiento. Gracias a los ejemplos aprendidos del juego de ensayo,
la red deber´ ser capaz de generalizar y dar respuestas correctas ante patrones
              a
de est´ımulos nuevos.
    En otras palabras, una vez terminado el aprendizaje, una red puede gener-
alizar; es decir, ante entradas similares a las de su juego de ensayo, producir´ sal-
                                                                                 a
idas correctas. Hay que tener en cuenta que es muy dif´ conseguir la capacidad
                                                           ıcil
de generalizaci´n de una red sin utilizar grandes cantidades de datos y que estos
                 o
sean muy variados.
    Para operar con una red entrenada, el proceso es el mismo que cuando se
realizaba el entrenamiento. Por lo tanto, se le sigue suministrando informaci´n    o
de entrada a la red, s´lo que ahora no se realizar´ ning´n ajuste en los pesos
                          o                            a        u
sin´pticos. La red reconocer´ o evaluar´ y dar´ una respuesta a partir de los
   a                             a           a      a
pesos establecidos durante el entrenamiento.
    Para conseguir el mejor rendimiento de generalizaci´n, los datos usados para
                                                            o
el entrenamiento deben cubrir un rango de hechos suficientemente amplio. En
general, cuando aumenta el tama˜o y variedad del juego de ensayo disminuye
                                      n
la necesidad de que los datos de entrada durante la fase de trabajo normal
se parezcan mucho a los patrones del juego de ensayo; es decir, la red gener-
alizar´ mejor. Si los datos de un problema se diferencian demasiado de todos
      a
los patrones del juego de ensayo, la red tendr´ dificultades para encontrar la re-
                                                 a
spuesta correcta. Selecci´n del juego de ensayo En vista de la gran cantidad de
                            o
informaci´n que se le puede proporcionar a una red, se ha de buscar un criterio
           o
de selecci´n para crear el juego de ensayo. En el juego de ensayo debe de haber
           o
suficientes hechos, es decir, parejas “patrones de est´   ımulos - respuesta correcta”.
Adem´s, los hechos del juego de ensayo deber´n cubrir ampliamente la totali-
       a                                           a
dad de las caracter´  ısticas a los que la red debe de enfrentarse. El problema de
decidir cu´ntos hechos se han de incluir en el juego de ensayo es un problema de
           a
Teor´ de Muestras al que se est´ buscando soluci´n. Un problema muy similar
     ıa                             a                  o
se plantea al establecer, en base a casos de prueba, el grado de experiencia de
un experto.
    Por otra parte, a una red evaluadora es importante mostrarle tanto los pa-
trones de entrada que llevan a evaluaciones positivas, como los patrones de
entrada que llevan a evaluaciones negativas. Es decir, el entrenamiento de la
red debe incluir situaciones que se eval´en negativamente, pues de lo contrario
                                            u
la red simplemente aprender´ que todo est´ correcto siempre. Tambi´n se debe
                                a              a                           e
incluir en el juego de ensayo cada uno de los casos en los cuales el valor de una
entrada es causa de un mal resultado.
    Adem´s, no se puede incluir en el juego de ensayo una colecci´n exagerada-
           a                                                           o
mente grande de hechos. Es necesario seleccionar aquellos hechos que reflejen
claramente cada uno de los patrones a reconocer y las situaciones extremas de
evaluaci´n en una red evaluadora.
         o
    Lo ideal es preparar una colecci´n amplia de hechos de entrenamiento que
                                        o
cubran todos los problemas a los que se pueda tener que enfrentar la red. A con-
tinuaci´n, se seleccionar´n algunos de ellos para el juego de ensayo, procurando
        o                   a
que todos los problemas queden bien representados.



M. Gestal                                                                          16
Introducci´n a las Redes de Neuronas Artificiales
          o


8.     Redes recurrentes
    Cuando se trabaja con patrones din´micos; es decir, con patrones de secuen-
                                         a
cias en las que aparece el concepto tiempo, las RNA alimentadas s´lo hacia  o
adelante se encuentran bastante limitadas ya que no permiten conexiones que
unan neuronas creando bucles. En las redes recurrentes no se impone ninguna
restricci´n en su conectividad, con lo que se gana un n´mero mayor de pesos
          o                                                u
por neurona y por lo tanto una mayor representatividad, dado que las RNA
representan la informaci´n de forma distribuida en sus pesos. De esta forma,
                          o
la principal caracter´
                     ıstica de este tipo de redes es la de realimentar su salida a
su entrada, evolucionando hasta un estado de equilibrio donde proporciona la
salida final de la red (Demuth, Beale, 1994). Esta caracter´    ıstica las hace utiles
                                                                                  ´
cuando se quiere simular sistemas din´micos; sin embargo, su entrenamiento
                                         a
es m´s lento que el de una red alimentada s´lo hacia delante, y a la vez mu-
      a                                          o
cho m´s complejo. El primer algoritmo de entrenamiento de este tipo de redes
        a
aparece en 1987, cuando se adapta el algoritmo de retropropagaci´n del error
                                                                         o
de las RNA alimentadas s´lo hacia delante a las redes recurrentes aplicadas a
                            o
patrones est´ticos (“Recurrent Backpropagation”) y se pudieron aplicar estas
               a
redes a los mismos problemas a los que se aplicaban las multicapa alimentadas
hacia delante. Adem´s, otros investigadores se centran en desarrollar aproxi-
                      a
maciones del algoritmo de aprendizaje que lo hagan m´s pr´ctico surgiendo
                                                            a       a
el algoritmo llamado “Real-Time Recurrent Learning” o RTRL indicado para
tareas de tiempo real.
    A partir de entonces, las redes recurrentes se han venido aplicando en un
buen n´mero de tareas, desde reconocimiento del habla hasta la simulaci´n de
         u                                                                        o
aut´matas finitos. Sin embargo, la aplicaci´n de redes recurrentes presenta un
    o                                         o
mayor n´mero de problemas. En el caso de patrones est´ticos, una red recur-
           u                                                a
rente funciona present´ndole un patr´n, haciendo despu´s evolucionar la red
                        a               o                    e
hasta que sus salidas se estabilizan. Sin embargo, esto no est´ asegurado, pu-
                                                                   a
di´ndose dar comportamientos oscilatorios o ca´ticos y aunque existen estudios
  e                                                o
para establecer las condiciones para que esto no ocurra, se limitan a ciertas ar-
quitecturas muy concretas como las Hopfield. E1 caso de los patrones din´micos  a
es todav´ m´s complicado, ya que, si se sabe poco del comportamiento de una
           ıa a
red recurrente (por ejemplo la dificultad de estabilizarse), se sabe a´n menos
                                                                           u
de su comportamiento din´mico. El poco conocimiento es emp´
                            a                                      ırico y no existen
estudios formales ni de la red recurrente m´s simple: una neurona aislada con
                                               a
una conexi´n a s´ misma. Tampoco existen estudios te´ricos que avalen utilizar
             o    ı                                      o
un algoritmo basado en el descenso del gradiente para tareas de tratamiento
de patrones din´micos. Un problema sencillo, como es ense˜ar a oscilar a una
                 a                                              n
neurona aislada con realimentaci´n, da muchos problemas del tipo de m´
                                   o                                            ınimos
locales y hasta ahora no se conoce su justificaci´n te´rica. Adem´s, en redes
                                                     o   o               a
multicapa se conoce m´s o menos bien qu´ arquitectura hay que utilizar en la
                        a                    e
mayor´ de los problemas, gracias a conocimientos basados fundamentalmente
        ıa
en la experiencia. Sin embargo, por una parte, la variedad arquitect´nica en o
redes recurrentes es infinitamente superior, por lo que su dise˜o es m´s com-
                                                                    n         a
plicado y, por otra, la gran variedad de este tipo de patrones hace dif´ su      ıcil
categorizaci´n.
              o




M. Gestal                                                                          17
Introducci´n a las Redes de Neuronas Artificiales
          o


8.1.    Aprendizaje por ´pocas
                        e
    El aprendizaje en este tipo de redes se realiza por ´pocas. La red se hace
                                                          e
evolucionar durante un periodo de tiempo (´poca) en el que se le ha introducido
                                             e
una secuencia de ejemplo y ha debido dar la respuesta adecuada. Una vez llegado
al final de una ´poca se reinicializa la red para que el estado inicial no dependa
                e
del estado final de la ´poca anterior y se entra en una nueva ´poca. La variaci´n
                      e                                       e                o
de los pesos s´lo se realiza al acabar cada ´poca y, de la misma forma que en
              o                              e
las multicapa, se podr´ llevar a cabo por lotes (calcular todos los incrementos
                        a
de los patrones-´pocas) o de forma incremental (despu´s de cada patr´n-´poca),
                 e                                      e               o e
siendo ´sta ultima, la m´s utilizada en redes recurrentes.
        e   ´             a

8.2.    Aprendizaje en modo continuo
    Aparte de por ´pocas, existe el modo de operaci´n continuo, donde en ning´n
                   e                                 o                           u
momento se inicializa la red. Este tipo es el m´s apropiado para aplicaciones en
                                                a
tiempo real, donde no se sabe a priori la salida deseada. El aprendizaje suele
ser distinto ya que, en el caso de operaci´n por ´pocas, normalmente se pueden
                                           o       e
aplicar las secuencias un cierto n´mero de veces, mientras en el caso de la op-
                                   u
eraci´n continua, esto normalmente no se puede hacer. Adem´s, no est´ nada
      o                                                          a         a
claro el momento en que se deber´ actualizar los pesos de la red. La elecci´n de
                                  ıan                                        o
un modo u otro depender´ de los problemas a resolver, e incluso existen t´cni-
                            a                                                 e
cas que aprovechan las caracter´ ısticas de ambos modos. La principal diferencia
entre ellos radica en que, en el modo por ´pocas, la transici´n del estado final
                                             e                o
de una ´poca al estado inicial de la siguiente se produce externamente mientras
         e
que, en el continuo, esta transici´n la debe aprender a realizar la propia red,
                                   o
por lo que se le est´ exigiendo m´s. Otra cuesti´n problem´tica es la asignaci´n
                    a             a               o         a                    o
de la salida deseada. En ciertos problemas, como la predicci´n de una serie
                                                                  o
temporal o la simulaci´n de un aut´mata finito, la salida deseada se exige en
                         o            o
todo momento. Sin embargo, en otros problemas como los de reconocimiento,
no se puede establecer cu´l es la salida deseada en cada instante. Esto plantea
                            a
preguntas como: ¿Qu´ salida se exige a la red cuando se le introduce el patr´n?,
                       e                                                       o
¿en qu´ momento se exige la salida deseada?, ¿al acabar de introducir el patr´n
        e                                                                        o
o cu´nto tiempo despu´s?, ¿la salida ser´ puntual o continua?, etc. Las respues-
     a                   e                a
tas dependen siempre del problema a tratar; por ejemplo, podr´ emplearse una
                                                                 ıa
salida neutra 0 durante la entrada del patr´n si se emplea un intervalo [-1,1]. En
                                             o
el caso de las otras preguntas, se relacionan de forma que, si se ha escogido no
forzar un comportamiento de la salida mientras se est´ realizando la entrada,
                                                         a
no es conveniente utilizar una salida puntual ya que ser´ dif´ determinar si
                                                           a    ıcil
la salida en un determinado momento corresponde a un estado transitorio o
al reconocimiento de una secuencia. Otro problema que puede surgir est´ rela-
                                                                           a
cionado con la forma de la salida. Si la salida es de tipo escal´n donde debe
                                                                   o
pasar de un punto extremo a otro (por ejemplo, de -1 a 1, o de 0 a 1) en un paso
de tiempo, es bastante normal que la red no sea capaz de realizar una transici´n o
tan brusca. En este caso es necesario proponer una salida suavizada o bien dejar
un intervalo de transici´n entre los dos estados sin salida deseada.
                          o




M. Gestal                                                                      18
Introducci´n a las Redes de Neuronas Artificiales
          o


Referencias
 [1] C. Aldrich and J. S. J. van Deventer. Comparison of different artificial
     neural nets for the detection and location of gross errors in process systems.
     Industrial & Engineering Chemistry Research, 34(1):216–224, 1995.

 [2] C. M. Bishop. Neural Networks for Pattern Recognition. Oxford University
     Press, USA, 1995.

 [3] C. M. Bishop. Pattern recognition and machine learning. Springer, 2006.
     (Online service).

 [4] G. J. Bowden, G. C. Dandy, and H. R. Maier. Data transformation for
     neural network models in water resources applications. Journal of Hy-
     droinformatics, 5(4):245–258, 2003.

 [5] M. Brown and C. Harris. Neurofuzzy adaptive modelling and control. Pren-
     tice Hall, 1995.

 [6] Y. Chauvin and D. E. Rumelhart. Backpropagation: Theory, Architectures,
     and Applications. Lawrence Erlbaum Associates, 1995.
 [7] J. Faraway and C. Chatfield. Time series forecasting with neural networks:
     a comparative study using the air line data. Journal of the Royal Statistical
     Society: Series C: Applied Statistics, 47(2):231–250, 1998.

 [8] J. A. Freeman and D. M. Skapura. Neural Networks: Algorithms, Applica-
     tions, and Programming Techniques. Addison-Wesley, 1991.

 [9] R. Gonz´lez-Garc´ R. Rico Mart´
              a        ıa,             ınez, and I. G. Kevrekidis. Identification
     of distributed parameter systems: A neural net based approach. Computers
     and Chemical Engineering, 22:965–968, 1998.

[10] S. Haykin. Neural Networks: A Comprehensive Foundation. Prentice Hall,
     NJ, USA, 2008.

[11] J. R. Hilera and V. J. Martinez. Redes neuronales artificiales. Fundamen-
     tos, modelos y aplicaciones. Addison-Wesley Iberoamericana S.A, Madrid,
     1995.

[12] J. C. Hoskins and D. M. Himmelblau. Process control via artificial neural
     networks and reinforcement learning. Computers & chemical engineering,
     16(4):241–251, 1992.
[13] T. Kohonen. Self-organization and associative memory. Springer Verlag,
     New York, 1989.

[14] C. T. Lin and C. S. G. Lee. Neural fuzzy systems: a neuro-fuzzy synergism
     to intelligent systems. Prentice-Hall, Inc. Upper Saddle River, NJ, USA,
     1996.

[15] C. G. Looney. Pattern recognition using neural networks: theory and al-
     gorithms for engineers and scientists. Oxford University Press, Inc. New
     York, NY, USA, 1997.



M. Gestal                                                                       19
Introducci´n a las Redes de Neuronas Artificiales
          o


[16] W. S. McCulloch and W. Pitts. A logical calculus of the ideas immanent
     in nervous activity. Bulletin of Mathematical Biology, 5(4):115–133, 1943.

[17] K. Meert and M. Rijckaert. Intelligent modelling in the chemical process
     industry with neural networks: a case study. Computers and Chemical
     Engineering, 22:587–593, 1998.
[18] K. S. Narendra, M. J. Feiler, and Z. Tian. Control of complex systems
     using neural networks. Modeling and Control of Complex Systems, 2008.

[19] C. A. O. Nascimento, R. Giudici, and R. Guardani. Neural network based
     approach for optimization of industrial chemical processes. Computers and
     Chemical Engineering, 24(9-10):2303–2314, 2000.

[20] Alejandro Pazos. Redes de neuronas artificiales y algoritmos gen´ticos.
                                                                    e
     Servicio de Publicaciones Universidade da Coru˜a, 1996.
                                                   n

[21] B. A. Pearlmutter. Dynamic recurrent neural networks. Technical report,
     Technical Report CMU-CS. School of Computer Science, Carnegie Mellon
     University, 1990., 1990.

[22] I. Rivals and L. Personnaz. Nonlinear internal model control using neural
     networks: application to processes with delay and design issues. IEEE
     Transactions on Neural Networks, 11(1):80–90, 2000.

[23] J. J. Shi. Reducing prediction error by transforming input data for neural
     networks. Journal of Computing in Civil Engineering, 14:109, 2000.

[24] P. D. Wasserman. Neural computing: theory and practice. Van Nostrand
     Reinhold Co. New York, NY, USA, 1989.

[25] N. Wiener. God and Golem: a Comment on Certain Points where Cyber-
     netics Impinges on Religion. The MIT Press, 1964.




M. Gestal                                                                   20

Más contenido relacionado

Destacado (9)

Gestal
GestalGestal
Gestal
 
Grupo 5 Gestalt en el aprendizaje
Grupo 5 Gestalt en el aprendizajeGrupo 5 Gestalt en el aprendizaje
Grupo 5 Gestalt en el aprendizaje
 
Teoría de gestalt y teoría cognitiva
Teoría de gestalt y teoría cognitivaTeoría de gestalt y teoría cognitiva
Teoría de gestalt y teoría cognitiva
 
Teoría humanista del aprendizaje
Teoría humanista del aprendizajeTeoría humanista del aprendizaje
Teoría humanista del aprendizaje
 
Teorias Del Aprendizaje Cognitivo....
Teorias Del Aprendizaje Cognitivo....Teorias Del Aprendizaje Cognitivo....
Teorias Del Aprendizaje Cognitivo....
 
Teoria humanista
Teoria humanistaTeoria humanista
Teoria humanista
 
Instrumentos EvaluacióN
Instrumentos EvaluacióNInstrumentos EvaluacióN
Instrumentos EvaluacióN
 
El Enfoque Conductista Del Aprendizaje
El Enfoque Conductista Del AprendizajeEl Enfoque Conductista Del Aprendizaje
El Enfoque Conductista Del Aprendizaje
 
Enfoque conductista
Enfoque conductistaEnfoque conductista
Enfoque conductista
 

Similar a Tutorial rna

Mi proyecto de pre-tesis
Mi proyecto de pre-tesisMi proyecto de pre-tesis
Mi proyecto de pre-tesisErwin Salas
 
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...NuioKila
 
Caos y Wavelets
Caos y WaveletsCaos y Wavelets
Caos y Waveletsdarg0001
 
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencia
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potenciaCerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencia
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencialuis alberto rojas vicente
 
Funciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinFunciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinDiego Guamán
 
Redes Caos
Redes CaosRedes Caos
Redes Caosdarg0001
 
Introduccion comunicaciones
Introduccion comunicacionesIntroduccion comunicaciones
Introduccion comunicacioneshgm2007
 
redes neuronales y artificales.pdf
redes neuronales y artificales.pdfredes neuronales y artificales.pdf
redes neuronales y artificales.pdfWildrChoquegomez
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2c09271
 
Tutorial algoritmosgeneticos
Tutorial algoritmosgeneticosTutorial algoritmosgeneticos
Tutorial algoritmosgeneticosAlex Mescco
 
Tutorial algoritmosgeneticos
Tutorial algoritmosgeneticosTutorial algoritmosgeneticos
Tutorial algoritmosgeneticosELL Xavi
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2c09271
 
Redestelecomunicacion
RedestelecomunicacionRedestelecomunicacion
RedestelecomunicacionHALCON NEGRO
 

Similar a Tutorial rna (20)

Mi proyecto de pre-tesis
Mi proyecto de pre-tesisMi proyecto de pre-tesis
Mi proyecto de pre-tesis
 
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...
Nuevo enfoque de aprendizajesemi-supervisado para la identificaciónde secuenci...
 
EEG Mindroid
EEG MindroidEEG Mindroid
EEG Mindroid
 
Caos y Wavelets
Caos y WaveletsCaos y Wavelets
Caos y Wavelets
 
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencia
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potenciaCerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencia
Cerida sammy diseño_amplificador_señales_neuronales_ruido_consumo_potencia
 
Funciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinFunciones de activacion Poslin y Purelin
Funciones de activacion Poslin y Purelin
 
Redes Caos
Redes CaosRedes Caos
Redes Caos
 
Introduccion comunicaciones
Introduccion comunicacionesIntroduccion comunicaciones
Introduccion comunicaciones
 
TFM_MJVillanueva
TFM_MJVillanuevaTFM_MJVillanueva
TFM_MJVillanueva
 
Tfm ignacio-arriola
Tfm ignacio-arriolaTfm ignacio-arriola
Tfm ignacio-arriola
 
redes neuronales y artificales.pdf
redes neuronales y artificales.pdfredes neuronales y artificales.pdf
redes neuronales y artificales.pdf
 
Libro del-curso
Libro del-cursoLibro del-curso
Libro del-curso
 
MLP
MLP MLP
MLP
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2
 
Tutorial algoritmosgeneticos
Tutorial algoritmosgeneticosTutorial algoritmosgeneticos
Tutorial algoritmosgeneticos
 
Tutorial algoritmosgeneticos
Tutorial algoritmosgeneticosTutorial algoritmosgeneticos
Tutorial algoritmosgeneticos
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2
 
Presentacion 2 redes neuronales
Presentacion 2 redes neuronalesPresentacion 2 redes neuronales
Presentacion 2 redes neuronales
 
Redestelecomunicacion
RedestelecomunicacionRedestelecomunicacion
Redestelecomunicacion
 
Diseño Agil con TDD
Diseño Agil con TDDDiseño Agil con TDD
Diseño Agil con TDD
 

Más de Gabriel Jhonatan

Funciones básicas de la administración
Funciones básicas de la administraciónFunciones básicas de la administración
Funciones básicas de la administraciónGabriel Jhonatan
 
Laboratorio Control de procesos y automatizacion
Laboratorio Control de procesos y automatizacionLaboratorio Control de procesos y automatizacion
Laboratorio Control de procesos y automatizacionGabriel Jhonatan
 
Clase 8-intro-a-los-microcontroladores
Clase 8-intro-a-los-microcontroladoresClase 8-intro-a-los-microcontroladores
Clase 8-intro-a-los-microcontroladoresGabriel Jhonatan
 

Más de Gabriel Jhonatan (6)

Ambiente empresarial
Ambiente empresarialAmbiente empresarial
Ambiente empresarial
 
Funciones básicas de la administración
Funciones básicas de la administraciónFunciones básicas de la administración
Funciones básicas de la administración
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
Laboratorio Control de procesos y automatizacion
Laboratorio Control de procesos y automatizacionLaboratorio Control de procesos y automatizacion
Laboratorio Control de procesos y automatizacion
 
Emabrazo precoz
Emabrazo precozEmabrazo precoz
Emabrazo precoz
 
Clase 8-intro-a-los-microcontroladores
Clase 8-intro-a-los-microcontroladoresClase 8-intro-a-los-microcontroladores
Clase 8-intro-a-los-microcontroladores
 

Tutorial rna

  • 1. Introducci´n a las Redes de Neuronas o Artificiales Marcos Gestal Pose Depto. Tecnolog´ de la Informaci´n y las Comunicaciones ıas o Universidade da Coru˜a n http://sabia.tic.udc.es/˜mgestal mgestal@udc.es ´ Indice 1. Introducci´n o 3 2. Fundamentos y Conceptos B´sicos a 5 3. Funci´n de activaci´n o o 6 4. Tipos de neuronas 6 4.1. Neuronas lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Neuronas no lineales . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. Flujo de datos en las Redes de Neuronas Artificiales 8 5.1. Redes alimentadas hacia delante . . . . . . . . . . . . . . . . . . 8 5.2. Redes con Retroalimentaci´n total o parcial . . . . . . . . . . . . o 9 6. Informaci´n en las Redes de Neuronas Artificiales o 9 7. Tipos de problemas 11 7.1. Fase de creaci´n y desarrollo . . . . . . . . . . o . . . . . . . . . . 11 7.1.1. Dise˜o de la arquitectura . . . . . . . . n . . . . . . . . . . 11 7.1.2. Fase de Entrenamiento . . . . . . . . . . . . . . . . . . . . 12 7.1.3. Aprendizaje supervisado . . . . . . . . . . . . . . . . . . . 12 7.1.4. Aprendizaje no supervisado . . . . . . . . . . . . . . . . 13 7.1.5. Problemas comunes en el entrenamiento . . . . . . . . . . 13 7.2. Fase de validaci´n o test . . . . . . . . . . . . . o . . . . . . . . . . 16 8. Redes recurrentes 17 8.1. Aprendizaje por ´pocas . . . . . . . . . . . . . . . . . . . . . . . 18 e 8.2. Aprendizaje en modo continuo . . . . . . . . . . . . . . . . . . . 18 Referencias 19 1
  • 2. Introducci´n a las Redes de Neuronas Artificiales o ´ Indice de figuras 1. Esquema b´sico del trabajo con RNA . . . . . . . . a . . . . . . . 3 2. Neurona Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Funci´n de Transferencia Lineal . . . . . . . . . . . . o . . . . . . . 7 4. Funci´n de Transferencia Umbral . . . . . . . . . . . o . . . . . . . 7 5. Funci´n de Transferencia Sigmoide . . . . . . . . . . o . . . . . . . 8 6. Funci´n de Transferencia Hiperb´lica-Tangente . . . o o . . . . . . . 8 7. RNA alimentada hacia delante . . . . . . . . . . . . . . . . . . . 8 8. RNA con retroalimentaci´n . . . . . . . . . . . . . . o . . . . . . . 9 9. Evoluci´n del error durante la fase de entrenamiento o . . . . . . . 15 M. Gestal 2
  • 3. Introducci´n a las Redes de Neuronas Artificiales o El siguiente tutorial no pretende ser un documento exhaustivo acerca de las Redes de Neuronas Artificiales. M´s bien una referencia avanzada a que sirva para permita al lector conocer la terminolog´ los conceptos ıa, claves y una bibliograf´ de base. ıa 1. Introducci´n o Desde la primera mitad del siglo XX se han empezado a desarrollar mod- elos computacionales que han intentado emular el comportamiento del cerebro humano [16]. Aunque se han propuesto una gran cantidad de ellos, todos usan una estructura en red en la cual los nodos o neuronas son procesos num´ricos e que involucran estados de otros nodos seg´n sus uniones. Una clase de estos u modelos computacionales son las Redes de Neuronas Artificiales [10]. Las Redes de Neuronas Artificiales (RNA) se han hecho muy populares de- bido a la facilidad en su uso (ver Figura 1) e implementaci´n y la habilidad o para aproximar cualquier funci´n matem´tica. Las Redes de Neuronas Artifi- o a ciales, con su marcada habilidad para obtener resultados de datos complicados e imprecisos, pueden utilizarse para extraer patrones y detectar tramas que son muy dif´ ıciles de apreciar por humanos u otras t´cnicas computacionales. e Figura 1: Esquema b´sico del trabajo con RNA a El primer modelo de neurona artificial fue propuesto por McCulloch y Pitts, donde se modelizaba una estructura y un funcionamiento simplificado de las neuronas del cerebro, consider´ndolas como dispositivos con n entradas, una a unica salida y s´lo dos estados posibles: activa o inactiva [16]. ´ o Una red era, en ese planteamiento inicial, una colecci´n de neuronas de o McCulloch y Pitts, todas sincronizadas, donde las salidas de unas neuronas estaban conectadas a las entradas de otras. Algunos de los planteamientos de McCulloch y Pitts se han mantenido desde 1943 sin modificaciones, otros por el M. Gestal 3
  • 4. Introducci´n a las Redes de Neuronas Artificiales o contrario han ido evolucionando, pero todas las formalizaciones matem´ticas que a se han realizado desde entonces, sobre las Redes de Neuronas Artificiales, a´n u sin pretender ser una modelizaci´n exacta de las redes de neuronas biol´gicas, o o s´ han resultado un punto de partida util para el estudio de las mismas. ı ´ Una de las definiciones que se estima m´s certera de Red de Neuronas Ar- a tificiales es la siguiente: “Las redes neuronales son conjuntos de elementos de c´lculo simples, usualmente adaptativos, interconectados masivamente en par- a alelo y con una organizaci´n jer´rquica que le permite interactuar con alg´n o a u sistema del mismo modo que lo hace el sistema nervioso biol´gico” [13]. o Su aprendizaje adaptativo, auto-organizaci´n, tolerancia a fallos, operaci´n o o en tiempo real y f´cil inserci´n dentro de la tecnolog´ existente, han hecho que a o ıa su utilizaci´n se haya extendido en ´reas como la biol´gica, financiera, industrial, o a o medio ambiental, militar, salud, etc. [11]. Est´n funcionando en aplicaciones que a incluyen identificaci´n de procesos [9], detecci´n de fallos en sistemas de control o o [1], modelaci´n de din´micas no lineales [17], control de sistemas no lineales o a [18][22] y optimizaci´n de procesos [19]. o En general, se puede encontrar que una Red de Neuronas Artificiales se suele caracterizar por tres partes fundamentales: la topolog´ de la red, la regla de ıa aprendizaje y el tipo de entrenamiento. En este af´n de emular el cerebro, esto es simular tanto su estructura como su a funcionamiento, se han desarrollado numerosos modelos de Redes de Neuronas Artificiales [8], entre los que se pueden mencionar: Perceptron (1957), Adeline y Madeline (1960), Avalancha (1967), Retropropagaci´n (1974), Hopfield y SOM o (1980), ART (1986), etc. De los modelos anteriores se puede apreciar que es- ta idea tiene m´s de 40 a˜os, sin embargo, s´lo en las ultimas d´cadas se ha a n o ´ e desarrollado la tecnolog´ que permita su aplicaci´n de manera eficiente. ıa o Cabe destacar, para concluir esta breve introducci´n, que las Redes de Neu- o ronas Artificiales, gracias al masivo paralelismo de su estructura, gozan de una serie de ventajas: Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o una experiencia inicial. Autoorganizaci´n. Una red neuronal puede crear su propia organizaci´n o o o representaci´n de la informaci´n que recibe durante la etapa de apren- o o dizaje. Tolerancia a fallos. Gracias a poseer la informaci´n distribu´ o v´ in- o ıda ıa formaci´n redundante la destrucci´n parcial de una red puede conducir a o o una degradaci´n de su estructura; sin embargo, algunas capacidades de la o red se pueden retener, incluso sufriendo da˜os considerables. n Capacidad de generalizaci´n. Ante la entrada de datos nuevos es capaz de o producir resultados coherentes de acuerdo con la naturaleza del problema para el cual han sido entrenadas. Operaci´n en tiempo real . El c´mputo neuronal puede realizarse en par- o o alelo, bien v´ software o mediante m´quinas especiales para obtener esta ıa a ventaja (hardware conexionista o masivamente paralelo). Pero los sistemas neuronales no est´n exentos de ciertos inconvenientes. a Uno importante es que habitualmente realizan un complejo procesamiento que M. Gestal 4
  • 5. Introducci´n a las Redes de Neuronas Artificiales o supone millones de operaciones, por lo que no es posible seguir paso a paso el razonamiento que les ha llevado a extraer sus conclusiones. Sin embargo, en re- des peque˜as, mediante simulaci´n o por el estudio de los pesos sin´pticos s´ es n o a ı posible saber, al menos, qu´ variables de las introducidas han sido relevantes e para tomar la decisi´n. o 2. Fundamentos y Conceptos B´sicos a Warren McCulloch y Walter Pitts pueden ser considerados como los padres de las Redes de Neuronas Artificiales, ya que fueron los primeros en dise˜ar una n neurona artificial. En los a˜os 40 supon´ que las neuronas biol´gicas eran de n ıan o car´cter binario, lo cual resulta ser bastante inexacto, pero sirvi´ de base para a o posteriores estudios sobre el sistema nervioso. As´ McCulloch y Pitts proponen el modelo de neurona que lleva su nombre, ı, el cual es un dispositivo binario con un umbral fijo que hay que superar para que cambie de estado. Recibe sinapsis excitadoras de otros elementos, los cuales tienen la caracter´ıstica de ser del mismo valor. Puede recibir sinapsis inhibidoras que son de acci´n total, lo cual supone que la recepci´n de una impide el cambio o o de estado del elemento, sin importar la cantidad de sinapsis excitadoras que hubiese. La neurona artificial o elemento formal est´ conceptualmente inspirada en a la neurona biol´gica. Esto es, los investigadores est´n en su inmensa mayor´ o a ıa pensando en la organizaci´n cerebral cuando consideran configuraciones y algo- o ritmos de Redes de Neuronas. Se va a considerar una neurona como un elemento formal o m´dulo o unidad o b´sica de la red que recibe informaci´n de otros m´dulos o del entorno; la integra, a o o la computa y emite una unica salida que se va a transmitir id´ntica a m´ltiples ´ e u neuronas posteriores [24]. Consid´rese a los pesos sin´pticos como referencia a la noci´n biol´gica de e a o o la fuerza de uni´n entre los elementos; es decir, a la fuerza de la sinapsis. Se o considera que una sinapsis es fuerte; es decir, tiene un alto grado de conexi´n, o cuando la informaci´n que transmite contribuye, en gran medida, a un nuevo o estado o a la alteraci´n que se produzca en la neurona receptora y, por tanto, o en la respuesta que ´sta elabora. e En una red de neuronas existe un peso o fuerza sin´ptica que va a ser un a valor num´rico que pondera las se˜ales que se reciben por sus entradas. Este e n peso ser´ un valor que determina la fuerza de conexi´n entre 2 neuronas. Cuando a o se eval´a una neurona se debe calcular el conjunto de todas las fuerzas o valores u (denominado NET) que se reciben por sus entradas. Una vez calculado el valor conjunto de todas las entradas se aplica una funci´n de activaci´n (FA) que o o determinar´ el valor del estado interno de la neurona y que ser´ lo que se a a transmita a su salida. La combinaci´n de las se˜ales que recibe una neurona se puede calcular como o n muestra en la ecuacion 1: N −1 N ETi (t) = [Wij · Oj · (t − 1)] (1) j=1 M. Gestal 5
  • 6. Introducci´n a las Redes de Neuronas Artificiales o d´nde Wij representa el peso de la conexi´n entre una neurona emisora j y o o neurona receptora i. Figura 2: Neurona Artificial La funci´n de activaci´n y la funci´n de transferencia son las encargadas de o o o definir el nuevo estado de activaci´n Ai y la respuesta Oi de la neurona. Tanto o el estado de activaci´n como la salida de la neurona van a variar en funci´n de o o las entradas que recibe en un determinado momento y del estado de activaci´n o previo que tenga esa neurona (ver figura 2). 3. Funci´n de activaci´n o o La funci´n de activaci´n de una neurona es la encargada de relacionar la o o informaci´n de entrada de la neurona con el siguiente estado de activaci´n que o o tenga esa neurona. Existen dos modelos de funci´n de activaci´n: o o Modelos acotados: El valor de la activaci´n de la neurona puede ser cualquiera o dentro de un rango continuo de valores. Modelos No acotados: No existe ning´n l´ u ımite para los valores de acti- vaci´n. o Cuando se dise˜a una red debe establecerse c´mo van a ser los valores de n o activaci´n de cada neurona y se debe decidir la funci´n de activaci´n (FA) o o o con la que cada neurona procesar´ las entradas. Por lo tanto, tal y como se a muestra en la ecuaci´n 2 la funci´n de activaci´n va a actuar sobre las se˜ales o o o n de entrada, sobre los pesos sin´pticos asociados con cada entrada y sobre el a valor de activaci´n que ten´ la neurona en el momento de recibir las se˜ales. o ıa n Ai (t) = F A(Ai (t − 1), N ET i (t − 1)) (2) FA = Funci´n de activaci´n. o o 4. Tipos de neuronas La linealidad de las funciones que definen a los elementos de la red es quiz´s lo a que va a proporcionar la caracter´ ıstica m´s definitoria. As´ se pueden clasificar a ı, las neuronas en lineales y no lineales. M. Gestal 6
  • 7. Introducci´n a las Redes de Neuronas Artificiales o 4.1. Neuronas lineales Una neurona es lineal cuando su salida es linealmente dependiente de sus entradas, es decir, proporcional a las funciones de transferencia y de activaci´n o (ver Figura 3. Figura 3: Funci´n de Transferencia Lineal o Esto conlleva ciertos problemas como la falta de persistencia en las respues- tas, de modo que cambios muy peque˜os en las entradas pueden producir fluc- n tuaciones bastante grandes en las respuestas, o la falta de adecuaci´n simult´nea, o a pues es imposible que con neuronas lineales la respuesta de una neurona se adapte tanto a se˜ales grandes como a peque˜as. n n 4.2. Neuronas no lineales En estas neuronas, o bien la funci´n de activaci´n, o bien la funci´n de o o o transferencia (o ambas) son funciones no lineales, dando lugar a que la respuesta de la neurona no sea funci´n lineal de sus entradas. o Este tipo de neuronas va a producir respuestas acotadas, desapareciendo los problemas de fluctuaci´n y la falta de adecuaci´n a se˜ales peque˜as y grandes. o o n n Como ejemplo de funciones no lineales se pueden destacar la funci´n um- o bral (Figura 4), la funci´n sigmoide (Figura5) o la funci´n hiperb´lica tangente o o o (Figura6). Figura 4: Funci´n de Transferencia Umbral o M. Gestal 7
  • 8. Introducci´n a las Redes de Neuronas Artificiales o Figura 5: Funci´n de Transferencia Sigmoide o Figura 6: Funci´n de Transferencia Hiperb´lica-Tangente o o 5. Flujo de datos en las Redes de Neuronas Ar- tificiales 5.1. Redes alimentadas hacia delante Las redes alimentadas hacia delante –generalmente conocidas como redes feedforward– son aquellas en las que, como su nombre indica, la informaci´n se o mueve en un unico sentido, desde la entrada hacia la salida (Figura 7). Estas ´ redes est´n cl´sicamente organizadas en “capas”. Cada capa agrupa a un con- a a junto de neuronas que reciben sinapsis de las neuronas de la capa anterior y emiten salidas hacia las neuronas de la capa siguiente. Entre las neuronas de una misma capa no hay sinapsis. Figura 7: RNA alimentada hacia delante En este tipo de redes existe al menos una capa de entrada, formada por las neuronas que reciben las se˜ales de entrada a la red y una capa de salida, n M. Gestal 8
  • 9. Introducci´n a las Redes de Neuronas Artificiales o formada por una o m´s neuronas que emiten la respuesta de la red al exterior. a Entre la capa de entrada y la de salida existen una o m´s capas intermedias. a En redes as´ construidas es evidente que la informaci´n s´lo puede moverse ı o o en un sentido: desde la capa de entrada hasta la capa de salida, atravesando todas y cada una de las capas intermedias una s´la vez. o El hecho de que no haya conexi´n entre las neuronas de una misma capa o hace que no haya tiempos de espera en los que las neuronas est´n interactuando e unas sobre otras hasta que toda la capa adquiera un estado estable. Se trata por tanto de redes r´pidas en sus c´lculos. a a 5.2. Redes con Retroalimentaci´n total o parcial o En este tipo de redes los elementos pueden enviar est´ımulos a neuronas de capas anteriores, de su propia capa o a ellos mismos, por lo que desaparece el concepto de agrupamiento de las neuronas en capas (Figura 8). Cada neurona puede estar conectada a todas las dem´s; de este modo, cuando se recibe infor- a maci´n de entrada a la red, cada neurona tendr´ que calcular y recalcular su o a estado varias veces, hasta que todas las neuronas de la red alcancen un estado estable. Un estado estable es aquel en el que no ocurren cambios en la salida de ninguna neurona. No habiendo cambios en las salidas, las entradas de todas las neuronas ser´n tambi´n constantes, por lo que no tendr´n que modificar su a e a estado de activaci´n ni su respuesta, manteni´ndose as´ un estado global estable o e ı [21]. Figura 8: RNA con retroalimentaci´n o Las redes retroalimentadas emulan m´s fielmente la estructura del cerebro a humano, en donde los fen´menos de retroalimentaci´n son fundamentales. o o 6. Informaci´n en las Redes de Neuronas Arti- o ficiales En el cerebro todas las neuronas act´an del mismo modo. Una neurona u concreta no puede distinguir caracter´ ısticas como “rojo” o “fr´ Lo unico que ıo”. ´ una neurona biol´gica distingue es el potencial de membrana, su estado de o M. Gestal 9
  • 10. Introducci´n a las Redes de Neuronas Artificiales o activaci´n y sus secuencias de activaci´n. Estos tres ultimos elementos pueden o o ´ ser expresados num´ricamente. e La informaci´n de entrada en n´meros tiene que ser adecuada para las fun- o u ciones de activaci´n y transferencia de la red y se deben distribuir esas infor- o maciones Oj entre las neuronas de la capa de entrada de forma adecuada. Se observa, por tanto, que a la hora de dise˜ar una red neuronal es necesario n realizar un an´lisis tanto de la informaci´n de entrada que hay que suministrar- a o le para presentarle el problema, como de la informaci´n de salida que la red o proporcionar´ como soluci´n a dicho problema. a o Si los datos de entrada, es decir, la informaci´n del problema que se desea o que la red de neuronas resuelva, no se pueden representar mediante valores di- cot´micos, se tendr´n que modificar las funciones de la red para hacerla as´ capaz o a ı de trabajar con valores Oj con los que se puedan representar los datos. Si, por ejemplo, se trabaja con informaci´n incierta, en donde s´lo se pueda o o dar un valor de la probabilidad de que un determinado elemento pertenezca a un conjunto, se necesitar´ que la funci´n sea continua para poder expresar valores a o de probabilidad. De esta manera el rango de los Oj variar´ de 0 a 1. a Si los valores de Oj son continuos y los datos tambi´n, se tendr´ que volver e a a normalizar los datos de entrada para hacerlos corresponder con el rango de valores que los Oj pueden tomar. Es decir, es necesario reajustar la escala de los datos para que se adapte a la escala de los Oj . As´ si por ejemplo un dato de ı, entrada es una longitud en metros (desde 0 a 1.000 m.) y los Oj se mueven desde -1 a 1 se tendr´ que establecer una correspondencia en la que a la longitud de a 0 m. le corresponda -1, a 1.000 m. le corresponda +1, a 500 m. le corresponda 0, etc. En cuanto al proceso de normalizaci´n se pueden realizar tres clases de o transformaci´n de los datos: transformaci´n lineal, estandarizaci´n estad´ o o o ıstica y funciones matem´ticas. La transformaci´n lineal es la t´cnica m´s empleada, a o e a en este caso, se escalan los valores al rango [0, 1] o [-1, 1] de forma lineal. El objetivo es asegurar que todas las variables (entradas de la RNA) reciben igual atenci´n en el proceso de entrenamiento y son escaladas de acuerdo a los l´ o ımites de las funciones de activaci´n utilizadas en las neuronas de la capa de salida de o la red. En la estandarizaci´n estad´ o ıstica, el escalado involucra la resta de una cierta medida, como por ejemplo la media aritm´tica, y dividir por un cierto valor, e como por ejemplo la desviaci´n est´ndar. Cualquier escalado que establezca o a una tendencia central pr´xima a cero suele ser beneficioso en el proceso de o inicializaci´n de los pesos de la red. o La ultima transformaci´n se basa en funciones matem´ticas como por ejem- ´ o a plo aplicar la funci´n logaritmo sobre los datos, con el objetivo de estabilizar la o variancia [7]. El aplicar el logaritmo o la ra´ cuadrada, se usa principalmente ız para aproximar los datos a distribuciones Gausianas con el objetivo de mini- mizar el efecto de los valores extremos del rango. Se ha demostrado [4][23] que transformar las entradas de la red para que sigan una distribuci´n uniforme o puede ayudar a un mejor proceso de conversi´n y transformaci´n en los val- o o ores de salida por la red de neuronas y, en consecuencia, un mejor proceso de entrenamiento de la red. Una forma de conversi´n a una distribuci´n uniforme o o cuando los datos no siguen ninguna distribuci´n probabil´ o ıstica conocida es la ecualizaci´n del histograma [15]. o M. Gestal 10
  • 11. Introducci´n a las Redes de Neuronas Artificiales o 7. Tipos de problemas Una vez decidido c´mo representar la informaci´n, el siguiente paso es con- o o siderar qu´ tipo de problema va a resolver la red. La mayor´ de los problemas e ıa se dividen en dos grandes grupos y, consecuentemente, existen dos grandes tipos de redes de neuronas: redes de clasificaci´n y redes de evaluaci´n. Las redes del o o primer tipo, asocian una determinada configuraci´n de entrada, o patr´n de en- o o trada, con una salida. Se denomina a estas redes, redes asociativas, clasificadoras o reconocedoras de patrones [2][3]. El segundo tipo de redes, maneja problemas en los que lo que se pide es un “juicio”, por lo que se denominan redes eval- uadoras. Otro grupo de Redes de Neuronas Artificiales lo constituyen modelos espec´ıficos para tareas especiales como: restauraci´n de patrones, predicci´n, o o etc. Funcionamiento El funcionamiento b´sico de las redes neuronales abarca dos grandes etapas. a La primera comprende todas las fases de creaci´n y desarrollo de la misma, y o posteriormente viene la fase de funcionamiento real o fase de ejecuci´n, durante o la cual la RNA ya es operativa y, tanto su estructura interna como los valores de los pesos de las conexiones no vuelven a ser modificados, a pesar de la existencia de varios tipos de redes en los que esto ocurre. Durante esta fase se usa la RNA como si se tratara de cualquier otro programa inform´tico convencional, y es a cuando se utiliza de forma efectiva para resolver los problemas para los que ha sido dise˜ada. n 7.1. Fase de creaci´n y desarrollo o Esta etapa comprende todas las fases necesarias para el desarrollo de una RNA, y comprende las siguientes etapas: Dise˜o de la arquitectura. n Entrenamiento de la red. Validaci´n de la red. o En los siguientes ep´ ıgrafes se detallan cada una de las referidas fases. 7.1.1. Dise˜ o de la arquitectura n En la fase de dise˜o de la arquitectura, tambi´n denominada dise˜o de la n e n topolog´ se determina el n´mero de neuronas que tendr´ la red, as´ como su ıa, u a ı disposici´n en capas y la conectividad entre las mismas. A partir de un an´lisis o a de los datos del problema, se determinan cu´ntas entradas y salidas tiene la a red, as´ como el n´mero de neuronas y c´mo estas est´n distribuidas en capas ı u o a e interconectadas entre s´ Esta etapa es cr´ ı. ıtica, puesto que la topolog´ de la ıa red determina la capacidad de representatividad de la misma, y, por lo tanto, la cantidad de conocimiento que puede albergar. La topolog´ de la red debe ıa adecuarse al problema a resolver, y la no existencia de t´cnicas que realicen esta e funci´n hace que haya que recurrir a la experiencia y a la t´cnica de ensayo y o e error, probando varias topolog´ distintas, para finalmente conseguir una que ıas se adapte de forma satisfactoria al problema. Esta etapa tambi´n alberga el determinar las funciones de activaci´n y trans- e o ferencia que se usar´n (habitualmente, las mismas para todas las neuronas). a M. Gestal 11
  • 12. Introducci´n a las Redes de Neuronas Artificiales o 7.1.2. Fase de Entrenamiento Norbert Wiener en su libro “Dios y el Golem” [25] proporciona tal vez una de las definiciones m´s neutrales de aprendizaje de todas las conocidas. All´ defi- a ı ni´ un sistema que aprende como: “Un sistema organizado puede definirse como o aquel que transforma un cierto mensaje de entrada en uno de salida, de acuerdo con alg´n principio de transformaci´n. Si tal principio est´ sujeto a cierto cri- u o a terio de validez de funcionamiento, y si el m´todo de transformaci´n se ajusta e o a fin de que tienda a mejorar el funcionamiento del sistema de acuerdo con ese criterio, se dice que el sistema aprende”. Esta definici´n es v´lida para definir el aprendizaje bajo los dos puntos de o a vista en que ´ste puede entenderse: el ontogen´tico, que es el aprendizaje de un e e individuo humano o no, y el filogen´tico, aprendizaje que afecta a la especie. e Uno de los principales objetivos de los sistemas aut´nomos es emular la habil- o idad que posee el hombre para interactuar con el ambiente y aprender de dichas interacciones. Es as´ como necesitan de una estructura flexible, capaz de de- ı sempe˜arse en ambientes de operaci´n din´micos sujetos a diversas incertezas y n o a perturbaciones. Dentro de las aproximaciones existentes en la teor´ de Inteligen- ıa cia Artificial, surgen las Redes de Neuronas Artificiales como elementos capaces de proveer de dicha estructura flexible, mediante la integraci´n con diversos o sistemas de aprendizaje. Tales sistemas est´n orientados hacia diferentes opera- a ciones y pueden ser clasificados en dos tipos [5][14]: aprendizaje supervisado y no supervisado, y dentro de este, aprendizaje auto-organizativo y aprendizaje por reforzamiento[12]. Una vez dise˜ada la arquitectura de la red (capas y n´mero de neuronas n u por capa) y las funciones que la regir´n, se tiene que proceder a entrenar a a la red para que aprenda el comportamiento que debe tener; es decir, para que aprenda a dar la respuesta adecuada a la configuraci´n de est´ o ımulos o patrones de entrada que se le presenten [6][20]. Una excepci´n a esta regla general la constituyen las redes de Hopfield, o que no son entrenadas sino construidas, de modo que tengan ya inicialmente el comportamiento deseado. Por este motivo, se ha dicho que las redes de Hopfield simulan el comportamiento instintivo mientras que las dem´s redes simulan el a comportamiento aprendido. En la vida de las redes con comportamiento aprendido se distinguen dos periodos o fases claramente diferenciados. Durante la fase de aprendizaje se entrena a la red para que vaya modificando sus pesos sin´pticos, adapt´ndolos a a paulatinamente para que la respuesta de la red sea la correcta. Despu´s, viene e la fase de funcionamiento real o fase de ejecuci´n, durante la cual la red ya es o operativa y sus pesos sin´pticos no volver´n a ser modificados. Durante esta a a fase se usa la red como si se tratara de cualquier otro programa inform´tico a convencional. 7.1.3. Aprendizaje supervisado Con esta t´cnica de aprendizaje el entrenamiento consiste en presentarle a la e red repetitivamente patrones de est´ ımulos de entrada pertenecientes a un juego de ensayo. El juego de ensayo est´ formado por parejas “patr´n de est´ a o ımulos - respuesta correcta” y debe de ser elegido cuidadosamente. Cada pareja se de- nomina hecho. En el juego de ensayo debe estar representada equilibradamente M. Gestal 12
  • 13. Introducci´n a las Redes de Neuronas Artificiales o toda la informaci´n que la red necesite aprender. o Al realizar el entrenamiento la respuesta que da la red a cada patr´n se o compara con la respuesta correcta ante dicho patr´n y, en virtud de esa com- o paraci´n, se reajustan los pesos sin´pticos. El reajuste de los pesos sin´pticos o a a est´ orientado a que, ante el patr´n de entrada, la red se acerque cada vez m´s a o a a la respuesta correcta. Cuando ante un patr´n de entrada la red de neuronas ya responde correcta- o mente, se pasa al siguiente patr´n del juego de ensayo y se procede de la misma o manera. Cuando se termina con el ultimo patr´n del juego de ensayo, se tiene que ´ o volver a empezar con el primero, ya que los pesos se han seguido modificando. En casos sencillos, al cabo de unos pocos pasos de entrenamiento completos, con todos los elementos del juego de ensayo, los pesos sin´pticos de todas las a neuronas se estabilizan en torno a unos valores ´ptimos. Se dice entonces que el o algoritmo de aprendizaje converge. Es decir, despu´s de sucesivas presentaciones e de todos los patrones estimulares del juego de ensayo, la red, responder´ cor- a rectamente a todos ellos y se puede considerar entrenada y dar por terminada la fase de aprendizaje. 7.1.4. Aprendizaje no supervisado En este tipo de aprendizaje, no se especifica a la red cu´l debe ser la respuesta a correcta; es decir, no hay una comparaci´n entre la respuesta de la red y la o respuesta deseada. Adem´s, en este modelo de aprendizaje no existe ninguna a influencia externa a la red, puesto que no se le informa de si un resultado fue correcto o no; tan s´lo se le suministran grandes cantidades de datos con los o que la red pueda construir sus propias asociaciones. Se necesita, por tanto, una cantidad mucho mayor de patrones de entrada durante el entrenamiento para que la red pueda ajustar correctamente sus pesos sin´pticos. Por supuesto, los a procedimientos de aprendizaje son diferentes a los utilizados con el modelo de entrenamiento supervisado. En este tipo de aprendizaje, lo que de hecho se est´ haciendo es exigirle a la a red que capte por s´ misma alguna de las caracter´ ı ısticas presentes en los datos de entrada. Evidentemente, muchos de los aprendizajes b´sicos que realizan los sis- a temas biol´gicos son de este tipo. Los reci´n nacidos (al igual que los ciegos o e de nacimiento que recuperan la visi´n en edad adulta) aprenden a organizar o los datos visuales sin ayuda de profesor que les indique para cada patr´n de o est´ ımulos de entrada, cual es la organizaci´n - interpretaci´n correcta de di- o o chos est´ ımulos; es decir, la respuesta del subsistema neurol´gico de visi´n que o o servir´ a su vez de entrada a otros subsistemas. a De hecho, en el aprendizaje no supervisado se pretende que las neuronas se auto-organicen aprendiendo a captar las regularidades de los datos de entra- da sin suministrarles ning´n tipo de criterio o ayuda externa que dirija dicha u autoorganizaci´n. o 7.1.5. Problemas comunes en el entrenamiento Uno de los problemas m´s comunes al entrenar una RNA es que la red no se a entrene con precisi´n suficiente; es decir, que tenga un alto porcentaje de fallos o M. Gestal 13
  • 14. Introducci´n a las Redes de Neuronas Artificiales o que no se reduzca por m´s veces que se le pase el juego de ensayo o que la red a tarde mucho tiempo en entrenarse. Cuando esto sucede, se deber´ analizar el a dise˜o de la red y del juego de ensayo. El hecho de cambiar el n´mero de capas n u ocultas aumentar´ o disminuir´ el tiempo de aprendizaje, pero probablemente a a no afectar´ en gran medida a la precisi´n o proporci´n de respuestas acertadas a o o de la red. Si los resultados son pobres al presentarle una colecci´n de patrones o de entrada, es preciso comprobar el juego de ensayo. Tal vez se haya olvidado representar en el juego de ensayo alguno de los problemas tipo con los que la red debe enfrentarse, o la informaci´n sea enga˜osa o contradictoria. Se tendr´ en o n a cuenta que, cuando se modifica el juego de ensayo a˜adiendo nuevos hechos o n corrigiendo alguno de los existentes, la red debe de ser entrenada de nuevo con la totalidad de los hechos y no tan s´lo con los nuevos o con los corregidos. o Una forma de determinar qu´ hechos est´n produciendo problemas consiste en e a entrenar la red hasta que responda con un nivel de aciertos aproximadamente del 90 %. Luego, al probar la red, se observan los hechos a los cuales la red responde mal. A continuaci´n, se le deber´ proporcionar a la red una mayor o a informaci´n similar a la de los hechos no aprendidos y se entrenar´ de nuevo. o a Si se llega a la conclusi´n de que se le han dado suficientes hechos a la red; es o decir, que el juego de ensayo es completo y cubre todos los problemas a resolver y ´sta sigue comport´ndose poco satisfactoriamente, habr´ que considerar la e a a posibilidad de cambiar el modo de presentar la informaci´n de entrada a la red. o Si se est´n utilizando entradas no distribuidas, se deber´ cambiar a distribuidas a a lo cual requerir´ una estructuraci´n completamente nueva de la red. Existen, por a o supuesto, problemas tan complejos que una red de neuronas no puede resolver en un tiempo y un espacio razonables. Si este es el caso, se podr´ montar una a cadena de redes de neuronas de modo que las salidas de una red alimenten las entradas de otras. Las primeras redes deber´n simplemente identificar los objetos a y sus salidas se utilizar´n para alimentar a otra red que realice la evaluaci´n. a o El a˜adir m´s capas a una unica red no produce el mismo efecto. Otro de n a ´ los problemas que pueden ocurrir, y de hecho es bastante com´n, es el del u sobreentrenamiento. Este problema puede observarse al hacer un test de una red que acaba de ser entrenada con un alto porcentaje de acierto en dicho entrenamiento. Si el comportamiento que ofrece la red en el test no es todo lo bueno que puede hacer suponer por los resultados obtenidos en el entrenamiento, la red obtenida est´ sobreentrenada. Esto quiere decir que la red ha aprendido a los patrones existentes en el juego de ensayo, pero realmente no ha sido capaz de abstraer y generalizar las relaciones entre los mismos, con lo que esta red no es aplicable en el mundo real, en el que se le presentar´n entradas que no est´n a a presentes en el juego de ensayo. Este problema puede estar provocado por dos motivos fundamentales: La topolog´ de la red tiene una complejidad muy alta. Es decir, que ıa tiene un n´mero de capas y/o neuronas demasiado alto, con lo que tiene u un nivel de representatividad demasiado elevado para el problema que se est´ intentando resolver. No existe ning´n m´todo que determine la a u e arquitectura de una red adecuada al problema a resolver, sino que esta tarea se basa en la experiencia del experto que dise˜e la red. n La red se ha entrenado durante demasiados ciclos. M. Gestal 14
  • 15. Introducci´n a las Redes de Neuronas Artificiales o Una situaci´n muy com´n es entrenar una RNA con un juego de ensayo o u que contiene ruido, puesto que en el mundo real en muchas ocasiones no se puede eliminar totalmente el ruido de las mediciones que se realizan. Cualquier algoritmo de aprendizaje m´quina –y las redes neuronales no son una excepci´n– a o que sea capaz de aprender y ofrecer una precisi´n del 100 % (o, en general, un o porcentaje superior a la precisi´n de los patrones sin el ruido) ha aprendido los o patrones de entrenamiento y el ruido de los mismos, sin llegar a discriminarlo, es decir, ha perdido la capacidad de generalizaci´n. o El proceso de entrenamiento tiende a minimizar el error que se consigue en el conjunto de entrenamiento durante el mismo, (Figura 9.a). Sin embargo, si durante el entrenamiento se realizan tests a la red con patrones que no se presentan durante el entrenamiento, el error observado en estos tests no tiende siempre a minimizarse, como puede verse en la Figura 9.b, sino que llega a un punto en el que este empieza a crecer. Este es el punto en el que la red empieza a sobreentrenarse y perder la capacidad de generalizaci´n, por eso se comporta o mal en los test. Figura 9: Evoluci´n del error durante la fase de entrenamiento o Una soluci´n a este problema podr´ ser el realizar test durante el entre- o ıa namiento, y detectar el punto en el que el error en el test comienza a crecer. (valor 6 del eje de abscisas en la Figura 9.c) Esto no se puede realizar con el conjunto de test, puesto que, de hacerlo as´ se est´ condicionando la red de al- ı, a guna forma a este conjunto de test, lo cual no es deseable, porque este conjunto de test est´ pensado para ser presentado a una red final, no a una que todav´ a ıa est´ en el proceso de entrenamiento, y con patrones que nunca haya visto. a Para solucionar esto, se cuenta con otro conjunto de patrones, denominado conjunto de validaci´n, que tendr´ patrones distintos a los del entrenamiento y o a test. Al ser evaluada la red durante el entrenamiento con este nuevo conjunto de patrones, se ofrece una estimaci´n de c´mo se comportar´ la red cuando se o o a realice el test, es decir, en su ejecuci´n real con patrones que no ha visto. Este o conjunto de validaci´n tambi´n sirve para tomar decisiones acerca de qu´ red es o e e mejor tomar, entre varias redes distintas –posiblemente con topolog´ distintas– ıas ya entrenadas. Sin embargo, este proceso no es tan sencillo. El error de validaci´n mostrado o en la Figura 3.8.b es un error te´rico. En la pr´ctica se tiene uno similar al o a mostrado en la Figura 9.c, con lo que no resulta sencillo determinar cu´ndo a hay que parar el entrenamiento. Existen diversas t´cnicas que, utilizando el e conjunto de validaci´n, dictan cu´ndo es razonablemente aconsejable parar el o a entrenamiento. Sin embargo, ninguna de ellas consigue determinar con exactitud cu´ndo es el mejor momento. a M. Gestal 15
  • 16. Introducci´n a las Redes de Neuronas Artificiales o 7.2. Fase de validaci´n o test o Tras la fase de entrenamiento viene la fase de ejecuci´n, durante la que se le o pedir´ a la red que responda a est´ a ımulos diferentes a los presentados durante la fase de entrenamiento. Gracias a los ejemplos aprendidos del juego de ensayo, la red deber´ ser capaz de generalizar y dar respuestas correctas ante patrones a de est´ımulos nuevos. En otras palabras, una vez terminado el aprendizaje, una red puede gener- alizar; es decir, ante entradas similares a las de su juego de ensayo, producir´ sal- a idas correctas. Hay que tener en cuenta que es muy dif´ conseguir la capacidad ıcil de generalizaci´n de una red sin utilizar grandes cantidades de datos y que estos o sean muy variados. Para operar con una red entrenada, el proceso es el mismo que cuando se realizaba el entrenamiento. Por lo tanto, se le sigue suministrando informaci´n o de entrada a la red, s´lo que ahora no se realizar´ ning´n ajuste en los pesos o a u sin´pticos. La red reconocer´ o evaluar´ y dar´ una respuesta a partir de los a a a a pesos establecidos durante el entrenamiento. Para conseguir el mejor rendimiento de generalizaci´n, los datos usados para o el entrenamiento deben cubrir un rango de hechos suficientemente amplio. En general, cuando aumenta el tama˜o y variedad del juego de ensayo disminuye n la necesidad de que los datos de entrada durante la fase de trabajo normal se parezcan mucho a los patrones del juego de ensayo; es decir, la red gener- alizar´ mejor. Si los datos de un problema se diferencian demasiado de todos a los patrones del juego de ensayo, la red tendr´ dificultades para encontrar la re- a spuesta correcta. Selecci´n del juego de ensayo En vista de la gran cantidad de o informaci´n que se le puede proporcionar a una red, se ha de buscar un criterio o de selecci´n para crear el juego de ensayo. En el juego de ensayo debe de haber o suficientes hechos, es decir, parejas “patrones de est´ ımulos - respuesta correcta”. Adem´s, los hechos del juego de ensayo deber´n cubrir ampliamente la totali- a a dad de las caracter´ ısticas a los que la red debe de enfrentarse. El problema de decidir cu´ntos hechos se han de incluir en el juego de ensayo es un problema de a Teor´ de Muestras al que se est´ buscando soluci´n. Un problema muy similar ıa a o se plantea al establecer, en base a casos de prueba, el grado de experiencia de un experto. Por otra parte, a una red evaluadora es importante mostrarle tanto los pa- trones de entrada que llevan a evaluaciones positivas, como los patrones de entrada que llevan a evaluaciones negativas. Es decir, el entrenamiento de la red debe incluir situaciones que se eval´en negativamente, pues de lo contrario u la red simplemente aprender´ que todo est´ correcto siempre. Tambi´n se debe a a e incluir en el juego de ensayo cada uno de los casos en los cuales el valor de una entrada es causa de un mal resultado. Adem´s, no se puede incluir en el juego de ensayo una colecci´n exagerada- a o mente grande de hechos. Es necesario seleccionar aquellos hechos que reflejen claramente cada uno de los patrones a reconocer y las situaciones extremas de evaluaci´n en una red evaluadora. o Lo ideal es preparar una colecci´n amplia de hechos de entrenamiento que o cubran todos los problemas a los que se pueda tener que enfrentar la red. A con- tinuaci´n, se seleccionar´n algunos de ellos para el juego de ensayo, procurando o a que todos los problemas queden bien representados. M. Gestal 16
  • 17. Introducci´n a las Redes de Neuronas Artificiales o 8. Redes recurrentes Cuando se trabaja con patrones din´micos; es decir, con patrones de secuen- a cias en las que aparece el concepto tiempo, las RNA alimentadas s´lo hacia o adelante se encuentran bastante limitadas ya que no permiten conexiones que unan neuronas creando bucles. En las redes recurrentes no se impone ninguna restricci´n en su conectividad, con lo que se gana un n´mero mayor de pesos o u por neurona y por lo tanto una mayor representatividad, dado que las RNA representan la informaci´n de forma distribuida en sus pesos. De esta forma, o la principal caracter´ ıstica de este tipo de redes es la de realimentar su salida a su entrada, evolucionando hasta un estado de equilibrio donde proporciona la salida final de la red (Demuth, Beale, 1994). Esta caracter´ ıstica las hace utiles ´ cuando se quiere simular sistemas din´micos; sin embargo, su entrenamiento a es m´s lento que el de una red alimentada s´lo hacia delante, y a la vez mu- a o cho m´s complejo. El primer algoritmo de entrenamiento de este tipo de redes a aparece en 1987, cuando se adapta el algoritmo de retropropagaci´n del error o de las RNA alimentadas s´lo hacia delante a las redes recurrentes aplicadas a o patrones est´ticos (“Recurrent Backpropagation”) y se pudieron aplicar estas a redes a los mismos problemas a los que se aplicaban las multicapa alimentadas hacia delante. Adem´s, otros investigadores se centran en desarrollar aproxi- a maciones del algoritmo de aprendizaje que lo hagan m´s pr´ctico surgiendo a a el algoritmo llamado “Real-Time Recurrent Learning” o RTRL indicado para tareas de tiempo real. A partir de entonces, las redes recurrentes se han venido aplicando en un buen n´mero de tareas, desde reconocimiento del habla hasta la simulaci´n de u o aut´matas finitos. Sin embargo, la aplicaci´n de redes recurrentes presenta un o o mayor n´mero de problemas. En el caso de patrones est´ticos, una red recur- u a rente funciona present´ndole un patr´n, haciendo despu´s evolucionar la red a o e hasta que sus salidas se estabilizan. Sin embargo, esto no est´ asegurado, pu- a di´ndose dar comportamientos oscilatorios o ca´ticos y aunque existen estudios e o para establecer las condiciones para que esto no ocurra, se limitan a ciertas ar- quitecturas muy concretas como las Hopfield. E1 caso de los patrones din´micos a es todav´ m´s complicado, ya que, si se sabe poco del comportamiento de una ıa a red recurrente (por ejemplo la dificultad de estabilizarse), se sabe a´n menos u de su comportamiento din´mico. El poco conocimiento es emp´ a ırico y no existen estudios formales ni de la red recurrente m´s simple: una neurona aislada con a una conexi´n a s´ misma. Tampoco existen estudios te´ricos que avalen utilizar o ı o un algoritmo basado en el descenso del gradiente para tareas de tratamiento de patrones din´micos. Un problema sencillo, como es ense˜ar a oscilar a una a n neurona aislada con realimentaci´n, da muchos problemas del tipo de m´ o ınimos locales y hasta ahora no se conoce su justificaci´n te´rica. Adem´s, en redes o o a multicapa se conoce m´s o menos bien qu´ arquitectura hay que utilizar en la a e mayor´ de los problemas, gracias a conocimientos basados fundamentalmente ıa en la experiencia. Sin embargo, por una parte, la variedad arquitect´nica en o redes recurrentes es infinitamente superior, por lo que su dise˜o es m´s com- n a plicado y, por otra, la gran variedad de este tipo de patrones hace dif´ su ıcil categorizaci´n. o M. Gestal 17
  • 18. Introducci´n a las Redes de Neuronas Artificiales o 8.1. Aprendizaje por ´pocas e El aprendizaje en este tipo de redes se realiza por ´pocas. La red se hace e evolucionar durante un periodo de tiempo (´poca) en el que se le ha introducido e una secuencia de ejemplo y ha debido dar la respuesta adecuada. Una vez llegado al final de una ´poca se reinicializa la red para que el estado inicial no dependa e del estado final de la ´poca anterior y se entra en una nueva ´poca. La variaci´n e e o de los pesos s´lo se realiza al acabar cada ´poca y, de la misma forma que en o e las multicapa, se podr´ llevar a cabo por lotes (calcular todos los incrementos a de los patrones-´pocas) o de forma incremental (despu´s de cada patr´n-´poca), e e o e siendo ´sta ultima, la m´s utilizada en redes recurrentes. e ´ a 8.2. Aprendizaje en modo continuo Aparte de por ´pocas, existe el modo de operaci´n continuo, donde en ning´n e o u momento se inicializa la red. Este tipo es el m´s apropiado para aplicaciones en a tiempo real, donde no se sabe a priori la salida deseada. El aprendizaje suele ser distinto ya que, en el caso de operaci´n por ´pocas, normalmente se pueden o e aplicar las secuencias un cierto n´mero de veces, mientras en el caso de la op- u eraci´n continua, esto normalmente no se puede hacer. Adem´s, no est´ nada o a a claro el momento en que se deber´ actualizar los pesos de la red. La elecci´n de ıan o un modo u otro depender´ de los problemas a resolver, e incluso existen t´cni- a e cas que aprovechan las caracter´ ısticas de ambos modos. La principal diferencia entre ellos radica en que, en el modo por ´pocas, la transici´n del estado final e o de una ´poca al estado inicial de la siguiente se produce externamente mientras e que, en el continuo, esta transici´n la debe aprender a realizar la propia red, o por lo que se le est´ exigiendo m´s. Otra cuesti´n problem´tica es la asignaci´n a a o a o de la salida deseada. En ciertos problemas, como la predicci´n de una serie o temporal o la simulaci´n de un aut´mata finito, la salida deseada se exige en o o todo momento. Sin embargo, en otros problemas como los de reconocimiento, no se puede establecer cu´l es la salida deseada en cada instante. Esto plantea a preguntas como: ¿Qu´ salida se exige a la red cuando se le introduce el patr´n?, e o ¿en qu´ momento se exige la salida deseada?, ¿al acabar de introducir el patr´n e o o cu´nto tiempo despu´s?, ¿la salida ser´ puntual o continua?, etc. Las respues- a e a tas dependen siempre del problema a tratar; por ejemplo, podr´ emplearse una ıa salida neutra 0 durante la entrada del patr´n si se emplea un intervalo [-1,1]. En o el caso de las otras preguntas, se relacionan de forma que, si se ha escogido no forzar un comportamiento de la salida mientras se est´ realizando la entrada, a no es conveniente utilizar una salida puntual ya que ser´ dif´ determinar si a ıcil la salida en un determinado momento corresponde a un estado transitorio o al reconocimiento de una secuencia. Otro problema que puede surgir est´ rela- a cionado con la forma de la salida. Si la salida es de tipo escal´n donde debe o pasar de un punto extremo a otro (por ejemplo, de -1 a 1, o de 0 a 1) en un paso de tiempo, es bastante normal que la red no sea capaz de realizar una transici´n o tan brusca. En este caso es necesario proponer una salida suavizada o bien dejar un intervalo de transici´n entre los dos estados sin salida deseada. o M. Gestal 18
  • 19. Introducci´n a las Redes de Neuronas Artificiales o Referencias [1] C. Aldrich and J. S. J. van Deventer. Comparison of different artificial neural nets for the detection and location of gross errors in process systems. Industrial & Engineering Chemistry Research, 34(1):216–224, 1995. [2] C. M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, USA, 1995. [3] C. M. Bishop. Pattern recognition and machine learning. Springer, 2006. (Online service). [4] G. J. Bowden, G. C. Dandy, and H. R. Maier. Data transformation for neural network models in water resources applications. Journal of Hy- droinformatics, 5(4):245–258, 2003. [5] M. Brown and C. Harris. Neurofuzzy adaptive modelling and control. Pren- tice Hall, 1995. [6] Y. Chauvin and D. E. Rumelhart. Backpropagation: Theory, Architectures, and Applications. Lawrence Erlbaum Associates, 1995. [7] J. Faraway and C. Chatfield. Time series forecasting with neural networks: a comparative study using the air line data. Journal of the Royal Statistical Society: Series C: Applied Statistics, 47(2):231–250, 1998. [8] J. A. Freeman and D. M. Skapura. Neural Networks: Algorithms, Applica- tions, and Programming Techniques. Addison-Wesley, 1991. [9] R. Gonz´lez-Garc´ R. Rico Mart´ a ıa, ınez, and I. G. Kevrekidis. Identification of distributed parameter systems: A neural net based approach. Computers and Chemical Engineering, 22:965–968, 1998. [10] S. Haykin. Neural Networks: A Comprehensive Foundation. Prentice Hall, NJ, USA, 2008. [11] J. R. Hilera and V. J. Martinez. Redes neuronales artificiales. Fundamen- tos, modelos y aplicaciones. Addison-Wesley Iberoamericana S.A, Madrid, 1995. [12] J. C. Hoskins and D. M. Himmelblau. Process control via artificial neural networks and reinforcement learning. Computers & chemical engineering, 16(4):241–251, 1992. [13] T. Kohonen. Self-organization and associative memory. Springer Verlag, New York, 1989. [14] C. T. Lin and C. S. G. Lee. Neural fuzzy systems: a neuro-fuzzy synergism to intelligent systems. Prentice-Hall, Inc. Upper Saddle River, NJ, USA, 1996. [15] C. G. Looney. Pattern recognition using neural networks: theory and al- gorithms for engineers and scientists. Oxford University Press, Inc. New York, NY, USA, 1997. M. Gestal 19
  • 20. Introducci´n a las Redes de Neuronas Artificiales o [16] W. S. McCulloch and W. Pitts. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biology, 5(4):115–133, 1943. [17] K. Meert and M. Rijckaert. Intelligent modelling in the chemical process industry with neural networks: a case study. Computers and Chemical Engineering, 22:587–593, 1998. [18] K. S. Narendra, M. J. Feiler, and Z. Tian. Control of complex systems using neural networks. Modeling and Control of Complex Systems, 2008. [19] C. A. O. Nascimento, R. Giudici, and R. Guardani. Neural network based approach for optimization of industrial chemical processes. Computers and Chemical Engineering, 24(9-10):2303–2314, 2000. [20] Alejandro Pazos. Redes de neuronas artificiales y algoritmos gen´ticos. e Servicio de Publicaciones Universidade da Coru˜a, 1996. n [21] B. A. Pearlmutter. Dynamic recurrent neural networks. Technical report, Technical Report CMU-CS. School of Computer Science, Carnegie Mellon University, 1990., 1990. [22] I. Rivals and L. Personnaz. Nonlinear internal model control using neural networks: application to processes with delay and design issues. IEEE Transactions on Neural Networks, 11(1):80–90, 2000. [23] J. J. Shi. Reducing prediction error by transforming input data for neural networks. Journal of Computing in Civil Engineering, 14:109, 2000. [24] P. D. Wasserman. Neural computing: theory and practice. Van Nostrand Reinhold Co. New York, NY, USA, 1989. [25] N. Wiener. God and Golem: a Comment on Certain Points where Cyber- netics Impinges on Religion. The MIT Press, 1964. M. Gestal 20