Redes Neuronales Evolutivas - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Redes Neuronales Evolutivas

Description:

La regla delta no siempre llega a un m nimo global (aprendizaje limitado) ... Puede aplicarse a cualquier arquitectura de RN, no s lo las feed-forward. ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 36
Provided by: Lau9341
Category:

less

Transcript and Presenter's Notes

Title: Redes Neuronales Evolutivas


1
Redes Neuronales Evolutivas
  • Combinan
  • Redes Neuronales artificiales.
  • Procedimientos de búsqueda evolutivos.
  • Ej Algoritmo Genéticos.
  • Adaptación de las RNE
  • Aprendizaje (RN)
  • Evolución (AG)

2
Por qué evolucionar RN?
  • Topología
  • No siempre es la adecuada.
  • Cantidad de capas y de neuronas por capa.
  • Problema de overfitting.
  • Aprendizaje
  • La regla delta no siempre llega a un mínimo
    global (aprendizaje limitado).
  • Velocidad de aprendizaje (adecuada?).
  • Pesos de la red
  • Valores iniciales (random?)

3
Redes Neuronales Evolutivas
  • Tipos de evolución
  • Sólo aplicada a los pesos de conexión.
  • Sólo aplicada a la arquitectura de la red.
  • Evolución simultánea de pesos y arquitectura.
  • Función de activación
  • Regla de aprendizaje

4
Evolución de los pesos
  • El proceso de entrenamiento busca hallar un
    conjunto de pesos óptimos de acuerdo a algún
    criterio de optimización.
  • Entrenamiento Back-Propagation
  • Busca minimizar el error cuadrático medio total
    entre la salida actual y la salida esperada.
  • Este error guía la búsqueda en el espacio de
    pesos.
  • Puede quedarse en un mínimo local.

5
Evolución de los pesos
  • El proceso de adaptación estará dado por la
    evolución de los pesos de conexión en el entorno
    definido por la arquitectura y el aprendizaje.
  • De esta forma no será necesario utilizar la
    técnica del gradiente.
  • Cómo evaluar el fitness?

6
Evolución de los pesos
  • Función de fitness
  • Deberá medir la diferencia entre el valor
    obtenido y el valor esperado (aprendizaje
    supervisado). Podría utilizarse el error total
    cuadrático medio.
  • Ejemplo
  • Nótese que las estrategias evolutivas no
    requieren que la función de fitness sea
    derivable. Ni siquiera tiene que ser continua.

7
Evolución de los pesos
  • Partes del entrenamiento evolutivo
  • Analizar la representación a utilizar.
  • Ej los pesos serán representados en forma
    binaria o no?
  • Definir la estrategia evolutiva a aplicar.
    Indicar los operadores genéticos de crossover y
    mutación.

8
Evolución de los pesos
  • Un ciclo típico en la evolución de los pesos de
    conexión
  • Decodificar cada individuo (genotipo) de la
    generación actual convirtiéndolo en la RN
    correspondiente.
  • Calcular el fitness de cada individuo en base al
    error cuadrático medio total. A mayor error,
    menor fitness.
  • Seleccionar los padres para la reproducción
  • Aplicar los operadores de crossover y mutación.
    Obtener los hijos que formarán la nueva
    población.
  • La evolución termina cuando el fitness supera un
    cierto valor o cuando la población ha convergido.

9
Evolución de los pesos
  • Representación binaria
  • Cada peso está representado por un número de bits
    con cierta longitud.
  • La concatenación de los pesos dará lugar al
    cromosoma de la red neuronal.
  • Los pesos correspondientes a una misma neurona,
    ya sea oculta o de salida, es aconsejable
    codificarlos juntos.
  • (Efecto del crossover)

10
Evolución de los pesos
  • El siguiente ejemplo muestra el cromosoma de la
    RN para una arquitectura fija

11
Evolución de los pesos
  • Ventajas de la representación binaria
  • Simplicidad y generalidad.
  • Los operadores genéticos (crossover y mutación)
    se pueden aplicar directamente.
  • Desventaja
  • La longitud del cromosoma está en estrecha
    relación con la precisión del valor representado.
  • Si son pocos, no llegará al valor esperado.
  • Si son muchos, el tamaño de la red crece y la
    evolución será ineficiente.

12
Evolución de los pesos
  • Problema de permutación hace que el crossover
    sea ineficiente e ineficaz para obtener buenos
    hijos.

Los cromosomas son distintos pero las RN son
funcionalmente iguales.
13
Evolución de los pesos
  • Representación con números reales

