Que sont les réseaux de neurones et comment fonctionnent-ils?

  • Joseph Goodman
  • 0
  • 3357
  • 801
Publicité

Si vous suivez l'actualité de la technologie, vous avez probablement rencontré le concept de les réseaux de neurones (également connu sous le nom de réseaux de neurones).

En 2016, par exemple, le réseau de neurones AlphaGo de Google a battu l'un des meilleurs joueurs professionnels de Go au monde dans une série 4-1. YouTube a également annoncé qu'ils utiliseraient les réseaux de neurones pour mieux comprendre ses vidéos. YouTube utilisera les réseaux de neurones pour comprendre réellement les vidéos. YouTube utilisera les réseaux de neurones pour comprendre réellement les vidéos. La recherche sur YouTube peut être frustrante, car YouTube ne voit pas les vidéos comme une personne fait. Récemment, Google a déposé un brevet qui pourrait changer cela. . Des dizaines d'autres histoires peuvent venir à l'esprit.

Mais qu'est-ce qu'un réseau de neurones? Comment ça marche? Et pourquoi est-il si populaire dans l'apprentissage automatique?

Un ordinateur comme un cerveau

Les neuroscientifiques modernes discutent souvent du cerveau en tant que type d'ordinateur. Les réseaux de neurones ont pour objectif de faire le contraire: construire un ordinateur qui fonctionne comme un cerveau.

Bien sûr, nous n’avons qu’une compréhension sommaire des fonctions extrêmement complexes du cerveau, mais en créant une simulation simplifiée de la façon dont le cerveau traite les données, nous pouvons construire un type d’ordinateur qui fonctionne très différemment d’un ordinateur standard..

Les processeurs informatiques traitent les données en série (“en ordre”) Ils effectuent de nombreuses opérations sur un ensemble de données, une à la fois. Traitement parallèle (“traitement de plusieurs flux à la fois”) accélère considérablement l’ordinateur en utilisant plusieurs processeurs en série.

Dans l'image ci-dessous, l'exemple de traitement en parallèle nécessite cinq processeurs différents:

Crédit d'image: ExplainThatStuff

Un réseau de neurones artificiel (appelé ainsi pour le distinguer des réseaux de neurones du cerveau) a une structure fondamentalement différente. C'est fortement interconnecté. Cela lui permet de traiter les données très rapidement, de tirer des enseignements de ces données et de mettre à jour sa propre structure interne pour améliorer les performances..

Le degré élevé d’interconnexion a cependant des effets étonnants. Par exemple, les réseaux de neurones sont très efficaces pour reconnaître des schémas obscurs dans les données..

La capacité d'apprendre

La capacité d'un réseau de neurones à apprendre est sa plus grande force. Avec l'architecture informatique standard, un programmeur doit développer un algorithme qui indique à l'ordinateur quoi faire avec les données entrantes pour s'assurer que l'ordinateur génère la réponse correcte..

Une réponse entrée-sortie pourrait être aussi simple que “lorsque vous appuyez sur la touche A, affichez «A» à l'écran” ou aussi compliqué que d'effectuer des statistiques complexes. Les réseaux de neurones, en revanche, n’ont pas besoin du même type d’algorithmes. Grâce aux mécanismes d'apprentissage, ils peuvent essentiellement concevoir leurs propres algorithmes. 4 Algorithmes d'apprentissage automatique qui façonnent votre vie 4 Algorithmes d'apprentissage automatique qui façonnent votre vie sur ta vie. Ne me crois pas? Vous pourriez être surpris. qui assurent qu'ils fonctionnent correctement.

Il est important de noter que, comme les réseaux de neurones sont des programmes logiciels écrits sur des machines utilisant du matériel de traitement en série standard, la technologie actuelle impose toujours des limites. Construire une version matérielle d’un réseau de neurones est un autre problème entièrement.

Des neurones aux nœuds

Maintenant que nous avons jeté les bases du fonctionnement des réseaux de neurones, nous pouvons commencer à examiner certaines des spécificités. La structure de base d'un réseau de neurones artificiels ressemble à ceci:

Chacun des cercles est appelé un “nœud” et il simule un seul neurone. À gauche, les nœuds d'entrée, au milieu, les nœuds cachés et à droite, les nœuds de sortie..

En termes très simples, les nœuds d’entrée acceptent les valeurs d’entrée, qui peuvent être un binaire 1 ou 0, une valeur de couleur RVB, l’état d’une pièce d’échecs ou autre. Ces nœuds représentent les informations entrant dans le réseau.

Chaque nœud d'entrée est connecté à un certain nombre de nœuds cachés (parfois à chaque nœud caché, parfois à un sous-ensemble). Les nœuds d'entrée prennent les informations qui leur sont données et les transmettent à la couche cachée..

Par exemple, un noeud d’entrée peut envoyer un signal (“Feu,” dans le langage neuroscientifique) s’il reçoit un 1 et reste en sommeil s’il reçoit un zéro. Chaque nœud caché a un seuil: si toutes ses entrées additionnées atteignent une certaine valeur, il se déclenche.

Des synapses aux connexions

