utp 2015-2_ia_s4_red perceptron

54
Inteligencia Artificial (W0I9) Sesión: 4 MSc. Ing. José C. Benítez P. La RNA Perceptron

Upload: jcbpperu

Post on 28-Jul-2015

1.440 views

Category:

Documents


3 download

TRANSCRIPT

Inteligencia Artificial

(W0I9)

Sesión: 4

MSc. Ing. José C. Benítez P.

La RNA Perceptron

2

Sesión 4 y 5. Red Perceptron

� Presentación

� Introducción

� Ubicación en el contexto

� Representación

� Arquitectura

� Estructura

� Entrenamiento

� Algoritmo de aprendizaje

� Ejemplo de red Perceptron

� Algoritmo de entrenamiento

� Proceso de entrenamiento

� Limitaciones

� RNA de una capa y multicapa.

3

Presentación

� Nombre : Redes Perceptron

� Año : 1950

� Tipo : Predicción

� Diseñador : Rosenblatt

� Características : Primer modelo de ANN

4

Presentación

Monocapa (SLP)

MLP: 3 capas

MLP: 3 capas

5

Introducción

� En 1957, Frank Rosenblatt publicó el mayor trabajo de

investigación en computación neuronal realizado hasta

esa fecha.

� Su trabajo consistía en el desarrollo de un elemento

llamado "Perceptron".

� El Perceptron es un sistema clasificador de patrones

que puede identificar patrones geométricos y

abstractos.

� El primer Perceptron era capaz de aprender algo y era

robusto, de forma que su comportamiento variaba sólo

si resultaban dañados los componentes del sistema.

6

Introducción

� Además presentaba la característica de ser flexible y

comportarse correctamente después de que algunas

celdas fueran destruidas.

� El Perceptron fue originalmente diseñado para el

reconocimiento óptico de patrones.

� Una rejilla de 400 fotocélulas, correspondientes a

las neuronas de la retina sensibles a la luz, recibe

el estímulo óptico.

� Estas fotocélulas están conectadas a elementos

asociativos que recogen los impulsos eléctricos

emitidos desde las fotocélulas.

� Las conexiones entre los elementos asociativos y

las fotocélulas se realizan de forma aleatoria.

7

Introducción

� Si las células

presentan un valor

de entrada superior

a un umbral

predeterminado

entonces el

elemento asociativo

produce una salida.

8

Ubicación

Una primera clasificación de las RNA en función del patrón

de conexiones (topología) que presenta, define dos tipos

básicos de redes:

� Las redes de propagación

hacia delante

� Las redes recurrentes.

• Monocapa.

Ejemplos:

• Perceptron,

• Adaline.

• Multicapa.

Ejemplos:

• Perceptron multicapa

Ejemplos:

• Elman,

• Hopfield,

• máquina de Boltzmann.

9

Arquitectura

� La arquitectura del Perceptron, llamada mapeo de

patrones (pattern-mapping), aprende a clasificar

modelos mediante un aprendizaje supervisado.

� Los modelos que clasifica suelen ser generalmente

vectores con valores binarios (0,1) y las categorías de

la clasificación se expresan mediante vectores binarios.

� El Perceptron presenta dos capas y sólo una de ellas

presenta la capacidad de adaptar o modificar los pesos

de las conexiones.

� La arquitectura del Perceptron admite capas

adicionales pero éstas no disponen la capacidad de

modificar sus propias conexiones.

10

Arquitectura

� La Figura muestra la UP básica del Perceptron.

� Las entradas ai llegan por la parte izquierda, y cada conexión

con la neurona j tiene asignada un peso de valor wji.

� La unidad procesadora del Perceptron realiza la suma

ponderada de las entradas según la ecuación:

Sj = Σ ai wji

11

Arquitectura

� Un aspecto común en muchas de las ANN es la entrada

especial llamada bias representada en la parte superior

izquierda de la figura (entrada a0).

� Esta entrada siempre presenta un valor fijo(peso), +1 y

funciona como una masa en un circuito eléctrico donde no

varía de valor (se puede utilizar como un valor constante de

referencia).

� El Perceptron comprueba si la suma de las entradas

ponderadas es mayor o menor que un cierto valor umbral (0)

