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 the art technologies and methods from the fields of machine learning, large-scale multimedia analysis, natural computation, knowledge representation, logic and automated reasoning to solve typical and topical problems in application scenarios such as: natural human-computer interaction, business intelligence and decision-making support. The students will learn to design, develop and validate systems that learn from heterogeneous data (either in a supervised or unsupervised manner) and are able to detect and recognize patterns; 2) they will learn to program the behaviours of autonomous agents (NAO robots) capable to interact adaptively with humans. 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 languages supporting the development of semantic web and logic programming applications, on frameworks and libraries such as TORCH for deep learning; on MATLAB libraries for multimedia signal processing and data mining; and on the NAO autonomous, programmable humanoid robot.
The course involves frontal lessons, laboratories, and seminars.
Knowledge of a programming language (any). Knowledge of linear algebra. Good software developments skills are not mandatory, but are a definite asset.
Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment of the oral exam.
Part 1: Knowledge Representation, Reasoning, and Semantic Technologies
Part 2: Machine learning and knowledge discovery from large scale multimedia data
Part 3: Autonomous agents and the NAO humanoid robotic platform
Selected chapters from the following resources:
All the teaching materials and resources for the course will we available on Studium.
|1||Introduction 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.||2, 7|
|2||Reasoning: deductive and inductive reasoning; reasoning with uncertainty; temporal and spatial reasoning, case-based reasoning.||2,7|
|3||First order logic and logic programming. Bayesian Logic.||2,7|
|4||Fuzzy logic and the computing with words approach.||7|
|5||Problem solving: search strategies and optimization; solving optimization problems with evolutionary programming||2,7|
|6||The 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,7|
|7||Introduction to machine learning. Supervised learning: Probabilistic models, linear models, kernel-based methods, Support Vector Machines. Data pre-processing. Applications to classification and regression problems. Decision trees, information and entropy based criteria. Feature selection and PCA.||3|
|8||Neural models: networks, model design, backpropagation training. Reiforcement learning. Unsupervised learning and Self-organizing Maps. Applications of supervised and unsupervised clustering.||3,7|
|9||Multimedia analysis: Fundamental of multimedia signal processing (audio, speech, video). Image representations, filters, edge and contour extractions, segmentation. Image description; features and feature extraction, SIFT, bag-of-words models. Artificial vision. Object detection and recognition. Towards scene and context understanding.||6|
|10||Deep learning: issues with "deep" models, training methods. Overview of TORCH and first examples.||4|
|11||Convolutional neural networks (CNN). Architectures, convolutions and pooling layers. Case studies. Applications to computer vision||4|
|12||Recurrent Neural networks (RNN), Long Term Short Term Memory (LSTM). Autoencoders. Case studies.||4|
|13||Knowledge discovery from data: the general data mining process, model construction and testing, performance evaluation (metrics and crossvalidation). Big data and scalability issues. Available cognitive services and API||3,7|
|14||Decision making and the design of decision support systems. Applications: recommender systems and business intelligence||3,7|
|15||Theories of perception, action and interaction. Interactive autonomous agents. Human-robot interaction||1|
|16||The Nao robot operating system (NAOqi), the graphical programming environment Choreographe, NAO SDK.||7|
|17||Applications. Augmenting the NAO perceptual and cognitive system. The challenges of multimodal interaction.||7|
The competences to be developed by the students will be tested by an oral exam that will consist of the discussion of 3 practical homeworks to be submitted during the course (70% of the final grade) and of 3 questions on key concepts and methodologies covered in the course (30% of the grade). The students who will not be able to submit the 3 homeworks during the course will be assigned a project that will be worth 70% of the final grade. Assessment criteria include: depth of analysis, adequacy, correctness and originality of the design solutions to the project/homeworks, ability to justify and critically evaluate the technological solutions adopted in the project/homeworks, clarity.
Examples of questions and exercises are available in Studium