SISTEMAS INTELIGENTES

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

Redes Neuronales. Las redes neuronales son modelos computacionales que buscan imitar el funcionamiento

Tema 2 Primeros Modelos Computacionales

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

Tema: Aprendizaje Supervisado.

Redes Neuronales Multicapa

Inteligencia Artificial (Curso ) Grado en Ingeniería Informática - Ingeniería del Software

Redes Neuronales Artificiales

Relación 7 - Redes neuronales

Aprendizaje: Perceptrón multi-capa

Aprendizaje Automatizado. Redes Neuronales Artificiales

Detección Multiusuario para DS-CDMA basado en SVM

Tema 8: Redes Neuronales

Redes Neuronales. Elementos básicos de las redes neuronales Carlos Andrés Delgado S.

Inteligencia Artificial II

CAPÍTULO 3. Las redes neuronales artificiales, ANNs por sus siglas en inglés, son el resultado de varias

TLU(s) MULTICAPAS. Se pueden implementar funciones en TLU con más de una capa.

CI5438. Inteligencia Artificial II Clase 6: Redes Multicapas - Back. Cap 20.5 Russel & Norvig Cap 4 Mitchell

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

El Perceptrón Multicapa

Redes Neuronales Artificiales

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

REDES NEURONALES ADAPTABLES

Redes neuronales con funciones de base radial

Inteligencia Artificial II (Curso ) Ejercicios propuestos del tema 5

Redes Neuronales Multicapa

Tema 9: Introducción a las redes neuronales

Inteligencia Artificial II

Redes Neuronales. Introducción. José Manuel Quero Reboul Dpto. Ingeniería Electrónica Universidad de Sevilla

Tema 5: Introducción a las redes neuronales

Perceptrón Simple. Aspectos Prácticos y Algoritmos Redes Neuronales, DC-FCEyN-UBA. Rosana Matuk Primer Cuatrimestre 2018

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

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

Tema 6. Reconocimiento de voz

Profesor: Leonardo Franco Despacho Web:

ALGUNOS COMENTARIOS SOBRE GENERALIZACION EN BACKPROPAGATION

MÉTODOS DE APRENDIZAJE INDUCTIVO (continuación)

Examen de Septiembre de TACCIII y TAI (Modelo 2)

Uso de una red neuronal multicapa para el reconocimiento de caracteres griegos. Skynet Reloaded

Métodos de Aprendizaje en Redes Neuronales

Redes Neuronales Artificiales

Redes Neuronales Artificiales El Perceptrón

Perceptrón multicapa. Diego Milone y Leonardo Rufiner Inteligencia Computacional Departamento de Informática FICH-UNL

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

ANEXO II.- TEORÍA SOBRE REDES NEURONALES ARTIFICIALES

Introducción a las Redes de Neuronas

Análisis de Datos. Red de función de base radial. Profesor: Dr. Wilfrido Gómez Flores

Redes Neuronales Artificiales

Redes de Neuronas de Base Radial

Conceptos básicos V:

Redes Neuronales Artificiales

Red Neuronal Artificial

Entrenamiento de redes neuronales Fernando Berzal,

Aprendizaje Automatizado. Redes Neuronales Artificiales

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

REDES NEURONALES ARTIFICIALES EN PREDICCIÓN DE SERIES DE TIEMPO: UNA APLICACIÓN A LA INDUSTRIA

REDES NEURONALES INTELIGENCIA ARTIFICIAL II

Introducción a las Redes de Neuronas

DISEÑO EXPERIMENTAL Y OPTIMIZACIÓN DE SISTEMAS CON MÚLTIPLES RESPUESTAS

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

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

Introducción a las Redes Neuronales

Análisis de Datos. Métodos de mínimos cuadrados. Profesor: Dr. Wilfrido Gómez Flores

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

Redes neuronales en control de sistemas

Introducción a las Redes Neuronales

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

4. El perceptrón. 4.1 Introducción. 4.2 Consideraciones básicas

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

OPENCOURSEWARE REDES DE NEURONAS ARTIFICIALES Inés M. Galván José M. Valls. Tema 6: Redes de Neuronas Recurrentes

