Neural Network Toolbox de MATLAB

Documentos relacionados
ANEXO A DESCRIPCIÓN DE LAS FUNCIONES UTILIZADAS EN MATLAB

REDES NEURONALES ADAPTABLES

TUTORIAL SOBRE REDES NEURONALES APLICADAS EN INGENIERIA ELECTRICA Y SU IMPLEMENTACIÓN EN UN SITIO WEB

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

Neural Network Toolbox

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

Aprendizaje Automatizado. Redes Neuronales Artificiales

ANEXO II.- TEORÍA SOBRE REDES NEURONALES ARTIFICIALES

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

Apuntes de Inteligencia Artificial

Redes neuronales en control de sistemas

Introducción a las Redes Neuronales

Aprendizaje Automatizado. Redes Neuronales Artificiales

Reconocimiento automático de palabras en documentos históricos usando redes neuronales convolucionales

Redes Neuronales Artificiales

Tema: Aprendizaje Supervisado.

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

Redes Neuronales. Parte II. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Mg. Ing. Gustavo E. Juárez

Técnicas de inteligencia artificial. Aprendizaje: Perceptrón multi-capa

Redes de Neuronas Recurrentes Computación con Inspiración Biológica

Tema 2 Primeros Modelos Computacionales

Análisis de Datos. Introducción al aprendizaje supervisado. Profesor: Dr. Wilfrido Gómez Flores

Course 4: Neural networks Prof. Santiago Falcón

Redes de Neuronas de Base Radial

Redes Neuronales Artificiales

Tema 7 Redes Neuronales Recurrentes

Análisis de Datos. Perceptrón multicapa. Profesor: Dr. Wilfrido Gómez Flores

Resumen. Este trabajo se divide principalmente en 2 partes:

Neural Network Toolbox

Fuzzification. M.C. Ana Cristina Palacios García

Redes Neuronales Artificiales

Aplicación de diferentes arquitecturas de RNA sobre datos de paquetes de red en Matlab con y sin reducción de características.

CONTROL PREDICTIVO CON REDES NEURONALES COMO MODELO, UTILIZANDO EL METODO DE NEWTON-RAPHSON PARA LOGRAR LA MINIMIZACION DE LA FUNCION DE COSTO

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

Área Académica: Instituto de Ciencias Básicas e Ingeniería, Sistemas Computacionales

Capítulo 3 REDES NEURONALES Y SU APLICACIÓN EN LA INGENIERÍA SÍSMICA III. REDES NEURONALES Y SU APLICACIÓN EN LA INGENIERÍA SÍSMICA

Apuntes de Inteligencia Artificial

Redes neuronales. Conceptos fundamentales y modelos

Una Aplicación Exitosa de Deep Reinforcement Learning

Anexo Redes Neuronales

Redes neuronales con funciones de base radial

Tema 8: Redes Neuronales

PREDICCIÓN DE DEMANDA INSATISFECHA MEDIANTE EL USO DE REDES NEURONALES

Aprendizaje Automatizado

Clasificación de Datos de Olor de Café provenientes de una Nariz Electrónica Utilizando Redes Neuronales

Aprendizaje para Clasificación con Factorización Matricial Basado en Listwise para Filtrado Colaborativo

Redes Multicapa. Compuerta XOR

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

UNIVERSIDAD NACIONAL DEL CALLAO

Inteligencia Artificial

Tema: Red Neuronal Hopfield. Reconocimiento de Patrones.

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

CAPÍTULO Reconocimiento de voz usando redes neuronales artificiales del CSLU

Tópicos Avanzados: Inteligencia Computacional I

Introducción a Las redes Neuronales (Neurales) CO-6612

Introducción a las Redes de Neuronas

Neurona. Células y Fibras nerviosas Célula Nerviosa. Sensoriales, motoras y de asociación Nucleo Actividades metabólicas Conexiones sinápticas

Reducción de Ruido por medio de Redes Neuronales

APLICACIÓN DE REDES NEURONALES PARA LA PREDICCIÓN DE PROPIEDADES TERMODINÁMICAS

