Redes Neuronales Artificiales

Documentos relacionados
Inteligencia Artificial. Aprendizaje neuronal. Ing. Sup. en Informática, 4º. Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

Introducción a las Redes Neuronales

CONCEPTOS BÁSICOS (Freeman capt.1; Neural Nets capt. 4,5 y 7)

Tema 9: Introducción a las redes neuronales

Inteligencia Artificial. Redes Neurales Artificiales

Introducción a las Redes de Neuronas

Capítulo 2. Las Redes Neuronales Artificiales

MÉTODOS DE APRENDIZAJE INDUCTIVO (continuación)

CONCLUSIONES. La teoría de Redes Neuronales Artificiales, presenta grandes ventajas con

Redes Multicapa. Compuerta XOR

Tema 7 Redes Neuronales Recurrentes

Redes Neuronales Artificiales

REDES NEURONALES. Una esquema simplificado de una neurona se muestra en la siguiente figura. Cuerpo celular. Dendrita. Axón.

Introducción. Autoencoders. RBMs. Redes de Convolución. Deep Learning. Eduardo Morales INAOE (INAOE) 1 / 60

TEMA 6 Redes de Neuronas Artificiales

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO III

Aprendizaje Automatizado

OPTIMIZACIÓN VECTORIAL

PROJECT GLASS : REALIDAD AUMENTADA, RECONOCIMIENTO DE IMÁGENES Y RECONOCIMIENTO DE VOZ.

Aprendizaje Automatizado. Redes Neuronales Artificiales

Lección 6 Redes Neuronales Artificiales Curso Básico

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

en el funcionamiento del cerebro FRANCISCO CERVANTES PÉREZ, JOSÉ INCERA DIÉGUEZ Y SALVADOR MÁRMOL YAHYA

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO REPORTE DE INVESTIGACION

Modelos Gráficos Probabilistas L. Enrique Sucar INAOE. Sesión 10: Redes Bayesianas Inferencia. 1era parte. [Neapolitan 90]

3.7 IDENTIFICACION DE UN SISTEMA DINÁMICO NO LINEAL Descripción del Problema: La identificación de un sistema consiste en

CAPÍTULO I ALGUNOS HECHOS INTERESANTES DE LAS NEURONAS

Clase No. 13: Factorización QR MAT 251. Joaquín Peña (CIMAT) Métodos Numéricos (MAT 251) / 16

COMPUTACION INTELIGENTE (PRIMERA PARTE: INTRODUCCION)

Introducción a las Redes Neuronales. Tomás Arredondo Vidal Depto. Electronica UTFSM 4/5/12

CRITERIOS DE SELECCIÓN DE MODELOS

Formulación del problema de la ruta más corta en programación lineal

como les va con las practicas?

Programación NO Lineal (PNL) Optimización sin restricciones

Complejidad de los Algoritmos

Página 1 de 12 CONCEPTOS INFORMÁTICOS BÁSICOS

* ANÁLISIS DE ESTRUCTURAS

MASTER DE INGENIERÍA BIOMÉDICA. Métodos de ayuda al diagnóstico clínico. Tema 6: Árboles de decisión.

Programación lineal: Algoritmo del simplex

UNIDAD 8: SUCESIONES Y SERIES

Complejidad computacional (Análisis de Algoritmos)

Algebra lineal y conjuntos convexos

11 Secuencias, Series y Probabilidad

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos genéticos

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO

UNIVERSIDAD TECNOLOGICA DE PEREIRA PROGRAMA DE TECNOLOGIA ELECTRICA

Unidad I: Introducción a las estructuras de datos

ALGUNOS HECHOS INTERESANTES DE LAS NEURONAS. La idea de ser parte constituyente de la estructura cerebral la introducen Ramón y Cajal en 1911.

Desarrollo software de técnicas para el diseño automático de Redes Neuronales Artificiales con bajo coste computacional

DOCENTE: JESÚS E. BARRIOS P.

MODELOS DE COMPUTACION II

PRACTICAS SEÑALES Y SISTEMAS

