Generative Models with Doug Eck

Google Brain is an engineering team focused on deep learning research and applications. One growing area of interest within Google Brain is that of generative models. A generative model uses neural networks and a large data set to create new data similar to the ones that the network has seen before.

One approach to making use of generative models is GANs: generative adversarial networks. GANs can use a generative model (which creates new examples) together with a discriminator model (which can classify examples).

As an example, let’s take the task of generating new pictures of cats. We want an artificial cat picture generator. First, we train a discriminator by feeding it billions of example pictures of cats. We now have a model that can tell what a cat is. Next, we make a model that generates completely random images. We feed those randomly generated images to the discriminator. The discriminator outputs a “loss” for these random images. Loss is a metric we can use to represent how far off a given image is from being something that the discriminator would recognize as a cat. Finally, you can feed this “loss” back into the generative model, so that the generative model will adjust its weights in a way that will reduce loss. Over time, the generator gets better and better at reducing loss, until the discriminator starts believing that some of these semi-random images are actually cats.

Generative model systems have produced useful applications, such as object detection, image editing, and text-to-image generation. Today’s guest Doug Eck works on the Magenta team at Google Brain. Magenta uses applications of deep learning to produce tools and experiments around music, art, and creativity.

In a previous show, Doug described his vision for humans and computers to work together on creative tasks such as music. Today, we dive into some of the core machine learning building blocks that make machine creativity possible.


Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.


Mesosphere’s Kubernetes-as-a-service provides single-click Kubernetes deployment with simple management, security features, and high availability to make your Kubernetes deployment easy. To find out how Mesosphere Kubernetes-as-a-Service can help you easily deploy Kubernetes, check out today.

Azure Container Service simplifies the deployment, management and operations of Kubernetes. Check out the Azure Container Service at

Digital Ocean is the easiest cloud platform to run and scale your application. Try it out today and get a free $100 credit–go to Digital Ocean is a complete cloud platform to help developers and teams save time when running and scaling their applications.

Rookout Rapid Production Debugging allows developers to track down issues in production without any additional coding, re-deployment or restarting the app. Rookout is modern debugging. Insert Rookout ‘non-breaking breakpoints’ to immediately collect any piece of data from your live code and pipeline it anywhere. Go now to to start a free trial and see how much debugging time you can save.

Software Weekly

Software Weekly

Subscribe to Software Weekly, a curated weekly newsletter featuring the best and newest from the software engineering community.