🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
Tutorial basico de_joone
1. Introducción al programa JOONE
Estas primeras páginas permiten crear una simple red en JOONE con el objetivo de
familiarizarse con el software (solo crear, no entrenar ni ejecutar, esas tareas la veremos
inmediatamente después) conectando un nivel de archivo de entrada (file input layer)
conteniendo cuatro líneas de dos valores de entrada a un nivel de archivo de salida (file
output layer), utilizando como intermedio un nivel lineal (lineal layer) conteniendo dos
neuronas.
Un layer es un nivel de la red neuronal.
File Input Layer linear Layer File Output layer
1. Usando un editor de textos crea un archivo c:/rnas/rna01.txt que contiene cuatro
lineas:
0.2;0.3
0.4;0.5
0.6;0.8
0.9;1.0
2. Invoca Joone y crea un new linear layer.
Clic derecho sobre el layer creado y luego clic en propiedades. Configura:
rows = 2
4. Crea un File Input layer a la izquierda del linear layer.
2. Clic derecho sobre el layer creado y luego clic en propiedades. Configura:
Advanced Column Selector = 1,2
fileName = c:/rna/rna01e.txt
Deja firstRow = 1 y lastRow = 0 Para indicar que el input layer leerá todas
las filas del archivo.
5. Conecta el input layer al linear layer dibujando una línea desde el pequeño círculo al
lado derecho del input layer, arrastrando el mouse hasta el linear layer.
6. Crea un File Output layer a la derecha del linear layer.
Clic derecho sobre el layer creado y luego clic en propiedades. Configura:
fileName = c:/rna/rna01s.txt
7. Conecta el linear layer con el File Output layer.
8. Hasta aquí debes tener lo siguiente:
9. Clic en Tools Control Panel y configura:
epochs = 1 (el archivo se procesará una vez)
training patterns = 4 (número de filas del archivo de entrada)
Deja el resto de parámetros como están.
3. 10. Clic el botón Run (de color verde)
11. Se ha creado el archivo c:/rna/rna01s.txt
Los valores actuales no significan mucho pues nuestro objetivo solo mostrar el
procedimiento básico de crear una red.
12. Para grabar la red File Save As
13. Para invocar la red posteriormente File Open.
4. Relación entre el modelo grafico de RNA
y JOONE
2 neuronas de entrada, 3 ocultas, 1 de salida
Capa de entada Capa oculta Capa de salida
Pesos
sinápticos
Pesos
sinápticos
5. Entrada
1
Entrada
2
Salida
Falso Falso Falso
Falso Verdad Verdad
Verdad Falso verdad
Verdad Verdad Falso
Layer Layer Name Rows
1 Entrada 2
2 Oculta 3
3 Salida 1
Creando una simple RNA (caso XOR)
Una red clásica y básica es la solución al problema
XOR (eXclusive-OR). El requerimiento se describe
en la tabla de verdad mostrada a la derecha.
Para implementar la solución se requieren tres
neuronas. El problema trata datos binarios,
verdadero y falso generalmente representados como 1
1 y 0, por lo que la neurona tipo sigmoide resulta
ideal. La red se construye de tres niveles:
Un input layer de dos entradas (entrada)
Un hidden layer de tres neuronas (oculta)
Un output layer de una salida (salida)
Crea una nueva red File New
Localiza tres sigmoid layer en el panel de desarrollo.
Deberías tener algo como esto:
Edita cada uno de los layer y configúralos según la tabla de la derecha. (para editar
hacer clic derecho sobre el layer y seleccionar propiedades)
Clic sobre el layer Entrada, aparece un círculo azul, Clic y arrastrar una conexión hacia
el layer Oculta. Repetir para el layer Oculta y el layer Salida.
Deberías tener algo como esto:
6.
7. Parameter Value
Name Archivo entrada
Advanced Column Selector 1-2
File Name c:joonexor.txt
Parameter Value
Name Teacher
Entrenando la red
Para entrenar la red se requieren datos que representen el comportamiento deseado.
Crearel archivo texto c:joonexor.txt y digita los siguientes datos:
0;0;0
0;1;1
1;0;1
1;1;0
Observa que tenemos 3 columnas, las dos primeras representan las entradas y la tercera
representa la salida.
Adiciona un File Input layer al
proyecto que permita ller los
datos de entrenamiento y
configura de acuerdo a la tabla
de la derecha.
Esto significa leer las dos primeras columnas del archivo de datos xor.txt
Conecta Archivo entrada con
Entrada, deberías tener algo
como la figura de la derecha.
Para entrenar la red se require un
teacher layer.
Adiciona un teacher layer y
configuralo de acuerdo a la tabla:
Conecta Salida con Teacher, deberías tener algo como:
8. Parameter Value
Name Datos deseados
Advanced Column Selector 3
File Name c:joonexor.txt
El teacher layer requiere datos de referencia. Estos datos se encuentran en la tercera
columna del archivo texto
c:joonexor.txt . Para ello agregamos
un segundo file input sobre Teacher.C
Configura de acuerdo a la tabla de la
derecha.
Conecta Datos deseados con Teacher.
Esta vez inicia la flecha en Teacher y
dirígela hacia Datos deseados. La línea generada es de color amarillo. De deberías tener
algo como:
La red está ahora preparada para ser entrenada selecciona Tools Control Panel.
Configura el entrenamiento de la red con 4
filas de datos 1,000 veces:
epochs = 1000.
training patterns = 4.
learning rate = 0.7
momentum = 0.6
learning = TRUE.
Para iniciar el entrenamiento Clic Run (de
color verde). El control panel muestra los
ciclo completados y el error de la red.
El valor final del error RMSE debe ser muy
pequeño (menor que 0.1). Si esto no ocurre
trata nuevamente seleccionando Tools
Randomize para reiniciar la red y seleccionar
Tools Add Noise para que la red encuentre
nuevas opciones.
9. Parameter Value
Name Resultados
File Name c:jooneresultados.txt
Ejecutando la red
Es necesario ahora probar la red entrenada.
Agrega un file output y configura según la
tabla de la derecha:
Conecta Salida con Resultados. Deberías tener
algo como:
Para ejecutar la red selecciona Tools Control Panel.
En el control panel, configura:
learning = FALSE.
epochs = 1.
Click Run en el control panel. Se crea el archivo resultados.txt que contiene la siguiente
información (con RMSE = 0.0069719062……ojo que en tu caso este valor 0uede
variar):
0.00782259788449157
0.9905340183609834
0.9905215898790795
0.01217463386704878
Como se puede observar los valores coinciden con la columna tres de la tabla
(0.00782259788449157 equivale a 0 y 0.9905340183609834 equivale a 1).
10. Completando la información de la red
La información de la red se completa con los pesos sinápticos (weights).
Los pesos se encuentran en las cajas que aparecen entre los layer.
Para visualizar los pesos: Clic derecho en la sinapsis, seleccionar Inspect.
En el caso de la sinapsis entre Entrada y Oculta tenemos:
Entre Oculta y Salida tenemos:
Pesos
sinápticos