[en] On the last decades, Artificial Neural Networks (ANNs) have been a widely studied field of computer science and artificial intelligence. This is due to their power as a tool in a large number of disciplines. ANNs can classify data, approximate complex functions, make predictions, recognize patterns and more. There are many types of ANN. In our project we use a modified version of a Feedforward Neural Network (FFNN) for our experiments. Along with ANNs, Evolutionary Algorithms (EAs) are a popular study subject. The reason behind this is that EAs are extremely versatile and effective when it comes to automatic problem optimization. In an attempt to optimise this kind of networks and contribute on their further development we have added to our feedforward neural network the ability to treat neurons independently. This is useful when it comes to disconnect specific neurons after the training or to induce any kind of malfunctioning to observe the effects. Using this network as our baseline we implemented two training techniques: Backpropagation (BP) and the Genetic Algorithm (GA). Thanks to our network's characteristics we have conducted a comparative study where we analyse the network's tolerance to neuronal failure depending on the training algorithm. We use the experience gained in the study to apply the network's characteristics to a real problem. We classify simulated Scanning Probe Microscopy (SPM) curves. Through a series of experiments with GA's fit function we increased failure and missing data tolerance in the network. With this we demonstre that the work we have done has real life applications.

[es] A lo largo de las últimas décadas las Redes Neuronales Artificiales (RNAs) han sido un campo de estudio muy popular en el campo de la computación e inteligencia artificial. Esto es debido a potencia que tiene como herramientas en gran variedad de campos y disciplinas. Junto con las RNAs, otro campo en auge es el de los algoritmos evolutivos, algoritmos extremadamente versátiles y eficaces a la hora de atacar un problema de optimización de forma automatizada. En un intento de optimizar estas redes y avanzar en el desarrollo de estas tecnologías, hemos creado nuestra versión de RNA en la que las neuronas son independientes y pueden actuar de forma distinta a las demás. Esto nos es útil a la hora de analizar el comportamiento de la red al quitarle neuronas después del entrenamiento o inducir anomalías. Utilizando esta red como base, hemos implementado dos algoritmos de aprendizaje: El clásico Backpropagation y un algoritmo genético. Usando las características de nuestra red neuronal artificial hemos realizado un estudio comparativo donde analizamos la tolerancia a la perdida de neuronas en relación al algoritmo de aprendizaje utilizado. Hemos usado la experiencia en el estudio comparativo para aplicar las características de nuestra red a un caso real en el que clasificamos curvas simuladas de microscopia de sonda de barrido. A través de una serie de experimentos con la función de fit del algoritmo genético hemos aumentado la tolerancia a fallos o datos perdidos en la red con lo que demostramos que el trabajo que hemos realizado tiene aplicaciones directas en la vida real.