Apprentissage Automatique et Réseaux Neuronaux - page 53

 

Cours 1.2 — Que sont les réseaux de neurones



Conférence 1.2 — Que sont les réseaux de neurones [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais discuter des vrais neurones dans le cerveau, qui servent de base aux réseaux de neurones artificiels que nous allons explorer dans ce cours. Bien que nous ne nous concentrions pas beaucoup sur les vrais neurones pendant la majeure partie du cours, je voulais d'abord donner un bref aperçu.

Il existe plusieurs raisons d'étudier comment les réseaux de neurones peuvent calculer. Premièrement, cela nous aide à comprendre le fonctionnement du cerveau. Si mener des expériences directement sur le cerveau semble logique, c'est un organe complexe et délicat qui supporte mal les manipulations. Par conséquent, les simulations informatiques sont essentielles pour comprendre les résultats empiriques.

Deuxièmement, l'étude des réseaux de neurones permet d'appréhender le concept de calcul parallèle, inspiré par la capacité du cerveau à calculer à travers un vaste réseau de neurones relativement lents. Comprendre ce style de calcul parallèle pourrait conduire à des progrès dans les ordinateurs parallèles, qui diffèrent considérablement des processeurs série conventionnels. Il est particulièrement efficace pour les tâches dans lesquelles le cerveau excelle, comme la vision, mais pas bien adapté pour des tâches comme la multiplication.

La troisième raison, pertinente pour ce cours, consiste à résoudre des problèmes pratiques à l'aide d'algorithmes d'apprentissage innovants inspirés du cerveau. Ces algorithmes peuvent être très utiles même s'ils ne reproduisent pas précisément les opérations du cerveau. Ainsi, bien que nous n'approfondissions pas le fonctionnement du cerveau, il sert de source d'inspiration, indiquant que de grands réseaux parallèles de neurones peuvent effectuer des calculs complexes.

Dans cette vidéo, je vais vous donner plus d'informations sur le fonctionnement du cerveau. Un neurone cortical typique se compose d'un corps cellulaire, d'un axone pour envoyer des messages à d'autres neurones et d'un arbre dendritique pour recevoir des messages d'autres neurones. Au point où l'axone d'un neurone se connecte à l'arbre dendritique d'un autre neurone, nous trouvons une synapse. Lorsqu'un pic d'activité se déplace le long de l'axone, il injecte une charge dans le neurone postsynaptique.

Un neurone génère des pointes lorsque la charge reçue dans son arbre dendritique dépolarise une région appelée butte axonale. Une fois dépolarisé, le neurone transmet un pic le long de son axone, qui est essentiellement une onde de dépolarisation.

Les synapses elles-mêmes ont une structure intéressante. Ils contiennent des vésicules remplies de produits chimiques émetteurs. Lorsqu'un pic atteint l'axone, il déclenche la migration et la libération de ces vésicules dans la fente synaptique. Les molécules émettrices diffusent à travers la fente synaptique et se lient aux molécules réceptrices sur la membrane du neurone postsynaptique. Cette liaison modifie la forme des molécules, créant des trous dans la membrane qui permettent à des ions spécifiques d'entrer ou de sortir du neurone postsynaptique, modifiant ainsi son état de dépolarisation.

Les synapses sont relativement lentes par rapport à la mémoire informatique, mais elles possèdent des avantages par rapport à la mémoire vive des ordinateurs. Ils sont petits, de faible puissance et adaptables. L'adaptabilité est cruciale car elle permet aux synapses de modifier leurs forces en utilisant des signaux disponibles localement. Cette adaptabilité facilite l'apprentissage et la capacité d'effectuer des calculs complexes.

La question se pose alors : comment les synapses décident-elles de changer leur force ? Quelles sont les règles de leur adaptation ? Ce sont des considérations essentielles.

Pour résumer, le cerveau fonctionne grâce à des neurones qui reçoivent des entrées d'autres neurones. Seule une petite fraction des neurones reçoit des entrées des récepteurs sensoriels. Les neurones communiquent dans le cortex en transmettant des pics d'activité. L'effet d'une entrée sur un neurone dépend de son poids synaptique, qui peut être positif ou négatif. Ces poids synaptiques s'adaptent, permettant à l'ensemble du réseau d'apprendre et d'effectuer divers calculs, tels que la reconnaissance d'objets, la compréhension du langage, la planification et le contrôle moteur.

Le cerveau est composé d'environ 10 ^ 11 neurones, chacun avec environ 10 ^ 4 poids synaptiques. Par conséquent, le cerveau contient un nombre immense de poids synaptiques, dont beaucoup contribuent aux calculs en cours en quelques millisecondes. Cela fournit au cerveau une bande passante supérieure pour stocker les connaissances par rapport aux postes de travail modernes.

Un autre aspect fascinant du cerveau est sa modularité. Différentes régions du cortex finissent par se spécialiser dans différentes fonctions. Les entrées des sens sont dirigées génétiquement vers des régions spécifiques, influençant leur fonctionnalité éventuelle. Les dommages locaux au cerveau entraînent des effets spécifiques, tels que la perte de la compréhension du langage ou de la reconnaissance des objets. La flexibilité du cerveau est évidente dans le fait que les fonctions peuvent se déplacer vers d'autres parties du cerveau en réponse à des dommages précoces. Cela suggère que le cortex contient un algorithme d'apprentissage flexible et universel qui peut s'adapter à des tâches particulières en fonction de l'expérience.

En conclusion, le cerveau effectue un calcul parallèle rapide une fois qu'il a appris, combiné à une flexibilité remarquable. Il s'apparente à un FPGA, où le matériel parallèle standard est construit, et les informations ultérieures déterminent le calcul parallèle spécifique à effectuer. Les ordinateurs conventionnels atteignent la flexibilité grâce à la programmation séquentielle, mais cela nécessite des processus centraux rapides pour accéder aux lignes de programme et effectuer de longs calculs séquentiels.

Lecture 1.2 — What are neural networks [Neural Networks for Machine Learning]
Lecture 1.2 — What are neural networks [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 1.3 — Quelques modèles simples de neurones



Cours 1.3 — Quelques modèles simples de neurones [Neural Networks for Machine Learning]

Je décrirai quelques modèles simples de neurones, notamment des neurones linéaires, des neurones à seuil et des modèles plus complexes. Ces modèles sont plus simples que les vrais neurones mais nous permettent tout de même de créer des réseaux de neurones pour l'apprentissage automatique. Lorsque nous comprenons des systèmes complexes, nous devons les simplifier et les idéaliser pour saisir leur fonctionnement. Cela implique de supprimer les détails non essentiels et d'appliquer les mathématiques et les analogies. Bien qu'il soit important de ne pas négliger les propriétés essentielles, il peut être utile d'étudier des modèles connus pour être incorrects mais toujours utiles dans la pratique. Par exemple, les réseaux de neurones utilisent souvent des neurones qui communiquent des valeurs réelles au lieu de pointes discrètes, même si les vrais neurones corticaux se comportent différemment.

Le type de neurone le plus simple est le neurone linéaire, qui a des limites de calcul mais donne un aperçu des neurones plus complexes. Sa sortie est déterminée par un biais et la somme pondérée des activités d'entrée. Un tracé du biais plus les activités pondérées forme une ligne droite. En revanche, les neurones à seuil binaire, introduits par McCulloch et Pitts, envoient un pic d'activité si la somme pondérée dépasse un seuil. Ces pointes représentent des valeurs de vérité que les neurones combinent pour produire leur propre valeur de vérité. Alors que la logique était autrefois considérée comme le principal paradigme pour comprendre l'esprit, on pense maintenant que le cerveau combine diverses sources de preuves peu fiables, ce qui rend la logique moins appropriée.

Les neurones à seuil binaire peuvent être décrits par deux équations équivalentes. L'entrée totale est la somme des activités d'entrée multipliée par les poids, et la sortie est un si l'entrée totale est supérieure au seuil. Alternativement, l'entrée totale comprend un terme de biais et la sortie est un si l'entrée totale est supérieure à zéro. Un neurone linéaire rectifié combine les propriétés des neurones linéaires et des neurones à seuil binaire. Il calcule une somme pondérée linéaire mais applique une fonction non linéaire pour déterminer la sortie. La sortie est nulle si la somme est inférieure à zéro et égale à la somme si elle est supérieure à zéro, ce qui donne une sortie non linéaire mais linéaire au-dessus de zéro.

Les neurones sigmoïdes sont couramment utilisés dans les réseaux de neurones artificiels. Ils fournissent une sortie à valeur réelle qui est une fonction lisse et bornée de l'entrée totale. La fonction logistique est souvent utilisée, où la sortie est un divisé par un plus l'exposant négatif de l'entrée totale. Pour les grandes entrées positives, la sortie est un, tandis que pour les grandes entrées négatives, la sortie est zéro. La fonction sigmoïde a des dérivées lisses, facilitant l'apprentissage dans les réseaux de neurones.

Les neurones binaires stochastiques utilisent les mêmes équations que les unités logistiques, mais au lieu de produire la probabilité sous forme de nombre réel, ils prennent une décision probabiliste et produisent un ou zéro. La probabilité représente la probabilité de produire un pic. Si l'entrée est très positive, ils produiront probablement un un, tandis qu'une entrée très négative entraînera probablement un zéro. Les unités linéaires rectifiées suivent un principe similaire mais introduisent un caractère aléatoire dans la production de pointes. La sortie d'une unité linéaire redressée représente le taux de production de pointes, et les temps de pointe réels sont déterminés par un processus de Poisson aléatoire au sein de l'unité.

Ces comportements stochastiques dans les neurones binaires et les unités linéaires rectifiées introduisent un caractère aléatoire intrinsèque dans le réseau neuronal. Alors que le taux de production de pointes est déterministe, le moment réel des pointes devient un processus aléatoire. Ce caractère aléatoire ajoute de la variabilité et de la stochasticité au système.

La compréhension de ces différents modèles de neurones nous offre une gamme de capacités de calcul. Les neurones linéaires sont limités en termes de calcul mais peuvent offrir des informations sur des systèmes plus complexes. Les neurones à seuil binaire permettent une prise de décision basée sur des comparaisons de seuil. Les neurones linéaires rectifiés combinent linéarité et non-linéarité, permettant simultanément la prise de décision et le traitement linéaire. Les neurones sigmoïdes fournissent des sorties lisses et limitées et sont couramment utilisés dans les réseaux de neurones en raison de leur nature différentiable. Les neurones binaires stochastiques et les unités linéaires rectifiées introduisent un caractère aléatoire dans le système, permettant une prise de décision probabiliste et introduisant de la variabilité.

En combinant différents types de neurones dans des réseaux de neurones, nous pouvons créer de puissants modèles pour les tâches d'apprentissage automatique. Ces réseaux peuvent apprendre des données, adapter leurs pondérations et leurs biais, et faire des prédictions ou des classifications basées sur des modèles appris. Comprendre les principes et les comportements de ces modèles de neurones nous aide à concevoir et à former des réseaux de neurones efficaces.

Cependant, il est essentiel de se rappeler que ces modèles de neurones sont des abstractions simplifiées de vrais neurones dans le cerveau. Le cerveau est un système incroyablement complexe et dynamique, et ces modèles servent d'approximations pour capturer certains aspects du traitement neuronal. Bien qu'ils ne capturent peut-être pas toute la complexité des vrais neurones, ils fournissent des outils utiles pour créer des modèles informatiques et atteindre des capacités d'apprentissage automatique impressionnantes.

L'étude de différents modèles de neurones, y compris les neurones linéaires, les neurones à seuil, les neurones linéaires rectifiés, les neurones sigmoïdes et les neurones binaires stochastiques, nous permet de comprendre diverses propriétés et comportements de calcul. Ces modèles constituent la base de la construction de réseaux de neurones et nous permettent d'effectuer diverses tâches d'apprentissage automatique. Bien que simplifiés, ils offrent des informations précieuses sur le fonctionnement des systèmes neuronaux.

Lecture 1.3 — Some simple models of neurons [Neural Networks for Machine Learning]
Lecture 1.3 — Some simple models of neurons [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 1.4 — Un exemple simple d'apprentissage



Conférence 1.4 — Un exemple simple d'apprentissage [Réseaux de neurones pour l'apprentissage automatique]

Dans cet exemple d'apprentissage automatique, nous allons explorer un réseau de neurones simple qui apprend à reconnaître les chiffres. Tout au long du processus, vous assisterez à l'évolution des poids à l'aide d'un algorithme d'apprentissage de base.

Notre objectif est de former un réseau simple pour identifier les formes manuscrites. Le réseau se compose de deux couches : les neurones d'entrée représentant les intensités de pixel et les neurones de sortie représentant les classes. L'objectif est que le neurone de sortie correspondant à une forme spécifique devienne actif lorsque cette forme est présentée.

Chaque pixel actif "vote" pour les formes dont il fait partie, et ces votes ont des intensités variables. La forme avec le plus de votes l'emporte, en supposant qu'il y ait concurrence entre les unités de sortie. Nous approfondirons cet aspect concurrentiel dans une conférence ultérieure.

Pour visualiser les poids, nous avons besoin d'un écran pouvant accueillir des milliers de poids. Au lieu d'écrire les poids sur les connexions individuelles entre les unités d'entrée et de sortie, nous allons créer de petites cartes pour chaque unité de sortie. Ces cartes représentent la force des connexions à partir des pixels d'entrée en utilisant des gouttes noires et blanches. La zone de chaque goutte indique la magnitude, tandis que la couleur représente le signe de la connexion.

Initialement, les poids sont affectés de petites valeurs aléatoires. Pour améliorer les pondérations, nous allons présenter au réseau des données et l'entraîner à ajuster les pondérations en conséquence. Lorsqu'une image est affichée, nous incrémentons les poids des pixels actifs à la classe correcte. Cependant, pour éviter que les poids ne deviennent trop grands, nous décrémentons également les poids des pixels actifs jusqu'à la classe que le réseau devine. Cette approche de formation guide le réseau à prendre les bonnes décisions plutôt que de s'en tenir à ses tendances initiales.

Après avoir montré au réseau plusieurs centaines d'exemples d'entraînement, nous observons à nouveau les poids. Ils commencent à former des motifs réguliers. Avec d'autres exemples de formation, les poids continuent de changer et finissent par se stabiliser. À ce stade, les poids ressemblent à des modèles pour les formes. Par exemple, les poids entrant dans l'unité "un" servent de modèle pour en identifier. De même, les poids entrant dans l'unité "neuf" se concentrent sur la distinction entre les neuf et les sept en fonction de la présence ou de l'absence de caractéristiques spécifiques.

Il convient de noter que cet algorithme d'apprentissage, en raison de la simplicité du réseau, ne peut atteindre qu'une capacité limitée à discriminer les formes. Les poids appris fonctionnent effectivement comme des modèles, et le réseau détermine le gagnant sur la base du chevauchement entre le modèle et l'encre. Cependant, cette approche échoue face à la complexité des variations des chiffres manuscrits. Pour résoudre ce problème, nous devons extraire les caractéristiques et analyser leurs arrangements, car une simple correspondance de modèles de formes entières ne peut pas résoudre le problème de manière adéquate.

En résumé, l'exemple montre l'apprentissage d'un réseau de neurones simple pour reconnaître les chiffres. Alors que les poids du réseau évoluent et ressemblent à des modèles pour les formes, les limites de cette approche deviennent apparentes face aux variations complexes des chiffres manuscrits.

Lecture 1.4 — A simple example of learning [Neural Networks for Machine Learning]
Lecture 1.4 — A simple example of learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 1.5 — Trois types d'apprentissage



Conférence 1.5 — Trois types d'apprentissage [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais discuter de trois principaux types d'apprentissage automatique : l'apprentissage supervisé, l'apprentissage par renforcement et l'apprentissage non supervisé. Le cours se concentrera principalement sur l'apprentissage supervisé dans la première moitié et l'apprentissage non supervisé dans la seconde moitié. Malheureusement, en raison de contraintes de temps, nous ne couvrirons pas l'apprentissage par renforcement.

L'apprentissage supervisé consiste à prédire une sortie à partir d'un vecteur d'entrée. Le but est de prédire avec précision un nombre réel ou une étiquette de classe. La régression traite des nombres réels, tels que la prévision des cours boursiers, tandis que la classification implique l'attribution d'étiquettes, comme la distinction entre les cas positifs et négatifs ou la reconnaissance des chiffres manuscrits. L'apprentissage supervisé repose sur une classe de modèles, qui est un ensemble de modèles candidats représentés par des fonctions mappant les entrées aux sorties à l'aide de paramètres numériques (W). Ces paramètres sont ajustés pour minimiser l'écart entre la sortie prédite (Y) et la sortie correcte (t).

L'apprentissage par renforcement se concentre sur la sélection d'actions ou de séquences d'actions pour maximiser les récompenses reçues. Les actions sont choisies en fonction des récompenses occasionnelles, et l'objectif est de maximiser la somme attendue des récompenses futures. Un facteur de remise est généralement utilisé pour donner la priorité aux récompenses immédiates par rapport aux récompenses lointaines. L'apprentissage par renforcement présente des défis en raison des récompenses différées et des informations limitées véhiculées par les récompenses scalaires.

L'apprentissage non supervisé, qui sera largement traité dans la seconde moitié du cours, consiste à découvrir des représentations internes utiles des données d'entrée. Pendant de nombreuses années, l'apprentissage non supervisé a été négligé au profit du regroupement, car il était difficile de définir les objectifs de l'apprentissage non supervisé. Cependant, l'apprentissage non supervisé sert à divers objectifs, notamment la création de représentations internes bénéfiques pour l'apprentissage supervisé ou par renforcement ultérieur. Il vise à générer des représentations compactes et de faible dimension d'entrées de grande dimension, telles que des images, en identifiant les variétés sous-jacentes. L'apprentissage non supervisé peut également fournir des représentations économiques à l'aide de fonctionnalités apprises, où les entrées peuvent être exprimées en codes binaires ou clairsemés. De plus, l'apprentissage non supervisé englobe le clustering, qui peut être considéré comme un cas extrême de recherche de fonctionnalités rares, avec une fonctionnalité par cluster.

Cette vidéo couvre les trois principaux types d'apprentissage automatique : l'apprentissage supervisé, l'apprentissage par renforcement et l'apprentissage non supervisé. Alors que l'apprentissage supervisé se concentre sur la prédiction des résultats, l'apprentissage par renforcement se concentre sur la maximisation des récompenses grâce à la sélection d'actions. L'apprentissage non supervisé vise à découvrir des représentations internes utiles, telles que des représentations de faible dimension ou des caractéristiques apprises, et comprend l'identification des clusters sous-jacents.

Lecture 1.5 — Three types of learning [Neural Networks for Machine Learning]
Lecture 1.5 — Three types of learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.1 — Types d'architectures de réseaux de neurones



Cours 2.1 — Types d'architectures de réseaux de neurones [Réseaux de neurones pour l'apprentissage automatique]

Les réseaux de neurones peuvent avoir différents types d'architectures, qui font référence à la façon dont les neurones sont connectés. L'architecture la plus courante dans les applications pratiques est un réseau neuronal à anticipation, où les informations circulent des unités d'entrée à travers les couches cachées vers les unités de sortie. D'autre part, les réseaux de neurones récurrents sont plus intéressants car ils permettent aux informations de circuler en cycles, permettant une mémoire à long terme et une dynamique complexe. La formation de réseaux récurrents est difficile en raison de leur complexité, mais les progrès récents les ont rendus plus faciles à former et capables de tâches impressionnantes.

Un autre type d'architecture est celui des réseaux connectés symétriquement, où les poids entre les unités sont les mêmes dans les deux sens. Ces réseaux suivent une fonction énergétique et sont plus faciles à analyser par rapport aux réseaux récurrents. Cependant, ils sont plus limités dans leurs capacités et ne peuvent pas modéliser les cycles.

Dans les réseaux de neurones à anticipation, chaque couche calcule les transformations entre l'entrée et la sortie, ce qui donne de nouvelles représentations à chaque couche. Des fonctions non linéaires sont appliquées aux activités des neurones dans chaque couche pour capturer la similarité et la dissemblance entre les entrées. En revanche, les réseaux de neurones récurrents utilisent des cycles dirigés dans leur graphe de connexion, permettant une dynamique complexe et une modélisation séquentielle des données. Les mêmes poids sont utilisés à chaque pas de temps, et les états des unités cachées déterminent les états du prochain pas de temps.

Les réseaux de neurones récurrents ont la capacité de se souvenir des informations pendant longtemps dans leurs états cachés, mais les former à utiliser cette capacité est un défi. Cependant, des algorithmes récents ont fait des progrès significatifs dans la formation de réseaux récurrents. Ces réseaux peuvent être utilisés pour des tâches telles que la prédiction du caractère suivant dans une séquence, la génération de texte ou la modélisation de données séquentielles.

Dans l'ensemble, les architectures de réseaux de neurones peuvent varier dans leurs connexions et leurs capacités, allant des réseaux à anticipation pour les calculs simples aux réseaux récurrents pour la mémoire et la dynamique complexe.

Lecture 2.1 — Types of neural network architectures [Neural Networks for Machine Learning]
Lecture 2.1 — Types of neural network architectures [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.2 — Perceptrons : réseaux de neurones de première génération



Cours 2.2 — Perceptrons : réseaux de neurones de première génération [Neural Networks for Machine Learning]

Les perceptrons, une classe d'algorithmes pour l'apprentissage automatique, ont été étudiés pour la première fois au début des années 1960. Au départ, ils étaient très prometteurs en tant que dispositifs d'apprentissage, mais leurs limites ont ensuite été révélées par Minsky et Papert, entraînant une baisse de leur popularité. Minsky et Papert ont démontré que les perceptrons étaient plutôt limités dans leur capacité à apprendre des modèles complexes dans des tâches de reconnaissance de modèles statistiques.

Dans le domaine de la reconnaissance de formes statistiques, une approche standard est suivie pour reconnaître des formes. Tout d'abord, les données d'entrée brutes sont traitées et converties en un ensemble ou un vecteur d'activations de fonctionnalités. Cette conversion est effectuée à l'aide de programmes prédéfinis basés sur le bon sens, où l'expertise humaine détermine les fonctionnalités pertinentes pour la tâche à accomplir. Il est important de noter que cette étape de prétraitement n'implique pas d'apprentissage. La sélection des fonctionnalités appropriées est une étape cruciale et implique souvent des essais et des erreurs. Différentes fonctionnalités sont essayées et leur efficacité est évaluée. Grâce à ce processus itératif, un ensemble de fonctionnalités est finalement identifié qui permet à l'étape d'apprentissage suivante de résoudre efficacement le problème.

L'étape d'apprentissage de la reconnaissance de formes statistiques consiste à déterminer les poids associés à chaque activation de fonctionnalité. Ces pondérations représentent la force de la preuve que chaque caractéristique fournit en faveur ou à l'encontre de l'hypothèse selon laquelle l'entrée actuelle appartient à un modèle ou à une classe particulière. En additionnant les activations de fonctionnalités pondérées, un score de preuve total est obtenu, qui est comparé à un seuil. Si la preuve dépasse le seuil, le vecteur d'entrée est classé comme un exemple positif du modèle reconnu.

Les perceptrons sont un type spécifique de système de reconnaissance de formes statistiques. Bien qu'il existe différents types de perceptrons, la forme standard, appelée perceptron alpha par Rosenblatt, se compose d'unités d'entrée qui sont transformées en activations de fonctionnalités. Cette transformation peut ressembler au comportement des neurones, mais il est important de noter que cette étape du système n'implique pas d'apprentissage. Une fois les activations de fonctionnalités obtenues, les poids sont appris à l'aide d'un algorithme d'apprentissage.

Les perceptrons ont pris de l'importance dans les années 1960 grâce aux travaux de Frank Rosenblatt, qui les a longuement étudiés et décrits dans son livre "Principles of Neurodynamics". Le livre présentait différents types de perceptrons et était rempli d'idées novatrices. L'une des contributions les plus notables était un puissant algorithme d'apprentissage associé aux perceptrons, qui a suscité de grandes attentes quant à leurs capacités.

Cependant, l'enthousiasme initial entourant les perceptrons a été accueilli avec scepticisme lorsqu'il a été découvert que leur algorithme d'apprentissage avait des limites. Par exemple, des affirmations exagérées ont été faites sur leur capacité à différencier les images partiellement masquées de chars et de camions. Ces affirmations ont été démystifiées lorsqu'il a été révélé que les perceptrons mesuraient simplement l'intensité totale des pixels, une tâche que les humains effectuent avec une plus grande sensibilité. Ce genre d'incompréhension a terni la réputation du perceptron et conduit à douter de l'efficacité des modèles de réseaux de neurones dans leur ensemble.

En 1969, Minsky et Papert ont publié un livre fondateur intitulé "Perceptrons" qui analysait de manière critique les capacités des perceptrons et soulignait leurs limites. Cependant, le domaine plus large de l'intelligence artificielle a extrapolé par erreur ces limitations à tous les modèles de réseaux de neurones. La croyance dominante est devenue que Minsky et Papert avaient prouvé que les modèles de réseaux neuronaux étaient peu pratiques et incapables d'apprendre des tâches complexes. En réalité, les découvertes de Minsky et Papert étaient spécifiques aux perceptrons qu'ils étudiaient et n'invalidaient pas le potentiel des réseaux de neurones dans leur ensemble.

Il convient de noter que la procédure de convergence du perceptron, que nous explorerons sous peu, continue d'être largement utilisée aujourd'hui pour les tâches impliquant de grands vecteurs de caractéristiques. En fait, de grandes entreprises comme Google utilisent des algorithmes basés sur le perceptron pour prédire les résultats en fonction de vastes ensembles de fonctionnalités.

L'unité de décision dans un perceptron est un neurone à seuil binaire, un type de neurone qui a déjà été rencontré dans les modèles de réseaux de neurones. Pour rafraîchir notre compréhension, ces neurones calculent une somme pondérée des entrées reçues d'autres neurones, ajoutent un terme de biais et génèrent une sortie de un si la somme dépasse zéro, sinon produisant une sortie de zéro.

Pour simplifier le processus d'apprentissage, les biais peuvent être traités comme des poids en augmentant chaque vecteur d'entrée avec une entrée supplémentaire de valeur constante un. Ce faisant, le biais est incorporé en tant que poids sur cette ligne d'entrée supplémentaire, éliminant ainsi le besoin d'une règle d'apprentissage distincte pour les biais. Essentiellement, le biais devient équivalent à un poids, sa valeur étant la valeur négative du seuil.

Explorons maintenant la procédure d'apprentissage du perceptron, qui est étonnamment puissante et garantie de converger vers une solution. Cependant, il est important de considérer certaines mises en garde concernant sa garantie, qui seront discutées plus tard.

Pour commencer, nous incluons un composant supplémentaire avec une valeur de un dans chaque vecteur d'entrée. Nous pouvons alors nous concentrer sur les poids et ignorer les biais puisqu'ils sont maintenant traités comme des poids sur la ligne d'entrée supplémentaire. Les cas de formation sont sélectionnés conformément à toute politique garantissant que chaque cas est choisi dans un délai raisonnable, bien que la définition précise du « délai raisonnable » puisse varier en fonction du contexte.

Après avoir sélectionné un cas d'apprentissage, nous évaluons la sortie générée par le perceptron et la comparons à la sortie attendue. Si la sortie est correcte, indiquant que la décision du perceptron s'aligne sur la classification souhaitée, nous laissons les poids inchangés. Cependant, si la sortie est incorrecte, nous ajustons les pondérations en fonction des règles suivantes :

  1. Si la sortie est nulle alors qu'elle devrait être un (c'est-à-dire que le perceptron rejette faussement une entrée), nous ajoutons le vecteur d'entrée au vecteur de poids du perceptron.
  2. Si la sortie est un alors qu'elle devrait être nulle (c'est-à-dire que le perceptron accepte faussement une entrée), nous soustrayons le vecteur d'entrée du vecteur de poids du perceptron.

