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
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
Recommended