14
Entrenamiento evolutivo vs. gradiente
  • Evolución
  • Permite obtener óptimos globales.
  • Trabaja sobre superficies de error complejas.
  • Puede aplicarse a cualquier arquitectura de RN,
    no sólo las feed-forward.
  • Aprendizaje basado en Gradiente
  • Aprende más rápido
  • Puede caer en un óptimo local.
  • Técnica híbridas 1ro. AG y luego BP.

15
Arquitectura de una RNA
  • Definición
  • Técnica de prueba y error.
  • Algoritmos constructivos.
  • Comienzan con pocos nodos y van incorporando
    nuevas capas, neuronas y conexiones.
  • Algoritmos destructivos
  • Comienzan con una arquitectura máxima que van
    reduciendo durante el entrenamiento.

16
Evolución de la Arquitectura
  • El diseño de la arquitectura óptima puede ser
    visto como un problema de búsqueda dentro del
    espacio de las arquitecturas, donde cada punto
    representa una arquitectura.
  • Dada una medida de aptitud (menor error en la
    solución, menor tiempo de aprendizaje, menor
    tamaño, etc), el nivel de aptitud de todas las
    arquitecturas forma una superficie discreta en el
    espacio.
  • El diseño de la arquitectura óptima equivale a
    encontrar el máximo de esta superficie.

17
Evolución de la Arquitectura
  • Características de la superficie de aptitudes que
    justifica el uso de la evolución
  • Infinitamente larga dado que la cantidad de nodos
    y conexiones no está acotado.
  • No es continua y por lo tanto, no es derivable.
  • Deceptiva porque arquitecturas similares pueden
    tener diferentes aptitudes (la combinación de dos
    RN buenas puede dar una de menor fitness).
  • Multimodal porque arquitecturas diferentes pueden
    tener aptitudes similares.

18
Evolución de la Arquitectura
  • Fases en la evolución de la arquitectura
  • Representación del genotipo.
  • Analizar el nivel de detalle que se desea dar a
    la representación.
  • Algoritmo elegido para realizar la evolución.

19
Evolución de la Arquitectura
  • Ciclo típico de la evolución de la arquitectura
  • Decodificar cada individuo de la generación
    corriente para obtener la arquitectura de la red.
  • Entrenar cada RNA con una regla de aprendizaje
    predefinida.
  • Calcular el fitness de acuerdo al resultado del
    entrenamiento anterior y otros criterios de
    performance (ej complejidad de la arq.).
  • Seleccionar los padres de acuerdo al fitness.
  • Aplicar los operadores genéticos y generar los
    hijos para la siguiente generación.

20
Evolución de la Arquitectura
  • Representación del genotipo.
  • Codificación directa toda la información está
    codificada en el cromosoma.
  • Codificación indirecta sólo se codifican los
    parámetros más importantes (ej cant.de capas
    ocultas, cant.de nodos en cada capa, etc). El
    resto de la arquitectura se define mediante la
    evolución.

21
Codificación Directa
  • Hay dos opciones
  • Evolucionar sólo la arquitectura y dejar los
    pesos fijos.
  • Evolucionar la arquitectura y los pesos de
    conexión a la vez.
  • Por ahora trabajaremos con la primer opción.

22
Codificación Directa
  • Ejemplo
  • Se puede utilizar un cromosoma binario con tantos
    genes como combinaciones de conexiones de
    neuronas tenga la red.
  • Una RN de N neuronas requerirá un cromosoma de
    longitud NxN. Donde el valor 1 implica conexión.

23
Codificación Directa
24
Redes Recurrentes
  • Contienen una realimentación hacia atrás o
    retroalimentación, es decir algunas de sus
    salidas son conectadas a sus entradas.
  • Las redes recurrentes son potencialmente más
    poderosas que las redes con realimentación hacia
    delante porque poseen memoria lo que les
    permite tener un comportamiento dinámico.

25
Redes Recurrentes
La red alcanzará su estado estable cuando la
salida para un instante de tiempo sea la misma
salida del instante de tiempo anterior.
26
Codificación directa
Cromosoma de la red feedforward
Problemas escalabilidad y permutación
(distintos genotipos con igual funcionalidad).
27
Codificación indirecta
  • Características
  • Reduce la longitud de la representación del
    genotipo.
  • En el cromosoma sólo se codifican algunas
    características de la arquitectura.
  • Desventaja puede no ser muy buena para encontrar
    una RNA compacta con buena habilidad de
    generalización.

28
Codificación indirectaRepresentación paramétrica
  • La RNA puede especificarse mediante un conjunto
    de parámetros.
  • Ejemplos
  • Cantidad de capas ocultas.
  • Cantidad de neuronas ocultas en cada nivel.
  • Número de conexiones entre dos capas.
  • La evolución estará limitada a trabajar sobre
    esta representación.
  • Ej RNA feedforward totalmente interconectada,
    con una sola capa oculta, puede representarse por
    la cantidad de neuronas ocultas.

