/DeepLearning

Primary LanguageJupyter NotebookMIT LicenseMIT

CS583: Deep Learning

  1. Machine learning basics. This part briefly introduces the fundamental ML problems-- regression, classification, dimensionality reduction, and clustering-- and the traditional ML models and numerical algorithms for solving the problems.

  2. Neural network basics. This part covers the multilayer perceptron, backpropagation, and deep learning libraries, with focus on Keras.

  3. Convolutional neural networks (CNNs). This part is focused on CNNs and its application to computer vision problems.

    • CNN basics. [slides]

    • Tricks for improving test accuracy. [slides]

    • Feature scaling and batch normalization. [slides]

    • Advanced topics on CNNs. [slides]

    • Popular CNN architectures. [slides]

    • Face recognition. [slides]

    • Further reading:

      • [style transfer (Section 8.1, Chollet's book)]

      • [visualize CNN (Section 5.4, Chollet's book)]

  4. Recurrent neural networks (RNNs). This part introduces RNNs and its applications in natural language processing (NLP).

  5. Language Models beyond RNNs.

  6. Autoencoders. This part introduces autoencoders for dimensionality reduction and image generation.

    • Autoencoder for dimensionality reduction. [slides]

    • Variational Autoencoders (VAEs) for image generation. [slides]

  7. Generative Adversarial Networks (GANs).

  8. Recommender system. This part is focused on the collaborative filtering approach to recommendation based on the user-item rating data. This part covers matrix completion methods and neural network approaches.

    • Collaborative filtering. [slides]
  9. Deep Reinforcement Learning.

  10. Parallel Computing.

  11. Adversarial Robustness. This part introduces how to attack neural networks using adversarial examples and how to defend from the attack.