Background activity is the biological phenomenon that prevents the brain of an alive
organism from reaching a state of complete inactivity. The neuroscientist community
claims that it is related to cognitive functions such as memory and the exploration of
previously sensed experiences.
Artificial neural networks were originally developed as a nervous system model. In
Computer Science, they have been applied in function approximation and pattern recognition
problems. However, dynamics of the typically used paradigms are not appropriate
for the replication of processes such as background activity. When the goal is to
reproduce the behavior of real neural networks, the most adequate model is the Spiking
Neural Network (SNN), whose elements closely resemble the biological neurons.
Our objective is to develop an algorithm that generates SNN topologies able to maintain
background activity. The topology of an SNN is described as a graph, thus, the first
contribution of this project is a grammar formalism to generate them. That formalism is
applied by an automated search process in order to find SNNs that are able to maintain
background activity. This search is done by an evolutionary algorithm, which develops
a population of SNNs and applies successive transformations to them, gradually increasing
their ability to fulfill the proposed objective.
Considering that the different SNNs of the population are independent of each other,
the time required to execute the algorithm can be noticeably reduced when using parallel
computation. In order to obtain the results discussed in this document, the program
was run over 40 cores of the local supercomputing node, which is part of the Spanish
Supercomputing Network. The resulting execution time is decreased in an order of
magnitude compared to the one that would be required in a quad-core personal computer.
This was crucial for the development of the project, as it considerably improved
our ability to manage the process of obtaining and studying the results.