DAT255 Practical deep learning
Course description for academic year 2019/2020
Due to Covid-19, changes may occur in course descriptions for the spring semester of 2020. Changes in each course will be published on Canvas. When a course description has been changed on Canvas, the description on web is no longer valid. Examples of such changes could be accomplishment of practice, course type, or whether letter grades or passed/not passed will be used as grading scales.
Contents and structure
Deep learning is a subfield of machine learning, and it is what both launched and propels the recent surge of attention on artificial intelligence. The course will focus on deep learning and its applications in computer vision, sequence prediction, natural language processing and recommendation systems. The methods, tools and techniques covered by the course are widely applicable, and the course aims to be instructive to anyone wanting to apply deep learning to any task.
In addition to getting a solid understanding of deep learning, the students will get hands-on experience by solving practical, real-life tasks using state-of-the-art techniques and software frameworks from machine learning and deep learning.
- Able to explain fundamental concepts and algorithms in deep learning.
- Able to explain how deep learning can be used to solve practical problems from a variety of domains.
- Able to explain the limitations and challenges involved in using deep learning when faced with real-world tasks.
- Possess a solid understanding of the main driver of progress in artificial intelligence.
- Able to solve concrete, practical problems from computer vision, sequence prediction, natural language processing, time-series, forecasting, and recommender systems using machine learning and deep learning.
- Can develop and use modern, state-of-the-art software tools and frameworks for data analysis, machine learning, visualization and reporting. Including Python, Numpy, Pandas, PyTorch, Matplotlib, Seaborn and Jupyter Notebook.
- Ability to formulate and complete machine learning projects.
- Ability to present your work
General requirements for admission to the programme.
Recommended previous knowledge
The student should have basic programming skills at the bachelor level in a computer science or computer engineering program. Experience with Python will be a significant advantage. Several online resources for acquiring the recommended background knowledge will be provided at the beginning of the course.
You should have completed at least one course in machine learning, at the level of DAT158 (HVL) or INF283 (UiB) or ELMED219 (UiB). You should also have basic knowledge of statistics, at the level of MAT102 (HVL), STAT110 (UiB) or INF250 (UiB), and basic knowledge of linear algebra, at the level of MAT108 (HVL) or MAT121 (UiB).
This is a "flipped classroom" course with a significant online component. Most of the lectures will be delivered by a freely available online course in deep learning. The source of the online material will be announced when the course starts. Each week there will be hands-on labs where you will work on topics covered by the lectures and on your course project, assisted by the lecturer and fellow students. In addition, there will be on-demand lectures on topics requested by the students in the course.
During the course you will complete a deep learning project on a topic of your choosing, subject to approval from the lecturer. There will be a mid-term assessment where you will give a presentation of your chosen project. The feasibility, correctness, and validity of your project plan will be evaluated. The project must be approved in order to take the exam. Approved assignments are valid for the examination semester and 2 following semesters.
Oral exam. Grading scale is A-F where F is fail.
Examination support material
For the project presentation, the candidate may bring a computer, slides and notes. No examination aids are allowed for the second part of the exam.More about examination support material