Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What if Picasso was a Robot? Teaching art to the machine

What if Picasso was a Robot? Teaching art to the machine

Machine learning is revolutionizing the world as we know it: recommender systems that know exactly what we’re into, ear phones capable of translating entire conversations on the fly and even predictive power to help us guess what the future may look like. But what about art? Can we teach machines how to be creative and come up with new art styles? In this talk you’ll see what happens when we mix computational power and the greatest works of art the world has ever seen! And guess what? All that using Javascript. Hold tight, art class is about to start!

Isabella Silveira

October 19, 2018
Tweet

More Decks by Isabella Silveira

Other Decks in Programming

Transcript

  1. X

  2. X

  3. X

  4. X

  5. X

  6. X

  7. 1. The quality, production, expression, or realm, 
 according to

    aesthetic principles, of what is beautiful, appealing, or of 
 more than ordinary significance. [Dictionary] 2. “Art is either plagiarism or revolution.” [Paul Gauguin] 3. “Art is harmony." [Georges Seurat] 4. “[…] And it is upon this capacity of man to receive another man’s expression of feeling and experience those feelings himself, that is what the activity of art is based.” [Leo Tolstoy]
  8. What if the artist has an idea and the art

    
 is created by someone else?
  9. Machine learning is an application of artificial intelligence (AI) that

    provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on the development of computer programs that can access data and use it learn for themselves. The process of learning begins with observations or data, such as examples, direct experience, or instruction, in order to look for patterns in data and make better decisions in the future based on the examples that we provide. The primary aim is to allow the computers learn automatically without human intervention or assistance and adjust actions accordingly.
  10. It allows the machine to actually learn. With ML algorithms,

    it’s possible to parse data, learn from it and make mass predictions or classifications. Instead of creating an algorithm full of specific rules on how to execute a certain task, we train the machine with huge datasets so it can learn how to execute it on its own.
  11. 1. A powerful algorithm; 2. A couple thousands of paintings;

    3. A mighty processor; 4. 6 buckets of patience; 5. 2 cups of persistence; 6. Love to taste ❤
  12. 1. A powerful algorithm; 2. A couple thousands of paintings;

    3. A mighty processor; 4. 6 buckets of patience; 5. 2 cups of persistence; 6. Love to taste ❤
  13. On the discriminative model we want to formulate descriptions to

    our results based on the data and parameters we have, in other words, finding patterns to classify or predict future results. On the generative model, we want to generate new samples based on what we learned about the data previously fed to the algorithm on the training part. Generative model Discriminative model Types of models
  14. Neural Net 1 - The discriminator His job is to

    recognize if an image is a legitimate ID
  15. Neural Net 2 - The generator His job is to

    create
 images of IDs Photoshop mad skillz
  16. 1. A powerful algorithm; 2. A couple thousands of paintings;

    3. A mighty processor; 4. 6 buckets of patience; 5. 2 cups of persistence; 6. Love to taste ❤
  17. 1. A powerful algorithm; 2. A couple thousands of paintings;

    3. A mighty processor; 4. 6 buckets of patience; 5. 2 cups of persistence; 6. Love to taste ❤
  18. 1. A powerful algorithm; 2. A couple thousands of paintings;

    3. A mighty processor; 4. 6 buckets of patience; 5. 2 cups of persistence; 6. Love to taste ❤
  19. $ ./dcgan_chainer_to_keras.py \ --arch dcgan64 \ --chainer_model_path $DCGAN64_OUT/SmoothedGenerator.npz \ --keras_model_path

    $DCGAN64_OUT/Keras_SmoothedGenerator.h5 \ --tfjs_model_path $DCGAN64_OUT/tfjs_SmoothedGenerator
  20. $ ./dcgan_chainer_to_keras.py \ --arch dcgan64 \ --chainer_model_path $DCGAN64_OUT/SmoothedGenerator.npz \ --keras_model_path

    $DCGAN64_OUT/Keras_SmoothedGenerator.h5 \ --tfjs_model_path $DCGAN64_OUT/tfjs_SmoothedGenerator
  21. let all_model_info = { dcgan64: { description: 'DCGAN, 64x64 (16

    MB)', model_url: “/dist/tfjs_SmoothedGenerator/model.json”, model_size: 64, model_latent_dim: 128, draw_multiplier: 4, animate_frame: 200, }, };