3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN DE JAULA DE. Un motor de inducción tiene físicamente el mismo estator de una máquina

1.- Sistemas Numéricos 2.- Diferencia entre señal analógica y Digital 3.- Postulados básicos del Algebra de Boole

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Deep Learning y Big Data

La eficiencia de los programas

Análisis y Diseño de Algoritmos

5.- Diseña un Perceptrón simple con una capa intermedia (oculta) de unidades de proceso bipolares que implemente la función lógica XOR. 6.

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

TEMA 6. SVM Support Vector Machines (Máquinas de Vectores Soporte)

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

ADALINE Y PERCEPTRON

Course 4: Neural networks Prof. Santiago Falcón

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

Tema 5. Reconocimiento de patrones

SERVICIO NACIONAL DE APRENDIZAJE SENA MANUAL DE FUNCIONES COMPONENTES INTERNOS Y EXTERNOS DE UN COMPUTADOR INSTRUCTORA BLANCA NUBIA CHITIVA LEON

Cálculo I (Grado en Ingeniería Informática) Problemas adicionales resueltos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Análisis de Fourier: efectos de un medio físico ideal en la transmisión de una señal digital

3. Árboles de decisión

Computadora y Sistema Operativo

5 Continuidad y derivabilidad de funciones reales de varias variables reales.

José Humberto Serrano Devia Página 1

Algoritmos Genéticos. Introducción a la Robótica Inteligente. Álvaro Gutiérrez 20 de abril de

Figura 1: Esquema de las tablas simplex de inicio y general.

A continuación se presenta la información de la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes.

Clase 9 Programación No Lineal

2. PRINCIPALES TIPOS DE REDES NEURONALES


Guía práctica de estudio 06: Lenguaje binario

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

Tema 3: Análisis de datos bivariantes

La importancia de las factorizaciones matriciales no negativas en la minería de datos y el procesamiento de

Cátedra: Informática Aplicada a la Ingeniería de Procesos Orientación I. Tema: Redes Neuronales: Conceptos Básicos y Aplicaciones.

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

Series Temporales. Departamento de Informática Universidad Carlos III de Madrid Avda. de la Universidad, Leganés (Madrid)

7.- Teorema integral de Fourier. Transformada de Fourier

Transcripción:

Neuronales Artificiales Eduardo Morales, Hugo Jair Escalante Coordinación de Ciencias Computacionales Instituto Nacional de Astrofísica, Óptica y Electrónica Septiembre, 2015 (INAOE) Septiembre, 2015 1 / 61

1 2 3 4 5 6 (INAOE) Septiembre, 2015 2 / 61

A las redes neuronales (conneccionismo, proceso paralelo distribuido, computación neuronal, redes adaptivas, computación colectiva) las podemos entender desde dos puntos de vista: Computacional: representar funciones usando redes de elementos con cálculo aritmético sencillo, y métodos para aprender esa representación a partir de ejemplos. La repesentación es útil para funciones complejas con salidas continuas y datos con ruido Biológico: modelo matemático de la operación del cerebro. Los elementos sencillos de cómputo corresponden a neuronas, y la red a una colección de éstas. (INAOE) Septiembre, 2015 3 / 61

La neurona es la unidad funcional fundamental del sistema nervioso. Cada neurona tiene un cuerpo (soma) que tiene un nucleo y tiene un grupo de fibras (dendritas) y una de las cuales es más larga (axón). Figura: Neurona. (INAOE) Septiembre, 2015 4 / 61

El axón se bifurca eventualmente en sinapses. Las señales se propagan en una reacción electroquímica complicada. Las substancias químicas transmisoras se liberan de las sinapses y entran a la dendrita, aumentando o disminuyendo el potencial eléctrico del cuerpo de la célula. Figura: Neurona. (INAOE) Septiembre, 2015 5 / 61