Perceptron multicapa. Capítulo Introducción

Introducción a las Redes Neuronales Articiales

Aprendizaje no supervisado

Perceptrones Fernando Berzal,

Redes Neuronales Artificiales. MTI. Eduardo Cruz Romero

Estado civil: {casado/a, soltero/a, divorciado/a}

Apuntes de Sistemas Conexionistas - Penedo

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

Redes Neuronales Artificiales

OBJETIVO INTRODUCCIÓN

CAPITULO 3 PERCEPTRON MULTICAPA.

INVESTIGACIÓN OPERATIVA Redes Neuronales Artificiales y Aplicaciones INTEGRANTES: Armijos Mauricio Jara Iza Rony

Orden de las clases...

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 20

Aprendizaje de Sistemas. Redes Neuronales Artificiales

Aux 6. Introducción a la Minería de Datos

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

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

Aplicación de Redes Neuronales Artificiales para el Diseño Sísmico de Edificios

CAPÍTULO 3: REDES NEURONALES RECURRENTES

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

Tema: Red Neuronal Hopfield. Reconocimiento de Patrones.

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

TEMA 0 Y SUS APLICACIONES. Redes Neuronales Artificiales y sus Aplicaciones

Transcripción:

SISTEMAS INTELIGENTES T10: Redes Neuronales.aic.uniovi.es/ssii

Índice Redes Neuronales Artificiales Fundamentos biológicos Perceptrón Funciones de activación Redes de neuronas Entrenamiento: Perceptrón Descenso de gradiente: regla delta Backpropagation

Redes de Neuronas Artificiales (ANNs) Están inspiradas en los sistemas neuronales biológicos Neurona: célula cerebral encargada de recoger, procesar y transmitir señales eléctricas No alcanzan su nivel de complejidad (ni de prestaciones L ) Número de neuronas en el cerebro humano: ~10 10 Tiempo de activación/inhibición: ~10-3 Coneiones (sinapsis) por neurona: ~10 4 10 5 Reconocimiento de escenas: 0.1 segundos Procesamiento no lineal Masivo grado de paralelismo Representaciones distribuidas Adaptativo Tratan de capturar este modelo de funcionamiento, pero: Normalmente, menos de 1000 neuronas No capturan todo el comportamiento neuronal

Neuronas humanas Soma: contiene el núcleo celular Dendritas: entradas Aon/Sinapsis: coneión entre neuronas La información fluye unidireccionalmente El soma a través de aon/ sinapsis puede mandar un mensaje de ecitación/ inhibición (neurotransmisión) Éste será captado por las dendritas de otra neurona A lo largo del tiempo (aprendizaje), la coneión entre dos neuronas se hará más fuerte o más débil

Definición y propiedades sistema compuesto por múltiples unidades de proceso que operan en paralelo y cuya funcionalidad depende de la estructura de la red, de la fuerza de las coneiones, y del procesamiento realizado en cada nodo [DARPA, 98] Propiedades: Formadas por conjuntos de neuronas individuales activadas por umbral Muchas coneiones con pesos entre las neuronas Procesamiento distribuido y paralelo El aprendizaje consistente en ajustar los pesos de las coneiones entre las neuronas

Tipos de problemas adecuados Entradas formadas por vectores de valores discretos o reales Pueden ser problemas de clasificación o regresión Puede producir vectores de valores Los usuarios finales no quieren obtener eplicaciones: no producen conocimiento inteligible (caja negra) Los datos de entrenamiento pueden contener errores

ALVINN Pesos entre capa oculta y la salida (1 neurona) Pesos entre la entrada y la capa oculta (1 neurona)

Perceptrón 1 2 1 2 0 = 1 0 Σ n i= 0 i i h( ) = sgn( ) 1 = 1 si > 0 en otro caso n n H = { n+1 R } Representa UNA neurona

Funciones de Activación Lineal y = A tramos y = 1 1 < l l > l l Signo Sigmoide y = sgn() y 1 = 1 + e Gaussiana y = Ae B

