Neural Networks for Artists

Kieran
Sagar
Parikh

date
Spring 2019
info
Senior Thesis at Middlebury College
tech
TensorFlow

How can artists use neural networks as creative tools? I analyzed the uses of this technology with the goal of determining how adjustments to the neural network’s parameters could affect visual output. I conducted experiments using a reference implementation of a Generative Adversarial Network, documented the results, and suggested a graphical user interface to make the technology more accessible to artists.

Introduction

Given a large set of input-output pairs, a neural network can be trained to mimic the function f(x) that produced those pairs. Goodfellow et al. first proposed Generative Adversarial Networks, showing how a neural network could be trained to produce images that appear as if they came from the training dataset.

neural network diagram
Diagram of a neural network made of images generated by a neural network.

Research Questions

Influenced by my coursework in both Computer Science and the liberal arts, my research questions straddled Machine Learning, Human-Computer Interaction, and Philosophy. The research questions were:

How can artist’s leverage Generative Adversarial Networks for their own art-making?
Should we think of GANs as autonomous art-generating agents or as tools for artists?

Datasets

The simplest way to influence the output images is by curating the images in the dataset used to train the model.

I conducted my experiments on two different datasets: Impressionist and Abstract Expressionist. I created these datasets by downloading real artworks with specific style tags from WikiArt, a free online visual encyclopedia.

Impressionist

3,684 works of 19th century Impressionist painting, including:

Garden in Grez
Garden in Grez, 1883, Carl Larsson
La Gare Saint-Lazare
La Gare Saint-Lazare, 1877, Claude Monet
The Railway
The Railway, 1873, Edouard Manet
The Grands Boulevards
The Grands Boulevards, 1875, Pierre-Auguste Renoir
Abstract Expressionist

3,284 works of 20th century American abstract painting, including:

Number 5
Number 5, 1948, Jackson Pollock
Autumn Sky
Autumn Sky, 1953, Audrey Flack
Blue, Orange, Red
Blue, Orange, Red, 1961, Mark Rothko

Experiments

Output Canvas Size

Output canvas size is a parameter of the network architecture. It determines how large of an image the neural network will output.

Output size parameter increasedImpressionist1x2.25x4xAbstractExpressionist128px16,384 totalpixels36,864 totalpixels65,536 total pixels}192px}256px}

I observed that the image would become increasingly complex and phenomena within the image would become disjoint and seemingly haphazard as image size was increased.

Training Time

Training time refers to how long we train the network before generating images. A training epoch is one pass through all the images in the training dataset. In my experiments, I generated images after 300, 600, 900, and 12,000 epochs.

training time diagram

Curation

Over the course of my thesis work, I generated approximately 150,000 images. On this page, I have only presented 30 images. While the neural network can continue generating images indefinitely, it is up to the artist to select the images that capture their artistic visions and elevate those as "art".

Here are some of my favorite images:

artwork
Cheeto Fingers (2019)


artwork
The Coach Driver (2019)
artwork
Forgotten Shadows (2019)

UI Prototype

After these experiments, the value of GANs to artists was clear. However, to conduct these experiments, I had to write code in Python and use the command line: barriers that make GANs inaccessible to those without tech backgrounds. Therefore, I proposed a simple graphical user interface to make the technology more accessible.

← Previous Project

3D Scanning for Architects