18
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.

Manual NeuroSolutions

  • 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.

• Ruíz Hidalgo Héctor Alejandro.

: FECHA 17 de Octubre de 2001.

2

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

Entrenamiento por épocas | por patrón | por ejemplo

Oculta las ventanas

18