DAT255 Deep learning engineering
Course description for academic year 2022/2023
Contents and structure
Deep learning is a subfield of machine learning, and 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, 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 designing and deploying multiple deep learning solutions for practical, real-life problems using state-of-the-art techniques and software frameworks from machine learning, software engineering, machine learning engineering and deep learning. The students will experience first-hand how deep learning engineering relates to the broader discipline of software engineering.
- Able to explain fundamental concepts, models 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 limitations and challenges of using deep learning for real-world tasks.
- An understanding of the difference between deep learning as a discipline in itself, and deep learning engineering. This includes how deep learning relates to software engineering more broadly, and an understanding of machine learning engineering and MLOps.
- Possess a solid understanding of how deep learning is currently the main driver of progress in artificial intelligence.
- Able to solve concrete, practical problems from computer vision, natural language processing and recommender systems using deep learning.
- Experience with deployment of deep learning-based models, both local and cloud-based.
- Can develop and use modern, state-of-the-art software tools and frameworks for data analysis, machine learning and visualization.
- Ability to formulate and complete deep learning-based projects.
- Ability to present their work.
Recommended previous knowledge
The student should have programming skills at the bachelor level in a computer science or computer engineering program. Experience with Python will be a significant advantage. Exposure to core parts of software engineering will be very useful. 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).
This is to a large extent a "flipped classroom" course with a significant online, on-demand component. In addition, there will be a number of lectures expanding on the topics covered by the online course material. There will also 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 Førde, the course will be given as a fully digital offering.
Compulsory learning activities
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 of your project plans, where its feasibility, and validity will be evaluated. The mid-term assessment and the final project must be approved in order to take the exam. Approved assignments are valid for the examination semester and two following semesters.
Oral exam. Grading A-F, where F is failed. If there are more than 20 students in the course, the exam may be changed to a 4-hour written exam.
Examination support material
No examination aids are allowed for the final exam.More about examination support material