Tema 9: Introducci N A Las Redes Neuronales - Us

1y ago
26 Views
2 Downloads
1.29 MB
53 Pages
Last View : 22d ago
Last Download : 3m ago
Upload by : Grady Mosby
Transcription

Tema 9: Introducción a las redes neuronalesD. Balbontı́n NovalF. J. Martı́n MateosJ. L. Ruiz ReinaDpto. Ciencias de la Computación e Inteligencia ArtificialUniversidad de SevillaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Neuronas artificiales: inspiración biológicaEl aprendizaje en los sistemas biológicos está basado en redesmuy complejas de neuronas interconectadasLa 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 dendritasSi 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 dendritasInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Neuronas artificiales: inspiración biológicaEl á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 debilitanCerebro humano: red de neuronas interconectadasAproximadamente 1011 neuronas con 104 conexiones cada unaLas neuronas son lentas, comparadas con los ordenadores:10 3 sgs. para activarse/desactivarseSin 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 masivoInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Neuronas artificiales: inspiración biológicaInspiradas en estos procesos biológicos, surgen las redesneuronales artificiales como un modelo computacionalSin 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 viceversaNosotros 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 noInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes Neuronales Artificiales (RNA)Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes Neuronales Artificiales (RNA)Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes Neuronales Artificiales (RNA)Modelo matemático basado en una estructura de grafodirigido cuyos nodos son neuronas artificiales. Por ejemplo:Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Funcionamiento general de una red neuronalCada 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úmerosCada arco j i tiene asociado un peso numérico wji quedetermina la fuerza y el signo de la conexión (simulando lasinapsis)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Funcionamiento general de una red neuronalCada unidad calcula su salida en función de las entradas querecibeLa salida de cada unidad sirve, a su vez, como una de lasentradas de otras neuronasEl cálculo que se realiza en cada unidad será muy simple, comoveremosLa red recibe una serie de entradas externas (unidades deentrada) y devuelve al exterior la salida de algunas de susneuronas, llamadas unidades de salidaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Cálculo realizado por cada unidadLa salida de cada unidad se calcula: ai g (Pnj 0 wji aj )Donde:g es una funciónPn de activaciónEl sumatorio j 0 wji aj (notado ini ) se hace sobre todas lasunidades j que envı́an su salida a la unidad iExcepto para j 0, que se considera una entrada ficticiaa0 1 y un peso w0i denominado umbralInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Umbral y funciones de activaciónIntuitivamente, 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 activeLa 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 linealFunciones de activación más usadas:1 si x 0 1 si x 01 si x 0Función umbral: umbral(x) 0 si x 0Función sigmoide: σ(x) 1 e1 xLa función sigmoide es derivable y σ ′ (x) σ(x)(1 σ(x))Función bipolar: sgn(x) Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes neuronales hacia adelanteCuando el grafo que representa a la red es acı́clico, la red sedenomina hacia adelante (las que trataremos en este tema)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes neuronales hacia adelanteLas unidades en una red hacia adelante suelen estructurarseen capas, tal que cada capa recibe sus entradas de unidadesde la capa inmediatamente anteriorCapa de entrada, capas ocultas y capa de salidaHablamos entonces de redes multicapaOtras arquitecturas: redes recurrentes, en la que las unidadesde salida retroalimentan a las de entradaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes neuronales como clasificadoresUna red neuronal hacia adelante con n unidades en la capa deentrada y m unidades en la capa de salida no es más que unafunción de R n en R mPor tanto, puede usarse como un clasificador de conjuntos enR n:Para clasificación booleana, tomar m 1 y:Si se tienen funciones de activación umbral o bipolar,considerar un valor de salida (el 1, por ejemplo) como “SI” yel otro como “NO”Si se usa el sigmoide, considerar un valor de salida por encimade 0.5 como “SI” y un valor por debajo como “NO”En general, para clasificaciones con m posibles valores, cadaunidad de salida corresponde con un valor de clasificación; seinterpreta que la unidad con mayor salida es la que indica elvalor de clasificaciónInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes Neuronales y AprendizajeCuando hablamos de aprendizaje o entrenamiento de redesneuronales estamos hablando de encontrar los pesos de lasconexiones entre unidades, de manera que la red se comportede una determinada manera, descrita por un conjunto deentrenamientoEspecı́ficamente, para redes neuronales hacia adelante, eshabitual plantear la siguiente tarea de aprendizaje supervisadoDado 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 wij tal que la función de R n enR m que la red representa se ajuste lo mejor posible a losejemplos del conjunto de entrenamientoTendremos que concretar lo que significa “lo mejor posible”Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Aplicaciones prácticas de redes neuronalesPara 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, etcEn los que interesa la solución, pero no el por qué de la mismaProblemas en los que es asumible que se necesite previamenteun tiempo largo de entrenamiento de la redY en los que se requieren tiempos cortos para evaluar unanueva instanciaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