CLASIFICACIÓN DE PARTÍCULAS MEDIANTE UNA RED NEURONAL ARTIFICIAL

Control Neuronal por Modelo Inverso de un Servosistema Usando Algoritmos de Aprendizaje Levenberg-Marquardt y Bayesiano.

ESTUDIO SOBRE LA IMPLEMENTACIÓN DE REDES NEURONALES ARTIFICIALES USANDO XILINX SYSTEM GENERATOR

Contenido Capítulo 1 Introducción Capítulo 2 Conceptos Básicos Capítulo 3 Procesamiento de Imágenes en el Dominio Espacial

FACULTAD DE INGENIERÍA

Tema 3: Ðreas de la IA: Ejemplos de Investigaci n Actual (III) Redes Neuronales

Sistema de medición y control de proceso industrial de embotellado con algoritmo de redes neuronales

Predicción de la Distorsión Inducida por los Procesos de Soldadura en Estructuras de Acero mediante el método de redes neuronales

MÉTODOS DE APRENDIZAJE INDUCTIVO (continuación)

3. MATLAB TOOLBOX. 1. Configurar los datos de entrenamiento 2. Crear la red 3. Entrenar la red 4. Simular la respuesta de la red con nuevas entradas

Visión artificial y Robótica. Depto. de Ciencia de la Computación e Inteligencia Artificial

Análisis de Datos. Validación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Inteligencia Artificial

Tema 9: Introducción a las redes neuronales

Redes Neuronales Artificiales

CRITERIOS DE SELECCIÓN DE MODELOS

Práctica 10. Redes Neuronales

CAPITULO 6 SISTEMA DE DETECCION DE INTRUSOS

María Gabriela Vintimilla Sarmiento Darwin Alulema

Que son las redes neuronales? Una introducción informal

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ingeniería Aplicada TEÓRICA SERIACIÓN 100% DE OPTATIVAS DISCIPLINARIAS

Reconocimiento de Patrones DRA. LETICIA FLORES PULIDO

EJES TEMÁTICOS DE LA PRUEBA DE MATEMÁTICA

Transcripción:

Neural Network Toolbox de MATLAB Instructor: Ciencias Computacionales - INAOE Septiembre 26 Agenda. Introducción a las Redes Neuronales Artificiales 2. Introducción al 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios

Introducción Los sistemas de cómputo de hoy en día, son exitosos en la resolución de problemas matemáticos o científicos, pero definitivamente tienen una gran incapacidad para interpretar el mundo tal y como nosotros los humanos lo hacemos, más específicamente como nuestro cerebro lo hace. Características del cerebro humano: Su robustez y tolerancia a fallas, mueren neuronas sin afectar su desempeño Flexibilidad, se ajusta a nuevos ambientes por medio de un proceso de aprendizaje, no hay que programarlo Puede manejar información difusa Es altamente paralelo Es pequeño y compacto 2 Las redes neuronales artificiales han surgido como un intento de desarrollar sistemas que emulen estas características del cerebro De esta forma podemos definir a las redes neuronales artificiales (RNA) como modelos matemáticos ó computacionales inspirados en sistemas biológicos, adaptados y simulados en computadoras convencionales Las características más importantes de las RNA son: Habilidad de Aprendizaje. Las RNA pueden modificar su comportamiento en respuesta al medio ambiente. Generalización. Una vez entrenada, una RNA es, hasta cierto grado, insensible a variaciones pequeñas en sus entradas. Esto es, las RNA producen sistemas capaces de manejar el mundo "imperfecto" en que vivimos. Abstracción. Algunas RNA son capaces de abstraer la esencia de una serie de entradas. Se pueden abstraer patrones perfectos de modelos distorsionados. 3 2

Modelo computacional El elemento más básico del cerebro es la neurona, la cual por si sola no hace mucho pero juntamos millones de ellas entonces se vuelven poderosas El modelo computacional de una neurona artificial es una imitación del proceso de una neurona biológica 4 Modelo desglosado de la neurona La neurona esta constituida por: lazos sinápticos (X*W), mezclador lineal (U) y una función de activación (TF) X W k X 2 W k2 U k TF y k X p W kp Threshold 5 3

