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

Si vous restez avec des nouvelles technologies, vous avez probablement rencontré le concept de les réseaux de neurones

(Aussi connu comme les réseaux de neurones).

En 2016, par exemple, le réseau de neurones AlphaGo de Google a battu l`un des meilleurs joueurs de Go professionnels dans le monde dans une série 4-1. YouTube a également annoncé qu`ils utiliseraient les réseaux de neurones à mieux comprendre ses vidéos. Des dizaines d`autres histoires peuvent venir à l`esprit.YouTube utilisera les réseaux de neurones à fait comprendre VidéosYouTube utilisera les réseaux de neurones à fait comprendre VidéosLa recherche YouTube peut être frustrant, parce que YouTube ne voit pas les vidéos de la façon dont une personne fait. Récemment, Google dépose un brevet qui pourrait changer.Lire la suite

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

Un ordinateur comme un cerveau

neuroscientifiques modernes discutent souvent le cerveau comme un type d`ordinateur. Les réseaux de neurones visent à faire le contraire: construire un ordinateur qui fonctionne comme un cerveau.

Video: Neurones [Réseaux de neurones] {CERVEAU}

Bien sûr, nous avons seulement une compréhension superficielle 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 standard.

processeurs de données informatiques de processus en série ( « pour »). Ils effectuent de nombreuses opérations sur un ensemble de données, un à la fois. Le traitement parallèle ( « traitement de plusieurs cours d`eau à 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 parallèle nécessite cinq processeurs différents:

série vs traitement parallèle
Crédit d`image: ExplainThatStuff

Un réseau de neurones artificiels (que l`on appelle pour le distinguer des réseaux de neurones dans le cerveau réels) a une structure fondamentalement différente. Il est fortement interconnecté. Cela lui permet de traiter les données très rapidement, apprendre de ces données, et mettre à jour sa propre structure interne pour améliorer les performances.

Le degré élevé d`interdépendance, cependant, a des effets étonnants. Par exemple, les réseaux de neurones sont très bons à reconnaître des motifs obscurs dans les données.

La capacité d`apprendre

La capacité d`un réseau de neurones à apprendre est sa plus grande force. Avec une architecture informatique standard, un programmeur doit développer un algorithme qui indique à l`ordinateur ce qu`il faut faire avec les données entrantes pour vous assurer que l`ordinateur émet la réponse correcte.

Une réponse d`entrée-sortie pourrait être aussi simple que « lorsque la touche est enfoncée, l`affichage « A » sur l`écran » ou aussi compliqué que d`effectuer des statistiques complexes. Les réseaux de neurones, d`autre part, ne pas besoin du même type d`algorithmes. Grâce à des mécanismes d`apprentissage, ils peuvent essentiellement concevoir leurs propres algorithmes qui assurent qu`ils effectuent correctement.4 machines algorithmes d`apprentissage Cette forme de votre vie4 machines algorithmes d`apprentissage Cette forme de votre vieVous ne pouvez pas le réaliser mais l`apprentissage de la machine est déjà tout autour de vous, et il peut exercer un degré surprenant d`influence sur votre vie. Ne me croyez pas? Vous pourriez être surpris.Lire la suite

Il est important de noter que parce que les réseaux de neurones sont des programmes logiciels écrits sur des machines qui utilisent du matériel de traitement série standard, la technologie actuelle impose toujours des limites. la construction en fait une version matérielle d`un réseau de neurones est tout à fait un autre problème.

De Neurones aux nœuds

Maintenant que nous avons jeté les bases de la façon dont la fonction neuronale des réseaux, nous pouvons commencer à examiner certains des détails. La structure de base d`un réseau de neurones artificiels ressemble à ceci:

l`architecture réseau de neurones

Chacun des cercles est appelé un « nœud » et il simule un seul neurone. Sur la gauche sont des nœuds d`entrée, au milieu sont des nœuds cachés, et à droite sont des nœuds de sortie.

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

Chaque noeud d`entrée est connecté à un certain nombre de noeuds cachés (parfois à chaque noeud caché, parfois à un sous-ensemble). nœuds d`entrée prennent les informations qu`ils sont donnés et le transmettre à la couche cachée.

Video: KEZAKO: Comment fonctionne notre cerveau?

Par exemple, un noeud d`entrée peut envoyer un signal ( « feu » dans le jargon des neurosciences) si elle reçoit un 1, et rester en sommeil si elle reçoit un zéro. Chaque nœud caché a un seuil: si toutes ses entrées totalisées atteignent une certaine valeur, il se déclenche.

De synapses Connexions

