DeepFMI 2019 Learning Deep Neural Networks

The course is about basic Deep Learning methods, current models and capabilities. It is an optional course for third-year undergraduates of the Faculty of Mathematics and Computer Science, University of Bucharest. It covers basic theoretical concepts about training neural networks, followed by applications in computer vision and natural language understanding, with an accent on the applied part, through labs, home assignments and the final project.

  • Prerequisites: Basic Python knowledge or several years as a programmer and

eagerness to start understanding Deep Learning.

  • Course Team: Stefan Postavaru, Andrei Nicolicioiu, Iulia Duta, Florin Brad, Tudor Berariu, Elena Burceanu

Syllabus

  1. Introduction to Deep Learning
  2. Neural Nets
    • Lab1: PyTorch Intro
    • Assignment1: Sudoku Solver
  3. Optimization
  4. Convolutional NNs
    • Lab2: CNNs on images
    • Assignment2: Count digits in an image
  5. Computer Vision applications
  6. Recurrent NN
    • Lab3: RNN on language
    • Assignment3: Predict the programming language of a code snippet
  7. Natural Language Processing applications
  8. Reinforcement Learning I
    • Lab4: Deep Q-Network
    • Assignment4: CarRacing - OpenAI Gym
  9. Reinforcement Learning II
  10. Poster Session with the PROJECTs
    • Exam

Practical sessions

We use PyTorch for all coding materials and we work in the Colab Notebooks environment. There is a total of four Labs, four Home Assignments and one final PROJECT - see Poster Session below.

Administrative details

Poster Session

Working on the final PROJECT gave students the practical experience for applying deep learning in their next deep learning project. You can find bellow the final posters: