Programmes des tutoriels

Accéder à tous les webinaires des tutoriels

Tutoriel 1 – Vérification formelle de réseaux de neurones profonds: théorie et pratique

lundi 29 juin – 10h30 – 12h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenants : Julien Girard-Satabin (CEA LIST/INRIA), Guillaume Charpiat (INRIA), Zakaria Chihani (CEA LIST)
  • Résumé : Can we trust the predictions of a neural network? Given a specification, is it possible to prove that it will never make a mistake? This tutorial presents an overview of formal verification methods, as well as a practical case study showing how they can be used to soundly check that a neural network is robust and reliable. [All material will be provided in English, the speakers will speak in French or English according to the audience.]
  • Programme détaillé : The tutorial will be using an interactive content; software material will be given beforehand to the participants if possible. A notebook-like tool hosted online (as Google Colab) will be the provided; an offline fallback notebook will also be available if the internet connection is not good enough. The main applica- tion will be a real-world problem scaled down, to allow fast experiments and tinkering. Notebooks will largely be pre-filled, to focus the participants on the important tasks: defining properties, changing the tools parameters and the verification process, and so on.
    1. Introduction to verification and formal methods
      • background on formal methods: computing sets and domains, abstract interpretation and exact verification
      • state-of-the-art in deep neural network verification: ReLU overapproximation, MILP/SMT formulations and tools
    2. Setup for the practical session
      • presentation of the example problem
      • setup of the tutorial environment
      • setup of the dataset and training
    3. How to express a property to check
      • description and implementation of the conversion pipeline: the trained neural network must be converted to the ONNX generic format (widely supported by the various deep learning frameworks), which in turn is then converted to various output formats: logical formulas, C code, solvers inputs, etc.
      • how to define a specification and formalize a property to check; defin- ing a safety property to the toy problem
    4. Checking properties with verification tools
      • launching verification tools on the tutorial problem with the property defined
      • another property: prove the absence of adversarial example on a subspace of inputs: definition of the threat model, setting up the property, launching the verification tools
  • Link to the material: https://gitlab.inria.fr/jgirard/pfia-2020
  • Support de présentation

Tutoriel 2 – Ontology learning et IA

lundi 29 juin – 15h30 – 17h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenants : Mounira Harzallah (LS2N), Ahmad Alaa Eddine (IRISA, Université Libanaise)
  • Résumé : Peut-on construire une ontologie d’une façon automatique à l’aide des méthodes de fouille des données/apprentissage automatique ? Si oui, quelles sont les méthodes à utiliser et comment peut-on les adapter pour accomplir les étapes de conceptualisation d’ontologie ? Quelles sont leurs limites ?  Comment peut-on évaluer la qualité d’une ontologie construite avec ces méthodes ? L’objectif de ce tutoriel est de répondre à ces questions tout en se focalisant sur les étapes d’extraction de concepts et de relation. Il comprend une première partie théorique pour présenter ces méthodes et leur adaptation à l’objectif de construction automatique d’ontologie à partir de textes et une deuxième partie pratique dédiée à l’utilisation de la plateforme Anaconda et des librairies de NLP ou de fouille de données/machine learning pour cet objectif.
  • Programme détaillé : Partie théorique
    1. Processus de construction d’ontologie à partir de textes.
    2. Méthodes de fouilles/Apprentissage pour la construction automatique d’ontologie : typologie, principes d’adaptation, paramètres, difficultés et limites.
    3. Méthodes/métriques pour l’évaluation des résultats.

    Partie Pratique : nous utilisons la plateforme Anaconda, des librairies NLTK, spaCy, sklearn,… et un corpus de textes pour une démonstration des étapes suivantes et de leurs résultats :

    1. Prétraitement d’un corpus de texte.
    2. Sélection de termes.
    3. Choix et Construction de l’espace de représentation des termes (Couples de termes).
    4. Clustering/classification des termes.
    5. Evaluation des résultats.

Tutoriel 3 – Optimisation sous contraintes distribuée pour l’internet-des-objets

