(It takes a little while to generate the picture, please have patience)

Generating and recognizing newspaper frontpages

Quite a few attempts have been made at using machine learning for generating realistic images, inspired by real images. A fairly effective one is the Deep Convolutional Generative Adverserial Network (DCGAN), a neural network which is based on the idea of letting two neural networks train by competing against each other.

For generating newspaper frontpages, we can let one network generate frontpages (generator) and let the other validate frontpages (discriminator). For training, the discriminator is then given a training set containing real newspaper frontpages and whatever images the generator is creating. The generator doesn't need any input, but needs an evaluation of how close its images are to actual frontpages. This is produced by the discriminator.

Now, the discriminator's goal is to tell the difference between a real frontpage and an image produced by the generator, while the generator's goal is to fool the discriminator. Letting these two networks compete, will train both networks.

30000 iterations of training with roughly 3000 256x256 pixel frontpages from Aarhus Stiftstidende made the generator able to produce images like the one below.

Even though it may look very similar to some of the real frontpages we have used for training the descriminator, the generator has never actually seen a real frontpage. It has only been pointed in the right direction each time it produced something that didn't look exactly right, according to the discriminator.

In addition to the generator, we now also have a discriminator which given an image, can tell if it looks like a frontpage from Aarhus Stiftstidende. This is fairly effective, but still has room for a lot of improvement. Since it has only been trained with scanned images of frontpages, it has a hard time recognizing frontpages which are e.g. slightly brighter than usual or slightly rotated.

In this project, the focus was on the generator, and therefore the training set was a lot of similar looking frontpages. If we wanted to focus on the discriminator, we would need a training set with more various examples of frontpages. Bright and dark, from different angles, and whatever kind of images we would like the discriminator to recognize. This would probably result in a generator not able to produce as nice looking frontpages, but a discriminator that could recognize a lot more different looking frontpages.