Intelligence Artificielle - Introduction¶
1956 - Darthmouth workshop¶
John Mc Carthy¶
![]() |
pionnier de l'intelligence artificielle (jeux : élagage alpha-beta) - (1956) inventeur du langage LISP (list processing) - (1958) crée le laboratoire IA à Stanford - (1962) prix Turing - (1971) |
John Mac Carthy |
Tâches intellectuelles à faire réaliser par une machine¶
Jeux : stratégie pour gagner ?
Analyse d'image (fixe, vidéo) : classification, segmentation ...
Reconnaissance de la parole
Traduction
Raisonnement automatique
Conduire une voiture
Rédiger un mémoire de recherche
Principe d'une IA¶
Apprentissages ...¶
Utiliser des données extérieures pour améliorer le modèle :
apprentissage supervisé : on donne des exemples au système, et la réponse attendue
apprentissage non-supervisé : on donne des exemples au système (et c'est tout !)
apprentissage par renforcement (HP) : on réinjecte dans le système des exemples corrigés
apprentissage profond (HP) : le modèle interne se complexifie (réseaux de neurones multicouches ...)
Explosion des usages :¶
modèles performants :¶
- réseaux de neurones (1960) remis au goût du jour par Y.Le Cun (1990) (prix Turing 2018)
puissance de calcul¶
- loi de Moore + cloud computing
données disponibles¶
- big data : internet + données personnelles + appareils connectés
puissance financière :¶
- des millions / milliards de $ : GAFAM, et autres
... mais cette fois, l'algorithme est "flou"¶
dépend souvent des données d'entraînement (qui entraine le système ?)
peut dépendre des entrées utilisateurs (reflète le mode de pensée des utilisateurs ?)
le modèle interne devient souvent inintelligible (réseau de neurones HP), mais pas "doué d'intelligence" ...
dangers ?¶
- faire croire que la sortie d'une IA est "la vérité" (ce n'est que la sortie d'un algorithme)
solutions ?¶
- éducation : comment ça marche ? qui "tire les ficelles" ?
Au programme MPI :¶
Une introduction à l'intelligence artificielle avec des objectifs variés, et algorithmes relativement simples :
classification supervisée : KNN, ID3
classification non supervisée (clustering) : CAH, K-means
jeux à 1 joueur : exploration de graphe
jeux à deux joueurs : attracteurs, algorithme min-max, élagage $\alpha\beta$
déplacement "orienté" dans un graphe : **algorithme A***
Quelle modélisation informatique ?¶
vecteur de caractéristiques¶
Chaque objet est représenté par un vecteur de $d$ caractéristiques (en anglais : features)
Quelles caractéristiques ?
discret : {oui, non} ; {appartement, maison, terrain} ; {0,1,2,3,4,5}
continu : $[0;100]$, $\mathbb{R}$, ...
distance¶
De nombreux algorithmes utilisent une notion de distance entre objets.
- Si les caractéritiques sont continues, on peut utiliser les distances mathématiques classiques :
$dist(\vec{x}, \vec{y}) = \sum_{i=1}^d (x_i-y_i)^2)^{1/2}$ (distance euclidienne - norme 2)
$dist(\vec{x}, \vec{y}) = \sum_{i=1}^d |x_i-y_i|$ (distance "manhattan" - norme 1)
- Sinon ... à adapter au cas par cas
par exemple : $dist(oui, oui) = dist(non, non) = 0$; $dist(oui, non) = dist(non, oui) = 1$
à gauche : $d(A,B) = \sqrt{(12-9)^2 + (3-3)^2} = ...$
à gauche : $d(A,B) = \sqrt{9}$ ; $d(A,C) = \sqrt{5} $ ; $d(B,C) =\sqrt{2}$
à gauche : B et C sont les plus proches
NB : attention aux unités¶
à gauche : B et C sont les plus proches
à droite : $d(A,B) = \sqrt{9}$ ; $d(A,C) = \sqrt{10004} $ ; $d(B,C) =\sqrt{10001}$
à droite : A et B sont les plus proches !
NB : attention aux unités¶
En pratqiue : on pondère la contribution de chaque dimension
$dist(\vec{x}, \vec{y}) = (\sum_{i=1}^d \alpha_i (x_i-y_i)^2)^{1/2}$ avec $\alpha_i > 0$
Le choix des caractéristiques, et de la distance utilisée sont points cruciaux en intelligence artificielle ...¶
En MPI, on simplifie. On se contentera de travailler :
avec des vecteurs de $\mathbb{R}^d$ et la distance euclidienne pour KNN, CAH et K-means
avec des vecteurs à valeurs discrètes pour ID3