ALVINN: un ejemplo de aplicaciónRNA entrenada para conducir un vehı́culo, a 70 Kms/h, enfunción de la percepción visual que recibe de unos sensoresEntrada a la red: La imagen de la carretera digitalizada comoun array de 30 32 pixels. Es decir, 960 datos de entradaSalida de la red: Indicación sobre hacia dónde torcer elvolante, codificada en la forma de un vector de 30componentes (desde girar totalmente a la izquierda, pasandopor seguir recto, hasta girar totalmente a la derecha)Estructura: una red hacia adelante, con una capa de entradacon 960 unidades, una capa oculta de 4 unidades y una capade salida con 30 unidadesInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

ALVINN: un ejemplo de aplicaciónEntrenamiento: mediante un conductor humano, que conduceel vehı́culo una y otra y otra vezLos 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 realizaUna vez codificada 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 redObjetivo: 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)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Ejemplos de aplicaciones prácticasClasificaciónReconocimiento de patronesOptimizaciónPredicción: climatológica, de audiencias, etcInterpretación de datos sensoriales del mundo realReconocimiento de vozVisión artificial, reconocimiento de imágenesSatisfacción de restriccionesControl, de robots, vehı́culos, etcCompresión de datosDiagnosisInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

PerceptronesEmpezamos estudiando el caso más simple de red neuronal:sólo una capa de entrada y una de salidaPuesto que cada salida es independiente, podemos centrarnosen una única unidad en la capa de salidaEste tipo de red se denomina perceptrónUn perceptrón con función de activación umbral es capaz derepresentar las funciones booleanas básicas:Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Perceptrones: limitaciones expresivasUn perceptrón con n unidades de entrada, pesoswi (i 0, . . . , n) y función de activación umbral (o bipolar),clasificacomo positivos a aquellos (x1 , . . . , xn ) tal quePnwxii 0 (donde x0 1)i 0PnLa ecuación i 0 wi xi 0 representa un hiperplano en R nEs 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”)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Perceptrones: limitaciones expresivasPor 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 umbralCapaz de encontrar un perceptrón adecuado para cualquierconjunto de entrenamiento que sea linealmente separableInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algoritmo de entrenamiento del Perceptrón (umbral)Entrada: Un conjunto de entrenamiento D (con ejemplos dela forma ( x , y ), con x R n e y {0, 1}), y un factor deaprendizaje ηAlgoritmo1) 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 ) del conjuntode entrenamiento hacerP1) Calcular o umbral( ni 0 wi xi ) (con x0 1)2) Para cada peso wi hacer: wi wi η(y o)xi 3) Devolver wInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Comentarios sobre el algoritmoη es una constante positiva, usualmente pequeña (p.ej. 0.1),llamada factor de aprendizaje, que modera las actualizacionesde los pesosEn cada iteración, si y 1 y o 0, entonces y o 1 0,y por tanto los wi correspondientes a xi positivos aumentarán(y disminuirán los correspondientes a xi negativos), lo queaproximará o (salida real) a y (salida esperada)Análogamente ocurre si es o 1 e y 0Cuando y o, los wi no se modificanPara perceptrones con función de activación bipolar, elalgoritmo es análogoInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Comentarios sobre el algoritmoTeorema: 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 ejemplosInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Otro algoritmo de entrenamiento: la Regla DeltaCuando el conjunto de entrenamiento no es linealmenteseparable, la convergencia del algoritmo anterior noestá garantizadaEn ese caso, no será posible encontrar un perceptrón quesobre todos los elementos del conjunto de entrenamientodevuelva la salida esperadaEn su lugar intentaremos minimizar el error cuadrático:E ( w) 12Pd (yd od )2 12Pd [yd g (w0 x0 w1 x1 · · · wn xn )]2Donde g es la función de activación, yd es la salida esperadapara la instancia ( xd , yd ) D, y od es la salida obtenida por elperceptrón y que tratamos de encontrar unNótese que E es función de w que minimice EwEn lo que sigue, supondremos perceptrones con función deactivación g diferenciable (sigmoides, por ejemplo)Quedan excluidos, por tanto, perceptrones umbral o bipolaresInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Idea del método del descenso por el gradienteRepresentación gráfica de E ( w ) (con n 1 y g la identidad)En una superficie diferenciable, la dirección de máximo crecimiento vienedada por el vector gradiente E ( w)El negativo del gradiente proporcionala dirección de máximo descenso haciael mı́nimo de la superficie.Puesto que igualar a cero el gradiente supondrı́a sistemas deecuaciones complicados de resolver en la práctica, optamos para elpor un algoritmo de búsqueda local para obtener un wcual E ( w ) es mı́nimo (local),2520E[w]15105021-2-1001-1w023w1 aleatorio y modificarloLa idea es comenzar con un wsucesivamente en pequeños desplazamientos en la dirección w opuesta al gradiente, esto es ww , siendo w η E ( w ), y η el factor de aprendizajeInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Derivación de la regla de descenso por el gradienteEl gradiente es el vector de las derivadas parciales de Erespecto de cada wi E E E E ( w) ,,., w0 w1 wnNotando por xid la componenteP i-ésima del ejemplo d-ésimo(y x0d 1) y por in(d) ni 0 wi xid , entonces:X E 1X(yd od )g ′ (in(d) )( xid )(yd od )2 wi wi 2ddEsto nos da la siguiente expresión para actualizar pesosmediante la regla de descenso por el gradiente:Xwi wi η(yd od )g ′ (in(d) )xiddInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algoritmo de entrenamiento de descenso por el gradienteEntrada: 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 wi a cero, para i 0, . . . , n2) Para cada (x, y ) PD,1) Calcular in ni 0 wi xi y o g (in)2) Para cada i 0, . . . , n, hacer wi wi η(y o)g ′ (in)xi3) Para cada peso wi , hacer wi wi wi 3) Devolver wInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

