Intelligence Artificielle

Programme de la spécialité Sciences de l'ingénieur

Analyser : notions sur l’intelligence artificielle

L’intelligence artificielle est présentée dans une approche simplifiée (machine learning, moteur d’inférence), du type de relation entrées/sorties.

Celle-ci est purement applicative, sans entrer dans les détails des outils mathématiques. Elle est abordée sous la forme d’activités dirigées de simulation.

L’intelligence Artificielle est l’ensemble des théories et des techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence.

Encyclopédie Larousse

 

L’objectif principal de l’Intelligence Artificielle (IA) est de « remplacer » les capacités d’analyse et de décision de l’humain, en tentant de se comporter « comme » le cerveau humain.

Can machines think ?

Alan Turing (1950)

 

Introduction à l’Intelligence Artificielle

En Vidéo

Vidéo 2

 

L’intelligence artificielle se décompose principalement, et actuellement, en entités imbriquées :

  • l’apprentissage automatique (Machine Learning),
    • l’apprentissage profond (Deep Learning)
    • l’apprentissage par renforcement (Reinforcement Learning)

 

Apprentissage automatique

Définition

L’apprentissage automatique (Machine Learning) est l’ensemble des techniques permettant à une machine d’apprendre à résoudre une tache précise.

Le ML suppose l’élaboration d’algorithmes permettant à la machine d’améliorer grâce à l’expérience sa performance dans la réalisation de la tâche qu’elle a à accomplir .

Dans tous les cas, quel que soit le type d’Intelligence Artificielle, celle-ci mobilise une grande quantité d’informations, issues généralement de bases de données classifiées.

Par exemple, dans le cas de l’usage de l’intelligence artificielle pour reconnaître l’identité d’une personne, des milliers d’images de chaque individu sont nécessaires, en vue de prédire l’identité d’une personne à partir d’une nouvelle photographie.

Le but de l’intelligence artificielle est donc de prédire la classe la plus probable, après une phase d’apprentissage plus ou moins importante et plus ou moins complexe. Il est donc important de distinguer 2 phases :

  • Phase d’apprentissage à partir d’une base de données pré-classifiées, basée sur l’extraction de caractéristiques (features) et d’obtention des règles de classifications ;

  • Phase d’utilisation de l’IA à partir des règles de classification pour prédire l’appartenance à une classe à partir d’une nouvelle donnée en entrée.

Les features (caractéristiques) permettent de caractériser les éléments contenus dans la base de données. Généralement, plus de 1000 features sont nécessaires pour une bonne identification. Ces features sont soit déterminés manuellement (historiquement), soit par des algorithmes très performants d’extraction automatiques (HOG, SURF, …) pour reconnaître des objets ou des visages dans des photographies.

Par exemple, pour une application identifiant la posture d’une personne qui informe le propriétaire de son activité (marche, repos, assis, courir…), des grandeurs telles que l’amplitude, valeur moyenne, écart-type, période, enveloppe … des signaux d’accélération des 3 dimensions peuvent permettre d’identifier la posture la plus probable.

Une classe d’objets est représentée par un « nuage » de points dans l’espace vectoriel à \(n\) dimensions (dans le cas de nfeatures).

Le rôle du classifieur est donc de déterminer à quel « nuage » l’objet à identifier appartient le plus vraisemblablement.

 

Machine Learning

Un peu d'histoire ...

Le Machine Learning a été inventé par Arthur Samuel en 1959, après que celui-ci ait développé le premier programme de jeu de Dames doté d’une intelligence artificielle. Ce programme avait appris à jouer aux Dames tout seul, sans recevoir la moindre instruction de son développeur.

Le Machine Learning est un domaine d’étude de l’IA qui vise à donner aux machines la capacité d’apprendre.

Cette technologie très puissante a permis le développement des voitures autonomes, de la reconnaissance vocale, et de tous les systèmes dits ”intelligents” depuis le début du siècle.

Méthodes d’apprentissage

