Topic outline

  • Intelligent Systems for Pattern Recognition A.A. 2018-19 (ISPR)

    Code: 651AA, Credits (ECTS): 6, Semester: 2, Official Language: English

    Instructor: Davide Bacciu

    Contact: email - phone 050 2212749

    Office: Room 367, Dipartimento di Informatica, Largo B. Pontecorvo 3, Pisa

    Office Hours: Thursday, 16-18 (email to arrange meeting)

    • This topic


    • Course Information

      Weekly Schedule

      The course is held on the second term. The preliminary schedule for A.A. 2018/19 is provided in table below.

      The first lecture of the course will be on Thursday 21/02/2019.

      Time    Room  
      Friday 11-13    L1  


      Course Prerequisites

      Course prerequisites include knowledge of machine learning fundamentals (e.g. covered through ML course). Knowledge of elements of probability and statistics, calculus and optimization algorithms are also expected. Previous programming experience with Python is a plus for the practical lectures.

      Course Overview

      The course introduces students to the analysis and design of advanced machine learning models for modern pattern recognition problems and discusses how to realize advanced applications exploiting computational intelligence techniques.

      The course is articulated in four parts. The first part introduces basic concepts and algorithms concerning pattern recognition, in particular as pertains sequence and image analysis. The next two parts introduce advanced models from two major learning paradigms, that are (deep) neural networks and generative models, and their use in pattern recognition applications. The last part will go into the details of the realization of selected recent applications of AI models. Presentation of the theoretical models and associated algorithms will be complemented by introductory classes on the most popular software libraries used to implement them.

      The course hosts guest seminars by national and international researchers working on the field as well as by companies that are engaged in the development of advanced applications using machine learning models.

      Topics covered - Bayesian learning, graphical models, deep learning models and paradigms, deep learning for machine vision and signal processing, advanced neural network models (recurrent, recursive, etc.), (deep) reinforcement learning, signal processing and time-series analysis, image processing, filters and visual feature detectors, pattern recognition applications (machine vision, bio-informatics, robotics, medical imaging, etc), introduction to machine learning and deep learning libraries.

      Textbook and Teaching Materials

      The course does not have an official textbook covering all its contents. However, a list of reference books covering parts of the course is listed at the bottom of this section (note that all of them have an electronic version freely available online).

      [BRML] David Barber, Bayesian Reasoning and Machine Learning, Cambridge University Press

      [DL] Ian Goodfellow and Yoshua Bengio and Aaron Courville , Deep Learning, MIT Press

      • Lectures and Calendar

        The official language of the course is English: all materials, references and books are in English.

        Lecture slides will be made available here, together with suggested readings.

        Date Room Topic References Additional Material
        1 21/02/2019
        C1 Introduction to the course: motivations and aim; course housekeeping (exams, timetable, materials); introduction to modern pattern recognition applications

        Signal processing: timeseries; time domain analysis (statistics, correlation); spectral analysis; fourier analysis. (slides)

        Image processing: feature descriptors (color histograms, SIFT), spectral analysis, feature detectors (edge, blobs and segments). (slides)

        Additional Readings
        [1,2] Two high-level surveys on visual feature extraction and representation
        Generative and Graphical Models: probability refresher; graphical model representation; directed and undirected models: Bayesian networks; Markov networks; conditional independence and d-separation. (slides)
        [Video Bayesian Network Part2]
        [BRML] Ch. 1 and 2 (Refresher)
        [BRML] Sect. 3.1, 3.2 and 3.3.1
        (conditional independence)
        [BRML] Sect. 3.3 (Directed Models)
        [BRML] Sect. 4.1, 4.2.0-4.2.2 (Undirected Models)
        [BRML] Sect. 4.5 (Expressiveness)
        • Pyro - Python library based on PyTorch
        • PyMC3 - Python library based on Theano
        • Edward - Python library based on TensorFlow
         5  7/03/2019
         C1  Hidden Markov Models:  learning in directed graphical models; forward-backward algorithm;  generative models for sequential data
        [Video HMM Part1]
         [BRML] Sect. 23.1.0 (Markov Models)
        [BRML] Sect. 23.2.0-23.2.4 (HMM and forward backward) 
         Additional Readings
        [3]  A classical tutorial introduction to HMMs
         6  8/03/2019
         L1  Hidden Markov Models: part 2
        Notes on the derivation of Jensen inequality for EM
        [Video HMM Part2]
           Lesson CANCELLED - Will be recovered in April
           Lesson CANCELLED - Will be recovered in April    
         7  21/03/2019
         C1  Markov Random Fields: learning in undirected graphical  models; conditional random fields; pattern recognition applications
         [BRML] Sect. 4.2.2, 4.2.5 (MRF)
        [BRML] Sect. 4.4 (Factor Graphs)
        [BRML] Sect. 5.1.1 (Variable Elimination and Inference on Chain) 
        [BRML] Sect. 9.6.0, 9.6.1, 9.6.4, 9.6.5 (Learning in MRF/CRF)
         Additional Readings
        [4,5] Two comprehensive tutorials on CRF ([4] more introductory and [5] more focused on vision)
        [6] A nice application of CRF to image segmentation

        Check out pgmpy: it has Python notebooks to introduce to working with MRF/CRF
         8  22/03/2019
         L1 Boltzmann Machines: bridging neural networks and generative models; stochastic neuron; restricted Boltzmann machine; contrastive divergence
         [DL] Sections 20.1 and 20.2  Additional Readings
        [7] A clean and clear introduction to RBM from its author

        Matlab code for Deep Belief Networks (i.e. stacked RBM) and Deep Boltzmann Machines.
         9  28/03/2019
         C1 Bayesian Learning: non-parametric models; variational learning
         10  29/03/2019
         L1  Bayesian Learning: sampling methods
        (Guest Lecture by Daniele Castellana)
         M1  01/04/2019
        Midterm 1 discussions
         11  08/04/2019
         Recovery of 14/03/2019 lecture (topic TDB)
         12 11/04/2019
         C1  TDB    
         13 12/04/2019
         L1  TDB    
         14  15/04/2019
         C  Recovery of 15/03/2019 lecture (topic TDB)    

        • Course Grading and Exams

          Course examination for students attending the lectures is performed in 3 stages: midterm assignments, a final project and an oral presentation. Midterms provide bonus points for the final grade.

          Midterm Assignment

          Midterm assignments consist in a very short presentation (5 minutes per person) to be given in front of the class, presenting the key/most-interesting aspects of one of the following tasks:

          • A quick and dirty (but working) implementation of a simple pattern recognition algorithm
          • A report concerning the experience of installing and running a demo application realized using available deep learning and machine learning libraries
          • A summary of a recent research paper on topics/models related to the course content.

          Students might be given some amount of freedom in the choice of assignments, pending a reasonable choice of the topic. The assignments will roughly be scheduled every 1 month.

          Final project

          The final project concerns preparing a presentation concerning a topic relevant to the course content or the realization of a software implementing a non-trivial learning model and/or a PR application relevant for the course.

          Oral Presentation

          Prepare a seminar on the project to be discussed in front of the instructor and anybody interested. Students are expected to prepare slides for a 20 minutes presentation which should summarize the ideas, models and results in the report. The exposition should demonstrate a solid understanding of the main ideas in the report. The second part of the oral examination will test knowledge of the course contents (models, algorithms and applications).


          The final exam vote \(G\) is determined as

           \( G = G_P + G_O + \sum_{i=1}^{3} G_{M}^{i} \)


          • \( G_P \in [1,15] \) is the final project grade
          • \( G_O \in [1,14] \) is the oral grade
          • \( G_{M}^i \in \{0,1\} \) is the increment for the i-th midterm

          Non attending students

          Working students and those not attending course lectures will deliver an extended final project making up for the missing midterms. They will be subject to an oral examination like attending students.  Contact the instructor by mail to arrange project topics and examination dates.

          Grade for this exam modality is determined as

           \( G = 0.5 \cdot (G_P + G_O) \)

          where \( G_P \in [1,32] \) is the project grade and \( G_O \in [1,30] \) is the oral grade

          • Midterms and Projects

          • References

            Bibliographic References

            1. Scott Krigg, Interest Point Detector and Feature Descriptor Survey, Computer Vision Metrics, pp 217-282, Open Access Chapter
            2. Tinne Tuytelaars and Krystian Mikolajczyk, Local Invariant Feature Detectors: A Survey, Foundations and Trends in Computer Graphics and Vision, Vol. 3, No. 3 (2007) 177–2, Online Version
            3. Lawrence R. Rabiner:a tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE, 1989, pages 257-286, Online Version
            4. Charles Sutton and Andrew McCallum,  An Introduction to Conditional Random Fields, Arxiv
            5. Sebastian Nowozin and Christoph H. Lampert, Structured Learning and Prediction, Foundations and Trends in Computer Graphics and Vision, Online Version
            6. Philipp Krahenbuhl, Vladlen Koltun, Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials, Proc.of NIPS 2011, Arxiv
            7. Geoffrey Hinton, A Practical Guide to Training Restricted Boltzmann Machines, Technical Report 2010-003, University of Toronto, 2010