Berkley Deep Unsupervised Learning

CS294-158 Deep Unsupervised Learning Spring 2019

Lectures, papers and assignments for Berkeyls Deep Unsupervised Learning Course are now available here:
https://sites.google.com/view/berkeley-cs294-158-sp19/home.

The course deals with 2 areas of deep learning, namely Deep Generative Models and Self-supervised Learning.

Topics are:

  • Generative adversarial networks
  • variational autoencoders
  • autoregressive models
  • flow models
  • energy based models
  • compression
  • self-supervised learning
  • semi-supervised learning.

The course is currently ongoing so not all lectures are available yet.

Fast.ai 2018 has been released, and it’s truly awesome

Last year the 2017 course of fast.ai was amazing, which taught state of the art deep learning to coders. There are so many goodies in the blog post about the Fast.ai 2018 launch which is available now. This year they held the course using Pytorch instead of Keras and wrote their own library for speeding up development and were the first to add several implementations from papers to the library such as Learning Rate Finder (Smith 2015) and Stochastic Gradient Descent with Restarts (SGDR). With one line of code, you can also get the images that the classifier gets wrong.

17 of the 20 top participants in a kaggle competitors were students in the preview course.

I recommend reading the blog post and taking the course.

DeepSchool.io

There is a new kid on the block in terms of online courses on Deep Learning.

DeepSchool.io is a set of Jupyter notebooks that teach you the basics and different concepts you need in order to get started and being productive in Depp Learning. They are also videos supporting the notebook, although not for every notebook yet.

It differs from fast.ai in that the videos are shorter and the notebooks are mostly self-explanatory.

The goal of the project is to make Deep Learning accessible to everyone, make it practical, make learning open source and fun.

These are the topics covered:

  1. Lesson 0: Introduction to regression.
  2. Lesson 1: Penalising weights to fit better (scikit learn intro)

Mathematics (optional)

  1. Lesson 2: Gradient Descent. Using basic optimisation methods.
  2. Lesson 3: Tensorflow intro: zero layer hidden networks (i.e. normal regression).
  3. Lesson 4: Tensorflow hidden layer introduction.

Deep Learning

  1. Lesson 5: Using Keras to simplify multi-layer neural nets.
  2. Lesson 6: Embeddings to deal with categorical data. (Keras)
  3. Lesson 7: Word2Vec. Embeddings to visualise words. (Tensorflow)
  4. Lesson 8: Application – Bike Sharing predictions
  5. Lesson 9: Choosing Number of Layers and more
  6. Lesson 10: XGBoost – A quick detour from Deep Learning
  7. Lesson 11: Convolutional Neural Nets (MNIST dataset)
  8. Lesson 12: CNNs and BatchNormalisation (CIFAR10 dataset)
  9. Lesson 13: Transfer Learning (Dogs vs Cats dataset)

Advanced Topics

  1. Lesson 14: LSTMs – Sentiment analysis.
  2. Lesson 15: LSTMs – Shakespeare.
  3. Lesson 16: LSTMs – Trump Tweets.
  4. Lesson 17: Trump – Stacking and Stateful LSTMs.
  5. Lesson 18: Fake News Classifier

You can read more here.

How To Learn Fast

In two days i was able to listen through half of cs231n in my spare time by listening on the youtube videos with higher than normal speed.

Nowadays i always listen to youtube videos with 2x or 3x speed.

With normal settings you can st the speed up to 2x. If you want to get the video faster than that you need to add a plugin or bookmarklet to achieve that.

You can drag these liks to your bookmarks bar, and get them as speed buttons to adjust the speed of your youtube videos…


x1 x2 x2.5 x3 x3.25 x3.5 x4


Also, check out this video on how to learn advanced concepts fast: