Tema 8: Introducción A Las Redes Neuronales

1y ago
12 Views
2 Downloads
688.97 KB
52 Pages
Last View : 1m ago
Last Download : 2m ago
Upload by : Macey Ridenour
Transcription

Tema 8: Introducción a las redes neuronalesD. Balbontı́n Noval, F. J. Martı́n Mateos, J. L. Ruiz Reina,M.A. Gutiérrez-Naranjo, L. Valencia CabreraDpto. Ciencias de la Computación e Inteligencia Artificial,Universidad de Sevilla

Neuronas artificiales: inspiración biológica El aprendizaje en los sistemas biológicos está basado en redesmuy complejas de neuronas interconectadas La neurona es una célula que recibe señaleselectromagnéticas, provenientes del exterior (10 %), o de otrasneuronas (90 %), a través de las sinapsis de las dendritas Si la acumulación de estı́mulos recibidos supera un ciertoumbral, la neurona se dispara. Esto es, emite a través del axónuna señal que será recibida por otras neuronas, a través de lasconexiones sinápticas de las dendritas

Neuronas artificiales: inspiración biológica El área de la conexión sináptica puede potenciar o debilitar laseñal recibida. Las conexiones sinápticas son dinámicas. Conel desarrollo y el aprendizaje algunas conexiones se potencian,otras se debilitan Cerebro humano: red de neuronas interconectadas Aproximadamente 1011 neuronas con 104 conexiones cada una Las neuronas son lentas, comparadas con los ordenadores:10 3 segundos para activarse/desactivarse Sin embargo, los humanos hacen algunas tareas mucho mejorque los ordenadores (p.ej., en 10 1 segundos uno puedereconocer visualmente a su madre) La clave: paralelismo masivo

Neuronas artificiales: inspiración biológica Inspiradas en estos procesos biológicos, surgen las redesneuronales artificiales como un modelo computacional Sin embargo, no debe de olvidarse que se trata de un modeloformal: Algunas caracterı́sticas de los sistemas biológicos no estánreflejadas en el modelo computacional y viceversa Nosotros las estudiaremos como un modelo matemático en elque se basan potentes algoritmos de aprendizaje automático,independientemente de que reflejen un sistema biológico o no

Redes Neuronales Artificiales (RNA) Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Redes Neuronales Artificiales (RNA) Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Redes Neuronales Artificiales (RNA) Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:

Funcionamiento general de una red neuronal Cada nodo o unidad (neurona artificial), se conecta a otrasunidades a través de arcos dirigidos (modelando la conexiónaxón dendritas) Cada arco j i sirve para propagar la salida de la unidad j(notada aj ) que servirá como una de las entradas para launidad i. Las entradas y salidas son números Cada arco j i tiene asociado un peso numérico wji quedetermina la fuerza y el signo de la conexión (simulando lasinapsis)

Funcionamiento general de una red neuronal Cada unidad calcula su salida en función de las entradas querecibe La salida de cada unidad sirve, a su vez, como una de lasentradas de otras neuronas El cálculo que se realiza en cada unidad será muy simple, comoveremos La red recibe una serie de entradas externas (unidades deentrada) y devuelve al exterior la salida de algunas de susneuronas, llamadas unidades de salida

Cálculo realizado por cada unidadP La salida de cada unidad se calcula: ai g ( nj 0 wji aj ) Donde: g es una función de activaciónP El sumatorio nj 0 wji aj (notado ini ) se hace sobre todas lasunidades j que envı́an su salida a la unidad i Excepto para j 0, que se considera una entrada ficticiaa0 1 y un peso w0i denominado umbral (ver enlace)

Umbral y funciones de activación Intuitivamente, el umbral w0i de cada unidad se interpretacomo una cantidad que debe superar la suma de las señales deentrada que recibe la unidad, para que se active La función de activación g tiene el papel de “normalizar” lasalida (usualmente a 1) cuando el umbral de entrada sesupera. Además hace que la red no se comporte simplementecomo una función lineal Funciones de activación más usadas:1 si x 0 1 si x 0 1 si x 0 Función umbral: umbral(x) 0 si x 0 Función sigmoide: σ(x) 1 e1 x (ver esta hoja) La función sigmoide es derivable y σ 0 (x) σ(x)(1 σ(x)) Función bipolar: sgn(x)

