Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 REDES NEURONALES II C on te ni do • Modelos básicos de RNA • Perceptrón • Adaline • Feedforward - Backpropagation • Hopfield • García Martínez R., Servente M., Pasquini D. “SISTEMAS INTELIGENTES”. Editorial Nueva Librería. Argentina, 2003. • Isasi Viñuela P y Galván León I. "REDES NEURONALES - UN ENFOQUE PRÁCTICO". Ed. Pearson Educación S.A. Madrid. 2004. • Ponce Cruz P., “INTELIGENCIA ARTIFICIAL CON APLICACIONES A LA INGENIERÍA” Cap.3. Editorial Alfaomega, México, 2010. • Del Brio, B.M. – Sanz Molina, A. “REDES NEURONALES Y SISTEMAS BORROSOS”. Editorial RA-MA. • Hilera Gonzalez, J.R. – Martínez Hernando, B.J. “REDES NEURONALES ARTIFICIALES”. Editorial RA-MA. 1995. B ib lio gr af ía 2 Clasificación por tipo de aprendizaje Existe una gran cantidad de arquitecturas de RNA que se diferencian por cantidad de capas, conexiones, procedimientos de aprendizaje y aplicaciones. T3-2 REDES NEURONALES ARQUITECTURAS NEURONALES García Martínez et al., “SISTEMAS INTELIGENTES” 3 T3-2 REDES NEURONALES ARQUITECTURAS NEURONALES Clasificación por número de capas y conexiones García Martínez et al., “SISTEMAS INTELIGENTES” 4 Desarrollado en la Universidad de Cornell por Frank Rosenblatt en 1958. Modelo heteroasociativo mononeuronal de tipo feedforward. T3-2 REDES NEURONALES PERCEPTRÓN 1928 - 1971 F. Rosenblatt F. Rosenblatt ∑ n i i i=1 y = g -θ+ w . x http://2.bp.blogspot.com/_4pVWBd8gilY/TGSJdCCv-dI/AAAAAAAAABc/6zRK8Ls735Q/s1600/rosenblatt.jpg 5 Modelo heteroasociativo mononeurona de tipo feedforward. La red básica utiliza una neurona única con función de salida umbral [-1 ; +1] ó [0 , +1] Realiza una clasificación de patrones en dos clases. Opera en tiempo discreto, con aprendizaje off-line a través de la regla delta. Solamente puede clasificar patrones linealmente separables. T3-2 REDES NEURONALES PERCEPTRÓN Concebido originalmente como un clasificador automático de patrones. 6 Separabilidad de Patrones Un conjunto de patrones n-dimensionales se consideran linealmente separables, si es posible insertar entre ellos un hiperplanon que los separe. x x x x x x2 x1 x x x2 x1 Separables NO Separables T3-2 REDES NEURONALES PERCEPTRÓN SI n = 2 => hiperplano = recta SI n = 3 => hiperplano = plano fn. XOR El perceptrón no puede resolver la fn. lógica XOR (Ponce pg. 210). 7 Algoritmo de aprendizaje (Ponce pg. 206) Se asignan valores aleatorios en el rango [-1; 1] a todos los pesos y bias. Para cada patrón entrada-salida [Xi = (x1i, x2i, …, xni) ; y] se establece la salida inicial [ydi] que se conoce la salida deseada. Se determina el error de salida ei = ydi – yi Se calcula la variación de pesos con Δwi = α . xi . ei donde α es la tasa de aprendizaje (α ∈ [0,1 ~ 0,5]). Se actualizan los pesos wi(t+1) = wi(t) + Δwi T3-2 REDES NEURONALES PERCEPTRÓN Se repiten los 3 últimos pasos hasta que el error sea aceptable. 8 Concepto geométrico del aprendizaje T3-2 REDES NEURONALES PERCEPTRÓN x1 x2 1 1 2 2 1 1 2 2 2 2 1 1 y = w . x +w . x w . x +w . x = 0 w x = - . x w x1 x2 w2 θ w1 θ 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 1 2 y = w . x +w . x -θ w . x +w . x -θ = 0 w θ x = - . x + w w x x+ =1θ θ w w Sin bias Con bias 9 Ejemplo T3-2 REDES NEURONALES PERCEPTRÓN Clasificar patrones linealmente separables, con un perceptrón de dos entradas para ser entrenado, con pesos iniciales w1 = −0.1 w2 = 0.8 bias θ = −0.5. Después del proceso de entrenamiento se obtiene: w1 = 2,7 w2 = 0.5 bias θ = 1,2 10 Creada por Bernard Widrow en 1962. Modelo feedforward mononeuronal de aprendizaje supervisado. Opera en tiempo discreto, con aprendizaje off-line a través de la regla de mínimos cuadrados. T3-2 REDES NEURONALES ADALINE – ADAptive LINear Element ∑ ∑ n n 0 i i i i 0 i=1 i=0 y = g -w + w . x = g w . x con x = -1 Función de transferencia Continua (ej. Sigmoide) B. Widrow 11 Modelo feedforward de aprendizaje supervisado de arquitectura similar al perceptrón. La red básica utiliza una neuroda* única con función de salida continua, limitada (ej. sigmoide) o ilimitada (ej. lineal). Opera en tiempo discreto, con aprendizaje off-line a través de la regla de mínimos cuadrados. No requiere que los patrones sean linealmente separables. Estructuras más complejas de este modelo se conocen como MADALINE o PADALINE. * Es otra denominación que suele utilizarse para referirse a una neurona artificial. T3-2 REDES NEURONALES ADALINE – ADAptive LINear Element Características 12 Algoritmo de aprendizaje Se basa en el algoritmo de mínimos cuadrados LMS (Least Mean Square) de Widrow-Hoff. Requiere un conjunto de P pares de entrada-salida [(Xp , dp)] para el entrenamiento, con Xp = [x1p, x2p, …, xnp] Se inicia con pesos aleatorios pequeños. Se calcula la salida de la red para cada patrón con g = fn. de salida Se calcula la semisuma del ECM entre la salida calculada y la deseada T3-2 REDES NEURONALES ADALINE – ADAptive LINear Element ∑ n p ip ip i=0 y = g w . x ( ) ∑ P 2 CM p p p=1 1E = y - d 2 (Ponce pg. 209) (Isasi pg. 34) 13 Algoritmo de aprendizaje (continuación) La variación de los pesos se calculan con la inversa del gradiente y un factor de aprendizaje η El peso actualizado resulta wi(t+1) = wi(t) + Δwi T2-2 REDES NEURONALES ADALINE – ADAptive LINear Element ( ) ( ) → ∑ ∑ ∑ CM i i P pCM p p i ip=1 n p i i i ii=0 P i p p i p=1 E Δw = -η. w yE = y - d . w w yy = g w . x = g'.x w Δw = -η. y - d .g'.x ∂ ∂ ∂∂ ∂ ∂ ∂ ∂ 14 Ejemplo: Decodificador BCD a decimal. T2-2 REDES NEURONALES ADALINE – ADAptive LINear Element x1 x2 x3 d Ingreso de primer patrón Primera actualización Proceso completo para diez iteraciones 1 2 3y = 4*x 2*x 1*x+ + 15 Creada en 1986 por D. Rumelhart, G. Hinton y R. Williams, se trata de un tipo de red multicapa, heteroasociativa, de aprendizaje supervisado conocido como algoritmo backpropagation (o de retropropagación), basado en la regla delta generalizada. T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION David E. Rumelhart Geoffrey E. Hinton Ronald J. Williams http://1.bp.blogspot.com/-Oyj8GRBOEzE/TYh0zhDYAyI/AAAAAAAAAN0/Q42cpItgHVE/s1600/der_home.jpg 16 La importancia de este tipo de redes es su capacidad de autoadaptación de los pesos sinàpticos de las capas intermedias para aprender la relación entre los patrones de entrada de entrenamiento y sus correspondientes salidas. En forma simplificada, el aprendizaje consiste en presentar a la red pares de patrones entrada-salida. Luego de la propagación de cada patrón de entrada, se obtiene el patrón de salida y comparado con el patrón deseado se calcula el error. Este error se propaga hacia atrás para corregir los pesos de todas las neuronas hasta lograr la adaptación (iterativamente) de modo de obtener un resultado con un error de cálculo aceptable. Generalidades T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 17 Es una red neuronal muy versátil, que puede estructurarse en dos o más capas según necesidades. Todas las neuronas se conectan hacia los nodos de capas siguientes y no contempla conexiones hacia atrás, laterales o a autorecurrentes. Arquitectura T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION La capa de entrada no realiza procesamiento, sólo distribución. Casi siempre se incluyen entradas de bias en las capas ocultas y de salida. 18 La cantidad de neuronasde la capa de entrada y salida se determina por la dimensionalidad de los datos y las respuestas. Las funciones de activación de todas las neuronas deben ser continuas y derivables. Para la salida, las funciones deben soportar el alcance de las respuestas. La cantidad de neuronas ocultas usualmente se determina en forma experimental. Aumentando la cantidad de neuronas ocultas se puede disminuir el error pero aumenta el tiempo de cómputo. Las conexiones son progresivas y completas. El algoritmo de aprendizaje determina que conexiones se eliminan (virtualmente con wi → 0). Las funciones de activación de las neuronas ocultas generalmente son sigmoides bivaluadas (+/- 1). Arquitectura T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 19 De todo el espacio de datos de la red, se selecciona un grupo de patrones de entrada y salida conocida para ser utilizado en el aprendizaje y un grupo de patrones de entrada con salida conocida para ser utilizado como comprobación. • La cantidad de elementos en cada conjunto se determina en forma experimental. • Si el espacio de datos es finito, no muy amplio y todas las salidas son conocidas, se puede entrenar a la red con todos los patrones. Esto asegura una operación eficaz del sistema. • Los pesos se ajustarán en forma proporcional a la diferencia entre la salida deseada (d) y la salida obtenida (y). E = (d – y) = salida deseada – salida obtenida Preparación de datos T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 20 α = tasa de aprendizaje p = patrón de entrada Algoritmo de aprendizaje T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 1. Definir la arquitectura de la red y seleccionar los tipos de funciones de activación según el problema. 2. Seleccionar P pares de patrones entrada-salida como conjunto de entrenamiento: p = 1, …, P. 3. Inicializar la red con valores aleatorios en [–1 ; +1]. 4. Calcular los valores de salida para cada patrón de entrada. 5. Para cada neurona de la capa de salida, la variación de pesos se calcula como j k wkj yj yk k = 1,... , K ( ) ( )− kj kj,p j kj,p k,p k,p k k Δw = -α .δ . y δ = d y .g' net → ∑ ∑ n J j,p j ji i,p k,p k kj j,p i=0 j=0 y = g w . x y = g w . y capa oculta capa de salida 21 Algoritmo de aprendizaje (continuación) T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 6. Para cada neurona de la capa oculta, la variación de pesos se calcula como 7. Los pesos se actualizan de la forma wkj(t+1) = wkj(t) + Δwkj wji(t+1) = wji(t) + Δwji ( ) ∑ ji ji,p i K ji,p kj,p kj j j k=1 Δw = -α .δ . y δ = δ . w .g' net j 1w1j yj y1 k = 1,... , K capa de salida k yk wkj i yi wji j = 1,... , J capa oculta i = 1,... , I capa entrada α = tasa de aprendizaje p = patrón de entrada 22 Red feedforward-backpropagation 4+7 configurada para actuar como codificadora BCD – 7 segmentos. Ejemplo: T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION Capa de entrada Capa oculta Capa de salida Display de 7 segmentos 23 Red feedforward-BP 4+7 codificadora BCD – 7 segmentos. Error de aprendizaje 100 iteraciones 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 E nt ra da Sa lid a T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION Ejemplo: 24 Por ser un sistema muy versátil se utiliza en aplicaciones para diversos campos. Algunas de las aplicaciones más representativas: • Codificación/decodificación de la información: La idea es recuperar a la salida la información correcta (decodi- ficada) a partir de la entrada codificada y viceversa. • Traducción texto escrito a expresión oral: Con un número adecuado de unidades ocultas, la red podría producir los fonemas correspondientes al texto ingresado. • Reconocimiento óptico de caracteres: Es un caso típico de reconocimiento de patrones. Proporcionando a la entrada la imagen de un carácter (en cualquiera de sus variantes razonables), la red podría responder a la salida con el código apropiado, por ejemplo ASCII. Aplicaciones generales T3-2 REDES NEURONALES FEEDFORWARD/BACKPROPAGATION 25 Red de Hopfield 1 2 3 N e1 e2 e3 eN s1 sNs3s2 w12 w13 w1N wN1 wN2 wN3 w2N w3N Una primera versión –discreta- utiliza funciones de activación tipo escalón. Una versión posterior –contínua- utiliza funciones de salida tipo sigmoide. T3-2 REDES NEURONALES REDES DE HOPFIELD ∑ n j ji i j i=1 s (t+1)= g w . s (t) -θ Creada por J. Hopfield, en 1982 se trata de un tipo de red monocapa, autoasociativa, de aprendizaje OFF-LINE no supervisado de tipo competitivo. John Hopfield 26 Características (García pg. 120) • Es un tipo de memoria asociativa capaz de recuperar los patrones almacenados a partir de información de entrada incompleta o con ruido. • Se compone de n neuronas en una sola capa, donde cada una realimenta a todas las otras, excepto a ella misma. • Con n neuronas, presenta una matriz de pesos de nx×n, simétrica y con diagonal principal nula. T3-2 REDES NEURONALES REDES DE HOPFIELD { } 12 1j 1n 21 2j 2n i j i1 i2 in n1 n2 n j ... ... ... ... ... ... ... ... ...= = ... ... ... ... ... ... ... ... ... con i, j = 1,. 0 0 0 .., 0 0 n 0 w w w w w w W w w w w w w w 1 2 3 N e1 e2 e3 eN s1 sNs3s2 w12 w13 w1N wN1 wN2 wN3 w2N w3N 27 Estructura • Versión original –discreta- con salida escalón (0 ; +1) o signo (-1 ; +1). • Versión analógica con salida sigmoidal. T3-2 REDES NEURONALES REDES DE HOPFIELD 28 Entrenamiento • Los pesos se calculan en la fase de entrenamiento. • Para una red discreta con salida +1 / -1 • Para una red discreta con salida 0 / +1 = i-ésima componente del k-ésimo patrón. N = número de neuronas de la red. M = número de patrones a aprender. Σ Σ wjiwij ei ej i patrón p j REGLA DE HEBB ≠ = ∑ M (k) (k) i j k=1ij ji e . e 1 i, j N ; i j w = w = 0 1 i, j N ; i j ≤ ≤ ≤ ≤ ≠ = ∑ M (k) (k) i j k=1ij ji (2e - 1). (2e - 1) 1 i, j N ; i j w = w = 0 1 i, j N ; i j ≤ ≤ ≤ ≤ (k) ie T3-2 REDES NEURONALES REDES DE HOPFIELD - DISCRETA 29 Funcionamiento • Una vez entrenada, al recibir un patrón de entrada, la salida de cada neurona se realimenta a todas las otras. • Luego, las neuronas realimentadas compiten entre ellas para establecer el estado final (luego de varias iteraciones y hasta estabilizarse). • La salida final si –en el caso discreto–, será el vector de entrenamiento que más se asemeje al patrón de entrada. g → función de activación • Al ingresar patrones desconocidos para la red, el sistema asocia estos al tipo de patrón más próximo y lo clasificacon la salida correspondiente. • Puede producir salidas espurias o inestables. ∑ ∑ ∑ N ij j j j=1 N i j ij j j j=1 N ij j j j=1 +1 si w . s (t) > θ s (t+1) = s (t) si w . s (t) = θ -1 si w . s (t) < θ ∑ N i ij j j j=1 s (t+1) = w . s (t) - θ con 1 i N≤ ≤ g T3-2 REDES NEURONALES REDES DE HOPFIELD - DISCRETA 30 Limitaciones • Para una operación adecuada de la red, solo es posible clasificar M patrones en una red de N neuronas, tal que M = N/(4 × ln N) → recuperación perfecta M = 0,15 N → recuperación aceptable M = N → recuperación mínima • Por ejemplo, una red de 10 neuronas, puede almacenar: M = 10/(4 × ln 10) = 1,08 patrón (perfecta) M = 0,15 × 10 = 1,5 patrón (aceptable) M = 10 patrones (mínima) • Por ej., una red de 500 neuronas, puede almacenar: M = 500/(4 × ln 500) = 20,1 patrones (perfecta) M = 0,15 × 500 = 75 patrones (aceptable) M = 500 patrones (mínima) T3-2 REDES NEURONALES REDES DE HOPFIELD - DISCRETA 31 Limitaciones • No se puede garantizar una recuperación correcta en todos los casos si los patrones almacenados son similares. Se requiere que tales patrones sean ortogonales, es decir ∀∑ N patron k patron m i i i=1 e . e 0 k m≤ ≠ × × × ×∑ 1 2 4 E E i i i=1 e . e = (1) (-1)+(1) (-1)+(-1) (1)+(-1) (1) = - 4 T3-2 REDES NEURONALES REDES DE HOPFIELD - DISCRETA ⇒ ⊥i j i jP .P =0 P P • Tampoco se puede garantizar una recuperación correcta, si los vectores de entrada a la red, no difieren en al menos la mitad de sus componentes, es decir Ej. E1 = [1 1 -1 -1] E2 = [-1 -1 1 1] diferentes 32 Ejemplo: Red de Hopfield discreta con 4 neuronas y salida +1 / -1. • Dos esquemas equivalentes: T3-2 REDES NEURONALES REDES DE HOPFIELD s4s3 s2s1 e1 e2 e4e3 N1 N2 N3 N4 N3 N4 N1 N2 e1 e4 e3 e2 s4 s3 s2 s1 33 Ejemplo: Red de Hopfield discreta con 4 neuronas y salida +1 / -1. • Entradas para entrenamiento: Ek = [e1k e2k e3k e4k] E1=[1 1 -1 -1] E2=[-1 -1 1 1] • Cálculo de los pesos • Salida para patrón desconocido Ex = [1 -1 -1 -1] • Salida: sx = g(Ex.W) = signo((Ex.W)) = [1 1 -1 -1] Devuelve el patrón aprendido más cercano. 2 T k k k 1 0 2 2 2 2 0 2 2W (E .E I) 2 2 0 2 2 2 2 0 = − − − −= − = − − − − ∑ [ ] [ ]x 0 2 2 2 2 0 2 2E .W 1 1 1 1 . 2 6 2 22 2 0 2 2 2 2 0 − − − −= − − − = − − − − − − T3-2 REDES NEURONALES REDES DE HOPFIELD s4s3 s2s1 e1 e2 e4e3 N1 N2 N3 N4 34 Estabilidad de la red • Función de energía discreta • Función de energía continua ∑∑ ∑ N N N ij i j i i i=1 j=1 i=1 i j 1E = - w . s . s + θ . s 2 ≠ ∑∑ ∑∫ isN N N -1 ij i j i=1 j=1 i=1 0 i j 1E = - w . s . s + g (s) ds 2 ≠ Puntos estables (valles) T3-2 REDES NEURONALES REDES DE HOPFIELD ΔE = E(t+1) -E(t) < 0 función monótona decreciente 35 Aplicaciones • Reconstrucción de imágenes: Las redes de Hopfield pueden reconstruir perfectamente imágenes a partir de versiones distorsionadas, con ruido o incompletas, siempre que no se hayan producido traslaciones o rotaciones en el patrón. • Reconocimiento óptico de caracteres: Es un proceso similar al anterior. • Resolución de problemas de optimización: Se basa en la idea de minimización de una función objetivo. La red de Hopfield opera en forma más eficiente y rápida que los algoritmos convencionales. • Diseño de circuitos analógico-digitales: Resulta un proceso natural para estos sistemas (de tipo digitales), ya que una red digital, al recibir una entrada analógica la convierte en un patrón discreto. T3-2 REDES NEURONALES REDES DE HOPFIELD REDES NEURONALES II T3-2 REDES NEURONALES� ARQUITECTURAS NEURONALES T3-2 REDES NEURONALES� ARQUITECTURAS NEURONALES T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� PERCEPTRÓN T3-2 REDES NEURONALES� ADALINE – ADAptive LINear Element T3-2 REDES NEURONALES� ADALINE – ADAptive LINear Element T3-2 REDES NEURONALES� ADALINE – ADAptive LINear Element T2-2 REDES NEURONALES� ADALINE – ADAptive LINear Element T2-2 REDES NEURONALES� ADALINE – ADAptive LINear Element T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION T3-2 REDES NEURONALES� FEEDFORWARD/BACKPROPAGATION Red de Hopfield T3-2 REDES NEURONALES� REDES DE HOPFIELD T3-2 REDES NEURONALES� REDES DE HOPFIELD T3-2 REDES NEURONALES� REDES DE HOPFIELD - DISCRETA T3-2 REDES NEURONALES� REDES DE HOPFIELD - DISCRETA T3-2 REDES NEURONALES� REDES DE HOPFIELD - DISCRETA T3-2 REDES NEURONALES� REDES DE HOPFIELD - DISCRETA T3-2 REDES NEURONALES� REDES DE HOPFIELD T3-2 REDES NEURONALES� REDES DE HOPFIELD T3-2 REDES NEURONALES� REDES DE HOPFIELD T3-2 REDES NEURONALES� REDES DE HOPFIELD
Compartir