Cuando el potencial alcanza un umbral se transmite un pulso elétrico o acción potencial a través del axón. Las sinapses que aumentan el potencial se llaman exitatorias y los que disminuyen, inhibidoras. La conexión sináptica es plástica (cambia con la estimulación). Se pueden formar nuevas conecciones y las neuronas migran de un lugar a otro. Esto se cree que forman la base de aprendizaje en el cerebro. (INAOE) Septiembre, 2015 6 / 61

En general el mapeo de regiones con funciones puede ser múltiple y cambiar cuando un área es dañada (pero no se sabe bien como se hace). Lo sorprendente es que una colección de células simples puedan dar pensamiento, acción y conciencia (cerebros causan mentes (Searle 92)). (INAOE) Septiembre, 2015 7 / 61

Cuadro: Comparación gruesa de las capacidades computacionales de cerebros y computadoras (1994). Computadora Cerebro Humano Unidades 1 CPU, 10 11 neuronas Computacionales 10 5 compuertas Unidades de 10 9 bits RAM, 10 11 neuronas, Almacenamiento 10 10 bits disco 10 14 sinapses Ciclo (tiempo) 10 8 seg. 10 3 seg. Anchobanda 10 9 bits/seg. 10 14 bits/seg. Actualizaciónes/seg. 10 5 10 14 A pesar de que una computadora es millones de veces más rápida por proceso individual, el cerebro finalmente es billones de veces más rápido (ver tabla 1). (INAOE) Septiembre, 2015 8 / 61

Una de las atracciones, es construir un mecanismo que combine el paralelismo del cerebro con la velocidad de las máquinas. Los cerebros son mucho más tolerantes (en 70-80 años, no se tiene que reemplazar una tarjeta de memoria, llamar al servicio o hacer reboot). La tercera atracción es su degradación gradual. (INAOE) Septiembre, 2015 9 / 61

Historia Existió mucho desarrollo en los primeros años de la computación: McCulloch y Pitts (43), Hebb (49), Minsky (51) (primera red), Ashby (52), Rosenblatt (57) (perceptrón), Selfridge (59) (pandemonium), Widrow y Hoff (60) (adalines), Nilsson (65-90), Minsky y Papert (69). Durante 10 años prácticamente no se hizo nada. El resurgimiento comenzo en la decada de los 80 s: Hinton y Anderson (81), Hopfield (82), Hinton y Sejnowski (83 y 86) y los dos volumens de PDP (Parallel Distributed Processing) anthology (Rumelhart et al. 86). (INAOE) Septiembre, 2015 10 / 61

Historia (reciente) Durante los 95 s - 03 s hubo otra época de oscurantismo en RNs, debido al surgimiento y popularización de SVM. Las RNs tuvieron (otro) segundo aire a de la primera decada del presente siglo. (INAOE) Septiembre, 2015 11 / 61

neuronales artificiales El funcionamiento de las neuronas y del cerebro en general sirve como insipración para el desarrollo de sistemas de aprendizaje computational. El equivalente computacional de una neurona es una unidad que almacena pesos asociados a un problema de aprendizaje. de neuronas, imitan de manera burda el funcionamiento del cerebro. (INAOE) Septiembre, 2015 12 / 61

neuronales artificiales En pocas palabras una RNA es: Un modelo no-lineal, formado por muchos modelos (unidades) lineales con funciones de activación no-lineal. Un modelo que modifica los valores de sus elementos para hacer corresponder sus salidas con las salidas esperadas/verdaderas. (INAOE) Septiembre, 2015 13 / 61

neuronales artificiales Figura: Neurona artificial (diap. I. Guyon.). (INAOE) Septiembre, 2015 14 / 61

neuronales artificiales Una red neuronal está compuesta por nodos o unidades, conectados por ligas. Cada liga tiene un peso numérico asociado. Los pesos son el medio principal para almacenamiento a largo plazo en una red neuronal, y el aprendizaje normalmente se hace sobre la actualización de pesos. Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 15 / 61

neuronales artificiales Algunas unidades están conectadas al medio ambiente externo y pueden diseñarse como unidades de entrada o salida. Los pesos se modifican para tratar de hacer que el comportamiento entrada/salida se comporte como el del ambiente. Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 16 / 61

