Está en la página 1de 41

Análisis Discriminante No-Lineal,

El Perceptrón Multicapa

Clasificación y Reconocimiento de Patrones


Maestría en Ingeniería
Automatización Industrial
Plan de la Charla

• Introducción
• El Perceptrón Multicapa

2
Introducción
Este método, como los vistos en la clase anterior, también
es de la forma:

Pero aquí la combinación de los x y el vector de


parámetros µ es un producto escalar, es decir:
φi(x,µi) = φi(xTµi)
En este modelo se describe la función φ y el procedimiento
de optimización permite determinar los parámetros wij y
µi.
3
El Perceptrón Multicapa
Operación y Clasificación Feedforward.
La figura muestra una red neuronal con tres capas: una
capa de entrada, una capa oculta y una capa de
salida, interconectadas por pesos modificables
representados por los arcos entre las capas.
Además hay una unidad de bias conectada a cada una
de las unidades (neuronas) diferentes a las de
entrada (ocultas y de salida).
En reconocimiento de patrones las neuronas de
entrada representan los componentes de un vector
de características y las señales emitidas por las
neuronas de salida son los valores de las funciones
discriminantes usadas para la clasificación. 4
El Perceptrón Multicapa
El problema
de la XOR

5
El Perceptrón Multicapa
El valor de activación (net) (entrada) de las neuronas
es el producto interno de las neuronas de la capa de
entrada con los pesos en las neuronas ocultas.
Tanto el vector de entrada, como el vector de pesos
serán aumentados, pegando los valores x0=1 y w0.
El valor de activación será entonces:

donde i indexa las neuronas en la capa de entrada y j


las neuronas en la capa oculta.
wij representa los pesos de la capa de entrada a la
oculta, para la neurona oculta j.
6
El Perceptrón Multicapa
Cada neurona oculta emite una salida que es una
función no lineal de su entrada, f(net), que es:

f(⋅) es conocida como la función de activación.

Similarmente, cada neurona de salida calcula su valor


de activación basado en las señales de las neuronas
ocultas como:

7
El Perceptrón Multicapa
donde k indexa las neuronas en la capa de salida y nH
representa el número de neuronas en la capa oculta.
La neurona bias será tratada como una neurona de la
capa oculta cuya salida es siempre y0 = 1.
Cada neurona de la capa de salida calcula una función
de activación (no-lineal), emitiendo:
Cuando hay c neuronas de salida, podemos pensar que
la red calcula c funciones discriminantes zk = gk(x), y
se puede clasificar la entrada de acuerdo a la mayor
función discriminante.
8
El Perceptrón Multicapa
Para clasificación, tendremos c neuronas de salida, una
para cada categoría, y la señal de cada neurona de
salida es la función discriminante gk(x).
Estas funciones discriminantes pueden ser expresadas
como:

Estas son las clases de funciones que pueden ser


implementadas por una red neuronal de tres capas.
Frecuentemente será requerido que la función de
activación sea continua y diferenciable.
Se pueden tener diferentes funciones de activación en
la capa de salida y en la capa oculta, o aún entre
neuronas de la misma capa. 9
El Perceptrón Multicapa
Cualquier decisión puede ser implementada por una
red neuronal de tres capas ?
La respuesta es si.
Cualquier función continua puede ser implementada en
una red de tres capas, dado un número suficiente de
neuronas ocultas nH, funciones de activación (no
lineales) y pesos adecuados
En particular cualquier probabilidad posterior puede ser
representada por una red de tres capas.
Para el caso de clasificación de c categorías, podemos
aplicar una función max[⋅] al conjunto de neuronas de
salida de la red y así obtener una frontera de
decisión.
10
El Perceptrón Multicapa
El algoritmo Backpropagation.
Hemos visto que cualquier función puede ser
implementada con una red neuronal de tres capas.
Tratemos ahora el crucial problema de hallar los pesos
basados en los patrones de entrenamiento y en la
salida deseada.
Backpropagation es uno de lo métodos más simples y
más generales para el entrenamiento supervisado de
redes neuronales multicapa.
La figura siguiente muestra una red de tres capas con
la notación que será usada.