29
Codificación indirectaReglas de desarrollo
  • Características
  • Reduce la longitud del cromosoma.
  • Minimiza el efecto destructivo del crossover.
  • Ejemplo

30
Codificación indirectaReglas de desarrollo
31
Ej RN asociada a las reglas
  • Ej

32
Codificación indirectaReglas de desarrollo
  • En el ejemplo, los símbolos no terminales son
    A.. Z y a.. p.
  • Se utilizan 16 reglas para generar las
    submatrices binarias de 2x2 que comienzan con
    a.. p. Estas NO se evolucionan para permitir
    que exista diversidad de conexión.

33
Codificación indirectaReglas de desarrollo
  • Dado que hay 26 reglas cuyo lado izquierdo
    comienza con A.. Z, la longitud del cromosoma
    será 26x4104 alelos.
  • Ejemplo
  • ABCD aaaa iiia iaac aeae

34
Codificación indirectaReglas de desarrollo
  • Limitaciones
  • Es necesario predefinir el número de pasos de
    reescritura.
  • No deben permitirse las reglas recursivas.
  • Una representación genotípica compacta no implica
    que ocurra lo mismo con la representación
    fenotípica. Es decir que, de una notación
    compacta pueden obtenerse RN muy grandes.

35
Evolución de la arquitectura y de los pesos de
conexión
  • Por qué evolucionar ambas cosas?
  • Evolucionar la arquitectura SIN evolucionar los
    pesos de conexión presenta una evaluación de
    fitness ruidosa
  • Pesos iniciales diferentes producen fitness
    distintos.
  • Diferentes algoritmos de entrenamiento producen
    resultados diferentes aun para los mismos pesos
    iniciales.
  • Esto puede resolverse entrenando a la red varias
    veces y tomando como fitness del genotipo el
    fitness promedio.

36
Evolución de la arquitectura y de los pesos de
conexión
  • Si se evolucionan ambas cosas
  • Cada individuo en la población contiene la
    información completa de la arquitectura y los
    pesos de conexión.
  • Hay una relación uno-a-uno entre genotipo y
    fenotipo, lo que permite una correcta evaluación
    del fitness.
  • Operadores?

37
Evolución de la arquitectura y de los pesos de
conexión
  • Efecto del crossover
  • Trabaja sobre la idea de buenos bloques de
    construcción.
  • Qué son los bloques cuando se representan RN?
  • Si la información está esparcida en la RN, el
    crossover no dará buenos resultados.

38
Evolución de la función de transferencia
  • Trabajos realizados
  • Se han realizado evoluciones de arquitectura y
    función de transferencia al mismo tiempo
    codificándolas en los cromosomas.
  • Algunos autores han evolucionado neuronas con
    diferentes tipos de funciones de transferencia
    (gaussiana y sigmoide)
  • Fijando la cantidad de neuronas de cada tipo. La
    evolución define sólo la arquitectura.
  • La cant.de neuronas de cada tipo puede variar en
    la evolución.

39
Evolución de las reglas de aprendizaje
  • El diseño de algoritmos de entrenamiento, en
    especial las reglas utilizadas para ajustar los
    pesos de conexión, dependen del tipo de
    arquitectura.
  • Importancia de la evolución
  • Mecanismo automático para la obtención de las
    reglas de aprendizaje.
  • Puede ayudar a entender el proceso creativo en
    los sistemas biológicos ya que a partir de un
    entorno dinámico y complejo puede inferir reglas
    de aprendizaje.

40
Evolución de las reglas de aprendizaje
  • Ciclo típico de evolución de reglas de
    aprendizaje
  • Decodificar cada individuo de la generación
    actual en una regla de aprendizaje.
  • Construir un conjunto de RNA con arquitecturas y
    pesos iniciales aleatorios. Entrenarlos usando la
    regla decodificada.
  • Calcular la función de fitness para cada
    individuo de acuerdo al promedio del resultado.
  • Seleccionar padres para generar la próxima
    generación.
  • Aplicar los operadores genéticos para obtener la
    nueva población.

41
Evolución de las reglas de aprendizaje
  • Evolución de parámetros algorítmicos
  • 1er. Intento La evolución de los parámetros del
    algoritmo BP (velocidad de aprendizaje y
    momento).
  • Si los parámetros son codificados en el cromosoma
    junto con la arquitectura, se facilita la
    interacción entre el aprendizaje y la
    arquitectura.
  • Existen trabajos que sólo evolucionan los
    parámetros para una arquitectura definida.