Función de Transferencia Es quizás la característica principal de las neuronas, la que mejor define el comportamiento de la misma. Se encarga de calcular el nivel o estado de activación de la neurona en función de la entrada total 6 Modelo de una capa Dentro de una red neuronal, los elementos de procesamiento se encuentran agrupados por capas, una capa es una colección de neuronas; de acuerdo a la ubicación de la capa en la RNA, ésta recibe diferentes nombres: Capa de entrada Capa oculta Capa de salida 7 4

Modelo de una red multicapa Una red multicapa simplemente es una red que contiene varias capas en su estructura, la forma en que las capas se encuentran conectadas es fundamental para poder clasificar a la red 8 Agenda. Introducción a las Redes Neuronales Artificiales 2. Introducción al 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios 9 5

El de MATLAB modela solo abstracciones simples de los modelos de redes biológicas. Comúnmente se entrenan por aprendizaje supervisado, aunque también soporta el aprendizaje no supervisado y el diseño directo Modelo de la neurona en MATLAB 6

Funciones de Transferencia MATLAB cuenta con una gran variedad de funciones de transferencia dependiendo el fin para el que va a ser utilizada la red, aquí presentamos 6 funciones: 2 Capa de neuronas en MATLAB Una simple neurona no puede hacer mucho. Sin embargo, muchas neuronas pueden combinarse en una o varias capas y así hacer a la red más poderosa 3 7

Redes Multicapa en MATLAB 4 Redes multicapa (notación abreviada) 5 8

Notación IW pesos de entradas LW pesos de capas LW c,c2 n,n2 Peso que viene de la neurona n2 de la capa c y que va hacia la neurona n de la capa c Superíndices información de las capas Subíndices información de la entrada/neurona fuente y la neurona/salida destino 6 Agenda. Introducción a las Redes Neuronales Artificiales 2. Introducción al 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios 7 9

El perceptrón Este tipo de red es ampliamente usado en problemas simples de clasificación de patrones. 8 Arquitectura del Perceptrón net = newp (PR, S); PR matriz de Rx2 a b a 2 b 2 a R b R [ai bi] = intervalo de la i ésima entrada S números de neuronas 9

Objetos tipo red neuronal En MATLAB cuando se crea una red neuronal en realidad lo que se esta creando es un objeto con diferentes campos o propiedades Architecture architecture: numinputs numlayers biasconnect inputconnect layerconnect outputconnect targetconnect Neural Network Object SubObject Structures Functions Parameters Weight and Biases values Other (User Stuff) subobject structures: inputs layers outputst targets biases inputweight layerweights functions: adaptfcn initfcn performfcn trainfcn parameters: adaptparam:.passes trainparam:.epochs,.goal,.show,.time weight and bias values: IW LW b 2 Proceso de Aprendizaje Aprendizaje.- es el proceso mediante el cual la red va modificando sus pesos y ganancias de tal manera que al final del proceso se tiene el comportamiento deseado El proceso de aprendizaje involucra los siguientes pasos:. La red neuronal es estimulada por el entorno 2. La red neuronal experimenta cambios como resultado de ese estímulo 3. La red neuronal responde de una nueva forma al entorno, como resultado de los cambios ocurridos en su estructura interna 2

Taxonomía del proceso de aprendizaje Learning Process Learning algorithms (rules) Learning paradigms -Calculate net output -Comparate with the target -Get Error -Change weights and biases Enviroment Learning System Teacher _ + 22 Reglas de aprendizaje en MATLAB 23 2

