Apprentissage non supervisé
Dans le domaine informatique et de l'intelligence artificielle, l'apprentissage non supervisé désigne la situation d'apprentissage automatique où les données ne sont pas étiquetées (par exemple étiquetées comme « balle » ou « poisson »). Il s'agit donc de découvrir les structures sous-jacentes à ces données non étiquetées. Puisque les données ne sont pas étiquetées, il est impossible à l'algorithme de calculer de façon certaine un score de réussite. Ainsi, les méthodes non supervisées présentent une auto-organisation qui capture les modèles comme des densités de probabilité ou, dans le cas des réseaux de neurones, comme combinaison de préférences de caractéristiques neuronales encodées dans les poids et les activations de la machine.
Les autres niveaux du spectre de supervision sont l'apprentissage par renforcement où la machine ne reçoit qu'un score de performance numérique comme guide, et l'apprentissage semi-supervisé où une petite partie des données est étiquetée.
L'introduction dans un système d'une approche d'apprentissage non supervisé est un moyen d'expérimenter l'intelligence artificielle. En général, des systèmes d'apprentissage non supervisé permettent d'exécuter des tâches plus complexes que les systèmes d'apprentissage supervisé, mais ils peuvent aussi être plus imprévisibles. Même si un système d'IA d'apprentissage non supervisé parvient tout seul, par exemple, à faire le tri entre des chats et des chiens, il peut aussi ajouter des catégories inattendues et non désirées, et classer des races inhabituelles, introduisant plus de bruit que d'ordre[1].
Apprentissage non supervisé et apprentissage superviséModifier
L'apprentissage non supervisé consiste à apprendre sans superviseur. Il s’agit d’extraire des classes ou groupes d’individus présentant des caractéristiques communes[2]. La qualité d'une méthode de classification est mesurée par sa capacité à découvrir certains ou tous les motifs cachés.
On distingue l'apprentissage supervisé et l'apprentissage non supervisé. Dans le premier apprentissage, il s’agit d’apprendre à classer un nouvel individu parmi un ensemble de classes prédéfinies : on connaît les classes a priori. À l'inverse, dans l'apprentissage non supervisé, le nombre et la définition des classes ne sont pas donnés a priori[3].
ExempleModifier
Différence entre les deux types d'apprentissage.
Apprentissage superviséModifier
- On dispose d'éléments déjà classés
Exemple : articles en rubrique cuisine, sport, culture...
- On veut classer un nouvel élément
Exemple : lui attribuer un nom parmi cuisine, sport, culture...
Apprentissage non superviséModifier
- On dispose d'éléments non classés
Exemple : une fleur
- On veut les regrouper en classes
Exemple : si deux fleurs ont la même forme, elles sont en rapport avec une même plante correspondante.
Il existe deux principales méthodes d'apprentissage non supervisées[4] :
- Les méthodes par partitionnement telles que les algorithmes des k-moyennes ou k-médoïdes.
- Les méthodes de regroupement hiérarchique.
UtilisationsModifier
Les techniques d'apprentissage non supervisé peuvent être utilisées pour résoudre, entre autres, les problèmes suivants :
- le partitionnement de données (par exemple avec l'algorithme des k-moyennes, le regroupement hiérarchique),
- l'estimation de densité de distribution (distribution de mélange, estimation par noyau),
- la réduction de dimension (analyse en composantes principales, carte auto-adaptative)
L'apprentissage non supervisé peut aussi être utilisé en conjonction avec une inférence bayésienne pour produire des probabilités conditionnelles pour chaque variable aléatoire étant donné les autres.
Liste des algorithmes d'apprentissage non superviséModifier
- K-means clustering (K-moyenne)
- Dimensionality Reduction (Réduction de la dimensionnalité)
- Principal Component Analysis (Analyse en composantes principales)
- Singular Value Decomposition (Décomposition en valeurs singulières)
- Independent Component Analysis (Analyse en composantes indépendantes)
- Distribution models (Modèles de distribution)
- Hierarchical clustering (Classification hiérarchique)[5]
Regroupement ou ClusteringModifier
Le regroupement ou Clustering est la technique la plus utilisée pour résoudre les problèmes d'apprentissage non supervisé. 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[6].
MéthodesModifier
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:
Les techniques de clustering cherchent à décomposer un ensemble d'individus en plusieurs sous ensembles les plus homogènes possibles
- On ne connaît pas la classe des exemples (nombre, forme, taille)
- Les méthodes sont très nombreuses, typologies généralement employées pour les distinguer Méthodes de partitionnement / Méthodes hiérarchiques
- Avec recouvrement / sans recouvrement
- Autre : incrémental / non incrémental
- D'éventuelles informations sur les classes ou d'autres informations sur les données n'ont pas d'influence sur la formation des clusters, seulement sur leur interprétation[7].
L'un des algorithmes le plus connu et utilisé en clustering est la K-moyenne.Cet algorithme va mettre dans des “zones” (Cluster), les données qui se ressemblent. Les données se trouvant dans le même cluster sont similaires.
L’approche de K-Means consiste à affecter aléatoirement des centres de clusters (appelés centroids), et ensuite assigner chaque point de nos données au centroid qui lui est le plus proche. Cela s’effectue jusqu’à assigner toutes les données à un cluster[8].
Réseaux de neuronesModifier
Tâches vs méthodesModifier
Les tâches du réseau de neurones sont souvent classées comme discriminatives (reconnaissance) ou génératives (imagination). Les tâches discriminatives utilisent souvent (mais pas toujours) des méthodes supervisées et les tâches génératives utilisent des méthodes non supervisées (voir diagramme de Venn); cependant, la séparation est très floue. Par exemple, la reconnaissance d'objets favorise l'apprentissage supervisé, mais l'apprentissage non supervisé peut également regrouper des objets en groupes. De plus, au fur et à mesure que des progrès, certaines tâches utilisent les deux méthodes, et certaines tâches oscillent de l'une à l'autre. Par exemple, la reconnaissance d'images a commencé comme étant fortement supervisée, mais est devenue hybride en employant un pré-entrainement non supervisée, puis est revenue à la supervision avec l'avènement de l'abandon, de ReLU et des taux d'apprentissage adaptatifs.
ApprentissageModifier
Pendant la phase d'apprentissage, un réseau non supervisé essaie d'imiter les données qui lui sont fournies et utilise l'erreur dans sa sortie imitée pour se corriger (c'est-à-dire corriger ses poids et ses biais). Parfois, l'erreur est exprimée comme une faible probabilité que la sortie erronée se produise, ou elle peut être exprimée comme un état de haute énergie instable dans le réseau.
Contrairement à l'utilisation dominante de la rétropropagation par les méthodes supervisées, l'apprentissage non supervisé utilise également d'autres méthodes, notamment : la règle d'apprentissage de Hopfield, la règle d'apprentissage de Boltzmann, la divergence contrastive, le sommeil éveillé, l'inférence variationnelle, la vraisemblance maximale, le maximum A Posteriori, l'échantillonnage de Gibbs, et la rétropropagation des erreurs de reconstruction ou des reparamétrisations d'état caché. Voir le tableau ci-dessous pour plus de détails.
ÉnergieModifier
Une fonction énergétique est une mesure macroscopique de l'état d'activation d'un réseau. Dans les machines Boltzmann, il joue le rôle de la fonction de coût. Cette analogie avec la physique est inspirée de l'analyse par Ludwig Boltzmann de l'énergie macroscopique d'un gaz à partir des probabilités microscopiques du mouvement des particules , où k est le Constante de Boltzmann et T est la température. Dans le réseau RBM, la relation est [9], où p & E varient sur chaque schéma d'activation possible et . Pour être plus précis, , où a est un modèle d'activation de tous les neurones (visibles et cachés). Par conséquent, les premiers réseaux de neurones portent le nom de Boltzmann Machine. Paul Smolensky appelle l'Harmonie. Un réseau cherche énergie basse qui correspond à une Harmonie haute.
Types de réseauxModifier
Nous soulignons ici certaines caractéristiques de certains réseaux. Des détails sont également donnés dans le tableau comparatif ci-dessous.
Le ferromagnétisme a inspiré les réseaux Hopfield. Un neurone correspond à un domaine de fer avec des moments magnétiques binaires Up et Down, et les connexions neuronales correspondent à l'influence des domaines les uns sur les autres. Les connexions symétriques permettent une formulation énergétique globale. Pendant l'inférence, le réseau met à jour chaque état en utilisant la fonction d'activation standard. Des poids symétriques et les bonnes fonctions d'énergie garantissent la convergence vers un modèle d'activation stable. Les poids asymétriques sont difficiles à analyser. Les réseaux Hopfield sont utilisés comme des mémoires adressables par le contenu (CAM).
Machine de Boltzmann
Ce sont des réseaux Hopfield stochastiques. Leur valeur d'état est échantillonnée à partir de cette densité de probabilité comme suit : supposons qu'un neurone binaire se déclenche avec une probabilité de Bernoulli et se repose avec . On échantillonne dans ce dernier en prenant un nombre aléatoire uniformément distribué y, et en le plaçant dans la fonction de distribution cumulative inverse, qui dans ce cas est la fonction seuil à 2/3. La fonction inverse
Réseau de croyance sigmoïde
Introduit par Radford Neal en 1992, ce réseau applique les idées des modèles graphiques probabilistes aux réseaux neuronaux. La principale différence réside dans le fait que les nœuds des modèles graphiques ont des significations pré-attribuées, alors que les caractéristiques des neurones du Belief Net sont déterminées après la formation. Le réseau est un graphe acyclique dirigé faiblement connecté composé de neurones stochastiques binaires. La règle d'apprentissage provient du maximum de vraisemblance sur , où Les sont des activations provenant d'un échantillon non biaisé de la distribution postérieure, ce qui pose problème en raison du problème d'explication de l'éloignement soulevé par Judea Perl. Les méthodes bayésiennes variationnelles utilisent un postérieur de substitution et ignorent manifestement cette complexité.
Réseau de croyance profond
Introduit par Hinton, ce réseau est un hybride de RBM et de réseau de croyance sigmoïde. Les deux couches supérieures sont un RBM et la deuxième couche vers le bas forme un réseau de croyance sigmoïde. On l'entraîne par la méthode du RBM empilé, puis on jette les poids de reconnaissance sous le RBM supérieur. En 2009, 3-4 couches semblent être la profondeur optimale[10].
Machine de Helmholtz
Ce sont les premières inspirations des encodeurs automatiques variationnels. Il s'agit de 2 réseaux combinés en un seul - les poids vers l'avant opèrent la reconnaissance et les poids vers l'arrière mettent en œuvre l'imagination. C'est peut-être le premier réseau à faire les deux. Helmholtz n'a pas travaillé dans l'apprentissage automatique mais il a inspiré la vision d'un "moteur d'inférence statistique dont la fonction est d'inférer les causes probables des entrées sensorielles" (3). le neurone binaire stochastique génère une probabilité que son état soit 0 ou 1. L'entrée de données n'est normalement pas considérée comme une couche, mais dans le mode de génération de la machine Helmholtz, la couche de données reçoit l'entrée de la couche intermédiaire a des poids séparés à cet effet, donc il est considéré comme une couche. Ce réseau comporte donc 3 couches.
Celles-ci sont inspirées des machines de Helmholtz et combinent un réseau de probabilité avec des réseaux de neurones. Un Autoencoder est un réseau CAM à 3 couches, où la couche intermédiaire est censée être une représentation interne des modèles d'entrée. Le réseau neuronal du codeur est une distribution de probabilité (z étant donné x) et le réseau du décodeur est (x étant donné z). Les poids sont nommés et plutôt que W et V comme dans Helmholtz - une différence cosmétique. Ces 2 réseaux ici peuvent être entièrement connectés ou utiliser un autre schéma NN.
ComparaisonModifier
Ce tableau présente des schémas de connexion de différents réseaux non supervisés, dont les détails seront donnés dans la section Comparaison de réseau. Les cercles sont des neurones et les bords entre eux sont des poids de connexion. Au fur et à mesure que la conception du réseau change, des fonctionnalités sont ajoutées pour activer de nouvelles fonctionnalités ou supprimées pour accélérer l'apprentissage. Par exemple, les neurones changent entre déterministe (Hopfield) et stochastique (Boltzmann) pour permettre une sortie robuste, les poids sont supprimés dans une couche (RBM) pour accélérer l'apprentissage, ou les connexions peuvent devenir asymétriques (Helmholtz).
Hopfield | Boltzmann | RBM | Boltzmann empilé | Helmholz | Auto-encodeur | VAE | |
---|---|---|---|---|---|---|---|
Structure | Un réseau basé sur des domaines magnétiques dans le fer avec une seule couche auto-connectée. Il peut être utilisé comme mémoire adressable par le contenu. | Le réseau est séparé en 2 couches (caché vs visible), mais utilise toujours des poids symétriques à 2 voies. Suivant la thermodynamique de Boltzmann, les probabilités individuelles donnent lieu à des énergies macroscopiques. | Il s'agit d'une machine Boltzmann où les connexions latérales au sein d'une couche sont interdites pour rendre l'analyse traitable. | Ce réseau comporte plusieurs RBM pour coder une hiérarchie de caractéristiques cachées. Après la formation d'un seul RBM, une autre couche cachée bleue (voir RBM de gauche) est ajoutée, et les deux couches supérieures sont formées comme un RBM rouge et bleu. | Au lieu de la connexion symétrique bidirectionnelle des machines Boltzmann empilées, nous avons des connexions unidirectionnelles séparées pour former une boucle. Il fait à la fois génération et discrimination. | Un réseau feed-forward qui vise à trouver une bonne représentation de la couche intermédiaire de son monde d'entrée. Ce réseau est déterministe, il n'est donc pas aussi robuste que son successeur le VAE. | Applique l'inférence variationnelle à l'autoencodeur. La couche intermédiaire est un ensemble de moyennes et de variances pour les distributions gaussiennes. La nature stochastique permet une imagination plus robuste que l'auto-encodeur déterministe. |
Usage & notables | CAM, problème de voyageur de commerce | CAME. La liberté des connexions rend ce réseau difficile à analyser. | la reconnaissance de formes. utilisé dans les chiffres et la parole MNIST. | reconnaissance & imagination. pré-entrainement non supervisée et/ou réglage fin supervisé. | imagination, mimétisme | langue : écriture créative, traduction. vision : améliorer les images floues | générer des données réalistes |
Neurone | état binaire déterministe. Activation | neurone de Hopfield binaire stochastique | ← pareil. (étendu à la valeur réelle au milieu des années 2000) | ← pareil | ← pareil | langage : LSTM.
vision : champs récepteurs locaux. généralement une activation relu à valeur réelle. |
Les neurones de la couche moyenne encodent les moyennes et les variances des gaussiennes. En mode d'exécution (inférence), les sorties de la couche moyenne sont des valeurs échantillonnées des gaussiennes. |
Connexions | 1 couche avec poids symétriques. Pas d'auto-connexions. | 2 couches. 1-caché et 1-visible. poids symétriques. | ← pareil.
pas de connexions latérales dans une couche. |
la couche supérieure est non dirigée, symétrique. les autres couches sont à 2 voies, asymétriques. | 3 couches : poids asymétriques. 2 réseaux combinés en 1. | 3 couches. L'entrée est considérée comme une couche même si elle n'a pas de pondération entrante. couches récurrentes pour la PNL. convolutions anticipatrices pour la vision. l'entrée et la sortie ont le même nombre de neurones. | 3 couches : entrée, encodeur, échantillonneur de distribution décodeur. l'échantillonneur n'est pas considéré comme une couche (e) |
Inférence & énergie | L'énergie est donnée par la mesure de probabilité de Gibbs : | ← pareil | ← pareil | minimiser la divergence KL | l'inférence n'est qu'anticipation. les réseaux UL précédents fonctionnaient en avant ET en arrière | minimiser l'erreur = erreur de reconstruction - KLD | |
Formation | , pour +1/-1 neurone | . Ceci est dérivé de la minimisation de KLD. e = taux d'apprentissage, p' = prédit et p = distribution réelle. | Il s'agit d'une forme de divergence contrastive avec échantillonnage de Gibbs. désigne des moyennes. | ← similaire. former 1 couche à la fois. état d'équilibre approximatif avec une passe de 3 segments. pas de rétro-propagation. | entraînement réveil-sommeil en 2 phases | rétropropager l'erreur de reconstruction | reparamétrer l'état caché pour backprop |
Force | ressemble à des systèmes physiques donc il hérite de leurs équations | ← pareil. les neurones cachés agissent comme une représentation interne du monde extérieur | programme de formation pratique plus rapide que les machines Boltzmann | s'entraîne rapidement. donne une couche hiérarchique de fonctionnalités | légèrement anatomique. analysable avec la théorie de l'information et la mécanique statistique | ||
Faiblesse | difficile à former en raison des connexions latérales | l'équilibre nécessite trop d'itérations | les neurones entiers et à valeur réelle sont plus compliqués. |
Parmi les réseaux portant des noms de personnes, seul Hopfield travaillait directement avec les réseaux de neurones. Boltzmann et Helmholtz ont précédé les réseaux de neurones artificiels, mais leurs travaux en physique et physiologie ont inspiré les méthodes analytiques utilisées.
HistoriqueModifier
1969 | Perceptrons de Minsky & Papert montre qu'un perceptron sans couches cachées échoue sur XOR |
années 1970 | (dates approximatives) Première hibernation de l'IA |
1974 | Modèle magnétique d'Ising proposé par WA Little pour la cognition |
1980 | Fukushima introduit le néocognitron, appelé plus tard réseau de neurones à convolution. Il est principalement utilisé dans SL, mais mérite une mention ici. |
1982 | Ising variant Hopfield net décrit comme CAM et classificateurs par John Hopfield. |
1983 | Machine de Boltzmann variante d'Ising avec neurones probabilistes décrite par Hinton & Sejnowski à la suite des travaux de Sherington & Kirkpatrick de 1975. |
1986 | Paul Smolensky publie Harmony Theory, qui est un RBM avec pratiquement la même fonction énergétique de Boltzmann. Smolensky n'a pas donné de programme de formation pratique. Hinton l'a fait au milieu des années 2000 |
1995 | Schmidthuber introduit le neurone LSTM pour les langues. |
1995 | Dayan & Hinton présente la machine Helmholtz |
1995-2005 | (dates approximatives) Deuxième hibernation de l'IA |
2013 | Kingma, Rezende, & co. introduit les auto-encodeurs variationnels en tant que réseau de probabilité graphique bayésien, avec des réseaux de neurones comme composants. |
Apprentissage Hebbien, ART, SOMModifier
L'exemple classique d'apprentissage non supervisé dans l'étude des réseaux de neurones est le principe de Donald Hebb, c'est-à-dire que les neurones qui s'activent ensemble se connectent ensemble[11]. La règle de Hebb stipule que la connexion est renforcée indépendamment d'une erreur, mais est exclusivement en fonction de la coïncidence des potentiels d'action entre les deux neurones[12],[13]. Une version similaire qui modifie les poids synaptiques prend en compte le temps entre les potentiels d'action (plasticité dépendante du moment du pic ou STDP). L'apprentissage hebbien a été supposé sous-tendre une gamme de fonctions cognitives, telles que la reconnaissance de formes et l'apprentissage expérientiel.
Parmi les modèles de réseau de neurones, la carte autoadaptative (SOM) et la théorie de la résonance adaptative (ART) sont couramment utilisées dans les algorithmes d'apprentissage non supervisé. Le SOM est une organisation topographique dans laquelle les emplacements proches sur la carte représentent des entrées avec des propriétés similaires. Le modèle ART permet au nombre de clusters de varier en fonction de la taille du problème et permet à l'utilisateur de contrôler le degré de similitude entre les membres des mêmes clusters au moyen d'une constante définie par l'utilisateur appelée paramètre de vigilance. Les réseaux ART sont utilisés pour de nombreuses tâches de reconnaissance de formes, telles que la reconnaissance automatique de cibles et le traitement des signaux sismiques[13].
Notes et référencesModifier
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Unsupervised learning » (voir la liste des auteurs).
- « Apprentissage non supervisé »
- Guillaume Cleuziou, Une méthode de classification non-supervisée pour l’apprentissage de règles et la recherche d’information, (lire en ligne)
- « Classification »
- Pierre-Louis GONZALEZ, MÉTHODES DE CLASSIFICATION, Cnam,
- « Apprentissage Supervisé Vs. Non Supervisé »
- « Apprentissage Supervisé Vs. Non Supervisé », sur Le DataScientist, (consulté le )
- « Apprentissage non supervisé »
- « L’apprentissage non supervisé – Machine Learning »
- (en) G. Hinton, « A Practical Guide to Training Restricted Boltzmann Machines », dans Neural Networks: Tricks of the Trade, vol. 7700, Springer, (ISBN 978-3-642-35289-8, DOI 10.1007/978-3-642-35289-8_32, lire en ligne [PDF]).
- (en) Hinton, Geoffrey, « Deep Belief Nets », Vidéo,
- (en) J. Buhmann et H. Kuhneln, « [Proceedings 1992] IJCNN International Joint Conference on Neural Networks », dans Unsupervised and supervised data clustering with competitive neural networks, vol. 4, IEEE, (ISBN 0780305590, DOI 10.1109/ijcnn.1992.227220, S2CID 62651220), p. 796–801
- (en) Alberto Comesaña-Campos et José Benito Bouza-Rodríguez, « An application of Hebbian learning in the design process decision-making », Journal of Intelligent Manufacturing, vol. 27, no 3, , p. 487–506 (ISSN 0956-5515, DOI 10.1007/s10845-014-0881-z, S2CID 207171436, lire en ligne).
- (en) Carpenter, G.A. et Grossberg, S., « The ART of adaptive pattern recognition by a self-organizing neural network », Computer, vol. 21, no 3, , p. 77–88 (DOI 10.1109/2.33, S2CID 14625094, lire en ligne)
Voir aussiModifier
BibliographieModifier
Articles connexesModifier
- Réseau de neurones
- Partitionnement de données
- Algorithme espérance-maximisation
- Carte auto adaptative
- Intelligence artificielle
- Extraction de connaissances
- Méthode des nuées dynamiques
- Regroupement hiérarchique
- Algorithme EM
- Analyse en composantes principales
- Régression logistique
- Algorithme des k-moyennes