AI News, Distill — Latest articles about machine learning artificial intelligence

Exploring Neural Networks with Activation Atlases

Before we dive into Activation Atlases, let’s briefly review how we use feature visualization to make activation vectors meaningful (“see through the network’s eyes”).

InceptionV1 consists of a number of layers, which we refer to as “mixed3a”, “mixed3b”, “mixed4a”, etc., and sometimes shortened to just “3a”.

Roughly speaking, we can think of feature visualization as creating an idealized image of what the network thinks would produce a particular activation vector.

In the same way that we need a tool like a histogram in order to understand millions of numbers, we need a way to aggregate and organize activations if we want to see meaningful patterns in millions of them.

These algorithms, such as t-SNE and UMAP , can project high-dimensional data like our collection of activation vectors into useful 2D layouts, preserving some of the local structure of the original space.

This takes care of organizing our activation vectors, but we also need to aggregate into a more manageable number of elements — one million dots would be hard to interpret.

For each cell in our grid, we average all the activations that lie within the boundaries of that cell, and use feature visualization to create an iconic representation.

Normally, to visualize a direction in activation space, vvv, one maximizes the dot product with the activation vector hhh at a position: hx,y⋅vh_{x,y} \cdot vhx,y​⋅v.

We find it helpful to use an objective that emphasizes angle more heavily by multiplying the dot product by cosine similarity, leading to objectives of the following form:

A reference implementation of this can be seen in the attached notebooks, and more general discussion can be found in this github issue.

The attribution vector has an entry for each class, and approximates the amount that the activation vector influenced the logit for each class.

We follow Building Blocks in computing the attribution of the activation vector at a position, hx,yh_{x,y}hx,y​, to a class logit, logitc\text{logit}_clogitc​ as hx,y⋅∇hx,ylogitch_{x,y} \cdot \nabla_{h_{x,y}} \text{logit}_chx,y​⋅∇hx,y​​logitc​.

Instead, we reduce noise in the gradient by using a continuous relaxation of the gradient for max pooling in computing the gradient (as in ).

The attribution shown for cells in the activaiton atlas is the average of attribution vectors for activations in that cell.

This average attribution can be thought of as showing what classes that cell tends to support, marginalizing over contexts.

At early layers, the average attribution is very small and the top classes are fairly arbitrary because low-level visual features like textures tend to not be very discriminative without context.

While not unexpected, it is reassuring to see that the activations that are used to identify the sea for the class “seashore” are the same ones used when classifying “starfish” or “sea lion”.

We see attribution toward things people use (“hammer”, “flute”), clothes that people wear (“bow tie”, “maillot”) and activities that people participate in (“basketball”).

And finally, moving back to the left, we can see round food and fruit organized mostly by colors — we see attribution toward “lemon”, “orange” and “fig”.

They are smooth paths in this reduced projection but we don’t necessarily know how the paths operate in the original higher-dimensional activation space.

Distill — Latest articles about machine learning

By using feature inversion to visualize millions of activations from an image classification network, we create an explorable activation atlas of features the network has learned and what concepts it typically represents.

Machine Learning Research & Interpreting Neural Networks

Machine learning and neural networks change how computers and humans interact, but they can be complicated to understand. In this episode of Coffee with a ...

But what *is* a Neural Network? | Deep learning, chapter 1

Home page: Support future videos: Special thanks to these supporters:

Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks

Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks Nicolas Papernot (The Pennsylvania State University) Presented at the ...

Gradient descent, how neural networks learn | Deep learning, chapter 2

Subscribe for more (part 3 will be on backpropagation): Funding provided by Amplify Partners and viewers like you

Machine Learning Research Papers with Code

Top Free Resources for Machine Learning | Artificial Intelligence Research Papers with Code. Papers with Code GitHub Link : ..

Distill: a modern machine learning journal

Distill: a modern machine learning journal.

These Neural Networks Empower Digital Artists

The paper "Differentiable Image Parameterizations" is available here: Distill editorial article - see how ..

Knowledge Distillation with Keras* | AI News | Intel Software

Learn about the concept of knowledge distillation, a process where a large and complex network is trained while extracting important features from the given ...

Artificial Intelligence and the Wisdom of the Crowd | HowStuffWorks NOW

12/02/2015: Wikipedia has developed AI to scan articles and look for trolls, vandals and editors with an ax to grind. music: 'Night Owl' by Broke For Free VIDEO ...

CACM July 2018 - Making Machine Learning Robust Against Adversarial Inputs

Machine learning has advanced radically over the past 10 years, and machine learning algorithms now achieve human-level performance or better on a number ...