Redes neuronales hacia adelante Cuando el grafo que representa a la red es acı́clico, la red sedenomina hacia adelante (las que trataremos en este tema)

Redes neuronales hacia adelante Las unidades en una red hacia adelante suelen estructurarse en capas, talque cada capa recibe sus entradas de unidades de la capa anterior Capa de entrada, capas ocultas y capa de salida Hablamos entonces de redes multicapa Otras arquitecturas: redes recurrentes, en la que las unidades de salidaretroalimentan a las de entradaEsto es solo una introducción, hay mucho más1 .1The Neural Network zoo/

Redes neuronales como clasificadores Una red neuronal hacia adelante con: n unidades en la capa de entrada, y m unidades en la capa de salidano es más que una función de Rn en Rm Por tanto, puede usarse como clasificador de conjuntos en Rn : Para clasificación booleana, tomar m 1 y: Si se usa función umbral o bipolar, considerar un valor desalida (e.g., el 1) como “SI” y el otro como “NO” Si se usa sigmoide o tanh, considerar una salida por encima de0.5 como “SI” y un valor por debajo como “NO” Para clasificaciones con m posibles valores: Cada unidad de salida representa un valor de clasificación La unidad con mayor valor de salida es la que indica el valorde clasificación

Redes Neuronales y Aprendizaje Cuando hablamos de aprendizaje o entrenamiento de redesneuronales estamos hablando de: Encontrar los pesos de las conexiones entre neuronas, demodo que la red se comporte de manera similar a la dadapor un conjunto de entrenamiento Especı́ficamente, para redes neuronales hacia adelante, eshabitual plantear la siguiente tarea de aprendizaje supervisado: Dado un conjunto de entrenamientoD {(x d , y d ) : x d R n , y d R m , d 1, . . . , k} Y una red neuronal de la que sólo conocemos su estructura(capas y número de unidades en cada capa) Encontrar un conjunto de pesos wji tal que la función de R n enR m que la red representa se ajuste lo mejor posible a losejemplos del conjunto de entrenamiento Tendremos que concretar lo que significa “lo mejor posible”

Aplicaciones prácticas de redes neuronales Para problemas que se pueden expresar numéricamente(discretos o continuos) Se suelen utilizar en dominios en los que el volumen de datoses muy alto, y puede presentar ruido: cámaras, micrófonos,imágenes digitalizadas, etc En los que interesa la solución, pero no el por qué de la misma Problemas en los que es asumible que se necesite previamenteun tiempo largo de entrenamiento de la red Y en los que se requieren tiempos cortos para evaluar unanueva instancia

ALVINN: un ejemplo de aplicación Red entrenada para conducir unvehı́culo, a 70 Kms/h, según lapercepción visual que recibe de unossensores Entrada: imagen de la carreteradigitalizada como un array de 30 32pixels. Es decir, 960 datos de entrada Salida de la red: indica hacia dóndetorcer el volante, en forma de vectorde 30 componentes (desde giro total aizquierda, pasando por seguir recto,hasta giro completo a la derecha) Estructura: red hacia adelante, conuna capa de entrada con 960unidades, capa oculta de 4 unidades ycapa de salida con 30 unidades

ALVINN: un ejemplo de aplicación Entrenamiento: mediante un conductor humano, que conduceel vehı́culo una y otra y otra vez. Los sensores de visión registran la imagen que el conductor ve(secuencias de 960 datos cada una) Otros sensores registran simultáneamente las acciones(movimientos del volante) que éste realiza Una vez codificadas ambas informaciones adecuadamente,disponemos de distintos pares (secuencias) de la forma ( x , y ),donde x (x1 , x2 , . . . , x960 ) e y (y1 , y2 , . . . , y30 ),constituyen ejemplos de entrada/salida para la red Objetivo: encontrar los valores de los pesos wji asociados acada arco j i de la red de tal forma que para cada dato deentrada x , que propaguemos a lo largo de la red el valorobtenido en la salida coincida con el valor y correspondiente(o se parezca lo más posible)

