4 Redes Neuronales

7

Click here to load reader

description

Ejemplo de PDF

Transcript of 4 Redes Neuronales

Page 1: 4 Redes Neuronales

Redes Neuronales

Métodos de Aprendizaje Automático - InCo 2

Índice

!! Introducción !! Perceptrón !! Regla de Perceptrón, Regla Delta !! Perceptrón Multicapa !! Backpropagation

Métodos de Aprendizaje Automático - InCo 3

Introducción

!! Modelo y método de aprendizaje para aproximar funciones reales y discretas.

!! Uno de los métodos más efectivos para interpretar datos ruidosos como imágenes y sonido.

!! Paradigma conexionista, inspirado por la observación del sistema nervioso biológico.

!! En síntesis, consiste en la interconexión de unidades simples (neuronas), donde cada una posee entradas reales y produce una salida real.

Métodos de Aprendizaje Automático - InCo 4

Problemas Adecuados para ANN

!! Instancias son representadas por vectores atributo-valor.

!! La salida de la función puede ser discreta, real o vector real o discreto.

!! Los datos de entrenamiento pueden contener errores.

!! Largos tiempos de entrenamiento son aceptables.

!! Rápido tiempo de ejecución de la red.

!! La necesidad de interpretar la función aprendida no es relevante.

Page 2: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 5

Perceptrón

!! Es el sistema de ANN más simple. !! Dada una entrada en forma de vector (x1,…,xn), la

salida o(x1,…,xn) se calcula como:

!! Donde cada wi es un valor real constante o peso que determina la contribución de la entrada xi en la salida.

!! w0 es el umbral que debe superar la combinación lineal de las entradas para que el perceptrón devuelva 1.

Métodos de Aprendizaje Automático - InCo 6

Perceptrón

!! El aprendizaje de un perceptrón consiste en encontrar los pesos w0,…,wn que produzcan la salida deseada dada una entrada.

!! Por lo tanto, el espacio de hipótesis consiste en el conjunto de vectores reales:

Métodos de Aprendizaje Automático - InCo 7

Perceptrón

!! Puede verse como un hiperplano superficie de decisión en un espacio n-dimensional.

!! El perceptrón devuelve 1 si la instancia está de un lado del plano y -1 si está del otro.

!! No siempre es posible separar las instancias positivas y negativas (ejemplo (b)), en los casos en que sí es posible se le llama linealmente separable(ejemplo (a)).

Métodos de Aprendizaje Automático - InCo 8

Perceptrón

!! Un perceptrón puede representar operaciones booleanas básicas, ej: AND, OR, NOT.

!! Asumiendo true = 1, false = -1, una compuerta AND puede implementarse por ejemplo, con un perceptrón de dos entradas y pesos w0 = -0.8, w1 = w2 = 0.5.

!! La operación XOR no es posible representarla mediante un perceptrón ya que no es linealmente separable.

!! Sin embargo, es claro que cualquier función booleana puede representarse como una red interconectada de perceptrones.

Page 3: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 9

Regla de Perceptrón

!! Esta regla permite ajustar los pesos de un perceptrón para lograr la salida deseada para cada ejemplo de entrenamiento.

!! Los pesos del perceptrón son inicializados con valores aleatorios.

!! Iterativamente se aplica la regla para ajustar los pesos para cada ejemplo de entrenamiento.

!! El proceso se finaliza cuando el perceptrón clasifica correctamente todos los ejemplos.

Métodos de Aprendizaje Automático - InCo 10

Regla de Perceptrón

!! La regla de perceptrón:

!! t es el valor deseado de la salida

!! o es el valor de la salida generada por el perceptrón.

!! ! es una constante positiva llamada constante de

aprendizaje, su rol es moderar el grado de ajuste de cada iteración (usualmente un valor pequeño, ej: 0.1).

Métodos de Aprendizaje Automático - InCo 11

Descendiente por Gradiente: Regla Delta