11
El Perceptrón Multicapa

yj=f(netj)

12
El Perceptrón Multicapa
Aprendizaje de la Red
La aproximación básica en aprendizaje es iniciar con
una red no entrenada, presentar un patrón de
entrenamiento a la entrada de la red, pasar las
señales a través de la red y determinar la salida en la
capa de salida.
Estas salidas son comparadas con los valores destino,
cualquier diferencia corresponde a un error.
Este error o función criterio es alguna función escalar
de los pesos y es minimizada cuando la salida de la
red coincide con la salida deseada.
Así, los pesos son ajustados para reducir esta medida
de error.
13
El Perceptrón Multicapa
Consideremos el error de entrenamiento en un patrón
como la suma sobre las neuronas de salida del
cuadrado de las diferencias entre la salida deseada tk
dada por el maestro y la salida obtenida zk:

donde t y z son los vectores objetivo y de salida de la


red, de longitud c.
w representa todos los pesos en la red.

14
El Perceptrón Multicapa
La regla de aprendizaje backpropagation está basada
en el gradiente descendente.
Los pesos son inicializados con valores aleatorios y
entonces cambiados en la dirección que reduce el
error:

o en forma de los componentes:

donde η es la rata de aprendizaje, y sólo indica el


tamaño relativo del cambio en los pesos.
De la función criterio es claro que ella nunca es
negativa, por lo que las ecuaciones anteriores hacen
que nos desplacemos en el espacio de los pesos de
manera que disminuyamos la función criterio. 15
El Perceptrón Multicapa
Este algoritmo iterativo requiere que tomemos un vector
de pesos en la iteración m y lo actualicemos como:

Analicemos el problema con una red de tres capas.


Consideremos primero los pesos de la capa oculta a la
capa de salida.
Como el error no depende explícitamente de wjk,
debemos usar la regla de la cadena para la
derivación:

16
El Perceptrón Multicapa
donde la sensibilidad de la neurona k esta definida
como:

y describe como el error total cambia el valor de


activación de la neurona.

Asumiendo que la función de activación f(⋅) es


derivable, derivamos J(w) y encontramos que para
una neurona de salida, δk es simplemente:

17
El Perceptrón Multicapa
De otra parte, del valor de activación de cada neurona
de salida, encontramos:

Estos resultados nos dan el peso de actualización o


regla de aprendizaje para los pesos oculto-salida:

18
El Perceptrón Multicapa
Miremos ahora la regla de aprendizaje para las
neuronas de entrada a ocultas.
De la ecuación

usando de nuevo la regla de la cadena podemos


calcular:

19
El Perceptrón Multicapa
El primer término (en el lado derecho) involucra todos
los pesos wkj, así:

20
El Perceptrón Multicapa
La suma sobre las neuronas de salida en

Expresa como la salida de la neurona oculta yi, afecta


el error en cada neurona de salida.
Definimos la sensibilidad de la neurona oculta como:

La sensibilidad de la neurona oculta, es la suma de


cada una de las sensibilidades de las neuronas de
salida ponderadas por los pesos oculto a salida wkj,
todo multiplicado por f’(netj).
21
El Perceptrón Multicapa
Así, la regla de aprendizaje para los pesos de entrada a
oculto es:

Las ecuaciones:

junto con los protocolos de entrenamiento, definen el


