a prendi za je percept ron

46
GPV ULA Redes Neuronales Artificiales, 2004 Historia: En 1943, W. McCulloch y W. Pitts produjeron una de las primeras neuronas artificiales. La característica principal de ese modelo es que comparaba una suma pesada de sus entradas con un umbral para obtener la salida. Regla de Aprendizaje del Perceptrón Objetivo: Entrenar perceptrones para que aprendan a resolver problemas de clasificación. Problema: Determinar la matriz de pesos y el vector de sesgos para las redes perceptrónicas con muchas entradas, donde es difícil obtener gráficamente las fronteras de decisión.

Upload: gerson-camacho-c

Post on 25-Sep-2015

229 views

Category:

Documents


1 download

DESCRIPTION

Redes Neuronales

TRANSCRIPT

Presentación de PowerPointRedes Neuronales Artificiales, 2004
Historia: En 1943, W. McCulloch y W. Pitts produjeron una de las primeras neuronas artificiales. La característica principal de ese modelo es que comparaba una suma pesada de sus entradas con un umbral para obtener la salida.
Regla de Aprendizaje del Perceptrón
Objetivo: Entrenar perceptrones para que aprendan a resolver problemas de clasificación.
Problema: Determinar la matriz de pesos y el vector de sesgos para las redes perceptrónicas con muchas entradas, donde es difícil obtener gráficamente las fronteras de decisión.
Redes Neuronales Artificiales, 2004
Problema: A diferencia de las neuronas biológicas, los parámetros se debían diseñar, ya que no habían métodos de entrenamiento.
Regla de Aprendizaje del Perceptrón
Cuando la suma es mayor o igual al umbral, la salida es 1 y 0 en caso contrario. Ellos pensaron que una red con este tipo de neuronas podría calcular cualquier función aritmética o lógica.
Finalizando los 1950, F. Rosenblatt y sus colaboradores desarrollaron una clase de red neural que llamaron perceptrónes. Las neuronas de esas redes eran similares a las de McCulloch y Pitts.
Redes Neuronales Artificiales, 2004
Contribución: Rosenblatt introdujo una regla de aprendizaje para entrenar las redes perceptrónicas para resolver problemas de reconocimiento de patrones. El probó que la regla de aprendizaje siempre converge a los pesos correctos, si esos pesos existen, es decir, si el problema tiene solución. Es un aprendizaje simple y automático donde “la red aprende de sus errores”.
El perceptrón aprende incluso cuando se inicializan sus pesos y sesgos con valores aleatorios.
“Desafortunadamente el perceptrón es limitado”. La limitación fue publicada en el libro Perceptrones de Minsky y Papert. Donde se demostraba que una red de perceptrones era incapaz de implementar ciertas funciones elementales
Regla de Aprendizaje del Perceptrón
Redes Neuronales Artificiales, 2004
Problema Resuelto: Las limitaciones fueron superadas en la década de 1980 con redes perceptrónicas multicapas y nuevas reglas de aprendizaje.
Posteriormente: Las redes perceptrónicas jugaron un rol importante. Hay muchas clases de problemas que pueden resolver rápida y eficientemente. Entender las operaciones de los perceptrones es la base para entender redes más complejas.
Regla de Aprendizaje del Perceptrón
Redes Neuronales Artificiales, 2004
 Aprendizaje supervisado:
La red dispone de un conjunto de patrones ejemplos (conjunto de entrenamiento) a partir de los cuales aprende: {p1,t1}, {p2,t2}, ....,{pQ,tQ}
Reglas de aprendizaje: procedimientos para modificar los pesos y los sesgos de las redes. También se habla de etapa de entrenamiento. El propósito del aprendizaje es entrenar la red para que realice alguna tarea.
Hay muchos tipos de reglas de aprendizajes neurales que se clasifican en tres categorías: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por reforzamiento.
Reglas de Aprendizaje de las RNA
Redes Neuronales Artificiales, 2004
La regla de aprendizaje se usa para ajustar los pesos y los sesgos con el fin de mover las salidas de la red tan cerca como sea posible de las salidas pre-establecidas.
Pq es una entrada a la red y tq es la salida correcta para esa entrada. A medida que las entradas se aplican a la red, las salidas obtenidas se comparan con las salidas pre-establecidas.
Reglas de Aprendizaje de las RNA
Redes Neuronales Artificiales, 2004
Aprendizaje no supervisado:
Los pesos y los sesgos se modifican en respuesta a las entradas solamente. No hay salidas pre-establecidas para las entradas.
 Aprendizaje reforzado:
