Les réseaux neuronaux constitue un programme ou un modèle de machine learning qui prend des décisions d’une manière comparable au cerveau humain, en utilisant des processus qui reproduisent la façon dont les neurones biologiques fonctionnent de concert pour identifier des phénomènes, évaluer des options et arriver à des conclusions.
Tous les réseaux neuronaux sont constituée de couches de nœuds, ou neurones artificiels : une couche d’entrée, une ou plusieurs couches cachées et une couche de sortie. Chaque nœud se connecte à un autre et possède un poids et un seuil associés. Si la sortie d’un nœud individuel est supérieure à la valeur de seuil spécifiée, ce nœud est activé, envoyant les données à la couche suivante du réseau. Dans le cas contraire, aucune donnée n’est transmise à la couche suivante.
Les réseaux neuronaux s’appuient sur les données d’entraînement pour apprendre et améliorer leur précision au fil du temps. Une fois qu’ils atteignent un niveau de précision optimal, ce sont de puissants alliés des domaines de l’informatique et de l’intelligence artificielle, qui nous permettent de classer et de regrouper les données à grande vitesse. Une tâche de reconnaissance vocale ou d’image qui demandent des heures de recherche à un expert humain peut être réalisée en quelques minutes. L’algorithme de recherche de Google est l’un des exemples les plus connus des réseaux neuronaux.
Les réseaux neuronaux sont parfois appelés réseaux neuronaux artificiels (RNA) ou réseaux neuronaux simulés (RNS). Il s’agit d’un sous-ensemble du machine learning et une composante des modèles de l’apprentissage profond.
Découvrez les éléments constitutifs et les bonnes pratiques pour aider vos équipes à accélérer l’IA responsable.
Obtenir l’e-book sur l’IA générative
Considérez chaque nœud individuel comme son propre modèle de régression linéaire, composé de données en entrée, de pondérations, d’un biais (ou d’un seuil) et d’une sortie. La formule ressemblerait à ceci :
∑wixi + biais = w1x1 + w2x2 + w3x3 + biais
sortie = f(x) = 1 si ∑w1x1 + b>= 0 ; 0 si ∑w1x1 + b < 0
Une fois la couche d’entrée déterminée, des pondérations sont attribuées. Ces pondérations aident à déterminer l’importance d’une variable donnée, les plus grandes contribuant de manière plus significative à la production par rapport aux autres entrées. Toutes les entrées sont ensuite multipliées par leurs pondérations respectives, puis elles sont additionnées. Ensuite, la sortie passe par une fonction d’activation, qui détermine la sortie. Si cette valeur de sortie dépasse un seuil donné, elle « déclenche » (ou active le nœud), transmettant les données à la couche suivante du réseau. Ainsi, la sortie d’un nœud devient l’entrée du nœud suivant. Ce processus de transmission de données d’une couche à la suivante définit ce réseau neuronal comme un réseau de propagation.
Voyons à quoi peut ressembler un nœud unique en utilisant des valeurs binaires. Nous pouvons appliquer ce concept à un exemple plus concret, comme la question de savoir si vous devriez aller surfer (Oui : 1, Non : 0). La décision de partir ou de ne pas partir est notre résultat prévu, ou y-hat. Supposons que trois facteurs influencent votre prise de décision :
Supposons ensuite ce qui suit, en nous donnant les entrées suivantes :
Maintenant, nous devons attribuer des pondérations pour déterminer l’importance. Les pondérations plus importantes signifient que des variables particulières sont plus importantes pour la décision ou le résultat.
Enfin, nous supposerons également une valeur de seuil de 3, ce qui se traduirait par une valeur de biais de -3. Avec toutes les différentes entrées, nous pouvons commencer à intégrer des valeurs dans la formule pour obtenir le résultat souhaité.
Y chapeau (ou Y-hat) = (1*5) + (0*2) + (1*4) – 3 = 6
Si nous utilisons la fonction d’activation du début de cette section, nous pouvons déterminer que la sortie de ce nœud est 1, puisque 6 est supérieur à 0. Dans ce cas, vous iriez surfer ; mais si nous ajustons les pondérations ou le seuil, nous pouvons obtenir des résultats différents à partir du modèle. Lorsque nous observons une décision, comme dans l’exemple ci-dessus, nous pouvons voir comment un réseau neuronal peut prendre des décisions de plus en plus complexes en fonction du résultat des décisions ou des couches précédentes.
Dans l’exemple ci-dessus, nous avons utilisé des perceptrons pour illustrer certains des calculs mathématiques en jeu ici, mais les réseaux neuronaux utilisent des neurones sigmoïdes, qui se distinguent par des valeurs comprises entre 0 et 1. Étant donné que les réseaux neuronaux se comportent de la même manière que les arbres de décision, c’est-à-dire qu’ils transmettent les données en cascade d’un nœud à l’autre, le fait d’avoir des valeurs x comprises entre 0 et 1 réduira l’impact de tout changement d’une variable unique sur la sortie d’un nœud donné et, par la suite, sur la sortie du réseau neuronal.
Au fur et à mesure que nous commencerons à réfléchir à des cas d’utilisation plus pratiques pour les réseaux neuronaux, comme la reconnaissance ou la classification d’images, nous tirerons parti de l’apprentissage supervisé, ou des jeux de données étiquetés, pour entraîner l’algorithme. Au fur et à mesure que nous entraînons le modèle, nous voulons évaluer sa précision à l’aide d’une fonction de coût (ou de perte). C’est ce que l’on appelle communément l’erreur quadratique moyenne (MSE). Dans l’équation ci-dessous,
= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2
En fin de compte, l’objectif est de minimiser notre fonction de coût pour garantir l’exactitude de l’ajustement pour toute observation donnée. Lorsque le modèle ajuste ses pondérations et son biais, il utilise la fonction de coût et l’apprentissage par renforcement pour atteindre le point de convergence, ou le minimum local. Le processus dans lequel l’algorithme ajuste ses pondérations se fait par descente de gradient, ce qui permet au modèle de déterminer la direction à prendre pour réduire les erreurs (ou minimiser la fonction coût). À chaque exemple d’entraînement, les paramètres du modèle s’ajustent pour converger progressivement vers le minimum.
Consultez cet article IBM Developer pour en savoir plus sur les concepts quantitatifs impliqués dans les réseaux neuronaux.
La plupart des réseaux neuronaux profonds sont à propagation, ce qui signifie qu’ils circulent dans une seule direction, de l’entrée vers la sortie. Cependant, vous pouvez également entraîner votre modèle par rétropropagation ; c’est-à-dire se déplacer dans la direction opposée de la sortie à l’entrée. La rétropropagation nous permet de calculer et d’attribuer l’erreur associée à chaque neurone, ce qui nous permet d’ajuster les paramètres du (ou des) modèle(s) de manière appropriée.
Découvrez notre nouveau studio destiné aux entreprises qui réunit le machine learning traditionnel et les nouvelles capacités d’IA générative alimentées par des modèles de fondation.
Les réseaux neuronaux peuvent être classés en différents types, qui sont utilisés à des fins différentes. Bien qu’il ne s’agisse pas d’une liste exhaustive, les réseaux neuronaux ci-dessous sont représentatifs des types de réseaux neuronaux les plus courants que vous rencontrerez pour leurs cas d’utilisation courants :
Le perceptron est le réseau neuronal le plus ancien, créé par Frank Rosenblatt en 1958.
Nous nous sommes principalement concentrés dans cet article sur les réseaux neuronaux à propagation, ou perceptrons multicouches (MLP). Ils sont composés d’une couche d’entrée, d’une ou de plusieurs couches masquées et d’une couche de sortie. Bien que ces réseaux neuronaux soient aussi communément appelés MLP, il est important de noter qu’ils sont en fait composés de neurones sigmoïdes, et non de perceptrons, car la plupart des problèmes du monde réel ne sont pas linéaires. Les données sont généralement intégrées à ces modèles pour les entraîner, et elles constituent la fondation de la vision par ordinateur, du traitement du langage naturel et d’autres réseaux neuronaux.
Les réseaux neuronaux convolutifs (CNN) sont similaires aux réseaux de rétroaction, mais ils sont généralement utilisés pour la reconnaissance d’images, la reconnaissance de formes et/ou la vision par ordinateur. Ces réseaux exploitent les principes de l’algèbre linéaire, en particulier la multiplication matricielle, pour identifier des motifs dans une image.
Les réseaux de neurones récurrents (RNN) sont identifiés par leurs boucles de rétroaction. Ces algorithmes d’apprentissage sont principalement utilisés lorsque vous utilisez des données de séries temporelles pour faire des prédictions de résultats, telles que les prévisions boursières ou les prévisionnels de vente.
L’apprentissage profond et les réseaux neuronaux ont tendance à être utilisés de manière interchangeable dans les conversations, ce qui peut prêter à confusion. En conséquence, il convient de noter que le terme « profond » dans l’apprentissage profond fait simplement référence à la profondeur des couches d’un réseau neuronal. Un réseau neuronal composé de plus de trois couches, qui incluraient les entrées et les sorties, peut être considéré comme un algorithme d’apprentissage profond. Un réseau neuronal qui ne comporte que deux ou trois couches n’est qu’un réseau neuronal de base.
Pour en savoir plus sur les différences entre les réseaux neuronaux et d’autres formes d’intelligence artificielle, comme le machine learning, veuillez lire l’article de blog « IA, machine learning, apprentissage profond et réseaux neuronaux : quelle est la différence ? »
L’origine des réseaux neuronaux est plus ancienne qu’on l’imagine. Bien que l’idée d’une « machine qui pense » remonte à la Grèce antique, concentrons-nous sur les événements clés qui ont conduit à l’évolution de la pensée autour des réseaux neuronaux, dont la popularité a évolué au fil des ans :
1943 : Warren S. McCulloch et Walter Pitts publient « A logical calculus of the ideas immanent in nervous activity (lien externe à ibm.com) » Cette recherche visait à comprendre comment le cerveau humain pouvait produire des modèles complexes grâce à des cellules cérébrales connectées, ou neurones. L’une des principales idées qui est ressortie de ces travaux était la comparaison des neurones avec un seuil binaire à la logique booléenne (c’est-à-dire, les déclarations 0/1 ou vrai/faux).
1958 : Frank Rosenblatt est crédité du développement du perceptron, documenté dans ses recherches, «The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain » (lien externe à ibm.com). Il pousse le travail de McCulloch et Pitt un peu plus loin en introduisant des pondérations dans l’équation. Grâce à un IBM 704, Frank Rosenblatt a pu apprendre à distinguer les cartes marquées à gauche des cartes marquées à droite sur un ordinateur.
1974 : alors que de nombreux chercheurs ont contribué à l’idée de la rétropropagation, Paul Werbos a été la première personne aux États-Unis à noter son application dans les réseaux neuronaux dans sa thèse de doctorat (lien externe à ibm.com).
1989 : Yann LeCun publie un article (lien externe à ibm.com) illustrant comment l’utilisation de contraintes en rétropropagation et son intégration dans l’architecture des réseaux neuronaux peuvent être utilisées pour entraîner des algorithmes. Cette recherche a exploité avec succès un réseau neuronal pour reconnaître les chiffres du code postal écrits à la main et fournis par le service postal américain.
Concevez des réseaux neuronaux complexes. Expérimentez à grande échelle pour déployer des modèles d’apprentissage optimisés dans IBM Watson Studio.
Créez et faites évoluer une IA digne de confiance dans n’importe quel cloud. Automatisez le cycle de vie de l’IA pour les ModelOps.
Passez à l'étape suivante pour commencer à opérationnaliser et à appliquer l'IA générative et le machine learning à votre entreprise.
Abonnez-vous à notre e-book pour en savoir plus sur les opportunités, les défis et les enseignements tirés de l’intégration de l’IA dans les entreprises.
Ces termes sont souvent utilisés de manière interchangeable, mais en quoi chacune de ces technologies est-elle unique ?
Acquérez une compréhension approfondie des réseaux neuronaux, de leurs fonctions de base et des principes fondamentaux de leur construction.