Redes neuronales2 José Edinson Aedo Cobo Depto. de Ing. Electrónica. E-mail: joseaedo@udea.edu.co
Introducción a la redes neuronales Neuron de McCulloch - Pitts Regla de propagación Función de activación xj hi ai yi Función de salida Función de activación Regla de propagación
Redes neuronales Red de una sola capa (hacia adelante) Red multicapa (hacia adelante) capa de capas capa de entrada escondidas salida Red recurrente de una sola capa Red recurrente multicapa
Modelo estándar de un neurón -1
Definición de una red neuronal como un grafo Una red neuronal es un grafo dirigido con las siguiente propiedades: A cada nodo i se le asocia una variable de estado i. a cada conexión (i, j) de los nodos i, j se le asocia un un peso wij A cada nodo i se le asocia un umbral A cada nodo se le asocia una función fi(xj, wij, i) esta función constituye el estado del nodo.
Esta formada por un conjunto de nodos conectadas por Definición de una red neuronal como un red adaptativa (Adaptive network) Es una red cuyo comportamiento de entrada salida esta determinado por el valor de un conjunto de parámetros modificables. Esta formada por un conjunto de nodos conectadas por líneas dirigidas (links). Los nodos son de dos tipos adaptativos y fijos.
Definición de una red neuronal como un red adaptativa (Adaptive network)
Perceptron simple. Adalaine. Perceptron multicapa. . Redes supervisadas unidireccionales Perceptron simple. Adalaine. Perceptron multicapa. .
1949: Se baso en la observación de neuronas biológicas. Regla de Hebb 1949: Se baso en la observación de neuronas biológicas. Se basa en la idea: “Cuando un axón presináptico causa la activiación de cierta neurona postsináptica, la eficacia de la sinapsis que las relaciona se refuerza”. Si Wij son los pesos sinápticos. El refuerzo Wij = yixj, siendo yi la salida y xj la entrada.
Aprendizaje basada en la regla de Hebb n entradas objetivo 1 S1 S2 S3 …. Sn t m vectores …….
Aprendizaje basada en la regla de Hebb Paso 0: Inicialice los pesos: eje: wi= 0, i = 1 a n. Paso 1: Por cada vector de entrada y valor objetivo para los j = 1 a m, realice los pasos 2-4 Paso2: Establezca las activaciones de entrada: Paso3: Establezca las activaciones para la salida: Paso4: Ajuste los pesos y las polarizaciones wi(nuevo) = wi(viejo) + xiy b(nuevo) = b(viejo) + y
Perceptron ……. S1 S2 S3 …. Sn t Regla de aprendizaje: n entradas objetivo 1 S1 S2 S3 …. Sn t m vectores …….
Perceptron, algoritmo Paso 0: Inicialice los pesos, polarizaciones y : eje: wi= 0, i = 1 a n., b=0, 0 < 1 Paso 1: Mientras la condición de parada es falsa haga los pasos del 2-6 Paso 2: Por cada vector de entrenamiento s:t para los j = 1 a m, realice los pasos 3-5 Paso3: Establezca las activaciones de entrada: Paso4: calcule la respuesta de la unidad de salida:
Perceptron, algoritmo Paso5: calcule wi y b, si ocurre error en el vector: si y t : wi(nuevo) = wi(viejo) + t j xi b(nuevo) = b(viejo) + t j de lo contrario (y = t) : wi(nuevo) = wi(viejo) b(nuevo) = b(viejo) Paso 6: Verifique la condición de parada, si no cambian los pesos en 2, pare.
Adaline, regla delta, least mean square (LMS) Regla de aprendizaje: n entradas objetivo 1 S1 S2 S3 …. Sn t m vectores ……. Función de activación idéntica
Adaline, regla delta, least mean square (LMS) Paso 0: Inicialice los pesos. use valores aleatorios: wi y b establezca el valor de . Paso 1: Mientras la condición de parada sea falsa realice los pasos 2-6 Paso2: para cada vector de entrenamiento, S:t, j=1, m, haga los pasos 3-5: Paso3: Establezca las activaciones de entrada: Paso4: calcule la salida: Paso5: Ajuste los pesos y las polarizaciones wi(nuevo) = wi(viejo) + (t j- yin )xi b(nuevo) = b(viejo) + (t j- yin ) Paso6: Verifique la condición de parada: eje. Si el cambio de los pesos es menor que una tolerancia definida. Si no continúe.
Perceptrones en estructura multicapa Werbos introdujo el algoritmo en 1974. Se conocía muy poco. Se le atribuye comúnmente a Parker que lo uso 1985 y Rumelhart en 1986.
Perceptrones en estructura multicapa Red multicapa (hacia adelante) Z1 y1 Zj yk Zp ym capa de entrada capa escondida capa de salida
Perceptrones en estructura multicapa Notación: Entrada Targe Primera capa (entrada al neurón): Salida de los neurones de la primera capa: Segunda capa (entrada al neurón): Salida de los neurones de la segunda capa:
Perceptrones en estructura multicapa Notación: Error en la capa de salida Propagación del error a Capa escondida Error en la capa escondida:
Perceptrones en estructura multicapa, algoritmo BP Paso 0: Inicialice los pesos. use valores aleatorios pequeños: wik y vij establezca el valor de . Paso 1: Mientras la condición de parada sea falsa realice los pasos 2-9 Paso2: para cada vector de entrenamiento, Sl:tl, l=1,… L, realice los pasos 3-8: Paso3: Establezca las activaciones de entrada: Paso4: calcule la salida en la capa oculta: para j= 1 ….P Paso5: Calcule el valor de salida en capa de salida (k = 1,…m) feedforward
Perceptrones en estructura multicapa, algoritmo BP Paso6: Para cada unidad de salida calcule el error (k=1,…m) y la corrección de los pesos: Paso7: Para la capa oculta propague el error, calcule el error para cada neurona y la corrección de los pesos (j=1..,p): Backpropagation of the error
Perceptrones en estructura multicapa, algoritmo BP Paso8: Actualice los pesos en la capa de salida y la capa oculta k = 1,…,m j = 0,….,p j = 1,…,p i = 0,….,n Paso9: Verifique la condición de parada: ejemp. Si el error total es menor que una tolerancia definida, si se realizaron un especifico de entrenamientos.
Perceptrones en estructura multicapa Consideraciones: Pesos iniciales: generalmente números aleatorios pequeños Inicialización de Widrow (capa de entrada): Para cada neurona en la capa escondida: j = 1,….p Asigne valores aleatorios a vij(viejo) entre -0.5 y 0.5 Re-inicialice los pesos calculándolos:
Perceptrones en estructura multicapa Consideraciones: Tipos de aprendizajes: en seríe (on –line) por lotes ( batch) Compromiso entre la capacidad de memorización y generación De la red: Debe usarse la validación cruzada, para evitar el sobreaprendizaje. Número de parámetros de la red:
Perceptrones en estructura multicapa Consideraciones: Parámetros: una rede de n entradas con un total de w pesos Requiere un número de patrones de aprendizaje del orden de P=w/, para proporcionar un error generalizado del orden de
Perceptrones en estructura multicapa Consideraciones sobre la regla de aprendizaje: La regla del simple se basa: La regla delta extendida. Siendo: luego
Perceptrones en estructura multicapa Consideraciones sobre la regla de aprendizaje (2): Considerando: Se tiene: El error local se reducirá más rápido para un :
Perceptrones en estructura multicapa Adaptando la función sigmoidea Para adaptarla al rango: Se calcula: La función será: su derivada:
Perceptrones en estructura multicapa Ejercicio si la la función es: Como sería la función adaptada al rango: ?
Perceptrones en estructura multicapa Otros estrategias de entrenamiento ?. Toolbox del Matlab: Conjugate gradient backpropagation. Variable learning rate backpropagation.. Momentum backpropagation. Steepest descent backpropagation. Marquardt backpropagation.
Perceptrones en estructura multicapa Momentum: los pesos dependen del gradiente corriente y del Gradiente previo. Momentum entre 0 y 1 Capa de salida: Capa de entrada:
Perceptrones en estructura multicapa Backpropagation con tasa de aprendizaje variable: La tasa de aprendizaje varia con el progreso del aprendizaje. Heurística: Si los pesos cambian en la misma dirección unos pasos entonces la tasa de aprendizaje para esos pesos debería incrementar. La regla delta-bar-delta establece que los pesos cambian de la siguiente manera: Tasa variable Donde se define el “delta como:
Perceptrones en estructura multicapa Backpropagation con tasa de aprendizaje variable: La tasa de aprendizaje varia con el progreso del aprendizaje. Heurística: para la capa escondida: Se calcula los delta-bar para la capa de salida: Para la capa escondida: Con entre 0 y 1
Perceptrones en estructura multicapa Backpropagation con tasa de aprendizaje variable: La tasa de aprendizaje varía con el progreso del aprendizaje. Heurística: la tasa de aprendizaje se modifica: k y son parametros suministrados por el usuario.
Perceptrones en estructura multicapa Investigación: Investigar el teorema que establece que un red neuronal en estructura multicapa es un aproximador universal de funciones no lineales.