2. Planning
• Elément du module : Représention de la connaissance et systèmes experts
• Cours et TP (S1 à S8)
− Jeudi matin Cours et TD/TP collectif
− Toujours apporter les PC
• La note:
La présence et l’assiduité %
Comptes rendus des TDs/TPs chaque séance %
Examen %
Projet %
06/02/2024 2
3. Objectifs du module
A la fin de module, voici les objectifs que vous devriez atteindre:
Avoir une idée globale sur ce que permet l’intelligence artificielle.
Connaître les paradigmes de l'intelligence artificielle.
Connaître les principales méthodes et algorithmes employés.
Savoir choisir une technique d’IA pour résoudre un problème donné.
06/02/2024 3
4. Plan
1. Introduction générale
2. Logique du premier ordre
3. Machine Learning : Pré-traitement des données
4. Machine Learning : Supervised vs Unsupervised
5. Machine Learning : Construire un bon modèle
6. Machine Learning : Raisonnement probabiliste et réseaux bayésiens
7. Machine Learning: Algorithmes d’apprentissage automatique
8. Machine Learning: Apprentissage par renforcement, vision par ordinateur,
NLP, Deep Learning (Projets)
4
06/02/2024
5. Plan
1. Introduction générale
2. Logique du premier ordre
3. Machine Learning : Pré-traitement des données
4. Machine Learning : Supervised vs Unsupervised
5. Machine Learning : Construire un bon modèle
6. Machine Learning : Raisonnement probabiliste et réseaux bayésiens
7. Machine Learning: Algorithmes d’apprentissage automatique
8. Machine Learning: Apprentissage par renforcement, vision par ordinateur,
NLP, Deep Learning
5
06/02/2024
8. L’intelligence
1) Capacité de percevoir l’information
2) Transformer en connaissance
3) Appliqué dans un environnement ou un contexte spécifique
06/02/2024 8
La capacité à prendre de “bonnes” décisions étant donné certains critères.
9. L’intelligence
• La connaissance ?
• La compétence qui permet de résoudre des problèmes.
• Le raisonnement ?
• La génération de nouvelles connaissances par enchaînement de jugements logiques .
06/02/2024 9
?
12. L’intelligence Artificielle
• L’IA est l’étude des idées qui permettent aux ordinateurs d’être
intelligents (P. H. Winston)
• L’IA est l’étude des facultés mentales à l’aide de modèles de type
calculatoire (McDermott & Charniak)
• L’IA a pour but de faire exécuter par l’ordinateur des tâches pour
lesquelles l’homme dans un contexte donné est aujourd’hui
meilleur que la machine (Alliotet Schiex1994)
En fait, l’IA reste difficile à définir car on ne sait pas vraiment
définir la notion d’Intelligence.
06/02/2024 12
13. L’intelligence Artificielle ?
• L’IA est une méthodologie qui doit permettre de rendre les ordinateurs plus
intelligents de façon à ce qu’ils montrent des caractéristiques normalement
associées à l’intelligence dans les comportements humains, c’est-à-dire la
compréhension du langage, l’apprentissage, la résolution de problèmes et le
raisonnement (E. Feigenbaum)
• L’Intelligence Artificielle concerne la conception d’un être artificiel(machine)
capable de posséder ou d’exhiber les capacités et caractéristiques propres à
un cerveau humain.
06/02/2024 13
Apprendre aux machines à penser
14. Les débuts…
• En 1950, Alan Turing se posait la question:
« Can machines think? »
« Les machines peuvent-elles penser?»
• Quelques années plus tard, McCarthy propose de nommer les recherches
dans ce domaine: Intelligence Artificielle.
• Et propose la définition suivante:
l'IA est la science et l’ingénierie de fabrication de
machines intelligentes, notamment des programmes
informatiques intelligents.
06/02/2024 14
15. Historique de l’IA (1950-1970)
• 1950: Computing machinery and intelligence: Alan Turing
• 1956: Proposition d’un Projet de recherche en Intelligence Artificielle
06/02/2024 15
16. Historique de l’IA (1950-1970)
• 1958: Époque de l'enthousiasme absolu: Simon en 1958 a dit "En moins de dix ans un
programme d'échec arrivera au niveau d'un champion du monde". Pourtant, Garry Kasparov
le champion du monde en jeux d‘échecs du moment n'a été battu par la machine Deep Blue
qu'en 1997!
• Apparition des langages Lisp en 1960 par MacCarthy et puis Prolog en 1971 par Alan
Colmerauer.
• 1961: IBM’s Shoebox pour la reconnaissance de la parole. La machine était capable
d'effectuer la reconnaissance vocale de 16 mots parlés et des chiffres de 0 à 9 et ceci grâce à
des fonctions mathématiques.
• 1966: Eliza construit en MIT est un programme informatique qui dialogue en anglais et joue
au psychothérapiste.
06/02/2024 16
17. Historique de l’IA (1950-1970)
• 1966: Eliza de Joseph Weizenbaum repérait des expressions clés dans des phrases et
reconstruisait à partir d'elles des phrases toutes faites. Le programme a réussi à tromper
quelques interlocuteurs qui croyaient avoir affaire à un psychologue humain. Pourtant Eliza
n'avait aucune compréhension des phrases qu'il traitait.
06/02/2024 17
18. Historique de l’IA (1970-1980)
• 1970: SCHRDLU, logiciel conçu par Terry Winograd. Il simule la manipulation des blocs
géométriques (cubes, cylindres, pyramides...). Le logiciel fut le premier à "comprendre"
quelque chose au langage naturelle.
<< Pour déplacer le cube sur le sommet du cylindre, je dois d'abord enlever la pyramide qui se trouve sur le cube et
...>>
• 1974: MYCIN par Edward Shortliffe (système expert d'aide au diagnostic médical).
L'Association médicale américaine le qualifié comme étant aussi bon que les experts
médicaux.
06/02/2024 18
19. A partir des années 1980
On a commencé le développement de techniques spécifiques à l'IA:
• Les réseaux de neurones qui simulent l'architecture du cerveau humain.
• Les algorithmes génétiques qui simulent le processus de sélection naturelle des individus
• La programmation logique inductive qui fait "marcher à l'envers" le processus habituel de
déduction
• Les réseaux bayésiens qui se fondent sur la théorie des probabilités pour choisir, parmi
plusieurs hypothèses, la plus satisfaisante.
06/02/2024 19
20. Années 1990-2000
La création d'Internet a ouvert la voie au partage et la communication des connaissances.
• Comment organiser et traiter ces gigantesques masses d'information?
• Comment extraire les connaissances pertinentes pour les problèmes posés?
• Les moteurs de recherche comme GOOGLE ont intégré dans leurs taches des techniques
avancées de recherche d'information (Information Retrieval) et fouille de données (Data
Mining)
06/02/2024 20
21. Années 1990-2000
• 1997: Deep Blue d’IBM bat le champion du monde Garry Kasparov. En six manches,
Kasparov a gagné la première, a perdu la seconde et a très mal joué le reste. Furieux, il a du
s'incliner devant la machine.
06/02/2024 21
22. Années 1990-2000
• 1997: a eu lieu pour la première fois RoboCup, le championnat des robots qui jouent au
football.
• 1999: Un agent artificiel et intelligent de la NASA a piloté un satellite au-delà de la planète
Mars vers la Terre pendant une journée entière sans aide.
• 2002: Une équipe de recherche CEDAR a mis au point un logiciel capable de distinguer avec
98% de certitude si deux documents ont été écrits par la même personne ou non.
• …
06/02/2024 22
23. Au-delà des années 2010
• 2011: Watson un programme informatique d’IA conçu par IBM a battu les 2 champions du jeu
télévisé américain Jeopardy!
• Watson a pu répondre à des questions formulées en langue naturelle, comprendre l’énoncé des
questions, buzzer pour prendre la main, trouver les réponses en quelques secondes, et, grâce à une
synthèse vocale, énoncer les réponses et choisir le thème et le montant de la prochaine question.
06/02/2024 23
Source:
https://www.youtube.com/watc
h?v=WFR3lOm_xhE
24. Au-delà des années 2010
• 2016: AlphaGo crée par DeepMind (Google) a remporté trois matchs face au n° 1 mondial du
jeu de GO Lee Sedol (Go un jeu très difficile inventé en chine -500 avant JC).
06/02/2024 24
25. Au-delà des années 2010
• 2021: DALL·E dessine des images réalistes et artistiques basées sur une description
textuelle que vous fournissez.
06/02/2024 25
Source:
https://www.youtube.com/
watch?v=qTgPSKKjfVg&a
b_channel=OpenAI
26. Au-delà des années 2010
• 2022: ChatGPT un agent conversationnel développé par OpenAI et spécialisé dans le
dialogue. C'est un modèle de langage dialogueur affiné par apprentissage supervisé et par
apprentissage par renforcement.
06/02/2024 26
Source:
https://openai.com/blog/chatgpt/
27. Une science, une technique …
Intelligence Artificielle est à la fois science et technique.
• Science qui cherche à simuler les facultés intellectuelles (ou capacités
cognitives).
• le raisonnement,
• la perception du monde (par nos capteurs),
• la perception de soi-même dans le monde (actions possibles, préférences, intentions)
• Elle requiert (comme toute science)
• observer, étudier, comprendre (ex: compréhension du langage naturel)
• modéliser,
• puis valider les modèles.
06/02/2024 27
28. Test de Turing (1950)
• Le test consiste à mettre un humain en confrontation
verbale à l’aveugle avec un ordinateur et un autre humain.
• Si la personne C (initiant la conversation) n’est pas capable
de dire lequel de ses interlocuteurs est un ordinateur (A ou
B), on peut considérer que le logiciel de l’ordinateur est
Intelligent et qu’il a réussi le test de Turing.
06/02/2024 28
29. La chambre chinoise (1980)
John Searle est enfermé dans une pièce ne communiquant avec l'extérieur que par un guichet et a à sa
disposition un gros livre dans lequel est écrit une succession de questions et de réponses pertinentes à
ces mêmes questions.
Les questions et réponses sont rédigées en chinois.
Searle ne connaît rien au chinois; l'anglais est sa langue maternelle.
Un expérimentateur va lui transmettre des messages par le guichet, tantôt en anglais, tantôt en chinois.
Searle répond directement aux messages rédigés en anglais et consulte le livre pour ceux rédigés en
chinois et les recopie tels qu’ils sont.
06/02/2024 29
30. La chambre chinoise
Searle fait alors remarquer que pour l'expérimentateur extérieur, les messages transmis en
chinois sembleront aussi pertinents que ceux transmis en anglais.
Et pourtant Searle connaît l'anglais alors qu'il ne connaît rien au chinois.
De manière analogue, on ne peut pas déduire du fait qu'un programme passe avec succès le
test de Turing qu'il comprenne de quoi il est question.
06/02/2024 30
31. IA forte et faible
« Searle construisit son argument contre l’intelligence artificielle (I.A) dans sa
version « forte ».
Pour cette version de l’I.A, l’ordinateur n’est pas un simple outil. En effet, une
fois programmé de façon appropriée, il est un esprit, dans le sens où des
ordinateurs ayant un bon programme, on peut dire littéralement qu’ils
comprennent et possèdent des états cognitifs.
Pour L’I.A dans sa version faible, par contre, les ordinateurs simulent
seulement les pensées. Leur compréhension n’est pas réelle. La simulation
peut alors seulement être utile pour étudier l’esprit.
06/02/2024 31
32. Deux approches principales
• Une machine sera considérée comme intelligente si elle reproduit le comportement d'un être
humain dans un domaine spécifique ou non.
• Une machine sera considérée comme intelligente si elle modélise le fonctionnement d'un être
humain.
06/02/2024 32
IA Faible
IA Forte
33. Deux approches principales
I. Une machine sera considérée comme intelligente si elle reproduit le comportement d'un
être humain dans un domaine spécifique ou non.
Ex: Le jeu d'échèc
Obtenir un programme efficace.
La machine pourrait même faire des calculs inaccessibles à l'homme comme prendre en compte un milliard de
positions à la seconde.
06/02/2024 33
Cette approche programme des règles pour résoudre un
problème, ainsi, avec ces systèmes il faut repartir de 0
lorsqu’on veut développer un nouveau modèle.
IA Faible
34. Deux approches principales
II. Une machine sera considérée comme intelligente si elle modélise le fonctionnement d'un
être humain.
Ex: Le jeu d'échèc
Comprendre comment l'homme joue aux échecs.
Interviewer des maitres, dégager les règles consciemment suivies par les joueurs (tenter d'occuper le centre,
dominer une couleur de cases ..., etc.)
Le programme réalisé validera.
06/02/2024 34
Cette approche est un programme général, l’ordinateur va
ajuster les paramètres du modèle à l’aide des données qu’on
lui fournit et c’est l’approche la plus populaire.
IA Forte
35. Informatique classique Vs Intelligence artificielle
Informatique classique
• Près du fonctionnement de la machine
• Traitement de données (informations
numériques)
• Utilise beaucoup de calculs
• Suit des algorithmes rigides et
exhaustifs
• N’est généralisable qu'à une classe de
problèmes semblables
Intelligence artificielle
• Près du fonctionnement humain
• Traitement de connaissances
(informations symboliques)
• Utilise beaucoup d'inférences
• Fait appel à des heuristiques et à des
raisonnements incertains
• Est généralisable à des domaines
complètement différents
06/02/2024 35
36. Objectifs de l’IA
• Etudie les problèmes insolubles en informatique classique
• Solution optimale inconnue ou trop difficile à trouver/identifier
• Des paramètres difficiles à maîtriser : connaissances incertaines, vagues, hypothétiques, ...
• Exigences d’explication ou de communication sophistiquée avec les
utilisateurs.
• Objectif d’adaptation et d’apprentissage avec l’expérience.
06/02/2024 36
37. Objectifs de l’IA
• Créer des systems (logiciels ou machines) intelligents
• Pensent/réfléchissent/raisonnent comme des humains et/ou
• Pensent/réfléchissent/raisonnent rationnellement et/ou
• Se comportent/agissent/réagissent comme les humains et/ou
• Se comportent/agissent/réagissent rationnellement
• Le domaine de l’IA est influencé par plusieurs disciplines:
• Génie informatique(comment programmer et implanter l’IA?)
• Mathématiques, Statistique (limites théoriques de l’IA?)
• Neurosciences(comment le cerveau fonctionne?)
• Psychologie cognitive (comment l’humain réfléchit?)
• Théorie de la décision (comment prendre une décision rationnelle?)
• Linguistique (quelle est la relation entre le langage et la pensée?)
• Philosophie (quel est le lien entre le cerveau et l’esprit?)
06/02/2024 37
38. Applications de l’IA
Considérer les tâches suivantes :
• Voiture autonome (Tesla, Google, BMW, Citroen...)
• Détection d’objets dans une image(scene recognition)
• Traduction automatique de texte (google translate)
06/02/2024 38
39. L’apprentissage
Pour un ordinateur, le problème est trop complexe:
• Plusieurs observations, estimations et décisions à faire
• Pourtant, l’être humain peut facilement identifier des visages, transcripter la voix...
Comment peut-on créer ces applications IA alors?
Points communs :
• Se baser sur exemples et démos pour achever des tâches
• Instructions et exemples donnés par dirigeant/parent
• Apprentissage par expérience
L’apprentissage consiste à construire un modèle à partir des exemples.
06/02/2024 39
40. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
• Compréhension du langage et traduction automatique (ex: Google Traduction)
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 40
41. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
06/02/2024 41
42. Systèmes experts
Dépistage du cancer
• Un "recyclage" de Watson: analyse de rapports médicaux et des
recherches oncologiques, et les dossiers des patients pour trouver les
patterns
• A l'aide des données passées + les informations sur le patient, Watson
prédit le risque de cancer :
• 90% de précision sur le dépistage du cancer du poumon, 80% pour le
cancer du sein
• Il peut analyser les radiographies et les médecins peuvent
communiquer avec lui par écrit.
• Regardez: https://youtu.be/HkEOJnn_zlg
06/02/2024 42
43. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
• Compréhension du langage et traduction automatique (ex: Google Traduction)
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 43
44. Quelques domaines de l’IA
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
06/02/2024 44
45. La robotique
BINA48:
• Crée en 2010, conçu pour tester l‘hypothèse qu'il
est possible de télécharger la conscience d'un
être humain dans une machine
• Basé sur 100+ heures d'entretiens avec la femme
sur laquelle il est basé
• Connectée à Internet, peut avoir des
conversations sur une variété de sujets
• Exprime 64 émotions différentes
• A un logiciel de reconnaissance des visages et
reconnaissance vocale
• Opère au niveau d'un "enfant de trois ans"
• Regardez: https://youtu.be/G9uLnquaC84
06/02/2024 45
46. La robotique
Boston Dynamics
• Subventionné par l‘armée américaine
• Racheté par Google en 2013
• A pour but de créer les robots les plus
avancés en termes de mobilité
• Robots autonomes, adaptatifs, surtout pour
aider les soldats sur le champ de bataille.
• Regardez: https://youtu.be/M8YjvHYbZ9w
06/02/2024 46
Atlas
Wild Cat court à 45 km/h
Big Dog peut porter jusqu’à 150kg
47. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
• Compréhension du langage et traduction automatique (ex: Google Traduction)
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 47
48. Quelques domaines de l’IA
• Compréhension du langage et traduction automatique (ex: Google Traduction)
06/02/2024 48
49. Natural Language Processing (NLP)
Traduction automatique de Google Translate
Word Lens
• Traduction en temps réel, couplée avec la réalité
augmentée
• Identifie le langage écrit dans l'image prise par l'usager
• Traduit le texte in situ à la langue désirée
• Traduit 37 langages via photo, 32 via la voix et 27 en
réalité augmentée
• Basée sur l'analyse statistique des corpus de textes
disponibles sur internet
• Détections des patterns prévisions des traductions
appropriées
• Regardez : https://youtu.be/-S9mh7Oju3Q
06/02/2024 49
50. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
• Compréhension du langage et traduction automatique (ex: Google Traduction)
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 50
51. Quelques domaines de l’IA
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
06/02/2024 51
52. Self-Driving Cars
Voitures sans conducteur
• Voitures Google acceptées dans 4 états des USA
• Développées par plusieurs compagnies: Mercedes, Tesla,
Google
• 150 000$ d‘équipement
• Un laser pour créer une carte 3D
• 4 radars
• Un GPS
• Un ordinateur a bord
• Une camera
• Dépend des cartes existantes pour comparer ses observations
avec la réalité
• Regardez: https://youtu.be/-96BEoXJMs0
06/02/2024 52
53. Quelques domaines de l’IA
• Les systèmes experts (médecine, analyse financière, configuration d'apareils) Tache de diagnostic, de
surveillance ou de dépannage d'installations industrielles.
• Robotique et FAO (fabrication assistée par ordinateur) Introduction de robots qui acquièrent
l'information à l'aide de capteurs ou de caméras afin de se mouvoir dans des environnements diversifiés.
• Compréhension du langage et traduction automatique (ex: Google Traduction)
• Reconnaissance de forme (reconnaissance de la parole, de l'image et de l'écriture)
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 53
54. Quelques domaines de l’IA
• L'émotion artificielle systèmes et d'appareils ayant les capacités de reconnaître, d’exprimer, de
synthétiser et modéliser les émotions humaines.
06/02/2024 54
55. Emotion AI platform
Affectiva
06/02/2024 55
• Affectiva Automotive AI: Surveiller le conducteur pour améliorer la sécurité routière et suivre
l'humeur et les réactions des occupants pour personnaliser l'expérience de transport
• Regardez : https://youtu.be/V_rr7pDPdNM
56. Ethique et IA
Qui est responsable si un robot tue quelqu'un?
Les 3 lois d'Asimov:
1) Un robot ne peut porter atteinte a un être humain, ni, en restant passif, permettre
qu'un être humain soit exposé au danger
2) Un robot doit obéir aux ordres qui lui sont donnés par un être humain, sauf si tels
ordres entrent en conflit avec la première loi.
3) Un robot doit protéger son existence tant que cette protection n'entre pas en conflit
avec la première ou la deuxième loi.
06/02/2024 56
57. IA et biais
Le terme « biais de l’IA » désigne une situation dans laquelle un système de
Machine Learning discrimine un groupe de personnes en particulier. En règle
générale, cette discrimination reflète celles que l’on déplore dans notre société
à l’égard des couleurs de peaux, du genre, de l’âge ou de la nationalité.
06/02/2024 57
IA et biais ? « garbage in, garbage out »
60. IA et biais
Les bonnes pratiques pour minimiser les biais en IA:
1) Prendre conscience de l'existence de multiples biais
2) Etre vigilant sur l'acquisition des données
3) Mesurer l'impact des biais
4) Faire le choix de l'explicabilité
5) Impliquer les experts métiers à toutes les étapes
6) Sensibiliser les équipes de data scientists
06/02/2024 60
61. IA: un buisson non pas un arbre
• En additionnant les problèmes rencontrés, les deux approches de l’IA, leurs différents objectifs
et inspirations; On comprend pourquoi les tentatives de classification bien organisée du
domaine sont toujours imparfaites.
• Regardez celle-ci : vous voyez le problème ?
06/02/2024 61
62. IA : un buisson non pas un arbre
• L’IA n’est pas composée de branches parallèles, mais de branches qui
peuvent s’entrecroiser.
06/02/2024 62
63. IA : un buisson non pas un arbre
• Mettre « Machine Learning » et « Speech » au même niveau est inexact, car on peut
utiliser des modèles de « Machine Learning » pour résoudre des problèmes liés à la
voix, que ce soit sa génération ou sa transcription.
• Par conséquent, la difficulté (et la beauté) de l’intelligence artificielle est qu’il ne s’agit
pas d’un arbre bien ordonné, mais plutôt d’un buisson. Une branche pousse plus vite
que l’autre et se trouve sous les feux des projecteurs, puis c’est le tour d’une autre, et
ainsi de suite. Certaines branches se croisent, d’autres non, certaines sont coupées
et de nouvelles apparaîtront.
• Le conseil est donc : ne perdez jamais de vue le paysage d’ensemble pour éviter de
vous y perdre !
06/02/2024 63
64. IA au quotidien
• Siri, Cortana, Google now (l'assistant personnel intelligent)
• Les recommandations sur (Youtube, Spotify, Pandora…)
• La reconnaissance de nom et numéro de rues (Google Maps)
• Détection de fraude(carte bancaire), détection de spams
• Prise de décision (Crédit, Bourse, Diagnostic médical)
06/02/2024 64
69. Exemples d’agents intelligents
• (1) Système d’aide à la décision;
• (2) Suivi de trajectoires: Azimut-3;
• (3) Rover de la NASA;
• (4) Radarsat-II de l’ASC : Agent de
gestion des ressources des Parcs
au canada; circulation sur glace…
06/02/2024 69
(2)
(1)
(3) (4)
70. Pourquoi avoir une IA ?
• Programmation d'actions vs décisions automatiques
Programmation d'actions
• Scripts
• Machine à états finis
Décisions automatiques
• Les actions à exécuter ne sont ni scriptées, ni programées à l'avance
• L'agent décide lui-même de ses propres actions, à partir d'un certain calcul ou
"raisonnement"
• On donne à l'ordinateur la capacité de prendre des décisions intelligentes, dans toute
situation possible
06/02/2024 70
71. Agents
• Un agent humain a:
– yeux, oreilles, et d'autres senseurs
– des mains, des jambes, une bouche, et d'autres actionneurs
• Un agent robot a:
– des caméras, des capteurs infra rouges et autres capteurs
– des roues, des jambes, des bras-articules, et d'autres actionneurs
• Un agent logiciel a:
– un clavier, un accès lecture à disque dur et autres capteurs
– un écran, un accès écriture à un disque dur comme actionneurs
06/02/2024 71
Un agent est n'importe quel entité qui perçoit son environnement par des
capteurs (sensors) et agit sur cet environnement par des actionneurs (actuators)
72. Agents et environnements
• Le processus agent 𝑓 prend en entrée une séquence d’observations
(percepts) et retourne une action :
𝑓: 𝑃∗
→ 𝐴
• En pratique le processus est un implémenté par un programme sur une
architecture matérielle particulière
06/02/2024 72
74. Exemple: Aspirateur robotisé
• Deux localisations: A et B
• Perceptions (données sensorielles): localisation et contenu, ex: [A,Clean],
[A;Dirty], [B,Clean], [B,Dirty]
• Actions: Left, Right, Suck, NoOp
• Une fonction possible :
• Si la localisation courante est sale, alors aspirer, sinon aller à l’autre localisation
06/02/2024 74
75. Concept de rationnalité
• Un agent est rationnel s’il effectue toujours l’action appropriée étant donnée sa
perception et ses actions possibles.
• Une action appropriée: définie par une mesure de performance, elle permet à l’agent de
réussir le mieux.
• Mesure de performance une fonction objective mesurant la qualité d’un comportement de
l’agent.
Par exemple, une mesure de performance pour le robot aspirateur pourrait être :
la quantité de déchets aspirés
la propreté des lieux
la durée de la tâche
le bruit généré
• Agent rationnel : étant donné une séquence d’observations (données sensorielles) et des
connaissances propres, un agent rationnel devrait choisir une action qui maximise la mesure
de performance
• Un agent est autonome s'il est capable d'adapter son comportement en fonction de son
expérience (capacité d'apprentissage et d'adaptation)
06/02/2024 75
76. Modèle PEAS
• PEAS: Un modèle de conception des agents par la spécification des
composantes majeures suivantes:
• Mesure de performance (Performance)
• Eléments de l'environnement (Environnement)
• Les actions que l'agent peut effectuer (Actionneurs ou Actuators)
• La séquence des observations ou percepts de l'agent (Capteurs ou Sensors)
• PEAS= Performance, Environment, Actuators, Sensors
06/02/2024 76
77. Modèle PEAS pour un robot taxi
• Agent: robot taxi
• Mesure de performance: sécurité, vitesse, respect du code routier, voyage
confortable, maximisation des profits
• Environnements: route, trafic, piétons, clients
• Actionneurs: volant, changement de vitesse, accélérateur, frein, clignotants,
klaxon
• Senseurs: cameras, sonar, compteur de vitesse, GPS, témoins du moteur,
etc.
06/02/2024 77
78. Modèle PEAS pour un diagnostique médical automatisé
• Agent: système de diagnostique médical
• Mesure de performance: santé des patients, minimisation des coûts,
satisfaction des patients
• Environnements: patients, hôpital, personnel soignant
• Actionneurs: moniteur pour afficher des questions, les résultats de tests ou
de diagnostique, le traitement, etc.
• Senseurs: clavier et souris pour saisir les symptômes, les réponses aux
questions, etc.
06/02/2024 78
80. Caractéristiques d'environnement
• Complètement observables (vs. partiellement observable) : grâce à ses
capteurs, l’agent a accès à l’état complet de l’environnement à chaque instant
• Exemples:
• Le jeu des échecs est complètement observable
- on voit la position de toutes les pièces
• Le jeu du poker est partiellement observable
- on ne connaît pas les cartes dans les mains de l’adversaire
06/02/2024 80
81. Caractéristiques d'environnement
• Déterministe (vs. stochastique) : l’état suivant de l’environnement est entièrement
déterminé par l’état courant et l’action effectuée par le ou les agents
• Exemples:
• Le jeu des échecs est déterministe
- déplacer une pièce donne toujours le même résultat
• Le jeu du poker est stochastique
- la distribution des cartes est aléatoire
• Note importante :
- on considère comme stochastique les phénomènes qui ne peuvent pas être prédits
parfaitement
06/02/2024 81
82. Caractéristiques d'environnement
• Statique (vs. dynamique) : l’environnement ne change pas lorsque le ou les
agents n’agissent pas
• Exemples:
• Le jeu des échecs est statique
- l’état du jeu ne change pas si personne joue
• Le jeu Pong est dynamique
- la balle bouge même si je ne fais rien
06/02/2024 82
83. Caractéristiques d'environnement
• Discret (vs. continu) : un nombre limité et clairement distincts de données
sensorielles et d’actions
• Exemples:
• Le jeu des échecs est dans un environnement discret
- toutes les actions et état du jeu peuvent être énumérées
• La conduite automatique d’une voiture est dans un environnement continu
- l’angle du volant est un nombre réel
• Le jeu Pong est dans un environnement continu
- la position de la balle est une paire (x,y) de nombres réels
06/02/2024 83
84. Caractéristiques d'environnement
• Agent unique (vs. Multi-agent) : un agent opérant seul dans un
environnement
• Exemples:
• Résoudre un Sudoku est à agent unique
- aucun adversaire
• Le jeu des échecs est Multi-agent
- il y a toujours un adversaire
06/02/2024 84
85. Structure d’agents
• 4 types de base:
– Les agents réflexes simples
– Les agents réflexes fondés sur des modèles
– Les agents fondés sur les buts
– Les agents fondés sur l’utilité
• Agents évolués: les agents capables d’apprentissage
06/02/2024 85
86. Les agents réflexes simples
• Sélectionner des actions en fonction de la perception courante et sans tenir
compte de l’historique des perceptions
06/02/2024 86
87. Les agents réflexes simples
• Les agents réflexes sont simples, mais leur intelligence est très limitée!
• L’agent ne peut fonctionner que si une décision correcte peut être prise en
fonction de la perception courante
• L’environnement doit être complètement observable
06/02/2024 87
88. Les agents réflexes fondés sur des modèles
• L’agent doit connaître son environnement
- Exemple : mémorisation de la topologie de l’environnement
• L’agent doit maintenir un état interne qui dépend de l’historique des
perceptions
• La mise à jour de cet état interne nécessite deux types de connaissances à encoder
dans l’agent:
- Une information sur la manière dont le monde évolue indépendamment de l’agent
- Une information sur la manière dont les actions de l’agent affectent l’environnement
06/02/2024 88
89. Les agents réflexes fondés sur des modèles
06/02/2024 89
Agent possédant un modèle
90. Les agents fondés sur les buts
• Connaitre l’état courant de l’environnement n’est pas toujours suffisant pour décider
de l’action à accomplir
- Exemple: décision à une jonction de route
• L’agent a besoin d’une information sur le but qui décrit les situations
désirables.
• Il peut alors combiner cette information avec l’information sur les résultats des actions
possibles afin de choisir l’action qui satisfait le but.
• Un tel agent nécessite des capacités de recherche et de planification.
06/02/2024 90
92. Comparaison
Les agents basés sur les buts sont flexibles car la connaissance qui supporte
leurs décisions est représentée explicitement et peut être modifiée.
Pour l’agent à réflexe, les règles condition-action doivent être modifiées et
réécrites dans toute nouvelle situation.
Il est facile de modifier le comportement d’un agent basé sur les buts.
06/02/2024 92
93. Les agents fondés sur l’utilité
• Les buts seuls ne sont pas suffisants pour générer un comportement
intéressant dans beaucoup d’environnements. Ils permettent seulement de
faire une distinction binaire entre les états « satisfait » et « non satisfait »
• Une mesure de performance plus générale doit permettre une comparaison
entre les différents états du monde en fonction de la satisfaction exacte de
l’agent s’ils sont atteints.
• Une fonction d’utilité associe un nombre réel à un état. Ce nombre décrit le
degré de satisfaction associé à l’état.
06/02/2024 93
95. Apprentissage dans un agent
• Turing – Plutôt que de programmer des machines “intelligentes” à la main, ce qui
n’est pas vraiment réalisable, il faut construire des agents apprenants et les instruire
de la tâche à accomplir.
• L’apprentissage permet à l’agent d’opérer dans des environnements
inconnus et de devenir plus compétents qu’initialement.
06/02/2024 95
96. Qu’est-ce que l’apprentissage?
• L’apprentissage est la capacité pour un agent intelligent de tirer profit son
expérience passée et de ses observations dans l’environnement pour
améliorer ses performances dans le futur.
• Rappel : modèle PEAS
• Performance measure, Environment, Actuators, Sensors.
• On mesure l’intelligence d’un agent intelligent à l’aide d’une mesure de
performance.
06/02/2024 96
97. Learning agents
Impossible de prévoir toutes les situations
possibles.
- Ex: un robot qui navigue dans des labyrinthes
doit apprendre la configuration de chaque
labyrinthe.
Impossible d’anticiper les changements au
fil du temps
- Ex: systèmes de détection de fraudes.
Nous ne savons pas trop comment
résoudre certains problèmes
- Ex: reconnaissance de visage.
06/02/2024 97
98. Que peut-on apprendre?
Association : état courant → action.
Extraction de caractéristiques des données sensorielles perçues.
Résultats de nos actions.
Désirabilité (fonction d’utilité) des états de monde.
Désirabilité (fonction d’utilité) des actions.
Buts représentant des classes d’états qui maximise notre utilité.
…
06/02/2024 98
100. Apprentissage non-supervisée
• Clustering (≈regroupements)
• Le système ne dispose que des entrées (inputs).
• Ne dispose pas d’informations explicites sur des sorties (outputs)
attachées aux entrées.
• Applications populaires: Regroupement automatique de
− Nouvelles par thème dans les médias électronique;
− Tweets dans les médias sociaux; etc
06/02/2024 100
101. Apprentissage supervisée
• Jeu de données (Dataset) d’exemples entrées et sorties.
• But : apprendre relation entre entrées et sorties.
• Applications populaires:
− reconnaissance optique de caractères (OCR);
− reconnaissance vocale;
− vision par ordinateur;
− détection de polluriel (SPAM)
− etc.
06/02/2024 101
102. Apprentissage par renforcement
• Reinforcement learning.
• L’agent apprend en reçevant un
série de renforcements (feedbacks)
− Exemples : récompenses ou pénalités.
06/02/2024 102
103. En resumé
Les agents interagissent avec leur environnement à travers des actionneurs et
des capteurs.
La fonction de l’agent décrit ce que l’agent fait dans toute circonstance.
La mesure de performance évalue le comportement de l’agent dans son
environnement.
Un agent parfaitement rationnel maximise la performance attendue.
L’agent peut disposer des capacités d’apprentissage.
06/02/2024 103
104. Exemple : le monde des wumpus
• Mesure de performance
Or (Gold) +1000, mort -1000
-1 par un pas, -10 pour une flèche
• Environnement
– Puanteur dans les chambres adjacent au wumpus.
– Brise dans les chambres adjacentes à une fosse
– Scintillement si l’or est dans la chambre
– Le wumpus meurt si on lui tire une flèche de face
– On a une seule flèche
– On peut ramasser l’or dans la même chambre
• Senseurs: stench (puanteur), breeze (brise), glitter (scintillement)
• Actuateurs: Left turn, Right turn, Forward, Grab, Shoot
06/02/2024 104
105. Caractérisation du monde des wumpus
• Complètement observable?
• Non – seulement perception locale.
• Déterministe?
• Oui – l’effet de chaque action est prévisible.
• Statique?
• Oui – le wumpus et les fosses ne bougent pas.
• Discret?
• Oui. le nombre d’actions est limités.
• Agent unique?
• Oui – La seule action du wumpus est de nous « dévorer » si on atteint sa chambre.
06/02/2024 105
114. Comment les humains prennent-ils des décisions ?
1. Observer la situation actuelle.
2. Énumérer les options possibles.
3. Évaluer les conséquences des options (simulation).
4. Retenir la meilleure option possible satisfaisant le but.
06/02/2024 114
115. Application 1: trouver chemin dans ville
• Trouver un chemin de la 9e ave & 50e rue à la 3e ave et 51e rue
06/02/2024 115
116. Application 1 – Ville quadrillée
• Trouver un chemin de la 9e ave & 50e rue à la 3e ave et 51e rue
06/02/2024 116
120. Application 4 – Jeu de taquin
06/02/2024 120
Plusieurs solutions possibles !
121. Résolution de problèmes
Etapes intuitives par un humain:
1) Modéliser la situation actuelle
2) Enumérer les solutions possibles
3) Evaluer la valeur des solutions
4) Retenir la meilleure option possible satisfaisant le but
06/02/2024 121
Mais comment parcourir efficacement la liste des solutions?
122. Résolution de problèmes
La résolution de plusieurs problèmes peut être faite par une recherche dans
un graphe :
• Chaque nœud correspond à un état de l’environnement
• Chaque chemin à travers un graphe représente alors une suite d’actions prises par
l’agent
• Pour résoudre notre problème, il suffit de chercher le chemin qui satisfait le mieux
notre mesure de performance.
06/02/2024 122
Exemple:
Nœuds = intersections
Arêtes = segments de rue
123. Problème de recherche dans un graphe
Algorithme de recherche dans un graphe
o Entrées :
• un nœud initial
• une fonction objective goal(n) qui retourne true si le but est atteint
• une fonction de transition transitions(n) qui retourne les nœuds successeurs de n
• une fonction de coût c(n,n’) strictement positive, qui retourne le coût de passer de n à n’ (permet de
considérer le cas avec coûts variables)
o Sortie:
• un chemin dans un graphe (séquence nœuds/ arrêtes)
o Le coût d’un chemin est la somme des coûts des arrêtes dans le graphe
o Il peut y avoir plusieurs nœuds qui satisfont le but
Enjeux:
• trouver un chemin solution, ou
• trouver un chemin optimal, ou
• trouver rapidement un chemin
06/02/2024 123
124. Exemple : trouver chemin entre deux villes
• Villes: nœuds
• Chemins entre deux villes: arrêtes
• Ville de départ : nœud (état initial n0)
• Routes entre les villes: transitions(n0)=(n1, n2, n3)
• Distances entre les villes: c(n0,n2)=4
• Ville de destination: goal(n): vrai si n=n6
(ou n6 est le nœud de la ville de destination)
06/02/2024 124
125. Algorithmes (stratégies) de recherche
• Recherche non informée
Recherche en largeur (Breadth-First-Search)
Recherche en profondeur (Depth-First-Search)
• Sans limite de profondeur (version classique)
• Avec limite de profondeur
• Incrémentale (Iterative Depth-First-Search)
Algorithme de Dijkstra
• Recherche informée
06/02/2024 125
Dijkstra
126. Rappel sur les algorithmes de recherche dans des graphes
● Recherche sans heuristique et coût uniforme
Recherche en profondeur (depth-first Search)
» pour un nœud donné, explore le premier enfant avant d’explorer un nœud frère
Recherche en largeur (breadth-first search)
» pour un nœud donné, explore les nœuds frères avant leurs enfants
● Recherche sans heuristique et coût variable
Algorithme de Dijkstra
» trouve le chemin le plus court entre un nœud source et tous les autres noeuds
● Recherche avec heuristique et coût variable :
best-first search
greedy best-first search
A*
06/02/2024 126
127. La recherche heuristique
• Les méthodes aveugles (non informées) sont des méthodes systématiques peu
efficaces. Ces méthodes sont coûteux en termes de temps d‘exécution et espace
mémoire.
• Toute technique visant à accélérer la recherche est basée sur une information
appelée heuristique. Une heuristique signifie "aider a découvrir"
• Les heuristiques utilisent des sources d'information supplémentaires. Ces
algorithmes parviennent ainsi a des performances meilleures. Les méthodes qui
utilisent des heuristiques sont dites méthodes de recherche heuristiques.
• La recherche heuristique est à la base de beaucoup d’approches en IA
• Une heuristique est utilisée pour guider la recherche :
les heuristiques exploitent les connaissances du domaine d’application
06/02/2024 127
128. La recherche heuristique
Une exploration informée …
• Dans la vie réelle on utilise aussi l’heuristique.
• Exemple:
Au supermarché, on choisit la file d’attente la moins longue ou alors on
choisit la file dans laquelle les clients ont le plus petit nombre d’objets dans
leur panier.
06/02/2024 128
129. Algorithme A*
● A* est une extension de l’algorithme de Dijkstra
utilisé pour trouver un chemin optimal dans un graphe via l’ajout d’une heuristique
f(n)= g(n) +h(n)
● Une heuristique h(n) est une fonction d’estimation du coût entre un
nœud n d’un graphe et le but (le nœud à atteindre)
● Les heuristiques sont à la base de beaucoup de travaux en IA :
recherche de meilleures heuristiques
apprentissage automatique d’heuristiques
06/02/2024 129
130. Variables importantes:open et closed
● Open contient les nœuds non encore traités, c’est à dire à la frontière de la
partie du graphe explorée jusqu’à maintenant
● Closed contient les nœuds déjà traités, c’est à dire à l’intérieur de la
frontière délimitée par open
06/02/2024 130
131. Insertion des nœuds dans open
● Les nœuds n dans open sont triés selon l’estimé f(n) de leur « valeur »
on appelle f(n) une fonction d’évaluation
● Pour chaque nœud n, f(n) est un nombre réel positif ou nul, estimant le coût du meilleur
chemin partant de la racine, passant par n, et arrivant au but
● Dans open, les nœuds se suivent en ordre croissant selon les valeurs f(n).
le tri se fait par insertion : on s’assure que le nouveau nœud va au bon endroit
on explore donc les nœuds les plus « prometteurs » en premier
06/02/2024 131
132. Définition de f
● La fonction d’évaluation f(n) tente d’estimer le coût du chemin optimal entre le nœud initial et le
but, et qui passe par n
● En pratique on ne connaît pas ce coût : c’est ce qu’on cherche !
● À tout moment, on connaît seulement le coût optimal pour la partie explorée entre la racine
et un nœud déjà exploré
● Dans A*, on sépare le calcul de f(n) en deux parties :
g(n) : coût du meilleur chemin ayant mené au nœud n depuis la racine
c’est le coût du meilleur chemin trouvé jusqu’à maintenant qui se rend à n
h(n) : coût estimé du reste du chemin optimal partant de n jusqu’au but. h(n) est la fonction
heuristique
on suppose que h(n) est non négative et h(n) = 0 si n est le nœud but
06/02/2024 132
133. Exemples de fonctions heuristiques
● Chemin dans une ville
distance Euclidienne (vol d’oiseau)
distance de Manhattan pour un chemin sur une carte
● N-Puzzle (Jeu taquin)
nombre de tuiles mal placées
somme des distances des tuiles
06/02/2024 133
134. Heuristiques pour jeu de taquin
• Estimer un nombre minimal de coups (actions)
• Nombre de tuiles mal placées :
• 2, 8, 1, 6
• Donc, h = 4
2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
?
État / Noeud n But
135. Heuristiques pour jeu de taquin
• Estimer un nombre minimal de coups(actions)
• Sommes des distances de Manhattan des tuiles avec leur position à atteindre :
h =5
2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
?
État / Noeud n But
Tuile 1 2 3 4 5 6 7 8
Distance 1 1 0 0 0 1 0 2
136. Heuristiques pour jeu de taquin
• Estimer un nombre minimal de coups(actions)
• Sommes des distances de Manhattan des tuiles avec leur position à atteindre :
h =5
2 8 3
1 6 4
7 5
1 2 3
8 4
7 6 5
?
État / Noeud n But
Tuile 1 2 3 4 5 6 7 8
Distance 1 1 0 0 0 1 0 2
137. Heuristiques pour jeu de taquin
• Estimer un nombre minimal de coups (actions)
• Sommes des distances avec buts:
h =16
8 7 6
5 4 3
2 1
État / Noeud n But
Tuile 1 2 3 4 5 6 7 8
Distance 3 3 1 1 1 1 3 3
1 2 3
4 5 6
7 8
?
138. Heuristiques pour jeu de taquin (exercice)
• Estimer un nombre minimal de coups (actions)
• Sommes des distances avec buts:
h =16
8 7 6
5 4 3
2 1
État / Noeud n But
Tuile 1 2 3 4 5 6 7 8
Distance 3 3 1 1 1 1 3 3
1 2 3
4 5 6
7 8
?
144. Algorithme générique de recherche dans un graphe
Algorithme recherche-dans-graphe(noeudInitial)
1. déclarer deux nœuds : n, n’
2. déclarer deux listes : open, closed // toutes les deux sont vides au départ
3. insèrer noeudInitial dans open
4. tant que (1) // la condition de sortie (exit) est déterminée dans la boucle
5. si open est vide, sortir de la boucle avec échec
6. n = noeud au début de open;
7. enlever n de open et l’ajouter dans closed
8. si n est le but, sortir de la boucle avec succès en retournant le chemin;
9. pour chaque successeur n’ de n
10. initialiser la valeur g(n’) à : g(n) + le coût de la transition (n,n’)
11. mettre le parent de n’ à n
12. si closed ou open contient un nœud n’’ égal à n’ avec f(n’) < f(n’’)
13. enlever n’’ de closed ou open et insérer n’ dans open (ordre croissant selon f(n))
11. si n’ n’est ni dans open ni dans closed
14. insérer n’ dans open en triant les nœuds en ordre croissant selon f(n)
06/02/2024 144
147. Variations deA*
● Selon le poids que l’on veut donner à l’une ou l’autre partie, on définie f comme suit:
f(n) = (1-w)*g(n) + w*h(n)
où w est un nombre réel supérieur ou égalà0 et inférieur ou égalà1.
● Selon les valeurs qu’on donne à w, on obtient des algorithmes de recherche classique:
● Best-First-Search
variante plus générale où f peut prendre une forme quelconque
A* est un cas spécial de Best-First-Search, où f(n) = g(n) + h(n)
● Greedy Best-First-Search
c’est un Best-First-Search où f(n) = h(n)
n’est pas garanti de trouver un chemin qui est optimal, mais marche parfois bien en pratique
06/02/2024 147
Dijkstra : w = 0 c’est-à-dire f(n) = g(n)
Best-first-search : w = 1 c’est-à-dire f(n) = h(n)
A* : w = 0.5 equivalent à f(n) = g(n) +h(n)