top of page

Convolutional neural network research with the Army Research Lab. Designed an experiment to trace the learning trajectory of activated neurons in image-based neural network models to account for spurious features being used to categorize an image.

The problem space of this research project involved determining how and why spurious features were being activated and used by a convolutional neural network to categorize an image. Specifically, dense regions of features not associated with the subject of the image were being used by the convolutional neural network to categorize images. In order to better understand the learning process of convolutional neural networks and deep learning models in general, I devised an experiment to visualize the learning process of the model and extract information from the model's learning process to better associate activated neurons with features a human would use to characterize something.  

The convolutional neural network used in my research was the ResNet34 model and was coded using pyTorch. In addition to the primary experimentation, I wanted to figure out how to create an environment that incorporated contextual learning and neuron correlation to increase the speed and accuracy of image-based neural networks. Most of my time during this research project was spent learning the requisite know-how in order to create the experiment (pyTorch, Deep Learning model mathematics, the ResNet model, SHAP analysis, etc.).  

Convolutional Neural Network Research

Approach

I started this research journey by trying to understand the ResNet34 model and the pyTorch library. I didn't have any prior experience with AI in general, so I used "Kaggle" tutorials to get an idea of what AI/ML/DL was. From there I focused on trying to visualize the learning process of the model by watching videos and animations of what "learning" looked like. This allowed me to move towards investigating individual neuron evolution and evolution of the model as a whole. I applied a neuron heatmap at moments during the training and validation phases to visualize the static state of activated neurons in the model. I would later combine this with SHAP values to get a better idea of what features were being used to categorize an image.

Skills

The learning curve of this research experience was very steep for me. I got an idea of what is was like to learn on my own. During the bulk of the research I learned useful skills in Deep Learning (pyTorch mostly) and how to build a pipeline for an experiment. I also got a sense of what the current research state of AI was and how people wanted to leverage AI in various scenarios. 

bottom of page