Ejemplos de aplicaciones prácticas Clasificación Reconocimiento de patrones Optimización Predicción: climatológica, de audiencias, etc Interpretación de datos sensoriales del mundo real Reconocimiento de voz Visión artificial, reconocimiento de imágenes Satisfacción de restricciones Control de robots, vehı́culos, etc Compresión de datos DiagnosisPuede ver algunos ejemplos ilustrativos experimentales en esteenlace.

Perceptrones Empezamos estudiando el caso más simple de red neuronal:sólo una capa de entrada y una de salida Puesto que cada salida es independiente, podemos centrarnosen una única unidad en la capa de salida Este tipo de red se denomina perceptrón Un perceptrón con función de activación umbral es capaz derepresentar las funciones booleanas básicas:Nota: recordemos que, como vimos en clase, la función NOT no estácorrectamente representada por los pesos dados en el perceptrón del gráfico dela derecha, en el que se deben invertir los signos de ambos pesos.

Perceptrones: limitaciones expresivas Un perceptrón con n unidades de entrada, pesoswj (j 0, . . . , n) y función de activación umbral (o bipolar),clasificacomo positivos a aquellos (x1 , . . . , xn ) tal quePnwxj 0 j j 0 (donde x0 1)P La ecuación nj 0 wj xj 0 representa un hiperplano en R n Es decir, una función booleana sólo podrá ser representada porun perceptrón umbral si existe un hiperplano que separa loselementos con valor 1 de los elementos con valor 0(linealmente separable) Los perceptrones con activación sigmoide tienen limitacionesexpresivas similares (aunque “suavizadas”)

Perceptrones: limitaciones expresivas Por ejemplo, las funciones AND y OR son linealmenteseparables pero no la función XOR: A pesar de sus limitaciones expresivas, tienen la ventaja deque existe un algoritmo de entrenamiento simple paraperceptrones con función de activación umbral Capaz de encontrar un perceptrón adecuado para cualquierconjunto de entrenamiento que sea linealmente separable

Algoritmo de entrenamiento del Perceptrón (umbral) Entrada: Un conjunto de entrenamiento D (con ejemplos de la forma( x , y ), con x R n e y {0, 1}), y un factor de aprendizaje ηAlgoritmo1) Considerar unos pesos iniciales generados aleatoriamente (w0 , w1 , . . . , wn )w2) Repetir hasta que se cumpla la condición de terminación2.1) Para cada ( x , y ) del conjuntode entrenamiento hacerPa) Calcular o umbral( ni 0 wj xj ) (con x0 1)b) Para cada peso wj hacer: wj wj η(y o)xj 3) Devolver w

Comentarios sobre el algoritmo η es una constante positiva, usualmente pequeña (p.ej. 0.1),llamada factor de aprendizaje, que modera las actualizacionesde los pesos En cada iteración, si y 1 y o 0, entonces y o 1 0,y por tanto los wj correspondientes a xj positivos aumentarán(y disminuirán los correspondientes a xj negativos), lo queaproximará o (salida real) a y (salida esperada) Análogamente ocurre si es o 1 e y 0 Cuando y o, los wj no se modifican Para perceptrones con función de activación bipolar, elalgoritmo es análogo

Comentarios sobre el algoritmo Teorema: El algoritmo anterior converge en un número finito que clasifica correctamentede pasos a un vector de pesos wtodos los ejemplos de entrenamiento, siempre que éstos seanlinealmente separables y η suficientemente pequeño (Minskyand Papert, 1969) Por tanto, en el caso de conjuntos de entrenamientolinealmente separables, la condición de terminación puede serque se clasifiquen correctamente todos los ejemplos