algoritmo Backpropagation.
22
El Perceptrón Multicapa
Protocolos de Entrenamiento.
El entrenamiento supervisado consiste en presentar a
la red algunos patrones cuya categoría es conocida
(patrones del conjunto de entrenamiento), encontrar
la salida de la red y ajustar los pesos de manera que
se haga la salida obtenida más cercana a la salida
deseada.
Entrenamiento Estocástico.
Los patrones son escogidos aleatoriamente del
conjunto de muestras de entrenamiento y los pesos
de la red son actualizados cada vez que un patrón es
presentado.
Entrenamiento Batch.
Todos los patrones son presentados a la red antes de
23
que el aprendizaje se realice.
El Perceptrón Multicapa
Protocolos de Entrenamiento Estocástico.

La línea 5 hace que el programa termine cuando el


cambio en la función criterio J(w) sea más pequeño
que un valor θ predefinido. 24
El Perceptrón Multicapa
Protocolos de Entrenamiento Batch.
Aquí todos los patrones de entrenamiento son
presentados antes que la correspondiente
actualización de los pesos sea realizada. Este criterio
es repetido hasta que un criterio de parada sea
alcanzado.
Ahora debemos considerar el error sobre todo el
conjunto de patrones de entrenamiento.
Definimos el error total de entrenamiento como la suma
del error producido por cada uno de los n patrones:

Definimos una época como una presentación de todos


los patrones en el conjunto de entrenamiento. 25
El Perceptrón Multicapa
Protocolos de Entrenamiento Batch.

26
El Perceptrón Multicapa
Backpropagation como mapeo de características
La capa oculta a salida producen un discriminante
lineal.
El poder suministrado por una red neuronal multicapa
es atribuido a la transformación entre las neuronas
de entrada a las ocultas.
Con pesos iniciales pequeños, el valor de activación de
cada neurona oculta es pequeño, por lo que se usa
la región lineal de la función de activación.
Esta transformación mantiene a los patrones no
separables linealmente.
27
El Perceptrón Multicapa
A medida que el proceso de aprendizaje avanza, los
pesos de la capa de entrada a oculta se incrementan
en magnitud, se llega a las regiones no lineales de la
función de activación y el mapeo del espacio de
entrada al espacio de las neuronas ocultas es
distorsionado.
La frontera de decisión al final del aprendizaje (definida
por los pesos entrada a oculta) es una línea.
Así, el problema no-linealmente separable en la capa
de entrada se ha convertido en un problema
linealmente separable en la capa oculta.
28
El Perceptrón Multicapa
La figura siguiente representa un problema de dos
categorías y dos características y el resultado de
clasificación usando dos redes diferentes:
2-2-1 y 2-3-1.
En la red con 2 neuronas ocultas, las categorías son
separadas de alguna manera que no es libre de
error.
La red con 3 neuronas ocultas separa los patrones de
manera libre de error.

29
El Perceptrón Multicapa

30
El Perceptrón Multicapa
Técnicas prácticas para mejorar Backpropagation
Que propiedades debe tener la función de activación?
Debe ser no lineal. De lo contrario el poder
computacional de una red de 3 capas se pierde con
respecto al de una red de 2 capas.
Debe saturarse. Es decir tener un valor de salida
máximo y mínimo, así los pesos y los valores de
activación estarán limitados y el tiempo de
entrenamiento será finito.
Debe ser continua y suave (derivable). Es decir que
tanto f(⋅) como f’(⋅) estén definidas a través del rango
de sus argumentos. El hecho que f’(⋅) exista es
necesario para la regla de aprendizaje definida para
backpropagation. 31
El Perceptrón Multicapa
Es deseable que sea monótona. Se quiere que la
derivada tenga el mismo signo a través de todo el
rango de argumentos. Si f(⋅) no es monótona y tiene
múltiples máximos locales es probable que se
introduzcan nuevos extremos locales, no deseables,
en la superficie de error.
Es deseable que sea lineal para valores de activación
(net) pequeños. Esto habilita al sistema a
implementar un modelo lineal si es lo adecuado para
tener un error bajo.

Una clase de funciones que tiene todas estas