La Regla DeltaEs una variante del método de descenso por el gradienteEn lugar de tratar de minimizar el error cuadrático cometidosobre todos los ejemplos de D , procede incrementalmentetratando de descender el error cuadrático Ed ( w ) 12 (y o)2 ,cometido sobre el ejemplo ( x , y ) D que se esté tratando encada momento′dDe esta forma, E wi (y o)g (in)( xi ), y siendo Ed wi η wi , tendremos wi η(y o)g ′ (in)xi , y portanto wi wi η(y o)g ′ (in)xiEste método para actualizar los pesos iterativamente esconocido como Regla DeltaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Entrenamiento de Perceptrones con la Regla DeltaEntrada: 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 ni 0 wi xi y o g (in)2) Para cada peso wi , hacerwi wi η(y o)g ′ (in)xi 3) Devolver wInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Casos particulares de la Regla DeltaPerceptrones con función de activación lineal:En este caso g ′ (in) C (constante)Por tanto, la Regla Delta queda (transformando ηconvenientemente):wi wi η(y o)xiPerceptrones con función de activación sigmoide:En ese caso, g ′ (in) g (in)(1 g (in)) o(1 o)Luego la regla de actualización de pesos queda:wi wi η(y o)o(1 o)xiInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algunos comentarios sobre la Regla DeltaTanto 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 salidaesperadaEn descenso por el gradiente, se desciende en cada paso por elgradiente del error cuadrático de todos los ejemplosEn la Regla Delta, en cada iteración el descenso se producepor el gradiente del error de cada ejemploCon 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áticoglobalInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algunos comentarios sobre la Regla DeltaSe puede demostrar que haciendo el valor de ηsuficientemente pequeño, la Regla Delta se puede aproximararbitrariamente al método de descenso por el gradienteEn 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 localesInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Regla Delta y perceptrones con umbralLa regla de entrenamiento del perceptrón con umbral, y laRegla Delta para el entrenamiento de perceptrones lineales,son aparentemente la misma: wi wi η(y o)xi , pero:Las funciones de activación son distintasLas propiedades de convergencia también:Umbral: converge en un número finito de pasos hacia unajuste perfecto, siempre que el conjunto de entrenamiento sealinealmente separableRegla Delta: converge asintóticamente hacia un mı́nimo localdel error cuadrático, siempreLas propiedades de separación también son distintas:Umbral: busca hiperplano que separe completamente los datosRegla Delta: busca un modelo de regresión, el hiperplano(posiblememente suavizado con el sigmoide) más próximo alos datos de entrenamientoInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes multicapa (hacia adelante)Como hemos visto, los perceptrones tienen una capacidadexpresiva limitada. Es por esto que vamos a estudiar las redesmulticapaRecordar 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 capaanteriorCapa de entrada es aquella en la que se sitúan las unidades deentradaCapa de salida es la de las unidades cuya salida sale al exteriorCapas ocultas son aquellas que no son ni de entrada ni desalidaInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes multicapa: capacidad expresivaCombinando unidades en distintas capas (y siempre que lafunción de activación sea no lineal) aumentamos la capacidadexpresiva de la redEs decir, la cantidad de funciones f : R n R m que puedenrepresentarse aumentaUsualmente, con una sola capa oculta basta para la mayorı́ade las aplicaciones realesInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Entrenamiento de redes multicapaAná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 nPartimos 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 losejemplosLo 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ónInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes multicapa: notaciónSupondremos una red neuronal con n unidades en la capa deentrada, m en la de salida y L capas en totalLa capa 1 es la de entrada y la capa L es la de salidaCada unidad de una capa l está conectada con todas lasunidades de la capa l 1Supondremos una función de activación g diferenciable(usualmente, el sigmoide)El peso de la conexión entre la unidad i y la unidad j se notawijDado un ejemplo ( x , y ) D:Si i es una unidad de la capa de entrada, notaremos por xi lacomponente de x correspondiente a dicha unidadSi k es una unidad de la capa de salida, notaremos por yk lacomponente de y correspondiente a dicha unidadInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Redes multicapa: notaciónAl 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 iEs decir:Si i es una unidad de entrada (es decir, de la capa 1), entoncesai xiPSi i una unidad de una capa l 6 1, entonces ini j wji aj yai g (ini ) (donde el sumatorio anterior se realiza en todas lasunidades j de la capa l 1)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algoritmo de Retropropagación: idea intuitivaDado 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 ′ (ini )(yi ai ) (error modificado en la unidad i)Entonces wji wji ηaj iEn las unidades de capas ocultas, sin embargo, no podemoshacer lo mismoYa que no sabemos cuál es el valor de salida esperado en esasunidadesInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Algoritmo de Retropropagación: idea intuitiva¿Cómo actualizamos los pesos de conexiones con capasocultas?Idea: ir hacia atrás, calculando el error j de una unidad de lacapa l 1 a partir del error de las unidades de la capa l (conlas que está conectada j)PEsto es: j g ′ (inj ) i wji i y por tanto wkj wkj ηak jIntuitivamente, cada unidad j es “responsable” del error quetiene cada una de las unidades a las que envı́a su salidaY lo es en la medida que marca el peso de la conexión entreellasLa salida de cada unidad se calcula propagando valores haciaadelante, pero el error en cada una se calcula desde la capa desalida hacia atrás (de ahı́ el nombre de retropropagación)El método de retropropagación se puede justificarformalmente como descenso por el gradiente del error, pero noveremos aquı́ la demostraciónInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