Chaque connexion, l'équivalent d'une synapse anatomique, se voit également attribuer un poids spécifique, ce qui permet au réseau de mettre davantage l'accent sur l'action d'un nœud spécifique. Voici un exemple:

Comme vous pouvez le constater, le poids de la connexion B est supérieur à celui des connexions A et C. Supposons que le nœud caché 4 ne se déclenche que s'il reçoit une entrée totale de 2 ou plus. Cela signifie que si 1 ou 3 se déclenchent seuls, 4 ne seront pas déclenchés, mais 1 et 3 ensemble déclencheront le nœud. Le nœud 2 peut également déclencher le nœud lui-même via la connexion B.

Prenons la météo comme exemple pratique. Imaginons que vous conceviez un réseau de neurones simple pour déterminer s’il devrait y avoir un avertissement de tempête hivernale.

En utilisant les connexions et les poids ci-dessus, le nœud 4 ne peut se déclencher que si la température est inférieure à 0 F et les vents supérieurs à 30 km / h, ou s’il déclenche s’il ya plus de 70% de chances de neige. La température serait transmise au nœud 1, les vents au nœud 3 et le risque de neige au nœud 2. Le nœud 4 peut maintenant prendre en compte tous ces éléments pour déterminer le signal à envoyer à la couche de sortie.

Mieux que la simple logique

Bien entendu, cette fonction pourrait simplement être réalisée avec de simples portes logiques ET / OU. Mais des réseaux de neurones plus complexes, comme celui ci-dessous, sont capables d'opérations beaucoup plus complexes.

Crédit d'image: Réseaux de neurones et apprentissage en profondeur par Michael A. Nielsen

Les nœuds de couche de sortie fonctionnent de la même manière que ceux de couche masquée: les nœuds de sortie additionnent l'entrée de la couche masquée et s'ils atteignent une certaine valeur, les nœuds de sortie se déclenchent et envoient des signaux spécifiques. A la fin du processus, la couche de sortie enverra un ensemble de signaux indiquant le résultat de l'entrée.

Bien que le réseau présenté ci-dessus soit simple, les réseaux de neurones profonds peuvent comporter de nombreuses couches cachées et des centaines de nœuds..

Crédit d'image: Réseaux de neurones et apprentissage en profondeur par Michael A. Nielsen

Correction des erreurs

Le processus, jusqu'à présent, est relativement simple. Mais là où les réseaux de neurones brillent vraiment, c'est dans l'apprentissage. La plupart des réseaux de neurones utilisent un processus appelé rétropropagation, qui envoie des signaux en arrière à travers le réseau.

Avant que les programmeurs déploient un réseau de neurones, ils effectuent une phase d’apprentissage au cours de laquelle il reçoit un ensemble d’entrées avec des résultats connus. Par exemple, un programmeur peut apprendre à un réseau de neurones à reconnaître les images. 8 Applications appétissantes pour tout identifier à l'aide de l'appareil photo de votre téléphone 8 Applications appétissantes pour tout identifier à l'aide de la caméra de votre téléphone Ces applications de reconnaissance d'images vous permettent d'identifier des la caméra de votre téléphone. . L'entrée pourrait être une image d'une voiture, et la sortie correcte serait le mot “voiture.”

Le programmeur fournit l'image en entrée et voit ce qui sort des nœuds de sortie. Si le réseau répond avec “avion,” le programmeur dit à l'ordinateur qu'il est incorrect.

Le réseau ajuste ensuite ses propres connexions en modifiant le poids des différentes liaisons entre les nœuds. Cette action est guidée par un algorithme d'apprentissage spécifique ajouté au réseau. Le réseau continue d’ajuster le poids des connexions jusqu’à obtenir la sortie correcte.

Ceci est une simplification, mais les réseaux de neurones peuvent apprendre des opérations très complexes en utilisant des principes similaires.

Amélioration continue

Même après l'entraînement, la rétropropagation se poursuit - et c'est là que les réseaux de neurones deviennent vraiment cool. Ils continuent d’apprendre au fur et à mesure de leur utilisation, en intégrant de nouvelles informations et en adaptant le poids de connexions différentes, devenant de plus en plus efficaces et efficients dans la tâche pour laquelle ils étaient conçus..

Cela peut être aussi simple que la reconnaissance d'image ou aussi complexe que de jouer Go.

De cette façon, les réseaux de neurones changent et s’améliorent constamment. Et cela peut avoir des effets surprenants, aboutissant à des réseaux donnant la priorité à ce qu'un programmeur n'aurait pas pensé à prioriser.

En plus du processus décrit ci-dessus, appelé enseignement supervisé, il y a aussi une autre méthode: apprentissage non supervisé.

Dans cette situation, les réseaux de neurones prennent une entrée et tentent de la recréer exactement dans leur sortie, en utilisant la rétropropagation pour mettre à jour leurs connexions. Cela peut sembler un exercice infructueux, mais de cette manière, les réseaux apprennent à extraire des fonctionnalités utiles et à généraliser ces fonctionnalités pour améliorer leurs modèles..

Problèmes de profondeur

