Professional Documents
Culture Documents
En Linux, despus de descargar el archivo exitosamente, se debe mover el archivo dentro del directorio donde se instalar el SNNS, luego se debe descomprimir el archivo de la siguiente manera:
Unzip -dc SNNSv4.2.tar.gz | tar -xvf 1.2.- Configurando la Instalacin del SNNS En Linux, lo primero que se debe hacer es crear un directorio donde residir el simulador SNNS, al cual llamaremos <SNNSDIR>. Por esto, lo primero que se debe hacer es crear el directorio SNNSDIR. Luego se deben teclear los siguientes comandos: configure ->instala en <SNNSDIR>//[tools|xgui]/bin/<HOST> confugure enable-global ->instala en /usr/local/bin configure enable-global prefix /home/tudirectorio ->instala en /home/tudirectorio/bin 1.3.- Instalando el SNNS En Linux, despus de configurara la instalacin, lo que hay que hacer es usualmente la del kernel y las herramientas de interfaz grfica. Esto se puede hacer fcilmente con el siguiente comando: make install dndole el directorio base donde se corri el comando configure. Para compilar solamente se debe usar el siguiente comando: make compile despus de instalar SNNS se debe limpiar la fuente de los directorios (se borran todos los objetos y librerias), con el comando: make clean
por ltimo si se quiere desinstalar el SNNS se debe usar el comando: make uninstall En Windows, despus de descargar ambos archivos (SNNS para Windows y X-Server), lo que se debe hacer primero es la instalacin del X-Server, ya que el SNNS est diseado para trabajar en una plataforma distinta a la de Windows, la cul es X-Windows de Linux, por esto es necesario que se disponga de un algn programa que simule tal plataforma para que el SNNS y as este pueda ser ejecutado, esto lo permite el X-Server. Una vez instalado correctamente el X-Server, lo nico que se tiene que hacer es descomprimir el archivo SNNSv4.1-win32-full.zip en el disco duro, para esto se puede ocupar cualquier software que realice las funciones de descompresin de archivos con formato*.zip, algunos de estos son WinZip, WinRar, etc. 1.4.- Manual de usuario de SNNS En Linux, para comenzar utilizar el simulador SNNS basta tan solo con escribir el comando SNNS. En Windows, el primer paso para iniciar el programa es ejecutar el emulador de X-Windows, el cul es el X-Server en nuestro caso. Para iniciar el SNNS se debe ejecutar el archivo snns.bat del directorio raz donde se descomprimi el archivo SNNSv4.1-win32-full.zip. En ambos casos una vez iniciado el SNNS aparecer la pantalla de presentacin la que se ilustra en la Figura 1.
Despus de iniciada la presentacin esta se puede cerrar presionando el botn izquierdo del mouse. Al hacer esto, habilitar el men principal. El men principal del SNNS es el que se muestra en la Figura 2.
Esta pantalla provee las funciones que son realizadas por el simulador. No es necesario ejecutar todas las opciones para realizar una determinada tarea. Los botones ms importantes que componen el Men Principal son descritos ms adelante en ste manual de usuario.
Al presionar este botn se despliega la pantalla que se muestra en la Figura 2.3. Esta pantalla muestra una estructura de directorio que muestra todos los archivos que SNNS puede leer y escribir. Los directorios se representan entre parntesis cuadrados ( [ ] ). En sta pantalla se puede usar para abrir y guardar los 5 tipos de archivos que SNNS maneja. Entre los ms importantes estn los archivos con extensin NET, PAT y RES. (red, patrn (pattern) y resultados, respectivamente). Para cargar algn archivo, seleccione primero lo que desea abrir, por ejemplo una red o un archivo pattern, botones archivo y presione el botn y . , respectivamente. Luego seleccione el nombre de este
Para guardar algn cambio a los archivos que est utilizando, escriba el nombre de lo que desea guardar y luego presione el botn . .
Figura 12.3: Pantalla File. Para guardar los resultados de una red entrenada, ocupe el botn . Este archivo
contiene las activaciones de todas las neuronas de salida. Estas activaciones son obtenidas al realizar un paso de una propagacin hacia delante. Despus de presionar el botn pantalla se desplegar, Figura 4: la siguiente
Figura 4 : Formato de los archivos de Resultados En esta pantalla puede incluir los patrones (patterns) tanto de entrada como de salida, as como tambin crear un nuevo archivo o agregar los resultados a un archivo existente. Para guardar los resultados en el archivo presione el botn .
Figura 5: Pantalla Control. Esta pantalla consiste de dos partes. La parte superior controla los parmetros definiendo el proceso de entrenamiento, las tres filas inferiores pueden ser llenadas para definir los parmetros de aprendizaje, el rango sobre el cual los pesos sern aleatoriamente distribuidos cuando la red sea inicializada. Los valores por defecto de los parmetros de aprendizaje son (0.2 , 0 , 0 , 0 , 0) mientras que los pesos estn configurados por defecto entre 1 y 1 (1.0 , -1.0 , 0 , 0 , 0). La Tabla 1. muestra todas las opciones de entrada con los tipos y rangos de valores. Los 5 parmetros de aprendizaje dependen de la funcin de entrenamiento seleccionada.
Nombre Steps (pasos actuales) Count (cuenta para pasos) Cycles Pattern (numero actual de pattern)
Rango de valor Mayor o igual a 0 Mayor o igual a 0 Mayor o igual a 0 Mayor o igual a 0
Tabla 1: Campos de entrada del Panel de Control. Las funciones de algunos de los botones de la Figura 2.4 son: : Inicializa la red con valores de acuerdo a la funcin y los parmetros dados en la ltima lnea del panel. : El contador es re-iniciado y las neuronas son asignadas a su activacin inicial. : La red es entrenada con todos los parmetros para el nmero de ciclos de entrenamiento especificados en el campo Cycles. : El usuario puede probar el comportamiento de la red con todos los patrones (patterns) cargados. Los valores de activacin de las neuronas de entrada y salida son copiados hacia la red. : Si este botn est presionado, una secuencia aleatoria de patrones (patterns) es creada automticamente. 12.1.2.3.- Botn Info El botn Info es el que se muestra a continuacin:
Figura 6: Pantalla Info. Esta pantalla despliega todos los datos de dos neuronas y el peso asociado a la unin de ellas. La neurona donde comienza la unin es llamada Fuente (Source), la otra Destino (Target). Este panel es tambin muy importante para la edicin, desde algunas operaciones referentes al despliegue de unidades Target o uniones Source-Target. Una neurona por defecto puede tambin ser creada aqu, cuyos valores (activacin, funcin de activacin, funcin de salida, etc.) son copiados hacia todas las neuronas seleccionadas de la red. En la Pantalla Display, Figura 7, se puede seleccionar las neuronas de las distintas capas de la red haciendo click con el botn del centro del mouse. Esto har una copia automtica de todas las uniones de las neuronas pertenecientes a esa capa a la Pantalla Info. Para ver los valores muvase con los botones de desplazamiento. 2.4.- Botn Display El botn Display es el que se muestra a continuacin:
Al presionar este botn se despliega la pantalla que se muestra en la Figura 2.6. Esta pantalla muestra en forma grfica la topologa de la red neuronal, las activaciones de las neuronas y los pesos de las uniones. Las neuronas son desplegadas como cajas, donde el tamao de la caja es proporcional al valor del atributo desplegado. Cada neurona puede ser desplegada con dos de varios atributos. Uno
sobre la neurona y otro bajo sta. Los atributos para ser desplegados pueden ser seleccionados en la pantalla de configuracin (ver ms abajo). Las uniones son mostradas como lneas, con una representacin del peso en forma opcional.
Figura 7: Pantalla Display. Las opciones de sta ventana son las siguientes: : Cierra la ventana Display. : Con este botn puede configurar la forma de visualizacin de la red. La siguiente pantalla se desplegar:
Figura 8 : Pantalla de configuracin del Dysplay Para activar las opciones que se muestran debe presionar el botn . Para cambiar la
distancia entre las neuronas cambie el valor del campo Grid Width. Para cerrar la ventana Setup con los cambios que hizo y regresar a la Pantalla Display (Figura 6) presione el botn : Este botn inhabilita las opciones de edicin grfica de la red. 2.5.- Botn Graph El botn Graph es el que se muestra a continuacin: .
Figura 9: Pantalla Graph. Es una herramienta para visualizar la evolucin del error de una red. La curva de error de la red es dibujada hasta que la red es inicializada o hasta que una nueva red es cargada, en cuyo caso el contador de ciclo es reiniciado a cero. Esta ventana, sin embargo, no es limpiada hasta que el botn 25. Cuando la curva sobrepasa la ventana de visualizacin, automticamente sta se re-escala con respecto al eje x. Para cerrar la Pantalla Graph presione el botn 2.6- Botn Bignet El botn Bignet es el que se muestra a continuacin: . sea presionado. Esto permite la posibilidad de comparar varias curvas de error en
una sola pantalla. El nmero mximo de curvas que pueden ser desplegadas simultneamente son
Al presionar este botn se despliega un submen y al seleccionar Feed Forward aparece la pantalla que se muestra en la Figura 8.
Figura 12.10: Pantalla Bignet para Redes BackPropagation. La opcin Bignet divide la red en varios planos. La capa de entrada, la de salida y cada capa oculta es llamada un plano en la notacin de Bignet. Un plano es un arreglo bidimensional de neuronas. Bignet crea una red en dos pasos: Editar la red: Esta genera estructuras de datos internas en Bignet las cuales describen la red pero no generan la red. Esto permite la fcil modificacin de los parmetros de la red antes de crear la red.
Generar la red en SNNS: Este genera la red desde las estructuras internas de Bignet. Los botones en Bignet hacen lo siguiente: : Datos de entrada son ingresados al final del plano o de la lista enlazada. : Datos de entrada son insertados en la lista del plano en el frente del plano actual. : El elemento actual es reemplazado por el dato de entrada. : El elemento actual es eliminado. : Los datos del plano actual son escritos por el editor de planos. : Los datos de las uniones actuales son escritas por el editor de uniones. : El tipo (entrada, oculta, salida) de las neuronas de un plano es determinado. : La posicin de un plano es descrita en forma relativa (izquierda, derecha, abajo) con respecto al plano anterior. : Una red BackPropagation totalmente conectada es generada. : Si existen n planos entonces cada neurona en el plano i con n est conectada con cada neurona en todos los planos j con i < j <= n. : La red descrita por los dos editores es generada por SNNS. El nombre por defecto de la red es SNNS_NET.net. : Todos los datos internos de los editores son borrados. : Sale de Bignet y vuelve al men principal. 1 <= i <
Figura 11: Pantalla Weights. La pantalla weigths es una ventana especializada separada para desplegar los pesos de una red. Esta puede ser usada para analizar la distribucin de los pesos o para observar la evolucin de los pesos durante el aprendizaje. Los botones de Zoom, los pesos en la pantalla. Al hacer click con el botn izquierdo del Mouse y dejar ste presionado sobre un cuadrado de color, que representa el peso entre dos neuronas, se despliega una caja de texto que indica la unin entre dos neuronas y el peso asociado a esa unin. y , sirven para acercar o alejar la visualizacin de
Al presionar este botn se despliega la pantalla que se muestra en la Figura 12. Esta pantalla muestra la ayuda que el Software posee.
Figura 12: Pantalla de Ayuda del SNNS. Para cerrar esta ventana presione con el mouse el botn 2.9.- Botn Quit El botn Quit es el que se muestra a continuacin: .
3.- Prcticas con SNNS A continuacin se mostrar un ejemplo del entrenamiento y las pruebas que se pueden realizar a una RNA, la RNA que se utilizar viene de ejemplo en el paquete de instalacin del SNNS. Este ejemplo corresponde a una red BackPropagation que reconoce las letras maysculas del alfabeto. La idea principal de esta practica es poder dar una visin general de la fase de entrenamiento y la fase de prueba de una red neuronal con el simulador SNNS. Ahora se describirn los pasos que se deben seguir para poder realizar esta prctica, los pasos son los siguientes: Inicie el SNNS : en Linux solo tiene que ingresar SNNS, en Windows se debe cargar el servidor X, y luego ejecutar SNNS.bat Desde el Men Principal seleccione el botn File Desde el directorio examples, cargue la red letters_untrained Responda yes a la pregunta Cargue el archivo patterns de la red letters (letters.pat) : para esto seleccione el archivo sealado y luego presione el botn done. Desde el Men Principal seleccione el botn Graph : para ver el avance del entrenamiento de la RNA. Desde el Men Principal seleccione el botn Control : con el cual se entrenar la RNA.
3.1.- Primer entrenamiento: Variacin de numero de ciclos Entrene la red con los valores que se muestran en la Tabla 2 y complete los cuadros faltantes. Al finalizar cada entrenamiento presione el botn Init de la Pantalla Control.
N de ciclos 1000
Error MSE
3.2.- Segundo entrenamiento : Variacin de la tasa de aprendizaje Entrene la red con los valores que se muestran en la Tabla 3 que corresponden a la tasa de aprendizaje de la red. Use los dos nmeros de ciclos en que la red se comport de mejor manera.
Valor 1 Valor 2
0.1 0.3
Tabla 3 : Tasas de aprendizajes 3.3.- Tercer entrenamiento : Variacin del Momentum Desde la Pantalla Control seleccione el botn Sel. Func. (Frente a los parmetros de aprendizaje) y seleccione BackpropMomentum. Use los valores de las Tablas 3 y 4 para entrenarla. Valor 1 Valor 2 Valor 3 0.1 0.2 0.3 0.2 0.4 0.6 0.1 0.1 0.1 0.0 0.0 0.0
Referencias
[W-INF-98] http://www-ra.informatik.uni-tuebingen.de/downloads/SNNS/ [Len04] Trabajo de Memoria para optar al ttulo de Ingeniero en Informtica Aplicada de Felipe Len. Universidad de Valparaso.