Course detail
Convolutional Neural Networks
FIT-KNNAcad. year: 2019/2020
Solutions based on machine learning approaches gradually replace more and more hand-designed solutions in many areas of software development, especially in perceptual task focused on information extraction from unstructured sources like cameras and microphones. Today, the dominant method in machine learning is neural networks and their convolutional variants. These approaches are at the core of many commercially successful applications and they push forward the frontiers of artificial intelligence.
Supervisor
Learning outcomes of the course unit
Students will gain basic knowledge of convolutional neural networks, their training (optimization), their building blocks and of the tools and software frameworks used to implement them. Students will gain insights in what factors determine accuracy of networks in real applications including data sets, loss functions, network structure, regularization, optimization, overfitting and multi-task learning. They will receive an overview of state-of-the-art networks in a range of computer vision tasks (classification, object detection, segmentation, identification), speech recognition, language understanding, data generation and reinforcement learning.
Students will acquire team work experience during project work and they will acquire basic knowledge of python libraries for linear algebra and machine learning.
Prerequisites
Basics of linear algebra (multiplication of vectors and matrices), differential calculus (partial derivatives, chain rule), Python and intuitive understanding of probability (e.g. conditional probability). Any knowledge of machine learning and image processing is an advantage.
Co-requisites
Not applicable.
Recommended optional programme components
Not applicable.
Recommended or required reading
Goodfellow, I., Bengio, Y., Courville, A.: Deep Learning. MIT Press, 2016.
Li, Fei-Fei, et al.: CS231n: Convolutional Neural Networks for Visual Recognition. Stanford, 2018.
Bishop, C. M.: Pattern Recognition, Springer Science + Business Media, LLC, 2006, ISBN 0-387-31073-8.
Planned learning activities and teaching methods
Not applicable.
Assesment methods and criteria linked to learning outcomes
- Project concluded by public presentation - 65 points.
- Three tests during the semester - 35 points.
Exam prerequisites:
Acquiring at least 50 points.
Language of instruction
Czech
Work placements
Not applicable.
Aims
Basic knowledge of convolutional neural networks, their capabilities and limitations. Practical applications mostly in computer vision tasks and completed by task from speech recognition and language processing. To allow students to design overall solutions using convolutional networks in practical applications including network architectures, optimization, data collection and testing and evaluation.
Classification of course in study plans
- Programme MITAI Master's
specialization NADE , any year of study, summer semester, 5 credits, elective
specialization NBIO , any year of study, summer semester, 5 credits, compulsory
specialization NGRI , any year of study, summer semester, 5 credits, elective
specialization NNET , any year of study, summer semester, 5 credits, elective
specialization NVIZ , any year of study, summer semester, 5 credits, compulsory
specialization NCPS , any year of study, summer semester, 5 credits, elective
specialization NSEC , any year of study, summer semester, 5 credits, elective
specialization NEMB , any year of study, summer semester, 5 credits, elective
specialization NHPC , any year of study, summer semester, 5 credits, elective
specialization NISD , any year of study, summer semester, 5 credits, elective
specialization NIDE , any year of study, summer semester, 5 credits, elective
specialization NISY , any year of study, summer semester, 5 credits, elective
specialization NMAL , any year of study, summer semester, 5 credits, compulsory
specialization NMAT , any year of study, summer semester, 5 credits, elective
specialization NSEN , any year of study, summer semester, 5 credits, elective
specialization NVER , any year of study, summer semester, 5 credits, elective
specialization NSPE , any year of study, summer semester, 5 credits, compulsory
Type of course unit
Lecture
26 hours, optionally
Teacher / Lecturer
Syllabus
- Introduction, linear models. loss function, learning algorithms and evaluation. (Organization, basics of neural networks, numpy tutorial)
- Fully connected networks, loss functions for classification and regression. (PyTorch simple regression, Image Classification)
- Convolutional networks, locality in equivariance of computation. (Lecture)
- Generalization, regularization, data augmentation. multi-task learning and pre-training. (Optimizers)
- Problems during network optimization and batch normalization. Existing image classification network architectures. (Image classification networks)
- Object detection: MTCNN face detector, R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD.
- Semantic and instance segmentation. Connections to estimation of depth, surface normals, shading and motion.
- Learning similarity and embedding. Person identification.
- Recurrent networks and sequence processing (text and speech). Connectionist Temporal Classification (CTC). Attention networks.
- Language models. Basic image captioning networks, question answering and language translation.
- Generative models. Autoregressive factorization. Generative Adversarial Networks (GAN, DCGAN, cycle GAN).
- Reinforcement learning. Deep Q-network (DQN) and policy gradients.
- Overview of emerging applications and cutting edge research.
Project
26 hours, compulsory
Teacher / Lecturer
Syllabus
Team project (2-3 students).
Individual assignments - proposed by students, approved by the teacher. Components:
- Problem Formulation, team formation.
- Research of existing solutions and usefull tools.
- Baseline solution and evaluation proposal.
- Data collection.
- Experiments, testing and gradual improvement.
- Final report and Presentation of the project.