Es similar al supervisado pero en lugar de poseer la salida correcta para cada entrada, el algoritmo solamente da un valor aproximado. Ese score es una medida de la capacidad de la red de reconocer secuencias de entradas. Este tipo de aprendizaje es menos común que el supervisado y aparece en aplicaciones de sistemas de control.
Reglas de Aprendizaje de las RNA
Redes Neuronales Artificiales, 2004
Las redes aprenden a categorizar los patrones de entrada en un número finito de clases. Son especialmente útiles en aplicaciones donde se realiza cuantificación vectorial.
Aunque parece poco práctico entrenar una red si no sabemos qué debe obtener como salida, muchos de estos algoritmos realizan algún tipo de operación de agrupamiento.
 La regla de aprendizaje del perceptrón es del tipo supervisado.
Reglas de Aprendizaje de las RNA
Redes Neuronales Artificiales, 2004
Arquitectura del perceptrón
 
ai = hardlim(ni) = hardlim(iwTp + bi)
un vector compuesto por los elementos de la i-ésima fila de W.
Redes de perceptrones
Redes Neuronales Artificiales, 2004
Cada neurona en la red divide el espacio de entradas en dos regiones. Hay que averiguar las fronteras entre esas regiones.
Si el producto interno de la i-ésima fila de la matriz de pesos con el vector de entrada es mayor o igual a –bi, la salida es 1, de lo contrario es 0.
Redes de perceptrones
Perceptrón único de dos entradas: R = 2 y S = 1
 a = hardlim(n) = hardlim(Wp+b)
Redes Neuronales Artificiales, 2004
Esto define una recta en el espacio de entradas, donde a un lado de la recta, la red sacará un 0 y del otro lado y sobre ésta sacará un 1.
La frontera de decisión la determinan los vectores de entrada para los cuales la entrada de red n es cero:
 w1,1p1 + w1,2p2 + b = 0
Si asignamos los siguientes valores a los pesos y al sesgo:
w1,1 = 1, w1,2 = 1, b = -1 
la frontera de decisión será entonces: p1 + p2 - 1 = 0
Redes de perceptrones
Redes Neuronales Artificiales, 2004
Para dibujar la recta, buscamos los puntos donde intersecta a los ejes p1 y p2.
Para encontrar el punto de intersección con p2, hacemos p1 = 0, luego p2 = 1 y la intersección con p1, será donde p2 = 0, es decir, en p1 = 1.
Redes de perceptrones
La frontera de decisión se observa en la figura.
Para probar a cuál lado de la frontera corresponde la salida de un 1, tomemos un punto de entrada p = [2 0]T, con lo que la salida de la red será:
Redes de perceptrones
Redes de perceptrones
Por lo tanto la salida de la red será 1 para la región de arriba y a la derecha de la frontera de decisión.
También podemos encontrar la frontera de decisión en forma gráfica.
Notemos que la frontera es siempre ortogonal a 1w y que está definida por:
1wTp+b = 0
Redes Neuronales Artificiales, 2004
Para todos los puntos sobre la frontera, el producto interno del vector de entrada con el vector de pesos es el mismo. Eso significa que los vectores de entrada (sobre la frontera) tendrán todos la misma proyección sobre el vector de pesos, es decir, ellos están sobre una recta ortogonal al vector de pesos.
Redes de perceptrones
Además, cualquier vector en la región sobre y a la derecha de la frontera tendrá un producto interno mayor que –b y el resto tendrá un producto interno menor que –b. El vector de pesos 1w apuntará siempre a la región donde la neurona saca un 1 (averiguar si siempre el vector de pesos apunta a esa región en todas las redes). 
Redes Neuronales Artificiales, 2004
Ejemplo: implementación de la función lógica AND con una red perceptrónica. Los pares de entrada/salida para esa compuerta lógica son:
Redes de perceptrones
Redes Neuronales Artificiales, 2004
El primer paso del diseño es seleccionar una frontera de decisión. Queremos una recta que separe las salidas 1 de las salidas 0. Hay un número infinito de soluciones a este problemas. Parece razonable la siguiente, cuando cada punto es un par:
Redes de perceptrones
Una sería 1w = [2 2]T
El siguiente paso es escoger un vector de pesos ortogonal a la frontera de decisión. El vector de pesos puede ser de cualquier longitud, así que hay infinitas posibilidades.
Finalmente necesitamos un vector de sesgo b. Podemos escoger un punto sobre la frontera de decisión que satisfaga 1wTp+b = 0.
Redes de perceptrones
Redes de perceptrones
a = hardlim(n) = hardlim(1wTp2+b) = hardlim = [2 2] 0 - 3 = hardlim(-1) = 0
1
Si se escoge p = [1.5 0]T, entonces 1wTp+b = [2 2] 1.5 + b = 3 + b = 0,
luego b = -3 . 0
Ahora podemos probar la red con cualquier par de entrada/salida. Si aplicamos la entrada p2 = [0 1]T la salida será:
la cual es la salida t2 = 0.
Hay que experimentar con diferentes fronteras de decisión.
Redes Neuronales Artificiales, 2004
Un perceptrón de múltiples neuronas puede clasificar entradas en muchas categorías, cada categoría está representada por un vector de salida diferente. Dado que cada elemento del vector de salida puede ser 0 ó 1, hay 2S categorías posibles.
Red perceptrónica de múltiples neuronas: (una frontera de decisión para cada neurona). La frontera de decisión para la neurona i estará definida por: iwTp+bi = 0.
Un perceptrón de una neurona puede clasificar los vectores de entradas en dos categorías dado que su salida puede ser 0 ó 1.
Redes de perceptrones
Redes Neuronales Artificiales, 2004
Problema de prueba. Para desarrollar la intuición de cómo trabaja la regla de aprendizaje tenemos un ejemplo.
Regla de aprendizaje del perceptrón: es un ejemplo del aprendizaje supervisado, en el cual la regla de aprendizaje requiere un conjunto de ejemplos del comportamiento esperado de la red: {p1,t1}, {p2,t2}, ....,{pQ,tQ}.
Redes de perceptrones
Redes Neuronales Artificiales, 2004
pi ti
Supongamos la red sin sesgo, es decir, la frontera de decisión pasa por el origen.
 a = harlim(Wp)
