×

1. this is an example

<VECTOR 2>

misused models

vv2.png <VECTOR 2>: misused models: Image generated by the author using a Python notebook written by Tim Sainburg for doing “feature visualization” on an image classification model, upscaled using a nearest-neighbor interpolation algorithm <vector-view-2>: misused models: Image generated by the author using a Python notebook written by Tim Sainburg for doing “feature visualization” on an image classification model, upscaled using a nearest-neighbor interpolation algorithm

Glitch art often reveals the inherent aesthetics of the digital medium. A JPEG of a flamingo will appear the same as a PNG or GIF of the same flamingo, but when these files are glitched (ex: by databending the file or hacking the compression algorithm that produced it) each will render entirely diff visual artifacts, reflections of the algorithmic logic behind each file format6. How might we reveal the algorithmic logic behind an AI, what perspective can we gain from this && what sorts of new glitchy artifacts await us? Using a piece of technology the "wrong" way has always been a core tenet of glitch art: we use music software to edit images, digital imaging tools to edit audio && text editors to edit everything but. Applying this logic to AI, we might try to create images w/a model that was trained to produce something else. This is precisely how the image in <vector-view-2> was created: using GoogLeNet7, an AI model not designed to create images, but instead trained to classify or "predict" the contents of an image.

Show GoogLeNet an image of a flamingo && it will output (w/some numerical confidence score) that it is a "flamingo"; input an image of a platypus && it will tell u it's most likely a "platypus"; input an image of a coffee mug, && it may tell u that it's a "dumbbell" (especially if that mug is being held by a muscular human arm). When these algorithms fail, it's incredibly difficult to debug their logic, b/c the logic was not written in code by a programmer, we don't set the values of a model's parameters ourselves, these values are "learned" by the machine while training its neural network on large amounts of data.

Depending on what u want the AI to "predict" or "infer", u start w/the best neural network “architecture” (the particular arrangement of dominos) for the task. As mentioned earlier, we must first train the neural network using a large dataset, in this case a collection of labeled images8. At first the network gets it all wrong, but because the training data contains the right answer (the label or "class") we can adjust all its internal parameters w/the help of an otherwise fairly simple piece of calculus known as a loss function9. Do that enough times (which often requires quite a bit of processing power) && the weights + biases ascend/descend to just the right values. They become abstract reflections of the patterns in the images associated w/each label. The trained model can almost perfectly classify all images, generalizing beyond the images it was trained on.

If machines can *see*, they see entirely diff'ly from the way we do. The patterns encoded in the parameters of a trained model are not legible to us. It's technically possible to view these weights + biases, but to us the values appear as random as they do before training. We can however test the model to see if it did in fact learn the right patterns, && while these AI models outperform classical hand written algorithms, they're not perfect. They can/do make mistakes. In the hopes of understanding why they error (+perhaps to also avoid future PR nightmares), researchers at Google flipped GoogLeNet around. Rather than inputting image data && outputting the predicted class, "cat", "platypus", etc; they used it the "wrong way", inputting the predictions && returning an image. For the researchers this was a way of visualizing the patterns identified by the model, the combination of pixels which would score the highest for any given class: what u see in <vector-view-2> is the result of inputting the maximum confidence score for the “flamingo” class, in a sense, this image is the most flamingo-like possible flamingo. This abstract image might not look like a flamingo to u, but it is in fact the purest expression of a "flamingo" the machine can "imagine". The visual artifacts in this image is one example of what spills out of the "black boxes" when we crack them open, they begin to hint at the patterns this model identified once trained, revealing an otherwise invisible aspect of the system.10

Introduction <VECTOR 1>: glitch(alike) prompts <VECTOR 2>: misused models <VECTOR 3>: de-optimization <VECTOR 4>: unexpected output