COGNITIVE COMPUTING AND ARTIFICIAL INTELLIGENCE

Anno accademico 2021/2022 - 2° anno
Docente: Daniela GIORDANO
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 146 di studio individuale, 49 di lezione frontale, 30 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

Nota: Questo insegnamento è erogato in lingua inglese

The course provides an integrated and modern approach to the design and development of intelligent systems, by resorting to state of art technologies and methods from the fields of machine learning, knowledge representation, natural computation, logic and automated reasoning to solve typical and topical problems in application scenarios such as: business intelligence, decision-making support, human-computer interaction. The course provides the theoretical foundations of artificial cognitive systems, but it is essentially practical and application oriented. The students will gather hands-on experience on frameworks and libraries such as PYTORCH for deep learning; on languages supporting the development of semantic web and logic programming applications.

Learning objectives:

Knowledge and understanding

  • Understand the key tenets of modern cognitive architectures
  • Understand the mechanisms underlying classical and neural machine learning methods
  • Understand differences in approaches to perform reasoning and inference
  • Understand the scope of applicability of the main deep learning architectures

Applying knowledge and understanding

  • Be able to design, develop and validate systems that learn from heterogeneous data
  • Be able to design, develop and use an ontology
  • Be able to prototype behaviors of autonomous agents capable to interact adaptively with humans.

Making judgements

  • Recognize when a problem is best solved by a machine learning approach or by a symbolic Artificial Intelligence approach
  • Recognize the limitations and ethical implications of deploying Artificial Intelligence technologies

Communication skills

  • Present orally in English AI methods and architectures to solve domain specific problems
  • Document software choices in commented Python notebooks
  • Explain the motivations behind specific design choices

Learning skills

  • Learning to read effectively scientific papers written in English to focus the key idea and recognize the article contribution
  • Learning to repurpose creatively software artifacts
  • Learning to collaborate to solve a problem and prepare a joint report

Modalità di svolgimento dell'insegnamento

The course involves frontal lessons, laboratories, and seminars.

Should teaching be carried out in mixed mode or remotely, it might be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.


Prerequisiti richiesti

Knowledge of a programming language (any). Knowledge of linear algebra. Good software developments skills are not mandatory, but are a definite asset.


Frequenza lezioni

Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment of the oral exam.


Contenuti del corso

Part 1: Knowledge Representation, Reasoning, and Semantic Technologies

  • Introduction to Knowledge-Based Systems and to Knowledge Representation
  • Rational agents and their environments: from reactive agents to autonomous agents. The general SOAR cognitive architecture.
  • Reasoning: deductive and inductive reasoning; reasoning with uncertainty; case-based reasoning. Bayes networks and probabilistic inference
  • Problem solving: search strategies and optimization
  • The Logic approach: First order logic and logic programming. Fuzzy logic and the computing with words approach. Strengths and limitations.
  • The Semantic Web: The RDF Data Model. OWL: The Web Ontology Language. Ontology Engineering. Examples in Protege. The SPARQL query language. Reasoners. Other Semantic Web Technologies and Applications. Linked data.

Part 2: Machine learning and knowledge discovery from large scale multimedia data

  • Supervised learning: Regression, Support Vector Machines, Decision trees, KNN
  • Neural models: networks, model design, backpropagation, Gradient descent. Model capacity, overfitting and underfitting, regularization.
  • Deep Learning: tensors, deep learning frameworks, data augmentation, training strategies.
  • Deep learning Architectures: Convolutional Neural Networks (CNN) ; Recurrent Neural Networks (RNN); Autoencoders; GAN and CGAN
  • Problem solving through natural computation: reinforcement learning and evolutionary algorithms.
  • Multimedia analysis: Fundamental of multimedia signal processing (audio, video, biosignals). Image representations. Artificial vision. Object detection and recognition. Semantic segmentation. Text representations.
  • Knowledge discovery from data: the general data mining process, model construction and testing, performance evaluation and metrics, validation, cross-validation, visualization, model explainability.
  • Applications


Part 3: Autonomous agents and the NAO humanoid robotic platform

  • Theories of perception, action and interaction. Interactive autonomous agents. Human-robot interaction
  • The Nao robot operating system (NAOqi), the graphical programming environment Choreographe, NAO SDK.
  • Applications. Augmenting the NAO perceptual and cognitive system.

Testi di riferimento

Selected chapters from the following resources:

  1. Artificial Cognitive Systems: A Primer. David Vernon, MIT Press, 2014
  2. Artificial intelligence: a modern approach. Stuart Russell, Peter Norvig, 3rd edition, 2010
  3. Data Mining: The Textbook, Charu Aggarwal, 2015. Springer
  4. Deep Learning. I. Goodfellow, Y. Bengio and A. Courville, MIT Press, 2016
  5. A semantic Web Primer (third edition). Grigoris Antoniou, Paul Groth, Frank van Harmelen, and Rinke Hoekstra, 2012. The MIT Press, Cambrigde, Massachusetts, London, England.
  6. Teaching materials provided by the instructor


Programmazione del corso

 ArgomentiRiferimenti testi
1Introduction to cognitive computing and artificial intelligence from an historical perspecitve. The intelligent agent paradigm. Classic AI and Knowledge-Based Systems. The problem of Knowledge Representation. Cognitive architectures2, 6 
2Reasoning: deductive and inductive reasoning; reasoning with uncertainty; case-based reasoning.2,6 
3First order logic and logic programming. Fuzzy logic and the computing with words approach. Bayesian Logic and Bayes Networks2,6 
4Problem solving: search strategies and optimization; solving optimization problems with evolutionary programming2,6 
5The Semantic Web: The RDF Data Model. OWL. Ontology Engineering. Examples in Protege. The SPARQL query language. Reasoners. Other Semantic Web Technologies and Applications. Linked data.5,6 
6Introduction to machine learning. Supervised learning: Regression, Support Vector Machines, Decision trees, KNN. Applications of supervised and unsupervised clustering.
7Neural models: networks, model design, backpropagation, Gradient descent. Model capacity, overfitting and underfitting, regularization.3,6 
8Deep Learning: tensors, deep learning frameworks, data augmentation, training strategies. The PYTORCH framework and first examples.
9Convolutional neural networks (CNN). Architectures, convolutions and pooling layers. Case studies. Applications to computer vision and multimedia analysis4, 6 
10Recurrent Neural networks (RNN), Long Term Short Term Memory (LSTM). Autoencoders. GANs and CGANs. Case studies.
11Knowledge discovery from data: the general data mining process, model construction and testing, performance evaluation (metrics and crossvalidation). Available cognitive services and API3,6 
12Decision making and the design of decision support systems. Applications: recommender systems and business intelligence. AI in medicine and heathcare 3,6 
13Theories of perception, action and interaction. Interactive autonomous agents. Human-robot interaction. The challenges of multimodal interaction.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

The competences to be developed by the students will be tested by an oral exam that will consist of the discussion of a project work (70% of the final grade) and of 3 questions on key concepts and methodologies covered in the course (30% of the grade). Assessment criteria include: depth of analysis, adequacy, correctness and originality of the design solutions to the project work, ability to justify and critically evaluate the technological solutions adopted in the project/homeworks, clarity.


Esempi di domande e/o esercizi frequenti

Examples of questions and projects are available in Studium