Tout ce que vous devez savoir sur ANN Machine Learning
Pour comprendre ce qu’est un ANN (réseau de neurones artificiels), il faut d’abord comprendre ce qu’est un réseau de neurones. Tout comme votre cerveau, les réseaux de neurones sont constitués de nombreux neurones interconnectés. De nombreuses applications utilisent les réseaux de neurones pour modéliser des relations inconnues entre divers paramètres à partir d’un grand nombre d’exemples
La classification de chiffres manuscrits, la reconnaissance vocale et la prévision des cours boursiers sont quelques exemples marquants d’applications réussies des réseaux de neurones.
En 1943, le neurophysiologiste et cybernéticien américain Warren S. McCulloch (l’homme qui a inventé les réseaux de neurones artificiels) a créé le premier modèle conceptuel d’un réseau de neurones artificiels, selon lequel un neurone est désigné comme « un calcul logique des idées immanentes à l’activité nerveuse ». Fondamentalement, il s’agit d’une cellule unique dans un réseau de cellules qui reçoit une entrée, la traite et génère une sortie.
Cet article de Zilliz, le principal fournisseur de technologies de base de données vectorielle et d’IA, fournit une compréhension complète de l’apprentissage automatique des ANN et de son fonctionnement.
Qu’est-ce qu’un réseau de neurones artificiels ?
Définition d’un réseau de neurones artificiels
Un réseau de neurones artificiels (ANN) est constitué d’une couche d’entrée, de plusieurs couches cachées et d’une couche de sortie qui, ensemble, constituent la structure de base du réseau de neurones. Chaque nœud d’une couche est lié à chaque nœud de la couche suivante. Tout nœud donné traite la somme pondérée de ses entrées au moyen d’une fonction d’activation non linéaire. Il s’agit de la sortie du nœud, qui devient l’entrée d’un autre nœud dans la couche suivante.
Le signal circule de gauche à droite, et la sortie finale est calculée en répétant cette procédure pour chaque nœud, complétant ainsi la structure du réseau de neurones. L’apprentissage des poids associés à toutes les arêtes est ce qu’implique l’entraînement de ce réseau de neurones profond.
L’architecture du réseau de neurones artificiels. Source : http://scientiairanica.sharif.edu/article_4520_0ed0cd925b330c8798c33c951127b09e.pdf
La figure 2 représente un neurone artificiel typique ainsi que la modélisation d’un réseau de neurones multicouche. Dans cette figure, le flux du signal depuis les entrées x1,...,xn est considéré comme unidirectionnel, comme l’indiquent les flèches, tout comme le flux du signal depuis la sortie d’un neurone (O).
Un neurone de réseau de neurones artificiels (ANN). Source : http://scientiairanica.sharif.edu/article_4520_0ed0cd925b330c8798c33c951127b09e.pdf
L’algorithme de rétropropagation
Dans les ANN à propagation avant, l’algorithme de rétropropagation est utilisé. Cela signifie que les neurones artificiels sont organisés en couches et envoient des signaux « vers l’avant », les erreurs se propageant vers l’arrière. Les neurones de la couche d’entrée fournissent l’entrée au réseau, et les neurones de la couche de sortie fournissent la sortie au réseau.
Il peut y avoir une ou plusieurs couches intermédiaires cachées. L’algorithme de rétropropagation utilise l’apprentissage supervisé, ce qui signifie que nous fournissons à l’algorithme des exemples des entrées et des sorties que nous voulons que le réseau calcule, et l’erreur (la différence entre les résultats réels et attendus) est calculée.
L’algorithme de rétropropagation est conçu pour réduire cette erreur jusqu’à ce que l’ANN apprenne les données d’entraînement.
La fonction sigmoïde est la fonction de sortie la plus courante. Pour les grands nombres positifs, la fonction sigmoïde est très proche de un, égale à 0,5 à zéro, et très proche de zéro pour les grands nombres négatifs. Cela permet une transition fluide entre la sortie faible et élevée du neurone (proche de zéro ou proche de un).
L’algorithme de rétropropagation calcule maintenant la relation de l’erreur avec la sortie, les entrées et les poids. Une fois que nous avons déterminé cela, nous pouvons utiliser la méthode de descente de gradient pour ajuster les poids.
Fonctions d’activation les plus courantes. Source : Wikipedia
Pour représenter des caractéristiques plus complexes et « lire » des modèles de plus en plus complexes pour la prédiction et la classification de données basées sur des milliers, voire des millions de caractéristiques, les systèmes ANN ont dû évoluer pour devenir des réseaux neuronaux d’intelligence artificielle.
Le deep learning est un sous-domaine du machine learning qui se concentre sur l’apprentissage de « couches » successives de représentations de plus en plus significatives à partir des données.
Les réseaux neuronaux artificiels se présentent sous diverses formes. Les réseaux sont construits à l’aide d’un ensemble de paramètres et d’opérations mathématiques qui déterminent la sortie.
Types importants de réseaux neuronaux artificiels
Un ANN est un système de traitement de données composé d’un grand nombre d’éléments de traitement simples et hautement interconnectés (neurones artificiels) dans une architecture inspirée de la structure du cortex cérébral du cerveau.
Il existe différents types d’architectures de réseaux neuronaux. Examinons de près les plus couramment utilisés :
1. Réseaux neuronaux à propagation avant
Le type de réseau neuronal le plus basique est appelé réseaux neuronaux à propagation avant (FNN). Ces FNNsenvoient les données dans une seule direction, à travers divers nœuds d’entrée, jusqu’à ce qu’elles atteignent le nœud de sortie. Le réseau peut ou non comporter des couches de nœuds cachés, ce qui rend son fonctionnement plus compréhensible. Il est conçu pour gérer beaucoup de bruit.
Les données entrent dans ce type de réseau neuronal par les nœuds d’entrée et en sortent par les nœuds de sortie, et il peut comporter des couches cachées. Dans ce réseau neuronal, la fonction d’activation de classification est utilisée. Seule l’onde propagée vers l’avant est requise. La rétropropagation n’est pas autorisée.
Les réseaux neuronaux à propagation avant sont au cœur de tâches telles que la vision par ordinateur et le traitement du langage naturel. Un réseau neuronal à propagation avant est assez simple et extrêmement bénéfique pour certaines applications de machine learning grâce à son architecture simplifiée.
2. Réseaux neuronaux convolutifs
Exemple de réseau neuronal convolutif. Source : https://studentsxstudents.com/training-a-convolutional-neural-network-cnn-on-cifar-10-dataset-cde439b67bf3
Un réseau neuronal convolutif (CNN ou ConvNet) est le type le plus courant de réseau neuronal profond. Un CNN superpose des caractéristiques apprises aux données d’entrée, ce qui rend l’architecture bien adaptée au traitement de données 2D, telles que les images. Les CNN éliminent le besoin d’extraction manuelle des caractéristiques, vous n’avez donc pas à identifier les caractéristiques de classification d’images.
Le CNN extrait directement les caractéristiques des images. Les caractéristiques pertinentes ne sont pas pré-entraînées. Elles sont plutôt apprises au fur et à mesure que le réseau s’entraîne sur un ensemble d’images.
Il existe plusieurs raisons importantes pour lesquelles les réseaux neuronaux convolutifs sont préférés aux autres modèles de réseaux neuronaux. Pour commencer, CNN utilise un concept de partage des poids, qui réduit le nombre de paramètres à entraîner, ce qui améliore la généralisation. Comme il y a moins de paramètres, les CNN peuvent être entraînés facilement et sans surapprentissage. Ensuite, avec les CNN, l’étape de classification est combinée à l’étape d’extraction des caractéristiques, et les deux étapes emploient le processus d’apprentissage. De plus, la mise en œuvre de grands réseaux à l’aide de modèles généraux d’ANN est beaucoup plus difficile que la mise en œuvre à l’aide de CNN.
Les CNN sont largement utilisés dans une variété de domaines en raison de leurs performances exceptionnelles, notamment la classification d’images, la détection d’objets, la détection de visages, la reconnaissance vocale et la reconnaissance automobile en temps réel.
3. Réseaux neuronaux récurrents
Un diagramme montrant une architecture de réseau neuronal récurrent. Source : https://www.cs.toronto.edu/~tingwuwang/rnn_tutorial.pdf
Les réseaux neuronaux récurrents, tout comme les FNN, possèdent des couches cachées avec une connexion supplémentaire en boucle sur elles-mêmes, qui permet aux couches cachées à un instant donné d’être utilisées comme entrée pour l’instant suivant. Chaque nœud d’un modèle de réseau neuronal agit comme une cellule mémoire. En traitant les informations qu’elles reçoivent, ces cellules contribuent à assurer un calcul et une mise en œuvre intelligents. La capacité de ce modèle à collecter et à réutiliser toutes les données traitées le rend unique.
L’un des composants essentiels d’un réseau neuronal récurrent est une boucle de rétroaction robuste. Avec les réseaux neuronaux récurrents, les techniques de réseau neuronal sont capables d’« auto-apprendre » à partir de leurs erreurs. Lorsque les données sont exécutées une seconde fois dans l’algorithme après une prédiction incorrecte, le système tente d’effectuer la bonne prédiction tout en tenant compte du retour d’information.
Les réseaux neuronaux récurrents sont fréquemment employés dans des applications telles que la synthèse vocale, la prévision des ventes et la prévision des marchés boursiers.
Mais le modèle Vanilla RNN présente une grave faiblesse, connue sous le nom de problème de disparition du gradient, qui l’empêche d’être précis. Cela signifie que le réseau a du mal à mémoriser les mots situés plus loin dans la séquence et fonde plutôt ses prédictions uniquement sur les plus récents.
Afin de résoudre ce problème, des modèles successeurs tels que LSTM et GRU ont été introduits. Ces réseaux surpassent les RNN traditionnels, car ils peuvent maintenir des interrelations à long terme ainsi que des dynamiques non linéaires dans le cas d’un ensemble de données d’entrée de séries temporelles. Dans ces modèles, les gradients circulent sans changement, évitant ainsi le problème de disparition des gradients.
Avantages de l’utilisation des ANN
Jetons un rapide coup d’œil aux trois principaux avantages des réseaux neuronaux artificiels :
Capacité de traitement parallèle : Un réseau neuronal artificiel possède la puissance numérique nécessaire pour effectuer plusieurs tâches à la fois.
Applications étendues : Étant donné que tout réseau neuronal est conçu pour faire fonctionner les machines comme des humains, ils présentent plusieurs avantages par rapport aux remplacements humains et un large éventail d’applications. Cette technologie offre des avantages dans les domaines de la médecine, de l’ingénierie, de l’exploitation minière, de l’agriculture, etc..
Aucune perte de données : Comme l’entrée est stockée dans ses propres réseaux plutôt que dans une base de données, la perte de données n’a aucun effet sur son fonctionnement.
Défis liés à l’utilisation des ANN
Le problème de la scalabilité, des tests, de la vérification et de l’intégration des systèmes de réseaux neuronaux dans les environnements modernes constitue aujourd’hui un enjeu majeur. Lorsqu’ils sont appliqués à des problèmes plus vastes, les programmes de réseaux neuronaux peuvent devenir instables. Les tests et la vérification sont une source de préoccupation pour les industries sensibles telles que la défense, le nucléaire et la recherche spatiale.
Un ANN ne peut pas être sélectionné, développé, entraîné ou vérifié à l’aide d’une méthodologie structurée. Il est bien connu que la qualité de la solution d’un ANN dépend de la taille de l’ensemble d’entraînement, du nombre de couches et du nombre de neurones dans chaque couche.
Beaucoup de personnes pensent que la sortie serait plus précise lorsqu’il y a davantage de données dans l’ensemble d’entraînement. Cependant, c’est faux. Un ensemble d’entraînement trop petit empêchera le réseau d’apprendre des motifs généralisés à partir des entrées, tandis qu’un ensemble trop grand entraînera la désintégration des motifs généralisés et rendra le réseau sensible au bruit d’entrée.
Un modèle de réseau neuronal est souvent appelé une « boîte noire ultime ». Le manque d’explication derrière les solutions explorées constitue un inconvénient majeur : l’incapacité d’expliquer pourquoi ou comment la solution engendre de la méfiance envers le réseau. C’est à cause de ce problème que certaines industries, en particulier la communauté médicale, évitent d’utiliser un modèle de réseau neuronal.
Application des ANN dans le machine learning
Aujourd’hui, les réseaux neuronaux sont utilisés dans un large éventail d’applications dans plusieurs industries, en exploitant la puissance du machine learning. Leur utilisation dans les entreprises a connu une forte croissance de 270 % ces dernières années. Voici quelques domaines dans lesquels les réseaux neuronaux sont extrêmement efficaces.
Reconnaissance vocale : Les réseaux de neurones artificiels sont désormais couramment utilisés dans les technologies de reconnaissance vocale. Auparavant, des modèles statistiques, tels que le modèle de Markov caché, étaient utilisés dans les technologies de reconnaissance vocale.
Reconnaissance d’images : Cette application relève de la catégorie plus large de la reconnaissance de formes. De nombreux réseaux de neurones ont été développés pour reconnaître les caractères manuscrits, qu’il s’agisse de lettres ou de chiffres. Avec de nombreuses autres applications, notamment la reconnaissance faciale sur les réseaux sociaux et le traitement de l’imagerie satellite, la reconnaissance d’images est un domaine en pleine expansion.
Classification de texte : De nombreuses applications, notamment la recherche web, le filtrage de l’information, l’identification de la langue, les tests de lisibilité et l’analyse des sentiments, dépendent de la classification de texte.
Prévision : Un réseau de neurones peut prévoir des résultats en examinant les tendances historiques. Les réseaux de neurones sont couramment utilisés dans des applications dans les domaines de la banque, des marchés boursiers et des prévisions météorologiques. D’autres recherches sont en cours dans ce domaine.
Réseaux sociaux : Les réseaux de neurones sont couramment utilisés pour analyser le comportement des utilisateurs. D’énormes quantités de contenu généré par les utilisateurs peuvent être traitées et analysées par un réseau de neurones. Chaque appui effectué par un utilisateur dans une application est censé fournir des informations pertinentes. À partir de ces données, des publicités ciblées sont ensuite diffusées en fonction de l’activité, des préférences et du comportement d’achat des utilisateurs.
Conclusion sur le machine learning des ANN
La capacité des réseaux de neurones à examiner un large éventail de relations permet aux utilisateurs de modéliser rapidement des phénomènes qui seraient autrement difficiles, voire impossibles, à comprendre.
La gestion des énormes vecteurs d’embedding générés par les réseaux de neurones profonds et d’autres modèles de machine learning est cruciale. Ces données de grande dimension rendent le processus de calcul extrêmement lent si une base de données traditionnelle est utilisée. Elles peuvent donc être stockées dans une base de données vectorielle.
Il s’agit de l’un des nombreux cas d’utilisation des bases de données vectorielles. Et c’est précisément là que Zilliz intervient, surtout si vous vous demandez « qu’est-ce qu’une base de données vectorielle ? » et s’il faut l’explorer.
Il est indéniable que les bases de données vectorielles sont indispensables à l’ère de l’IA. Zilliz offre une solution tout-en-un aux défis liés au traitement des données non structurées, en particulier pour les entreprises qui créent des applications d’IA/ML exploitant la recherche par similarité vectorielle.
Si vous souhaitez apporter la puissance de l’IA à votre entreprise, contactez Zilliz et discutez de la suite !
Continuer à lire

How Zilliz Saw the Future of Vector Databases—and Built for Production
An inside look at how Zilliz built vector databases for real-world use, focusing on scalability, stability, and running them reliably at scale.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.