y genera la salida " xj" según la ecuación;

si Sj > 0 entonces xj = 1

si Sj <= 0 entonces xj = 0

12

Arquitectura� La salida xj es transmitida a lo

largo de la línea de salida y

constituye uno de los

componentes del vector de

salida de la red.

13

Arquitectura

� Las redes Perceptron de una capa, representadas en la Figura

tienen una capa de entrada y una capa de unidades

procesadoras que constituyen la capa de salida.

� A lo largo de los años 50 y 60 se desarrollaron muchos tipos de

topologías de redes basadas en la arquitectura del Perceptron.

14

Arquitectura

� Las topologías con tres o más capas se caracterizan porque la

regla de aprendizaje del perceptron sólo adapta los pesos o

valores de las conexiones de una capa.

� Una aplicación típica de un sistema de dos capas es la que

muestra la Figura donde la entrada es la imagen de la letra E y

la salida es la categorización de la entrada en dos clases.

15

Arquitectura

� La figura muestra una Perceptron de tres capas donde la regla

de aprendizaje del Perceptron adaptará los pesos o valores de

las conexiones de una capa.

16

Estructura

� La única neurona de salida del Perceptron realiza la suma

ponderada de las entradas, resta el umbral y pasa el

resultado a una función de transferencia de tipo escalón.

� La regla de decisión es responder +1 si el patrón presentado

pertenece a la clase A, o –1 si el patrón pertenece a la clase

B (Ver figura), la salida depende de la entrada neta (n =

suma de las entradas pi ponderadas).

17

Estructura

� La red tipo Perceptron emplea principalmente dos funciones

de transferencia, hardlim con salidas 1, 0 o hardlims con

salidas 1, -1.

� Su uso depende del valor de salida que se espera para la red,

es decir si la salida de la red es unipolar o bipolar.

� Sin embargo la función hardlims es preferida sobre la hardlim,

ya que el tener un cero multiplicando algunas de los valores

resultantes del producto de las entradas por el vector de

pesos, ocasiona que estos no se actualicen y que el aprendizaje

sea más lento.

18

Estructura

� Una técnica utilizada para analizar el comportamiento de redes

como el Perceptron es presentar en un mapa las regiones de

decisión creadas en el espacio multidimensional de entradas de

la red, en estas regiones se visualiza qué patrones pertenecen a

una clase y cuáles a otra.

� El Perceptron separa las regiones por un hiperplano cuya

ecuación queda determinada por los pesos de las conexiones y

el valor umbral de la función de activación de la neurona, en

este caso los valores de los pesos pueden fijarse o adaptarse

empleando diferentes algoritmos de entrenamiento.

19

Estructura

� Para ilustrar el proceso

computacional del Perceptron

consideremos la matriz de pesos

en forma general.

� Los pesos para una neurona están

representados por un vector

compuesto de los elementos de la

i-ésima fila de W

� De esta forma y empleando la

función de transferencia hardlim

la salida de la neurona i de la capa

de salida es:

20

Estructura

• El Perceptron, al constar de una sola capa de entrada y

otra de salida con una única neurona, tiene una

capacidad de representación bastante limitada.

• El Perceptron, sólo es capaz de discriminar patrones

muy sencillos, patrones linealmente separables.

• El caso más conocido es la imposibilidad del Perceptron

de representar la función OR EXCLUSIVA

21

Entrenamiento

� El entrenamiento del Perceptron consiste en presentar a

la red todos los elementos del conjunto de

entrenamiento constituido por parejas de vectores

(entrada y salida deseada) de forma secuencial.

� El objetivo del entrenamiento es llegar a un conjunto de

valores de los pesos de la red de forma que responda

correctamente a todo el conjunto de entrenamiento.

� Después del entrenamiento los pesos no son

modificados y la red está lista de responder

adecuadamente a las entradas que se le presenten.

� La adaptación de los pesos se puede realizar mediante

diferentes reglas o algoritmos.

22

Entrenamiento

� Una de las reglas más simples de aprendizaje del Perceptron

se indica en la ecuación :

wjinuevo = wjiviejo + C (dj - yj) xi

Siendo:

dj el valor de la salida deseada,

yj el valor de salida producida por la unidad procesadora

