This course is also part of the program:

Would you like to enroll?

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

Enrollment has closed

Enrollment for this course is currently closed, but the next offering will be available shortly. Check back soon!

5 Sessions (adaptive)
Premium ($10 USD / Month)
Program ($500 USD)
Kadenze Academy
Creative Computing, Computational Graphics
Skill Level
Video Transcripts
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.


This course is in Adaptive mode, and is open for enrollment. Learn more about Adaptive 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.
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.
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.
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.
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.
Learning Outcomes

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

Grading Policy
Course Great Breakdown Chart
Total: 100.00%

Students will be required to submit 5 courseworks completing the given iPython/Jupyter notebooks and 1 open-ended final project.

This course requires a total of approximately 50-60 hours of work, including both lectures and independent student learning time.

Plagiarism: We learn by doing our own work, and by collaborating with other students. Discussing course content and assignments with your peers is an important and helpful way to deepen your learning. However, encouraging others to copy your homework and submit it as their own is a form of cheating. So please don't post your completed assignments or correct answers to quizzes, tests, or other assessments to the discussion forums or in repositories outside of Kadenze.

Whenever you complete a course as a premium member, you can earn a verified Certificate of Accomplishment .

This course is also part of the Program: Creative Applications of Deep Learning with TensorFlow. Earn a verified Specialist Certificate for successfully completing a Program.

These certificates are proof that you completed an online course on our platform and can easily be shared with its unique link.

Credit Elligible Program
This course is one of 3 courses in the Creative Applications of Deep Learning with TensorFlow Program and is offered for credits from Kadenze Academy.

Earn a verified Specialist Certificate after successfully completing a Program. And whenever you complete a course as a Premium member, you earn a verified Certificate of Accomplishment . These certificates are proof that you completed an online course on our platform and can easily be shared with its unique link.

Instructors & Guests
What You Need to Take This Course

A short guide is provided here: to help with the installation of each of these components:

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

There is also an introductory session for those less familiar with python:

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.