Otro algoritmo de entrenamiento: la Regla Delta Cuando el conjunto de entrenamiento no es linealmente separable,la convergencia del algoritmo anterior no está garantizada El perceptrón no podrá asegurar devolver la salida esperadasobre todos los ejemplos del conjunto de entrenamiento En su lugar intentaremos minimizar el error cuadráticoacumulado sobre los ejemplos2 : ) E (w12Pd (yd od )2 12Pd [yd g (w0 x0d w1 x1d · · · wn xnd )]2con g la función de activación, yd salida esperada para lainstancia ( xd , yd ) D, y od salida obtenida por el perceptrón Siendo E función de w , buscamos un w que minimice E En lo que sigue, supondremos perceptrones con función deactivación g diferenciable (sigmoides, por ejemplo) Quedan excluidos, por tanto, perceptrones umbral o bipolares2Se toma la mitad (del error acumulado) para facilitar cálculos posteriores

Idea del método del descenso por el gradiente Representación gráfica de E (w ) (con n 1 y g la identidad)En una superficie diferenciable, la direcciónde máximo crecimiento viene dada por el vec )tor gradiente E (wEl negativo del gradiente proporciona la dirección de máximo descenso hacia el mı́nimode la superficie.¿No queda claro? Pinche aquı́. Puesto que igualar a cero el gradiente supondrı́a sistemas de ecuacionescomplicados de resolver en la práctica, optamos por un algoritmo de para el cual E (w ) es mı́nimo (local),búsqueda local para obtener un w2520E[w]15105021-2-1001-1w023w1 La idea es comenzar con un w aleatorio y modificarlo sucesivamente enpequeños desplazamientos en la dirección opuesta al gradiente, esto es w w , siendo w η E (w ), y η el factor de aprendizajewPuede ver una explicación ilustrada y simplificada aquı́, y una hoja con unejemplo simplificado analizando la influencia del factor de aprendizaje aquı́.

Derivación de la regla de descenso por el gradiente3 El gradiente es el vector de las derivadas parciales de E respecto a cada wj ) E (w E E E,,., w0 w1 wn Sea xjd la componente j-ésima del ejemplo d-ésimo e in(d) Pnj 0wj xjd :X E 1X (yd od )2 (yd od )( g 0 (in(d) ))xjd wj wj 2dd Esto nos da la siguiente expresión para actualizar pesos mediante la reglade descenso por el gradiente:Xwj wj η(yd od )g 0 (in(d) )xjdd3¿Es el único método? No, puede encontrar más información aquı́

Algoritmo de entrenamiento de descenso por el gradiente Entrada: Un conjunto de entrenamiento D (con ejemplos dela forma ( x , y ), con x R n e y R), un factor de aprendizajeη y una función de activación g diferenciableAlgoritmo1) Considerar unos pesos iniciales generados aleatoriamente (w0 , w1 , . . . , wn )w2) Repetir hasta que se cumpla la condición de terminación1) Inicializar wj a cero, para j 0, . . . , n2) Para cada (x, y ) PD,1) Calcular in nj 0 wj xj y o g (in)2) Para cada j 0, . . . , n, hacer wj wj η(y o)g 0 (in)xj3) Para cada peso wj , hacer wj wj wj 3) Devolver w

La Regla Delta Es una variante del método de descenso por el gradiente En lugar de tratar de minimizar el error cuadrático cometido sobre todoslos ejemplos de D, procede incrementalmente tratando de descender el ) 12 (y o)2 , cometido sobre el ejemploerror cuadrático Ed (w( x , y ) D tratado en cada momento De esta forma, Ed wjd (y o)( g 0 (in))xj , y siendo wj η E, wjtendremos wj η(y o)g 0 (in)xj , y por tantowj wj η(y o)g 0 (in)xj Este método para actualizar los pesos iterativamente es conocidocomo Regla Delta

Entrenamiento de Perceptrones con la Regla Delta Entrada: Un conjunto de entrenamiento D (con ejemplos dela forma ( x , y ), con x R n e y R), un factor de aprendizajeη y una función de activación g diferenciableAlgoritmo1) Considerar unos pesos iniciales generados aleatoriamente (w0 , w1 , . . . , wn )w2) Repetir hasta que se cumpla la condición de terminación1) Para cada ( x, y) PD1) Calcular in nj 0 wj xj y o g (in)2) Para cada peso wj , hacerwj wj η(y o)g 0 (in)xj 3) Devolver w

