![](images/marcav_pos_rgb.png width="128")

Deep Learning Course v2.0
Master in Fundamental Principles of Data Science
Jordi Vitrià, 2020

![](images/front.png) > "You want to make it seem alive and effortless and fun, but that's an > art that took me 25 years to really learn. I wanted to do it very much > 25 years ago, but I didn't know how." > > -- David O. Russell, director of American Hustle # Deep Learning Deep learning is one of the fastest growing areas of machine learning and a hot topic in both academia and industry. This course will cover the basics of deep learning by using a hands-on approach. ## Course Instructor [Jordi Vitrià](http://www.ub.edu/cvub/jordivitria/), Departament de Matemàtiques i Informàtica de la UB. ## Class Time and Location + First Semester (September, 2020 - January, 2021) + Face-to-face Lectures: Thursday 16:00h-17:00h + Location: Aula T1, Facultat de Matemàtiques i Informàtica, Universitat de Barcelona. ## Schedule(tentative) 1-10-2020: Presentation - Syllabus: What is this course about? - What I expect from students? - Grading 15-10-2020: McKinsey Masterclass, - 15:00-17:00h | No Lecture 30-10-2020: Assignment #1: Coding a neural network from scratch 20-11-2020: Assignment #2 20-12-2020: Assignment #3 17-12-2020: Last Lecture ## Prerequisites + Proficiency in Python (3.7): All class assignments will be in Python (using `tensorflow` and `keras`). + Calculus, Linear Algebra: You should be comfortable taking derivatives and understanding matrix vector operations and notation. + Basic Probability and Statistics. ## Grading + Assignment #1: 30%. Submission deadline (UB Campus Virtual): **30/10** + Assignment #2: 30%. Submission deadline (UB Campus Virtual): **TBD** + Assignment #3: 40%. Submission deadline (UB Campus Virtual): **TBD** Study groups are allowed but we expect students to understand and complete their own assignments and to hand in one assignment per student. ## Course Syllabus
  1. Using the Jupyter/Collab notebooks. Software stack.
  2. Introduction to Deep Learning and its applications.
  3. Basic concepts: learning from data.
  4. Automated differentiation & Backpropagation. Dense Neural Networks.
  5. Tensorflow and Keras.
  6. Convolutional Neural Networks.
  7. Recurrent Neural Netwoks.
  8. Embeddings.
  9. Transformers.
  10. Unsupervised Learning.
  11. Deep Reinforcement Learning.
## Books + A.Zhang, Z.Lipton, M.Li, A.J.Smola. [Dive into Deep Learning](http://d2l.ai/), 2020. + I.Goodfellow,Y.Bengio, A.Courville, [Deep Learning](https://www.deeplearningbook.org/), MIT Press, 2016. + M.Nielssen, [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/), 2015. ## Course Software Installation: Working in Colab Colaboratory, or "Colab" for short, allows you to write and execute **Python** in your browser, with + Zero configuration required + Free access to GPUs + Easy sharing Watch [Introduction to Colab](https://www.youtube.com/watch?v=inN8seMm7UI) to learn more. You can develop deep learning applications with Google Colaboratory (Colab) -on the free Tesla K80 GPU- using Keras and Tensorflow. Colab is a Google internal research tool for data science. They have released the tool sometime earlier to the general public with a goal of dissemination of machine learning education and research. This is a free service that may not always be available, and requires extra steps to ensure your work is saved. Be sure to read the docs on the Colab web site to ensure you understand the limitations of the system. For accessing Colab, first of all you should sign in to you Google account if you are not signed in by default. You must do this step before opening Colab, otherwise the notebooks will not work. Next, head on to the [Colab Welcome Page](https://colab.research.google.com) and click on `Github`. In the `Enter a GitHub URL` line enter ‘https://github.com/DataScienceUB/DeepLearningMaster2020’. You will see all the course notebooks listed there. Click on the one you are interested in using. You should see your notebook displayed now. Before running anything, you need to tell Colab that you are interested in using a GPU. You can do this by clicking on the `Runtime` tab and selecting `Change runtime type`. A pop-up window will open up with a drop-down menu. Select `GPU` from the menu and click `Save. When you run the first cell, you will face a pop-up saying Warning: This notebook was not authored by Google`; you should leave the default tick in the `Reset all runtimes before running` check box and click on `Run Anyway`. If you opened a notebook from Github, you may need to save your work to Google Drive. You can do this by clicking on `File` and then `Save`. Click on `SAVE A COPY IN DRIVE`. This will open up a new tab with the same file, only this time located in your Drive. If you want to continue working after saving, use the file in the new tab. Your notebook will be saved in a folder called `Colab Notebooks` in your Google Drive by default. If you run a script which creates/downloads files, the files will NOT persist after the allocated instance is shutdown. To save files, you need to permit your Colaboratory instance to read and write files to your Google Drive. Add the following code snippet at the beginning of every notebook. ```python from google.colab import drive drive.mount('/content/gdrive', force_remount=True) root_dir = "/content/gdrive/My Drive/" base_dir = root_dir + 'masterUB/' ``` Now, you may access your Google Drive as a file sytem using standard python commands to both read and write files. ## Course Software Installation: Working with Docker You can run the course software using a **Docker container**. > A gentle introduction to docker: [How Docker Can Help You Become A More Effective Data Scientist](https://towardsdatascience.com/how-docker-can-help-you-become-a-more-effective-data-scientist-7fc048ef91d5)

[Next Page fast_forward](deep1.html)