Dans cette série, nous aborderons le concept de réseau de neurones, les mathématiques d’un réseau de neurones, les types de réseaux de neurones populaires et leur architecture.
Tout d’abord, nous devons comprendre ce qu’est un réseau de neurones. Pour ce faire, nous partirons d’un exemple de problème réel et de sa solution à l’aide de la logique de réseau neuronal.
Supposons que vous soyez dans votre chambre à écrire un code et que votre cousin de 5 ans vienne vous voir et vous montre sa peinture.

Articles Tendances sur l’IA:
1. Dix tendances de l’Intelligence artificielle (IA) en 2019
2. Éclatement des bulles de jargon – Apprentissage en profondeur
3. Comment Pouvons-Nous Améliorer la Qualité de Nos Données ?
4. Apprentissage automatique utilisant la régression logistique en Python avec du Code
Maintenant, vous le regardez et vous voyez quelque chose comme ça:

Et la question qui vous vient immédiatement à l’esprit est:

QU’EST-CE QUE C’EST QUE ÇA ?
Caractéristiques
Mais vous êtes intelligent! Donc, ce que vous pouvez faire, c’est proposer une hypothèse « c’est un chat ». Mais comment pouvez-vous le savoir? Vous pouvez écrire toutes les caractéristiques de la créature que vous voyez. Il serait logique que toutes ces caractéristiques affectent l’hypothèse, non?

Mais comment pouvez-vous être sûr que toutes ces fonctionnalités sont en fait ce que vous pensez qu’elles sont? Comment pouvez-vous savoir que ce que vous voyez comme une aile en est vraiment une? Eh bien, vous pouvez toujours demander, mais comme ce serait trop facile et pas très facile à apprendre par machine, ce que vous pouvez faire, c’est attribuer la probabilité aux choses que vous voyez. Vous pouvez être tout à fait sûr qu’il y a 2 yeux, mais avec 4 pattes, pas tellement, on semble être déformé, donc la probabilité que la créature ait 4 pattes devrait être plus faible. Avec la queue, vous ne pouvez pas être sûr que ce soit vraiment une queue étant donné sa couleur et son aspect nuageux… n’approfondissons pas cela et présentons la liste complète des caractéristiques avec leurs probabilités.

Poids
Là encore, vous devez vous demander, toutes ces caractéristiques sont-elles également importantes? En fait, le chat est toujours un chat s’il perd un œil. D’un autre côté, cependant, la créature qui a des ailes n’est pas du tout un chat, sauf peut-être quelques mutations génétiques causées par le fait de vivre à côté d’une centrale nucléaire qui pollue la région depuis 20 ans et a soudoyé les inspecteurs pour qu’ils regardent dans l’autre sens, pendant qu’ils déversaient leurs déchets dans le refuge pour animaux local. Notre prochain objectif est donc de décider de l’importance de chacune de ces caractéristiques dans la prise de décision finale et si elles augmentent ou diminuent la probabilité de la thèse.

Maintenant que nous avons décidé de l’importance des fonctionnalités et que nous les avons mises à l’échelle correctement, nous pouvons simplement les ajouter ensemble et obtenir un résultat.
A = 0.83 × (-0.87) + 0.95 × 0.42 + 0.66 × 0.69+ 0.72 × (-0.64) + 0.5 ×0.35 = -0.1535
Fonction d’activation
Notez que nous écrivons 0,83 au lieu de 83% mais que la valeur est la même. Nous ajoutons également des caractéristiques positives et soustrayons les caractéristiques négatives multipliées par leur poids. Nous pouvons voir que le résultat est négatif, nous pouvons donc conclure que ce n’est probablement pas un chat, mais il y a une dernière chose que nous devons faire. Il peut y avoir une situation où nous avons beaucoup de fonctionnalités et notre score de sortie est vraiment important. Nous aimerions avoir des données dans un format limité à un certain intervalle, par exemple < 0,1 >. Nous pouvons le considérer comme une probabilité comprise entre 0 et 100%. Pourquoi en avons-nous besoin? Tout d’abord, disons que nous voulons prédire quelque chose de différent en fonction du fait qu’il y a un chat, alors la sortie de notre fonction deviendra une caractéristique dans une autre classification, donc elle doit être dans la même plage que toutes les autres fonctionnalités. Deuxièmement, nous ne pouvons pas avoir de fonctions linéaires dans un réseau neuronal profond, mais c’est un spoiler pour d’autres articles, alors n’en parlons pas correctement.
Quelle fonction devrions-nous utiliser pour normaliser la sortie? Eh bien, il y a beaucoup de choix, mais pour l’instant, utilisons la fonction sigmoïde.

