Download Redes Neuronales Multicapa

Document related concepts

Perceptrón multicapa wikipedia , lookup

Red neuronal prealimentada wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Redes neuronales probabilísticas wikipedia , lookup

Neuroph wikipedia , lookup

Transcript
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Redes Neuronales Multicapa
Undécima sesión
Hugo Franco, PhD
16 de abril de 2010
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Relación entre capas y conjuntos bajo estudio
Estructura
Una capa
Regla de
decisión
Regiones
separables con
hiperplanos
Dos capas
Regiones
convexas
Múltiples capas Regiones
de complejidad
topológica
arbitraria
Clases no
linealmente
separables
XOR
A
B
B
A
A
B
B
A
A
B
B
A
B
B
Hugo Franco, PhD
A
A
B
A
Redes Neuronales Multicapa
Regiones
generalizadas
Redes multineuronales
monocapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Modelo de Hopeld
La Red de Hopeld es un tipo de
memoria asociativa cuya
estructura tiene las siguientes
características:
Topología Monocapa
Asíncrona (la activación de las
neuronas requiere más de un
ciclo de tiempo activación
iterativa)
Cada neurona es a la vez de
entrada y de salida
Cada salida es alimentada
recurrentemente a todas las
neuronas excepto a aquella de la
cual es salida
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Formalismo matemático de la Red de Hopeld
La red de Hopeld se puede representar como
HN = (N , W , φ, O , NET , ex ) donde
Un vector de neuronas N
El vector de pesos W : N × N → R es simétrico y no relaciona
ninguna neurona consigo misma (W (i , i ) = 0)
La función de activación φ devuelve 1 si la entrada a la i −ésima
neurona, NETi , es mayor que un umbral θi y −1 en caso contrario
(función signo con sesgo). θi está denido de forma estática para
cada neurona.
Una función salida Oi ∈ O para cada neurona
Una función de entrada a cada i −ésima neurona (función de
propagación) NETi ∈ NET calculada como
NETi =
X
j ∈N
Oj W (j , i ), j 6= i
Una función de salida externa ex (i ) que transforma la salida Oi en
un valor apropiado para la aplicación de la red
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Aprendizaje de la red de Hopeld
Una red de Hopeld funciona como una memoria asociativa, luego puede
alcanzar un estado estable a partir de cualquier estado inicial
(entrada/salida) con una energía total mínima.
Aprendizaje Hebbiano: consiste en presentar un patrón que se
desea estable en la red y forzar a que la dinámica de la red, dada por
los pesos:
Si dos neuronas en cualquier lado de una sinapsis (conexión) se
activan simultáneamente (sincrónicamente), entonces la fuerza de
dicha sinapsis se incrementa selectivamente
Si dos neuronas en cualquier lado de una sinapsis (conexión) se
activan asincrónicamente, entonces dicha sinapsis se debilita o
elimina selectivamente
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Algoritmo de entrenamiento Hebbiano (Hopeld)
kj
Regla de actualización de pesos:
∆wkj (t ) = η xj (t )yk (t )
Para todos los patrones de entrenamiento
1
Cargar un patrón
2
Modicar el peso de cada conexión hasta que la variación sea menor
a un umbral (estabilizar el estado)
Hasta que los estados sean estables para todos los patrones presentados a
la red
Hugo Franco, PhD
Redes Neuronales Multicapa
Modelos multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Repaso, Red Neuronal Multicapa
Funcionalidad principal del perceptrón
Por su capacidad de separar un espacio de una dimensionalidad dada en
dos partes a través de un hiperplano, el perceptrón suele utilizarse como
clasicador
Capa de
Entrada
Capas
Ocultas
Hugo Franco, PhD
Redes Neuronales Multicapa
Capa de
Salida
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Máquina de Boltzmann
Especialización de las
investigaciones iniciales de
Cauchy
Memoria asociativa con dos
capas, una visible y una oculta
Entradas y salidas se
desarrollan en la capa visible
Las neuronas de la capa
oculta permiten procesar la
información almacenada en
las conexiones entre las dos
capas, generando un modelo
de memoria articial tipo
asociativo
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Red Feedforward o Perceptrón multicapa
Colección organizada y dirigida de
unidades de cómputo formales
(perceptrones)
capa oculta
sesgo
Topología Multicapa. Tantas
capas como sean necesarias
para la solución del problema
Conexiones siempre hacia la
siguiente capa
Presencia de capas ocultas
Conectividad preferiblemente
completa entre capas
Función de activación tipo
sigmoide (arcotangente,
tangente hiperbólica, sigmoide
logística)
Hugo Franco, PhD
Redes Neuronales Multicapa
capa de salida
sesgo
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Función de activación sigmoide para una red Feedforward
φ(x ) =
Hugo Franco, PhD
1
x
1 +Redes
e −αNeuronales
Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Ejemplo de aplicación: conjuntos no linealmente separables
Función XOR
0 1
0 1 0
1 0 1
Solución
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Red MADALINE
Caso análogo al de un
perceptrón multicapa
(red feedforward), con
unidades ADALINE
(Adaptive Linear
Element)
Función de
activación Lineal
para cada neurona
de la red
Especializadas en
procesamiento de
señales
Entrenamiento basado
en la regla delta,
adaptado para
funciones lineales
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Modelos Competitivos Autoorganizados: Red de Kohonen
La red de Kohonen o Mapa de
Características de Kohonen se
introdujo en 1982 por T.Kohonen
(Universidad de Helsinki)
Modelo de aprendizaje más cercano
a la analogía del aprendizaje
humano: las neuronas compiten
entre sí por ser activadas de
acuerdo a los patrones de entrada
presentados
El algoritmo de entrenamiento es
un proceso de auto-organización en
el cual los patrones son presentados
iterativamente en la capa de
entrada e, iterativamente, los pesos
se van ajustando de modo que una
neurona es activada para cada
patrón
Hugo Franco, PhD
Neurona Ganadora
Matriz de neuronas
de salida
Entradas (sección)
Redes Neuronales Multicapa
Aprendizaje (Entrenamiento)
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
El Aprendizaje en los Modelos de Redes Neuronales
Articiales Multicapa
Proceso de optimización (gradiente descendiente) en el cual el
vector de pesos de cada capa corresponde a aquel que minimiza un
error de salida para un conjunto dado de patrones de entrenamiento
Esta optimización se consigue aproximando iterativamente los pesos
de las conexiones a su valor ideal (nunca se llega a ese ideal, se
minimiza el error hasta un umbral tolerable)
Las iteraciones se dan
intra-patrón: propagando hacia atrás los errores para actualizar en
cada neurona de cada capa los pesos de cada neurona)
inter-patrón: recorriendo todos los patrones de entrenamiento hasta
que la salida de la red para cada uno de ellos se acerque lo más
posible a la salida conocida.
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Gradiente descendente
Hiperparaboloide
Mínimos
cuadrados
Hugo Franco, PhD
Redes Neuronales Multicapa
Redes multineuronales monocapa
Modelos Multicapa
Aprendizaje (Entrenamiento)
Entrenamiento de redes feedforward (Backpropagation)
Análogo al algoritmo de entrenamiento del Perceptrón
Algoritmo
1
Inicializar los pesos de forma aleatoria (usualmente entre -1 y 1)
2
Introducir los patrones de entrenamiento a las unidades de entrada
3
Generar el vector de salida de la red (feedforward).
4
Comparar la salida generada por al red con la salida deseada. La
diferencia obtenida entre la salida generada y la deseada constituye
el error
5
El error se usa para estimar la regla Delta en cada neurona y se
propaga hacia la capa de neuronas anterior (backpropagation) para
ajustar los pesos sinápticos entre las dos capas. Se continua
propagando el error hacia las capas anteriores y ajustando los pesos
hasta que se alcance la capa de entradas y sus conexiones con la
primera capa oculta.
Hugo Franco, PhD
Redes Neuronales Multicapa