Casos particulares de la Regla Delta Perceptrones con función de activación lineal: En este caso g 0 (in) C (constante) Por tanto, la Regla Delta queda (transformando ηconvenientemente):wj wj η(y o)xj Perceptrones con función de activación sigmoide: En ese caso, g 0 (in) g (in)(1 g (in)) o(1 o) Luego la regla de actualización de pesos queda:wj wj η(y o)o(1 o)xj

Algunos comentarios sobre la Regla Delta Tanto el método de descenso por el gradiente como la ReglaDelta, son algoritmos de búsqueda local, que convergen haciamı́nimos locales del error entre salida obtenida y salidaesperada En descenso por el gradiente, se desciende en cada paso por elgradiente del error cuadrático de todos los ejemplos En la Regla Delta, en cada iteración el descenso se producepor el gradiente del error de cada ejemplo Con un valor de η suficientemente pequeño, el método dedescenso por el gradiente converge (puede queasintóticamente) hacia un mı́nimo local del error cuadráticoglobal

Algunos comentarios sobre la Regla Delta4 Se puede demostrar que haciendo el valor de ηsuficientemente pequeño, la Regla Delta se puede aproximararbitrariamente al método de descenso por el gradiente En la Regla Delta la actualización de pesos es más simple,aunque necesita valores de η más pequeños. Además, a vecesescapa más fácilmente de los mı́nimos locales4Puede hacer uso de una hoja de cálculo para Descenso de Gradiente (DG)y Regla Delta (RD) en este enlace

Regla Delta y perceptrones con umbral La regla de entrenamiento del perceptrón con umbral, y laRegla Delta para el entrenamiento de perceptrones lineales,son aparentemente la misma: wj wj η(y o)xj , pero: Las funciones de activación son distintas Las propiedades de convergencia también: Umbral: converge en un número finito de pasos hacia unajuste perfecto, siempre que el conjunto de entrenamiento sealinealmente separable Regla Delta: converge asintóticamente hacia un mı́nimo localdel error cuadrático, siempre Las propiedades de separación también son distintas: Umbral: busca hiperplano que separe completamente los datos Regla Delta: busca un modelo de regresión, el hiperplano(posiblememente suavizado con el sigmoide) más próximo alos datos de entrenamiento

Redes multicapa (hacia adelante) Como hemos visto, los perceptrones tienen una capacidadexpresiva limitada. Es por esto que vamos a estudiar las redesmulticapa Recordar que en una red multicapa, las unidades seestructuran en capas, en las que las unidades de cada capareciben su entrada de la salida de las unidades de la capaanterior, y de modo que (ojo a la dificultad): Capa de entrada es la que contiene las unidades de entrada Capa de salida es la de las unidades cuya salida sale al exterior Capas ocultas son las que no son de entrada ni de salida

Redes multicapa: capacidad expresiva Combinando unidades en distintas capas (y siempre que lafunción de activación sea no lineal) aumentamos la capacidadexpresiva de la red Es decir, la cantidad de funciones f : R n R m que puedenrepresentarse aumenta Para muchas aplicaciones reales basta con una capa oculta.

Entrenamiento de redes multicapa Análogamente al caso del perceptrón, tenemos un conjunto deentrenamiento D tal que cada ( x , y ) D contiene una salidaesperada y R m para la entrada x R n Partimos de una red multicapa con una estructura dada yqueremos encontrar los pesos de la red de manera que lafunción que calcula la red se ajuste lo mejor posible a losejemplos Lo haremos mediante un proceso de actualizaciones sucesivasde los pesos, llamado algoritmo de retropropagación, basadoen las mismas ideas de descenso por el gradiente que hemosvisto con el perceptrón