!! La regla de Perceptrón ajusta con éxito funciones linealmente separables, pero falla en converger si los ejemplos no son linealmente separables.

!! La regla delta soluciona este problema, converge a la mejor aproximación al concepto objetivo.

!! La idea es utilizar descendiente por gradiente, para esto se considera un perceptrón sin umbral o unidad lineal, cuya salida es:

Métodos de Aprendizaje Automático - InCo 12

Descendiente por Gradiente: Regla Delta

!! Se considera una medida de error de entrenamiento:

!! Siendo D el conjunto de ejemplos de entrenamiento, td es el valor deseado para el ejemplo d, y od el valor de la salida devuelta por el perceptrón aplicado al ejemplo d.

!! E es la mitad del cuadrado de la diferencia entre el valor

deseado y el valor obtenido, sumada para cada ejemplo de entrenamiento.

Page 4: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 13

Descendiente por Gradiente: Regla Delta

!! La idea es modificar el vector de pesos en la dirección que produce el mayor decremento del error, hasta llegar al mínimo error posible.

!! Se logra derivando E con respecto a cada componente del vector w (gradiente de E respecto a w):

!! El opuesto de este vector indica la dirección de mayor decremento del error.

!! La regla de ajuste queda:

Métodos de Aprendizaje Automático - InCo 14

Descendiente por Gradiente: Regla Delta

!! Cada ejemplo es un par (x,t), donde x es el vector de valores de entrada y t la salida deseada, el algoritmo queda: !! Inicializar cada wi con valores aleatorios !! Inicializar cada "wi en 0 !! Hasta tener un error aceptable, repetir:

!! Para cada ejemplo (x,t): !! Computar la salida o dado x#!! Para cada "wi:

!! "wi = "wi+ !(t-o)xi(1)

!! Para cada peso wi: !!wi = wi+ "wi(2)

Métodos de Aprendizaje Automático - InCo 15

Descendiente por Gradiente Incremental

!! La convergencia puede ser lenta.

!! Si hay múltiples mínimos locales, la convergencia al mínimo global no está garantizada.

!! Variación: descendiente por gradiente incremetal.

!! En vez de actualizar los pesos luego de analizar todos los ejemplos, se hace incrementalmente, en cada ejemplo. En el algoritmo anterior, se elimina (2) y se cambia (1) por:

wi = wi+ !(t-o)xi#

Métodos de Aprendizaje Automático - InCo 16

Perceptrón Multicapa

!! Un solo perceptrón puede expresar solamente superficies de decisión lineales.

!! Una red interconectada de perceptrones puede representar superficies de decisión no lineales.

!! ¿Qué tipo de unidad utilizar como base? !! Unidades lineales: producen redes multicapa que solo

pueden representar funciones lineales. !! Perceptrón con umbral: su discontinuidad no lo hace

diferenciable, no es apropiado para descendiente por gradiente.

!! Unidad Sigmoid: solución.

Page 5: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 17

Perceptrón Multicapa: Unidad Sigmoid

!! Es una unidad cuya salida es una función diferenciable no lineal de sus entradas.

!! Primero computa la combinación lineal de sus entradas y luego computa la función sigmoid:

Métodos de Aprendizaje Automático - InCo 18

Perceptrón Multicapa: Unidad Sigmoid

!! La salida de la unidad varía entre 0 y 1. !! Crece monótonamente con la entrada. !! Mapea un gran rango a un pequeño rango: squashing

function. !! Su derivada se calcula fácilmente:

!! El término e-y se puede cambiar por e-ky donde k es constante positiva que ajusta el paso del umbral.

!! La función tanh (tangente hiperbólica) también suele ser utilizada, devuelve valores entre -1 y 1.

Métodos de Aprendizaje Automático - InCo 19

Algoritmo de Backpropagation

!! Se utiliza para aprender los pesos de una red multicapa. !! Utiliza descendiente por gradiente para minimizar el

cuadrado del error entre el valor de salida y el valor deseado.

!! Ahora se considera el error producido por multiples salidas:

