Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

Embed Size (px)

Citation preview

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    Redes Neuronales Artificiales

    Fernando Izaurieta y Carlos SaavedraDepartamento de Fsica, Universidad de Concepcin, Concepcin, Chile

    RESUMENEn esta charla se entrega una descripcin de las caractersticas principales del funcionamiento de redesneuronales artificiales. En primer lugar, se presenta un modelo sencillo de red neuronal y las familias de

    problemas que pueden ser modeladas por ellas. Adems, se describe esquemas simples de entrenamiento deredes orientadas al reconocimiento de patrones de informacin. Se presenta un ejemplo de aplicacin de lasredes al reconocimiento de texto.

    1. Introduccin.

    Las actividades de investigacin desarrolladas en torno alestudio de redes neuronales artificiales, simplemente redesneuronales o neuroredes, estn motivadas en modelar laforma de procesamiento de la informacin en sistemasnerviosos biolgicos. Especialmente, por la forma defuncionamiento del cerebro humano, que es completamentedistinta al funcionamiento de un computador digital

    convencional. El cerebro humano corresponde al de unsistema altamente complejo, no-lineal y paralelo. En trminossencillos lo anterior equivale a decir que puede realizarmuchas operaciones simultneamente a diferencia de loscomputadores comunes que son de tipo secuencial, o sea,realizan slo una operacin a la vez. En este sentido, unaneurored es un procesador de informacin, de distribucinaltamente paralela, constituido por muchas unidades sencillasde procesamiento llamadas neuronas. La neuroredes secaracterizan principalmente por:

    Tener una inclinacin natural a adquirir el conocimientoa travs de la experiencia, el cual es almacenado, al

    igual que en el cerebro, en el peso relativo de lasconexiones interneuronales.

    Tienen una altsima plasticidad y gran adaptabilidad,son capaces de cambiar dinmicamente junto con elmedio.

    Poseen un alto nivel de tolerancia a fallas, esdecir, pueden sufrir un dao considerable y continuarteniendo un buen comportamiento, al igual como ocurreen los sistemas biolgicos.

    Tener un comportamiento altamente no-lineal, lo queles permite procesar informacin procedente de otros

    fenmenos no-lineales.

    Entre las motivaciones principales para el estudio delfuncionamiento de las redes neuronales se encuentran losfenmenos neurolgicos. Nuestro cerebro es un procesadorde informacin muchsimo ms eficiente que un computador.La clave de esto se encuentra en la inmensa plasticidaddelcerebro, existen tareas cotidianas para el cerebro que seraimpensable realizar mediante computacin tradicional. Unejemplo de esto es la capacidad reconocer a una persona enun tiempo de 100 a 200 ms. En ese breve lapso, el cerebro escapaz de procesar un patrn de informacin tridimensional,

    por ejemplo, de una persona que quizs ha cambiadoaspecto (luce distinto o simplemente envejeci) en un paiscambiante (que puede contener muchos otros rostros). la actualidad, tareas mucho ms simples consumen dastrabajo de los computadores ms veloces. La plasticise percibe tambin en la capacidad de responder de forcorrecta frente a un estmulo nunca antes recibido. Ecapacidad hace que cuando nos presentan por primera vealguien, sepamos automticamente que es una persona y

    un objeto u otro ser biolgico. Debido a estas caracterstiy muchas otras, las neuroredes se han convertido en ugran ayuda en el procesamiento de datos experimentade comportamiento complejo. Adems, su comportamieiterativo no lineal las une de modo natural al caos y teorasla complejidad. De hecho, las posibilidades son tan amplque se empieza a hablar de un nuevo campo, aparte deBiologa, la Matemtica y la Fsica: las Neurociencias. Coya lo dijimos, lo que se desea inicialmente es imitar, al meparcialmente, el funcionamiento del cerebro. Para hacerevisaremos, superficialmente, algunos conceptos bsicosneurobiologa.

    2. Neurobiologa

    Una neurona tpica posee el aspecto y las partes quemuestran en la figura 1. Sin embargo, debemos observar qel dibujo no est a escala, el axn alcanza un largo tpicocentmetrosy a veces de varios metros, lasdendritas tambilas terminales sinpticas, son ms largas, numerosas y tupid

    Figura 1: Neurona y sus partes.

    Tpicamente, las neuronas son 6 5 rdenes de magnims lentas que una compuerta lgica de silicio, los eventen un chip de silicio toman alrededor de nanosegund(10 9 s), mientras que en una neurona este tiempo es

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    2 F. IZAUTIRETA Y C. SAAVEDRA

    orden de los milisegundos (10 3). Sin embargo, el cerebrocompensa en forma excepcional la lentitud relativa en elfuncionamiento neuronal con un nmero inmenso de neuronascon interconexiones masivas entre ellas. Se estima que elnmero de neuronas en el cerebro es del orden de 1010, yque el nmero de conexiones sinpticas es6 1013. La redresultante que es el cerebro es una estructura enormemente

    eficiente. Especficamente, la eficiencia energtica delcerebro es aproximadamente de 10 16J =(operaciones s),la cual es del orden de 1010 veces mayor que la de los mejorescomputadores en la actualidad.

    La mayora de las neuronas codifican sus salidas comouna serie de breves pulsos peridicos, llamados potencialesde accin, que se originan cercanos al soma de la clula yse propagan a travs del axn. Luego, este pulso llega a lassinapsis y de ah a las dendritas de la neurona siguiente.

    Unasinapsises una interconexin entre dos neuronas, undibujo esquemtico de ella se incluye en la figura 2. En ella,el botn sinptico corresponde al trmino del axn de unaneurona pre-sinptica, y la dendrita es la correspondiente a

    una neurona post-sinptica.50 nm

    Botn Sinptico Dendrita

    Figura 2: Salto sinptico

    El tipo ms comn de sinapsis es la sinapsis qumica, quefunciona como sigue. Una seal neural elctrica pre-sinptica,llega al botn sinptico de la figura 2. All, sta hace quelas vesculas sinpticas (en azul en nuestra figura) se rompan,liberndose as una sustancia llamada neurotransmisor. Estasustancia qumica se difunde a travs del espacio entre lasneuronas. Luego, es captada por la dendrita, en dondeestimula la emisin de un nuevo impulso elctrico, post-sinptico, que se propaga hacia la derecha. As vemos quelas dendritas son las zonas receptivas de una neurona, siendoel axn una lnea de transmisin, y los botones terminalescomunican los impulsos a otras neuronas.

    En la neurona, hay dos comportamientos que son

    importantsimos para nosotros:

    - El impulso que llega a una sinapsis y el que salede ella no son iguales en general. El tipo de pulsoque saldr depende muy sensiblemente de la cantidadde neurotransmisor. Esta cantidad de neurotransmisorcambia durante el proceso de aprendizaje, es aqu dondese almacena la informacin. Una sinapsis modifica elpulso, ya sea reforzndolo o debilitndolo.

    - En el soma se suman las entradas de todas las dendritas.Si estas entradas sobrepasan un cierto umbral, entonces

    se transmitir un pulso a lo largo del axn, en casocontrario no transmitir. Despus de transmitir unimpulso, la neurona no puede transmitir durante untiempo de entre 0,5 ms a 2 ms. A este tiempo se lellama perodo refractario.

    En base a estas dos caractersticas, construiremos elmodelo de red neural.

    3. Modelo Neuronal.

    Aqu se desea introducir un modelo sencillo de laneurona, para construir redes, nuestro fin ltimo es modelarcorrectamente el comportamiento global de toda la red. No sepretende modelar exactamente el comportamiento fisiolgicode la neurona, sino ms bien slo sus caractersticas msrelevantes, que entran en juego en su interaccin con toda lared.

    Tenemos un esquema de neurona en la figura 3. En lnuestra neurona de inters es la yj . Las n neuronas xi estn

    enviando seales de entradas, que son los valores numricosde algo. Los valores wj i representan los pesos sinpticos enlas dendritas deyj . Obsrvese la notacin: el primer ndicedenota a la neurona hacia donde se dirige la informacin, elsegundo ndicedenotade quneurona procede la informacin.

    xi

    xn

    x1wj1

    wji

    wj0

    yj

    v1j

    v2j

    (y j(in))

    Figura 3: Esquema de Neurona.

    Lo que hace cada peso sinptico es simplemente multiplicara su entrada correspondiente y define la importancia relativade cada entrada. Recordemos que en el soma de la neuronabiolgica se sumaban las entradas provenientes de todas lasdendritas. Entonces tenemos que la entrada total a la neuronayj es:

    y(i n)j =nX

    i=1

    wj i xi (1)

    En donde el ndice (in) denota input o entrada. Comomencionamos la neurona se activa si la entrada total supera uncierto umbral. Lo que se hace para esto es aplicar unafuncinde activacin ' sobre y(in )j , que puede ser, por ejemplo,una funcin tipo escaln o sigmoidea, como la tangentehiperblica. Entonces tenemos que la seal de output o salidade la neuronayj es:

    yj = '

    y(in )

    j

    (2)

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    3.1. Funciones de Activacin.

    Algunas funciones de activacin tpicas, no lineales, sepresentan en las figuras 4 y 5.

    y(in)

    y

    Figura 4: Escaln.

    y(in)

    y

    Figura 5: Sigmoidea.

    Estas funciones evidentemente transmiten la idea dedisparar sobre un umbral. Las neuronas y sus funciones deactivacin se dividen en dos tipos: bipolares o antisimtricas ybinarias. En las primeras, -a yj a, siendo generalmentea = 1, y en las segundas, 0 yj 1. Adems, a vecesse suele usar como funcin de activacin una relacin lineal,generalmente la funcin identidad. Esta se usa por lo generalpara neuronas de entrada a la red o sensores. Esto se debea que evidentemente, lo que esperamos de un sensor es queindique precisamente lo que est percibiendo.

    Si la funcin de activacin de una neurona es lineal,decimos que es una neurona lineal, en caso contrario, decimosque es una neurona no lineal. Aqu, las neuronas lineales

    se las representa por un cuadrado, y a las no lineales por uncrculo.

    3.2. Umbrales e Inclinacin.

    Anteriormente, se explic que una neurona se activa odispara si su entrada total supera un cierto umbral. Ahorabien, muchas veces es deseable modificar este umbral,haciendo ms difcil que la neurona dispare (subir el umbral)o ms fcil (bajar el umbral). Es posible hacer estodirectamente. Sin embargo, esto suele ser un poco engorrosoal programar.

    1= x0

    wj0

    xi

    xn

    x1wj1

    wji

    wj0

    yj

    v1j

    v2j

    (y j(in))

    Figura 6: Esquema con Inclinacin.

    Resulta mucho ms compacto y prctico aadir lo quellama una neurona de inclinacin, x0, a la que se asignavalor fijo de 1, y un peso sinptico wj 0. A la neuronayjasignamos un umbral fijo de cero.

    Se ve claramente que esto es equivalente a que la neuryj tenga un umbral de wj 0. Entonces se tiene que:

    y(in )j =nX

    i=0

    wj i xi ; con x0= 1.

    3.3. El Comienzo: McCulloch-Pitts.

    Despus de las definiciones previas, es conveniente reviun ejemplo sencillo, pero muy instructivo, sobre el temEste consiste en el primer modelo que se cre de red neuel ao 1943, antes de que se construyeran los primecomputadores. McCulloch era un siquiatra y neuroanatomy Pitts un matemtico. El primero pas 20 aos estudiasobre cul era la representacin de un evento en el sistenervioso. Su modelo tiene las siguientes caractersticas:

    - Las neuronas son del tipo binario, [0; 1].

    - Los umbrales y las sinapsis se mantienen fijas.

    - La funcin de activacin es del tipo escaln.

    Ellos demostraron que todas las funciones lgicas se pueddescribir mediante combinaciones apropiadas de neuronaseste tipo, y que por lo tanto, se poda crear, en principuna red capaz de resolver cualquier funcin computabAdems, el modelo sirve para explicar algunos fenmenbiolgicos sencillos. De esta forma es posible descralgunas funciones lgicas como:

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    4 F. IZAUTIRETA Y C. SAAVEDRA

    1

    1x1

    x2

    y

    x1 x2 y

    1 1 1

    0 1 0

    1 0 0

    0 0 0Figura 7: Funcin And

    2

    2x1

    x2

    y

    x1 x2 y

    1 1 1

    0 1 1

    1 0 1

    0 0 0Figura 8: Funcin Or

    En todos estos ejemplos, se supone que el umbral de cada neurona no lineal es 2. O sea,

    y =

    0si yi n < 21si yi n 2

    (4)

    Ahora es muy fcil comprobar que las tablas de verdad efectivamente se cumplen1, por ejemplo, la primera lnea de la tabla deverdad para elAnd:

    1 1 + 1 1 = 2 = yin ) y = 1

    Veamos una funcin lgica ms: elxOru Or excluyente.

    2

    2

    z

    x1 x2 z

    1 1 0

    0 1 1

    1 0 1

    0 0 0

    x1

    x2

    y1

    y22

    2

    -1

    -1

    fig 9: Funcin xOr.

    Es fcil comprobar que la red mostrada efectivamentecumple con la tabla de verdad. Sin embargo, llama la atencinel que su red sea ms compleja que la de las funciones AnduOr, pese a que slo se diferencia de la funcin Or en laprimera lnea. Pudiramos darnos el trabajo de buscar una reddiferente para representarxOr, buscando algo ms sencillo.Existen varias otras redes que tambin la representan, peroninguna de ellas sencillas como la paraAndu Or.

    Fijmonos primero en que consiste la complejidad. Enlas redesAnd u Or las neuronas de entrada y la de salidaestnconectadas directamente, en cambio, se puededemostrarque para la funcin xOr habr siempre por lo menos, una

    conexin indirecta. Para entender esta diferencia se debeincorporar dos nuevos conceptos: Problemas linealmenteseparables y Capas Neurales.

    3.4. Problemas Linealmente Separables y Capas Neurales.

    3.4.1. Problemas Linealmente Separables.

    Volvamos a una red simple, como la del And u Or, pero msgeneral, como la de la figura 10. En ella, hemos aadido una

    neurona de inclinacin, en vez de un umbral.

    w2

    w1

    y

    x1

    x2

    x0 w01

    Figura 10: Funcin Lgica simple.

    Sabemos que la entrada y(in ) estar dada por:

    y(i n) = w0 + w1x1 + w2x2; (5)

    y la respuesta, por:

    1Se asume que 1=Verdadero y 0=Falso.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    y =

    0siy(i n) < 01siy(i n) 0

    (6)

    Esto divide al plano formado porx1 y x2en dos regiones: enuna, se tendr quey = 0 ey(i n) < 0, en la otra se tendr quey = 1 ey(in ) 0. Lafrontera entre ambas est dada por laecuacinlineal de la recta:

    w0 + w1x1 + w2x2= 0:

    Veamos por ejemplo que ocurre con la funcin And.Tenemos que y(i n) = x1+x2 2, la frontera es x1+x2= 2:Si superponemos las respuestas que nos debe arrojar la redcon el grfico de las regiones, obtenemos la figura 11.

    x 1

    x 2

    0 1

    0

    1 1

    00

    0

    C l a s e 1

    C l a s e 0

    x 1 +x 2 = 2

    Figura 11: And sobre el plano.

    Si la entrada est en la regin Clase 1 producir una salida1, si est en la Clase 0, una salida de 0. Vemos que sepueden separar las entradas que deben producir una salida 1de las que deben producir una salida 0 por una lnea recta. Sedice entonces que el problema es linealmente separable. Pararesolver un problemalinealmente separable, nos basta conuna

    red sencilla.Revisemos en cambio, como es la funcin xOr sobre elplano:

    x1

    x2

    0 1

    0

    1 0

    10

    1

    Figura 12: xOr sobre el plano.

    Mediante simple inspeccin podemos comprobar efectivamente es imposible encontrar una lnea recta que da un lado las entradas que deben producir 0, y al otro, las qdeben producir 1. En este caso, decimos que el problemaes linealmente separable. Por eso no nos basta con una sencilla para resolver elxOr.

    Lo que en realidad estamos haciendo es un caso m

    sencillo del problema general declasificacin de patronEstamos clasificando las entradas en Clase 1 o ClVerdadera y Clase 0 o Clase Falsa.

    El concepto de separabilidad lineal se extiende de monatural a entradas de ms dimensiones. Las entradas pertenecen a una clase y las que no pertenecen a esimplemente tienen que poder separarse por el hiperpla

    nP

    i=0

    wj i xi = 0en el espaciox de las entradas.

    Clase 2

    Clase 1

    No - Linealmente

    Separable:

    Clase 2

    Clase 1

    Linealmente Separable:

    wjixi=0i=0

    n

    Espaciox

    Figura 13: Separabilidad Lineal.

    Para aclarar el concepto de redes sencillas primrevisaremos otro concepto: las Capas Neurales.

    3.4.2. Capas Neurales

    Cuando trabajamos con grandes cantidades de neurones natural ordenar aquellas que tienen comportamiensimilares en capas, como en la figura 14. De ah queusen los subndices para las neuronas. Cada capa es un vecde neuronas.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    6 F. IZAUTIRETA Y C. SAAVEDRA

    w10

    wj0

    wn0

    x0

    w11

    wj1

    wn1

    x1

    w1m

    wjm

    wnm

    w1i

    wji

    wni

    xi

    xm yn

    yj

    y1

    1=

    Entrada

    Salida

    Capa 0 Capa 1Figura 14: Red Unicapa.

    Se acostumbra no contabilizar la capa de entrada, por lo tanto se dice que la red de la figura 14 es Unicapa. Las sinapsisobviamente estn ordenadas en una matriz wj i de n(m+1). Evidentemente, de nuestro anlisis anterior, tenemos que una redunicapa slo puede resolver problemas linealmente separables. En una red unicapa, las neuronas de salida pueden ser lineales ono lineales.

    Pero es evidente que podemos seguir aadiendo capas, como se muestra en la figura 15.

    u10

    uj0

    un0x0

    u11

    uj1

    un1

    x1

    u1m

    ujm

    unm

    u1i

    uji

    uni

    xi

    xm

    1=

    Entrada

    Capa 0 Capa 1

    v10

    vk0

    vp0

    v11

    vk1

    vp1

    w1n

    wkn

    wpn

    v1i

    vkj

    vpj

    y0

    zp

    zk

    z1

    Capa 2

    Salida

    1

    yj

    y1

    yn

    Figura 15: Red Multicapa.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    En una red multicapa, las capas ocultas, que en nuestrafigura corresponde a la Capa 2,siempre son no lineales. Sepuede demostrar muy fcilmente que si se construye una redmulticapa con capas ocultas lineales, sta es equivalente a unared unicapa.

    Podemos ver fcilmente la idea de paralelismo al observarlas capas de las redes. Cada neurona de una capa no necesita

    de las dems en su misma capa para trabajar, son capacespor lo tanto de trabajar simultneamente. Esta cualidadse ha aprovechado al disear chips paralelos con la nuevatecnologa VLSI (VeryLargeScaleIntegrated), en donde sehan implementado varios tipos de neuroredes.

    Una red multicapa es capaz de resolver problemas mscomplejos, pero su proceso de aprendizaje tambin es mscomplicado.

    4. Aprendizaje o Entrenamiento.

    El aprendizaje es la clave de la plasticidad de una neuroredy esencialmente es el proceso en el que se adaptan las

    sinapsis, para que la red responda de un modo distinto a losestmulos del medio. Recordemos que en una neurored, todala informacin adquirida se guarda en el valor de cada pesosinptico. De hecho, las neuronas de la mayor parte de losseres vivos con sistema nervioso, desde un caracol hasta elhombre son esencialmente iguales. Lo que nos hace msinteligentes que un caracol es el nmero, organizaciny modode cambio de las conexiones sinpticas. El aprendizaje sedivide principalmente en dos tipos: Aprendizaje con Profesoro Supervisado y sin Profesor o No Supervisado. Nosotros sloestudiaremos aprendizaje con profesor y algunas variantes deste.

    4.1. Aprendizaje con Profesor o Supervisado.

    El proceso es completamente anlogo a ensearle algo a unnio, digamos por ejemplo, a reconocer las vocales. Los pasosdel proceso son los siguientes:

    - El profesor dispone de un conjunto de N pares deentrenamiento,fxi (n);dj (n)g

    Nn=1, en donde xi (n) es

    la n-sima entrada y dj (n) es la respuesta correcta aesa entrada. En nuestro ejemplo, significa que tenemostodas las vocales dibujadas en un papel (xi (n) ) y quenosotros sabemos las respuestas correctas ( dj (n) ) acada una de las figuras, los sonidos A,E,I,O,U.

    - Introducimos una de las entradas xi (n) y esperamosque nuestra red nos responda. Sera como mostrarleal nio la letra A y preguntarle: Dime, Qu letra esesta?.

    La neurored responde mediante una salida oj (n).Digamos, el nio nos respondi Esa es una E.

    Luego comparamos ambas seales, la respuestadeseadadj (n) y la respuesta de la red oj (n), creandouna seal de error,ej (n) = dj (n) oj (n). Mmm... elnio no est tan despierto como esperaba....

    Luego, con la seal de error ej (n), corrijo las sinapde la red mediante algn algoritmo de los que se vercontinuacin. No hijo, esta no es una E, es una A..

    dj (n)

    +

    xi(n)

    oj (n) -

    ej (n)

    Profesor{xi(n);dj(n)}

    Neurored

    Figura 16: Aprendizaje con Profesor o Supervisado.

    La secuencia completa de los N pares de entrenamiento conocida como unapoca. En general, pueden haber mucpocas, y el aprendizaje se detiene cuando la red responcorrectamente a todos los pares de entrenamiento.

    En general, cuando adaptemos las sinapsis, la formahacerlo ser mediante la siguiente ecuacin:

    wj i (n + 1) = wj i (n) + wj i (n)

    en donde wj i (n) son los pesos sinpticos con los qla red responder al n-simo ejemplo. Esto equivalno cambiar los pesos sinpticos en forma radical, s

    que simplemente los variamos en una cantidad peque wj i (n) con respecto a su estado anterior. Lo que diferena los algoritmos o reglas de aprendizaje, es bsicamente coencontrar wj i (n). El que hayan distintos algoritmos ticierta base biolgica. Neuronas de distintas partes del cereaprenden de forma distinta tambin.

    4.2. Regla de Hebb.

    Esta es la ms antigua y la ms famosa de las regde aprendizaje, su base es completamente biolgica. Fencontrada por el neurofisiologo Hebb en 1949, qudescubri que si dos neuronas a ambos lados de la sinap

    estaban activas (o inactivas) simultneamente, entonces sinapsis entre ellas se reforzaban, y si se activabandesactivaban) asincrnicamente, se debilitaban. Una forde expresar esta idea de forma sencilla es la siguiente:

    wj i (n) = yj (n)xi (n); > 0;

    donde lascapas de neuronas xi e yj estn distribuidas comola figura 14. A la constante de proporcionalidad se le llamrazn de aprendizaje. Para ver como funciona, supongamquexi e yj son bipolares o antisimtricas, con a = 1. Si

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    8 F. IZAUTIRETA Y C. SAAVEDRA

    eyj toman ambas simultneamente el valor de 1 (o de -1), wj i (n) =, y esa sinapsis se reforzar. En cambio, si unatomase el valor -1 y la otra el de 1, wj i (n) = , y esasinapsis se debilitar.

    Este aprendizaje explica el famoso experimento de Pavlov.l le daba alimento a un perro y simultneamente tocaba unacampanilla. Despus de repetir esto muchas veces, Pavlov

    toc slo la campanilla, sin alimento. Y el perro, slooyendo la campanilla, salivaba. La explicacin es muy simple.Al activarse simultneamente las neuronas que controlan lasalivacin y las que perciben la campanilla, las sinapsis entreellas se refuerzan.

    4.3. Aprendizaje para redes Unicapa.

    4.3.1. Regla de Aprendizaje perceptrnico.

    Objetivo y funcionamiento general: Esta reglade aprendizaje est diseada especialmente para elreconocimiento de patrones, pero por ser red unicapa,slo se pueden usar patrones linealmente separables. Elperceptrn naci como un primer intento de modelar la retina,en 1958, por Rosenblatt. Es usual pensar que la retina essimplemente un receptor (como el detector CCD de unacmara de vdeo), pero en realidad es una red altamentecompleja. Slo ha podido ser reproducida en ojos para robotsy retinas artificiales para ciegos en la ltima dcada, mediantelos llamados circuitos neuromrficos. La retina, adems de

    ser un receptor, es capaz de reconocer el movimiento y

    bordes, y puede adaptarse a cambios locales en el brillo.Un perceptrn es una red de una sola capa, como la de

    la figura 14. Las neuronas de salida son no lineales, confuncin de activacin tipo escaln. En nuestros experimentosnumricos, utilizamos funciones de activacin bipolares o

    antisimtricas, como la siguiente:

    yj =

    8>:

    1si y(i n)j < 0

    0siy(in )j = 0

    1siy(in )j > 0

    (9)

    Ntese que se incluy un punto neutro. A este se le suelellamarpunto de indeterminacin. A veces incluso se usauna regin en torno al origen que produce una salida de cero, ala cual se le llamabanda de indeterminacin. Simplementedice que la neurona no sabe que responder. Cada neurona desalida representa a una clase determinada, si una de ellas se

    activa con una entrada, significa que pertenece a esa clase,si est desactiva, que no pertenece. Aqu, incluimos dosexperimentos al respecto, clasificando imgenes de letras.La entrada xi corresponde al i-simo pxel de la imagen.Digamos por ejemplo que tenemos una red que nos clasificauna entrada como X u O. Lo que queremos es que funcionecomo se muestra en la figura 17, en donde la neurona marcadacon X reconoce a la clase X, y la con O, a la clase O:

    X 1 : E s u n a X

    -1 : N o e s u n a O

    x

    O

    O - 1 : N o e s u n a X

    1 : E s u n a O

    x

    O

    Figura 17: Funcionamiento de un Perceptrn

    Algoritmo Perceptrnico. Veamos ahora como entrenaresta red que cuentamo y m1 nmero de neuronas de entraday salida respectivamente. Adems, existen N pares deentrenamientofxi (n); dj (n)g

    Nn=1. De esta forma el algoritmo

    es:

    Paso 0: Inicializar las sinapsis de la red, se puede elegirwj i (0) = 0 valores aleatorios. se elige una raznde aprendizaje, 0 < 1.

    Paso 1: Mientras la condicin de parada del paso 5 sea falsa,realizar los pasos del 2 al 5.

    Paso 2: Para cada par de entrenamiento, (xi (n);dj (n)) ; n =

    1;:::;N , hacer los pasos del 3 y 4.

    Paso 3: j = 1;:::;m1

    y(i n)j (n) =m0X

    i=0

    wj i (n)xi (n)

    yj (n) =

    8>:

    1si y(i n)j (n)< 0

    0siy(in )j (n) = 0

    1siy(in )j (n)> 0

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    Paso 4: Si yj (n) 6= dj (n), para algn j entre 1 y m1,entonces

    wj i (n + 1) = wj i (n) + dj (n)xi (n);

    dondej = 1;:::;m1; i = 0;:::;m0. En caso contrariowj i (n + 1) = wj i (n)

    Paso 5: Si los pesos sinpticos no cambian para cada patrnde entrenamiento durante la ltima vez que se realiz elpaso 2, entonces parar, sino es as, continuar.

    Se ve claramente que en nuestro caso, wj i (n) =dj (n)xi (n) o 0, dependiendo de si hubo error o no. Podemosentender intuitivamente el algoritmo de la siguiente forma.Supongamos que la j -sima neurona respondi de formaincorrecta, dijo -1 en vez de 1. Esto significa que y(in )j (n) fuedemasiado pequeo, debemos hacer que crezca haciendo que

    ms trminos en la sumatoriam0P

    i=0

    wj i (n)xi (n) sean positivos

    y lo mximo posible. O sea, si la i -sima entrada, xi (n) es+1, entonces lai-sima sinapsis,wj i (n), debiera ser positivay lo ms grande posible tambin: debemos hacerla crecer. Sipor el contrario,xi (n) es -1, debemos hacer bajar a wj i (n).Eso es lo que se re eja en la forma en que hemos construidoel wj i (n), si dj (n) es +1, entonces wj i (n) tiene el mismosigno que xi (n). En el caso contrario, es todo al revs.

    Es bastante evidente que si un problema es linealmenteseparable, existen infinitos pesos sinpticos que servirnpara solucionar el problema. Basta con multiplicar por una

    constante la ecuacinnP

    i=0

    wj i xi = 0y seguimos teniendo

    el mismo hiperplano de separacin, aunque distintos pesinpticos. Adems, generalmente, no es un solo hiperplel que nos podra delimitar bien la frontera, sino que ms bhay infinitos, como se muestra en la figura 18:

    Clase 2

    Clase 1

    Espaciox

    Figura 18: Infinitas Soluciones.

    O sea, o no existe ninguna solucin, o existen infinitasEs posible demostrar que si existe solucin, entonc

    el algoritmo perceptrnico converger a una de las infinsoluciones en un nmerofinitode pasos.

    Experimentos Computacionales. A modo de ejemplo incluyen dos experimentos (computacionales), ambos clasificacin de letras. Para el primero, usamos las siguienentradas:

    Figura 19: Patrones de entrenamiento para el Experimento 1

    Cada imagen es de 7 9= 63 pxels, un pxel negro corresponde a un +1 y uno blanco a un -1, se us = 1. Las sinapse inicializaron con 0. Para construir el vectorxi de entradas, simplemente ponemos una fila de la imagen despus de la otDespus del entrenamiento, algunos patrones que fueron clasificados correctamente fueron los siguientes:

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    10 F. IZAUTIRETA Y C. SAAVEDRA

    A C D E K

    Aqu observamos el funcionamiento de la red que se haconstruido, que a pesar de ser muy simple, tieneplasticidady es capaz degeneralizar. A pesar de que nunca vio esospatrones con errores durante su entrenamiento, fue capaz dereconocer a qu letra correspondan.

    Para ampliar el experimento nos preguntamos: Se podrrealizar con patrones ms grandes? y, Qu imagen podemoshacernos de cmo estn distribuidas las sinapsis?

    Para responder esas preguntas, construimos un perceptrnque slo clasificara entre X, O e I, pero con entradas deuna resolucin mucho mayor: 56 72 = 4032 pixeles.Trabajamos exactamente del mismo modo que con el ejemploanterior. Los patrones de entrenamiento ahora son lossiguientes:

    Figura 21: Patrones de entrenamiento, 2

    Se necesitaron slo tres pocas. Algunos patrones quefueron clasificados correctamente, son:

    X O I

    Nuevamente observamos la plasticidad. Pero, cmo sedistribuyen las sinapsis?. Para verlo de un modo grfico,simplemente reordenamos en la misma forma de la imagenoriginal a las sinapsis, obtenindose 3 grficas: Una para lassinapsis que se conectan con la neurona de la X, otra con la dela O y otra con la de la I.

    X O I

    4

    0

    -4

    Figura 23: Sinapsis para X,O e I.Simplemente observando se puede entender cmo funcionanlas sinapsis, y qu regiones son ms cruciales que otras alreconocer el patrn.

    Pero dijimos que las sinapsis no eran nicas. Siempezamos con valores iniciales aleatorios llegamos a otrotipo de conexiones sinpticas, como estas:

    X O I

    4

    0

    -4

    Figura 24: Otras Sinapsis para X, O e I.

    Ahora, pasaremos a otra tarea que realizan muy bien lasneuroredes: predecir.

    4.3.2. Regla Delta, o correccin de error.

    Esta es una regla muy popular, en ella se usa una red de una

    sola capa, igual que la perceptrnica, pero la neurona de salidatiene una funcin de activacin derivable, generalmente lafuncin identidad o la tangente hiperblica. Para esta regla,usamos un algoritmo ms sencillo, simplemente calculamos elerrorej (n) = dj (n) yj (n) correspondiente a cada entrada,y luego corregimos las sinapsis de la red mediante la regla:

    wj i (n) = ej (n)' 0j (y

    (i n)j (n))xi (n) (10)

    Si las neuronas de salida tienen a la identidad comofuncin de activacin,' 0j (y

    (i n)j (n)) = 1, y entonces,

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    wj i (n) = ej (n)xi (n)

    que es la forma ms comn del algoritmo. Esta regla enrealidad es un caso particular muy sencillo del algoritmo deretropropagacin de errores.

    La convergencia del algoritmo depende fuertemente del

    valor de. Si se elige uno muy pequeo, la convergencia sehar muy lenta, y si se elige muy grande, el proceso se volverinestable y no converger. Existen criterios para determinarcotas superiores para , pero suelen ser complicados, nosotros

    en nuestro experimento simplemente recurrimos al ensayerror, que suele ser mucho ms rpido.

    Predictor lineal, o filtro Lineal Adaptativo. Supongamque tenemos un sistema dinmico al que estamos describienpor un nico parmetrox. Lo nico que conocemos de

    es su historia, muestreando x cada cierto perodo T . que queremos hacer es predecir cul ser la respuesta sistema en el prximo instante. Esto lo hacemos mediauna interaccin red - sistema dinmico como la mostradala figura 25:

    Sistema

    Dinmico

    +

    -

    x( [n+1]T )

    wi

    wn

    w1

    w0

    x( [n+1]T )

    wi(n)

    e(n)

    1

    x( nT )

    x( iT )

    x( T )

    x

    figura 25: Predictor Lineal

    Aqu vemos que el papel de profesor es llevado de modoautomtico por el mismo sistema dinmico. La red conocetodas las entradas desde x (T ) hasta x (nT), y debe predecirel valor de x ([n + 1]T ). El papel de respuesta deseada lojuegax ([n + 1]T ) y el de entrada el historial del proceso.Es completamente anlogo al proceso de aprendizaje conprofesor, excepto por que el nmero de neuronas de entradadebe aumentar constantemente.

    Experimento computacional. Usamos un = 0:01 y unaneurona de salida con la funcin identidad. Nuestro sistemadinmico era una seal senoidal con variaciones aleatorias.

    50 100 150 200 250

    -1

    -0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Tiempo [ T ]

    x

    Sist. Dinmico.

    Neurored

    Figura 26: Experimento de Prediccin.

    Se puede observar fcilmente que a medida que la redaprendiendo, cada vez es capaz de predecir mejor.

    4.4. Aprendizaje para Redes Multicapa.

    Ahora, romperemos con nuestras limitaciones anterioreestudiaremos el caso nolineal. Debemos recordar que en etipo de redes, las funciones de activacin de las capas ocuson siempre no lineales. Adems, veremos de las ecuacioque necesitamos una funcin de activacin diferenciabletodo su dominio. Adems, se encuentra que el algorit

    de aprendizaje es ms difcil de visualizar. Nosotslo estudiaremos un tipo de aprendizaje, el AprendizRetropropagador de Error.

    4.4.1. Estructura y Notacin general

    La estructura de la red se muestra en la figura 27, la capasalida es la capa L -sima, y tiene mL neuronas. La de entraes la capa 0, y tienem0 neuronas. Decimos que nuestra rtiene L capas, a L se le llama a veces la profundidad dered.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    12 F. IZAUTIRETA Y C. SAAVEDRA

    m0 m1 m2 ... mL-2 mL-1 mL

    Salida

    Ent

    rada

    Figura 27: Red Multicapa.

    Supondremos que cada capa tiene sus neuronas deinclinacin, que por lo general no dibujaremos en losdiagramas. En general, las neuronas de cada capa estncompletamente conectadas con las de la siguiente.

    En el funcionamiento de nuestra red, nos encontraremoscon dos tipos de seales: Seales de Funcin y Seales deerror.

    - Seales de Funcin: Es el estmulo que entra en lacapa 0, y pasa hacia adelante, capa por capa del modotradicional, hasta la ltima capa, L , en donde se genera

    la seal de salida.

    - Seales de Error: Luego de la etapa hacia adelante,

    viene la retropropagacin del error, hacia atrs. Cuandocorregimos las sinapsis, corregimos las de la capa Lprimero. Luego, observando las sinapsis de la capa L ,corregimos las de la capa L 1, y as sucesivamentehasta la primera capa. A esto se le llama seal deerror, vamos desde las ltimas capas hasta las primerascorrigiendo sinapsis. Esto es lo que se ilustra en lafigura 28:

    Seal de Funcin

    Seal de Error

    2 Etapas:

    Figura 28: Etapas hacia adelante y hacia atrs.

    4.4.2. Definiciones.

    Error: Supongamos que la capa de salida est constituidapor las neuronas zk . Entonces, el error cometido alpresentarse eln-simo par de entrenamiento es:

    ek(n) = dk (n) zk(n): (11)

    Energa de error: La energa de error al presentarse eln-simo par de entrenamiento es:

    "(n) =1

    2

    mLX

    k=1

    e2k (n) (12)

    Esta no es una energa fsica, en la jerga de lasneuroredes slose le llama as por su forma anloga a la energa cintica.

    Muchos fsicos han trabajado en este campo, y hanempleado trminos de la Fsica.

    Energa promedio de error. Es el promedio de la energade error durante una poca completa de presentacin depatrones.

    "pro= 1

    N

    NX

    n=1

    "(n) (13)

    donde"(n) y "pro son funciones de todas las sinapsis de lared. El objetivo del proceso de aprendizaje ser minimizar"pro. Sea wj i una sinapsis cualquiera de la red. Es fcil verque "av(wj i ) y "(n)(wj i ) constituyensuperficiesde error. Laidea del algoritmo ser la del descenso paso a paso. Vamosa hacer una primera aproximacin para aclarar conceptos.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    El gradiente de "av seala su direccin de crecimiento.Evidentemente, viene dado por:

    @j i "pro(wj i ) =@"pro@wj i

    : (14)

    Si queremos minimizar "pro, deberamos dirigirnos en contradel gradiente, como vemos en la siguiente relacin:

    wj i (p+ 1) = wj i (p) @"pro@wj i (p)

    (15)

    En donde p simplemente seala que estamos en el p-simopaso. Lo que estamos haciendo es esquiar o resbalarnossobre la superficie de error, tratando de llegar al mnimoglobal de la superficie. Sin embargo, haciendo esto, corremosel peligro de quedar atrapados en un minmo local de lasuperficie, y nunca alcanzar el mnimo global, como se ilustraen la figura 29.

    ??

    av

    wji

    Figura 29: Peligro de caer en mnimo local.

    Se puede intentar evitar esto tratando de minimizar las "envezde "pro, pero de un modo bien especial, como se expen la siguiente seccin.

    4.4.3. Idea del Algoritmo.

    Intentaremos minimizar"av minimizando las " (n). Es detendremos que:

    wj i (n + 1) = wj i (n) @"(n)

    @wj i (n): (1

    Cada patrn que se presenta tiene una superficie error "(n) diferente. Lo que hacemos es presentar el

    simo par de entrenamiento y corregir todas las sinapde la red. Es decir tenemos la n-sima superficie y nresbalamos un paso. Luego, presentamos el(n + 1)-sipar de entrenamiento y corregimos nuevamente todas sinapsis de la red. O sea,cambiamos de superficie y nresbalamos otro paso. Este constante cambio de superfhace muy difcil quedar atrapado en un mnimo local. Ubuena imagen mental sera estar esquiando en una montaque est temblando alocadamente!. Evidentemente, tardtemprano llegaremos al valle ms profundo que exista. Epoceso se ilustra en la figura 30.

    (n)

    wji

    (n+1)

    wji

    Figura 30: Esquivando Minmos Locales.

    Lo que estamos suponiendo implcitamente es que elpromedio de los cambios individuales en las sinapsis es unestimadordel cambio que debiera ocurrir si minimizaramosdirectamente"pro.

    Adems, el orden de presentacin de los paresde entrenamiento se randomiza de poca en poca.Esto hace que la trayectoria seguida sobre la superficiesea completamente estocstica. Supongamos que norandomizramos el conjunto de entrenamiento. Entoncestendramos que poca tras poca estaramos repitiendo el

    mismo procedimiento, llammoslo F . Entonestaramositerando:

    wj i ((n + 1)-poca) = F (wj i (n-poca)) (1

    Desde Teora de Caos, sabemos que procesos como espueden converger a estados metaestables, como ciclos lmiPara eliminar esta posibilidad se intenta randomizarconjunto de entrenamiento, mediante:

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    14 F. IZAUTIRETA Y C. SAAVEDRA

    wj i (1-poca) = F (wj i (0-poca))

    wj i (2-poca) = G(wj i (1-poca))

    wj i (3-poca) = H (wj i (2-poca)), etc.

    4.4.4. Algoritmo de Retropropagacin de Error.

    Consideremos la red de la figura 31. No dibujamos lassinapsis, slo las sealamos con una echa. La red puedeseguir teniendo ms capas ocultas hacia atrs. Se puededemostrar que:

    wkj (n) = @"(n)

    @wkj= k(n)yj (n), k = 1;:::;mL ; j = 0;:::;mL 1 (18)

    vj i (n) = @"(n)

    @vj i= j (n)xi (n), j = 1;:::;mL 1; i = 0;:::;mL 2

    wkj

    yj zk

    vji

    ximL-2 mL-1 mL

    Salida

    Figura 31: Red Multicapas.

    O sea, cada cambio en las sinapsis es directamente

    proporcional a las seales enviadas por la capa que seencuentra antes. wkj / yj ; vj i / xi , y as para todaslas capas de la red.

    Si la capa es de salida o si es oculta, el gradiente locall =

    @"(n)

    @y( i n )

    l

    se calcula de formas diferentes.

    Capa de Salida:

    (L )k (n) = e

    (L )k (n)'

    0k (z

    (i n)k ), k = 1;:::;mL (19)

    Aadimos el superndice L (aunque con la notacin queestamos usando no es estrictamente necesario) para recalcarque nos referimos a la capa de salida. Usamos ' 0k , la

    0

    significa derivada con respecto al argumento, y el subndicek se refiere a que cada neurona, en general, pudiera tener unafuncin de activacin distinta!.

    Este es el mismo resultado que tenamos para el filtrolineal adaptativo de una sola capa. As que ahora sabemos dedonde vena esa ecuacin. Simplemente estbamos tratandode minimizar "avde la forma ya descrita.

    Capas Ocultas:

    (L 1)j (n) = ' 0j (y

    (i n)j (n))

    mLX

    k=1

    (L )k (n)w(L )kj (n); (20)

    dondej = 1;:::;mL 1. Aqu vemos que el(L 1)j depende

    de los(L )k de la capa de ms adelante. Con las otras capasocultas, se hace exactamente lo mismo, siempre la correccindepende, de la misma forma, de lo que haya sucedido en lascapas de ms adelante. Es a lo que nos referamos con que laseal de error va hacia atrs.

    A este mtodo, en donde evitamos los mnimos locales,

    se le llama Mtodo Secuencial. Algunas veces, pese alriesgo de caer en mnimos locales, se minimiza directamente"av, llamndose a esto Mtodo Grupal, que no es muyusado. Aunque las caractersticas estocsticas del mtodosecuencial hacen que evite caer a un mnimo local, hacen quesea muy difcil establecer tericamente la convergencia. Encambio, con el mtodo grupal, la convergencia a un mnimolocal est garantizada con un mnimo de condiciones. Pesea ello, el mtodo secuencial es altamente popular, pues esmuy simple de implementar computacionalmente y adems,efectivamente funciona muy bien en una inmensa mayora decasos difciles.

  • 5/28/2018 Www.itescam.edu.Mx Principal Sylabus Fpdb Recursos r101156

    REDES NEURONALES ARTIFICIALES

    5. Conclusiones

    Este trabajo ha pretendido realizar una pequea introduccina algunas caractersticas de neuroredes conocidas. De hecho,an los estudios ms avanzados que existen hoy da sobre eltema estn muy alejados de entender el funcionamiento delcerebro, que fue su motivacin inicial. El tema en realidad es

    muy vasto. Sin embargo, pese a que hemos visto una partenfima del total, hemos podido apreciar algunas cualidades deeste mecanismo de procesamiento de informacin.

    En primer debemos lugar destacar que es posible modelarel funcionamiento de una neurona en forma extremadamentesimple, y sin embargo, posee una gran capacidad, vemos lasencillez y la complejidad unidas de un modo maravilloso.Por ejemplo, de describi la posibilidad de procesarcantidades increbles de informacin en forma paralela, de unmodo sencillo y natural.

    Al poder establecerse las funciones lgicas mediante lacombinacin de neuronas vemos tambin la posibilidad de

    poder construir computadoras con ellas, por lo menosprincipio.

    Otra caractersticas fundamentales que no podemolvidar son la Robustez y la Capacidad de Aprendizaje. Lneuronas son capaces de imitar y predecir el comportamiede sistemas dinmicos sin usar ningn modelo explcitocapaces de reconocer patrones, aunque stos tengan errore

    Adems de todo eso, son muy interesantes para la Fstanto para procesar informacin como en s mismas. cuanto a esto ltimo, se han descubierto interesantes reas relacionan las neuroredes con la Teora de la InformacinCaos, la Mecnica Estadstica.

    6. Bibliografa

    [1] Laurene Fausett, Fundamentals of Neural Netwo(Prentice-Hall, New Yersey, USA, 1994).

    [2] Simon Haykin, Neural Networks (Prentice-Hall, NYersey, USA, 1999).