xi el valor de la entrada i

C el coeficiente de aprendizaje.

� En todo proceso de entrenamiento el comportamiento de la

red inicialmente va mejorando hasta que llega a un punto

en el que se estabiliza y se dice que la red ha convergido.

23

Entrenamiento

� Esta convergencia tiene dos posibilidades:

� Consiste en que la red haya aprendido

correctamente el conjunto de entrenamiento o

� Se trata de que la red no ha aprendido todas las

respuestas correctas.

24

Algoritmo de Aprendizaje

� El Perceptron es un tipo de red de aprendizaje supervisado,

es decir necesita conocer los valores esperados para cada

una de las entradas presentadas; su comportamiento está

definido por pares de esta forma:

� Cuando la entrada p es aplicado a la red, la salida de la red

es comparada con el valor esperado t, y la salida de la red

esta determinada por:

� Los valores de los pesos determinan el funcionamiento de

la red, estos valores se pueden fijar o adoptar utilizando

diferentes algoritmos de entrenamiento de la red.

25

Ejemplo de red Perceptron

� Como ejemplo de funcionamiento de una red neuronal tipo

Perceptron, se solucionará el problema de la función OR.

� Para esta función la red debe ser capaz de devolver a partir de

los cuatro patrones de entrada, a qué clase pertenece cada

uno; es decir para el patrón 00 debe devolver la clase cero y

para los restantes la clase 1, como se indica en la grafica:

26

Ejemplo de red Perceptron

� Para este caso las entradas a la red serán

valores binarios, la salida de la red esta

determinada por:

� Si w1p1+w2p2 es mayor que 0 la salida será 1, en

caso contrario la salida será 0 (función escalón

unitario). Como puede verse la sumatoria que

se le pasa a cada parámetro (entrada total) a la

función hardlim (función de salida o de

transferencia) es la expresión matemática de

una recta, donde w1 y w2 son variables y p1 y p2

son constantes.

27

Ejemplo de red Perceptron

� En la etapa de aprendizaje se irán variando los valores

de los pesos obteniendo distintas rectas, lo que se

pretende al modificar los pesos de las conexiones es

encontrar una recta que divida el plano en dos espacios

de las dos clases de valores de entrada..

28

Ejemplo de red Perceptron

� Concretamente para la función OR se deben

separar los valores 01, 10, y 11 del valor 00; la

red Perceptron que realiza esta tarea y la

gráfica característica pueden observarse en la

figura.

� Puede verse como las posibles rectas pasarán

por el origen de coordenadas, por lo que la

entrada 00 quedará sobre la propia recta.

29

Ejemplo de red Perceptron

� Se aplicará este método para resolver también el

problema de la función AND, mostrado en la figura:

� Analizando el comportamiento de la AND se llega a la

conclusión de que es imposible que una recta que pase

por el origen, separe los valores 00, 01 y 10 del valor 11,

por lo que se hace necesario introducir un término

independiente llamado ganancia (b) para realizar esta

tarea (por lo general b=1 y se ajusta durante la etapa de

aprendizaje de la red); b permite desplazar la recta del

origen de coordenadas dando una solución para el caso

de la función AND y ampliando el número de soluciones

de la función OR.

30

Ejemplo de red Perceptron

� Ahora la salida de la neurona esta dada por:

� Las soluciones obtenidas para las funciones

AND y OR se observan en la figura:

En el proceso de entrenamiento el

Perceptron se presenta a un

conjunto de patrones de entrada y

los pesos de la red son ajustados de

forma que al final de entrenamiento

se obtengan las salidas esperadas

para cada unos de esos patrones de

entrada.

31

Algoritmo de entrenamiento

El algoritmo de entrenamiento del Perceptron:

1. Se inicializa la matriz de pesos y el valor de la ganancia, por

lo general se asignan valores aleatorios a cada uno de los

pesos wi y al valor b.

2. Se presenta el primer patrón a la red, junto con la salida

esperada en forma de pares entrada/salida

{p1, d1}, {p2, d2}, {p3, d3} …

3. Se calcula la salida de la red por medio de:

donde f puede ser la función hardlim o hardlims

32

Algoritmo de entrenamiento