42
Evolución de las reglas de aprendizaje
  • Evolución de la regla que actualiza los pesos
  • Cómo se codifica el comportamiento dinámico de
    una regla de aprendizaje en un cromosoma?
  • Para reducir la longitud del cromosoma es
    necesario definir el espacio de las reglas de
    aprendizaje.
  • Se debe definir la forma básica de las reglas de
    aprendizaje
  • Reduce la complejidad de la representación.
  • Reduce el espacio de búsqueda.

43
Evolución de las reglas de aprendizaje
  • Suposiciones
  • La actualización de los pesos depende sólo de
    información local.
  • Ej activación del nodo de entrada, activación
    del nodo de salida, valor actual de pesos de
    conexión,etc.
  • La regla de aprendizaje es la misma para todas
    las conexiones en la RNA.

44
Evolución de las reglas de aprendizaje
  • La actualización del peso de la conexión que va
    de la neurona i a la neurona j es de la forma
  • Ejemplo Aprendizaje de Hebb
  • donde ? es el parámetro
  • y(i) es la actividad de la
    neurona presináptica.
  • x(j) es el potencial de la
    neurona postsináptica

45
Evolución de las reglas de aprendizaje
  • Resumiendo
  • La evolución de reglas de aprendizaje es
    equivalente a evolucionar vectores de valores
    reales formado por los ?s.
  • Diferentes ?s determinan diferentes reglas de
    aprendizaje.

46
Evolución de las reglas de aprendizaje
  • Aspectos a considerar en la evolución
  • Determinar el subconjunto de términos ?s.
  • Representar estos valores reales dentro del
    cromosoma.
  • Indicar el algoritmo evolutivo a utilizar.

47
RN que resuelve el XOR
  • Obtenerla por evolución SOLO de los pesos
  • Cada cromosoma es una RN donde se representan los
    9 pesos con una precisión de 5 dígitos binarios
    (valores entre 1.0 y 1.0).
  • Usar el AG básico
  • Sólo hay que cambiar la decodificación de
    c/individuo ? fitness

48
RN que resuelve el XOR
  • se utilizaran 5 bits por peso. Hay 9 pesos en la
    RN --gt
  • lchrom 45 long. del cromosoma
  • popsize 70 tamaño de la poblacion
  • pcross 0.65 prob.de crossover
  • pmutation 0.05 prob. de mutacion
  • elitismo 1 0 sin elitismo, 1 si
  • maxgen 20 maxima cantidad de
    generaciones
  • Construir la poblacion inicial
  • Pop round(rand(lchrom,popsize))
  • Aptitud de cada una de las RN
  • Fitness EvaluarAptitud(Pop)

49
EvaluarAptitud.m
  • function y EvaluarAptitud(Poblacion)
  • Decodifica cada RN y calcula el fitness
  • long,cuantos size(Poblacion)
  • entradas 2 ocultas 2 salidas 1
  • y
  • for i 1 cuantos, Obtener la RN del
    individuo i
  • individuo Poblacion(,i)'
  • w1 b1 w2 b2 CromToRNFF(individuo,
    entradas,
  • ocultas,
    salidas)
  • y(i) Fitness_XOR(w1, b1, w2, b2)
  • end

50
CromToRNFF
  • function w1, b1, w2, b2 CromToRNFF(x,
    entradas,
  • ocultas,
    salidas)
  • x es un vector fila con los pesos de la RN
    feedforward concatenados de la siguiente forma
  • w1_11, w1_21, w1_12, w1_22, b1_1, b1_2 , w2_1 ,
    w2_2, b2
  • x1,x2--gto1 x1,x2--gto2 x0--gto1,o2
    o1,o2--gts o0--gts
  • w1 --- gt es de (entradas x ocultas)
  • b1 --- gt es de (ocultas x 1)
  • w2 --- gt es de (ocultas x salidas)
  • b2 --- gt es de (salidas x 1)

51
Fitness_XOR
  • function y Fitnes_XOR(w1, b1, w2, b2)
  • P 0 0 1 1
  • 0 1 0 1
  • T 0 1 1 0
  • Falta calcular SALIDA
  • SALIDA es un vector con la respuesta de la RN
    para c/u de los patrones. Cada neurona de la red
    es un perceptrón que utiliza como
  • función de activación la función umbral
    (hardlim).
  • Calcular el error de la capa de salida
  • ErrorSalida (T-salida)
  • AVGError sum(ErrorSalida .2)
  • y 1/(0.001AVGError) función de fitness
Write a Comment
User Comments (0)
About PowerShow.com