Chaque connexion, l`équivalent d`une synapse anatomique, est également donné 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:

poids net de neurones

Comme vous pouvez le voir, le poids de la connexion B est supérieure à celle de la connexion A et C. Supposons que le noeud caché 4 ne se déclenche si elle reçoit une entrée totale de 2 ou plus. Cela signifie que si 1 ou 3 le feu sur leur propre alors 4 ne sera pas déclenchée, mais 1 et 3 ensemble déclencherait le nœud. Noeud 2 pourrait également déclencher le noeud sur sa propre grâce à la connexion B.

Prenons temps comme un exemple pratique. Dites que vous concevez un simple réseau de neurones pour déterminer s`il devrait y avoir un avertissement de tempête hivernale.

En utilisant les connexions ci-dessus et le poids, le nœud 4 peut tirer que si la température est inférieure à 0 F et les vents sont au-dessus de 30 MPH, ou il mettrait le feu s`il y a plus d`une chance de 70 pour cent de la neige. La température sera introduit dans le nœud 1, les vents au noeud 3, et la probabilité de neige dans le noeud 2. Maintenant, le nœud 4 peut prendre tous ces éléments en compte pour déterminer quel signal à envoyer à la couche de sortie.

Mieux que simple logique

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

par exemple réseau de neurones
Crédit d`image: Réseaux de neurones et l`apprentissage en profondeur par Michael A. Nielsen

fonction nœuds de couche de sortie de la même manière que ceux de la couche cachée: noeuds de sortie résument l`entrée de la couche cachée, et si elles atteignent une certaine valeur, les noeuds de sortie incendie et envoient des signaux spécifiques. A la fin du procédé, la couche de sortie va envoyer une série de signaux qui indique le résultat de l`entrée.

Alors que le réseau ci-dessus est des réseaux de neurones simples, profondes peuvent avoir de nombreuses couches cachées et des centaines de nœuds.

réseau de neurones profond
Crédit d`image: Réseaux de neurones et l`apprentissage en profondeur par Michael A. Nielsen

Correction des erreurs

Le processus, jusqu`à présent, est relativement simple. Mais où les réseaux de neurones est vraiment briller 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 programmeurs de déployer un réseau de neurones, ils courent à travers une phase de formation dans 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. L`entrée pourrait être une image d`une voiture, et la sortie correcte serait le mot « voiture ».Utilisez votre smartphone pour identifier quelque chose avec CamFindUtilisez votre smartphone pour identifier quelque chose avec CamFindCette application peut vraiment identifier à peu près tout objet que vous lancez. Ce n`est pas seulement cool, mais il a un tas d`utilisations pratiques aussi!Lire la suite

Le programmeur fournit l`image en entrée et voir ce qui sort des noeuds de sortie. Si le réseau répond par « avion », le programmeur indique à l`ordinateur qu`il est incorrect.

Le réseau fait alors des ajustements à ses propres connexions, modifier les poids des différents liens 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 les poids de connexion jusqu`à ce qu`il fournit la sortie correcte.

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

Amélioration continue

Même après la formation, rétropropagation continue - et c`est là des réseaux de neurones deviennent vraiment cool. Ils continuent à apprendre comme ils sont utilisés, l`intégration de nouvelles informations et de faire quelques réglages aux poids des connexions différentes, de plus en plus efficace et efficiente à la tâche qu`ils ont été conçus.

Cela pourrait être aussi simple que la reconnaissance d`images ou aussi complexe que jouer Go.

De cette façon, les réseaux de neurones changent toujours et l`amélioration. Et cela peut avoir des effets surprenants, entraînant des réseaux qui accordent la priorité des choses un programmeur n`aurait pas pensé à établir des priorités.

En plus du processus décrit ci-dessus, qui est appelé apprentissage 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 essayer de recréer exactement dans leur production, en utilisant rétropropagation de mettre à jour leurs connexions. Cela peut sembler un exercice stérile, mais de cette façon, les réseaux apprendre à extraire des caractéristiques utiles et généraliser ces fonctionnalités pour améliorer leurs modèles.

Problèmes de profondeur

Rétropropagation est un moyen très efficace d`enseigner les réseaux de neurones ... quand ils sont seulement quelques couches profondes. Comme le nombre de couches cachées augmente, l`efficacité de rétropropagation diminue. Ceci est un problème pour les réseaux profonds. En utilisant rétropropagation, ils sont souvent plus efficaces que les réseaux simples.

Les scientifiques ont mis au point un certain nombre de solutions à ce problème, dont les détails sont assez compliquées et au-delà de la portée de cette pièce d`introduction. Ce que beaucoup de ces solutions tenter de le faire, en termes simples, est de réduire la complexité du réseau par la formation à « compresser » les données.

