Yosemite!!!

André Shannon

(he/him/his)

Hello!
My name is André and I graduated from the University of Richmond in 2022 where I received a BS in Mathematics and Computer Science. I am starting a masters in computer science at San Francisco State University this coming 2024 fall semester. I am interested in artificial intelligence, machine learning (particularly reinforcement learning) and robotics. In my spare time, I read (recommending all Brandon Sanderson books!), bike, solve Rubik's Cubes, take outdoor trips, and play Soccer, Ultimate Frisbee, Spikeball, and Quadball.
Yosemite again!!!

Developing Provably Robust Explanation Methods for Image Classifiers

Fall 2021 - Spring 2022

I conducted this research as part of my computer science honors thesis with Dr. Douglas Szajda as my advisor and in collaboration with PhD candidates Daniel Capecci and Hadi Abdullah at the University of Florida. This research partially stemmed from my summer 2021 research with Dr. Szajda of applying an explanation method to an automated voice processing system and its not so satisfactory conclusion. Explanation methods have been developed to help expose the "reasonging" behind specific machine learning model decisions, but we started questioning the reliability of them. Thus this research was aimed at creating a provably robust explanation method.

We noticed that explanations can vary significantly, even for very similar inputs. For example, given a picture of a dog and a corresponding explanation, we could slightly tweak the image by changing several pixel values and end up with a completely different explanation. In order to create provably robust explanation methods, we applied the randomized smoothing technique, used by Cohen et al., to the explanation methods. This would theoretically give us a guaranteed space around a specific input such that any input from that space would have the same/similar explanation.

The randomized smoothing technique essentially creates another classifier based on the original which samples the space around the input and returns the class that has the majority after the original classifier classifies all the samples. Based on the percentage of the majority, you can then certify a smaller space around the input for which any other sample from there will be classified the same if run throught the new classifier. This makes sense intuitively since an input from the certified space will have to sample most of the same space as the original input when run through the new classifier. Adapting this to explanation methods, we would create a new explanation method that takes the majority of a bunch of explanations from the original explanation method and theoretically would also be able to certify points. However, we ran into all sorts of complications which I will leave in my honors thesis for now.

Honors Thesis (Abstract)
Honors Thesis (Full)
Presentation Slides

Understanding the "Reasoning" of Automated Voice Processing Systems

Summer 2021

In the summer of 2021, I worked on developing an explanation method for automated voice processing systems (VPSes) in collaboration with six other students and under the guidance of Dr. Douglas Szajda. Aside from big name automated VPSes such as Amazon Alexa, Apple Siri, and Google Assistant, automated VPSes can also be found in devices that are too small for traditional interfaces or are going for a more user friendly or accessible interface. Given the commands the automated VPSes are designed to interpret and execute, the security of the VPSes is especially important. There have been successful attacks developed against automated VPSes, most of which exploit the deep learning model within the automated VPS pipelines. These attacks can force the user and the automated VPS to interpret the same audio differently. For example, an advisary might play noise which sounds like white noise or is even inaudiable to a user, but is interpreted and executed as a specific command by the automated VPS. These attacks exploit the differences between how humans and deep learning systems process sound. However, our understanding of those differences is limited; we do not understand why some attacks succeed when similar attacks fail. Our research seeks to shed light on how VPSes "reason", in order to gain a better understanding of the factors they use during classification, thus understanding potential new attacks and defenses.

To get a better understanding of what VPSes base their decision on during classification, we adapted the LIME explanation method (developed by Ribeiro et al.) to work with DeepSpeech2 (a deep neural network speech recognition model, documentation, paper). We wanted the explanation of a particular classification to tell us which frequencies within the original audio had the biggest impact on the classification. The idea being that if a particular character had a few key frequencies that consistently had a big impact on the classification, then adding or eliminating those frequencies from an audio could predictably change how the automated VPS would interpret the audio while a user might not be able to discern a noticable difference. However, after tackling the challenges of adapting LIME and generating explanations, we found that even for a particular character in the same word spoken by different people, the explanations can vary wildly. There was not a set of key frequencies that corresponded to all classification of a specific character. Upon reflecting on the characteristics of the feature space, we realized that this was an unreasonable expectation and that if there were sets of key frequencies corresponding to specific characters, there would be many more than just one.

Symposium Poster
GitHub Repository

Defining Safety for Self-Driving Cars

Summer 2020