Redes multicapa: notación Supondremos una red neuronal con n unidades en la capa deentrada, m en la de salida y L capas en total La capa 1 es la de entrada y la capa L es la de salida Cada unidad de una capa l está conectada con todas lasunidades de la capa l 1 Supondremos una función de activación g diferenciable(usualmente, el sigmoide) El peso de la conexión de la unidad j a la unidad i se nota wji Dado un ejemplo ( x , y ) D: Si i es una unidad de la capa de entrada, notaremos por xi lacomponente de x correspondiente a dicha unidad Si k es una unidad de la capa de salida, notaremos por yk lacomponente de y correspondiente a dicha unidad

Redes multicapa: notación Al calcular la salida real que la red obtiene al recibir comoentrada un ejemplo x , notaremos ini a la entrada que recibeuna unidad i cualquiera y ai a la salida por la misma unidad i Es decir: Si i es una unidad de entrada (es decir, de la capa 1),entonces ai xi Si i es una unidad de una capa l 6 1,Pentonces ini j wji aj , y ai g (ini )(el sumatorio recorre todas las unidades j de la capa l 1)

Algoritmo de Retropropagación: idea intuitiva Dado un ejemplo ( x , y ) D, y una unidad i de la capa desalida, la actualización de los pesos que llegan a esa unidad sehará de manera similar a como se hace con la Regla Delta: Sea i g 0 (ini )(yi ai ) (error modificado en la unidad i) Entonces wji wji η i aj En las unidades de capas ocultas, sin embargo, no podemoshacer lo mismo Ya que no sabemos cuál es el valor de salida esperado en esasunidades

Algoritmo de Retropropagación: idea intuitiva ¿Cómo actualizamos los pesos de conexiones con capas ocultas? Idea: ir hacia atrás, calculando el error j de una unidad de la capa l 1 apartir del error de las unidades de la capa l (con las que está conectada j)P Esto es: j g 0 (inj ) i wji i y por tanto wji wji η i aj Intuitivamente, cada unidad j es “responsable” del error que tiene cadauna de las unidades a las que envı́a su salida Y lo es en la medida que marca el peso de su conexión La salida de cada unidad se calcula propagando valores hacia adelante,pero el error en cada una se calcula desde la capa de salida hacia atrás(de ahı́ el nombre de retropropagación) El método de retropropagación se puede justificar formalmente comodescenso por el gradiente del error

El Algoritmo de Retropropagación Entrada: Un conjunto de entrenamiento D (con ejemplos dela forma ( x , y ), con x R n e y R m ), un factor deaprendizaje η, una función de activación g diferenciable y unaestructura de redAlgoritmo1) Inicializar los pesos de la red (aleatoriamente, usualmentecon valores cercanos a cero, positivos o negativos)2) Repetir hasta que se satisfaga el criterio de parada1) Para cada ejemplo ( x, y ) D hacer:1) Calcular la salida ai de cada unidad i, propagandovalores hacia adelante2) Calcular los errores i de cada unidad i y actualizarlos pesos wji , propagando valores hacia detrás3) Devolver red En las siguientes transparencias desarrollamos 2.1.1) y 2.1.2)

Propagación hacia adelante Desarrollamos con más detalle el punto 2.2.1) anterior:propagación hacia adelante para un ejemplo ( x , y ) DProcedimiento1) Para cada nodo i de la capa de entrada hacer ai xi2) Para l desde 2 hasta L hacerP1) Para cada nodo i de la capa l hacer ini j wji aj yai g (ini ) (donde en el sumatorio anterior hay unsumando por cada unidad j de la capa l 1)

