1 / 30

Reconocimiento de Patrones Redes Neuronales Artificiales

Reconocimiento de Patrones Redes Neuronales Artificiales. Curso de posgrado Enrique Ferreira Instituto de Ingeniería Eléctrica 03 de junio de 2014. Objetivos. Introducir el concepto de redes neuronales, perspectiva histórica, estructuras principales y aplicaciones fundamentales

amy
Download Presentation

Reconocimiento de Patrones Redes Neuronales Artificiales

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reconocimiento de Patrones Redes Neuronales Artificiales Curso de posgrado Enrique Ferreira Instituto de Ingeniería Eléctrica 03 de junio de 2014

  2. Objetivos • Introducir el concepto de redes neuronales, perspectiva histórica, estructuras principales y aplicaciones fundamentales • Describir en detalle estructuras y algoritmos a utilizar en el contexto de reconocimiento de patrones • Conceptos de optimización • Conceptos de sistemas dinámicos Reconocimiento de Patrones

  3. Hipótesis de trabajo • No se pretenden cubrir todas las estructuras neuronales y sus algoritmos respectivos • Complejidad • Objetivos y duración del curso • Dar las herramientas para que Uds. puedan seguir profundizando en el tema conforme a sus necesidades. Reconocimiento de Patrones

  4. Organización • Motivación, Historia • Ingeniería inversa de procesos biológicos para el desarrollo de nuevos modelos de computación • Resolución de problemas complejos • Introducción • Conceptos fundamentales, notación a usar • Ejemplos de redes neuronales • Concepto de Aprendizaje • Métodos de entrenamiento • Aplicaciones • Problemas fundamentales Reconocimiento de Patrones

  5. Perspectiva Histórica • Modelado de la estructura y funcionamiento cerebral • Es un modelo computacional completamente diferente del desarrollado en las computadoras digitales actuales. • distribuido • paralelo • no-lineal • auto-organizable • capacidad de aprendizaje • Realiza ciertas tareas mucho más rápido que las computadoras actuales, trabajando a velocidades mucho más lentas • reconocimiento de patrones, lenguaje, actividad sensorial y motora • no circunscrito solamente al cerebro humano • Evolutivamente optimizado • alta especialización anatómica y funcional • plasticidad: capacidad de adaptación Reconocimiento de Patrones

  6. Estímulos Respuesta Red Neuronal Receptores Efectores Perspectiva Histórica • Modelado de la estructura y funcionamiento cerebral • Estructura funcional dentro del funcionamiento global del individuo • sistema reactivo • especialización • Neurona como unidad básica funcional del sistema • Topología de red o interconexión entre neuronas • Funcionamiento • entrada-salida • flexible, adaptable, a través de aprendizaje Reconocimiento de Patrones

  7. Funcionamiento Cerebral • Modelado de la estructura y funcionamiento cerebral • Estructura jerárquica en capas • Niveles de organización y funcionamiento cerebral • crecen en complejidad • Sinapsis: nivel elemental de comunicación • Microcircuitos neuronales: • ensamble de sinapsis que producen operación deseada (~ASIC) • orden de m y velocidades de ms. • Circuitos locales: • ensambles de neuronas ( ~ 1 mm) para desarrollar operaciones localizadas del cerebro • Inter-regionales: • mapas, caminos que involucran diferentes partes del cerebro Reconocimiento de Patrones

  8. Neurona biológica • Estructura • cuerpo: del orden de 100 m • dendritas: receptores (apical, basal) • axón: trasmisor de impulsos • Redes, interconexión • sinapsis: conexión entre neuronas • excitadora o inhibidora • base química, neuro-trasmisores • potenciales de acción • descarga neuronal (burst) (~ 50mV) • del orden de miles de sinapsis por neurona (en dendritas y axón) • Modelos • axón: línea de trasmisión • modelo eléctrico Reconocimiento de Patrones

  9. bias Entradas w0 u1 w1 s función de activación w2 u2  y f(.) salida Sumador un wn pesos sinápticos Neurona Artificial • Modelo simplificado de neurona biológica • estático • representación entrada-salida. • Múltiples entradas, salida única • diferente influencia de entradas en salida mediante “pesos” (wi) • w: parámetros de la neurona • Relación entrada-salida no-lineal • diferentes opciones para f(.) • step, sat, sigm, tanh • Capacidad de adaptación • variación de sus “pesos” con algún objetivo • Existen otros modelos • agregando dinámica, • modelos no deterministas • relacionados con estructuras de redes especificas Reconocimiento de Patrones

  10. u y Redes Neuronales Artificiales • Interconexión entre neuronas • Decide flujo de información en red • Total • genera lazos en flujo de datos • redes recurrentes • Parcial • en capas: entrada, internas, salida • Recurrente: contiene lazos • Feedforward: no contiene lazos • Junto con pesos y funciones de salida de cada neurona definen comportamiento global de la red • Se debe definir la forma de actualización de estados de cada neurona en la red • secuencial, asíncrono, sincrónico • especialmente importante en redes recurrentes o con dinámica temporal Reconocimiento de Patrones

  11. u2 u1 wt.u=0 Ejemplo de Neurona: Perceptron • Perceptron • Separa espacio con hiperplano • y = f ( w1 u1 + w2 u2 + ... + wn un ), • f(s) = { 1 si s0, 0 si s<0 } • Puede incluir offset w0. • Importante históricamente • estudiado muy detalladamente (Minsky y Papert ‘69) • Es un clasificador lineal en 2 clases. • bueno si patrones linealmente separables • XOR problem • Análogo a clasificador de Bayes gaussiano. • minimiza probabilidad de error • clasificador denominado paramétrico Reconocimiento de Patrones

  12. Ejemplo de Neurona: Adaline y=0 • Adaptive Linear Element • Estructura: • Como un Perceptron pero con función lineal a la salida. • Permite trabajar con problemas mas generales • Widrow y Hoff propusieron un método más eficiente computacionalmente denominado LMS para determinar parámetros del Adaline (1962). • similar a aplicar gradiente descendente • muy intuitivo Reconocimiento de Patrones

  13. Wij3 Wij2 Wij1 x12 y1 u1 x11 x13 x22 y2 u2 x21 x23 x32 Ejemplo de Red: Perceptron Multicapa • Perceptron Multicapa • Todos los nodos tienen igual función de salida • Representación matricial • x: activación neuronal • v: entrada neta • Wi : pesos en capa i Reconocimiento de Patrones

  14. Wij3 Wij2 Wij1 3 y1 u1 1 6 y1 4 u1 y2 u2 y2 2 7 1 2 3 4 5 6 7 u2 5 Ejemplo de Red: Perceptron Multicapa • Representación ordenada • Werbos (1972) • Red lineal • Activaciones dependen: • entradas • activaciones de neuronas precedentes • Derivadas ordenadas  backpropagation Reconocimiento de Patrones

  15. Wi x1 y  x2 Ejemplo: Radial Basis Function Network • Red feed-forward • Combinación lineal de funciones base o receptores dadas. • Funciones Base: • Gaussianas, Logistic • Normalizadas en gral • Aplicaciones • Aproximación funcional, interpolación • Clasificación de datos • Clustering • Modelado y control de sistemas dinámicos • Comparable con sistema FIS Reconocimiento de Patrones

  16. u y Ejemplo: Redes de Hopfield • Hopfield • McCulloch-Pitts (1943): modelo discreto. • Recurrente, totalmente conectada • Asociada con sistema dinámico • Actualización de activaciones • Extensiones: Neuronas con constante de tiempo, uso de probabilidad en salida • Concepto de energía y entropía desarrollado • Aplicaciones • Descripción de sistemas cristalinos, y fenómenos físicos asociados • Uso en optimización • ej: TSP, distribución, despacho de carga • Memoria asociativa • Deducir patrón asociado a partir de dato parcial • Representables en hardware • VLSI Reconocimiento de Patrones

  17. Mapas Auto-Organizados • Self-organizing maps (Kohonen, 1982) • Identificar estructura en datos de trabajo • conservan topología de datos • Hipótesis: • Entradas similares producen salidas similares • Conjuntos entrada-salida similares agrupables • Estructura • red de una capa • distribución espacial especificada • capa competitiva • entradas: dimensión de espacio • Pueden usarse neuronas con dinámica • Neuronas competitivas - selección • Dada entrada, selecciona neurona con mayor activación • Uso de pesos para inhibición lateral • Cooperación: • Adaptación restringida a vecindad de neurona seleccionada • Aplicaciones • Clasificación de datos, Clustering • Componentes principales (PCA) • Codificación capa 2D Entradas (u) Reconocimiento de Patrones

  18. Propiedades: Mapeo Universal • Pregunta: • Qué tipo de funciones puedo representar con una ANN? • La idea se remonta al problema #13 de Hilbert (1900). • Representar función de N variables como combinación lineal de funciones en una variable (bajar dimensionalidad del problema) • Respuesta: • Puedo representar el conjunto de funciones “suaves”. • Hay varias pruebas para diferentes arquitecturas • Kolgomorov (1957) • Cybenko (1960) • Hornik (1989) • Chen (1991) Reconocimiento de Patrones

  19. Propiedades: Mapeo Universal • Idea: • Usando red con 2 capas ocultas es posible crear funciones tipo localizadas que combinadas pueden formar cualquier función “suave” • Prueba intuitiva: • Fácil de ver en R2 R. • Red: y = ANN (x1,x2) • Paso 1: • Que mapeo obtengo con una sola neurona? • y = logsig(.x1) • y = logsig(.x2) Reconocimiento de Patrones

  20. b x1  1 y b  -b 1 b 1  -1 Propiedades: Mapeo Universal • Paso 2: • Uso Perceptron Multicapa • Puedo lograr “pico” en cualquier valor de x1 con red de 1 sola capa oculta • el ancho del pico depende del valor de b. • Puedo hacer lo mismo con x2. Reconocimiento de Patrones

  21. b x1   b 1 -b 1 b  y 1 1 b x2  b 1 -2 -b 1 b  Propiedades: Mapeo Universal • Paso 3: • Agrupo redes en cada entrada en una sola red para combinar picos en x1 y x2. • Ajustando parámetros puedo obtener un pico bien definido centrado en cualquier punto de R2. Reconocimiento de Patrones

  22.  Propiedades: Mapeo Universal a x1  -a 1 b1 • Paso 4: • Agregando una capa adicional • 2 capas ocultas • Combinando estos picos se puede aproximar cualquier función de R2 R con el grado de error que desee. c1 1 1  a x2  1 -a f1 d1 1 e1 -2 1  y  a x1  -a 1 bn fn cn 1 1  a x2  1 -a dn 1 en -2 1  Reconocimiento de Patrones

  23. Otras Propiedades • Discriminante universal: • Posibilidad de generar regiones para clasificar datos • Similar a mapeo universal • Generalización: • Capacidad de inferir resultados sobre valores de entrada no usados anteriormente. • Basada en: • capacidad interpoladora por continuidad funcional de salida • capacidad de extrapolación (cotas y dimensión VC) • Importante a la hora de determinar tamaño de red a usar • Robustez: • Al malfuncionamiento de alguna neurona (fault tolerance) • Debido al almacenamiento distribuido de la información. • Adaptabilidad: • A través de sus parámetros (pesos, activación) • También con la estructura de la red. Reconocimiento de Patrones

  24. Aprendizaje • Dada estructura de red, proceso de modificación de sus parámetros para lograr un comportamientodeseado de la misma • Estructura de la red también puede ser “aprendida” • Métodos de aprendizaje: • Supervisado • existe “tutor” que me dice lo que la red debe hacer • ej: reproducir mapeo entrada-salida dado (patrón) • No supervisado • generar clasificación propia de conjunto de patrones • ej: clustering • Reinforcement Learning • aprende basado en señal de evaluación : bien/mal (reward) • ej: ajedrez, backgammon (señal de refuerzo: gané/perdí) Reconocimiento de Patrones

  25. Aprendizaje: On-line vs Off-line • Diferentes formas de adaptar la red de acuerdo con la forma en que se usa la información de entrenamiento (e.g. patrones). • Aprendizaje Off-line (batch) • adaptación de parámetros de la red tomando el conjunto total de patrones de entrenamiento • usualmente llamado época (epoch) • problemático con muchos datos • Aprendizaje On-line (recursivo) • adaptación de parámetros hecha a medida que los patrones son obtenidos o usados en la red • Métodos intermedios • adaptación cada k patrones (epoch size) Reconocimiento de Patrones

  26. Aprendizaje: Optimización • La capacidad de aprender proviene de la elección de los parámetros de la red. • Comportamiento deseado de la red  error asociado • Adaptación de parámetros  optimización de una función de error • Métodos de optimización: • Error lineal en parámetros • mínimos cuadrados y derivados • batch o recursivo • Error no-lineal en los parámetros • con/sin uso de derivadas • batch o recursivo • Más complejos que lineales • Combinación de ambos según arquitectura de ANN • Aprendizaje de la estructura de ANN • En gral se realiza en un lazo superior del algoritmo (batch). Reconocimiento de Patrones

  27. Aproximación funcional y=f(x) Supervisado: {(xi,yi) | yi=f(xi) } Interpolación, extrapolación Reconocimiento de patrones Clasificación Imágenes, voz, lenguaje Supervisado: (ui , clasei) no-supervisado extracción de características Identificación de modelos Series temporales trayectorias (uk, yk), k=1..N Modelado de Sistemas físicos dx/dt = f(x,u,t), y=g(x,u,t) Neuro-Control Planificación, Regulación, Seguimiento Robótica, sistemas complejos Supervisado, Reinforcement Learning Aplicaciones Reconocimiento de Patrones

  28. Simplificaciones prácticas • Trabajaremos con redes feedforward • elimina dinámica interna • puede existir dinámica a partir de interconexiones con otros sistemas • mapa estático entrada-salida • uso extendido en aplicaciones • reconocimiento de patrones • data mining • neuro-fuzzy y neuro-control • mayor desarrollo teórico y experiencia práctica • mapeo universal • aprendizaje • algoritmos, convergencia, complejidad • regularización Reconocimiento de Patrones

  29. Software para ANN • Stuttgart Neural Network Simulator (SNNS) • muy desarrollado • Unix, Linux • estructuras y algoritmos de entrenamiento • http://www-ra.informatik.uni-tuebingen.de/SNNS/ • Matlab, Scilab • toolboxes específicos • GUI (matlab: nntool) • análisis, optimización • Programas específicos • Dentro de aplicaciones • Estadística, Control Reconocimiento de Patrones

  30. Referencias • C. Bishop, “Neural Networks for pattern recognition”, Oxford Press, 1995. • Simon Haykin, “Neural Networks”, Prentice Hall, 1999. • Hertz, Krogh and Palmer, “Introduction to the theory of Neural Computation”, Addison-Wesley, 1991. • Jang et al. “Neuro-fuzy and Soft Computing”, Cap. 8-11, Prentice Hall, 1997. • Duda and Hart, Cap. 5 y 6. Reconocimiento de Patrones

More Related