Enrollment Closed
Scheduled
5 Sessions / 8-10 hours of work per session
Price
Free
Included w/ premium membership ($20/month)
Skill Level
Intermediate
Video Transcripts
English
Topics
Machine Learning, Tensorflow, Neural Networks, Generative Models, Deep Learning, Source Code
Starts Jul 22, 2016

Creative Applications of Deep Learning with TensorFlow

Coming Soon

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Scheduled
5 Sessions / 8-10 hours of work per session
Price
Free
Included w/ premium membership ($20/month)
Skill Level
Intermediate
Video Transcripts
English
Topics
Machine Learning, Tensorflow, Neural Networks, Generative Models, Deep Learning, Source Code
Course Description

This course introduces you to deep learning: the state-of-the-art approach to building artificial intelligence algorithms. We cover the basic components of deep learning, what it means, how it works, and develop code necessary to build various algorithms such as deep convolutional networks, variational autoencoders, generative adversarial networks, and recurrent neural networks. A major focus of this course will be to not only understand how to build the necessary components of these algorithms, but also how to apply them for exploring creative applications. We'll see how to train a computer to recognize objects in an image and use this knowledge to drive new and interesting behaviors, from understanding the similarities and differences in large datasets and using them to self-organize, to understanding how to infinitely generate entirely new content or match the aesthetics or contents of another image. Deep learning offers enormous potential for creative applications and in this course we interrogate what's possible. Through practical applications and guided homework assignments, you'll be expected to create datasets, develop and train neural networks, explore your own media collections using existing state-of-the-art deep nets, synthesize new content from generative algorithms, and understand deep learning's potential for creating entirely new aesthetics and new ways of interacting with large amounts of data.

schedule

This course is in scheduled mode and starts Jul 22, 2016. Learn more about scheduled courses here.

Session 1: Introduction to Tensorflow
We'll cover the importance of data with machine and deep learning algorithms, the basics of creating a dataset, how to preprocess datasets, then jump into Tensorflow, a library for creating computational graphs built by Google Research. We'll learn the basic components of Tensorflow and see how to use it to filter images.
11 lessons
1. Overview
2. Prerequisites
3. What is Deep Learning
4. Invariances/Representations
5. Scope of Learning
6. Existing Datasets
7. Preprocessing Data
8. TensorFlow Basics
9. Convolution
10. Homework
11. Coming Up
Session 2: Training A Network W/ Tensorflow
We'll see how neural networks work, how they are "trained", and see the basic components of training a neural network. We'll then build our first neural network and use it for a fun application of teaching a neural network how to paint an image, and explore such a network can be extended to produce different aesthetics.
21 lessons
1. Introduction
2. Gradient Descent
3. Defining Error
4. Minimizing Error
5. Backpropagation
6. Local Minima/Optima
7. Learning Rate
8. Setting Up the Data
9. Creating the Neural Network
10. Training the Neural Network
11. Stochastic and Mini Batch Gradient Descent
12. Creating a Wider Network
13. Input Representations
14. Introducing Nonlinearities/Activation Functions
15. Going Deeper
16. Painting and Image
17. Setting Up the Data
18. Building the Network
19. Training
20. Homework
21. Coming Up
Session 3: Unsupervised And Supervised Learning
We explore deep neural networks capable of encoding a large dataset, and see how we can use this encoding to explore "latent" dimensions of a dataset or for generating entirely new content. We'll see what this means, how "autoencoders" can be built, and learn a lot of state-of-the-art extensions that make them incredibly powerful. We'll also learn about another type of model that performs discriminative learning and see how this can be used to predict labels of an image.
20 lessons
1. Introduction
2. Unsupervised vs. Supervised Learning
3. Autoencoders
4. Fully Connected Autoencoder
5. Building the Network
6. Convolutional Autoencoder
7. Denoising Autoencoder
8. Variational Autoencoder
9. Predicting Image Labels
10. One Hot Encodings
11. Using Regression for Classification
12. Fully Connected Classification Network
13. Inspecting the Fully Connected Network
14. Deep Convolutional Classification Network
15. Inspecting the Convolutional Network
16. Saving/Loading Models
17. Checkpoints
18. Deployment Models
19. Homework
20. Coming Up
Session 4: Visualizing And Hallucinating Representations
This sessions works with state of the art networks and sees how to understand what "representations" they learn. We'll see how this process actually allows us to perform some really fun visualizations including "Deep Dream" which can produce infinite generative fractals, or "Style Net" which allows us to combine the content of one image and the style of another to produce widely different painterly aesthetics automatically.
9 lessons
1. Introduction
2. Working with Google's Inception Network
3. Visualizing and Understanding Deep Networks
4. Deep Dream with Google's Inception Network
5. Specifying the Objective
6. Deep Dream Extensions
7. Style Net with Oxford's VGG Network
8. Remapping the Input
9. Homework
Session 5: Generative Models
The last session offers a teaser into some of the future directions of generative modeling, including some state of the art models such as the "generative adversarial network", and its implementation within a "variational autoencoder", which allows for some of the best encodings and generative modeling of datasets that currently exist. We also see how to begin to model time, and give neural networks memory by creating "recurrent neural networks" and see how to use such networks to create entirely generative text.
13 lessons
1. Introduction
2. Generative Adversarial Networks
3. Input Pipelines
4. GAN/ DCGAN
5. Recurrent Networks
6. Basic RNN Cell
7. Character Language Model
8. Setting Up the Data
9. Creating the Model
10. Loss
11. Clipping the Gradient
12. Training
13. Extensions
Reviews
Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors & Guests
What You Need to Take This Course

A short guide is provided here: https://github.com/pkmital/CADL to help with the installation of each of these components:

  • Python 3+ environment
  • Jupyter (iPython) notebook for coursework
  • TensorFlow 0.9.0

There is also an introductory session for those less familiar with python: https://github.com/pkmital/CADL/blob/master/session-0/session-0.ipynb

Additional Information

Some knowledge of basic python programming is assumed, including how to start a python session, working with jupyter (ipython) notebook (for homework submissions), numpy basics including how to manipulate arrays and images, how to draw images with matplotlib, and how to work with files using the os package. For students less familiar with numpy/matplotlib though still confident with python, a rough guide is provided for the 1st session as a jupyter notebook.

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of students. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow students courtesy. No one wants to feel attacked - ever. For this reason, insults, condescension, or abuse will not be tolerated.
  • Show Respect. Kadenze is a global community. Our students are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.
  • Post Appropriate Content. We believe that expression is a human right and we would never censor our students. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts which violate this Code of Conduct harm our community and may be deleted or made invisible to other students by course moderators. Students who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Students with Disabilities: Students who have documented disabilities and who want to request accommodations should refer to the student help article via the Kadenze support center. Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.