Factor Analysis by Reverse Engineering Deep Neural Networks

Factor Analysis by Reverse Engineering Deep Neural Networks

Master Thesis

Neural networs pop up all over the place in current research. They won many competitions and achieved state-of-the-art results in many domains such as object recognition in images or videos. However, we still do not know how these networks reach such extraordinary understanding of the domains. Many approaches have been proposed that try to find the task one specific neuron has been trained to do, but most approaches try to achieve this by arbitrarily changing the input until a neuron fires. Then you can imply from the input what the specific neuron “likes”. More interesting it would be to ask the neuron itself “What do you like?”.


  • Implementation of an algorithm that can, given a trained neural network, determine the input features that forced a selected neuron in an arbitrary layer to fire
  • Evaluation of the approach and comparison to other approaches in the field


  • Natural couriosity :)
  • Basic machine learning knowledge
  • Basic knowledge of the mathematical components of neural networks
  • The implementation will be in Python, so you will have to be able to (or able to learn) use it

Start: 07.07.2016


  • Timo Nolle (nolle(a-t)tk.tu-darmstadt.de)