Introduction à l’Intelligence Artificielle
M.-J. Huguet
https://homepages.laas.fr/huguet 2019-2020
Marie-José Huguet Mini CV
Professeur en Informatique INSA Toulouse
Département Génie Electrique et Informatique Responsable filière ingénieur « Systèmes Distribués et Big Data » Mastère Spécialisé « Valorisation des Données Massives »
LAAS-CNRS Département Décision et Optimisation (DO)
DO : Optimisation / Contrôle / Supervision / Diagnostic Responsable équipe ROC :
o Recherche Opérationnelle – Optimisation Combinatoire – Contraintes
homepages.laas.fr/huguet/
2
Le buzz (1) L’IA est en vogue dans les médias et la presse scientifique
Nombreuses réalisations depuis 20 ans avec une forte accélération : 1997 : Deep Blue (IBM) : un système informatique bat le champion du monde
d’échecs 2005 : Challenge DARPA : un robot se déplace de façon autonome en env.
inconnu 2007 : Challenge DARPA : un robot se déplace de façon autonome en env. urbain 2011 : Watson (IBM) : bat des champions du monde au Jeu Jeopardy! 2012 : Succès de l’apprentissage profond en reconnaissance d’images
(Imagenet) o Large Scale Visualization Challenge
2014 : Google : description automatique d’images 2015 : Facebook : reconnaissance faciale 2015/2016 : AlphaGo (Google) : bat le champion du monde de Go 2016 : Daddy’s Car (composition style Beatles), Sony CSL …………………..
3
Le buzz (2)
…. 2017 … 2018 … 2019 … 2020 Compagnons Traduction instantanée Recommandation, identification de communautés Véhicules sans chauffeur
Impact des données massives sur le (re)-nouveau de l’IA Apprentissage « artificiel » ou apprentissage « machine »
4
Données et Connaissances
Connaissances Indispensables pour une machine intelligente
Différents axes de recherche en IA :
Modélisation et règles d’utilisation des connaissances o 1er axe de l’IA : imiter la pensée et le raisonnement
Acquisition progressive de connaissances par une machine o 2e axe de l’IA : imiter le fonctionnement du cerveau
Ajout d’un 3e axe : analyser les données o Statistiques et probabilités
Complémentarité de ces axes
5
Références (1)
Livres Intelligence Artificielle, S. Russel, P. Norvig, Pearson Education, 2010
http://aima.cs.berkeley.edu/
Apprentissage Artificiel, A. Cornuejols, L. Miclet, V. Barrat, Eyrolles, 3ème Ed., 2018
Recherche / Vulgarisation scientifique L’héritage d’Alan Turing, Journal du CNRS Intelligence Artificielle, Livre Blanc INRIA Chaine youtube science4all et
série « Intelligence Artificielle et Machine Learning »
L’IA, mythes ou réalités, Intersectices 2015 https://interstices.info/jcms/p_84122/l-intelligence-artificielle-mythes-et-realites
6
Références (2) Cours (accessibles sur le web):
Histoire de l’IA, Frédéric Fürst, Univ Picardie, 2015 (?) Apprentissage, Jean-Daniel Zucker, UPMC, 2010-2011 Apprentissage non supervisé, Nicolas Baskiotis, UPMC, 2016-2017 Apprentissage, Chloe-Agathe Azencott, Centrale SupElec, 2016-
2017
7
Références (3) Cours du collège de France
http://www.college-de-france.fr Enseignement
Chaire Mathématiques et Sciences Numériques Gérard Berry : Algorithmes, machines et langages
Enseignement Chaires annuelles Informatique et Sciences Numériques
2017-2018 : Claire Mathieu : o Algorithmes
2015-2016 : Yann LeCun : o L’apprentissage profond
2011-2012 : Serge Abiteboul : o Sciences des données : de la logique du premier ordre à la toile
8
Références (4) Associations scientifiques :
AFIA : Association Française d’IA : http://afia.asso.fr/ GdR IA : Groupe de Recherche IA (CNRS) : http://www.gdria.fr/
Jeux de tests : Opendata : https://www.data.gouv.fr/fr/ UCI : http://archive.ics.uci.edu/ml/index.php Challenge Kaggle : https://www.kaggle.com/
Groupe Meetup Toulouse Data Science
https://www.meetup.com/fr-FR/Tlse-Data-Science/
9
Section 1. Contexte : l’Intelligence Artificielle
10
IA : les débuts Les bases de l’IA (A. Turing 1950)
Une machine peut-elle penser ? Eng : http://cogprints.org/499/1/turing.html Fr : https://books.google.fr/books?id=Aab_kiv_DwMC&pg=PA39#v=onepage&q&f=false
Reformulation : une machine peut-elle imiter l’être humain ? Intérêt :
On peut évaluer la réponse à la deuxième question et comparer une machine à l’être humain qui lui pense
L’intelligence est indépendante de la forme
Test de Turing : Evaluer la deuxième question Jeu de l’imitation auquel est soumis une machine
Le résultat du jeu : la machine est déclarée intelligente ou pas
11
IA : Test de Turing (1) Hypothèses :
toute activité intellectuelle peut se reproduire à l’aide d’un nombre fini de symboles que l’on stockerait et que l’on emploierait au fur et à mesure que le raisonnement avance.
les êtres humains peuvent juger de l’intelligence d’une machine en comparant son comportement avec le comportement humain
Principe : Un observateur dialogue avec une machine et un être humain
S’il ne peut pas distinguer l’être humain de la machine alors celle-ci passe le test de Turing et est déclarée intelligente
12
Mais : des comportements intelligents ne sont pas humains. Exemple résoudre des calculs complexes rapidement
Mais : des comportements humais ne sont pas parfaits ni rationnels
Pour se faire passer pour un humain, une machine doit avoir sa logique, mais aussi… ses défauts
IA : Test de Turing (2)
Test original
13
Situation 1 : dialogue entre observateur, une femme (dit la vérité) et un homme se faisant passer pour une femme (ment)
Situation 2 : dialogue entre observateur, une femme et une machine remplaçant l’homme se faisant passer pour une femme
Résultat : si l’observateur trouve aussi souvent la bonne réponse dans la situation 2 que dans la situation 1 alors la machine a réussi à imiter l’homme
Femme Homme
Observateur
Femme Ordinateur
Observateur
IA : une machine qui apprend ? Les bases de l’IA (A. Turing 1950)
Comment arriver à imiter le cerveau d’un être humain ? Impossibilité d’apprendre par cœur comment répondre dans toutes les situations
Simuler un processus d’évolution à partir d’un état plus simple Machine « enfant » Processus d’évolution et de sélection
Introduction de la notion de « machine qui apprend »
Impossibilité d’avoir une représentation de l’état interne de la machine Différence avec le comportement « prévisible » utilisé pour réaliser des calculs Intégrer du hasard dans le processus d’évolution
Par où commencer ?
Résoudre des problèmes complexes (jeu d’échecs) Développer des organes sensoriels
14
Histoire (brève) de l’IA (1) 1956 : Naissance « officielle » de l’IA
Conférence de Dartmouth (initiateurs : )
15
Rêve de l’IA : Construire des machines pouvant égaler l’être humain - Comment simuler la pensée et le langage au travers de règles formelles? - Comment faire penser un réseau de neurones? - Comment doter une machine de capacité d'apprentissage automatique? - Comment doter une machine de créativité?
Histoire (brève) de l’IA (2)
Précurseurs (années 1950 …) : A. Turing : une machine peut-elle penser ? (Test de Turing) H. Simon & A. Newel : démonstration automatique de théorèmes (Logic Theorist) W. Mc Culloch & W. Pitts : réseaux de neurones artificiels W. Weaver : règles linguistiques, traduction automatique
1956 – 1974 : l'Age d’or 1957 : Perceptron (F. Rosenblatt) : réseau de neurones artificiels à 1 seule couche
1957 : GPS General Problem Solver (H. Simon & A. Newel) o Problème = Etat Courant, But, Opérateurs o Systèmes de production = ensemble de règles d’inférence o Résolution : appliquer ces règles (ch. arrière / induction)
1958 : LISP (J. Mc Carthy) : LISt Processing, langage de référence de l’IA o Représentation du programme et des données par des listes
Année 60 : Grammaires de N. Chomsky, Réseaux Sémantiques (R. Quillian)
16
Histoire (brève) de l’IA (3) 1956 – 1974 : l'Age d’or
Problèmes de jeux, Démonstration, Heuristiques, Logique, Planification d’actions, Traitement du langage naturel, Vision, …
Deux familles :
Logique et informatique : imiter la pensée et le raisonnement Sciences cognitives et sciences humaines : imiter le fonctionnement du cerveau
Des prédictions (1958) … dans 10 ans …
o un ordinateur sera champion du monde d’échecs • 1997 : Deep Blue
o un ordinateur écrira de la musique qui sera considérée comme esthétique • 2016 : Daddy’s Car (style des Beatles), ….
o un ordinateur découvrira un théorème fondamental des mathématiques o les théories psychologiques auront la forme de programmes
17
Histoire (brève) de l’IA (4)
1974 – 1980 : Premier hiver de l’IA Crise scientifique, morale et financière
Limite en puissance de calcul, Limite NP-Complétude (Cook 71; Karp 72) Besoin de grandes masses de données pour produire des connaissances
Paradoxe : o certains problèmes difficiles pour l’être humain peuvent être résolus (ex :
démonstration) o mais pour des problèmes faciles pour l’être humain (reconnaître un visage), il
n’y a pas de résultats probant
Est-il pertinent de doter les machines d’intelligence ?
L’intelligence peut-elle se ramener à des modèles symboliques ?
Développement de nouveaux modèles et méthodes : o Extension des logiques : Multi-valuées, Floues, Modales, Temporelles, … o Langage Prolog (clauses de Horn),
18
Histoire (brève) de l’IA (5)
1980-1987 : le retour des financements … Boom des systèmes experts et de l’ingénierie des connaissances (E. Feigenbaum)
Application à des domaines spécifiques (demande des entreprises) o Pour limiter l’explosion combinatoire des systèmes de production o Premiers systèmes experts : DENDRAL (Chimie), MYCIN (Médical)
Nouveaux modèles d’acquisition et de représentation des connaissances o Graphes conceptuels, Logique de description
Raisonnement et Décision : Programmation par contraintes, Raisonnement à base de cas,
Apprentissage symbolique Permettre aux programmes de s’améliorer
Liens avec la biologie Algorithmes génétiques, Insectes sociaux, Systèmes Multi-Agents Réseaux de neurones : rétro-propagation du gradient (J. Hopfield)
o Applications à la reconnaissance de caractères ou reconnaissance vocale
19
Histoire (brève) de l’IA (6)
1987 – 1993 (1995 ?) : Second hiver de l’IA Spécialisation/Fragmentation de l’IA en nombreux sous-domaines Recentrage vers la robotique
o Le corps (capacités sensorielles, mouvement) est essentiel pour produire de la connaissance et du raisonnement
J. Pearl : liens entre des problèmes d’IA et d’autres domaines (mathématique, économie, recherche opérationnelle) : probabilité, théorie de la décision, optimisation, modèles de Markov, réseaux bayésiens, …
Nombreuses réalisations dans des applications spécifiques :
o Robotique industrielle, reconnaissance vocale, diagnostic, reconnaissance des formes, recherche d’information, …
Quand un problème est résolu, ce n’est plus un problème d’IA …
20
Histoire (brève) de l’IA (7)
Fin années 1990 : Retour en force de l’IA Années 1990 :
Développement des ordinateurs personnels, des jeux vidéos et du Web
o Rendre les moteurs de recherche plus intelligent • Web sémantique : des données aux connaissances / Ontologies
o Coder une IA ≈ coder un algorithme de jeu
Pionniers (en France) Jacques Pitrat (Doct. 1966) et Jean-Louis Laurière (1976 – ALICE) - Paris 6 Alain Colmerauer (Doct. 1967, - Prolog1 1974, Prolog4 1996) - Marseille
21
Histoire (brève) de l’IA (8) Et maintenant :
Données massives Explosion des données
Convergence de différentes évolutions Méthodes de « Data Science » Méthodes computationnelles / Algorithmes Capacité de calcul et de stockage
o processeurs, architectures des systèmes informatiques
Focalisation importante sur l’Apprentissage (Artificiel) Automatique Rôle clé pour une machine « intelligente »
22
Apprentissage Automatique Domaine multi-disciplinaire
Apprentissage Automatique
Statistiques Optimisation
Intelligence Artificielle
Automatique
Traitement du Signal Médecine /
Biologie
Sciences Cognitives
- Raisonnement et Décision - Représentation des connaissances - Robotique : planification, reconnaissance de formes/vision
Probabilités
Les limites de l’informatique (1) … on ne peut pas tout calculer ….
24
Limites des calculs Travaux A. Turing 1936 Calculabilité : ce qui est calculable peut
être décomposé en un nombre fini d’étapes Concept de « machine » simulant les calculs :
base du fonctionnement des ordinateurs actuels
Décidabilité : Peut-on tout calculer ? NON
Les limites de l’informatique (2) …. on n’a pas assez de temps ….
25
Difficulté des calculs : Complexité Besoin en ressources (temps et mémoire)
o en fonction des données d’entrée o Que va-t-il se passer si les données
varient en taille ? o Classification des problèmes
Problèmes « faciles »
Problèmes « difficiles » Ex : Voyageur de commerces
o Pour 4 points : • 6 trajets ≠
o Pour 8 points : • plus de 5 000
o pour 13 points : • plus de 480 millions
o A 3 GHz (3 op / 10−9seconde) • 19 villes : 1 an
• 27 villes : 8x âge univers
o Si 1 op / 10−44 seconde • 50 villes : 400 x âge univers
Section 2. L’apprentissage automatique
26
Définition générale Qu’est-ce que l’apprentissage pour une « machine » ?
Simon (1983) : changements dans un système lui permettant d’améliorer ses performances sur une tâche déjà vue ou similaire. Tâches ? Applications ?
o Prédiction ? Classification ? Planification et Action ? Résolution de problèmes ? Changements ?
o Acquérir de nouvelles connaissances / de nouvelles capacités o Réviser ses connaissances / son comportement
• Résoudre mieux / plus efficacement les problèmes Performances ?
o Des capacités du système après apprentissage, …
Qu’est-ce que l’apprentissage statistique ? Donner aux ordinateurs la capacité d' « apprendre » à partir de données Obtenir des modèles de données ou de processus lorsque la formalisation de règles
explicites semble impossible Description des données estimation d’un modèle (entrainement) Prédiction sur ces données exploitation d’un modèle
27
Démarche
28
Données
Connaissances - Modèles
Décisions – Solutions -
Actions
Apprentissage Résolution de
problèmes
Résolution de problèmes
Apprentissage
Problème
Raisonnement déductif : Déterminer une conclusion particulière à partir d’affirmations générales
Raisonnement inductif : Déterminer des « lois » générales à partir de cas particuliers
Exemple Apprendre à jouer aux échecs
But : Apprendre les règles du jeu par observation ? Apprendre à bien jouer ? Prédire les actions de l’adversaire ? Prédire le vainqueur ? …
Méthode de résolution pour chercher le prochain coup à jouer algo MinMax basé sur une fonction d’évaluation
Apprendre une « bonne » fonction d’évaluation Identifier des stratégies par rapport à des positions, Apprendre par cœur certains
coups, …
Choix des données d’apprentissage : quelles parties d’échecs ? Intérêt de prendre en compte des coups « faibles », des
coups illégaux ? Quel séquencement ?
Comment valider après apprentissage : nombre de parties gagnées (sur quel échantillon ?) avec explication ?
29
Exemple Reconnaître des caractères manuscrits
Quels caractères : séparation des éléments ? Difficulté : impossible d’apprendre par cœur toutes les formes
d’écriture Codage des données : matrice binaire Pré-traitement des images et segmentation
o Homogénéisation (centrage, échelle, ….) Reconnaissance (classification)
Descripteurs pertinents o hauteur, largeur, boucle, …
Post-traitement : spécificités linguistique
Reconnaissance des Formes : Théorie du Codage (de l’information), Traitement du signal, Traitement d’images, …
30
Mesures
Représentation
Décisions
codage
classification
Raisonnement Différents mécanismes de raisonnement
Raisonnement inductif : de l’expérimentation à la production de connaissances Déterminer des « lois » générales à partir de cas particuliers
Partir d’un nombre fini de propositions pour en proposer une conclusion Supervisé : avec « professeur » Non supervisé : « sans professeur » Par renforcement : processus incrémental par interactions avec environnement Exemples : classification, partitionnement, identification, ….
Raisonnement déductif : de l’explication à la révision de connaissances Déterminer une conclusion particulière à partir d’affirmations générales
La conclusion est une conséquence nécessaire des affirmations par inférence logique
Environnement connu / inconnu Exemples : Résolution de problèmes, action
31
Données Différentes natures
Données quantitatives : Valeurs continues ou discrètes
Données qualitatives (catégorielles) : Valeurs discrètes Exemple : genre ; pays de naissance
Données ordinales : Valeurs discrètes avec relation d’ordre Exemple : nombre d’étoiles pour évaluer un service
Données séquentielles :
Exemple : séquence d’états
Données temporelles Données spatiales
32
Différentes étapes
Un problème à résoudre
Acquisition des données Quelles données ? Comment les collecter ? Caractéristiques des données
Préparation et nettoyage des données Données manquantes ? Données bruitées ?
Obtention d’un modèle Phase d’entrainement sur une partie des données
Evaluation du modèle Phase de validation du modèle sur une autre partie des données
Déploiement Mise en « production » du modèle pour résoudre le problème posé
33
Différents types d’apprentissage (1)
Apprentissage supervisé Deux étapes
1. Déterminer un modèle à partir de données étiquettées
34
Environnement 𝑋
Oracle Evaluation 𝑓
Apprentissage : Estimation ℎ
Données
Etiquettes : 𝑓 𝑥𝑖 ,∀𝑖 ∈ [1, . .𝑚] Données : 𝑥𝑖 , … , 𝑥𝑚
Résultat : Modèle ℎ 𝑥𝑖 ~𝑓(𝑥𝑖),∀𝑖 ∈ [1, . .𝑚]
Différents types d’apprentissage (2) Apprentissage supervisé
Deux étapes 2. Déterminer l’étiquette d’une nouvelle donnée, connaissant le modèle appris
Qu’est-il appris ?
35
Classification (fonction discrète ou classe)
Régression (fonction continue)
Concept (fonction booléenne)
Différents types d’apprentissage (3) Apprentissage non supervisé
Le système ne dispose que d’exemples : Données sans étiquette
Nombre et nature des classes sont inconnus
Rechercher une structure dans les données Partitionner les exemples en clusters
Clustering (segmentation, partitionnement)
36
Différents types d’apprentissage (4) Apprentissage par renforcement
Apprendre par interaction avec l’environnement par rapport à des observations
Principe Observation d’un état Calcul d’une action (prise de décision) Réalisation de l’action Réception (et mémorisation) d’un résultat suite à cet action
Découvrir une stratégie via un mécanisme de récompenses (positives ou négatives)
37
Processus d’apprentissage supervisé
Séparation des jeux de données Base d’apprentissage
Performances en entrainement Base de test / validation
Performances en généralisation
Sous-apprentissage Le modèle appris est éloigné des
données En entrainement et en validation
Sur-apprentissage Le modèle appris se généralise mal
Erreurs sur la base de test
38
On ne trouve que ce qu’il y a dans les données Interprétation ? Explicabilité ? Equité ? Robustesse ?
Processus d’apprentissage non supervisé
Comment évaluer un bon clustering ? Homogènes : les éléments d’un même cluster sont similaires Séparés : les éléments de différents clusters sont différents
Plusieurs métriques d’évaluation
o Le résultat dépend beaucoup de la modélisation du problème et de la mesure de distance …
39
Méthodes d’apprentissage supervisé Exemple : réseaux de neurones
40
- Réseaux de relation entre entrées (données) et sortie (étiquettes)
- Pondération des entrées - Propagation des entrées vers la sortie - Fonction d’activation - Mesure des écarts / étiquettes - Rétro-propagation pour mise à jour des poids
- Arrêt : mesure de performances (erreur) sur
un ensemble de données
- Exemple d’architecture de réseaux de neurones avec une couche « cachée »
Méthodes d’apprentissage supervisé Nombreuses architectures de réseaux de neurones
41
- Prix Turing 2019 : deep learning - Y. LeCun, Y. Bengio et G. Hinton
https://towardsdatascience.com/the-mostly-complete-chart-of-neural-networks-explained-3fb6f2367464
Débats (anciens et nouveaux …) Intérêts/Craintes de l’IA dans la société :
Augmentation des connaissances Amélioration des technologies
Partage :
o L’Homme augmenté o Métiers et emplois
Conséquences écologiques Respect de la vie privée (Fouille de données, Internet des Objets, …) Robots guerriers … Éthique des recherches et des algorithmes, Transparence Autonomie partagée
42