trabajo+redes+neuronales

Upload: shabedekam

Post on 31-May-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Trabajo+Redes+Neuronales

    1/37

    1.- Introduccin:

    1.1 Acerca de las redes neuronalesEl hombre se ha caracterizado siempre por su bsqueda constante de

    nuevas vas para mejorar sus condiciones de vida. Estos esfuerzos le han

    servido para reducir el trabajo en aquellas operaciones en las que la fuerzajuega un papel primordial. Los progresos obtenidos han permitido dirigir estosesfuerzos a otros campos, como por ejemplo, a la construccin de mquinascalculadoras que ayuden a resolver de forma automtica y rpida determinadasoperaciones que resultan tediosas cuando se realizan a mano. Uno de losprimeros en acometer esta empresa fue Charles Babbage, quien tratinfructuosamente de construir una mquina capaz de resolver problemasmatemticos. Posteriormente otros tantos intentaron construir mquinassimilares, pero no fue hasta la Segunda Guerra Mundial, cuando ya se disponade instrumentos electrnicos, que se empezaron a recoger los primeros frutos.En 1946 se construy la primera computadora electrnica, ENIAC. Desde

    entonces los desarrollos en este campo han tenido un auge espectacular. Estasmquinas permiten implementar fcilmente algoritmos para resolver multitud deproblemas que antes resultaban engorrosos de resolver. Sin embargo, seobserva una limitacin importante: qu ocurre cuando el problema que sequiere resolver no admite un tratamiento algortmico, como es el caso, porejemplo, de la clasificacin de objetos por rasgos comunes? Este ejemplodemuestra que la construccin de nuevas mquinas ms verstiles requiere unenfoque del problema desde otro punto de vista. Los desarrollos actuales delos cientficos se dirigen al estudio de las capacidades humanas como unafuente de nuevas ideas para el diseo de las nuevas mquinas. As, lainteligencia artificial es un intento por descubrir y describir aspectos de lainteligencia humana que pueden ser simulados mediante mquinas. Estadisciplina se ha desarrollado fuertemente en los ltimos aos teniendoaplicacin en algunos campos como visin artificial, demostracin de teoremas,procesamiento de informacin expresada mediante lenguajes humanos... etc.Las redes neuronales son ms que otra forma de emular ciertas caractersticaspropias de los humanos, como la capacidad de memorizar y de asociar hechos.Si se examinan con atencin aquellos problemas que no pueden expresarse atravs de un algoritmo, se observar que todos ellos tienen una caractersticaen comn: la experiencia. El hombre es capaz de resolver estas situacionesacudiendo a la experiencia acumulada. As, parece claro que una forma de

    aproximarse al problema consista en la construccin de sistemas que seancapaces de reproducir esta caracterstica humana. En definitiva, las redesneuronales no son ms que un modelo artificial y simplificado del cerebrohumano, que es el ejemplo ms perfecto del que disponemos para un sistemaque es capaz de adquirir conocimiento a travs de la experiencia. Una redneuronal es un nuevo sistema para el tratamiento de la informacin, cuyaunidad bsica de procesamiento est inspirada en la clula fundamental delsistema nervioso humano: la neurona.

    Todos los procesos del cuerpo humano se relacionan en alguna u otraforma con la (in)actividad de estas neuronas. Las mismas son un componenterelativamente simple del ser humano, pero cuando millares de ellas se

    conectan en forma conjunta se hacen muy poderosas.

    1

  • 8/14/2019 Trabajo+Redes+Neuronales

    2/37

    Lo que bsicamente ocurre en una neurona biolgica es lo siguiente: laneurona es estimulada o excitada a travs de sus entradas (inputs) y cuandose alcanza un cierto umbral, la neurona se dispara o activa, pasando una sealhacia el axon. Posteriores investigaciones condujeron al descubrimiento de queestos procesos son el resultado de eventos electroqumicos.

    Como ya se sabe, el pensamiento tiene lugar en el cerebro, que consta debillones de neuronas interconectadas. As, el secreto de la inteligencia sinimportar como se defina se sita dentro de estas neuronas interconectadas yde su interaccin. Tambin, es bien conocido que los humanos son capaces deaprender. Aprendizaje significa que aquellos problemas que inicialmente nopueden resolverse, pueden ser resueltos despus de obtener ms informacinacerca del problema. Por lo tanto, las Redes Neuronales...

    Consisten de unidades de procesamiento que intercambian datos oinformacin.

    Se utilizan para reconocer patrones, incluyendo imgenes, manuscritosy secuencias de tiempo (por ejemplo: tendencias financieras).

    Tienen capacidad de aprender y mejorar su funcionamiento.Una primera clasificacin de los modelos de redes neuronales podra ser,atendiendo a su similitud con la realidad biolgica:

    El modelo de tipo biolgico. Este comprende las redes que tratan

    de simularlos sistemas neuronales biolgicos, as como las funciones auditivas o algunasfunciones bsicas de la visin.

    El modelo dirigido a aplicacin. Este modelo no tiene por qu

    guardar similitud con los sistemas biolgicos. Su arquitectura estfuertemente ligada a las necesidades de las aplicaciones para la

    que es diseada.1.2 Funcionamiento de una neurona biolgica:El cerebro humano es un sistema muy complejo formado por muchas clulasllamadas neuronas; se estima que existen entre 10 elevado a 10 y 10 elevado a11 de clulas en el cerebro. Las redesUn esquema simplificado de una neurona se muestra en la siguiente figura.

    Fig. 1

    2

  • 8/14/2019 Trabajo+Redes+Neuronales

    3/37

    En el cuerpo celular se realizan la mayora de las funciones lgicas de laneurona. El axn es el canal de salida final de la neurona.Las dendritas reciben las seales de entrada de los axones de otras neuronasy se conectan al cuerpo celular por medio de las sinapsis.

    3

  • 8/14/2019 Trabajo+Redes+Neuronales

    4/37

    Fig. 2

    1.3 Funcionamiento de una Neurona Artificial1.3.1 Representacin Matemtica de una Neurona Artificial

    En la siguiente figura se observa la estructura de una neurona artificialcon mltiples entradas.

    Fig. 3

    En esta estructura, se tiene:

    Donde : iW son los pesos de la neurona (sinpsis)

    iX son las entradas a la neuronan es el nmero de entradas a la neurona

    Donde: yes la salida de la neurona (axn)fes la funcin de activacin, correspondiente, en

    general, a una funcin no lineal (cuerpo celular) es el sesgo

    4

    W

    W

    W

    W

    u f

    .

    .

    .

    Xn

    W

    X4

    X3

    X2

    X1

    i

    n

    i

    iXWu =

    =1

    ==

    =

    i

    n

    i

    iXWfufy1

    )(

  • 8/14/2019 Trabajo+Redes+Neuronales

    5/37

    2 Resea Histrica

    2.1 Historia de las redes neuronales.

    1936 - Alan Turing. Fue el primero en estudiar el cerebro como unaforma de ver el mundo de la computacin. Sin embargo, los primerostericos que concibieron los fundamentos de la computacin neuronalfueron Warren McCulloch, un neurofisilogo, y Walter Pitts, unmatemtico, quienes, en 1943, lanzaron una teora acerca de la formade trabajar de las neuronas (Un Clculo Lgico de la Inminente Idea dela Actividad Nerviosa - Boletn de Matemtica Biofsica 5: 115-133). Ellosmodelaron una red neuronal simple mediante circuitos elctricos.

    1949 - Donald Hebb. Fue el primero en explicar los procesos delaprendizaje (que es el elemento bsico de la inteligencia humana) desdeun punto de vista psicolgico, desarrollando una regla de como el

    aprendizaje ocurra. Aun hoy, este es el fundamento de la mayora de lasfunciones de aprendizaje que pueden hallarse en una red neuronal. Suidea fue que el aprendizaje ocurra cuando ciertos cambios en unaneurona eran activados. Tambin intent encontrar semejanzas entre elaprendizaje y la actividad nerviosa. Los trabajos de Hebb formaron lasbases de la Teora de las Redes Neuronales.

    1950 - Karl Lashley. En sus series de ensayos, encontr que lainformacin no era almacenada en forma centralizada en el cerebro sinoque era distribuida encima de l.

    1956 - Congreso de Dartmouth. Este Congreso frecuentemente se

    menciona para indicar el nacimiento de la inteligencia artificial. 1957 - Frank Rosenblatt. Comenz el desarrollo del Perceptron. Esta es

    la red neuronal ms antigua; utilizndose hoy en da para aplicacincomo identificador de patrones. Este modelo era capaz de generalizar,es decir, despus de haber aprendido una serie de patrones podareconocer otros similares, aunque no se le hubiesen presentado en elentrenamiento. Sin embargo, tena una serie de limitaciones, porejemplo, su incapacidad para resolver el problema de la funcin OR-exclusiva y, en general, era incapaz de clasificar clases no separableslinealmente.

    1959 - Frank Rosenblatt: Principios de Neurodinmica. En este libro

    confirm que, bajo ciertas condiciones, el aprendizaje del Perceptronconverga hacia un estado finito (Teorema de Convergencia delPerceptron).

    1960 - Bernard Widroff/Marcian Hoff. Desarrollaron el modelo Adaline(ADAptative LINear Elements). Esta fue la primera red neuronal aplicadaa un problema real (filtros adaptativos para eliminar ecos en las lneastelefnicas) que se ha utilizado comercialmente durante varias dcadas.

    1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simplesrealizaciones tcnicas (memoria asociativa).

    1969 - Marvin Minsky/Seymour Papert. En este ao casi se produjo la

    muerte abrupta de las Redes Neuronales; ya que Minsky y Papertprobaron (matemticamente) que el Perceptrons no era capaz deresolver problemas relativamente fciles, tales como el aprendizaje de

    5

  • 8/14/2019 Trabajo+Redes+Neuronales

    6/37

    una funcin no-lineal. Esto demostr que el Perceptron era muy dbil,dado que las funciones no-lineales son extensamente empleadas encomputacin y en los problemas del mundo real.

    1974 - Paul Werbos. Desarroll la idea bsica del algoritmo deaprendizaje de propagacin hacia atrs (backpropagation); cuyo

    significado qued definitivamente aclarado en 1985. 1977 - Stephen Grossberg: Teora de Resonancia Adaptada (TRA). La

    Teora de Resonancia Adaptada es una arquitectura de red que sediferencia de todas las dems previamente inventadas. La misma simulaotras habilidades del cerebro: memoria a largo y corto plazo.

    1985 - John Hopfield. Provoc el renacimiento de las redes neuronalescon su libro: Computacin neuronal de decisiones en problemas deoptimizacin.

    1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo deaprendizaje de propagacin hacia atrs (backpropagation).

    A partir de 1986, el panorama fue alentador con respecto a las investigacionesy el desarrollo de las redes neuronales. En la actualidad, son numerosos lostrabajos que se realizan y publican cada ao, las aplicaciones nuevas quesurgen (sobretodo en el rea de control) y las empresas que lanzan al mercadoproductos nuevos, tanto hardware como software (sobre todo para simulacin).

    3 Redes Neuronales

    3.1 GeneralidadesEn los ltimos aos de exploracin en inteligencia artificial, los

    investigadores se han intrigado por las redes neuronales.Como lo implica su nombre, una red neuronal artificial consiste enuna red de neuronas artificiales interconectadas.

    El concepto se basa vagamente en cmo pensamos que funcionael cerebro de un animal. Un cerebro consiste en un sistema de clulasinterconectadas, las cuales son, aparentemente, responsables de lospensamientos, la memoria y la conciencia. Las neuronas se conectan amuchas otras neuronas formando uniones llamadas sinapsis.

    Las seales electroqumicas se propagan de una neurona a otra atravs de estas sinapsis.

    Las neuronas demuestran plasticidad: una habilidad de cambiar

    su respuesta a los estmulos en el tiempo, o aprender. En una redneuronal artificial, se imitan estas habilidades por software.

    Existen tambin diversas definiciones sobre redes neuronales a continuacinpasaremos a mencionar algunas:

    Una nueva forma de computacin, inspirada en modelos biolgicos.

    Un modelo matemtico compuesto por un gran nmero de elementosprocesales organizados en niveles.

    Un sistema de computacin compuesto por un gran nmero deelementos simples, elementos de procesos muy interconectados, loscuales procesan informacin por medio de su estado dinmico comorespuesta a entradas externas.

    6

  • 8/14/2019 Trabajo+Redes+Neuronales

    7/37

    Redes neuronales artificiales son redes interconectadas masivamenteen paralelo de elementos simples (usualmente adaptativos) y conorganizacin jerrquica, las cuales intentan interactuar con los objetosdel mundo real del mismo modo que lo hace el sistema nerviosobiolgico.

    Antes de comenzar el estudio sobre las redes neuronales, retomemos elestudio del modelo de una neurona y de cmo ellas son utilizadas por una redneuronal.

    3.2 Modelo de una NeuronaUna neurona es una unidad de procesamiento de informacin que es

    fundamental para la red neuronal [Hilera y Martnez, 1995].

    En la siguiente figura se compara una neurona biolgica con unaneurona artificial. En la misma se pueden observar las similitudes entre ambas(tienen entradas, utilizan pesos y generan salidas).

    Fig. 4

    Mientras una neurona es muy pequea en s misma, cuando se combinancientos, miles o millones de ellas pueden resolver problemas muy complejos.Por ejemplo el cerebro humano se compone de billones de tales neuronas.

    3.2.1 Funcin de entrada (input function).

    La neurona trata a muchos valores de entrada como si fueran uno solo;esto recibe el nombre de entrada global. Por lo tanto, ahora nos enfrentamos alproblema de cmo se pueden combinar estas simples entradas (ini1, ini2, ...)dentro de la entrada global, gini. Esto se logra a travs de la funcin deentrada, la cual se calcula a partir del vector entrada. La funcin de entradapuede describirse como sigue:

    Donde: * representa al operador apropiado (por ejemplo: mximo, sumatoria,productoria, etc.), n al nmero de entradas a la neurona Ni y wi al peso.

    7

    ( ) ( ) ( ) *...** 2211 ininiiiii WinWinWininput =

  • 8/14/2019 Trabajo+Redes+Neuronales

    8/37

    Los valores de entrada se multiplican por los pesos anteriormente ingresados ala neurona. Por consiguiente, los pesos que generalmente no estn restringidoscambian la medida de influencia que tienen los valores de entrada. Es decir,que permiten que un gran valor de entrada tenga solamente una pequeainfluencia, si estos son lo suficientemente pequeos.

    Fig. 5

    La nomenclatura utilizada en la figura es la siguiente: ini1 = entrada

    nmero 1 a la neurona Ni; wi1 = peso correspondiente a ini1; ini2 = entradanmero 2 a la neurona Ni; wi2 = peso correspondiente a ini2; y outi = salida dela neurona Ni. El conjunto de todas las n entradas ini = (ini1, ini2, ..., ini n) escomnmente llamado vector entrada.

    Una de las funciones de entrada ms comnmente utilizadas yconocidas es:

    Sumatoria de las entradas pesadas: Es la suma de todos los valores

    de entrada a la neurona, multiplicados por sus correspondientes pesos.

    8

    Funcin

    De

    Activaci

    n

    Funcin

    De

    Salida1i

    out

    1iin

    2iin

    1iW

    2iW

    Funcin

    De

    Entrada

  • 8/14/2019 Trabajo+Redes+Neuronales

    9/37

    =

    n

    i

    ijijxw

    1

    , con j = 1, 2, 3, n

    3.2.1 Funcin de activacin (activation function).

    Una neurona biolgica puede estar activa (excitada) o inactiva (noExcitada); es decir, que tiene un estado de activacin. Las neuronasartificiales tambin tienen diferentes estados de activacin; algunas de ellassolamente dos, al igual que las biolgicas, pero otras pueden tomar cualquiervalor dentro de un conjunto determinado.

    La funcin activacin calcula el estado de actividad de una neurona;transformando la entrada global (menos el umbral, i) en un valor (estado) deactivacin, cuyo rango normalmente va de (0 a 1) o de (1 a 1). Esto es as,

    porque una neurona puede estar totalmente inactiva (0 o 1) o activa (1).

    La funcin activacin, es una funcin de la entrada global (gini) menos elumbral ( i). Las funciones de activacin ms comnmente utilizadas sedetallan a continuacin:

    Funcin Lineal:

    Con y a>0.

    Linear(a, x)

    ___ a=1-- -- a=0.66

    - - - - a=2

    Fig. 6

    Los valores de salida obtenidos por medio de esta funcin de activacin

    sern:

    9

    ax /1

    =

    1

    *

    1

    )( xaxfaxa /1/1

    iiginx =

    +1

    -1

    iiginx =

    activacin

  • 8/14/2019 Trabajo+Redes+Neuronales

    10/37

    (gini - i), cuando el argumento de (gini - i) est comprendido dentro del rango(-1/a, 1/a).

    Por encima o por debajo de esta zona se fija la salida en 1 o 1,respectivamente. Cuando a = 1 (siendo que la misma afecta la pendiente de la

    grfica), la salida es igual a la entrada.

    Funcin Sigmoidea:

    Los valores de salida que proporciona esta funcin estn comprendidosdentro de un rango que va de 0 a 1. Al modificar el valor de g se ve afectada lapendiente de la funcin de activacin.

    Sigmoid(g,x)___ a=100-- -- a=10- - - a=0.3

    Con

    Fig. 7

    Funcin Tangente Hiperblica:

    Tanhyp(g, x)____ g=100-- -- --g=10- - - - g=0.3

    Con

    Fig. 8

    10

    gxexf

    +=1

    1)( iiginx =

    +1

    iiginx

    =

    activacin

    gxgx

    gxgx

    ee

    eexf

    +

    =)(

    +1

    -1

    iiginx =

    activacin

    iiginx =

  • 8/14/2019 Trabajo+Redes+Neuronales

    11/37

    Los valores de salida de la funcin tangente hiperblica estn comprendidosdentro de un rango que va de -1 a 1. Al modificar el valor de g se ve afectada lapendiente de la funcin de activacin.

    3.2.3 Funcin de salida (output function).

    El ltimo componente que una neurona necesita es la funcin de salida. Elvalor resultante de esta funcin es la salida de la neurona i (out i); por ende, lafuncin de salida determina que valor se transfiere a las neuronas vinculadas.Si la funcin de activacin est por debajo de un umbral determinado, ningunasalida se pasa a la neurona subsiguiente. Normalmente, no cualquier valor espermitido como una entrada para una neurona, por lo tanto, los valores desalida estn comprendidos en el rango [0, 1] o [-1, 1]. Tambin pueden serbinarios {0, 1} o {-1, 1}.

    Dos de las funciones de salida ms comunes son:

    Ninguna: este es el tipo de funcin ms sencillo, tal que la salida es la

    misma que la entrada. Es tambin llamada funcin identidad.

    Binaria

    i es el umbral

    4. Topologas o Arquitecturas de redes neuronales

    4.1 Topologa de las redes neuronalesLa topologa o arquitectura de una red neuronal consiste en la

    organizacin y disposicin de las neuronas en la misma, formando capas oagrupaciones de neuronas ms o menos alejadas de la entrada y salida dedicha red. En este sentido, los parmetros fundamentales de la red son: elnmero de capas, el nmero de neuronas por capa, el grado de conectividad yel tipo de conexiones entre neuronas.

    4.1.1 Redes Monocapa.Se establecen conexiones entre las neuronas que pertenecen a la nica

    capa que constituye la red. Las redes monocapas se utilizan generalmente entareas relacionadas con lo que se conoce como autoasociacin (regenerarinformacin de entrada que se presenta a la red de forma incompleta odistorsionada).Ejm.

    El Perceptrn de una capa (SLP), una de las topologas de red ms antiguas,consiste en una capa de unidades computacionales; las unidades de entradano desarrollan ningn clculo. La capa de entrada se conecta completamentecon la capa de salida, es decir, cada unidad de entrada est conectada a cadaunidad de salida.

    11

    0

    1 iiact contrario

  • 8/14/2019 Trabajo+Redes+Neuronales

    12/37

    Fig. 9

    4.1.2 Redes Multicapa.

    Son aquellas que disponen de un conjunto de neuronas agrupadas envarios niveles o capas. En estos casos, una forma para distinguir la capa a laque pertenece una neurona, consistira en fijarse en el origen de las sealesque recibe a la entrada y el destino de la seal de salida. Normalmente, todaslas neuronas de una capa reciben seales de entrada desde otra capa anterior(la cual est ms cerca a la entrada de la red), y envan seales de salida auna capa posterior (que est ms cerca a la salida de la red). A estas

    conexiones se las denomina conexiones hacia adelante o feedforward.

    Sin embargo, en un gran nmero de estas redes tambin existe laposibilidad de conectar la salida de las neuronas de capas posteriores a laentrada de capas anteriores;a estas conexiones se las denomina conexiones hacia atrs o feedback.

    Ejm.El Perceptrn multicapatiene capas adicionales, llamadas capas

    Ocultas

    12

  • 8/14/2019 Trabajo+Redes+Neuronales

    13/37

    Fig. 10

    4.1.3 Redes Recurrentes (Conexin entre neuronas)

    La conectividad entre los nodos de una red neuronal est relacionada

    con la forma en que las salidas de las neuronas estn canalizadas paraconvertirse en entradas de otras neuronas. La seal de salida de un nodopuede ser una entrada de otro elemento de proceso, o incluso ser una entradade s mismo (conexin autorrecurrente).

    Cuando ninguna salida de las neuronas es entrada de neuronas delmismo nivel o de niveles precedentes, la red se describe como de conexinhacia delante. Cuando las salidas pueden ser conectadas como entradas deneuronas de niveles previos o del mismo nivel, incluyndose ellas mismas, lared es de conexin hacia atrs.

    Las redes de propagacin hacia atrs que tienen lazos cerrados son llamadas:sistemas recurrentes.A continuacin se muestran algunas de estas redes:

    a) Red recurrente

    13

  • 8/14/2019 Trabajo+Redes+Neuronales

    14/37

    b) Red Recurrente completa c) Red recurrente parcial

    Fig. 11

    5. Mecanismos de Aprendizaje de Redes Neuronales.

    El aprendizaje es el proceso por el cual una red neuronal modifica suspesos en respuesta a una informacin de entrada. Los cambios que seproducen durante el mismo se reducen a la destruccin, modificacin ycreacin de conexiones entre las neuronas. Una red neuronal debe aprender acalcular la salida correcta para cada constelacin (arreglo o vector) de entradaen el conjunto de ejemplos. Este proceso de aprendizaje se denomina:

    Proceso de Entrenamiento o Acondicionamiento. El conjunto de datos (oconjunto de ejemplos) sobre el cual este proceso se basa es, por ende,llamado: Conjunto de datos de Entrenamiento.

    Durante el proceso de aprendizaje, los pesos de las conexiones de lared sufren modificaciones, por lo tanto, se puede afirmar que este proceso haterminado (la red ha aprendido) cuando los valores de los pesos permanecenestables (dwij/dt = 0, lo cual es la primera derivada o primer orden), si los pesoscambian y sus valores son iguales a 0, se dice que la conexin de la red se hadestruido.

    De esta manera, se dice que los pesos se han adaptado, ya que susvalores son distintos de 0 y su derivada es igual a 0.

    En otras palabras el aprendizaje es el proceso por el cual una red neuronalmodifica sus pesos en respuesta a una informacin de entrada. Los cambiosque se producen durante el mismo se reducen a la destruccin, modificacin ycreacin de conexiones entre las neuronas.

    Un aspecto importante respecto al aprendizaje de las redes neuronaleses el conocer cmo se modifican los valores de los pesos, es decir, cules son

    los criterios que se siguen para cambiar el valor asignado a las conexionescuando se pretende que la red aprenda una nueva informacin.

    14

  • 8/14/2019 Trabajo+Redes+Neuronales

    15/37

    Hay dos mtodos de aprendizaje importantes que pueden distinguirse:

    Aprendizaje supervisado.

    Aprendizaje no supervisado.

    5.1 Aprendizaje supervisado.

    El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje serealiza mediante un entrenamiento controlado por un agente externo(supervisor, maestro) que determina la respuesta que debera generar la red apartir de una entrada determinada. El supervisor controla la salida de la red yen caso de que sta no coincida con la deseada, se proceder a modificar los

    pesos de las conexiones, con el fin de conseguir que la salida obtenida seaproxime a la deseada.

    En este tipo de aprendizaje se suelen considerar, a su vez, tres formasde llevarlo a cabo, que dan lugar a los siguientes aprendizajes supervisados:

    Aprendizaje por correccin de error.

    Aprendizaje por refuerzo.

    Aprendizaje estocstico.

    5.1.1 Aprendizaje por correccin de error.

    Consiste en ajustar los pesos de las conexiones de la red en funcin dela diferencia entre los valores deseados y los obtenidos a la salida de la red, esdecir, en funcin del error cometido en la salida.

    Un ejemplo de este tipo de algoritmos lo constituye la regla deaprendizaje del Perceptron, utilizada en el entrenamiento de la red del mismonombre que desarroll Rosenblatt en 1958 .Esta es una regla muy simple, paracada neurona en la capa de salida se le calcula la desviacin a la salida

    objetivo como el error.

    El cual luego se utiliza para cambiar los pesos sobre la conexin de laneurona precedente. El cambio de los pesos por medio de la regla deaprendizaje del Perceptron se realiza segn la siguiente regla:

    Donde: aqi es la salida deseada/objetivo de la neurona de salida Ni, i = (aqi outi) la desviacin objetivo de la neurona Ni y el aprendizaje.

    15

    )(** jqijij outaoutw

  • 8/14/2019 Trabajo+Redes+Neuronales

    16/37

    La salida de la neurona Nj (outj) se utiliza, porque este valor influye en laentrada global y, por ende, en la activacin y luego en la salida de la neuronaNi. Esto es semejante a un efecto en cadena.

    Fig. 12

    Otro algoritmo muy conocido y que pertenece a esta clasificacin es la regla deaprendizaje Delta o regla del mnimo error cuadrado (LMS Error: Least MeanSquared Error), que tambin utiliza la desviacin a la salida objetivo, pero tomaen consideracin a todas las neuronas predecesoras que tiene la neurona desalida. Esto permite cuantificar el error global cometido en cualquier momentodurante el proceso de entrenamiento de la red, lo cual es importante, ya quecuanto ms informacin se tenga sobre el error cometido, ms rpido se

    puede aprender. Luego el error calculado ( ) es igualmente repartido entrelas conexiones de las neuronas predecesoras.

    Por ltimo se debe mencionar la regla de aprendizaje de propagacinhacia atrs o de backpropagation, tambin conocido como regla LMSmulticapa, la cual es una generalizacin de la regla de aprendizaje Delta. Estaes la primera regla de aprendizaje que permiti realizar cambios sobre lospesos en las conexiones de la capa oculta.

    5.1.2 Aprendizaje por refuerzo.

    Se trata de un aprendizaje supervisado, ms lento que el anterior, que sebasa en la idea de no disponer de un ejemplo completo del comportamientodeseado, es decir, de no indicar durante el entrenamiento exactamente lasalida que se desea que proporcione la red ante una determinada entrada.

    En el aprendizaje por refuerzo la funcin del supervisor se reduce aindicar mediante una seal de refuerzo si la salida obtenida en la red se ajustaa la deseada (xito = +1 o fracaso = -1), y en funcin de ello se ajustan lospesos basndose en un mecanismo de probabilidades. Se podra decir que eneste tipo de aprendizaje la funcin del supervisor se asemeja ms a la de un

    crtico (que opina sobre la respuesta de la red) que a la de un maestro (queindica a la red la respuesta concreta que debe generar), como ocurra en elcaso de supervisin por correccin del error.

    5.1.3 Aprendizaje estocstico.

    Consiste bsicamente en realizar cambios aleatorios en los valores delos pesosde las conexiones de la red y evaluar su efecto a partir del objetivo deseado yde distribuciones de probabilidad.

    16

  • 8/14/2019 Trabajo+Redes+Neuronales

    17/37

    En pocas palabras el aprendizaje consistira en realizar un cambioaleatorio de los valores de los pesos y determinar la energa de la red(habitualmente la funcin energa es una funcin de Liapunov). Si la energa esmenor despus del cambio, es decir, si el comportamiento de la red se acercaal deseado, se acepta el cambio; si, por el contrario, la energa no es menor, se

    aceptara el cambio en funcin de una determinada y preestablecidadistribucin de probabilidades.

    5.2 Aprendizaje no Supervisado.

    Las redes con aprendizaje no supervisado (tambin conocido comoautosupervisado) no requieren influencia externa para ajustar los pesos de lasconexiones entre sus neuronas. La red no recibe ninguna informacin por partedel entorno que le indique si la salida generada en respuesta a unadeterminada entrada es o no correcta.

    Estas redes deben encontrar las caractersticas, regularidades,correlaciones o categoras que se puedan establecer entre los datos que sepresenten en su entrada.

    Existen varias posibilidades en cuanto a la interpretacin de la salida deestas redes, que dependen de su estructura y del algoritmo de aprendizajeempleado.

    En cuanto a los algoritmos de aprendizaje no supervisado, en general sesuelen considerar dos tipos, que dan lugar a los siguientes aprendizajes:

    Aprendizaje hebbiano.

    Aprendizaje competitivo y comparativo.

    5.2.1 Aprendizaje Hebbiano.

    Esta regla de aprendizaje es la base de muchas otras, la cual pretendemedir la familiaridad o extraer caractersticas de los datos de entrada. Elfundamento es una suposicin bastante simple: si dos neuronas Ni y Njtoman el mismo estado simultneamente (ambas activas o ambasinactivas), el peso de la conexin entre ambas se incrementa.

    Las entradas y salidas permitidas a la neurona son: {-1, 1} o {0, 1}(neuronas binarias). Esto puede explicarse porque la regla de aprendizajede Hebb se origin a partir de la neurona biolgica clsica, que solamentepuede tener dos estados: activa o inactiva.

    5.2.2 Aprendizaje competitivo y comparativo.

    Se orienta a la clusterizacin o clasificacin de los datos de entrada.Como caracterstica principal del aprendizaje competitivo se puede decirque, si un patrn nuevo se determina que pertenece a una clase reconocida

    previamente, entonces la inclusin de este nuevo patrn a esta clasematizar la representacin de la misma. Si el patrn de entrada se

    17

  • 8/14/2019 Trabajo+Redes+Neuronales

    18/37

    determin que no pertenece a ninguna de las clases reconocidasanteriormente, entonces la estructura y los pesos de la red neuronal sernajustados parareconocer la nueva clase.

    5.3 Eleccin del conjunto inicial de pesos.

    Antes de comenzar el proceso de entrenamiento se debe determinar unestado inicial, lo que significa: escoger un conjunto inicial de pesos para lasdiversas conexiones entre las neuronas de la red neuronal. Generalmente unintervalo del tipo [-n, n], donde n es un nmero natural positivo.

    Cabe mencionar que durante el transcurso del entrenamiento los pesosno se encuentran restringidos a dicho intervalo.

    5.4 Detencin del proceso de aprendizaje.

    Para determinar cundo se detendr el proceso de aprendizaje, esnecesario establecer una condicin de detencin.

    Normalmente el entrenamiento se detiene cuando para cada uno de losejemplos dados, el error observado est por debajo de un determinado rango.

    Otra condicin de detencin del aprendizaje puede ser cuando un ciertonmero de ciclos y/o pasos de entrenamiento hayan sido completamentecorridos.

    Luego de alcanzarse la condicin de detencin, los pesos no se volverna cambiar. Entonces podemos decir que la transformacin de los datos deentrada a los de salida est resuelta. Esto se puede interpretar como unafuncin foculta en el conjunto de la red neuronal. Esta funcin es exactamentela instruccin de cmo la salida ser calculada a partir de una constelacin(vector) de entrada.

    El orden en que los ejemplos de entrenamiento se presentan a la redneuronal es otro tema importante; en la mayora de los casos es beneficioso

    realizarlo en forma aleatoria.

    5.5 Codificacin de los datos de entrada.

    Si se observa nuevamente el ejemplo del problema: puntaje para uncrdito (apartado 5.4), se ve que no hay ningn valor numrico en la base dedatos. Por lo tanto la pregunta es cmo puede entonces una red neuronalcalcular una salida? La respuestaes sencilla; los datos tienen que sercodificados, o sea, deben hallarse valoresapropiadospara representar las caractersticas simblicas (alto, bajo, adecuado, etc.).

    Se distinguen dos tipos de variables a ser codificadas:

    18

  • 8/14/2019 Trabajo+Redes+Neuronales

    19/37

    Variables o atributos numricos (frecuentemente llamadas continuas).

    Variables o atributos simblicos (frecuentemente llamados discretos).

    Un atributo numricoes aquel que puede tomar cualquier valor dentrode un cierto intervalo [a, b]; donde a puede ser -(menos infinito) y b, (infinito).

    Ahora si los pesos son dados por un cierto nmero de trminos,semejantes a:alto o bajo; entonces el atributo se denomina simblico.

    5.5.1 Codificacin de los atributos numricos.

    Los datos son codificados dentro de un intervalo, [0.0 + buffer de baja,1.0 buffer de alta], por medio de una funcin lineal. Los buffer(amortiguadores) son necesarios, especialmente cuando se trabaja con seriesde tiempo, porque a menudo puede observarse que una variable numrica caepor debajo del valor mnimo presenciado hasta el momento, o por encima delmximo.

    Fig. 13

    Por ejemplo, para esta figura se debe encontrar la ecuacin que describa lafuncin de transformacin; a la cual llamaremos ty se escribe como sigue:

    t: datos originales (x) datos codificados (xnuevos);

    t(x) =xnuevos = a *x+ b;

    donde:

    a = pendiente y, b = ordenada al origen. De esta manera, para el ejemplo dela figurase tiene que

    a = 0.9-0.1 y b = 0.1 a * 19. 31-19

    19

  • 8/14/2019 Trabajo+Redes+Neuronales

    20/37

    De forma genrica:

    a = mx. en el intervalo de codificacin min. En el intervalo de codificacinmx. de los datos originales min. de los datos originales

    b = (min. de los datos codificados) a* (mn. de los datos originales)

    5.5.2 Codificacin de los atributos simblicos.

    Cada atributo simblico que se codifica, se adjunta a una neurona en lacapa de entrada. Si hay n valores simblicos, n neuronas sernnecesarias, cada una de ellas conun conjunto de entradas permitido: {0, 1} (o {-1, 1}). Por este motivo, seutilizan neuronas binarias.

    Fig. 14

    Observando la figura, la edad slo puede tomar un valor en el ejemplo

    dado. En consecuencia, si se tiene el valor de entrada viejo, solamentela neurona esttica para viejo recibe una entrada de 1 (en el ejemplo:N1), mientras que todas las dems tendrn una entrada igual a 0.

    Por supuesto, tambin es posible codificar atributos simblicos utilizandoslo una neurona real (recordar que los valores permitidos para estetipo de neuronas estn comprendidos en el rango [0, 1] o [1, 1]).Lamayor desventaja de una codificacin binaria es que puede conducir auna gran capa de entrada.5.5.3 Resumen de los procedimientos de codificacin.

    20

  • 8/14/2019 Trabajo+Redes+Neuronales

    21/37

    Fig. 15

    5.6 Validacin de la red neuronal.

    Despus del proceso de entrenamiento los pesos de las conexiones en

    la red neuronal quedan fijos. Como paso siguiente se debe comprobar si la redneuronal puede resolver nuevos problemas, del tipo general, para los que hasido entrenada. Por lo tanto, con el propsito de validar la red neuronal serequiere de otro conjunto de datos, denominado conjunto de validacin otesteo.

    Cada ejemplo del conjunto de evaluacin contiene los valores de lasvariables de entrada, con su correspondiente solucin tomada; pero ahora estasolucin no se le es otorgada a la red neuronal. Luego se compara la solucincalculada para cada ejemplo de validacin con la solucin conocida. Ahora elproblema es que hay que decidir cuando la salida de la red neuronal ha de

    considerarse como correcta.

    6. Principales Tipos de Redes Neuronales

    6.1 Perceptrn

    Antecedentes

    En 1943, Warren McCulloc y Walter Pitts originaron el primermodelo de operacin neuronal, el cual fue mejorado en sus aspectosbiolgicos por Donald Hebb en 1948.

    En 1962 Bernard Widrow propuso la regla de aprendizaje Widrow-Hoff, yFrank Rosenblatt desarroll una prueba de convergencia, y defini elrango de problemas para los que su algoritmo aseguraba una solucin.El propuso los 'Perceptrons' como herramienta computacional.

    Funcionamiento

    En la siguiente figura se representa una neurona "artificial", queintenta modelar el comportamiento de la neurona biolgica. Aqu el

    cuerpo de la neurona se representa como un sumador lineal de losestmulos externos zj, seguida de una funcin no lineal yj = f(zj). Lafuncin f(zj) es llamada la funcin de activacin, y es la funcin queutiliza la suma de estmulos para determinar la actividad de salida de laneurona.

    21

  • 8/14/2019 Trabajo+Redes+Neuronales

    22/37

    Fig. 16

    Este modelo se conoce como perceptrn de McCulloch-Pitts, y es la

    base de la mayor parte de las arquitecturas de las RNA que seinterconectan entre s. Las neuronas emplean funciones de activacindiferentes segn la aplicacin, algunas veces son funciones lineales,otras funciones sigmoidales (p.ej. la tanh), y otras funciones de umbralde disparo. La eficiencia sinptica se representa por factores de peso deinterconeccin wij, desde la neurona i, hasta la neurona j.

    Los pesos pueden ser positivos (excitacin) o negativos (inhibicin). Lospesos junto con las funciones f(z) dictan la operacin de la red neuronal.Normalmente las funciones no se modifican de tal forma que el estadode la red neuronal depende del valor de los factores de peso (sinpsis)que se aplica a los estmulos de la neurona.

    En un perceptrn, cada entrada es multiplicada por el peso Wcorrespondiente, y los resultados son sumados, siendo evaluados contrael valor de umbral, si el resultado es mayor al mismo, el perceptrn seactiva.

    Limitantes

    El perceptrn es capaz tan slo de resolver funciones definidas

    por un hiperplano (objeto de dimensin N-1 contenida en un espacio de

    22

  • 8/14/2019 Trabajo+Redes+Neuronales

    23/37

    dimensin N). que corte un espacio de dimensin N. Un ejemplo de unafuncin que no puede ser resuelta es el operador lgico XOR.

    Una explicacin mas sencilla de un hiperplano sera, hablando en unplano de dos dimensiones, una lnea que separa a los elementos

    existentes en dos grupos. El perceptrn slo puede resolver una funcin,si todos los posibles resultados del problema pueden separarse de staforma (en dos secciones) es decir, que no se combinen entre s.

    Entrenamiento

    El entrenamiento de un perceptrn es por medio de la regla deaprendizaje delta:Para cada peso W se realiza un ajuste dW segn la regla:

    dW = LR ( T - Y ) X

    Donde LR es la razn de aprendizaje, T el valor deseado, Y el valorobtenido, y X la entrada aplicada al perceptrn.

    Tipos de perceptrn

    El Perceptrn bsico de dos capas (entrada con neuronaslineales, analgicas, y la de salida con funcin de activacin de tipoescaln, digital) solo pude establecer dos regiones separadas por unafrontera lineal en el espacio de patrones de entrada, donde se tendra unhiperplano.

    Un Perceptrn con tres niveles de neuronas puede formar cualquierregin convexa en este espacio. Las regiones convexas se formanmediante la inteleccin entre las regiones formadas por cada neurona dela segunda capa, cada uno de estos elementos se comporta como unPerceptrn simple, activndose su salida para los patrones de un ladodel hiperplano.

    Un Perceptrn con cuatro capas puede generar regiones de decisinarbitrariamente complejas. El proceso de separacin en clases que se

    lleva a cabo consiste en la particin de la regin deseada en pequeoshipercubos. Cada hipercubo requiere 2n neuronas en la segunda capa(siendo n el numero de entradas a la red), una por cada lado delhipercubo, y otra en la tercera capa, que lleva a cabo el and lgico de lasalida de los nodos del nivel anterior. La salida de los nodos de estetercer nivel se activaran solo para las entradas de cada hipercubo. Loshipercubos se asignan a la regin de decisin adecuada mediante laconexin de la salida de cada nodo del tercer nivel solo con la neuronade salida (cuarta capa) correspondiente a la regin de decisin en la queeste comprendido el hipercubo llevndose a cabo una operacin lgicaOr en cada nodo de salida. Este procedimiento se pude generalizar de

    manera que la forma de las regiones convexas sea arbitraria, en lugar dehipercubos.

    23

  • 8/14/2019 Trabajo+Redes+Neuronales

    24/37

    En teora, el Perceptrn de 4 capas puede resuelve una gran variedadde problemas cuyas entradas sean analgicas, la salida sea digital y sealinealmente separable. El problema prctico radica en el numero deneuronas, en el numero idneo de capas ocultas, la extensin de la

    funcin de activacin, el tiempo de entrenamiento de la red, lasimplicaciones en la generacin de ruido (al tener un numero excesivo deneuronas) en contraparte con la ventaja de tener un sistema tolerante afallas al tener un numero de neuronas redundante.

    Aplicaciones del perceptrn

    El rango de tareas que el Perceptrn puede manejar es muchomayor que simples decisiones y reconocimiento de patrones. Porejemplo, se puede entrenar una red para formar el tiempo pasado de losverbos en ingles, leer texto en ingles y manuscrito. El Perceptrn

    multicapa (MLP) puede ser usado para la prediccin de una serie dedatos en el tiempo; tal a sido su xito en la medicin de la demanda degas y electricidad, adems de la prediccin de cambios en el valor de losinstrumentos financieros.

    Prediccin de mercados financieros, diagnsticos mdicos, elPerceptrn como una red codificadora, el Perceptrn aprende a sumarenteros.

    NETtalk es un Perceptrn que es capaz de transformar texto eningles en sonido individual (representaciones fonticas) y lapronunciacin con la utilizacin de un sintetizador de voz; cuenta conaproximadamente 300 nodos de neuronas (siendo 80 en la capaescondida) y 20,000 conexiones individuales.

    6.2 Backpropagation

    24

  • 8/14/2019 Trabajo+Redes+Neuronales

    25/37

    El perceptrn solo es el ejemplo ms elemental de una redneuronal, de hecho, no puede siquiera ser considerado una "red", puestoque no intervienen otros elementos. Si se combinan varios perceptronesen una "capa", y los estmulos de entrada despus se suman tendremosya una red neuronal. Una red neuronal muy eficaz para resolver

    fundamentalmente problemas de reconocimiento de patrones es la redneuronal de propagacin hacia atrs, en ingls back propagationnetwork.

    Fig. 17

    En esta red, se interconectan varias unidades de procesamientoen capas, las neuronas de cada capa no se interconectan entre s. Sinembargo, cada neurona de una capa proporciona una entrada a cadauna de las neuronas de la siguiente capa, esto es, cada neuronatransmitir su seal de salida a cada neurona de la capa siguiente. Lafigura muestra un ejemplo esquemtico de la arquitectura de este tipo deredes neuronales.

    Algoritmo

    El algoritmo de aprendizaje proporciona una forma de entrenaruna red multicapa con alimentacin hacia adelante. Comienza

    25

  • 8/14/2019 Trabajo+Redes+Neuronales

    26/37

    alimentando los valores de la entrada de acuerdo a las siguientesecuaciones:

    donde A es el grupo de neuronas en una capa, y B es la otra. Oj es laactivacion para la neurona J, y Wji son los pesos asignados a laconexin entre las neuronas j e i. En la ecuacin anterior, se toman losvalores de salida y se alimentan a la siguiente capa a travs de lospesos. Esta operacin se realiza para cada neurona en la siguientecapa, produciendo un valor de red para el. Este valor es la suma detodos los valores de activacion en las neuronas de la capa anterior, y

    cada valor de red es aplicado ahora a la siguiente ecuacin, conocidacomo funcin de activacin, para producir la activacin de esa neurona.

    Despus de que todas las neuronas tienen un valor de activacinasociado a un patrn de valores de entrada, el algoritmo sigue buscandoerrores en cada neurona que no es entrada.

    Los errores encontrados para las neuronas de salidas, sonpropagados hacia atrs, a la capa anterior para que puedan serasignados a neuronas de las capas escondidas, esto se calcula por:

    donde D es el gripo de neuronas en una capa que no es de entrada y Ees el grupo de neuronas de la siguiente capa. Este clculo se repite paracada capa escondida en la red.

    Despus de que se ha encontrado la activacin y el error asociado acada grupo de neuronas, los pesos se actualizan, primero encontrandoel valor que cada peso debe modificarse, esto se logra calculando:

    26

  • 8/14/2019 Trabajo+Redes+Neuronales

    27/37

    Donde C, conocida como la razn de aprendizaje, es una constante quecontrola el valor del cambio de los pesos y Wij es el cambio de los pesosentre la neurona i y j. El peso es cambiado evaluando:

    6.3 Kohonen

    Existen evidencias que demuestran que en el cerebro existenneuronas que se organizan en muchas zonas, de forma que lasinformaciones captadas del entorno a travs de los rganos sensorialesse representan internamente en forma de capas bidimensionales. Porejemplo, en el sistema visual se han detectado mapas del espacio visualen zonas de crtex (capa externa del cerebro). Tambin en el sistema

    auditivo se detecta organizacin segn la frecuencia a la que cadaneurona alcanza la mayor respuesta (organizacin tonotpica).

    Aunque en gran medida esta organizacin neuronal estpredeterminada genticamente, es probable que de ella se originemediante el aprendizaje. Esto sugiere, por tanto, que el cerebro podraposeer la capacidad inherente de formar mapas topolgicos de lasinformaciones recibidas del exterior. De hecho, esta teora podraexplicar su poder de operar con elementos semnticos: algunas reasdel cerebro simplemente podran crear y ordenar neuronasespecializadas o grupos con caractersticas de alto nivel y suscombinaciones. Se tratara, en definitiva, de construir mapas espacialespara atributos y caractersticas.

    Antecedentes

    A partir de estas ideas, T. Kohonen present en 1982 un sistemacon un comportamiento semejante. Se trataba de un modelo de redneuronal con capacidad para formar mapas de caractersticas demanera similar a como ocurre en el cerebro.

    El objetivo de Kohonen era demostrar que en un estmulo externo(informacin de entrada) por si solo, suponiendo una estructura propia yuna descripcin funcional del comportamiento de la red, era suficientepara forzar la formacin de mapas.

    Este modelo tiene dos variantes, denominadas LVQ (Learning VectorQuantization) y TPM (Topology-Preserving Map) o SOM (Self-Organizating Map). Ambas se basan en el principio de formacin demapas topolgicos para establecer caractersticas comunes entre lasinformaciones (vectores) de entrada a la red, aunque difieren en lasdimensiones de stos, siendo de una sola dimensin en el caso de LVQ,

    y bidimensional, e incluso tridimensional, en la red TPM.

    27

  • 8/14/2019 Trabajo+Redes+Neuronales

    28/37

    Caractersticas

    Pertenece a la categora de las redes competitivas o mapas deautoorganizacin, es decir, aprendizaje no supervisado. Poseen unaarquitectura de dos capas (entrada-salida) (una sola capa de

    conexiones), funciones de activacin lineales y flujo de informacinunidireccional (son redes en cascada).

    Las unidades de entrada reciben datos continuos normalizados,se normalizan as mismo los pesos de las conexiones con la capa desalida. Tras el aprendizaje de la red, cada patrn de entrada activar unanica unidad de salida.

    El objetivo de este tipo de redes es clasificar los patrones deentrada en grupos de caractersticas similares, de manera que cadagrupo activar siempre la(s) misma(s) salida(s). Cada grupo de entradas

    queda representado en los pesos de las conexiones de la unidad desalida triunfante. La unidad de salida ganadora para cada grupo deentradas no se conoce previamente, es necesario averiguarlo despusde entrenar a la red.

    Arquitectura

    En la arquitectura de la versin original (LVQ) del modeloKohonen no existen conexiones hacia atrs. Se trata de una de las Nneuronas de entrada y Mde salida. Cada una de las Nneuronas deentrada se conecta a las Mde salida a travs de conexiones haciaadelante (feedfoward).

    Entre las neuronas de la capa de salida, puede decirse queexisten conexiones laterales de inhibicin (peso negativo) implcitas,pues aunque no estn conectadas, cada una de las neuronas va a tenercierta influencia sobre sus vecinas. El valor que se asigne a los pesos delas conexiones hacia adelante entre las capas de entrada y salida (Wji)durante el proceso de aprendizaje de la red va a depender precisamentede esta interaccin lateral.

    La influencia que una neurona ejerce sobre las dems es funcinde la distancia entre ellas, siendo muy pequeas cuando estn muyalejadas. Es frecuente que dicha influencia tenga la forma de unsombrero mexicano.

    Por otra parte, la versin del modelo denominado TPM (TopologyPreserving Map) trata de establecer una correspondencia entre los datosde entrada y un espacio bidimensional de salida, creando mapastopolgicos de dos dimensiones, de tal forma que ante datos de entradacon caractersticas comunes se deben activar neuronas situadas enprximas zonas de la capa de salida.

    28

  • 8/14/2019 Trabajo+Redes+Neuronales

    29/37

    Aprendizaje

    Supongamos que tenemos patrones de entrada n-dimensionales.

    0. Aleatorizar los pesos de las conexiones. Normalizar los pesos de las

    conexiones incidentes de cada unidad de salida sobre la unidad: dividircada conexin por la raz cuadrada de la suma de los cuadrados de lasconexiones de cada unidad. Normalizar igualmente los datos de entrada

    1. Aplicar un patrn de entrada.2. Calcular alguna medida de similitud/disimilitud (producto interno,

    distancia eucldea o de Mahalanobis, etc.) entre las entradas y los pesosde las conexiones.

    3. La unidad de salida con los pesos ms parecidos al patrn de entrada esdeclarada ganadora. El vector de pesos de la unidad ganadora, seconvierte en el centro de un grupo de vectores cercanos a l.

    4. Modificar los pesos de los vectores de pesos Wj "cercanos" a Wc(distancia menor a D), segn la frmula:

    De esta manera conseguimos que los vectores de pesos de la unidadganadora y de su "vecindario" se parezcan cada vez ms al patrn deentrada que hace ganar a esa unidad.

    5. Repetir los pasos 1 a 4 con todos los patrones de entrada.

    A medida que avanza el aprendizaje hay que ir reduciendo D y a.Kohonen recomienda empezar con un valor de a cercano a 1 y reducirlogradualmente hasta 0.1. D puede empezar valiendo la mxima distanciaexistente entre los pesos de las conexiones al principio y acabar siendo tanpequeo que no quede ninguna unidad en el vecindario de la unidadganadora. En ese momento solo se entrenar una unidad, que al finaltendr su vector de pesos igual al vector de entrada.

    La precisin de la clasificacin de los patrones de entrada aumenta conel nmero de ciclos de aprendizaje. Kohonen recomienda una cantidad deciclos no inferior a 500 veces el nmero de neuronas de salida para obtenerbuenos resultados.

    Aplicacin

    Una vez entrenada, podemos usar a la red para clasificar patrones deentrada similares en el espacio n-dimensional. Una clase o grupo depatrones similares tiende a controlar una neurona especfica, querepresentar el centro de una esfera n-dimensional (de radio unitario, puesnormalizamos los datos sobre la unidad). Esa neurona resultar la msactivada frente a los patrones ms parecidos a su vector de pesos.

    Despus del aprendizaje, la clasificacin consiste en presentar una

    entrada y seleccionar la unidad ms activada. Adems, el vector de pesos nosservir para reconstruir el patrn de entrada.

    29

  • 8/14/2019 Trabajo+Redes+Neuronales

    30/37

    6.4 Hopfield

    Las redes de Hopfield son redes de adaptacin probabilstica,recurrentes, funcionalmente entraran en la categora de las memoriasautoasociativas, es decir, que aprenden a reconstruir los patrones de entrada

    que memorizaron durante el entrenamiento. Son arquitecturas de una capa coninterconexin total, funciones de activacin booleana de umbral (cada unidadpuede tomar dos estados, 0 o 1, dependiendo de si la estimulacin totalrecibida supera determinado umbral), adaptacin probabilstica de la activacinde las unidades, conexiones recurrentes y simtricas, y regla de aprendizaje nosupervisado. Mientras que las redes en cascada (no recurrentes) dansoluciones estables, los modelos recurrentes dan soluciones inestables(dinmicas), lo que no siempre es aconsejable.

    La principal aportacin de Hopfield consisti precisamente en conseguirque tales redes recurrentes fueran as mismo estables. Imagin un sistema

    fsico capaz de operar como una memoria autoasociativa, que almacenarainformacin y fuera capaz de recuperarla aunque la misma se hubieradeteriorado.

    La Red de Hopfield es recurrente y completamente conectada. Funcionacomo una memoria asociativa no lineal que puede almacenar internamentepatrones presentados de forma incompleta o con ruido. De esta forma puedeser usada como una herramienta de optimizacin. El estado de cada neuronapuede ser actualizado un nmero indefinido de veces, independientemente delresto de las neuronas de la red pero en paralelo.

    Boltzmann

    En la Mquina de Boltzmann, generalizacin de la red de Hopfield queincluye unidades ocultas, la operacin de actualizacin se basa en un conceptode termodinmica estadstica conocido como "simulated annealing". La red deHopfield, la mquina de Boltzmann y un derivado conocido como la mquinadel teorema de campo medio se han utilizado en aplicaciones de segmentaciny restauracin de imgenes y optimizacin combinacional.

    Caractersticas

    La red de Hopfield consiste en un conjunto de N elementos deprocesado interconectadas que actualizan sus valores de activacin de formaasncrona e independiente del resto de las elementos de procesado. Todos loselementos son a la vez de entrada y salida. Los valores de activacin sonbinarios.

    El estado del sistema esta dado por los valores de activacin Yk. Laentrada de la neurona k en el ciclo temporal t+1 viene dada por

    30

  • 8/14/2019 Trabajo+Redes+Neuronales

    31/37

    Para obtener el nuevo valor de activacin se aplica una funcin umbral.

    Cuando un elemento de procesado mantiene su valor de activacin sedice que es estable. Se llama estado estable a aquel en el cual todos loselementos de procesado son estables.

    Con la restriccin extra de simetra en los pesos de conexin, Wjk=Wkj,el sistema puede ser descrito mediante una funcin energa de la forma

    Funcionamiento

    A cada estado de la red se le puede atribuir una cierta cantidad deenerga, el sistema evoluciona tratando de disminuir la energa medianteun proceso de relajacin, hasta alcanzar un mnimo (valle) donde se

    estabiliza. Los mnimos de energa se corresponden con los recuerdosalmacenados durante el aprendizaje de la red.

    Ante la presentacin de un estmulo nuevo se obtendr unaconfiguracin inicial ms o menos parecida a alguno de los estmulosalmacenados, el sistema evolucionar hasta caer en una configuracinestable que representa el recuerdo asociado a ese estmulo. Si laconfiguracin inicial discrepa mucho de los recuerdos almacenadospodemos alcanzar algn mnimo que no se corresponde a ningnrecuerdo almacenado, recuperando en ese caso una informacinespuria, o podramos no alcanzar ningn mnimo, quedando inestable:en ese caso diramos que la red est "confundida", no es capaz dereconocer el estmulo, no recuerda.

    Una tercera posibilidad es que al cabo de unos pasos deevolucin empiece a repetir peridicamente una secuencia definida deestados; con esta dinmica se han modelado ciertas excitacionesnerviosas que regulan acciones rtmicas y repetitivas; y se ha tratado dereproducir la memoria de secuencias temporales, pe. el recuerdo demelodas.

    Modelo de Red de Hopfield de 3 unidades

    31

  • 8/14/2019 Trabajo+Redes+Neuronales

    32/37

    Fig. 18

    Como habamos dicho, las neuronas se conectan todas entre s, yconsigo mismas. Para empezar se le asigna a cada unidad el valor o

    estado correspondiente del patrn de entrada. En cada ciclo seelige una neurona al azar y se calcula su activacin segn la funcin de

    umbral:

    Sea n el nmero de neuronas en la red, la estimulacin total secalcula como el sumatorio de todas las entradas ponderadas, incluida laprocedente de la misma unidad.

    Se puede trabajar con cualquier valor de umbral para la funcinde activacin, pero tpicamente se usa el 0 como umbral; tiene la ventajade simplificar las ecuaciones.

    yi=1 si xi > 0 yi=0 si xi < 0

    Por definicin los recuerdos (tems o patrones almacenados) sonpuntos fijos en la dinmica de la red, es decir, configuraciones que nocambian en el tiempo aunque se siga aplicando la regla de evolucin.

    Para almacenar un recuerdo habr que lograr que la presentacin delpatrn de entrada lleve a la red a alcanzar un punto fijo, esto se lograr

    32

  • 8/14/2019 Trabajo+Redes+Neuronales

    33/37

    mediante alguna regla de aprendizaje que modifique los pesos de lasconexiones.

    Aplicacin

    Las redes de Hopfield se han aplicado a campos como lapercepcin el reconocimiento de imgenes y optimizacin de problemas,mostrando gran inmunidad al ruido y robustez. Incluso se han llegado adesrrollar chips especficos para este tipo redes. El estudio de lasrepresentaciones de secuencias temporales es un rea de gran inters,con aplicaciones en reconocimiento automtico de voces y movimientos.

    Hopfield ha mostrado como aplicar los mismos principios confunciones de activacin continuas como la funcin sigmoidal, con muypocas modificaciones.

    Pero pese a sus evidentes ventajas no estn exentas de problemas:

    El nmero mximo de patrones no correlacionados que puedealmacenar es igual al 15% del nmero de neuronas de la red.

    Requieren mucho tiempo de procesamiento hasta converger auna solucin estable, lo que limita su aplicabilidad.

    Otro de los problemas achacados a las redes de Hopfield es sutendencia a caer en mnimos locales, como en las redes deretropropagacin. La solucin pasa por aplicar los mtodos estadsticosque ya comentamos en el apartado dedicado a las redes deretropropagacin, el equilibrio termodinmico simulado.

    7.- Ventajas de las redes neuronalesDebido a su constitucin y a sus fundamentos, las redes

    neuronales artificiales presentan un gran nmero de caractersticas semejantesa las del cerebro. Por ejemplo, son capaces de aprender de la experiencia, degeneralizar de casos anteriores a nuevos casos, de abstraer caractersticas

    esenciales a partir de entradas que representan informacin irrelevante, etc.Esto hace que ofrezcan numerosas ventajas y que este tipo de tecnologa seest aplicando en mltiples reas. Entre las ventajas se incluyen:

    Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas

    basadas en un entrenamiento o en una experiencia inicial.

    Auto-organizacin. Una red neuronal puede crear su propia organizacin

    o representacin de la informacin que recibe mediante una etapa deaprendizaje.

    Tolerancia a fallos. La destruccin parcial de una red conduce a una

    degradacin de su estructura; sin embargo, algunas capacidades de lared se pueden retener, incluso sufriendo un gran dao.

    33

  • 8/14/2019 Trabajo+Redes+Neuronales

    34/37

    Operacin en tiempo real. Los cmputos neuronales pueden ser

    realizados en paralelo; para esto se disean y fabrican mquinas conhardware especial para obtener esta capacidad.

    Fcil insercin dentro de la tecnologa existente. Se pueden obtener

    chips especializados para redes neuronales que mejoran su capacidad

    en ciertas tareas. Ello facilitar la integracin modular en los sistemasexistentes.

    7.1 Aprendizaje Adaptativo.

    La capacidad de aprendizaje adaptativo es una de las caractersticasms atractivas de redes neuronales. Esto es, aprenden a llevar a cabociertas tareas mediante un entrenamiento con ejemplos ilustrativos. Comolas redes neuronales pueden aprender a diferenciar patrones medianteejemplos y entrenamientos, no es necesario elaborar modelos a priori ninecesidad de especificar funciones de distribucin de probabilidad. Lasredes neuronales son sistemas dinmicos autoadaptativos. Son adaptablesdebido a la capacidad de autoajuste de los elementos procesales(neuronas) que componen el sistema. Son dinmicos, pues son capaces deestar constantemente cambiando para adaptarse a las nuevas condiciones.En el proceso de aprendizaje, los enlaces ponderados de las neuronas seajustan de manera que se obtengan ciertos resultados especficos. Una redneuronal no necesita un algoritmo para resolver un problema, ya que ellapuede generar su propia distribucin de pesos en los enlaces mediante elaprendizaje. Tambin existen redes que continan aprendiendo a lo largo de

    su vida, despus de completado su perodo de entrenamiento. La funcindel diseador es nicamente la obtencin de la arquitectura apropiada. Noes problema del diseador el cmo la red aprender a discriminar. Sinembargo, s es necesario que desarrolle un buen algoritmo de aprendizajeque le proporcione a la red la capacidad de discriminar, mediante unentrenamiento con patrones.

    7.2 Auto-organizacin.

    Las redes neuronales emplean su capacidad de aprendizaje adaptativo

    para autoorganizar la informacin que reciben durante el aprendizaje y/o laoperacin. Mientras que el aprendizaje es la modificacin de cada elementoprocesal, la autoorganizacin consiste en la modificacin de la red neuronalcompleta para llevar a cabo un objetivo especfico. Cuando las redesneuronales se usan para reconocer ciertas clases de patrones, ellasautoorganizan la informacin usada. Por ejemplo, la red llamadabackpropagation, crear su propia representacin caracterstica, mediantela cual puede reconocer ciertos patrones. Esta autoorganizacin provoca lageneralizacin: facultad de las redes neuronales de responderapropiadamente cuando se les presentan datos o situaciones a las que nohaba sido expuesta anteriormente. El sistema puede generalizar la entrada

    para obtener una respuesta. Esta caracterstica es muy importante cuandose tiene que solucionar problemas en los cuales la informacin de entrada

    34

  • 8/14/2019 Trabajo+Redes+Neuronales

    35/37

    no es muy clara; adems permite que el sistema d una solucin, inclusocuando la informacin de entrada est especificada de forma incompleta.

    7.3 Tolerancia a fallos.

    Las redes neuronales fueron los primeros mtodos computacionales con

    la capacidad inherente de tolerancia a fallos. Comparados con los sistemascomputacionales tradicionales, los cuales pierden su funcionalidad cuandosufren un pequeo error de memoria, en las redes neuronales, si seproduce un fallo en un nmero no muy grande de neuronas y aunque elcomportamiento del sistema se ve influenciado, no sufre una cadarepentina. Hay dos aspectos distintos respecto a la tolerancia a fallos:a) Las redes pueden aprender a reconocer patrones con ruido,

    distorsionados o incompletos. Esta es una tolerancia a fallos respecto alos datos.

    b) Las redes pueden seguir realizando su funcin (con cierta degradacin)aunque se destruya parte de la red.

    La razn por la que las redes neuronales son tolerantes a los fallos es quetienen su informacin distribuida en las conexiones entre neuronas,existiendo cierto grado de redundancia en este tipo de almacenamiento. Lamayora de los ordenadores algortmicos y sistemas de recuperacin dedatos almacenan cada pieza de informacin en un espacio nico, localizadoy direccionable. En cambio, las redes neuronales almacenan informacin nolocalizada. Por lo tanto, la mayora de las interconexiones entre los nodosde la red tendrn sus valores en funcin de los estmulos recibidos, y segenerar un patrn de salida que represente la informacin almacenada.

    7.4 Operacin en tiempo real.

    Una de las mayores prioridades, casi en la totalidad de las reas deaplicacin, es la necesidad de realizar procesos con datos de forma muyrpida. Las redes neuronales se adaptan bien a esto debido a suimplementacin paralela. Para que la mayora de las redes puedan operaren un entorno de tiempo real, la necesidad de cambio en los pesos de lasconexiones o entrenamiento es mnimo.

    7.5 Fcil insercin dentro de la tecnologa existente.

    Una red individual puede ser entrenada para desarrollar una nica y biendefinida tarea (tareas complejas, que hagan mltiples selecciones depatrones, requerirn sistemas de redes interconectadas). Con lasherramientas computacionales existentes (no del tipo PC), una red puedeser rpidamente entrenada, comprobada, verificada y trasladada a unaimplementacin hardware de bajo coste. Por lo tanto, no se presentandificultades para la insercin de redes neuronales en aplicacionesespecficas, por ejemplo de control, dentro de los sistemas existentes. Deesta manera, las redes neuronales se pueden utilizar para mejorar sistemasen forma incremental y cada paso puede ser evaluado antes de acometer

    un desarrollo ms amplio.

    35

  • 8/14/2019 Trabajo+Redes+Neuronales

    36/37

    8. Aplicaciones.

    8.1 Aplicaciones de las redes neuronales.

    Las redes neuronales pueden utilizarse en un gran nmero yvariedad de aplicaciones, tanto comerciales como militares.

    Hay muchos tipos diferentes de redes neuronales; cada uno de loscuales tiene una aplicacin particular ms apropiada. Algunasaplicaciones comerciales son:

    Biologa:

    Aprender ms acerca del cerebro y otros sistemas. Obtencin de modelos de la retina.

    Empresa:

    Evaluacin de probabilidad de formaciones geolgicas ypetrolferas.

    Identificacin de candidatos para posiciones especficas.

    Explotacin de bases de datos.

    Optimizacin de plazas y horarios en lneas de vuelo.

    Reconocimiento de caracteres escritos.

    Modelado de sistemas para automatizacin y control.

    Medio ambiente: Analizar tendencias y patrones.

    Previsin del tiempo.

    Finanzas:

    Previsin de la evolucin de los precios.

    Valoracin del riesgo de los crditos.

    Identificacin de falsificaciones.

    Interpretacin de firmas.

    Manufacturacin:

    Robots automatizados y sistemas de control (visinartificial y censores de presin, temperatura, gas, etc.).

    Control de produccin en lneas de procesos.

    Inspeccin de la calidad.

    Medicina:

    Analizadores del habla para ayudar en la audicin desordos profundos.

    Diagnstico y tratamiento a partir de sntomas y/o de datosanalticos(electrocardiograma, encefalogramas, anlisis

    sanguneo..). Monitorizacin en cirugas.

    36

  • 8/14/2019 Trabajo+Redes+Neuronales

    37/37

    Prediccin de reacciones adversas en los medicamentos.

    Entendimiento de la causa de los ataques cardacos.

    Militares:

    Clasificacin de las seales de radar.

    Creacin de armas inteligentes. Optimizacin del uso de recursos escasos.

    Reconocimiento y seguimiento en el tiro al blanco.

    Desde el punto de vista de los casos de aplicacin, la ventaja de lasredes neuronales reside en el procesado paralelo, adaptativo y no lineal.

    37