jeudi 2 juillet – 10h30 – 12h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenants : Pierre Rust (Orange), Gauthier Picard (Mines Saint-Etienne)
  • Résumé : La nature sans cesse croissante de l’Internet des Objets (IoT) et des domaines d’application connexes (Smart home, Smart buildings, etc.) avec de nombreux objets et configurations exige de plus en plus d’autonomie et de coordination. Les systèmes multi-agents sont un paradigme approprié pour modéliser et développer des applications et une infrastructure pour mettre en œuvre de tels environnements IoT. Dans les techniques multi-agents, le raisonnement par contraintes distribuées est une approche pertinente pour modéliser des problèmes complexes et décentraliser les décisions de manière coordonnée. Le Tutoriel sur l’optimisation des contraintes distribuées pour l’Internet des Objets propose de passer en revue certaines méthodes de solution DCOP pertinentes pour le contexte de l’IoT, de modéliser une véritable étude de cas de maison intelligente, et enfin de programmer et déployer des méthodes de solutions DCOP sur un véritable environnement IoT composé de Raspberry Pis.
  • Programme détaillé :
    1. DCOP Framework: theoretical presentation of the DCOP model and some issues raised when applying them to the specific case of IoT.
    2. Hands on PyDCOP I: practical illustration of the definition of DCOPs using the pyDCOP programmig environment.
    3. Focus on Some Solution Methods: presentation of some DCOP solution methods which have good properties to be deployed on IoT environments (DPOP, Max-Sum, DSA, MGM).
    4. Hands on PyDCOP II: practical illustration of running the reviewed algorithms on some toy problems.
    5. Focus on Smart Environment Configuration Problems Distributing Computations: exploration of a smart environment problem that illustrates the potential of using DCOPs in IoT environments. We also raise and solve the problem of distributing computations on the different objects in the environment.
    6. Hands on PyDCOP III: practical application of the distribution notions.
    7. Dynamic DCOPs: discusses how to repair a DCOP deployment as to ensure the resilience of the embedded systems, using the pyDCOP repair utilities.

    The practical session relies on an Open Source library that is available at https://github.com/Orange-OpenSource/ pyDCOP. A virtual machine containing all the required libraries and software is provided for download.

    https://www.emse.fr/~picard/dcop4iot/

  • Support de présentation

Tutoriel 4 – Comportements, Services et Communications en Jade : application à la recherche de voyages

jeudi 2 juillet – 15h30 – 17h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenant : Emmanuel Adam (Université Polytechnique des Hauts-De-France)
  • Résumé : Le but de ce tutoriel est d’étudier les différents modes de communication FIPA entre agents.
    Il s’agit ici d’agents à gros grain, possédant rôles, reliés à des services, utilisant un mécanisme de boite aux lettres.
    Différents types de communication sont possibiles : directs et nommés, par broacast, via des protocoles pré-définis.
    Dans ce tutoriel, des agents sont créés pour gérer les échanges entre des voyageurs et des services d’informations sur des voyages.