Il renvoie la sortie dans la plage < 0,1 >, nous pouvons donc considérer la sortie comme une probabilité comprise entre 0 et 100%. Maintenant, nous pouvons écrire notre formule dans ce format:
Y = sigmoïde (0.83 × (-0.87) + 0.95 × 0.42 + 0.66 × 0.69+ 0.72 × (-0.64)+ 0.5 ×0.35)
Neurone
Félicitations, vous avez un neurone!

Alors, que fait un neurone?
- Il prend les entrées et les multiplie par leurs poids,
- puis il les résume,
- après cela il applique la fonction d’activation à la somme.
Comment un neurone apprend-il ?
Le but du neurone est d’ajuster les poids en fonction de nombreux exemples d’entrées et de sorties. Disons donc que nous montrons au neurone mille exemples de dessins de chats et de dessins de non-chats et pour chacun de ces exemples, nous montrons quelles caractéristiques sont présentes et à quel point nous sommes sûrs qu’elles sont ici. Se base sur ces milliers d’images que le neurone décide:
- quelles caractéristiques sont importantes et positives (par exemple, chaque dessin de chat avait une queue, donc le poids doit être positif et grand),
- quelles caractéristiques ne sont pas importantes (par exemple, seuls quelques dessins avaient 2 yeux, donc le poids doit être petit),
- quelles caractéristiques sont importantes et négatives (par exemple, chaque dessin contenant une corne a été en fait un dessin d’une licorne et non d’un chat, donc le poids doit être grand et négatif).
Nous expliquerons les mathématiques de l’apprentissage dans le prochain article, pour l’instant tout ce que nous devons savoir, c’est que le neurone apprend les poids en fonction des entrées et des sorties souhaitées.
Réseaux de neurones
Comme nous l’avons déjà dit, notre neurone peut être une entrée d’un autre neurone. De plus, l’entrée de notre neurone peut être une sortie d’un autre neurone.

Par exemple, nous voulons prédire s’il existe des caractéristiques comme les cornes, les jambes, etc. sur la base des pixels de la photo, puis sur la base du fait qu’il s’agit d’un dessin d’un chat, nous voulons prédire quels types d’animaux l’enfant aime.
Pour cela, la fonction d’activation est particulièrement utile car nous avons maintenant normalisé la sortie de tous les neurones, afin qu’ils puissent servir d’entrées dans la couche suivante du réseau.
Notez qu’habituellement, la sortie de chaque neurone n’est pas connectée à un seul neurone de la couche suivante, mais à plusieurs, sinon à tous les neurones. Cela est dû au fait que les informations prédites par le neurone peuvent être utiles pour de nombreux autres neurones, alors pourquoi ne voudrions-nous pas les utiliser?
La boîte noire
Dans cet exemple, nous avons montré que le neurone décide si l’image contient un chat en fonction de caractéristiques spécifiques. Dans la vraie vie, nous ne savons généralement pas quelles fonctionnalités ont été utilisées pour prédire la sortie finale. Dans notre exemple, nous avons déclaré que ce n’est pas un chat basé sur les caractéristiques comme une corne. Mais dans la vraie vie, le réseau de neurones peut choisir des fonctionnalités telles que des pixels dans une certaine position et les traiter à travers de nombreuses classifications dont nous ne savons rien et sur lesquelles nous prédisons la sortie finale. C’est ce qu’on appelle l’approche de la boîte noire car nous ne voyons que l’entrée et la sortie et non tous les calculs effectués au milieu. Pour cette raison, les couches situées entre les couches d’entrée et de sortie sont appelées couches cachées.
Alors qu’est-ce qu’un réseau de neurones?
Je pense que nous sommes prêts pour la définition finale du réseau de neurones.
Le réseau de neurones est un ensemble de neurones organisés en couches. Chaque neurone est une opération mathématique qui prend son entrée, la multiplie par ses poids, puis transmet la somme à travers la fonction d’activation aux autres neurones. Le réseau neuronal apprend à classer une entrée en ajustant ses poids en fonction d’exemples précédents.
Et ensuite?
Vous pouvez consulter la partie suivante de cette série où nous discutons des mathématiques des réseaux de neurones