Para seguir profundizando en el funcionamiento de las redes neuronales y descubrir curiosidades sobre las mismas, ai-junkie contiene información muy interesante. Concretamente, accediendo al enlace de descarga que proporciona podremos descargar un paquete con el que comprobar el entrenamiento y funcionamiento de las redes neuronales.

En este caso el autor del código, plantea el siguiente problema: Cómo conseguir que un conjunto de dragaminas sean capaces de encontrar minas sin programarlos específicamente para ello.

Para resolverlo se plantea el siguiente método: Cada dragaminas será una red neuronal independiente. La red se diseña de modo que su input es la ubicación de la mina más cercana y como output genera la aceleración de las ruedas izquierda y derecha, que determinan la trayectoria y velocidad del dragaminas. Por lo tanto, se espera de la red que, a partir de la ubicación de la mina más cercana, controle el desplazamiento del dragaminas.

Fijado el tipo de neuronas y el diagrama que las relaciona sólo queda determinar el método de aprendizaje que se empleará. De entre las posibilidades conocidas el autor propone iniciar de forma aleatoria cada dragaminas y dejar que se ejecute durante un cierto tiempo (generación). A lo largo de este intervalo algunos dragaminas recogerán más minas y otros menos. Al finalizar la ejecución se aplican técnicas genéticas de recombinación: Se seleccionan aquellos sujetos que más minas dragaron, se recombinan sus redes neuronales como si de genes y cromosomas se tratasen durante un proceso de reproducción y se vuelve a iniciar la ejecución. Se trata así de un ejemplo de redes neuronales con entrenamiento genético. Al haber seleccionado y recombinado aquellos individuos más exitosos esperamos que cada generación sea más eficaz que la anterior. El proceso se itera hasta obtener el resultado esperado.

En el paquete comprimido de la descargase encuentra el ejecutable “smart_sweepers.exe”. Al lanzarlo aparece una ventana donde pueden verse las minas (puntos verdes) y los dragaminas moviéndose aleatoriamente por la ventana (no se han creado reglas predefinidas). El título “generation” (generación) nos indica cuantas recombinaciones genéticas se han llevado a cabo hasta el momento. Es recomendable dejar el programa en ejecución durante al menos una hora y comprobar después cual es el nuevo funcionamiento de los dragaminas. Los resultados son todavía más significativos entre 8 y 10 horas después.

screenshot_smart_sweepers
Imagen: Captura de Smart Sweepers v1.0

Se puede observar por lo tanto que en la implementación de sistemas basados en redes neuronales es, en muchas ocasiones, más importante como enseñamos al sistema y como evaluamos su capacidad de aprendizaje que su arquitectura. Los sistemas como el dragaminas o aquellos empleados en el tratamiento automático de documentos son iniciados de forma aleatoria y se les dota de herramientas de aprendizaje basadas en reglas genéticas para que acaben haciendo tareas muy específicas. Su fuerza reside pues en la intensa capacidad de especificidad que pueden desarrollar estos métodos autónomamente.

Autor del artículo: Daniel Garrido –  Project Manager en Serimag

www.serimag.com