Proyecto fin de carrera. Trabajo final de grado (bachelorThesis).

Spiking generation neural network software for emulation hardware

Software de generación de redes neuronales "Spiking" para emulación hardware

UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858
UPCommons. Portal del coneixement obert de la UPC
  • Aldana Parra, Luis
Desenvolupar un software en Python que permeti a l'usuari definir, modificar, importar i exportar estructures de xarxes en un format compatible amb l'entorn de desenvolupament disponible al Departament. Realitzar proves de verificació amb emulació hardware de diverses xarxes SNN., The project introduced on this report belongs to a research conducted by the group of Advanced Hardware Architectures from the Electronic Engineering Department from the UPC, whose purpose is the development of multiprocessing architecture emulation for Spiking Neural Networks (SNAVA) based on configurable devices. SNAVA is a scalable architecture, multi-model, which allows the implementation of different applications and neural models. In this context the neural topology required for each implementation, needs to be defined by source and destination addresses that define the synaptic connections between neurons. The addresses are currently made in a flat text file under the required format. The drawback presented, especially for relatively large neural networks is to enter this information manually with the consequent loss of time and the probability of making typographical errors. The objective of this work is to design and implement a graphical interface capable of facilitating the creation of topological definition file from an SNN for SNAVA architecture. To meet this goal it is imperative to have a clear idea of the required for synaptic connections definition format as well as the different network configurations that can be implemented with this architecture. Depending on user needs it is imperative to choose the most suitable development tool. After understanding the basic operation of SNAVA and define what types of networks the software has to create, tutors and I decided to use Python and PyQt Python library. The result is a simple graphical interface capable of reducing the time and number of errors when creating topological definition file., El projecte presentat a continuació forma part d’un treball d’investigació dut a terme pel grup d’Arquitectura Avançada de Hardware del Departament d’enginyeria electrònica de la UPC, la finalitat del qual es el desenvolupament d’una Arquitectura de Multiprocessament per l’emulació de Xarxes Neuronals tipus Spiking (SNAVA) basat en dispositius configurables. SNAVA es una arquitectura escalable, multimodel, que permet la implementació de diferents aplicacions i models neuronals. En aquest context la topologia neuronal requerida per cada implementació, necessita ser definida mitjançant direccions d’origen i destí que defineixen les connexions sinàptiques entre neurones. Les direccions actualment son introduïdes en un arxiu pla de text, sota el format requerit. L’inconvenient que es presenta, especialment per xarxes neuronals relativament grans es introduir aquesta informació de manera manual amb la conseqüent pèrdua de temps i la probabilitat de cometre errors tipogràfics. En aquest sentit, l’objectiu del treball serà dissenyar e implementar una interfase gràfica capaç de facilitar la creació del arxiu de definició topològica d’una SNN per l’arquitectura SNAVA. Per complir amb aquest objectiu es imperatiu tenir una idea clara del format requerit per a la definició de connexions sinàptiques, així com les diferents configuracions de xarxa que es poden implementar amb l’arquitectura disponible i així, en funció de les necessitats del usuari escollir l’eina de desenvolupament adequada. Després de comprendre el funcionament bàsic de SNAVA i definir que tipus de xarxes ha de crear el software, els tutors y jo vam decidir utilitzar Python amb la llibreria PyQt. El resultat es una interfase gràfica senzilla capaç de reduir el temps i el número d’errors al crear l’arxiu de definició topològica., El proyecto presentado en el presente reporte forma parte de un trabajo de investigación llevado a cabo por el grupo de Arquitecturas Avanzadas de Hardware del Departamento de Ingeniería Electrónica de la UPC, cuya finalidad es el desarrollo de una Arquitectura de Multiprocesamiento para la emulación de Redes Neuronales tipo Spiking (SNAVA) basada en dispositivos configurables. SNAVA es una arquitectura escalable, multimodelo, que permite la implementación de diferentes aplicaciones y modelos neuronales. En este contexto la topología neuronal requerida para cada implementación, necesita ser definida mediante direcciones origen y destino que definen las conexiones sinápticas entre neuronas. Las direcciones actualmente son introducidas en un archivo plano de texto, bajo el formato requerido. El inconveniente que se presenta, especialmente para redes neuronales relativamente grandes es introducir esta información manualmente con la consecuente pérdida de tiempo y la probabilidad de cometer errores tipográficos. En este sentido, el objetivo de este trabajo será diseñar e implementar una interface gráfica capaz de facilitar la creación del archivo de definición topológica de una SNN para la arquitectura SNAVA. Para cumplir con este objetivo es imperativo tener una idea clara del formato requerido para la definición de conexiones sinápticas, así como las diferentes configuraciones de red que se pueden implementar con dicha arquitectura. Para así, en función de las necesidades del usuario escoger la herramienta de desarrollo más adecuada. Tras comprender el funcionamiento básico de SNAVA y definir qué tipos de redes tiene que crear el software, los tutores y yo decidimos usar Python con la librería PyQt. El resultado es una interface gráfica sencilla capaz de reducir el tiempo y el número de errores al crear el archivo de definición topológica.
 
DOI: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858

HANDLE: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858
 
Ver en: http://hdl.handle.net/2117/98858
UPCommons. Portal del coneixement obert de la UPC
oai:upcommons.upc.edu:2117/98858