On distingue en général trois grandes catégories de machine learning :

  • L’apprentissage supervisé avec la classification qui permet de labelliser des objets comme des images et la régression qui permet de réaliser des prévisions sur des valeurs numériques.
    L’apprentissage est supervisé car il exploite des bases de données d’entraînement qui contiennent des labels ou des données contenant les réponses aux questions que l’on se pose. En gros, le système exploite des exemples et acquiert la capacité à les généraliser ensuite sur de nouvelles données de production.

 

  • L’apprentissage non supervisé avec le clustering et la réduction de dimensions. Il exploite des bases de données non labellisées. Ce n’est pas un équivalent fonctionnel de l’apprentissage supervisé qui serait automatique. Ses fonctions sont différentes.
    Le clustering permet d’isoler des segments de données spatialement séparés entre eux, mais sans que le système donne un nom ou une explication de ces clusters.
    La réduction de dimensions (ou embedding) vise à réduire la dimension de l’espace des données, en choisissant les dimensions les plus pertinentes. Du fait de l’arrivée des big data, la dimension des données a explosé et les recherches sur les techniques d’embedding sont très actives.

 

  • L’apprentissage par renforcement pour l’ajustement de modèles déjà entraînés en fonction des réactions de l’environnement.
    C’est une forme d’apprentissage supervisé incrémental qui utilise des données arrivant au fil de l’eau pour modifier le comportement du système.
    C’est utilisé par exemple en robotique, dans les jeux ou dans les chatbots capables de s’améliorer en fonction des réactions des utilisateurs. Et le plus souvent, avec le sous ensemble du machine learning qu’est le deep learning. L’une des variantes de l’apprentissage par renforcement est l’apprentissage supervisé autonome notamment utilisé en robotique o`u l’IA entraîne son modèle en déclenchant d’elle même un jeu d’actions pour vérifier ensuite leur résultat et ajuster son comportement.

Dans les trois catégories décrites sommairement ci-dessous, on peut classer différents algorithmes pour chaque type d’apprentissage automatique :

On parle de modèle d’intelligence artificielle supervisé lorsque celle-ci apprend par le biais de données d’exemple. Cette méthode d’apprentissage s’oppose au non-supervisé qui désigne des intelligences artificielles pour lesquelles on fournit des données uniquement, la tâche étant de les ranger/grouper de manière « logique ». La figure ci-dessous illustre de manière très simplistes les différences entre apprentissage supervisé et non-supervisé.

 

Principes généraux de l’apprentissage supervisé

L’apprentissage supervisé est utilisé pour développer des modèles prédictifs, c’est-à-dire des modèles capables de prédire une variable \(y\), qui peut être un vecteur, en fonction de plusieurs variables \(x1\), \(x2\), …

Exemples : prédire le nom d’une personne (y) à partir d’une photo (x), ou bien prédire le prix d’un appartement (y) en fonction de sa surface habitable (x1) et du nombre de pièces (x2)

Pour développer de tels modèles, il faut en premier lieu fournir à la machine une grande quantité de données \((x; y)\). On appelle cela un dataset (un jeu de données).

Ensuite, on demande à la machine de développer une fonction d’approximation qui représente au mieux la relation \(x \rightarrow y\) présente dans des données. Pour cela, on utilise un algorithme d’optimisation qui minimise les écarts entre la fonction et les données du dataset.

Les applications de l’apprentissage supervisé sont nombreuses. On peut néanmoins les diviser en deux catégories de problèmes : les régressions, et les classifications.

Activité : régression linéaire
Évaluer, par régression linéaire, à partir du nuage de points ci-dessous, l'expression de \(y\) en fonction de \(x\).

 

 

 

Principes généraux de l’apprentissage non supervisé

Mathématiquement, l’apprentissage non supervisé est celui où vous n’avez que des données d’entrée (\(X\)) et aucune variable de sortie correspondante.

L’objectif de l’apprentissage non supervisé est de modéliser la structure sous-jacente ou la distribution dans les données afin d’en savoir plus sur les données. Dans l’approche d’apprentissage non supervisé, l’échantillon d’un ensemble de données d’apprentissage n’a pas de sortie attendue qui lui est associée. En utilisant les algorithmes d’apprentissage non supervisé, vous pouvez détecter des modèles en fonction des caractéristiques typiques des données d’entrée. Le clustering peut être considéré comme un exemple de tâche d’apprentissage automatique qui utilise l’approche d’apprentissage non supervisé. La machine regroupe ensuite des échantillons de données similaires et identifie différents groupes dans les données.

 

Regroupement ou Clustering

La mise en cluster consiste à séparer ou à diviser un ensemble de données en un certain nombre de groupes, de sorte que les ensembles de données appartenant aux mêmes groupes se ressemblent davantage que ceux d’autres groupes. En termes simples, l’objectif est de séparer les groupes ayant des traits similaires et de les assigner en grappes.
Voyons cela avec un exemple. Supposons que vous soyez le chef d’un magasin de location et que vous souhaitiez comprendre les préférences de vos clients pour développer votre activité. Vous pouvez regrouper tous vos clients en 10 groupes en fonction de leurs habitudes d’achat et utiliser une stratégie distincte pour les clients de chacun de ces 10 groupes. Et c’est ce que nous appelons le clustering.

Association

L’association consiste à découvrir des relations intéressantes entre des variables dans de grandes bases de données. Par exemple, les personnes qui achètent une nouvelle maison ont aussi tendance à acheter de nouveaux meubles. Il découvre la probabilité de co-occurrence d’éléments dans une collection.
En résumé, le clustering consiste à grouper des points de données en fonction de leurs similitudes, tandis que l’association consiste à découvrir des relations entre les attributs de ces points de données.

 

Deep Learning (apprentissage profond)

Dans le cas du Deep Learning, le classifieur est basé sur l’utilisation de réseaux de neurones, à l’image du cerveau humain.

L’élément de base du cerveau humain est le neurone, appelé perceptron ou neurone artificiel en Intelligence Artificielle. Un réseau de neurones comporte une multitude de neurone, organisée en couches, avec a minima une couche d’entrée recevant les features, une couche de sortie permettant la prédiction. Plus le nombre de couches est important, plus la prédiction sera a priori valable, mais nécessitera un temps de calculs (pour les phases d’apprentissage et d’utilisation) important.

 

Sources : David PRESVOST et Nicolas VIDAL (www.upsti.fr)
Thomas LEVAVASSEUR (www.upsti.fr)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *