Upload
escom
View
2.589
Download
4
Embed Size (px)
Citation preview
INSTITUTO POLITÉCNICO NACIONAL
:PROFESOR M. en C. Edmundo René Durán
Camarillo.
:MATERIA Sistemas Neurodifusos I.
:EQUIPO • Maldonado Orduño Jessie.• Munguía Solache Martha.
PERCEPTRÓN MULTICAPA (DEMO AVANZADO)
INTRODUCCIÓNEn este demo se muestra como es que los componentes de una
red pueden interconectarse localmente. Neurosolutions permite construir redes neuronales como una máquina de flujo de datos; como un conjunto ordenado de componentes neuronales que procesan y propagan datos. Esta orientado a objetos y sus componentes están organizados en familias; las dos más importantes son las familias del Axón y Sinapsis. Su página Web : http://www.nd.com
AXÓN• Miembro base de la familia del mismo nombre.• Implementa la función de transferencia más simple, la cual es la
identidad de una función.• El axón simplemente nos sirve como la capa de entrada.• Representa una capa de elementos de procesamiento(PE), la
cual puede ser lineal o no lineal.
SINAPSIS COMPLETA (FULLSYNAPSE)• Miembro de la familia Sinapsis.• A través de una matriz de pesos esta sinapsis interconectará
completamente cada elemento de procesamiento de un axón tanto en sus entradas como en sus salidas. De esta manera se forma una máquina de flujo de datos.
• Cualquier dato insertado en el axón de entrada se propagará a este componente para el procesamiento.
• Otro componente de esta familia es la sinapsis arbitraria (ArbitrarySynapse), la cual esta conectada escasamente a las entradas y salidas de sus axones.
3
Axón de Tangente Hiperbólica (TanhAxon) :• Miembro de la familia Axón.• Este funcionará como una capa oculta no lineal de la red.• Recibe información de la sinapsis con la cual calcula la tangente
hiperbólica de la misma para arrojar un resultado.• Existen muchos miembros de esta familia tales como : Axón
Sigmoidal (SigmoidAxon), SoftMaxAxon, WinnerTakeAllAxon y el Axon Gaussiano (GaussianAxon).
PLANO DE ACTIVACIÓN HACIA DELANTE (Forward Activation Plane):• Ahora ya tenemos un Perceptrón Multicapa.• La red construida hasta el momento se conoce como “Plano de
activación hacia adelante”.
• Si se agregan datos en la entrada del axón, cada componente procesará estos datos usando un conjunto compuesto de pesos y su resultado aparecerá en la salida. Esta es la activación de la red.
• Es importante notar que hemos construido una red con topología hacia delante únicamente; por lo que todavía no cuenta con una dinámica de aprendizaje.
4
Archivo (File) :• La red necesita una fuente de datos como entrada, por lo cual
se añade un componente archivo que es un miembro de la clase de entrada.
• Con este componente se pueden leer datos de un archivo en una variedad de formatos.
• Normaliza y segmenta un archivo de datos.• Otros componentes de entrada incluyen una función y
generadores de ruido.
Control Estadístico (StaticControl):• Componente miembro de la clase control.• Controla la activación hacia delante de la red, sincronizando el
flujo de datos entre los componentes.• Permite al usuario para especificar los parámetros tales como
las Épocas y el corrimiento de la red, para cada paso por los datos y para abrir y guardar los pesos.
Corrimiento de la red hacia delante :• Se ha agregado una matriz de prueba en la entrada y salida de la
red.• Al presionar el botón Step Exemplar en la red y se observará que
mientras la entrada tiene 4 ejemplares para el problema de la XOR, la salida no produce el valor esperado.
• Esto ya que los pesos son aleatorios y al activarse la red no se da un aprendizaje inmediato. La salida se repite para 4 ejemplares por época.
5
Observando los pesos :Al agregar la matriz de prueba en la primera sinapsis, la cual es
de 2x2 ya que es una Sinapsis completa que conecta dos entadas a 2 axones en la capa oculta. Corra la red y observe que los pesos no cambian, esto es ya que no hay aprendizaje en el pase de activación hacia delante.
Plano Backpropagation :• Implementa el plano de propagación hacia atrás.• Los componentes de este plano forman una máquina de flujo de
datos que transmite el error desde la salida del plano de activación hasta la entrada.
Criterio L2 :
6
Miembro de la familia ErrorCriteria, la cual liga el plano de activación y el plano de retropropagación. El componente Archivo se adjunta al criterio L2, el cual da la respuesta deseada del sistema.
Este criterio toma la salida de la red y la respuesta deseada, para computar el costo como el error cuadrático e inyectar el error que se deriva del costo en el plano de retropropagación.
Plano de gradiente :Sus componentes actualizan los pesos del componente al que
esta ligado, se basa en la actividad local para el plano de activación hacia delante y el gradiente de primer orden del plano de retropropagación.
Control Estático hacia atrás :• Miembro de la clase Control.• Controla la activación hacia atrás de la red y sincroniza la
actualización de los pesos.• Permite también el uso de un aprendizaje tipo batch(todos los
patrones) y -on line(patrón por patrón); además automatiza la
adición de retropropagación y los componentes del gradiente durante la construcción de la red.
7
Poniéndolo todo junto :Al tener toda la red que soluciona el problema de la XOR.La
gráfica de barras se colocó en el criterio L2 para probar el costo promedio (error cuadrático mínimo). Se debe correr la red y observar el aprendizaje.
Verificar el aprendizaje :Para asegurarse de que la red ha aprendido el problema de la
XOR, se puede correr paso a paso el modelo presionando el botón “Step Exemplar”.
8
PASOS PARA EL DISEÑO DE UNA RED BACKPROPAGATION CON EL NEURAL WIZARD
Se debe seleccionar el item NeuralWizard del menú Tools. El panel
aparecerá en el centro de la pantalla con una lista de los modelos neuronales que la herramienta usa, dando una breve descripción de la misma. Seleccione el modelo neuronal deseado dando un solo clic en su nombre en la lista.
Abrir el panel del NeuralWizard
Son 7 los pasos básicos para la construcción de una red neuronal, los cuales se seguirán secuencialmente al dar clic en el botón del panel para desplazarnos por el proceso de construcción de la red que se describe a continuación :
NOTA : Los pasos 3, 4 y 5 dependen del modelo escogido y los pasos 1,2,6 y 7 son comunes a los modelos.
1. Selección de los datos de entrada y datos deseados :Este paso liga al Neurosolutions con datos almacenados en
algún archivo con formato de columnas tipo ASCII, con datos de tipo entero, de punto flotante(decimales o exponenciales) y símbolos no numéricos. El usuario debe seleccionar un archivo de entrada y otro que contenga la salida deseada. En el panel de entrenamiento de datos se presiona el botón Browse para abrir una ventana en la que se escoge dicho archivo; se tienen 2 opciones : Tener la entrada y salida en el mismo archivo o en 2 archivos independientes.
En este caso se debe escoger el archivo (c:/Program Files/NeuroSolutions/Wizards/NeuralWizard)Sleep2.asc. En un inicio,
9
todos se toman como entradas pero se pueden cambiar las columnas a tipo “InputÓ(entrada), “DesiredÓ(salida) o “SkipÓ(Ignorar ese dato) al seleccionar la columna y presionar el botón correspondiente.
La caja Prediction se selecciona para cambiar el modo de clasificación a una predicción, en la que la salida deseada es la entrada dada.
La primera línea siempre es el título y los datos inician a partir de la segunda línea. Los delimitadores pueden ser tabulaciones o espacios.
EJEMPLO : Archivos con columnas simbólicas que se expanden a columnas múltiples.
10
Si no se tiene en la selección alguna salida deseada saldrá la siguiente pantalla, en otro caso se brincará y pasará a la siguiente.
La red requiere de entrenamiento supervisado, por lo que ninguna columna de este archivo puede ignorarse, además de que todas se etiquetan como salidas.
11
2. Validación cruzada y Prueba de datosEl conjunto de validación cruzada se utiliza para determinar el
nivel de generalización en el conjunto de entrenamiento. Se ejecuta en concurrencia con el entrenamiento de la red. Los pesos de la red se congelan y la validación se alimenta a través de la red y los resultados se reportan. El criterio para detener el controlador se puede basar en el error en lugar del conjunto de entrenamiento.
Seleccionar Read from Separate File cuando se tienen dos archivos
uno de entrada y otro de salida en otro caso Read from existing file.
3. Topología Neuronal :Depende del modelo neuronal, nos da una breve explicación
sobre la misma, desplegando el nombre de la red, su diagrama a bloques con aspectos relevantes y selecciones de las sinapsis hechos hasta el momento. Número de elementos de procesamiento de entrada y salida, que en caso de no ser correctos deberemos retroceder para hacer cambios en alguno de los paneles previos.
12
En este panel se especifica el número de capas ocultas, creando el número de paneles igual a este para poder configurar cada una de las capas. Las capas ocultas son opcionales y se puede poner 0 en caso de no quererlas.
4. Configuración de las capas ocultas :En este panel especificamos las opciones de las capas ocultas
de la red, así como de la capa oculta.
13
En esta parte, se decide el número de elementos de procesamiento, su función de transferencia, la regla de aprendizaje y los parámetros requeridos por la misma.
A continuación, se muestra una tabla de las posibles funciones de transferencia :
Función de transferencia
Descripción
Axon Almacena la entrada
BiasAxon Agrega un biasLinearAxon Agrega bias y
escalasTanhAxon Tangente
Hiperbólica(-1/+1)SigmoidAxon Sigmoidal (0/1)SoftMaxAxon Suma uno a la
salida
Dependiendo de la función de aprendizaje aparecerán distintas opciones y datos que configurar tales como :
Nombre Regla de aprendizaje
Step Información del gradienteMomentum
Cambio en el gradiente y los pesos
Quickprop
Taza de cambio en el gradiente
14
5. Control de la Simulación :
Aquí se selecciona como entrenar la red y cuando parar la simulación. El aprendizaje depende del tipo de red que se utilice.
En este caso es supervisado, para el cual debemos especificar el número máximo de épocas que especifica el número de iteraciones para el entrenamiento. Se especifica el mínimo error requerido y el tipo de actualización de los pesos.
15
6. Prueba de la Configuración :Es una de las ventajas del Neurosolutions es la prueba de la
habilidad en el diseño de la red. El NeuralWizard esta configurado para probar la curva de error de la función(MegaScope), la salida de la red (MatrixViewer) y la salida deseada(DataWriter).
Los tipos de pruebas son :
Nombre Descripción
BarChart Tamaño en barrasHinton Tamaño en cuadrosImageViewer
Nivel de intensidad
MatrixViewer
Vista numérica
MatrixEditor
Permite la edición de números
MegaScope
Gráfica a través del tiempo
DataWriter
Escribe los datos en un archivo
7. Simulación :
Se da Build y se crea la siguiente red :
16
Se construye una red en base a nuestras especificaciones, como la anterior, la cual se puede probar para ver si arroja los resultados esperados. Se deben observar los componentes de la red para ver su configuración . se debe dar un doble clic en los siguientes
íconos para que aparezcan más ventanas de prueba. (matrices de
pesos) (valores deseados y obtenidos).
En base a lo obtenido se pueden cambiar los valores de alguno de los paneles para obtener lo esperado, o utilizar los íconos de la barra de herramientas básica para probar y ver los pesos obtenidos :
Archivo Nuevo | Abrir archivo | Guardar Archivo
Deshacer | Cortar | Copiar | Pegar | Borrar | Copiar a un archivo | Pegar a un archivo
Acerca de | Selección | Ayuda
Nueva ventana | Cascada | Mosaico
Correr la prueba | Pausar la prueba | Resetear valores | Poner contadores a cero
17