Abstract

Adding Structural Awareness to Deep Neural Networks Using Clusterflow Allows us to Defeat Adversarial Images and Solve Relational Problems

Ella Gale | Research Associate | Psychological Science | University of Bristol
Venue| Senior Common Room,  Level 2 (2D17), Priory Road Complex
Date | Thursday 6 June 2019
Time | 13:00

Softmax is commonly used as an output layer, and taken as giving a probability on image identification, however much rich information is disregarded during this analysis. We use pre-trained deep-convolutional neural networks, remove the softmax layer and work with penultimate layer output feature vectors (activations), which we take as points in a multidimensional feature space (MFS). We present the clusterflow algorithm, a semi-supervised clustering algorithm that hierarchically clusters activations based on matching label(s) and we demonstrate that once we have built a cluster from (top-1 correct) activations, the cluster object can be used as a novel type of neural network layer (CF layer). We show that the MFS is relatively well structured and that similar items are placed nearer to each other than dissimilar ones, and this allows a CF layer to compute similarity judgements, even on items/images it has never seen before. Using the CF layer as a hidden layer, this trivially allows us to do relational reasoning (such as solving the set game) on data with single, known labels. The trained CF cluster also allows us to solve these problems on UNKNOWN, un-labelled and never-before seen data. Using the CF layer as an output layer makes deep-CNNs much more resilient to adversarial attack, as the cluster structure greatly reduces the certainty of the CNN on images unlike anything it has seen before. We envisage the CF-method can be used as a novel CNN layer/readout, as well as a diagnostic/development tool, and intend to continue development to allow it to be co-trained alongside a deep-NN. Our work highlights that modern deep-NN contain more useful data and knowledge than is currently being used if one passes through a softmax readout/layer.

All welcome