4. Cuando la red no retorna la salida correcta, es necesario

alterar el valor de los pesos, tratando de llevarlo hasta p y

así aumentar las posibilidades de que la clasificación sea

correcta, una posibilidad es adicionar p a w haciendo que el

vector w apunte en la dirección de p, y de esta forma

después de repetidas presentaciones de p a la red, w se

aproximará asintóticamente a p; este es el procedimiento

adoptado para la regla de aprendizaje del Perceptron.

33

Proceso de entrenamiento

� El proceso de aprendizaje del Perceptron puede definirse

en tres reglas, las cuales cubren la totalidad de

combinaciones de salidas y sus correspondientes valores

esperados.

� Estas reglas utilizando la función de transferencia hardlim::

� Las tres condiciones anteriores pueden ser escritas en

forma compacta y generalizarse para la utilización de las

funciones de transferencia hardlim o hardlims,

generalización que es posible introduciendo el error en las

reglas de aprendizaje del Perceptron: e = t - a

34

Proceso de entrenamiento

� Por lo tanto:

� En una sola expresión la ley puede resumirse así:

� Y extendiendo la ley a las ganancias

35

Proceso de entrenamiento

� Clasificar los patrones:

x = [2 0 -2 0 ; 1 -1 1 2] s = [1 1 -1 -1]

� En este caso las salidas toman valores

bipolares de 1 o –1, por lo tanto se utilizará

hardlims. Según la dimensiones de los

patrones de entrenamiento la red debe

contener dos entradas y una salida.

� Perceptron que resolverá el problema de

clasificación de patrones descrito.

36

Proceso de entrenamiento

� Para decidir si una Perceptron puede aplicarse al problema, se

debe comprobar si el problema es linealmente separable, esto

puede determinarse gráficamente de la figura, en donde se

observa que existe un gran número de líneas rectas que pueden

separar los patrones de una categoría de los patrones de la otra.

37

Proceso de entrenamiento

� El siguiente paso es asumir arbitrariamente los valores

para los pesos y ganancias iniciales de entrada a la red; el

proceso terminará cuando se hayan obtenido los pesos y

ganancias finales que permitan a la red clasificar

correctamente todos los patrones presentados.

� Los valores iniciales asignados aleatoriamente a los

parámetros de la red son:

W=[-0.7 0.2]

38

Proceso de entrenamiento

Iteración 0

� La red clasificará los PE según la

característica de decisión mostrada en la

figura, la cual depende de los valores de

los pesos y ganancias iniciales.

� Interceptos con los ejes:

� La característica de decisión es ortogonal

al vector de pesos W. La red clasifica

incorrectamente los patrones; en esta

iteración.

39

Proceso de entrenamiento

Iteración 1

� De la iteración 0 p2 estaba mal

clasificado, la actualización de pesos

permite que este patrón sea clasificado

correctamente

40

Proceso de entrenamiento

� La iteración 1 lleva a la característica

de decisión de la figura.

� Interceptos con los ejes se muestra

en la figura.

� Como se observa el patrón de

entrenamiento p1 ha sido clasificado

correctamente, y casualmente los

patrones p2 y p3 fueron

correctamente ubicados, pues aun

no han sido presentados a la red.

41

Proceso de entrenamiento

Iteración 2

� Se presenta p2 a la red, y es clasificado correctamente,

como se observo gráficamente

� Este patrón ha sido clasificado correctamente y por lo tanto no

hay actualización del set de entrenamiento

42

Proceso de entrenamiento

Iteración 3

� Se presenta p3 a la red y es clasificado correctamente,

como se observó gráficamente

� Como se esperaba, no hubo error en la clasificación de este patrón,

y esto lleva a que no haya actualización de los pesos de la red

43

Proceso de entrenamiento

Iteración 4

� Se presenta a la red p4

� La red ha clasificado incorrectamente este patrón y por lo tanto

deben modificarse pesos y ganancias

44

Proceso de entrenamiento

� En esta iteración la red se comportara de

acuerdo a la característica de decisión de la

figura.

� Interceptos con los ejes:

� Se observa que la red ha clasificado correctamente los patrones

de entrenamiento, después de entrenada la red con los pesos y

ganancias finales, cualquier otro valor de entrada será