Tipos de Entrenamiento Inremental Training: Los pesos y ganancias de la red son actualizados o cambiados cada vez que se presenta un patrón de entrada Batching Training: Los pesos y ganancias de la red son cambiados solamente hasta que todos los patrones de entrada han sido presentados Patrón de entrada P = Número de T = entradas Salida deseada para determinado patrón de entrada Número de salidas 24 Regla de aprendizaje del Perceptrón El perceptrón es un tipo de red de aprendizaje supervisado, es decir, necesita conocer los valores esperados (targets) para cada una de las entradas (a) presentadas Generalmente ocupan funciones de transferencia tipo hardlim y hardlims La regla de aprendizaje que sigue el perceptrón para la actualización de sus pesos es la siguiente: 25 3

Sesión práctica Aprendizaje del Perceptrón y Estructura de las Redes Neuronales en MATLAB 26 Lab : Aplicación del Perceptrón Se desea realizar un clasificador de 4 tipos diferentes de cajas usando 6 sensores mediano chico grande mega sensores Red Neuronal Motor 27 4

W Ancho W H Alto H L Largo L M Motor M Tamaño de la caja Chico Chico Mediano Mediano Grande Mega L H H L W W W W H H L L M M 28 Agenda. Introducción a las Redes Neuronales Artificiales 2. Introducción al 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios 29 5

Redes Backpropagation Tipo de Red de aprendizaje supervisado que se basa en un algoritmo de gradiente descendiente (LMS Algorithm Widrow-Hoff). El patrón de entrada se propaga por la red hasta generar la salida, después se calcula el error; éstas salidas de error se propagan hacia las neuronas de la capa anterior. Cada neurona solo tiene una contribución del error total El error que genera la red en función de sus pesos es una superficie de n dimensiones, al evaluar el gradiente se obtiene la dirección en la cual la superficie tiene un mayor crecimiento, por lo tanto se toma la dirección opuesta (negativa) para minimizar el error 3 Arquitectura Backpropagation Las funciones de transferencia deben de ser continuas. Además se buscan funciones cuya derivada dependa de la función sin derivar. 3 6

Algoritmos Backpropagation Algoritmo Estándar g k gradiente α k learning rate traingd aprendizaje por gradiente descendiente (Estándar) traingdm gradiente descendiente con momentum (low-pass filter) traingda, traingdx gradiente descendiente, variando el learning rate trainlm - Levenberg-Marquardt basado en la matriz Hessiana pero hecha con una aproximación usando la matriz Jacobian Algoritmo Estándar Técnicas Heurísticas Técnicas Optimización Numérica -momentum -lr variable -gradiente conjugado -Newton (Hessian matrix) -Levenberg-M (Jacobian matrix) 32 Redes Backpropagation en MATLAB newff(pr, tam, transfer, train) PR matriz de Rx2 en donde se indican los intervalos que pueden tomar las R entradas de la red tam número de neuronas de la capa transfer función de transferencia expresada como cell array train método de entrenamiento de la red 33 7

Pre-procesamiento y Post-procesamiento El entrenamiento en redes neuronales puede volverse más eficiente si realizamos un pre-procesamiento principalmente a entradas y targets Hay veces que antes de entrenar la red es útil escalar las entradas y targets de tal forma que se distribuyan en un rango específico, para esto se usa la función premnmx Los datos son normalizados en el rango [- ] y se deben de usar los datos normalizados para probar la red La función postmnmx sirve para que los datos regresen a su estado original Si se quiere aplicar un nuevo set de entradas pero con la distribución de los datos normalizados entonces se ocupa la función tramnmx 34 Análisis post-entrenamiento La eficiencia de una red entrenada puede ser medida viendo los errores que arroja la red durante el entrenamiento o bien validando el set de training, pero algunas veces es útil medir la red con más detalle. Una opción es medir la eficiencia por análisis regresivo. m y b corresponden a la pendiente y a la intersección en el eje de las ordenadas respectivamente, es decir, representan la mejor regresión lineal que relaciona los targets con las salidas de la red r es un coeficiente de correlación entre los targets y las salidas, toma valores entre y, donde indica una perfecta correlación 35 8

Resultados arrojados por postreg 36 Sesión práctica Redes Backpropagation en MATLAB 37 9