La rétropropagation est un moyen très efficace d’enseigner les réseaux de neurones… quand ils n’ont que quelques couches de profondeur. Au fur et à mesure que le nombre de couches cachées augmente, l'efficacité de la rétropropagation diminue. C'est un problème pour les réseaux profonds. En utilisant la rétropropagation, ils ne sont souvent pas plus efficaces que de simples réseaux.

Les scientifiques ont trouvé un certain nombre de solutions à ce problème, dont les détails sont assez complexes et vont au-delà de la portée de cette introduction. Ce que beaucoup de ces solutions tentent de faire, en termes simples, est de réduire la complexité du réseau en le formant à “compresse” les données.

Crédit d'image: Song Han

Pour ce faire, le réseau apprend à extraire un plus petit nombre de caractéristiques d’identification de l’entrée, pour finalement devenir plus efficace dans ses calculs. En effet, le réseau fait des généralisations et des abstractions, de la même manière que les humains apprennent.

Après cet apprentissage, le réseau peut supprimer les nœuds et les connexions qu’il juge moins importants. Cela rend le réseau plus efficace et l'apprentissage devient plus facile.

Applications de réseau neuronal

Les réseaux de neurones simulent donc la façon dont le cerveau apprend en utilisant plusieurs couches de nœuds - entrée, cachés et sorties - et ils peuvent apprendre à la fois dans des situations supervisées et non supervisées. Les réseaux complexes peuvent faire des abstractions et se généraliser, ce qui les rend plus efficaces et plus aptes à apprendre.

Que pouvons-nous utiliser ces systèmes fascinants pour?

En théorie, nous pouvons utiliser les réseaux de neurones pour presque tout. Et vous les utilisez probablement sans vous en rendre compte. Ils sont très courants en reconnaissance vocale et visuelle, par exemple, car ils peuvent apprendre à identifier des traits spécifiques que des sons ou des images ont en commun..

Alors, quand vous demandez à Siri 8 choses que vous n'avez probablement pas réalisées Siri pourrait faire 8 choses que vous n'avez probablement pas réalisées Siri pourrait faire Siri est devenu l'une des caractéristiques déterminantes de l'iPhone, mais pour beaucoup de gens, ce n'est pas toujours le plus utile. Cela est dû en partie aux limitations de la reconnaissance vocale, à la bizarrerie d’utiliser… où se trouve la station-service la plus proche, votre iPhone transmet votre parole via un réseau de neurones pour comprendre ce que vous dites. Un autre réseau de neurones peut apprendre à prédire le genre de choses que vous êtes susceptible de demander..

Les voitures autonomes peuvent utiliser des réseaux de neurones pour traiter des données visuelles, respectant ainsi les règles de la route et évitant les collisions. Les robots de tous types peuvent tirer parti des réseaux de neurones qui les aident à apprendre à effectuer efficacement des tâches. Les ordinateurs peuvent apprendre à jouer à des jeux comme les échecs, Go et Atari des classiques. Si vous avez déjà parlé à un chatbot, il est possible qu'il utilise un réseau de neurones pour offrir des réponses appropriées.

La recherche sur Internet peut grandement profiter des réseaux de neurones, car le modèle de traitement parallèle très efficace peut générer rapidement beaucoup de données. Un réseau de neurones pourrait également apprendre vos habitudes pour personnaliser vos résultats de recherche ou prédire ce que vous allez rechercher dans un avenir proche. Ce modèle de prédiction serait évidemment très précieux pour les spécialistes du marketing (et pour toute autre personne devant prédire un comportement humain complexe).

Reconnaissance d'images, reconnaissance optique de caractères Les 5 meilleurs outils d'OCR pour l'extraction de texte à partir d'images Les 5 meilleurs outils d'OCR pour l'extraction de texte à partir d'images Lorsque vous avez beaucoup de papier, comment obtenez-vous tout ce texte imprimé converti en un programme numérique? capable de reconnaître et d'indexer? Gardez un bon logiciel OCR à proximité. , prévision boursière, recherche d’itinéraires, traitement de données volumineuses, analyse des coûts médicaux, prévision des ventes, IA du jeu vidéo… les possibilités sont presque infinies. La capacité des réseaux de neurones à apprendre des modèles, à généraliser et à prédire le comportement avec succès les rend utiles dans d'innombrables situations..

L'avenir des réseaux de neurones

Les réseaux de neurones ont évolué de modèles très simples à des simulations d'apprentissage très complexes. Ils se trouvent dans nos téléphones, nos tablettes et exploitent bon nombre des services Web que nous utilisons. Il existe de nombreux autres systèmes d’apprentissage automatique.

Mais les réseaux de neurones, en raison de leur similitude (de manière très simplifiée) avec le cerveau humain, sont parmi les plus fascinants. Alors que nous continuons à développer et à raffiner des modèles, nous ne savons pas de quoi ils seront capables..

Connaissez-vous des utilisations intéressantes des réseaux de neurones? Avez-vous une expérience avec eux vous-même? Qu'est-ce qui vous intéresse le plus dans cette technologie? Partagez votre opinion dans les commentaires ci-dessous!




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.