Remarquablement, cette procédure d'apprentissage simple est garantie de trouver un ensemble de poids qui produisent la sortie correcte pour chaque cas de formation. Cependant, une condition importante doit être satisfaite : il doit exister un ensemble réalisable de poids permettant de classer correctement tous les cas d'apprentissage. Malheureusement, pour de nombreux problèmes intéressants, un tel ensemble de poids réalisable peut ne pas exister.

L'existence d'un ensemble réalisable de poids dépend fortement du choix des caractéristiques utilisées. Pour de nombreux problèmes, le défi critique consiste à déterminer les caractéristiques les plus appropriées pour capturer les modèles pertinents. Si les bonnes fonctionnalités sont sélectionnées, le processus d'apprentissage devient faisable et efficace. D'un autre côté, si des caractéristiques inadéquates sont choisies, l'apprentissage devient impossible et l'accent principal se déplace vers la sélection des caractéristiques.

En conclusion, les perceptrons ont joué un rôle important dans le développement précoce des modèles de réseaux neuronaux. Bien que leurs limites aient été révélées par Minsky et Papert, il est important de noter que leurs découvertes étaient spécifiques aux perceptrons qu'ils ont examinés et n'ont pas invalidé le potentiel plus large des réseaux de neurones. La procédure de convergence du perceptron reste un outil précieux, en particulier pour les tâches impliquant de grands vecteurs de caractéristiques. Cependant, la clé d'une reconnaissance de formes réussie réside dans la sélection des caractéristiques appropriées, car l'utilisation des bonnes caractéristiques facilite grandement le processus d'apprentissage, tandis que l'utilisation de caractéristiques inadéquates peut rendre l'apprentissage impossible.