Lab 2: Aplicación del Backpropagation Se desea realizar un red neuronal la cual se comporte como un aproximador de funciones dado un set discreto de valores de entrada t p t Hidden layer (tansig function) Output layer (purelin function) p 38 La GUI deberá tener las siguientes características: Un cuadro de texto para indicar el rango de la función Un cuadro de texto para indicar la función Un cuadro de texto que indique el número de neuronas en la capa Un grupo de radiobuttons que me ofrezca al menos 5 opciones de entrenamiento Un botón para entrenar la red Un botón en donde compare la función original con la obtenida por la red neuronal 39 2

Agenda. Introducción a las Redes Neuronales Artificiales 2. Introducción al 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios 4 Redes recurrentes tipo Hopfield La principal característica de las redes recurrentes en cuanto a su arquitectura es que poseen retroalimentaciones El toolbox de MATLAB soporta 2 tipos de redes recurrentes: las redes Elman y las redes Hopfield, ésta última será la que estudiaremos en este curso La red Hopfield es usada para almacenar uno o más conjuntos de vectores de equilibrio (stable target vectors). Estos vectores sirven como estados de equilibrio; para cuando se presente una entrada a la red, entonces la salida converge a uno de estos vectores de equilibrio 4 2

Representación gráfica del comportamiento Supongamos que tenemos una red de 2 neuronas (el número de entradas que podemos tener será igual al número de neuronas), además tenemos 2 patrones a grabar [- ] y [ -] 42 Arquitectura Hopfield Este tipo de red puede grabar (como una memoria) uno o varios patrones de entrada, los cuales son presentados como condiciones iniciales 43 22

Una representación quizá más desglosada de la arquitectura Hopfield sería la siguiente: Xo X X n- µ ο µ µ n-2 µ n- Xo X X n-2 X n- 44 Entrenamiento de una red Hopfield Se calculan los pesos de la red Wij (salida de la j-ésima neurona a la entrada de la i-ésima neurona) M = número de clases por aprender X s i = i-ésimo elemento de la s-ésima clase Se muestra a la red un patrón de entrada cualquiera (completo o incompleto) La red empieza a iterar hasta que la salida converge (es estable) 45 23

Declarando una red hopfield La declaración y entrenamiento de la red se ejecuta con una sola función que se llama newhop, en realidad lo que hace esta función es calcular los pesos colocando como condición inicial a la matriz T T = 5 patrones a grabar, con entradas x5 nethop = newhop(t); Y = sim(nethop,{q TS},{}, {Ai}); Ai = set de entradas a probar Q = Dimensión de Ai TS = número de iteraciones 46 Sesión práctica Redes tipo Hopfield en MATLAB 47 24

Lab 3: Aplicación Hopfield Se desea realizar una red que grabe M patrones de entrada (en este caso serán letras o números) de una matriz de 5x5. Después que se haya entrenado la red se presentarán entradas con ruido (letras mal hechas) de tal forma que la red converja al patrón más parecido (letra más parecida) Patrones a grabar: A, I, E,, 2 Red Hopfield 48 La red se realizará en una interfaz gráfica de usuario y deberá tener las siguientes especificaciones: Un cuadro de texto que indique cuantos patrones deseo grabar Otro cuadro de texto en donde se indique por medio de una matriz de tamaño 5x5 la cual contendrá solo s y s que segmento estará prendido y que segmento estará apagado Otro cuadro de texto para indicar el número de iteraciones Un botón que vaya grabando cada patrón introducido por el usuario para que al final se tenga la matriz T Un botón que sea para entrenar la red Otro botón que visualice los resultados de la red ya entrenada para así comparar resultados 49 25

Gracias por su atención Otros cursos: - Análisis Numérico y Aplicaciones al Cálculo y Álgebra - Graficación en 2D y 3D - Desarrollo de Interfaces Gráficas de Usuario - Procesamiento de Imágenes - Adquisición de Datos - Adquisición de Imágenes - Diseño de Sistemas Digitales en FPGAs usando MATLAB - Diseño de Sistemas Digitales en FPGAs usando VHDL Para información acerca de los cursos moctezumajc@yahoo.com 5 26