Ces agents seront développés en Java, avec la plateforme JADE (https://jade.tilab.com).

  • Programme détaillé :
    • Etape 1 :  Agentification du problème : étape guidée afin de tous ou presque utilise par la suite les mêmes classes d’agents, et de comportement ainsi que la même représentation des données de l’environnement
    • Etape 2 : Création des classes d’agents et des comportements, tests de communications et de comportements simples
    • Etape 3 : Utilisation des protocoles de communication  (AchieveRE, ContractNet) (pour la recherche et sélection de voyages…)
    • Etape 4 : Ecoute de message d’alerte et adaptation des agences et de voyageurs au message reçu
    • Une partie du code présent sur cette page pourra être utilisé : https://emmanueladam.github.io/jade/

Tutoriel 5 – Explicabilité en Intelligence Artificielle

vendredi 3 juillet – 10h30 – 12h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenants : Rémy Chaput (LIRIS, Lyon1), Amélie Cordier (Lyon-is-IA), Alain Mille (LIRIS, Lyon1, Coexicience)
  • Résumé : L’objectif du tutoriel est de formaliser les questions vives de la recherche en matière d’explicabilité en les ancrant dans le mouvement historique de l’IA, en listant les chantiers actuels et en proposant des chantiers à ouvrir pour alimenter l’offre de réponses adaptées aux questions de la société. Il est ouvert à tous les publics chercheurs, professionnels et amateurs qui s’intéressent à ces questions dans le cadre de leur recherche, de leur activité professionnelle ou citoyenne.
    La notion même d’intelligence artificielle est concomitante à la naissance de la science du calcul lancée par Turing. La question de l’explicabilité a accompagné la recherche dans le domaine depuis que le terme d’Intelligence artificielle a été retenu en 1956 à Dartmouth College, avec d’emblée une branche « symbolique » et une branche « non symbolique ». L’actualité du numérique au 21ème siècle renouvelle la question avec les progrès spectaculaires liés à l’apprentissage profond, mais aussi et peut-être surtout, par le fait que la société soulève les questions éthiques liées à la mise en œuvre d’agents artificiels à qui l’on délègue des tâches cognitives. L’objectif du tutoriel est de formuler les questions de recherche en les ancrant dans le mouvement historique de l’IA, en listant les chantiers actuels et en ouvrant des perspectives sur des chantiers à ouvrir pour alimenter l’offre de réponses adaptées aux questions de la société.
  • Programme détaillé :
    1. Pourquoi l’explicabilité en IA est-elle aujourd’hui une question centrale à étudier ?
      1. Définition(s) de l’explicabilité dans le cadre de l’IA
      2. Exemples et contre-exemples de systèmes d’IA explicables ou non, au sens de la définition retenue pour le tutoriel
      3. Au delà des techniques de l’IA, opacité des « intelligences artificielles » du 21ème siècle
    2. Explicabilité et IA au fil du temps : Illustration sur une ligne de temps permettant d’accéder interactivement à l’information et aux références principales (sur le web).
    3. Comment l’explicabilité est-elle actuellement traitée dans la communauté de l’IA ?
      1. Analyse des conférences mondiales, des lignes éditoriales des journaux de l’IA
      2. Les questions retenues et la manière d’y répondre actuelles
      3. Les questions qui ne figurent pas (encore) à l’agenda des conférences et lignes éditoriales des journaux (mais qui sont formulées par la société)
    4. Une proposition d’agenda de recherche illustré d’exemples dans différents domaines selon le degré d’exigence recherché, du point de vue éthique notamment.

Tutoriel 6 – SPARQL-Generate: Génération de RDF et de texte à partir de RDF et flux de documents dans des formats hétérogènes

vendredi 3 juillet – 15h30 – 17h30 : Accéder à ce webinaire

Accéder à la plate-forme pour les travaux pratiques

  • Intervenant : Maxime Lefrançois (Mines Saint-Etienne)
  • Résumé : SPARQL-Generate est un langage de transformation de RDF qui permet d’interroger des jeux de données RDF et des flux de documents dans des formats hétérogènes, pour générer du RDF ou du texte. La version actuelle de SPARQL-Generate permet d’exprimer des requêtes depuis tout type de CSV, JSON, HTML, GeoJSON, CBOR (version binaire de JSON), ou encore des flux de messages WebSocket ou MQTT. SPARQL-Generate est utilisé dans de nombreux cas d’utilisation, notamment :
    • génération de linked data à partir de flux de documents ;
    • génération de linked data à partir de gros documents ;
    • transformation de jeux de données RDF ;
    • génération d’une ontologie à partir de documents ;
    • génération de documentation d’ontologies.

    Le langage intègre différentes astuces syntaxiques facilitant la déclaration de transformations de documents en RDF, incluant (1) l’identification des documents sources, (2) la sélection itérative de sous-parties de ces documents, (3) des IRIs et littéraux à variables, (4) l’appel à des requêtes externes, (5) la génération de listes RDF. Il inclue une sous-partie du langage de transformation STTL (SPARQL-Template), qui permet également de générer du texte. De plus, Étant une extension de SPARQL 1.1, le langage présente également les avantages suivants:

    • Ceux qui sont familiers de SPARQL peuvent apprendre facilement SPARQL-Generate ;
    • SPARQL-Generate bénéficie de l’expressivité de SPARQL 1.1: agrégats, modificateurs de séquences de solutions, fonctions SPARQL et mécanisme d’extension ;
    • SPARQL-Generate s’intègre naturellement avec les standards existants pour consommer le Web des données, comme SPARQL ou les frameworks de programmation Web Sémantique.

    L’implémentation, basée sur Jena et disponible sous licence Apache 2.0, est utilisable sur un site internet de démonstration, en ligne de commande, ou sous forme de librairie Java. Dans ce tutoriel, mettant en avant la pratique, les participants apprendront étape par étape à utiliser SPARQL-Generate, et à l’étendre pour intégrer de nouvelles fonctionnalités. Les participants pourront suivre et expérimenter avec leur ordinateur. Ce qui souhaiterons utiliser le jar ou l’API devront avoir Java 1.8 et un IDE.

Retour en haut