Logo Studenta

IA17-PR Red FF-BP

¡Estudia con miles de materiales!

Vista previa del material en texto

FACULTAD DE INGENIERÍA - UNJU - 2017 
CÁTEDRA DE INTELIGENCIA ARTIFICIAL 
PROBLEMAS RESUELTOS 
 
Red feedforward backpropagation. Creación y entrenamiento de una red FF-BP para reconoci-
miento de un patrón dentro de un conjunto de entrenamiento ambigüo. 
 
Se trata de un grupo de secuencias de fallas de un proceso genérico, que la red debe identificar y separar. Se con-
sidera que se trata de secuencias de entrenamiento con una complejidad especial, debido a que partes de las se-
cuencias coinciden, Falla 1 y Falla 2 al principio; Falla 1 y Falla 3 al final. 
 
 
 Se describe un problema clásico de reconocimiento de patrones dentro del campo de detección de fallas, 
aplicado a equipos o procesos. En este caso, se presenta una secuencia de 4 patrones que podrían corresponder a 
4 tipos de fallas diferentes que pueden ocurrir en un equipo o proceso. Estos patrones, configurados como secuen-
cias discretas de 13 muestras cada uno, tienen la particularidad de contener segmentos coincidentes y correspon-
der a diferentes tipos de fallas, como se muestra en la figura anterior. Como conjunto de entrenamiento se utilizan 
las 4 secuencias, configuradas como un vector unidimensional (figura siguientes). En forma superpuesta, trazado 
como gráfica stem (los segmentos verticales con una circunferencia en la punta), se presenta la salida deseada 
para cada falla; es decir, la RNA debe reconocer como falla de especialización la secuencia 1 con un valor de 
salida +1 (en la figura el valor se ha escalado a +5 para que sea visible), y como secuencia de NO FALLA, a las 
restantes secuencias con salida 0. 
Interprétese en este proceso, que se intenta entrenar a la RNA como una red especializada en reconocer 
exclusivamente la Falla 1 (con salida +1) y desconocer las otras secuencias (con salida 0). 
 
 
Secuencia de entrenamiento reconfigurada unidimensionalmente 
y respuesta deseada. 
IA 2017 - PR - # 2 
 El objetivo es crear una red de tipo feedforward/back propagation (FF-BP), para intentar reconocer cada 
secuencia aisladamente. Se propone una red FF-BP, de tres capas, con 5 unidades en la capa oculta. Esta canti-
dad se determina en este caso en forma directa como un primer intento que posteriormente se podría incrementar 
según requerimientos. Como los datos de entrenamiento serán configurados en una sola secuencia unidimensional 
δX, la capa de entrada contendrá una sola neurona (ficticia) para la distribución de datos. El reconocimiento de 
cada secuencia se puede realizar en forma binaria (reconoce/no reconoce) por lo que la capa de salida se puede 
configurar también con una sola neurona, que en este caso tendrá una función sigmoide univaluada como activa-
ción, con la salida identificada como µF. Nótese que aunque los requerimientos de salida son sólo dos valores, no 
es posible utilizar una función de tipo escalón o signo, por los requerimientos del algoritmo de aprendizaje. Un 
esquema de la red propuesta se muestra en la figura siguiente: 
 
 
Esquema de la red FF-BP para reconocer patrones de fallas. 
 
 Resumiendo, los datos de la red propuesta serían: 
• Feed-forward 3 capas. 
• Capa de entrada unidimensional. 
• Capa oculta de 5 neuronas. 
 Función de entrada suma ponderada → 
 Función de salida sigmoide bivaluada → 
• Capa de salida unidimensional. 
 Función de entrada suma ponderada → 
 Función de salida sigmoide univaluada → 
 
Creación 
 Para crear, entrenar y operar la red propuesta, se utilizan las funciones del toolbox nnet de MatLab, des-
de la línea de comandos. El siguiente script muestra el proceso de creación de la red: 
 
 
 
IA 2017 - PR - # 3 
donde newff es el comando que crea una red FF-BP con los parámetros indicados; data_train es la secuen-
cia de fallas configurada como un vector unidimensional; [5 1] es la indicación de 5 neuronas en la capa oculta 
y 1 neurona en la capa de salida; tansig (tangente sigmoide) es la equivalente a la función sigmoide bivaluada; 
logsig (logaritmo sigmoide) es la equivalente a la función sigmoide univaluada. 
 
Entrenamiento 
 La función general train realiza el entrenamiento de la red, donde requiere los datos de entrada 
(data_train) y los datos objetivo (muF1_OUT). En este ejemplo en particular, el reconocimiento se realiza sobre 
una sola secuencia que corresponde a la falla 1, de modo que los datos objetivo serán µF = 1 para la secuencia de 
la falla 1 y µF = 0 para todas las restantes secuencias. El conjunto completo de la secuencia objetivo muF1_OUT 
se muestra sobre la figura 5.2, debajo de la secuencia de entrada. El script siguiente muestra el proceso de entre-
namiento: 
 
 
 Durante el proceso de entrenamiento, configurado para ejecutar 500 iteraciones, el sistema despliega la 
información de seguimiento del aprendizaje con algunos parámetros característicos simultáneamente con una 
gráfica de evolución del error cuadrático medio que va alcanzando la red, como se muestra: 
 
 
 
Operación 
 Para operar la red entrenada cada muestra de cada secuencia de falla es alimentada individualmente a la 
red (como sería el proceso normal en una operación real). El proceso se realiza con el comando sim y el script 
que realiza la secuencia se muestra a continuación: 
 
 
IA 2017 - PR - # 4 
 Luego de alimentadas las 4 secuencias, los resultados se muestran gráficamente en las figuras que siguen, 
donde los valores objetivo se muestran como stem con puntos negros, los valores producidos por la red FF-BP 
como stem con marcas romboidales y cada grafica tiene superpuesta la secuencia de falla correspondiente con una 
línea continua. 
 
 
 Reconocimiento Falla 1. Reconocimiento secuencia 2 como NO-Falla 1. 
 
 
Reconocimiento secuencia 3 como NO-Falla1. Reconocimiento secuencia 4 como NO-Falla 1. 
 
 
 Se puede deducir de las gráficas anteriores que los resultados no son aceptables (excepto para la falla 4), 
de todas formas son resultados coherentes. De hecho, es prácticamente imposible que una red de este tipo pueda 
hacer un reconocimiento correcto de las secuencias propuestas, debido a la presencia de segmentos redundantes 
correspondientes a diferentes fallas. 
 El problema ocurre porque para una secuencia se le enseña a la red a reconocer ciertos valores produ-
ciendo salida µ F = 1 y seguidamente se le asignan los mismos valores exigiéndole producir salida µ F = 0, razón 
por la cual no puede ajustar adecuadamente los pesos en la fase de entrenamiento. Este problema se puede su-
perar utilizando otro modelo de red, como ser del tipo recurrente. 
 


Más contenidos de este tema