clasificado según la característica de decisión mostrada.

45

Proceso de entrenamiento

� En este caso los patrones de entrada se

encuentran en dos dimensiones y por lo tanto

es fácil determinar gráficamente cuando han

sido clasificados correctamente.

� En el caso que los PE se encuentren en tres

dimensiones esta visualización se dificulta y

en el caso de que los patrones sean de orden

superior la visualización resulta imposible;

para estos casos se debe comprobar

matemáticamente que el error

correspondiente a cada patrón de

entrenamiento para los pesos finales es nulo.

46

Limitaciones

� El mayor inconveniente del Perceptron, a pesar del

éxito que ha tenido en muchas aplicaciones de

clasificación de patrones es la imposibilidad de adaptar

los pesos de todas las capas.

� En los años en los que se realizó el Perceptron, los

investigadores no fueron capaces de diseñar un

algoritmo que propagara las correcciones de los pesos a

través de redes multicapa.

� La principal limitación funcional del Perceptron es que

una unidad de salida sólo puede clasificar patrones

linealmente separables.

47

Limitaciones

� La Figura ilustra el concepto

general de Separabilidad Lineal,

es decir, las clases de patrones

que pueden separarse en dos

clases mediante una línea.

� Este concepto se puede extender

a tres o más dimensiones

simplemente separando dos

clases mediante planos e

hiperplanos.

48

Limitaciones

� Minsky y Papert centraron las críticas al Perceptron en su

publicación Perceptrons (1969).

� El libro incluía opiniones negativas sobre la posibilidad de

extender el Perceptron en una herramienta útil en la

computación neuronal; por ejemplo para pequeños

problemas de clasificación de patrones como el OR

exclusivo, el Perceptron es incapaz de resolverlo con éxito.

� Afortunadamente para la computación neuronal surgieron

nuevas reglas de aprendizaje para redes multicapa y nuevas

arquitecturas, entre ellas la más popular Backpropagation,

que resolvieron entre otros los problemas de clasificación de

patrones no separables linealmente.

49

RNA de una capa y multicapa

� La capacidad de cálculo y potencia de la computación neuronal

proviene de las múltiples conexiones de las neuronas artificiales

que constituyen las ANN.

� La ANN más simple es un grupo de neuronas ordenadas en una

capa como se muestra en la Figura.

Los nodos circulares sólo

son distribuidores de las

entradas y no se consideran

constituyentes de una capa.

50

RNA de una capa y multicapa

� En la práctica existen conexiones eliminadas e incluso

conexiones entre las salidas y entradas de las neuronas de una

capa. No obstante la figura muestra una conectividad total

por razones de generalización.

� Normalmente las redes más complejas y más grandes ofrecen

mejores prestaciones en el cálculo computacional que las

redes simples.

� Las configuraciones de las redes construidas presentan

aspectos muy diferentes pero tienen un aspecto común, el

ordenamiento de las neuronas en capas o niveles imitando la

estructura de capas que presenta el cerebro en algunas

partes.

51

RNA de una capa y multicapa

� Las redes multicapa se forman con un grupo de capas simples en

cascada. La salida de una capa es la entrada de la siguiente capa.

� Se ha demostrado que las redes multicapa presentan cualidades

y aspectos por encima de las redes de una capa simple.

� La Figura muestra una red de dos capas.

52

RNA de una capa y multicapa

� Conviene destacar que la mejora de las redes multicapa estriba

en la función de activación no lineal entre capas, pudiéndose

llegar al caso de diseñar una red de una capa simple equivalente

a una red multicapa si no se utiliza la función no lineal de

activación entre capas.

Preguntas

Al término de la experiencia de aprendizaje el alumno debe ser

capaz de responder las siguientes preguntas:

1. ¿Cuáles son las características de la red Perceptron?

2. Describir el algoritmo de entrenamiento de la red Perceptron.

3. Diseñar un ejercicio utilizando la red Perceptron monocapa.

4. Diseñar un ejercicio utilizando la red Perceptron multicapa.

5. Listar diez aplicaciones de las redes Perceptron.

53

54

Sesión 4. La red Perceptron

Inteligencia Artificial

http://utpiayse.blogspot.com