Building a platform for exploring and visualizing deep convolutional networks
MetadataShow full item record
Deep artificial neural networks are showing a lot of promise when it comes to tasksinvolving images, such as object recognition and image classification. In recentyears, there has been a steady increase in computing power, which has opened forthe possibility of training deeper and more complex artificial neural networks. This,in addition to improved training methods, has been a major contributing factorfor creating a new wave of AI within computer science. However, as artificialintelligence becomes more complex, it gets increasingly harder to explain an AIsreasoning. It is intriguing that computers achieve human-like results for imageclassification tasks, but from a research point of view, the reason why it performsso good might be even more interesting. In this thesis, we aim to get a better understanding of deep convolutional neuralnetworks. We attempt to increase our knowledge of these networks by creatinga platform where one can apply different visualization methods on different pretrainednetwork architectures. First, we introduce the concept of convolutionalneural networks, and how they work. We then give an introduction to the field ofvisualizing neural networks by explaining several state-of-the-art methods whichaim to give a better understanding of neural networks. After introducing multiplemethods, we explain our implementation of a selected few. We also give anintroduction to the platform we created for handling the different visualizationtechniques. Included in this platform is a user interface, which simplifies the processof applying visualization techniques to different networks and retrieving theresults. Finally, we examine the implemented techniques, while trying to explaintheir behavior and what information they can give us about a convolutional network.Additionally, we try to combine different visualization methods, to see if theyoffer any useful information beyond what each method offers individually. Interpreting the results of visualizations proved to be a challenging task, but westill feel like there was some information to be gained from each distinct method.Certain techniques showed results which could be useful for troubleshooting faultynetworks, while others indicated features which might be vital for correctly classifyingimages. Combining different techniques yielded results that were difficult tointerpret clearly, but could prove to be a path worth researching further.