Redes Neuronales - DCC PUC Inteligencia Artificial IIC 2612...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: DCC - PUC Inteligencia Artificial IIC 2612 Un Agente Inductivo Toma II Redes Neuronales Artificiales ©Alvaro Soto 1 Ch. 5 DCC - PUC Redes Neuronales Artificiales o Artificial Neural Nets (ANNs) • Método altamente práctico y general para aprender funciones continuas, discretas y vectoriales, dado un set de ejemplos rotulados • Método de aprendizaje supervisado • En este capítulo veremos el tipo feed-forward ©Alvaro Soto 2 Ch. 5 DCC - PUC Estructura de una ANNs tipo Feed-Forward Cada link tiene un peso (weight) asociado Vector de entrada i Wij j Vector de salida Capa Entrada Capa Oculta Capa Salida Ingredientes: • Unidades Capa Entrada • Unidades Capas Ocultas • Unidades Capa Salida • Pesos ©Alvaro Soto Una ANN es caracterizada por: 1. Su estructura interna 2. Su método para determinan los pesos 3. Su función de activación 3 Ch. 5 DCC - PUC ANNs in a Nutshell Red Neuronal Artificial flujo Vector de entrada Vector de salida Ejemplo: cuando el vector de entrada es una imagen del dígito 3 la salida debe ser la codificación binaria de este dígito ©Alvaro Soto 3 Red Neuronal 0 0 1 1 4 Ch. 5 DCC - PUC ANNs in a Nutshell Atributo Rango Valor Precio Edad No. Rec. Repar Clima Cochera Terreno Construc. Sector 300K-3M 0-50 1-10 1-5 C, D, N 0-5 100-1000 100-1000 1-5 900M 20 3 2 D 2 400 350 3 Edad No. Rec. Repar Clima Cochera Terreno Construc. Sector ¿ Precio ? ©Alvaro Soto 5 Ch. 5 DCC - PUC ANNs in a Nutshell Atributo Valor Val_Nor Edad No. Rec. Repar Clima Cochera Terreno Construc. Sector 20 3 2 D 2 400 350 3 0.4 0.3 0.15 0.25 0.33 0.4 0.35 0.65 Una ANN 1. es c Su estr aracte 2. riz uc Su mét tura in ada po tern o los r: pes do pa 3. a ra d os Su eter func mi n ión an de a ctiv ació n ©Alvaro Soto 6 Ch. 5 ANNs Replica Modelo Bíologico (o al menos lo que hoy entendemos de él) DCC - PUC • Cada neurona recibe señales (entradas) desde otras neuronas • El efecto de cada señal de entrada depende de un ponderador o peso sináptico que regula la conexión • Los pesos sinápticos se adaptan de manera que la red global pueda realizar cómputos útiles: reconocer objetos, responder pruebas de IA, entender lenguaje, etc. Neurona Biológica Axon de otro neurona Arborización axonal dendritas Sinapsis Axon Neurona Artificial Tipo Perceptrón wi,j i Conexiones de entrada xi yi=g( i xi wij ) xi wij Conexiones de salida g yi Núcleo Soma o Soma cuerpo cuerpo synapsis ©Alvaro Soto Salida Función de entrada Función de activación 7 Ch. 5 DCC - PUC Neurona Biológica Neurona Artificial xi wij i Cerebro humano • Número de neuronas aprox. 1011 • Conexiones por neurona aprox. 104 • Tiempo de paso de señal 10-3 seg. • Reconocimiento de rostro familiar en 0.1 seg. • Proceso altamente paralelo • Representación altamente distribuida ANNs • Número de neuronas aprox. 104-6 • Conexiones por neurona aprox. 102-3 • Tiempo de paso de señal 10-11 seg. • Reconocimiento de rostro familiar sólo en casos controlados • Proceso paralelizable pero aún no a nivel de cerebro humano • Representación dividida en gran número de neuronas • Énfasis en adecuar pesos • Estructura fija de la red 8 ©Alvaro Soto Ch. 5 DCC - PUC Algo de historia • 1943: McCulloch and Pitts. Binary thresholdneuron • 1949: Hebb. Hebb learning rule • 1959: Rosemblatt. Perceptrón • 1969: Minsky. Perceptrón altamente limitados • 1982: Hopfield. Hopfield nets • 1986: Rumelhart. Backpropagation ©Alvaro Soto 9 Ch. 5 Mc Culloch and Pitts: Binary Threshold-neuron (1943) DCC - PUC • Considerado el primer modelo de ANNs • Usada principalmente para modelar funciones lógicas • Pesos determinados mediante un análisis de la función objetivo • No existe un algoritmo de entrenamiento xi wi , y=g( xi wi ) i z= i xi wi y=g(z) 1 y= ©Alvaro Soto 1 if z ≥θ 0 otherwise 0 threshold z10 Ch. 5 DCC - PUC Con ustedes el singular: Perceptrón Separ ad thresh or lineal c on old El real descubrimiento de la magia: Neuronas de activación no lineal + ALGORITMO DE APRENDIZAJE ©Alvaro Soto 11 Ch. 5 DCC - PUC TOMA 2 Entrenamiento de un Perceptrón Lineal 1 2 E [w] ≡ (t d − od ) 2 d∈D ¿Como podemos encontrar mínimo de esta función de error en función de los pesos? ¿Algún comentario sobre la forma de esta función de error ? ¿Qué tal nuestro querido amigo el gradiente? ©Alvaro Soto ¿Qué dirían nuestros camaradas de estadística? 12 Ch. 5 DCC - PUC TOMA 1 Entrenamiento de un Perceptrón Lineal Se sin par th ado re sh r lin ea ol d l Objetivo: Encontrar set de pesos que minimiza error cuadrático sobre set de entrenamiento Set de entrenamiento: O = w0 + w1 x1 + ...wn xn = n i =0 wi xi x, t x : entrada Alvaro Soto ©t : salida deseada 1 2 Error = E [w] ≡ (t d − od ) 2 d∈D 13 Ch. 5 DCC - PUC TOMA 3 Entrenamiento de un Perceptrón Lineal Regla de entrenamiento Movemos pesos en dirección opuesta al gradiente (gradient descent) Tasa de aprendizaje (learning rate) ©Alvaro Soto 14 Ch. 5 DCC - PUC TOMA 4 Entrenamiento de un Perceptrón Lineal Algoritmo ©Alvaro Soto 15 Ch. 5 DCC - PUC Perceptrón con activación sigmoidal Regla de entrenamiento ©Alvaro Soto 16 Ch. 5 Entrenamiento de un Perceptrón Una Mirada Geométrica DCC - PUC ©Alvaro Soto 17 Ch. 5 DCC - PUC TOMA 5 Variantes: Modo Batch o Modo Incremental Entrenamiento de un Perceptrón ©Alvaro Soto 18 Ch. 5 DCC - PUC TOMA 5 Entrenamiento de un Perceptrón • Modo incremental zig-zags por qué? restricción de caso ejemplo 1 • Modo Batch sigue gradiente en superficie de error en set de training w1 w1 ©Alvaro Soto w2 Restricción de caso ejemplo 2 w2 19 Ch. 5 DCC - PUC ¿ Qué puede aprender un Perceptrón ? Problemas linealmente separables ©Alvaro Soto 20 Ch. 5 DCC - PUC Problema con el Perceptrón ¿Cómo aprendemos el siguiente clasificador? ©Alvaro Soto OR exclusivo: x1 ⊕ x2 21 Ch. 5 DCC - PUC Solución al problema del Perceptrón x1 ⊕ x2 = ( x1 ∨ x2 ) ∧ (~ x1 ∨ ~ x2 ) Nuevo problema: ¿Cómo entrenamos redes con un layer oculto (hidden layer)? ©Alvaro Soto Backpropagation al rescate 22 Ch. 5 DCC - PUC Backpropagation permite entrenar Multilayer networks ©Alvaro Soto 23 Ch. 5 DCC - PUC Backpropagation permite entrenar Multilayer networks ©Alvaro Soto 24 Ch. 5 DCC - PUC El Engorroso Mundo de los Sub-Índices Detrás de Backpropagation ©Alvaro Soto 25 Ch. 5 DCC - PUC Backpropagation en gloria y majestad ©Alvaro Soto 26 Ch. 5 DCC - PUC Recetas de cocina • Aplicar estrategia tipo “annealing” para controlar dinámicamente el valor de la tasa de aprendizaje • Aplicar un factor de momentum para actualizar valor de pesos • • • • • • Cuidado con overfitting Usar técnicas de validación cruzada Estructura de la red Criterio de término de iteraciones Inicialización de pesos Función de activación 27 ©Alvaro Soto Ch. 5 DCC - PUC Ejemplo ¿Podemos aprender la siguiente función? ©Alvaro Soto 28 Ch. 5 ©Alvaro Soto AUU GU !!! U!! U ¿A lg ún po co rl m a en un ta id rio ad s es ob in re te e rn l v as al de or g la en re er d? ad o Ejemplo Inputs Outputs Hidden values 50 00 ép 29 oc as d ee ntr en am DCC - PUC i en to Ch. 5 DCC - PUC Valor de la tecnología ©Alvaro Soto 30 Ch. 5 DCC - PUC Overfitting en Redes Neuronales ©Alvaro Soto 31 Ch. 5 DCC - PUC NETtalk (Sejnowski & Rosenberg, 1987) • Tarea: aprender a pronunciar palabras escritas en inglés • Set de entrenamiento: 1024 palabras con su correspondientes fonemas • Entrada: 7 caracteres consecutivos presentados según una ventana que se deslizaba sobre el texto • Salida: código de fonema más cercano según letra al centro del texto de entrada • Estructura: 3 capas. 7x29 entradas (26 chars + caracteres de puntuación), 80 neuronas en capa oculta, 26 unidades en capa de salida (codificación de fonema). • Funciones de activación sigmoidal en capa oculta y salida • Resultados: 95% exactitud en set de entrenamiento después de 50 iteraciones (épocas) usando backpropagation. 78% exactitud en set de test. ©Alvaro Soto 32 Ch. 5 DCC - PUC Ejemplo: Detección de autos y personas Enfasis en la cabeza Pesos Resultantes Enfasis en los hombros Red decide ignorar partes norígidas y pone énfasis en la parte superior del cuerpo Video Clip ©Alvaro Soto Enfasis en la espalda 33 Ch. 5 DCC - PUC Ejemplo: ALVINN ©Alvaro Soto 34 Ch. 5 DCC - PUC Ejemplo: ALVINN ©Alvaro Soto 35 Ch. 5 DCC - PUC Reconocimiento de postura del rostro Salida r ce s et o s g nte con cara n ini ndie re 20 tra pe ara e en de d p 1 d s to st in ctitu ro y da te xa st 0e o 24 t d de e el r Se % r a d 90 stu po Entrada Típicas imágenes en set de entrenamiento ©Alvaro Soto 36 Ch. 5 DCC - PUC Reconocimiento de postura del rostro Interpretación de los pesos ©Alvaro Soto 37 Ch. 5 DCC - PUC ANNs y la fama • Exitosamente aplicadas en una gran gama de aplicaciones relacionadas con problemas de: • • • • • Reconocimiento de patrones Aproximación de funciones Predicción Estrategias de control … Aprender a reconocer caracteres Aprender a reconocer voz Aprender a reconocer objetos en imágenes Aprender a conducir un automóvil en una carretera Aprender a reconocer situaciones fraudulentas en reclamos a una Isapre … ©Alvaro•Soto • Ejemplos: • • • • • 38 Ch. 5 DCC - PUC ANNs el lado oscuro Muchos parámetros Difícil elegir estructura Difícil elegir representación para inputs y outputs Largo tiempo de entrenamiento Difícil de ajustar el coeficiente de aprendizaje Fácil de quedar atrapado en óptimo local Limitadas capacidades para aprender dinámicamente • Difícil de entender modelos • Actualmente énfasis ha girado hacia redes de Bayes y máquinas de vectores de soporte que pueden ser considerados como variantes del perceptrón ©Alvaro Soto 39 • • • • • • • Ch. 5 DCC - PUC Cuando Considerar ANNs • Set de datos posee alta dimensionalidad ya sean datos discretos o continuos • Set de datos esta rotulado (aprendizaje supervisado) • Relación compleja (altamente no lineal) entre entrada y salida • Datos ruidosos • Podemos usar un largo tiempo para entrenamiento pero necesitamos un tiempo rápido al momento de hacer consultas a la red • Obtención de un modelo generativo, comprensible por un ser humano, no es importante (ANNs son modelos de tipo caja negra) ©Alvaro Soto 40 Ch. 5 ...
View Full Document

This note was uploaded on 03/09/2011 for the course INGENIERIA 111 taught by Professor Jorgevera during the Spring '10 term at Pontificia Universidad Católica de Chile.

Ask a homework question - tutors are online