In the summer of 2020, I worked on safety oriented motion planning for non-holonomic models under the guidance of Dr. Jory Denny and with a fellow student, Vadim Kudlay. The non-holonomic models we were working with were various car-like models that had constraints on how they could move. We wanted to maximize the safety of the path the model would take by being the furthest possible from obstacles. This involves moving along the medial axis. One definition of the medial axis is all the points in an environment that are equidistant from two or more obstacles. However, when we looked at the medial axis in the state space of these non-holonomic models, we found discrepancies between the multiple definitions of the medial axis and that, for some definitions, the medial axis is not always continuous. This exciting find piqued the interest of a math professor, Dr. Jeremy LeCrone, who joined the project. Other than exploring the medial axis in various state spaces, Vadim and I worked on algorithms for computing the clearance of a given state and sampling for points on the medial axis.

Technical Report
Presentation Slides

Transmitting, Compressing, and Denoising Images

Summer 2019

Under the guidance of Dr. William Ross, I collaborated with four other students to explore transmittion, compression, and denoising of images.

Transmitting:
When data (in our experiments, images) is sent, it has the chance of getting corrupted, especially if it travels through a noisy channel. We looked at mitigating this corruption by over-sending the data using frames. This had mixed success with the images we tried it out on. We would randomly corrupt a few pixels and those could be easily seen if the image was sent normaly. However, using frames reduced the errors but affected many more pixels as it essentially averaged the errors throughout the entire image.

Compression:
We looked a ways of commpressing images so that we could store as little data as possible while still retaining an accurate image. For this we used the Discrete Cosine Transform to get the Fourier coefficients of the images. Since we can take the inverse Discrete Cosine Transform of the coefficients to get back to the oringinal image, we can store just the coefficients to store the image. It turns out that we can get away with not storing all the coefficients and still have a mostly accurate image. This is because the The lower frequency coefficients correspond to overall, big picture details of the image while the higher frequency coefficients correspond to highly specific details. We can remove a big chunk of the higher frequency coefficients (sometimes over 25%) and, converting back to the image, a human eye would be hard pressed to discern the difference between it and the original.

Denoising:
For this part of the research, we were looking at images that were already corrupted by noise and ways to restore or "denoise" them through the use of waveletes. Taking the discrete wavelet transform of an image would yield a matrix that can be split into four sections: one that is composed of averages of adjacent pixels, and three that are the horizontal, vertical, and diagonal differences between adjacent pixels. We can then change the diagonal differences so that small differences are changed to zero while any above a certain threshold remain the same (this is one example of how it can be thresholded, there are several other ways). The idea behind removing small diagonal differences is that noise will usually be small random changes in pixel values (yielding small diagonal differences) while the original picture will usually have starker differences (yielding big diagonal differences). Taking the inverse wavelet transform of the thresholded data would then hopefully return the image with most of the noise removed and the underlying picture more or less intact.

Symposium Poster
Presentation Slides

Arctic Geophysics Research

Spring 2018

This research was a collaboration between Southwest Virginia Governor's School and Radford University. Every two years, Dr. Rhett Herman takes a team of students up to Utqiagvik, Alaska for a week or two in efforts to develop a fast and effective way of measureing the thickness of sea ice. We designed, built, and tested some of our own equipment. One piece of equipment we built from scratch was a cart that measured the surface temperature of the ice and the air temperature several increments above the ice. My group of three's role in this research was to see if the surface temperature of the ice correlates with the tickness of the ice. If we could find a strong correlation, then that would hopefully allow us to build a model to predict the thickness of the sea ice using its surface temperatures.

We started by building a model to predict the temperature distribution throughout the ice. We know the temperature of the seawater just below the ice (freezing point of seawater) and our measurements would give us the temperature right above the ice, so we wanted to use equations of thermal conduction and radiation to tease out the temperatures at several depths within ice. We used Excels iterative function to model different depths of the ice, haveing all the middle cells (various depths within the ice) depend on the bottom cell (seawater at freezing point) and the top cell (our measurements). The problem with this was that the thermal conductivity of the ice wasn't constant. The bottom of the ice wasn't completely solid, more like slush, and that would change the thermal conductivity. Thus we also had to model a varying thermal conductivity value to use in our formulas for thermal conduction. That was as far as we ended up getting, it seemed promising, but we ran out of time. We presented our research both in a library at Utqiagvik and at the Radford University Planetarium.

Here is a blog I did for the trip with lots of pictures.
Poster