propiedades es la sigmoide, como la tangente
hiperbólica.
32
El Perceptrón Multicapa
Parámetros de la sigmoide
Es bueno mantener la función centrada en cero y
antisimétrica, es decir f(- net) = - f(net), para tener un
aprendizaje más rápido.
Funciones sigmoide de la forma siguiente trabajan bien.

Por conveniencia, se escoge a = 1.716 y b = 2/3.


Estos valores hacen que f ’(0) ≈ 1, que el rango lineal
sea –1 < net < +1 y que el extremo en la segunda
derivada ocurra cerca de net ≈ ±2 (ver figura).
33
El Perceptrón Multicapa
Sigmoide

34
El Perceptrón Multicapa
Número de Neuronas en la capa oculta
El número de neuronas en las capas de entrada y de
salida está definido por la dimensionalidad de los
vectores de entrada y el número de categorías.
El número de neuronas ocultas nH gobierna el poder
expresivo de la red y por lo tanto la complejidad de la
frontera de decisión.
Si los patrones están linealmente separados, se
necesitan pocas neuronas en la capa oculta, si están
muy mezclados serán necesarias más neuronas en
está capa.

35
El Perceptrón Multicapa
Error de entrenamiento y de prueba en un problema de
clasificación de dos categorías que difiere sólo en el
número de neuronas ocultas nH. Red: 2 – nH -1.

Regla: Para obtener el menor error se debe hacer que el


número total de pesos sea aproximadamente n/10.
En este caso n=180, los pesos en el rango de 17 a 21. 36
El Perceptrón Multicapa
Inicialización de los pesos
Se busca inicializar los valores de los pesos de manera
a tener un aprendizaje rápido y uniforme, es decir
que todos los pesos alcancen su valor final en más o
menos el mismo tiempo.
Como queremos pesos positivos y negativos,
escogemos los pesos aleatoriamente a partir de una
distribución uniforme –ŵ < w < + ŵ, para algún ŵ.
Si ŵ es muy pequeño, el valor de activación de la
neurona oculta será pequeño y estará en la parte
lineal.
Si ŵ es muy grande la neurona oculta puede saturarse
aún antes que el aprendizaje se inicie.
37
El Perceptrón Multicapa
Como netj ≈ ±1 son los límites de su rango lineal,
fijamos ŵ tal que el valor de activación de la neurona
oculta esté en el rango –1 < netj < +1.
Para una neurona oculta que acepta entradas de d
neuronas y usando una distribución uniforme para
inicializar los pesos, se tiene que estos deben ser
escogidos en el rango:

Los pesos entre la capa oculta y la capa de salida, con


nH neuronas en la capa oculta, son inicializados con
valores escogidos aletoriamente dentro del rango:

38
El Perceptrón Multicapa
Rata de aprendizaje
El valor de la rata de aprendizaje puede afectar la
calidad del resultado final del entrenamiento de la
red.
Si algunos pesos convergen mucho antes que otros
(aprendizaje no uniforme), entonces puede suceder
que la red no tenga el mismo desempeño a través de
todo el rango de entradas o para patrones en cada
categoría.
La figura siguiente muestra el efecto de diferentes ratas
de aprendizaje en la convergencia en una dimensión.

39
El Perceptrón Multicapa

40
El Perceptrón Multicapa
Para una función criterio que puede ser aproximada por
una función cuadrática, el valor óptimo de la rata de
aprendizaje es:

Para un aprendizaje rápido y uniforme, se debe calcular


la segunda derivada de la función criterio con
respecto a cada una de los pesos y definir la rata de
aprendizaje óptima para cada peso.
Cuando se usan funciones de activación tipo sigmoide,
con parámetros como los presentados, un valor
adecuado para la rata de aprendizaje es η ≈ 0.1.
La rata de activación debe disminuirse si la función
criterio diverge durante el aprendizaje, o debe
aumentarse si el aprendizaje es muy lento. 41

También podría gustarte