Lecture 2.2 — Perceptrons: first-generation neural networks [Neural Networks for Machine Learning]
Lecture 2.2 — Perceptrons: first-generation neural networks [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.3 — Une vue géométrique des perceptrons



Cours 2.3 — Une vue géométrique des perceptrons [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous allons approfondir la compréhension géométrique de la façon dont les perceptrons apprennent. Pour cela, il faut penser en termes d'espace des poids, un espace de grande dimension où chaque point correspond à une configuration spécifique de tous les poids. Dans cet espace, nous pouvons représenter les cas d'entraînement sous forme de plans, et le processus d'apprentissage consiste à positionner le vecteur de poids du bon côté de tous les plans d'entraînement.

Pour ceux qui ne connaissent pas bien les mathématiques, cela peut être plus difficile que le matériel précédent. Cela peut nécessiter de consacrer suffisamment de temps pour comprendre le contenu à venir, en particulier si vous n'êtes pas familier avec la réflexion sur les hyperplans dans des espaces de grande dimension. Vous devrez vous familiariser avec la visualisation d'un espace à 14 dimensions en visualisant d'abord un espace en trois dimensions, puis en vous rappelant de manière audible la dimensionnalité. Cela peut sembler étrange, mais c'est une pratique courante pour aider à la compréhension.

Lorsqu'il s'agit d'hyperplans dans un espace à 14 dimensions, la complexité augmente considérablement, comme lors de la transition d'un espace 2D à un espace 3D. Il est crucial de comprendre qu'un espace à 14 dimensions est vaste et complexe. Dans cet esprit, commençons par nous concentrer sur l'espace de poids.

L'espace de poids est un espace qui a une dimension pour chaque poids dans le perceptron. Un point dans l'espace des poids représente une configuration spécifique de tous les poids, en supposant que nous avons éliminé le seuil. Chaque cas d'entraînement peut être représenté comme un hyperplan passant par l'origine dans l'espace des poids. Par conséquent, les points de cet espace correspondent à des vecteurs de poids, tandis que les cas d'apprentissage correspondent à des plans.

Pour un cas de formation particulier, les poids doivent se trouver sur un côté de l'hyperplan pour produire la sortie correcte. Visualisons ce concept à travers un exemple. Considérons un cas de formation où la bonne réponse est un. Le vecteur de poids doit être du même côté de l'hyperplan que la direction indiquée par le vecteur d'apprentissage. Tout vecteur de poids de ce côté aura un angle avec le vecteur d'entrée inférieur à 90 degrés, ce qui donnera un produit scalaire positif. Comme nous avons éliminé le seuil, le perceptron en produira un, fournissant la bonne réponse.

Inversement, si un vecteur de poids se trouve du mauvais côté du plan, son angle avec le vecteur d'entrée dépassera 90 degrés, ce qui donnera un produit scalaire négatif. Par conséquent, le perceptron produira zéro, conduisant à une réponse incorrecte.

Pour résumer, les vecteurs de poids d'un côté du plan donnent la bonne réponse, tandis que ceux de l'autre côté produisent la mauvaise réponse. Examinons maintenant un cas de formation différent où la bonne réponse est zéro.

Dans ce cas, tout vecteur de poids faisant un angle inférieur à 90 degrés avec le vecteur d'entrée se traduira par un produit scalaire positif, obligeant le perceptron à en produire un, conduisant à une réponse incorrecte. Inversement, les vecteurs de poids de l'autre côté du plan, avec un angle supérieur à 90 degrés, produiront un produit scalaire inférieur à zéro, et le perceptron produira zéro, fournissant correctement la réponse.

Combinons ces deux cas d'entraînement dans une seule image de l'espace de poids. L'espace de poids devient encombré et un cône de vecteurs de poids possibles émerge. Tout vecteur de poids dans ce cône donnera la bonne réponse pour les deux cas de formation. Il convient de noter que l'existence d'un tel cône n'est pas garantie. Il peut y avoir des scénarios où aucun vecteur de poids ne fournit les réponses correctes pour tous les cas de formation. Cependant, si de tels vecteurs de poids existent, ils formeront un cône.

L'algorithme d'apprentissage considère les cas d'apprentissage un par un, en ajustant le vecteur de poids pour qu'il se situe finalement dans ce cône. Il est important d'observer que si nous avons deux bons vecteurs de poids qui fonctionnent pour tous les cas d'entraînement, leur moyenne se situera également dans le cône. Cela implique que le problème est convexe et que la moyenne de deux solutions est elle-même une solution. Les problèmes d'apprentissage convexes simplifient le processus d'apprentissage automatique.

Comprendre l'espace de poids et la relation entre les vecteurs de poids et les cas d'entraînement fournit un aperçu géométrique de la façon dont les perceptrons apprennent. L'objectif est de trouver un vecteur de poids qui se situe dans le cône des solutions possibles, ce qui garantit une classification correcte pour tous les cas d'entraînement.

Lecture 2.3 — A geometrical view of perceptrons [Neural Networks for Machine Learning]
Lecture 2.3 — A geometrical view of perceptrons [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.4 — Pourquoi l'apprentissage fonctionne



Conférence 2.4 — Pourquoi l'apprentissage fonctionne [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous visons à présenter une preuve que la procédure d'apprentissage du perceptron conduira finalement les poids à converger dans le cône des solutions réalisables. Cependant, je tiens à souligner que ce cours se concentre principalement sur les aspects d'ingénierie plutôt que sur des preuves rigoureuses. Il y aura peu de preuves tout au long du cours. Néanmoins, comprendre comment les perceptrons finissent par trouver la bonne réponse fournit des informations précieuses.

Pour construire notre preuve, nous tirerons parti de notre compréhension géométrique de l'espace des poids et du processus d'apprentissage du perceptron. Nous supposons l'existence d'un vecteur de pondération réalisable qui donne la bonne réponse pour tous les cas d'apprentissage. Dans le diagramme, cela est représenté par le point vert.

L'idée clé de notre preuve est que chaque fois que le perceptron classe mal un cas d'entraînement, le vecteur de poids actuel sera mis à jour de manière à le rapprocher de tous les vecteurs de poids possibles. Nous pouvons mesurer la distance au carré entre le vecteur de poids actuel et un vecteur de poids réalisable comme la somme d'une distance au carré le long de la ligne du vecteur d'entrée (la définition du cas d'apprentissage) et une autre distance au carré orthogonale à cette ligne. La distance orthogonale au carré reste constante, tandis que la distance le long de la ligne du vecteur d'entrée diminue.

Bien que cette affirmation semble prometteuse, nous rencontrons un problème illustré par le vecteur de poids réalisable en or dans le diagramme. Il se trouve juste du bon côté du plan défini par l'un des cas d'entraînement, alors que le vecteur de poids actuel est du mauvais côté. De plus, le vecteur d'entrée est relativement grand, ce qui amène l'ajout du vecteur d'entrée à éloigner davantage le vecteur de poids actuel du vecteur de poids réalisable en or. En conséquence, notre réclamation initiale échoue.

Cependant, nous pouvons rectifier cela en introduisant le concept d'un vecteur de poids généreusement réalisable. Non seulement ces vecteurs de pondération classent correctement tous les cas d'apprentissage, mais ils le font également avec une marge égale ou supérieure à la longueur du vecteur d'entrée pour chaque cas. À l'intérieur du cône des solutions réalisables, nous avons un autre cône de solutions généreusement réalisables.

Avec cet ajustement, notre preuve devient valide. Nous pouvons maintenant affirmer que chaque fois que le perceptron classe mal un cas, la distance au carré à tous les vecteurs de poids généreusement réalisables diminue d'au moins la longueur au carré du vecteur d'entrée. Cette mise à jour garantit que le vecteur de poids se rapproche des solutions généreusement réalisables.

Bien que nous ne fournissions pas de preuve formelle ici, cette esquisse informelle démontre le processus de convergence. Si les vecteurs d'entrée ne sont pas infiniment petits, la distance au carré à tous les vecteurs de poids généreusement réalisables diminue d'au moins la longueur au carré du vecteur d'entrée après un nombre fini d'erreurs. Par conséquent, le vecteur de poids doit éventuellement résider dans la région réalisable, en supposant qu'elle existe. Il ne doit pas nécessairement se situer dans la région généreusement faisable, mais au moins dans la région faisable pour éviter de commettre d'autres erreurs.

Pour résumer, il s'agit d'un aperçu informel de la preuve démontrant que la procédure de convergence du perceptron fonctionne. Cependant, il est essentiel de noter que toute la preuve repose sur l'hypothèse qu'un vecteur de poids généreusement réalisable existe. Si un tel vecteur n'existe pas, la preuve s'effondre.

Lecture 2.4 — Why the learning works [Neural Networks for Machine Learning]
Lecture 2.4 — Why the learning works [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.5 — Ce que les perceptrons ne peuvent pas faire



Conférence 2.5 — Ce que les perceptrons ne peuvent pas faire [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous explorerons les limites des perceptrons, qui découlent des types de fonctionnalités utilisées. L'efficacité des perceptrons dépend fortement du choix des fonctionnalités. Avec les bonnes fonctionnalités, les perceptrons peuvent être incroyablement polyvalents, mais avec les mauvaises fonctionnalités, leurs capacités d'apprentissage sont sévèrement limitées. Cette limitation a conduit les perceptrons à tomber en disgrâce dans le passé. Il met en évidence le défi de l'apprentissage des fonctionnalités appropriées, qui est l'aspect crucial du processus d'apprentissage.

Cependant, même sans fonctionnalités d'apprentissage, les perceptrons peuvent encore accomplir beaucoup de choses. Par exemple, dans des tâches telles que la détermination de la plausibilité d'une phrase en anglais, on peut définir manuellement de nombreuses caractéristiques et apprendre leur poids pour décider de la probabilité qu'une phrase soit grammaticalement correcte. Néanmoins, à long terme, l'apprentissage des fonctionnalités devient nécessaire.

La recherche sur les perceptrons a connu des revers à la fin des années 1960 et au début des années 1970 lorsqu'il a été découvert que les perceptrons avaient des limites importantes. En choisissant les fonctionnalités manuellement et en incorporant suffisamment de fonctionnalités, les perceptrons peuvent accomplir presque toutes les tâches. Par exemple, si nous considérons des vecteurs d'entrée binaires et créons des unités de fonctionnalités distinctes qui s'activent en fonction de vecteurs d'entrée binaires spécifiques, nous pouvons réaliser n'importe quelle discrimination sur les vecteurs d'entrée binaires. Cependant, cette approche n'est pas pratique pour la résolution de problèmes dans le monde réel car elle nécessite un nombre excessif d'unités de fonctionnalités, ce qui entrave la généralisation. Tenter de généraliser à partir d'un sous-ensemble de cas tout en ignorant les autres est futile car de nouvelles unités de caractéristiques seraient nécessaires pour les cas restants, et déterminer les pondérations de ces nouvelles unités de caractéristiques est difficile une fois la sélection manuelle terminée.

Il existe des contraintes strictes sur ce que les perceptrons peuvent apprendre une fois que les unités de caractéristiques et leurs poids ont été établis. Examinons un exemple classique pour comprendre ces limitations. Nous voulons déterminer si une unité de décision à seuil binaire peut apprendre à identifier si deux caractéristiques ont la même valeur. Nous avons deux cas positifs et deux cas négatifs, chacun défini par des fonctionnalités à un seul bit avec des valeurs de 1 ou 0. Les cas positifs se produisent lorsque les deux fonctionnalités sont activées (1) ou lorsque les deux fonctionnalités sont désactivées (0), tandis que le négatif cas se produisent lorsqu'une fonction est activée (1) et l'autre désactivée (0). La tâche semble simple, mais algébriquement, il peut s'avérer impossible de satisfaire les quatre inégalités formées par ces paires entrée-sortie. Par conséquent, il n'est pas possible de trouver des poids qui permettent au perceptron de fournir la sortie correcte pour les quatre cas.

Cette limitation peut également être comprise géométriquement. Nous imaginons un espace de données où chaque point représente un point de données, et les vecteurs de poids définissent des plans perpendiculaires aux points de données. Pour discriminer correctement, le plan de poids doit séparer les cas positifs des cas négatifs. Cependant, il existe des ensembles de cas d'apprentissage qui ne sont pas linéairement séparables, ce qui signifie qu'aucun hyperplan ne peut séparer correctement les cas où la sortie devrait être 1 de ceux où la sortie devrait être 0. Cette incapacité à séparer correctement les cas est connue sous le nom d'"ensemble de cas de formation qui ne sont pas linéairement séparables. »

Un autre exemple dévastateur pour les perceptrons consiste à reconnaître des modèles qui conservent leur identité même lorsqu'ils sont traduits avec un enveloppement. Les perceptrons ne parviennent pas à discriminer les motifs avec le même nombre de pixels si la discrimination doit fonctionner avec des motifs traduits et enveloppés. Cette limitation devient apparente lorsque l'on considère les motifs A et B. Le motif A comporte quatre pixels "activés" agencés sous la forme d'un code-barres, et le motif B comporte également quatre pixels "activés" agencés différemment. Lorsqu'ils sont traduits avec enveloppement, les perceptrons ne peuvent pas apprendre à faire la distinction entre ces modèles. Le théorème d'invariance de groupe de Minsky et Papert stipule que les perceptrons ne peuvent pas reconnaître les modèles sous traduction si le bouclage est autorisé. Ce théorème était particulièrement important dans l'histoire des perceptrons car la reconnaissance de formes vise à identifier des formes malgré des transformations telles que la traduction.

Le théorème a révélé que les perceptrons, tels qu'ils ont été formulés à l'origine, sont incapables de gérer les tâches de reconnaissance de formes qui nécessitent une invariance de traduction avec bouclage. Cette limitation a considérablement restreint leurs applications pratiques et a conduit à un déclin de l'intérêt et de la recherche sur les perceptrons à la fin des années 1960 et au début des années 1970. Cependant, il est important de noter que ces limitations ne s'appliquent qu'aux perceptrons monocouches avec des unités de seuil binaires. Le domaine des réseaux de neurones artificiels a continué d'évoluer et de surmonter ces limitations avec le développement de modèles plus avancés, tels que les perceptrons multicouches (MLP) et les réseaux de neurones convolutionnels (CNN). Les MLP introduisent des couches cachées entre les couches d'entrée et de sortie, permettant des représentations plus complexes et flexibles des fonctionnalités. En incorporant des fonctions d'activation non linéaires et en utilisant des techniques telles que la rétropropagation pour l'ajustement du poids, les MLP peuvent surmonter la limitation de séparabilité linéaire des perceptrons à une seule couche.

Les CNN, en revanche, ont été spécifiquement conçus pour résoudre le problème de la reconnaissance des formes et de la classification des images. Ils utilisent une structure hiérarchique avec des couches convolutives qui extraient des caractéristiques locales et des couches de regroupement qui capturent l'invariance spatiale. Les CNN ont démontré un succès remarquable dans des tâches telles que la reconnaissance d'images, la détection d'objets et le traitement du langage naturel.

Les limites des perceptrons ont mis en évidence l'importance de l'apprentissage des caractéristiques, de la non-linéarité et des représentations hiérarchiques dans les réseaux de neurones. Les progrès ultérieurs dans le domaine ont conduit au développement de modèles plus sophistiqués avec des capacités d'apprentissage améliorées et des applications plus larges.

Bien que les perceptrons aient des limites dans leur capacité à apprendre des fonctionnalités complexes et à gérer certaines tâches de reconnaissance de formes, ces limites ont été résolues grâce au développement d'architectures de réseaux neuronaux plus avancées. Les MLP et les CNN, entre autres modèles, ont surmonté les restrictions des perceptrons à une seule couche et sont devenus des outils puissants dans divers domaines de l'intelligence artificielle.

Lecture 2.5 — What perceptrons can't do [Neural Networks for Machine Learning]
Lecture 2.5 — What perceptrons can't do [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Cours 2.5 — Ce que les perceptrons ne peuvent pas faire



Conférence 2.5 — Ce que les perceptrons ne peuvent pas faire [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous explorerons les limites des perceptrons, qui découlent des types de fonctionnalités utilisées. L'efficacité des perceptrons dépend fortement du choix des fonctionnalités. Avec les bonnes fonctionnalités, les perceptrons peuvent être incroyablement polyvalents, mais avec les mauvaises fonctionnalités, leurs capacités d'apprentissage sont sévèrement limitées. Cette limitation a conduit les perceptrons à tomber en disgrâce dans le passé. Il met en évidence le défi de l'apprentissage des fonctionnalités appropriées, qui est l'aspect crucial du processus d'apprentissage.

Cependant, même sans fonctionnalités d'apprentissage, les perceptrons peuvent encore accomplir beaucoup de choses. Par exemple, dans des tâches telles que la détermination de la plausibilité d'une phrase en anglais, on peut définir manuellement de nombreuses caractéristiques et apprendre leur poids pour décider de la probabilité qu'une phrase soit grammaticalement correcte. Néanmoins, à long terme, l'apprentissage des fonctionnalités devient nécessaire.

La recherche sur les perceptrons a connu des revers à la fin des années 1960 et au début des années 1970 lorsqu'il a été découvert que les perceptrons avaient des limites importantes. En choisissant les fonctionnalités manuellement et en incorporant suffisamment de fonctionnalités, les perceptrons peuvent accomplir presque toutes les tâches. Par exemple, si nous considérons des vecteurs d'entrée binaires et créons des unités de fonctionnalités distinctes qui s'activent en fonction de vecteurs d'entrée binaires spécifiques, nous pouvons réaliser n'importe quelle discrimination sur les vecteurs d'entrée binaires. Cependant, cette approche n'est pas pratique pour la résolution de problèmes dans le monde réel car elle nécessite un nombre excessif d'unités de fonctionnalités, ce qui entrave la généralisation. Tenter de généraliser à partir d'un sous-ensemble de cas tout en ignorant les autres est futile car de nouvelles unités de caractéristiques seraient nécessaires pour les cas restants, et déterminer les pondérations de ces nouvelles unités de caractéristiques est difficile une fois la sélection manuelle terminée.

Il existe des contraintes strictes sur ce que les perceptrons peuvent apprendre une fois que les unités de caractéristiques et leurs poids ont été établis. Examinons un exemple classique pour comprendre ces limitations. Nous voulons déterminer si une unité de décision à seuil binaire peut apprendre à identifier si deux caractéristiques ont la même valeur. Nous avons deux cas positifs et deux cas négatifs, chacun défini par des fonctionnalités à un seul bit avec des valeurs de 1 ou 0. Les cas positifs se produisent lorsque les deux fonctionnalités sont activées (1) ou lorsque les deux fonctionnalités sont désactivées (0), tandis que le négatif cas se produisent lorsqu'une fonction est activée (1) et l'autre désactivée (0). La tâche semble simple, mais algébriquement, il peut s'avérer impossible de satisfaire les quatre inégalités formées par ces paires entrée-sortie. Par conséquent, il n'est pas possible de trouver des poids qui permettent au perceptron de fournir la sortie correcte pour les quatre cas.

Cette limitation peut également être comprise géométriquement. Nous imaginons un espace de données où chaque point représente un point de données, et les vecteurs de poids définissent des plans perpendiculaires aux points de données. Pour discriminer correctement, le plan de poids doit séparer les cas positifs des cas négatifs. Cependant, il existe des ensembles de cas d'apprentissage qui ne sont pas linéairement séparables, ce qui signifie qu'aucun hyperplan ne peut séparer correctement les cas où la sortie devrait être 1 de ceux où la sortie devrait être 0. Cette incapacité à séparer correctement les cas est connue sous le nom d'"ensemble de cas de formation qui ne sont pas linéairement séparables. »

Un autre exemple dévastateur pour les perceptrons consiste à reconnaître des modèles qui conservent leur identité même lorsqu'ils sont traduits avec un enveloppement. Les perceptrons ne parviennent pas à discriminer les motifs avec le même nombre de pixels si la discrimination doit fonctionner avec des motifs traduits et enveloppés. Cette limitation devient apparente lorsque l'on considère les motifs A et B. Le motif A comporte quatre pixels "activés" agencés sous la forme d'un code-barres, et le motif B comporte également quatre pixels "activés" agencés différemment. Lorsqu'ils sont traduits avec enveloppement, les perceptrons ne peuvent pas apprendre à faire la distinction entre ces modèles. Le théorème d'invariance de groupe de Minsky et Papert stipule que les perceptrons ne peuvent pas reconnaître les modèles sous traduction si le bouclage est autorisé. Ce théorème était particulièrement important dans l'histoire des perceptrons car la reconnaissance de formes vise à identifier des formes malgré des transformations telles que la traduction.

Le théorème a révélé que les perceptrons, tels qu'ils ont été formulés à l'origine, sont incapables de gérer les tâches de reconnaissance de formes qui nécessitent une invariance de traduction avec bouclage. Cette limitation a considérablement restreint leurs applications pratiques et a conduit à un déclin de l'intérêt et de la recherche sur les perceptrons à la fin des années 1960 et au début des années 1970. Cependant, il est important de noter que ces limitations ne s'appliquent qu'aux perceptrons monocouches avec des unités de seuil binaires. Le domaine des réseaux de neurones artificiels a continué d'évoluer et de surmonter ces limitations avec le développement de modèles plus avancés, tels que les perceptrons multicouches (MLP) et les réseaux de neurones convolutionnels (CNN). Les MLP introduisent des couches cachées entre les couches d'entrée et de sortie, permettant des représentations plus complexes et flexibles des fonctionnalités. En incorporant des fonctions d'activation non linéaires et en utilisant des techniques telles que la rétropropagation pour l'ajustement du poids, les MLP peuvent surmonter la limitation de séparabilité linéaire des perceptrons à une seule couche.

Les CNN, en revanche, ont été spécifiquement conçus pour résoudre le problème de la reconnaissance des formes et de la classification des images. Ils utilisent une structure hiérarchique avec des couches convolutives qui extraient des caractéristiques locales et des couches de regroupement qui capturent l'invariance spatiale. Les CNN ont démontré un succès remarquable dans des tâches telles que la reconnaissance d'images, la détection d'objets et le traitement du langage naturel.

Les limites des perceptrons ont mis en évidence l'importance de l'apprentissage des caractéristiques, de la non-linéarité et des représentations hiérarchiques dans les réseaux de neurones. Les progrès ultérieurs dans le domaine ont conduit au développement de modèles plus sophistiqués avec des capacités d'apprentissage améliorées et des applications plus larges.

Bien que les perceptrons aient des limites dans leur capacité à apprendre des fonctionnalités complexes et à gérer certaines tâches de reconnaissance de formes, ces limites ont été résolues grâce au développement d'architectures de réseaux neuronaux plus avancées. Les MLP et les CNN, entre autres modèles, ont surmonté les restrictions des perceptrons à une seule couche et sont devenus des outils puissants dans divers domaines de l'intelligence artificielle.

Lecture 2.5 — What perceptrons can't do [Neural Networks for Machine Learning]
Lecture 2.5 — What perceptrons can't do [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...