Académique Documents
Professionnel Documents
Culture Documents
Apprentissage Automatique
LISI3
Hala Bezine
Maître de Conf., FS-Sfax
hala.bezine@fss.rnu.tn
1. Introduction à l’IA
Intelligence Artificielle
Machine learning
Deep learning
3 « L’IA est l’étude des idées et des faits qui permettent aux ordinateurs
d’être intelligents » P. H. Winston.
Réalisations
Jeux : dames, échecs
Historique
Historique
Programmes capables de jouer aux échecs (premières idées en 1950 par
Shannon!) -> première victoire sur un maître en 1997 Deep Blue bat
Kasparov
1957 :
Tâches
routinières Vision
Parole naturels
Tâches
formelles
Réseaux
neuroniques
Systèmes
experts
Jeux
Échecs
Dames
Mathématiques
Géométrie
Logique
Calcul intégral
Preuves de théorèmes
Ingénierie
Conception
Réparation
Planification industrielle
Analyse scientifique
Diagnostic médical
Analyse financière
Classification
Perceptrons multicouches
Réseaux auto-organisés
Simulations biologiques
Applications de l’IA
Historique
Définition
Un problème est une situation devant laquelle on ne voit pas directement les
étapes permettant de dépasser la situation et satisfaire un besoin.
Exemples de problèmes
Les exemples d’illustration dans la résolution de problèmes sont les jeux ou la
prise de décision.
b) Les récipients
Nous avons un récipient de 5L plein d’eau et un récipient de 2L vide. Il s’agit
de verser de l’eau d’un récipient à un autre. Comment obtenir 1L dans le
récipient de 2L.
.
Il y a 8! = 40'320 placements à
explorer.
Placez initialement les 8 dames sur la diagonale de l'échiquier, puis
échangez deux colonnes choisies au hasard.
jusqu'à ce .
Exemples de problèmes
Le taquin 3x3
Données :
Situation de Départ D
Situation d’Arrivée A
Solution: passer de D à A
par une suite de mouvements autorisés.
Mouvements autorisés :
Sorties :
• Solution = Chemin dans un Graphe (séquence nœuds/transitions)
Trouver une solution consiste à trouver un chemin allant d’un état
initial vers un état final.
• Le Coût d’une solution est la somme des coûts des arêtes dans le
graphe.
• On part du principe que tous les problèmes étudiés sont composés d’un
ensemble de situations ou objets que l’on peut décrire de façon
univoque à l’aide d’un ensemble de variables appelés variables d’états
du problème.
• l’état d’un problème est alors l’ensemble des valeurs prises par les
variables à un instant donné.
• l’espace d’état d’un problème est l’ensemble de tous les états
possibles de ce problème
• On peut considérer que la résolution d’un problème est la découverte
d’un état du problème ayant des caractéristiques données (= la
solution).
Tout graphe connexe contient un graphe partiel (N; A’), avec A’ ⊆ A, qui est
un arbre. On dit que l’arbre est un arbre recouvrant du graphe (en anglais
spanning tree).
Exemples de problèmes
e) Les tours de hanoï
Trois disques grand, moyen et petit enfilés sur une tige selon un ordre. On
veut les déplacer sur une tige sachant un nombre d’opérations autorisées.
Père A A A B E
Parcours (A, B, C, D, E, F)
Parcours (A, B, C, E, F, D)
>0
Approche constructive :
Procéder à chaque étape en plaçant une Kième reine sans prise sur un
échiquier où figurent k-1 reines.
Problème des 4 couleurs : colorer une carte géographique sans que deux pays
voisins ne soient identiquement colorés.
Approche constructive :
MofdiBezine
Hala DHOUIB Machine Learning
Intelligence
& Intelligence
Artificielle Artificielle
Heuristique : Représentation et résolution de problèmes
Plan de voyage : la recherche d’un itinéraire et d’un plan de voyage entre deux
points géographiquement éloignés.
Heuristique
L’heuristique est le plus souvent fondée sur une simplification du problème
initial, sur une relaxation des contraintes qui font que ce problème est
difficile
La simplification la plus grossière fournit en général l’heuristique la plus
pauvre et la moins efficace pour guider la recherche
La simplification la plus élaborée conduit à une heuristique plus complexe à
évaluer. Le compromis est difficile à apprécier.
La qualité d’une heuristique peut se mesurer en termes de réduction de la
complexité de la recherche:
Une heuristique h1 est préférable à h2, si dans tous les cas h1 conduit à explorer
moins d’alternatives que h2
Si le graphe est fini, l’alg. A* termine toujours, (les coûts associés aux
différentes transitions sont strictement positifs, de même ceci étant dû à la
liste fermée, qui permet de détecter les cycles s’ ils existent.
Ainsi, pour s’assurer que l’Alg. A* retourne une solution optimale on peut
imposer dés le départ cette condition telle que ; f(n) =h(n) + g(n) et que h(n)
est admissible.
Il s'agissait de modéliser les jeux à somme nulle où la somme des gains entre
les joueurs est toujours égale à zéro (2 joueurs).
Un jeu de somme nulle est un jeu où la somme des gains et des pertes de
tous (au nombre de 2) les joueurs est égale à 0. Cela signifie donc que le gain
de l'un constitue obligatoirement une perte pour l'autre.
L'algorithme minimax visite l'arbre de jeu pour faire remonter à la racine une
valeur (appelée « valeur du jeu ») qui est calculée récursivement de la façon
suivante :
2. Le second principe de l’algorithme min-max est de propager vers le haut de l’arbre les
valeurs qui ont été attribuées aux situations feuilles afin d’attribuer, par propagation, une
note aux autres situations présentes au sein de l’arbre de jeu jusqu’à la situation initiale
située à la racine de l’arbre. L’objectif du joueur est donc maintenant d’attribuer une note
aux situations. Etudions un peu cette propagation.
Quand il doit choisir entre plusieurs situations l’objectif du joueur est d’atteindre la
situation avec la meilleure note. Donc supposons qu’il soit parvenu à attribuer une note
à toutes les situations immédiatement atteignables à partir de la situation courante alors
puisqu’il doit choisir l’une de ces situations il prend celle avec la plus grande note (=
meilleure qualité). Cette note devient donc celle de la situation courante, elle a pour
valeur le max des valeurs suivantes (cf. figure à droite). En effet : s’il arrive dans cette
situation, il joue au mieux donc choisit la meilleure situation possible pour lui et
obtiendra donc le gain de cette situation, qui devient le gain de la situation courante.
C’est une méthode de recherche locale, qui choisit un état meilleur, qui se
trouve au voisinage de l’état courant, (mais pas nécessairement le meilleur). Si
un tel voisin n’existe pas, on arrête et on retourne le nœud courant comme
solution.
Méthode:
Programmation automatique
Artificial Life
Chimie computationnelle
Evolutionary robotics
Architecture : A Architecture : A
Poids initiaux : W° Poids initiaux : W°
H. Bezine 132
Hala Bezine Machine Learning & Intelligence Artificielle
Apprentissage Supervisé et non Supervisé
Y W.X<0
W.X
W.X>0
H. Bezine 135
Hala Bezine Machine Learning & Intelligence Artificielle
Neurone formel : Neurone de perceptron
.AND
. OR
? .AND
.…....
.XOR.
Fonctions
logiques
a y
xn
wn q
N
w x
Circuit à seuil
a XW T
n n
n 1 xN
wN
1 si a q
y Combinateur linéaire adaptatif
0 sinon.
Modèle du neurone formel de
McCulloch & Pitts 1943
Hala Bezine Machine Learning
Intelligence
& Intelligence
Artificielle Artificielle
Exemplesde Fonctions
x1 x1
w1=+1 q 1.5 w1=+1 q -1.5
x2 x2
w2=+1 ET w2=+1 OU
x1 x2 Sortie ET Sortie OU
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
1 deux classes C1 et C2
Apprentissage ? linéairement séparables
Surface de séparation :
2 N
q wn xn
3 Apprentissage
n 1
Base d’exemples
(Xk, d(k)) Estimer wn et q
d(k) = {0,1} ou {-1,+1}
H. Bezine 139
Hala Bezine Intelligence Artificielle
Principe de propagation et MLP
C’est une branche du machine learning qui s’appuyant sur les réseaux de
neurones (plusieurs couches)
L’apprentissage profond (deep learning) est une notion issue du fait que les
réseaux neurones disposaient de plus en plus de couches cachées et que
le nombres élevés de couches devenait une source de problèmes. En effet,
à partir d’un nombre de couches, le réseau neuronal n’était plus capable
d’assimiler les informations et d’apprendre correctement.
Non Linéaires
ReLu;
Unité de Rectification Linéaire, augmente
les chances de converger du réseau, et ne
provoque pas de saturation des neurones
comme pour les deux fonctions
précédentes.
Les types de pooling les plus utilisés sont le Max (Max de la surface) et
la Moyenne qui sélectionne la valeur Moyenne de la surface.
Les couches de Fully Connected sont tjrs présentes dans les CNN à
la fin des architectures.
Les réseaux de neurones récurrents (RNN) sont conçus pour reconnaître des
séquences, par exemple, un signal vocal ou un texte. Le réseau récurrent a
des cycles à l'intérieur qui impliquent la présence d'une mémoire courte
dans le réseau. Nous avons appliqué CNN ainsi que RNN en choisissant un
algorithme d'apprentissage automatique approprié pour classer les signaux
EEG pour BCI:
L’{ } des points est étiré mais les points ne sont pas alignés.
D’autres variables ayant une influence sur la variable Salaire (
dépendante) (erreurs de mesure)
L’équation générale peut être MAJ; droite +erreur (ε)
La méthode des moindres Carrés fournit les coefficients estimés (b0 et b1).
𝑛 𝑛 𝑛
𝑖=1(yi −𝑦)2 = 2
𝑖=1(yi −𝑦𝑖 ) +
2
𝑖=1(𝑦𝑖 −𝑦) ; la variation totale des
observations avec ; 𝑛𝑖=1(yi −𝑦𝑖 )2 ; c’est la variance résiduelle ou non
expliquée.
SVM’s goal is to maximize the Margin which is twice the distance “d”
between the separating hyperplane and the closest sample.
.
The SVM approach: Linear separable case
-Robust to outliners as
we saw and thus strong
generalization ability. xi
L’ensemble des états initiaux, intermédiaires et finaux d’un problème défini dans
une représentation d’espace est appelée Espace des états.
Une représentation en espace d’états d’un problème est entièrement défini par la
donnée de :
Trouver une solution c’est donner la liste d’opérateurs qui permettent de passer
d’un état initial vers un état final.
Soit l’ensemble G = {ensemble des états dont la somme des chiffres des
diagonales est égale à 6 avec la case vide est au milieu}. Une des solutions
possibles est la suivante :
L’ensemble O = {H,B,G,D} avec H : Haut, c’est à dire déplacer la case vide d’une
position vers le haut. B : Bas. G : Gauche et D : Droite.
Hala Bezine Machine Learning & Intelligence Artificielle
Représentation des connaissances et résolution de problèmes
Où xi {*,1,2,3,4,5,6,7,8} i {1,2,…9} et xi ≠ xj i ≠ j .
Définition : un espace d’états est l’ensemble des états initiaux + les états
finaux+ les états générés par application d’une suite d’opérateurs à partir de
l’état initial
Avantages :
Trouver une solution si elle existe
Si l’arbre possède un nombre fini de branche alors la recherche est
dite algorithmique.
Inconvénients :
Gourmande en espace mémoire
Nombre de nœuds à mémoriser par niveau crois exponentiellement
Très peu adapté à une solution admettant plusieurs chemins de
solution et la solution se trouve très loin.
C’est une recherche fournissant les nœuds les plus récents mis en évidence.
Il s’agit d’explorer un chemin en allant vers les degrés de profondeurs
croissants.
Inconvénients :
Peut s’enforcer dans une boucle infinie. C’est pourquoi cette méthode est
dite non algorithmique.
Pour la rendre algorithmique, nous pouvons ajouter la profondeur limitée.
Dans ce cas, la recherche se fait jusqu’à cette limite.
Recherche heuristique
Définition
L’heuristique introduit des stratégies de contrôle de la recherche.
Technique : Il s’agit d’utiliser une fonction d’évaluation pour chiffrer la validité
d’un nœud par rapport à l’autre. à chaque étape, les nœuds sont réordonnés au
lieu d’être mis dans une pile ou une file.
On parle dans ce cas d’une recherche ordonnée.
Définition
La recherche ordonnée revient à choisir de développer le nœud ayant les
meilleures chances de mener au but.
Recherche heuristique
Principe de la méthode :
Le principe consiste à définir un ordre total sur tous les choix à un moment
de la recherche en utilisant une fonction coût.
Soit f(n) le coût idéal du chemin passant par un nœud n pour arriver au but
:
f(n) = g(n) + h(n) avec g(n) est la fonction coût réel et h(n) est la fonction
heuristique.
Recherche heuristique
L’algorithme se fondant sur f(n) pour ordonner les nœuds est appelé l’algorithme A∗
.Début
1. OUVERT← U0, FERME← ∅, g(U0) ← 0 et U ← U0
2. Tant que OUVERT ≠ ∅ et U T
Faire
2.1 Supprimer U de OUVERT et le placer dans FERME
2.2 itérer sur { v ∈ Successeur (U)}
Si v {OUVERT ou FERME} ou (g(v) > g(U)+k(U, v))
Faire
2.2.1 g(v) ← g(U)+k(U,v)
2.2.2 f(v) ← g(v) + h(v)
2.2.3 père (v) ← U
OUVERT est rangé dans l’ordre croissant de f et décroissant de g
Fin Faire
Fin itération 2.2
2.3 Si OUVERT ≠ ∅ alors U← tête de OUVERT
3. Fin itérer 2
4. Si OUVERT = ∅ alors pas de solution sinon la solution est fournie par le
chemin créé par père(U)
Fin
Recherche heuristique
Exemple : Jeu de taquin Appliquons A∗
pour le jeu de taquin avec g étant le nombre de jetons déplacés
et h le nombre de jeton mal placés.
.
Recherche heuristique
Exemple : Jeu de taquin avec une profondeur limitée =3.
Un problème est dit élémentaire s’il admet une solution immédiate. Les transformations qui permettent de
réaliser la décomposition sont appelées des opérateurs.
Une représentation par réduction de problèmes est définie par les éléments suivants :
1. une description du problème à résoudre.
2. L’ensemble des opérateurs de réduction.
3. Une description des problèmes primitifs ou élémentaires
Recherche heuristique
Exemple : Tour de Hanoy à 3 quilles.
Contraintes :
On ne peut déplacer qu’un seul disque à la fois.
On ne peut pas placer un disque sur un disque de taille inférieure. Nous pouvons
représenter la situation de départ : ((A,B,C),(),()) et la situation d’arrivée : ((),(),(A,B,C))
Problème primitif : une description dans laquelle il s’agit de passer d’une situation de départ
à une situation désirée moyennant le déplacement d’un seul disque d’une quille i vers la
quille j ne contenant pas de disque de taille inférieure.
Un seul opérateur de décomposition suffit et il est défini comme suit : étant donné les quilles
i, j, k, le problème de déplacer une pile de la quille i à la quille k peut être remplacé par les
trois problèmes suivants :
Déplacer une pile de la quille i vers la quille j.
Déplacer une pile de la quille i vers la quille k.
Déplacer une pile de la quille j vers la quille k.
Recherche heuristique
Recherche heuristique
Recherche heuristique
Cependant on peut être guidé dans le choix par les considérations suivantes :
• Si la solution du problème se représente de façon pratique comme une
structure d’arbre (ou de graphe) alors l’approche réduction de problèmes
est plus appropriée.
• Si la solution du problème se représente de façon pratique comme un
chemin représentant une suite inconditionnelle d’actions alors l’approche
espaces d’états est plus appropriée.
Du nœud initial (échiquier vide) partent 64 arcs (diverses façons de placer une
reine)
Ce graphe comporte des cycles (il est possible d’atteindre le même état de
diverses façons)
« échiquier-sans-prise »
Une grande partie des 264 états de la représentation suivante est inutile
tout état avec une reine en prise ou tout successeur d’un tel état.
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
Génération de plans
La pince ne peut prendre qu’un seul objet à la fois. Seul un objet sur lequel
rien n’est empilé peut être saisi.
L’objectif à atteindre est donné comme un état explicite par rapport auquel on
teste l’état courant.
Une solution au problème est un chemin dans le graphe entre le nœud initial
et le nœud final : le plan recherché est la séquence d’opérateurs, étiquetant
les arc de ce chemin.
Poser(X) : si pince-tient=X
A
C D
E
Hala Bezine Machine Learning & Intelligence Artificielle