Propagación hacia atrás Una vez calculados en el punto 2.1.1) los valores de ini y aicorrespondientes al ejemplo ( x , y ) D, desarrollamos conmás detalle el punto 2.1.2), propagar hacia atrás de los erroresy actualizar los pesosProcedimiento1) Para cada unidad i en la capa de salida hacer i g 0 (ini )(yi ai )2) Para l desde L 1 hasta 1 (decrementando l) hacer1) Para cada nodoPj en la capa l hacer1) j g 0 (inj ) i wji i (donde el sumatorio anteriortiene un sumando por cada unidad i de la capa l 1)2) Para cada nodo i en la capa l 1 hacerwji wji η i aj Para la capa de entrada (l 1) no es necesario calcular los j Si hubiera pesos umbral, después de calcular cada i se han deactualizar igualmente : w0i w0i η i a0 (donde a0 1)

Retropropagación con unidades sigmoide La versión más común del algoritmo de retropropagación es laque se realiza con redes con función de activación sigmoide Recordar que el sigmoide se define σ(x) 1 e1 x y queσ 0 (x) σ(x)(1 σ(x)) Por tanto, en el caso de que g (x) σ(x), entoncesg 0 (ini ) g (ini )(1 g (ini )) ai (1 ai ) Ası́, el cálculo de errores en el Paso 2 queda: Para la capa de salida, i ai (1 ai )(yi ai )P Para las capas ocultas, j aj (1 aj ) i wji i Esto significa que no necesitamos almacenar los ini del Paso 1para usarlos en el Paso 2

Un ejemplo de Retropropagación Considérese una red neuronal con la siguiente estructura en laque se usa el sigmoide como función de activación:1246573 Supongamos dado un ejemplo (x1 , x2 , x3 ) con salida esperada(y6 , y7 ) Supongamos también que ya hemos calculado la salida ai encada unidad i 1, . . . , 7

Traza de la Retropropagación del s que se realizan 7 a7 (1 a7 )(y7 a7 )w0,7 w0,7 η 7 a0 6 a6 (1 a6 )(y6 a6 )w0,6 w0,6 η 6 a0 5 a5 (1 a5 )[w5,6 6 w5,7 7 ]w0,5 w0,5 η 5 a0w5,6 w5,6 η 6 a5w5,7 w5,7 η 7 a5 4 a4 (1 a4 )[w4,6 6 w4,7 7 ]w0,4 w0,4 η 4 a0w4,6 w4,6 η 6 a4w4,7 w4,7 η 7 a4w3,4w3,5w2,4w2,5w1,4w1,5 w3,4 η 4 a3 w3,5 η 5 a3 w2,4 η 4 a2 w2,5 η 5 a2 w1,4 η 4 a1 w1,5 η 5 a1

Momentum en el algoritmo de retropropagación Retropropagación es un método de descenso por el gradientey por tanto existe el problema de los mı́nimos locales Una variante común en el algoritmo de retropropagación esintroducir un sumando adicional en la actualización de pesos Este sumando hace que en cada actualización de pesos setenga también en cuenta la actualización realizada en laiteración anterior Concretamente: En la iteración n-ésima, se actualizan los pesos de la siguiente(n)(n)(n 1)manera: wji wji wji donde wji ηaj i α wji 0 α 1 es una constante denominada momentum La técnica del momentum puede ser eficaz a veces paraescapar de “pequeños mı́nimos locales”, donde una versión sinmomentum se estancarı́a

Criterio de parada para retropropagación Nótese que el algoritmo podrı́a recorrer varias veces elconjunto de entrenamiento O podrı́a tomar aleatoriamente el ejemplo a tratar en cadaiteración O incluso parar y recomenzar posteriormente el entrenamientoa partir de pesos ya entrenados Se pueden usar diferentes criterios de parada en el algoritmode retropropagación. Por ejemplo: Número de iteraciones prefijadas Cuando el error sobre el conjunto de entrenamiento está pordebajo de una cota prefijada En este último caso, se corre el riesgo de sobreajuste, por loque lo más frecuente es usar un conjunto de pruebaindependiente para validar el error, o incluso validacióncruzada

