Intro ◦ AI/ML/Deep Learning/Computer Vision ◦ Examples of deep learning for music & art ◦ Tools for deep learning and TensorFlow • Generating handwritten digits with DCGAN 3
deep learning NSynth - make music with deep learning 6 Computer Vision • Image classification - is this a cat? • Object detection - self driving car • Generating new images Generating new images using generative adversarial networks (GANs) Is this a cat?
for music and art • Project magenta (link) • Arts and machine intelligence (link) • Google’s AI-powered Piano Genie lets anyone improvise perfectly by bashing buttons (link) • AI for music composition, Siraj YouTube (link) • Playing a game of GANstruction (link) • Machine Learning for Musicians & Artists, Kadenze (link) • Generating Classical Music with Neural Networks, Floydhub (link) 7
building APIs TensorFlow is a deep learning framework for both research & production Write TensorFlow code in C++, Python, Java, R, Go, SWIFT, JavaScript Deploy to CPU, GPU, TPU, Mobile, Android Things, Raspberry Pi tf.* tf.layers tf.keras Custom Estimator Premade Estimator ← Low level ← mid level ← high level ← model in a box ← distributed execution, tf serving 8
resources Tensorflow.org Deep learning with Python by Francois Chollet TensorFlow on Youtube TensorFlow on Twitter #AskTensorFlow #TensorFlowMeets Collection of interactive ML examples (blogpost | website) TensorFlow Dev Summit Blog.tensorflow.org 9
10 colab.research.google.com/ • Jupyter Notebook running on Google’s VM in the cloud • Free GPU and TPU! • TensorFlow is already installed • Save and share from your Drive • Save directly to GitHub Check out my blogpost on Colab, and TensorFlow team’s blog on Colab
Networks (GANs) Introduced by Ian Goodfellow in 2014 • Adversarial: two networks competing in a zero-sum game • Generator – creates fake images ◦ Input: vector z of random noises ◦ Output: a fake image • Discriminator – a regular CNN that classifies whether the images is real or fake DCGAN is one type of GANs 12
Colab tutorial Steps to take: 1. Download MNIST datasets 2. Define the models: generator and discrimitor 3. Define the loss function and optimizer 4. Set up GANs 5. Train the GANs 6. Generate the images! bit.ly/dcgan-tutorial 13