Debemos encontrar una frontera que separe los vectores p2 y p3 del vector p1 (hay un número infinito de posibilidades, un número infinito de vectores de pesos).
Deseamos una regla de aprendizaje que encuentre un vector de pesos que apunte en una de esas direcciones (no importa su longitud, sólo su dirección).
1
2
1
-1
2
0
0
-1
0
 
1wT = [1.0 –0.8]
Se le presentan los vectores de entrada a la red. Comenzamos con p1:
1w
1
2
3
Redes Neuronales Artificiales, 2004
 
 
Se requiere alterar el vector de pesos que apunte hacia el vector p1 para que en el futuro tenga una clasificación correcta.
a = harlim(1WT p1) =hardlim [1.0 –0.8] 1 = hardlim(-0.6) = 0
2
Redes Neuronales Artificiales, 2004
Un enfoque sería hacer al vector de pesos igual a p1 pero desafortunadamente esta regla no encontraría una solución, ya que es imposible que el vector de pesos sea ortogonal a una frontera que separe correctamente todos los vectores de entrada de una misma clase (el vector de pesos oscilaría sin encontrar una solución).
Redes Neuronales Artificiales, 2004
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aplicando esta regla a nuestro problema, el nuevo vector de pesos será:
1w
1
2
3
1w
1
2
3
Ahora nos movemos sobre los próximos vectores de entrada y cambiamos los pesos repetidamente, hasta que las entradas sean clasificadas correctamente.
 Esta operación se ilustra a continuación:
1wnuevo = 1Wviejo + p1 = + =
-0.8 2 1.2
Trabajando con p2 encontramos como salida de la red:
El vector de la clase 0 fue clasificado como clase 1. Como nos gustaría mover el vector de pesos lejos de esta entrada se puede modificar la regla a:
 
 
 
a = harlim(1WT p3) = hardlim [3.0 –0.8] 0 = hardlim(0.8) = 1
El vector de pesos actual produce una frontera de decisión que no puede clasificar a p3. Aplicamos la regla:
1w
1
2
3
 
 
 
 
 
 
 
 
 
 
 
El diagrama muestra que la red perceptrón ha aprendido a clasificar los tres vectores de forma apropiada. Si presentamos cualquiera de los tres vectores de entrada a la neurona, ésta obtendrá la clase correcta para ese vector.
1wnuevo = 1Wviejo – p3 = - =
-0.8 -1 0.2
3.0 0 3
 
 
 
Si t = 1 y a = 0 entonces 1wnuevo = 1Wviejo + p
Si t = 0 y a = 1 entonces 1wnuevo = 1Wviejo - p
Si t = a entonces 1wnuevo = 1Wviejo
Redes Neuronales Artificiales, 2004
Regla de aprendizaje unificada:
Es una expresión compacta para las tres reglas vistas. Se define una nueva variable como el error del perceptrón e:
e = t-a
Si e = 0 entonces 1wnuevo = 1Wviejo
Como el signo de p es el mismo de e y como en la tercera regla, la ausencia de p corresponde a un e = 0, se pueden unificar las tres reglas en:
1wnuevo = 1Wviejo + ep = 1Wviejo + (t-a)p
Redes Neuronales Artificiales, 2004
 
 
 