Definición de Red de Neuronas Conjunto de neuronas artificiales conectadas entre sí mediante una serie de arcos llamados coneiones Estas coneiones tienen números reales asociados, llamados pesos de la coneión Las neuronas generalmente se distribuyen en capas de distintos niveles, con coneiones que unen las neuronas de las distintas capas (pueden ser también de la misma capa)

Ejemplo de Red de Neuronas Valor calculado usando Los valores de entrada Se escoge la clase que produce un valor mayor CAPA DE ENTRADA CAPAS OCULTAS CAPA DE SALIDA CLASE 1.1 ENTRADA 2.7 3.0-1.3 4.2-0.8 7.1 2.1-1.2 1.1 0.2 0.3 SALIDA A B C 2.7 LOS VALORES SE PROPAGAN POR LA RED

Aprendizaje en una red de neuronas Aprendizaje: la red modifica los pesos de las coneiones para que las salidas de la red se vayan adaptando de manera paulatina al funcionamiento que se considera correcto La modificación de los pesos depende del paradigma de aprendizaje que estemos usando: Aprendizaje supervisado: para cada ejemplo presentado a la red eiste una respuesta deseada. La respuesta de la red se compara con su salida esperada, y en base a esa comparación se ajustan los pesos de la red Aprendizaje no supervisado: no se especifica a la red cuál es la respuesta correcta. La red descubre las relaciones presentes en los ejemplos

La red más simple Una neurona artificial Aprendizaje de conceptos: ejemplos puntos en el espacio U n, con su clase asociada Separador lineal: dado un conjunto de ejemplos determina el hiperplano capaz de discriminar los ejemplos en dos clases h ) = + + +... + ( 0 1 1 2 2 n n Es interesante estudiarlo porque nos permite diseñar redes con más neuronas

Separador Lineal + + + - - + - + - - - + Problema: el conjunto puede no ser linealmente separable (Ejemplo XOR) Solución: emplear redes multicapa

Aprendizaje Perceptrón Algoritmo Aprendizaje Perceptron(,X): es Inicialización aleatoria del vector de pesos < 0,..., n > Mientras (no se cumpla la condición de parada) hacer Para cada ejemplo de entrada <( 1,..., n ), f( 1,..., n )> Se calcula la salida de la red: h( 1,..., n )= 1 1 + + n n + 0 Si ( h( 1,..., n )!= f( 1,..., n ) ) entonces Fin si Fin Para Fin Mientras Retornar Fin Algoritmo Se actualizan los pesos < 0,..., n > Para actualizar los pesos se siguen conceptos epuestos por Hebbian (si dos neuronas están activas, su coneión se refuerza)

Perceptrón: regla de entrenamiento i = i + Δ i donde: Δ i = η [f() h()] i f() es el valor de la función objetivo en el ejemplo h() es la salida del preceptrón η es una pequeña constante que controla el ritmo de aprendizaje (decrece con el tiempo) Función de activación: con umbral Los pesos se actualizan para cada ejemplo El algoritmo converge si: los ejemplos de entrada son linealmente separables η is suficientemente pequeña

Descenso de gradiente (I) Converge sólo asintóticamente al mínimo aún cuando el problema no es linealmente separable Es la base del algoritmo Backpropagation Descenso de gradiente: consideremos una neurona lineal sin umbral (salida continua) h()= 0 + 1 1 + + n n Entrenamiento: minimizar el error cuadrático Cómo minimizarlo? E[ 0,, n ] = ½ Σ X (f() h())2 Nos movemos en la dirección que más reduce el error Dirección negativa del vector gradiente Diferencias: Perceptrón función de activación con umbral, Gradiente no Perceptrón actualización por ejemplo, Gradiente todos los datos Perceptrón: minimiza Gradiente: minimiza error

Universidad [ ] [ ] ( ) ( ) ( ) ( ) ( ) ( ) = = = Δ = Δ D 2 i i X 2 i i i i n 1 0 h f 2 1 E h f 2 1 E E E,, E, E E E η η ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) [ ] = = = X i i X i X i i h f E f h f h f h f 2 2 1 E Descenso de gradiente (II) ( 1, 2 ) ( 1 +Δ 1, 2 +Δ 2 )