!! Donde salidas es el conjunto de unidades de salida, tkd y okd son la salida deseada y obtenida asociadas a la k-esima unidad y el ejemplo d.

Métodos de Aprendizaje Automático - InCo 20

Algoritmo de Backpropagation

!! Nuevamente se utiliza descendiente por gradiente para minimizar E.

!! La superficie de error puede tener varios mínimos locales, por lo tanto, no está garantizada la convergencia al mínimo global.

!! Este algoritmo se aplica a redes de capas feedforward, en esta arquitectura, la capa n conecta sus entradas con salidas de la capa n-1 y sus salidas con entradas de la capa n+1.

Page 6: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 21

Algoritmo de Backpropagation

!! Ejemplo arquitectura feedforward:

Métodos de Aprendizaje Automático - InCo 22

Algoritmo de Backpropagation: Dos Capas

!! Cada ejemplo es un par (x,t), donde x y t son vectores de entrada y salida respectivamente.

!! ! es la constante de aprendizaje.

!! nin es el número de entradas de la red

!! noculta es el número de unidades en la capa oculta.

!! nsalidaes el número de unidades de salida

!! La entrada de la unidad i hacia la j se denota xji, y el peso de i a j se denota wji.

Métodos de Aprendizaje Automático - InCo 23

Algoritmo de Backpropagation: Dos Capas

!! Crear la red de nin entradas, noculta unidades ocultas y nsalida unidades de salida.

!! Inicializar los pesos con valores aleatorios pequeños. !! Hasta tener un error aceptable, repetir

!! Para cada (x,t) en los ejemplos de entrenamiento: !! Propagar entrada hacia delante: dada la entrada x en la red, computar cada salida de

cada unidad de la red. !! Propagar errores hacia atrás:

!! Para cada unidad de salida k calcular el error $k#

!! Para cada unidad oculta, calcular su error $h:

!! Actualizar cada peso wji:

Métodos de Aprendizaje Automático - InCo 24

Algoritmo de Backpropagation: General

!! El algoritmo anterior se generaliza fácilmente para redes con una profundidad arbitraria.

!! La regla para computar los pesos de las unidades de salida es igual.

!! La regla para computar los errores en las unidades ocultas:

!! El error $r para la unidad r de la capa m se computa a partir de los error $ de la siguiente capa m+1.

Page 7: 4 Redes Neuronales

Métodos de Aprendizaje Automático - InCo 25

Algoritmo de Backpropagation: Momento

!! Una variación en la regla de actualización de pesos: agregar momento.

!! La actualización del peso en la n-esima iteración depende parcialmente de la n-1 iteración:

!! "wji(n) es la actualización de un peso en la n-esima iteración.

!! % es una constante llama momentum, con 0!%<1. !! El efecto es dar inercia a la trayectoria de descendiente,

mantenerse moviendo en superficies planas e incrementar la velocidad de convergencia.

Métodos de Aprendizaje Automático - InCo 26

Diseño de una Red

!! Puntos a considerar:

!! Entradas: ¿qué atributos, propiedades del dominio considerar? ¿Normalizar?¿Discretaso reales? ¿Rango? ¿Cuántas? ¿Course of dimensionality?

!! Arquitectura: ¿Cuántas capas? ¿Cómo interconectarlas? !! Función de activación: ¿Cuál utilizar? ¿Con qué umbral?¿En qué rango?

!! Salidas: ¿Cuántas? ¿Qué devuelven? ¿En qué rango? ¿Discreto o real?

!! Ejemplos de entrenamiento: ¿De dónde los obtengo? ¿Cómo los represento?¿Cuántos tengo? ¿Qué tan confiables son?

!! Algoritmo de entrenamiento: ¿Backpropagation u otro? ¿Cuándo parar de entrenar? ¿Offline u online? ¿Batch o incremental?

!! Constante de aprendizaje: ¿Cuándo corresponde utilizarla? ¿Qué valor usar?¿Hay que decrementarlo a medida que avanza el entrenamiento?