la taille du réseau neuronal
Crédit 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, beaucoup de la même manière que les humains apprennent.

Après cet apprentissage, le réseau peut élaguer les noeuds et les connexions qu`il juge moins important. Cela rend le réseau plus efficace et l`apprentissage devient plus facile.

Applications Neural Network

Ainsi, les réseaux de neurones simulent comment le cerveau apprend en utilisant plusieurs couches de noeuds - entrée, cachée, et la sortie - et ils sont en mesure d`apprendre à la fois dans des situations supervisées ou non. filets complexes sont capables de faire des abstractions et de généraliser, les rendant plus efficaces et mieux en mesure d`apprendre.

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

En théorie, on peut utiliser des réseaux de neurones pour presque rien. Et vous avez sans doute été les utiliser sans le savoir. Ils sont très fréquents dans le discours et la reconnaissance visuelle, par exemple, parce qu`ils peuvent apprendre à choisir des traits spécifiques que les sons ou les images ont en commun.

Video: Exemple de réseau de neurones qui "apprend" une courbe

Ainsi, lorsque vous demander à Siri où la station d`essence est, votre iPhone est de mettre votre parole à travers un réseau de neurones pour comprendre ce que vous dites. Il peut y avoir un autre réseau de neurones qui apprend à prédire le genre de choses que vous êtes susceptible de demander.8 choses que vous probablement ne savais pas que Siri pourrait faire8 choses que vous probablement ne savais pas que Siri pourrait faireSiri est devenu l`un des traits distinctifs de l`iPhone, mais pour beaucoup de gens, ce n`est pas toujours le plus utile. Alors que certains de cela est dû aux limites de la reconnaissance vocale, la bizarrerie de l`utilisation ...Lire la suite

icône siri

voitures auto-conduite peuvent utiliser des réseaux de neurones pour traiter des données visuelles, suivant ainsi les règles de la route et en évitant les collisions. Les robots de tous types peuvent bénéficier de réseaux de neurones qui les aident à apprendre à des tâches efficacement complètes. Les ordinateurs peuvent apprendre à jouer à des jeux comme les échecs, Go, et Atari classiques. Si vous avez déjà parlé à un chatbot, il y a une chance qu`il utilisait un réseau de neurones pour apporter des réponses appropriées.

recherche sur Internet peut grandement bénéficier de réseaux de neurones, comme le modèle de traitement parallèle hautement efficace peut churn beaucoup de données rapidement. Un réseau de neurones pourrait aussi apprendre vos habitudes pour personnaliser vos résultats de recherche ou prédire ce que vous allez rechercher dans un proche avenir. Ce modèle de prédiction serait évidemment très utile aux spécialistes du marketing (et toute autre personne qui a besoin d`être prédire le comportement humain complexe).

Reconnaissance d`image, reconnaissance optique de caractères, actions prévision du marché, itinéraire découverte, grand traitement de données, l`analyse des coûts médicaux, la prévision des ventes, jeu vidéo AI ... les possibilités sont presque infinies. La capacité des réseaux de neurones à apprendre des modèles, de généraliser et de prédire avec succès le comportement les rend précieux dans d`innombrables situations.Les 5 meilleurs OCR Outils pour extraire le texte d`imagesLes 5 meilleurs OCR Outils pour extraire le texte d`imagesLorsque vous avez ramettes de papier, comment voulez-vous obtenir tout ce que le texte imprimé transformé en quelque chose qu`un programme numérique sera en mesure de reconnaître et de l`indice? Gardez un bon logiciel OCR à proximité.Lire la suite

L`avenir des Nets Neural

Les réseaux de neurones ont avancé des modèles très simples à des simulations d`apprentissage très complexes. Ils sont dans nos téléphones, nos tablettes, et l`exécution de nombreux services Web que nous utilisons. Il y a beaucoup d`autres systèmes d`apprentissage automatique sur le marché.

Mais les réseaux de neurones, en raison de leur similitude (d`une manière très simplifiée) au cerveau humain, sont quelques-uns des plus fascinants. Alors que nous continuons à développer et à affiner les modèles, on ne sait pas ce qu`ils seront capables.

Connaissez-vous des utilisations intéressantes des réseaux de neurones? Avez-vous une expérience avec vous-même? Que trouvez-vous le plus intéressant de cette technologie? Partagez votre opinion dans les commentaires ci-dessous!

Articles connexes