El Algoritmo de RetropropagaciónEntrada: 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 redEn las siguientes transparencias desarrollamos los puntos2.1.1) y 2.1.2)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Propagación hacia adelanteDesarrollamos 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)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Propagación hacia atrásUna 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 ′ (ini )(yi ai )2) Para l desde L 1 hasta 1 (decrementando l) hacer1) Para cada nodoPj en la capa l hacer1) j g ′ (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 ηaj iPara la capa de entrada (l 1) no es necesario calcular los jSi hubiera pesos umbral, después de calcular cada i se han deactualizar igualmente : w0i w0i ηa0 i (donde a0 1)Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Retropropagación con unidades sigmoideLa versión más común del algoritmo de retropropagación es laque se realiza con redes con función de activación sigmoideRecordar que el sigmoide se define σ(x) σ ′ (x) σ(x)(1 σ(x))11 e xy quePor tanto, en el caso de que g (x) σ(x), entoncesg ′ (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 )PPara las capas ocultas, j aj (1 aj ) i wji iEsto significa que no necesitamos almacenar los ini del Paso 1para usarlos en el Paso 2Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Un ejemplo de RetropropaciónConsidérese una red neuronal con la siguiente estructura en laque se usa el sigmoide como función de activación:3574621Supongamos 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, . . . , 7Inteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

Traza de la Retropropagación del s que se realizan 7 a7 (1 a7 )(y7 a7 )w0,7 w0,7 ηa0 7 6 a6 (1 a6 )(y6 a6 )w0,6 w0,6 ηa0 6 5 a5 (1 a5 )[w5,6 6 w5,7 7 ]w0,5 w0,5 ηa0 5w5,6 w5,6 ηa5 6w5,7 w5,7 ηa5 7 4 a4 (1 a4 )[w4,6 6 w4,7 7 ]w0,4 w0,4 ηa0 4w4,6 w4,6 ηa4 6w4,7 w4,7 ηa4 7w3,4w3,5w2,4w2,5w1,4w1,5Inteligencia Artificial IA 2012–2013 w3,4 ηa3 4 w3,5 ηa3 5 w2,4 ηa2 4 w2,5 ηa2 5 w1,4 ηa1 4 w1,5 ηa1 5Tema 9: Introducción a las redes neuronales

Momentum en el algoritmo de retropropagaciónRetropropagación es un método de descenso por el gradientey por tanto existe el problema de los mı́nimos localesUna variante muy común en el algoritmo de retropropagaciónes introducir un sumando adicional en la actualización depesosEste sumando hace que en cada actualización de pesos setenga también en cuenta la actualización realizada en laiteración anteriorConcretamente: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 α wji0 α 1 es una constante denominada momentumLa técnica del momentum puede ser eficaz a veces paraescapar de “pequeños mı́nimos locales”, donde una versión sinmomentum se estancarı́aInteligencia Artificial IA 2012–2013Tema 9: Introducción a las redes neuronales

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

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.

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.

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.

1 Sunday is the new Saturday: Sunday Trading Reforms And Its Effects on Family-run SMEs, Employees and Consumers Author: Dr. Hina Khan Dr Khan is a Lecturer in Marketing for International Operation for the Lancaster University Management School, Lancaster University, UK. She also works as an Independent Marketing Consultant. She is on the Editorial Board of the Journal of Small Business and .