Breve Descripción del ambiente:
Para este proyecto decidimos dejar por un momento el ambiente que habíamos realizado en las entregas pasadas. Para esta ocasión nos enfocamos únicamente en el desarrollo de una aplicación que pudiera reconocer distintas figuras. Para esta aplicación se ha contemplado un tablero de 3 x 3.
Descripción detallada de la actividad:
La red neuronal se encargará de reconocer distintas figuras. Se ha escogido que la red pueda identificar la siguiente figura:
1 1 1
0 1 0
0 0 0
Esta figura puede estar en las siguientes posiciones acorde al tablero de 3 x 3 (Esto incluye sus posiciones inversas):
1 1 1 0 0 0 1 0 0
0 1 0 1 1 1 1 1 0
0 0 0 0 1 0 1 0 0
0 1 0
0 1 1
0 1 0
Solución Planteada Utilizando Redes Neuronales:
Se ha definido una red de 9 nodos de entrada, 3 nodos en la capa oculta y un nodo de salida.
La red cuenta con 9 nodos de entrada, debido a que cada entrada será una casilla del tablero. Para identificar la casilla con el nodo de entrada se ha definido cada casilla con un número.
1 2 3
4 5 6
7 8 9
La salida proveerá un valor cercano a 1, cuando sea la figura correcta. Si la figura tiende ser diferente, la salida proveerá un valor cercano a 0.
La red recibirá un archivo de texto, en donde vendrá la información de la red neuronal, así como los ejemplos de entrenamiento.
Datos de la red:
Nodos de entrada: 9
Nodos en capa oculta: 3
Nodos de salida: 1
Taza de aprendizaje: .7
Momento: .4
Error: .001
Por el momento manejamos un total de 14 ejemplos de entrenamiento, los cuales tienen el siguiente formato:
Los primeros 9 valores indican las entradas. El primer valor corresponde al primer cuadrante, el segundo valor, al segundo cuadrante y así sucesivamente.
Después de estos valores, viene una barra para indicar que los siguientes números son el valor de la salida.
Ejemplo de valor de entrenamiento:
1: 0 0 0 0 1 0 1 1 1 | 1
El ejemplo anterior nos indica que el tablero tiene la siguiente configuración:
0 0 0
0 1 0
1 1 1
Se cargará esta información a la red neuronal y se hará correr. La red realizará las iteraciones necesarias hasta obtener un error menor al que se le ha establecido en el archivo de texto. Una vez finalizada esta tarea, el programa nos da un archivo con los datos de la red, así como los pesos finales entre los nodos de la capa de entrada, oculta y de salida.
Posteriormente se correrá el programa consultas.exe. El programa pedirá que se ingrese el archivo de configuración (el archivo que contiene los pesos finales). Posteriormente, indicará que se ingrese el archivo que contiene la consulta.
Conclusiones:
Al finalizar la aplicación y probarla pudimos observar que si estaba dando los valores esperados. Estaba reconociendo a la figura dada con valores muy cercanos a 1. Si se le mostraba otra figura (un cuadrado de 2 x 2, por ejemplo), nos regresaba un valor cercano de .012 aproximadamente, mientras que si se mostraba cualquier otra figura (una casilla marcada nada más, por ejemplo), regresaba un valor aún mucho menor (.0001).
Tuesday, April 21, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.