Está en la página 1de 29

REDES NEURONALES Y

LÓGICA DIFUSA
Sesión 09
Prof. Ing. Eduardo Steve Rodriguez Canales
Repaso

¿Qué son las redes perceptrón multicapa?


Repaso

Un perceptrón multicapa es una clase de


red neuronal artificial totalmente conectada.
El término MLP se usa por lo general para
referirse a redes compuestas por múltiples
capas de perceptrones.
Logro

Al finalizar esta sesión los estudiantes conocerán diversos conceptos


respecto a las redes neuronales.
Redes neuronales multicapa
Limitaciones del perceptrón: la función XOR

Anteriormente habíamos visto que usando el perceptrón de Rosenblatts era posible


crear compuertas lógicas como el caso de AND. Un caso en particular es imposible
usando este enfoque, la función XOR. ¿Por qué?
Función XOR mediante redes multicapas

Usando redes neuronales multicapas (MLP) es posible resolver este problema


(de manera no lineal). Imaginemos una red con una capa oculta y los siguientes
pesos.
Función XOR mediante redes multicapas

Primero hallamos las funciones de salida de cada capa


Función XOR mediante redes multicapas

Primero hallamos las funciones de salida de cada capa


Función XOR mediante redes multicapas

Ahora simplemente reemplazamos para cada caso


Función XOR mediante redes multicapas

Ahora simplemente reemplazamos para cada caso


Función XOR mediante redes multicapas

Ahora simplemente reemplazamos para cada caso


Función XOR mediante redes multicapas

Ahora simplemente reemplazamos para cada caso

Hemos resuelto el problema


Función XOR mediante redes multicapas: Implementación en Matlab (NN toolbox)
Función XOR mediante redes multicapas: Implementación en Matlab (NN toolbox)
Función XOR mediante redes multicapas: Implementación en Matlab (NN toolbox)
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

Se pueden realizar ciertas consideraciones de diseño desde un punto de vista


“empírico” o de “ingeniería” para mejorar el algoritmo de backpropagation.

1. Actualización estocástica vs lotes.- Como hemos mencionado anteriormente,


una actualización estocástica puede ser más efectiva y rápida. Esto más aún en
datos de entrenamientos altamente numerosos y/o redundantes.

2. Máximo contenido posible.- Usar el máximo y más variado contenido de datos


para el entrenamiento es importante. Para ello un método muy usado es
reordenar los ejemplos aleatoriamente en cada época de entrenamiento.
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

3. Función de activación.- La elección preferida es la función sigmoidea, que es una


función impar

Esta condición también es cumplida por la función hiperbólica, pero no por la


logística por ejemplo.

Con valores apropiados a= 1.7159 y b=2/3


Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

● La función hiperbólica tiene propiedades


útiles como:

● En el origen su pendiente es cercana a la


unidad

● Su segunda derivada alcanza su valor máximo en


v=1
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

4. Valores objetivo.-

Es importante que los valores objetivos (respuestas deseadas) estén elegidos dentro del rango de la
función de activación sigmoidea.

Específicamente la salida deseada dj de una neurona j en la salida de una red multicapa debe ser
compensada por algún valor ε desde el límite de la función sigmoidea.

De otra manera la red tenderá a llevar parámetros hacia el infinito lo que causará saturación y lentitud
en el proceso de aprendizaje.

Por ejemplo en la figura anterior para el límite +a y -a tenemos

para un a= 1.7159 tenemos un valor ε= 0.7159 considerando las respuestas deseadas de +-1.
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation
5. Normalizando las entradas.- Las
variables de entrada deben ser normalizadas,
tal que el valor medio (sobre la data de
entrenamiento) sea cercano a cero o
relativamente pequeño en comparación de su
desviación estándar. Además otras dos
consideraciones deben ser tomadas:

● Las variables de entrada deben ser no


correlacionadas.

● Las variables no correlacionadas deben


ser escaladas para que sus
covarianzas sean casi iguales para
asegurarnos que las diferentes sinapsis
de la red aprendan a velocidades
similares.
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation
6. Inicialización.- Elegir pesos y valores límites iniciales adecuados es esencial en
el entrenamiento de una red.

Valores muy altos de peso puede ocasionar saturaciones en la red, en cambio,


valores muy bajos pueden ocasionar que la actualización (y reducción de error) se
de sobre una superficie muy pequeña.

Como ejemplo consideraremos una red con bias cero.

Consideremos que las entradas tiene media cero y varianza unitaria


Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

Además consideraremos que las entradas están no correlacionadas

Los pesos sinápticos son considerados sobre una distribución con media cero
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

Ahora podemos escribir la media y variancia del campo inducido local como

Con m el número de conexiones sinápticas de una neurona


Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

Ahora podemos escribir la media y variancia del campo inducido local como
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

Con estos resultados podemos considerar elegir valores para los pesos sinápticos
con una media igual a cero y una varianza igual al recíproco del número de
conexiones sinápticas de la neurona.
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

7. Aprendizaje por pistas.

● El proceso de aprendizaje a partir de ejemplos puede generalizarse para


incluir el aprendizaje a partir de pistas, lo que se logra al permitir que la
información previa que podamos tener sobre la función f(·) se incluya en el
proceso de aprendizaje.

● Dicha información puede incluir propiedades de invariancia, simetrías o


cualquier otro conocimiento sobre la función f(·) que pueda usarse para
acelerar la búsqueda de su realización aproximada y, más importante, para
mejorar la calidad de la estimación final.
Método heurístico para mejorar el funcionamiento del algoritmo Backpropagation

8. Tasa de aprendizaje

● Idealmente todas las neuronas de una red deben tener la misma tasa de
aprendizaje.

● Pero usualmente los gradientes locales de las últimas capas son más
grandes que los de las primeras.

● Considerando esto, para compensar se puede asignar tasas de aprendizaje


más pequeñas en las últimas capas en comparación a las primeras.
Conclusiones

● Debido a su no linealidad, las redes neuronales multicapa pueden resolver


problemas que los perceptrones de Rosenblatts no (ej. puerta lógica XOR)

● Existen ciertas consideraciones heurísticas que pueden optimizar el


funcionamiento de una red perceptrón multicapa.

También podría gustarte