neuronales artificiales Cada unidad tiene un conjunto de ligas de entrada (provenientes de otras unidades) y un conjunto de ligas de salida (hacia otras unidades), un nivel de activación, y una forma de calcular su nivel de activación en el siguiente paso en el tiempo, dada su entrada y sus pesos (cada unidad hace un cálculo local basado en las entradas de sus vecinos). Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 17 / 61

neuronales artificiales La computación se hace en función de los valores recibidos y de los pesos. Se divide en dos: 1 Un componente lineal, llamado la función de entrada (in i ), que calcúla la suma de los valores de entrada. 2 Un componente no lineal, llamado función de activación (g), que transforma la suma pesada en una valor final que sirve como su valor de activación (a i ). Normalmente, todas las unidades usan la misma función de activación. (INAOE) Septiembre, 2015 18 / 61

neuronales artificiales La suma pesada es simplemente las entradas de activación por sus pesos correspondientes: in i = j w j,i a j = w i a i w i : vector de los pesos que llegan a la unidad i a i : vector de los valores de activación de las entradas a la unidad i El nuevo valor de activación se realiza aplicando una función de activación g: a i g(in i ) = g( j w j,i a j ) (INAOE) Septiembre, 2015 19 / 61

Se obtienen modelos diferentes cambiando g. Las opciones comunes son (ver figura 17): función escalón: signo: sigmoide: escalon t (x) = signo(x) = sigmoide(x) = { 1, si x t 0, si x < t { +1, si x 0 1, si x < 0 1 1 + e x (INAOE) Septiembre, 2015 20 / 61

Se obtienen modelos diferentes cambiando g. Las opciones comunes son (ver figura 17): Figura: Funciones de activación comunes para Neuronales. (INAOE) Septiembre, 2015 21 / 61

neuronales artificiales En la práctica, casi todas las implementaciones de RN son en software y utilizan un control síncrono en su actualización. Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 22 / 61

neuronales artificiales Ejemplo de aplicación: Figura: Arquitectura de ALVINN. (INAOE) Septiembre, 2015 23 / 61

neuronales artificiales Para el diseño uno debe de decidir: número de unidades cómo se deben de conectar qué algoritmo de aprendizaje utilizar cómo codificar los ejemplos de entradas y salidas Cada unidad recibe señales de sus ligas de entradas y calcúla un nuevo nivel de activación que manda a través de sus ligas de salidas. (INAOE) Septiembre, 2015 24 / 61

neuronales artificiales Problemas apropiados para abordarse con RNA: Las instancias se representan por muchos pares de atributo-valor. La función objetivo de salida puede ser discreta, real, un vector de reales-categorías o una combinación de ambos. Los ejemplos de entrenamiento pueden tener errores. Se requiere una evaluación rápida de la función aprendida. No es importante interpretar la función aprendida. (INAOE) Septiembre, 2015 25 / 61

redes Existen muchas estructuras que dan propiedades computacionales distintas. La distinción principal es entre: 1 feed-forward: ligas unidireccionales, sin ciclos (DAGs). Normalmente estaremos hablando de redes que están arregladas en capas. Cada unidad está ligada solo con las unidades de la siguiente capa. No hay ligas inter-capas, ni ligas a capas anteriores, ni ligas saltandose capas. 2 recurrent: las ligas pueden formar topologías arbitrarias. (INAOE) Septiembre, 2015 26 / 61

redes Una red feed-forward calcula una función de las entradas que depende de los pesos. Este es el modelo más usado y nos vamos a concentrar más en éste. Por un lado, están las unidades de entrada (su valor de activación depende del medio ambiente). Del otro, las unidades de salida. En medio (sin conección al medio ambiente) se tienen las unidades ocultas (ver figura 11). Figura: Arquitectura típica de una Red Neuronal feedforward. (INAOE) Septiembre, 2015 27 / 61

redes Algunas redes no tienen nodos o unidades ocultos (perceptrones). Esto hace el aprendizaje mucho más sencillo, pero limita lo que se puede aprender. con una o mas capas ocultas se llaman redes multicapas. (INAOE) Septiembre, 2015 28 / 61

redes Con una sola capa (suficientemente grande) de unidades ocultas, es posible representar cualquier función continua de las entradas. Con dos capas es posible representar hasta funciones discontinuas. Con una estructura fija y función de activación g fija, las funciones representables por una red feed-forward están restringidas por una estructura específica parametrizada. (INAOE) Septiembre, 2015 29 / 61

redes Los pesos escogidos para la red determinan cuáles de las funciones se representan. Por ejemplo, una red con 2 unidades de entrada, dos ocultas y una de salida, con todas las conecciones intercapas, calcula la siguiente función (ver figura 12): Figura: Arquitectura de una Red Neuronal simple. (INAOE) Septiembre, 2015 30 / 61

redes a 5 = g(w 3,5 a 3 + w 4,5 a 4 ) = g(w 3,5 g(w 1,3 a 1 + w 2,3 a 2 ) + w 4,5 g(w 1,4 a 1 + w 2,4 a 2 )) Como g es una función no lineal, la red representa una función nolineal compleja. Si se piensa que los pesos son los parámetros o coeficientes de esta función, el aprendizaje es simplemente el proceso de afinar los parámetros para que concuerden con los datos en el conjunto de entrenamiento (es lo que en estadística se llama regresión nolineal). (INAOE) Septiembre, 2015 31 / 61

El Perceptron Un tipo de unidad de aprendizaje en RNs es el perceptron: Clasificador lineal (red con una única neurona!) que se basa en un vector de pesos (w), tal que, dado un ejemplo, determina si éste pertenece a la clase positiva (+1) o negativa ( 1). Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 32 / 61

El Perceptron Dado un ejemplo, determina si éste pertenece a la clase positiva (+1) o negativa ( 1): f (x) = sign(wx + b) (INAOE) Septiembre, 2015 33 / 61

neuronales artificiales Figura: Neurona artificial (diap. I. Guyon.). (INAOE) Septiembre, 2015 34 / 61

neuronales artificiales (INAOE) Septiembre, 2015 35 / 61

El Perceptron Cómo determinar los pesos w? Una forma de hacerlo es iniciar con w generado aleatoriamente e iterativamente aplicar el perceptron a cada ejemplo de entrenamiento, modificando w cada vez que un ejemplo sea mal classificado. Este procedimiento se itera hasta que el perceptron clasifique todos los ejemplos correctamente. Los pesos se modifican en cada paso mediante la regla de entrenamiento del perceptron: donde: w i w i + w i w i = η(t o)x i y t 1, 1 es el valor real de f (x), o es la salida generada por el perceptron, y η es la tasa de aprendizaje. (INAOE) Septiembre, 2015 36 / 61

El Perceptron Cuadro: Algoritmo Aprendizaje del Perceptron w pesos asignados aleatoriamente repeat para cada x ejemplos do o wx + b // salida del perceptron t valor observado de x // i.e., f (x) w = η(t o)x // Calcula w w w + w // Actualiza w end until todos los ejemplos sea predichos correctamente o se alcance un criterio de paro regresa w (INAOE) Septiembre, 2015 37 / 61

El Perceptron Se ha demostrado que el procedimiento anterior converge después de un número finito de iteraciones a un vector de pesos que separa todos los datos de entrenamiento: siempre y cuando sea un problema separable linealmente. Qué pasa si el problema no es linealmente separable? (INAOE) Septiembre, 2015 38 / 61

Regla delta Una regla de aprendizaje similar a la del perceptron, que puede lidiar con problemas que no son linealmente separables. La idea fundamental es usar gradiente descendente para encontrar el vector de pesos que mejor se ajuste a los ejemplos de entrenamiento (la base para backpropagation). (INAOE) Septiembre, 2015 39 / 61

Regla delta La regla delta se entiende mejor cuando la tarea es aprender un perceptron sin umbral: o(x) = wx Con w =< w 0, w 1 >, x < 1, x > Queremos minimizar el error: E(w) = 1 2 N (t i o i ) 2 i=1 Solución: usar gradiente descendente! (INAOE) Septiembre, 2015 40 / 61

Cómo aprender los pesos? Figura: Error para diferentes hipótesis. (INAOE) Septiembre, 2015 41 / 61

Gradiente descendiente y la regla Delta Lo que queremos es determinar el vector de pesos que minimice el error E. E(W ) = 1 (t i o i ) 2 2 Esto se logra alterando los pesos en la dirección que produce el máximo descenso en la superficie del error. La dirección de cambio se obtiene mediante el gradiente. El gradiente nos especifica la dirección que produce el máximo incremento, por lo que el mayor descenso es el negativo de la dirección. i (INAOE) Septiembre, 2015 42 / 61

La regla de actualización de pesos es entonces: Por lo que: W W + W W = α E E w i = 1 w i 2 d D (t d o d ) 2 = d D (t d o d ) w i (t d w x d ) = d D (t d o d )( x i,d ) w i = α d D(t d o d )x i,d (INAOE) Septiembre, 2015 43 / 61

Regla delta Cuadro: Algoritmo Aprendizaje, regla delta w pesos asignados aleatoriamente repeat Incializa cada w i en cero. Para cada x ejemplos do o wx + b // salida de la unidad lineal t valor observado de x, i.e., f (x) Para cada peso de la unidad lineal do w i w i + η(t o)x i // Calcula w end end w w + w // Actualiza w until se alcance un criterio de paro regresa w (INAOE) Septiembre, 2015 44 / 61

En la práctica, se tiende a usar un gradiente descendiente estocástico. Esto es, en lugar de procesar el error sobre todos los datos, se hace sobre uno solo. En este caso, la regla de actualización es: w i = α(t o)x i (INAOE) Septiembre, 2015 45 / 61

Rosenblatt y otros se concentraron en una sola capa, por no encontrar un método adecuado de actualizar los pesos entre las entradas y las unidades ocultas, cuando el error se calcula en las unidades de salida. Minsky y Papert dijeron que investigar multicapas era un problema de importancia, pero especularon que no había razón para suponer que alguna de las virtudes de los perceptrones (teorema de regla de aprendizaje) se mantuvieran con multicapas y que su extensión sería esteril. En parte tuvieron razón, pero definitivamente no ha sido esteril. Aprendizaje en multicapas no es eficiente ni garantiza converger al óptimo global. El aprender funciones generales a partir de ejemplos es un problema intratable en el peor de los casos. (INAOE) Septiembre, 2015 46 / 61

multi-capa y retro-propagación Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 47 / 61

multi-capa y retro-propagación multicapa con unidades lineales producen salidas lineales. Idea: introducir función de activación no lineal sobre la salidas de unidades lineales. Si las funciones son diferenciables, se pueden derivar métodos de aprendizaje basados en GD/SGD. (INAOE) Septiembre, 2015 48 / 61

multi-capa y retro-propagación función escalón: signo: sigmoide: escalon t (x) = signo(x) = sigmoide(x) = { 1, si x t 0, si x < t { +1, si x 0 1, si x < 0 1 1 + e x (INAOE) Septiembre, 2015 49 / 61

multi-capa y retro-propagación Figura: Funciones de activación comunes para Neuronales. (INAOE) Septiembre, 2015 50 / 61

Algoritmo de retropropagación El método más popular para aprender redes multicapas es el de retro-propagación (back-propagation). Se publicó originalmente en 1969 por Bryson y Ho, pero fué ignorado hasta mediados de los 80 s. Aprender en una red multicapas es muy parecido a un perceptrón. Si existe un error se ajustan los pesos para reducir el error. El truco es dividir la culpa del error entre los pesos contribuyentes. Como en el perceptrón se trata de minimizar el error (en este caso, el cuadrado del error). (INAOE) Septiembre, 2015 51 / 61

Algoritmo de retropropagación En la capa de salida, la actualización es muy parecida a la de regla delta. Las diferencias son: se usa la activación de la unidad oculta a i en lugar de la de entrada la regla contiene un término para el gradiente de la función de activación (INAOE) Septiembre, 2015 52 / 61

multi-capa y retro-propagación Figura: Red Neuronal prototípica. (INAOE) Septiembre, 2015 53 / 61

Notación: x ij = la i-ésima entrada al nodo j w ij = el peso asociado a la i-ésima entrada del nodo j net j = i w ijx ij (suma pesada de entradas al nodo j) o j = la salida del nodo j t j = la salida esperada del nodo j σ = función sigmoide sal = el conjunto de nodos de salida α = razón de aprendizaje. sal(j) = conjunto de nodos cuyas entradas directas incluyen la salida del nodo j (INAOE) Septiembre, 2015 54 / 61

Algoritmo de Retropropagación (un solo paso un solo ejemplo) 1 Propaga las entradas a través de la red y calcula la salida 2 Propaga el error hacia atrás 1 para cada unidad de salida k, calcula su error δ k δ k o k (1 o k )(t k o k ) 2 Para cada unidad oculta h, calcula su error δ h δ h o h (1 o h ) w hk δ k k sal(h) 3 Actualiza los pesos w ij w ij w ij + w ij donde w ij = αδ j x ij (INAOE) Septiembre, 2015 55 / 61

Algoritmo de retropropagación Desarrollo: Lo que queremos calcular es la actualizacón de los pesos w ij sumandole w ij w ij = α E d w ij E d w ij = E d net j net j w ij = E d net j x ij = δ j x ij (INAOE) Septiembre, 2015 56 / 61

Capa de salida E d net j = E d o j E d = 1 o j o j 2 o j net j (t k o k ) 2 k sal La derivada es cero en todos los casos, excepto cuando k = j, por lo que: E d = 1 o j o j 2 (t j o j ) 2 = (t j o j ) (INAOE) Septiembre, 2015 57 / 61

Como o j = σ(net j ) Capa de salida o j = σ(net j) net j net j que es la derivada de la sigmoide: Por lo que: = σ(net j )(1 σ(net j )) = o j (1 o j ) y finalmente: E d net j = (t j o j )o j (1 o j ) w ij = α E d w ij = α(t j o j )o j (1 o j )x ij (INAOE) Septiembre, 2015 58 / 61

Capa oculta si j es un nodo oculto, ahora en la regla de actualización del peso w ij se debe de considerar las formas indirectas en las que pudo contribuir al error (de alguna forma estamos distribuimos el error), por lo que consideramos todos los nodos a los cuales les llega la salida del nodo oculto j. Vamos a denotar: δ i = E d net i E d net j = δ j = δ j = k sal(j) k sal(j) k sal(j) E d net k net k net j δ k net k net j δ k net k o j o j net j (INAOE) Septiembre, 2015 59 / 61

Capa oculta net k o j es diferente de cero, sólo cuando tenemos el término w jk x jk (donde x jk = o j ) en la sumatoria, por lo que: δ j = δ j = k sal(j) k sal(j) δ j = o j (1 o j ) o j δ k w jk net j δ k w jk o j (1 o j ) k sal(j) δ k w jk Lo que corresponde a la fórmula del inciso 2(b). Finalmente: w ij = αδ j x ij (INAOE) Septiembre, 2015 60 / 61

Algoritmo de retropropagación La retro-propagación puede ser visto como búsqueda de gradiente descendente en la superficie del error. La retro-propagación nos da una forma de dividir el cálculo del gradiente entre las unidades, con lo que el cambio en cada peso puede calcularse por la unidad al cual el peso está ligado, usando sólo información local. Como cualquier gradiente descendiente tiene problemas de eficiencia y convergencia, sin embargo, es un paso para pensar en paralelizar. (INAOE) Septiembre, 2015 61 / 61

El algoritmo de retropropagación es uno de los principales en machine-learning. Aun hoy en día se usa. Tedencias actuales: deep learning (resurgimiento de RNs) Diferencia modelo no-lineal vs modelo lineal. (INAOE) Septiembre, 2015 62 / 61