Réseau neuronal (NN)
Découvrez la puissance des réseaux neuronaux, essentiels aux innovations en matière d'IA et d'apprentissage automatique telles que la vision par ordinateur, le TAL et les avancées en matière d'apprentissage profond.
Un réseau neuronal (NN) est un modèle de calcul inspiré de la structure et de la fonction du cerveau humain. Il constitue l'épine dorsale de la plupart des modèles d'apprentissage profond (DL) et est un concept fondamental de l'intelligence artificielle (IA) moderne. Les NN sont conçus pour reconnaître des motifs dans les données en traitant l'information à travers des couches interconnectées de nœuds, ou "neurones". Cette structure leur permet d'apprendre à partir de vastes quantités de données, ce qui les rend incroyablement puissants pour des tâches complexes comme la reconnaissance d'images et le traitement du langage naturel (NLP).
Comment fonctionnent les réseaux neuronaux ?
Un réseau neuronal est constitué de trois principaux types de couches : une couche d'entrée, une ou plusieurs couches cachées et une couche de sortie. Chaque couche contient des neurones qui sont connectés aux neurones de la couche suivante.
- Couche d'entrée : Cette couche reçoit les données initiales, telles que les pixels d'une image ou les mots d'une phrase.
- Couches cachées : Ce sont les couches intermédiaires entre l'entrée et la sortie. C'est là que se produit la majeure partie du calcul. Chaque neurone applique une transformation mathématique à ses entrées, ce qui implique l'apprentissage des poids du modèle et d'une fonction d'activation comme ReLU ou Sigmoid pour déterminer sa sortie. Les réseaux avec plusieurs couches cachées sont connus sous le nom de réseaux neuronaux "profonds".
- Couche de sortie : Cette couche finale produit le résultat, tel qu'une étiquette de classification ou une valeur prédite.
Le processus d'apprentissage, appelé entraînement, consiste à alimenter le réseau avec de grands ensembles de données. Le réseau fait une prédiction, la compare au résultat réel et calcule une erreur à l'aide d'une fonction de perte. Il utilise ensuite un algorithme appelé rétropropagation pour ajuster les poids de ses connexions afin de minimiser cette erreur sur de nombreuses itérations, ou époques. Ce processus est guidé par un algorithme d'optimisation comme Adam.
Réseaux neuronaux vs. Concepts Connexes
Il est important de distinguer les réseaux de neurones (NN) des autres termes connexes :
- Apprentissage automatique vs. Réseaux neuronaux : L'apprentissage automatique (AA) est un vaste domaine de l'IA, et les RN ne sont qu'un type de modèle d'AA. D'autres modèles d'AA comprennent les arbres de décision et les machines à vecteurs de support (SVM), qui n'utilisent pas l'architecture neuronale en couches.
- Apprentissage profond vs. réseaux neuronaux : L'apprentissage profond est un sous-domaine du ML qui utilise spécifiquement des réseaux neuronaux profonds, c'est-à-dire des NN avec de nombreuses couches cachées. Par conséquent, tous les systèmes d'apprentissage profond sont basés sur des NN, mais un simple NN avec une seule couche cachée pourrait ne pas être considéré comme « profond ».
Types et applications des réseaux neuronaux
Les réseaux neuronaux sont incroyablement polyvalents et ont été adaptés à diverses architectures spécialisées. Voici deux exemples clés :
Vision par ordinateur (VC) : Les réseaux neuronaux convolutifs (CNN) sont la force dominante dans la vision par ordinateur.
Traitement du langage naturel (NLP) : Les NNs, y compris les réseaux neuronaux récurrents (RNN) et les Transformers, ont révolutionné la façon dont les machines traitent le langage.
Outils et frameworks
Le développement de NN est rendu accessible par des outils et des frameworks puissants.
- Bibliothèques : Les frameworks comme PyTorch et TensorFlow fournissent les éléments de base essentiels pour la création et la formation de réseaux neuronaux. Vous pouvez en apprendre davantage sur les sites officiels de PyTorch et TensorFlow.
- Plateformes : Ultralytics HUB offre une plateforme intégrée pour l'entraînement des modèles YOLO, la gestion des jeux de données et la simplification du processus de déploiement des modèles.
- Modèles pré-entraînés : De nombreux chercheurs et développeurs commencent avec des modèles pré-entraînés disponibles sur des plateformes comme Hugging Face ou au sein de l'écosystème Ultralytics. Ces modèles ne nécessitent souvent qu'un ajustement fin sur un ensemble de données spécifique, ce qui permet d'économiser beaucoup de temps et de ressources de calcul. Vous pouvez trouver des comparaisons entre différents modèles YOLO dans notre documentation.