iwnuevo = iWviejo + eip y para modificar el i-ésimo elemento del vector de sesgo es: ibnuevo = ibviejo + ei
Redes Neuronales Artificiales, 2004
En general, la regla del perceptrón se escribe en forma matricial como:
wnuevo = Wviejo + epT
bnuevo = bviejo + e
Consideremos de nuevo el problema de reconocer manzanas y naranjas:
pi ti
(como se está usando hardlim en lugar de hardlims se está usando salida 0 en lugar de –1 para las naranjas).
 
 
El primer paso es aplicar el primer vector p1 de entrada a la red:
1
-1
-1
0
1
1
-1
1
 
a = harlim(W p2 + b) = hardlim [-0.5 0 0.5] 1 - 0.5 = hardlim(-1.5) = 0
-1
 
a = harlim(W p1 + b) = hardlim [0.5 –1 –0.5] -1 + 0.5 = hardlim(2.5) = 1
-1
1
e = t1 – a = 0 – 1 = -1
wnuevo = Wviejo + epT = [0.5 –1 –0.5] + (-1)[1 –1 -1] = [-0.5 0 0.5]
bnuevo = bviejo + e = 0.5 –1 = -0.5
 
 
1
e = t2 – a = 1 – 0 = 1
wnuevo = Wviejo + epT = [-0.5 0 0.5] + (1)[1 1 -1] = [0.5 1 -0.5]
bnuevo = bviejo + e = -0.5 + 1 = 0.5
 
Redes Neuronales Artificiales, 2004
 
a = harlim(W p1 + b) = hardlim [0.5 1 –0.5] -1 + 0.5 = hardlim(0.5) = 1
-1
1
e = t1 – a = 0 – 1 = -1
wnuevo = Wviejo + epT = [0.5 1 –0.5] + (-1)[1 –1 -1] = [-0.5 2 0.5]
bnuevo = bviejo + e = 0.5 –1 = -0.5
 
 
 
PRUEBA DE CONVERGENCIA
 
 
La salida del perceptrón se obtiene como: a = harlim(1WT p + b)
los ejemplos del comportamiento adecuado son: {p1,t1}, {p2,t2}, ....,{pQ,tQ}.
Cada salida tq es un 0 ó un 1.
 
b
1
pq
La entrada de red n = 1wTp + b = xTzq
La regla de aprendizaje para el perceptrón de una neurona se puede escribir como:
xnuevo = xviejo + ez
 
 
 
{z1, z2, ..., zQ, -z1, -z2, ... , -zQ}
 
 
 
 
 
Supongamos que el vector de pesos se inicializa con cero: x(0) = 0
Después de k iteraciones tenemos x(k) = z,(0) + z,(1) + ... + z,(k-1)
 
 
 
Suponiendo x*Tz,(i) > entonces x*Tx(k) > k (los pesos en la dirección de las entradas)
Redes Neuronales Artificiales, 2004
ahora queremos un límite superior para la longitud del vector de pesos: comenzamos por buscar el cambio en la longitud en la iteración k:
||x(k)||2 = xT(k)x(k)
= xT(k-1)x(k-1) + 2 xT(k-1) z,(k-1) + z,T(k-1) z,(k-1)
 
De la desigualdad Cauchy-Schwartz (x*Tx(k))2 || x* ||2 ||x(k)||2
Donde ||x||2 = xTx
Combinando las dos penúltimas ecuaciones, se puede poner un límite inferior al cuadrado de la longitud del vector de pesos en la iteración k:
||x(k)||2 >
Repitiendo el proceso para ||x(k-1)||2 , ||x(k-2)||2 , ... se obtiene
||x(k)||2 ||z,(0)||2 + ||z,(1)||2 + .... + ||z,(k-1)||2
 
si M = max(||z,(i)||2), este límite superior se puede simplificar a ||x(k)||2 kM.
 
Redes Neuronales Artificiales, 2004
 
1.- Existe una solución tal que se satisfaga x*Tz,(i) > .
 
NOTA: Debido a la generalidad de la prueba hay muchas variantes de la regla de aprendizaje del perceptrón.
Redes Neuronales Artificiales, 2004
 
Un perceptrón de una neurona divide el espacio de entrada en dos regiones. La frontera entre las regiones está definida por la ecuación 1wT+b = 0.
La frontera es líneal (Hiperplano). Los perceptrones se pueden utilizar para clasificar vectores de entrada que se puedan separar por una frontera líneal.
Desafortunadamente muchos problemas no son linealmente separables. Un ejemplo clásico es la función lógica XOR.
 
Pi ti
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aparecen los perceptrones multicapas, las cuales pueden resolver problemas de clasificación arbitrarios (aparece el backpropagtion para entrenar tales redes).
£