Descenso de gradiente (III) Algoritmo Aprendizaje Gradiente(,X): es Inicialización aleatoria del vector de pesos < 0,..., n > Mientras (no se cumpla la condición de parada) hacer Δ i 0 para todo i Para cada ejemplo de entrada <( 1,..., n ), f( 1,..., n )> Se calcula la salida de la red: h( 1,..., n )= 1 1 + + n n + 0 Para cada peso i hacer Δ i Δ i + η ( f( 1,..., n ) - h( 1,..., n ) ) i Fin Para Fin Para i i + Δ i Fin Mientras Retornar Fin Algoritmo

Descenso de gradiente (IV) Es un paradigma muy importante de aprendizaje Su estrategia de búsqueda en espacios de hipótesis infinitos puede ser aplicada cuando: el espacio de hipótesis contiene hipótesis que pueden parametrizarse de una forma continua (e.g. pesos de una función lineal) podemos derivar el error respecto a los parámetros de la hipótesis Dificultades: converger al mínimo puede ser lento si hay mínimos locales no se garantiza alcanzar el mínimo global

Algunas consideraciones Importancia de la constate η que controla el ritmo de aprendizaje Dado que sólo eiste un mínimo global, el algoritmo converge aunque no sea LS, siempre que η sea suficientemente pequeña Si es demasiado grande, el algoritmo puede saltarse el mínimo Se suele ir reduciendo su valor para evitarlos Problemas: Si η es pequeña el algoritmo es más lento Si hay varios mínimos locales, el algoritmo puede quedarse atrapado en ellos y no alcanzar el mínimo global Cuándo se debe parar el aprendizaje?

Descenso de gradiente incremental Es una aproimación estocástica Incremental: actualiza el peso tras cada ejemplo Δ i = η ( f( 1,..., n ) - h( 1,..., n ) ) i Puede aproimar el método del gradiente si la constate η es suficientemente pequeña Es mucho más rápido Aunque eistan varios mínimos locales, el método incremental puede evitarlos ya que usa los grandientes de cada ejemplo (varios) La fórmula anterior se denomina también Regla Delta/LMS (Widro-Hoff)

Redes Multicapa (MLP) Definición: una red multicapa está formada por una capa de entrada, una o más capas intermedias, y una capa de salida Sólo las capas ocultas y la de salida contienen perceptrones Permiten representar funciones no lineales Dificultad para diseñarlas Se requiere mucho tiempo de entrenamiento Usan funciones de activación no lineales: sigmoide

Backpropagation Algoritmo BackPropagation es Inicialización aleatoria de todos los pesos de la red (valores pequeños) Mientras (no se cumpla la condición de parada) hacer Para cada ejemplo de entrada <( 1,..., n ), f( 1,..., n )> Se calcula la salida de cada neurona s de salida h s ( 1,..., n ) Propagar los errores a través de la red Para cada neurona s de la capa de salida se calcula su error hacer δ s =h s (1-h s )(f s -h s ) Para cada neurona o de la capa oculta hacer δ o =h o (1-h o )Σ s so δ s Para todos los pesos de la red ji ji + Δ ji Fin Mientras Retornar pesos Fin Algoritmo donde Δ ji = ji + η δ o ji

Características Usa el gradiente sobre toda la red de pesos Fácil de generalizar para otros grafos dirigidos Encuentra un mínimo local, no necesariamente global A pesar de ello, es efectivo en la práctica No hay desarrollos teóricos para garantizar la convergencia Se han desarrollado heuríticos para mejorar el proceso Añadir momentum en el cálculo de los pesos Δ i,j (n)= η δ j i,j + α Δ i,j (n-1) Usar el gradiente estocástico o incremental Entrenar la misma red con diferentes pesos iniciales, se selecciona la que produzca un error menor en un conjunto de validación Se podría combina la salidad de todas las redes Entrenamiento muy lento