Aprendiendo la estructura de la red El algoritmo de retropropagación, ya parte de una estructurade red fija, pero. No vimos qué estructuras son las mejores para cada problema Debemos decidir a priori cuántas capas ocultas se toman, ycuántas unidades en cada capa La elección es un problema que no está completamenteresuelto aún ¿Cómo se toma esa decisión? Usual: búsqueda experimental de la mejor estructura,medida sobre un conjunto de prueba independiente En muchos casos una sola capa oculta con pocas unidadesbasta para obtener buenos resultados Las redes grandes corren un mayor peligro de sobreajuste

Bibliografı́a Russell, S. y Norvig, P. Artificial Intelligence (A modernapproach) (Second edition) (Prentice Hall, 2003) (o suversión en español) Cap. 20: “Statistical Learning” (disponible on-line en la webdel libro) Mitchell, T.M. Machine Learning (McGraw-Hill, 1997) Cap. 4: “Artificial Neural Networks”

Tema 8: Introducci on a las redes neuronales D. Balbont n Noval, F. J. Mart n Mateos, J. L. Ruiz Reina,M. A. Guti errez-Naranjo, L. Valencia Cabrera Dpto. Ciencias de la Computaci on e Inteligencia Arti cial,Universidad de Sevilla. Neuronas arti ciales: inspiraci on biol ogica El aprendizaje en los sistemas biol ogicos est a basado en redes

Related Documents:

Contenido del curso Tema 1. Sistemas de Producción Lechera en México Tema 2. Características de la raza Holstein Tema 3. Crianza de reemplazos Tema 4. Manejo reproductivo del ganado lechero Tema 5. Alimentación del ganado lechero Tema 6. Manejo sanitario del ganado lechero Tema 7. Producción de leche Tema 8. Construcciones y equipo

Tema 9: Introduccio n a las redes neuronales D. Balbont ın Noval F. J. Mart ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial IA 2013-2014 Tema 9: Introducci on a las redes neuronales.

Tema 9: Introduccio n a las redes neuronales D. Balbont ın Noval F. J. Mart ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial IA 2012-2013 Tema 9: Introducci on a las redes neuronales.

sismologÍa e ingenierÍa sÍsmica tema 6: modelos sobre el comportamiento de fallas activas. tema 7: paleosismicidad. tema 8: movimiento sÍsmicos del suelo: dominio temporal y frecuencial. tema 9: peligrosidad sÍsmica y efectos locales. tema 10: vulnerabilidad y riesgo sÍsmico. tema 11: sismometrÍa

Tema 1.- Introducci on a la Visi on Arti cial Programa 1 Segmentaci on Universidad de C ordoba: Escuela Polit ecnica Superior M aster de Sistemas Inteligentes 3 / 200

INTRODUCCIÓN AL HOME STUDIO 2. SOFTWARE DE AUDIO (PROTOOLS) TEMA 1: INTERFACE TEMA 2: COMANDOS TEMA 3: CONFIGURACIÓN DE SESIÓN TEMA 4: EDICIÓN I 3. PROCESAMIENTO Y MIDI TEMA 1: PRINCIPIOS DEL AUDIO Y PLUGINS - Ecualización - Dinámica - Efectos TEMA 2: INSTRUMENTOS VIRTUALES - Instrumentos orgánicos - Instrumentos sintéticos 4 .

Tema 4: Espiritualidad filial, Providencia, abandono en el Padre. Tema 5: La espiritualidad se funda en Cristo. Tema 6: Espiritualidad para un mundo necesitado, esperanza. Tema 7: Espiritualidad es fidelidad a la Palabra de Dios Tema 8: Pedagogía del Espíritu en la liturgia. Tema 9: Donde está la Iglesia allí está el Espíritu de Dios.

Tema 8. Redes Neuronales Pedro Larra naga, I naki Inza, Abdelmalik Moujahid Departamento de Ciencias de la Computaci on e Inteligencia Arti cial Universidad del Pa s Vasco{Euskal Herriko Unibertsitatea 8.1 Introducci on En este tema vamos a introducir el paradigma de redes neuronales arti ciales, muy popular dentro de la Inteligencia Computacional.