Quelle est la différence entre un réseau de neurones, un système d'apprentissage profond et un réseau de croyances profondes?
Si je me souviens bien, votre réseau de neurones de base est une sorte de truc à 3 couches, et j'ai décrit les systèmes de croyance profonde comme étant des réseaux de neurones empilés les uns sur les autres.
Je n'ai pas encore entendu parler d'un Deep Learning Systems, mais je soupçonne fortement qu'il s'agit d'un synonyme de Deep Belief System. Quelqu'un peut-il confirmer cela?
machine-learning
neural-networks
boltzmann-machine
Lyndon White
la source
la source
Réponses:
réseaux de neurones artificiels modèles de étaient généralement limités à seulement quelques couches, disons 3, pendant des décennies, pour diverses raisons, y compris une preuve mathématique nommée Kolmogorovs thm qui indiquait qu'ils pouvaient théoriquement approcher des fonctions arbitraires avec une faible erreur (mais seulement avec de nombreux neurones).
les réseaux multicouches au-delà de ce qui n'était pas faisable / efficace via des techniques d'apprentissage antérieures. une percée similaire a eu lieu en 2006 par 3 chercheurs différents Hinton, Le Cun, Bengio qui ont pu former beaucoup plus de couches. le problème majeur dans ce domaine était la reconnaissance de l'écriture manuscrite.
le terme «réseau de croyances profondes» semble provenir d'un article de Hinton de 2006 faisant référence aux réseaux bayésiens , qui ont des connexions / analogies conceptuelles / théoriques étroites avec les réseaux de neurones. "Un algorithme d'apprentissage rapide pour les réseaux de croyances profondes"
voir la diapositive 17 en particulier de cette présentation des réseaux de neurones profonds
le domaine de l' apprentissage en profondeur n'a donc qu'une demi-décennie et fait l'objet de recherches et de développements rapides. Google, Facebook, Yahoo ont tous annoncé des initiatives basées sur le deep learning et la R&D est en cours.
la source
Les réseaux de neurones artificiels sont une classe d'algorithmes qui comprennent de nombreux types d'algorithmes différents basés sur des graphiques, donc je ne détaillerai pas ici au-delà de ce que vous avez demandé car il y a trop à dire, car il y a tellement de types d'ANN.
Le premier type de réseaux de neurones artificiels, les fameux neurones McCulloch-Pitts, étaient linéaires , ce qui signifie qu'ils ne pouvaient résoudre que des problèmes de décision linéaires (c'est-à-dire des ensembles de données qui pouvaient être linéairement séparables en traçant une ligne). Au fil du temps, ce modèle de réseau de neurones linéaire est devenu connu sous le nom de Perceptron ou Adaline (selon la façon dont vous calculez la mise à jour des poids).
Les réseaux de neurones linéaires sont simplement composés d'un graphe bipartite, où les nœuds du côté gauche sont les entrées et les nœuds du côté droit la sortie. Seuls les poids des bords entre ces nœuds sont appris (le seuil d'activation des nœuds peut également être ajusté mais cela est rarement fait).
Un grand pas a été franchi lorsque les réseaux neuronaux peu profonds ont été inventés: au lieu de n'avoir qu'un graphe biparti, nous utilisons un graphe tripartite: la "couche" d'entrée, la "couche" de sortie et une "couche cachée" entre elles. Grâce à la couche cachée, le réseau peut désormais prendre des décisions non linéaires et résoudre des problèmes tels que le XOR canonique.
Notez que le terme "peu profond" a été inventé rétrospectivement lorsque le réseau neuronal profond (également appelé réseaux neuronaux à n couches ) a été inventé. Il s'agit de s'opposer aux réseaux de neurones avec une seule couche cachée, aux réseaux de neurones profonds avec n couches cachées . Comme vous pouvez le deviner, l'utilisation de couches plus cachées permet de décider de jeux de données plus complexes car il y a plus de couches pour moduler la décision (c'est-à-dire que vous augmentez la dimensionnalité de votre frontière de décision, ce qui peut conduire à un sur-ajustement).
Vous pouvez vous demander: pourquoi personne n'a-t-il essayé auparavant d'utiliser des réseaux de neurones multicouches (profonds)? En fait, ils l'ont fait, dès 1975 par Fukushima avec le Cognitron et le Neocognitron (qui est en fait un réseau neuronal convolutif, mais c'est une autre histoire). Cependant, le problème était que personne ne savait comment apprendre efficacement de tels réseaux, le gros problème étant la régularisation . Les AutoEncoders de Hinton ont ouvert la voie, et plus tard les unités linéaires rectifiées de LeCun ont définitivement réglé le problème.
Qu'en est-il des réseaux de croyances profondes (DBN)? Ce ne sont que des machines Boltzmann multicouches semi-restreintes. Ils sont donc une sorte de réseau neuronal profond, mais avec un modèle de réseau de base différent (c'est-à-dire: la couche, c'est le modèle qui se répète): les machines Boltzmann sont différentes des autres réseaux en ce qu'elles sont génératives , ce qui signifie qu'elles sont généralement sert à apprendre de vos données pour les reproduire ("les générer"), tandis que les réseaux de neurones profonds habituels sont utilisés pour séparer vos données (en traçant une "frontière de décision").
En d'autres termes, DNN est idéal pour classer / prédire une valeur à partir de votre ensemble de données, tandis que DBN est idéal pour "réparer" une donnée corrompue (quand je dis réparer, ce n'est pas seulement à partir de données corrompues, il peut aussi être sur une donnée parfaitement fine que vous voulez juste corriger un peu pour être plus stéréotypé que pour le reconnaître plus facilement avec un autre réseau de neurones, comme des chiffres manuscrits).
En fait, pour bien résumer, vous pouvez dire que les AutoEncoders sont une forme plus simple de Deep Belief Network. Voici un exemple d'un DBN formé pour reconnaître les visages mais PAS les nombres, les nombres sont automatiquement effacés (c'est l'effet "fixant" du DBN):
Donc au final, DBN et DNN ne sont pas opposés: ils sont complémentaires. Par exemple, vous pouvez imaginer un système pour reconnaître les caractères manuscrits qui alimenteront d'abord l'image d'un personnage vers un DBN pour le rendre plus stéréotypé, puis alimenteront l'image stéréotypée vers un DNN qui affichera ensuite le caractère que l'image représente.
Une dernière note: les réseaux Deep Belief sont très proches des machines Deep Boltzmann: les machines Deep Boltzmann utilisent des couches de machines Boltzmann (qui sont des réseaux neuronaux bidirectionnels, également appelés réseaux de neurones récurrents), tandis que les réseaux Deep Belief utilisent des machines Boltzmann semi-restreintes (semi restreint signifie qu'ils sont modifiés en unidirectionnel, ce qui permet d'utiliser la rétropropagation pour apprendre le réseau, ce qui est beaucoup plus efficace que l'apprentissage d'un réseau récent). Les deux réseaux sont utilisés dans le même but (régénération de l'ensemble de données), mais le coût de calcul est différent (les machines Deep Boltzmann sont beaucoup plus coûteuses à apprendre en raison de leur nature récurrente: il est plus difficile de "stabiliser" les poids).
Bonus: sur les réseaux de neurones convolutifs (CNN), vous trouverez de nombreuses affirmations contradictoires et déroutantes, et vous constaterez généralement qu'il ne s'agit que de réseaux de neurones profonds. Cependant, il semble que le consensus soit d'utiliser la définition originale du néocognitron de Fukushima: un CNN est un DNN qui est forcé d'extraire différentes caractéristiques à différents niveaux hiérarchiques en imposant une convolution avant l'activation (ce qu'un DNN peut naturellement faire, mais en le forçant à le faire). en définissant une fonction de convolution / activation différente sur différentes couches du réseau peut donner de meilleurs résultats, du moins c'est le pari de CNN):
Et enfin, pour une chronologie plus rigoureuse de l'intelligence artificielle, voir ici .
la source
Les réseaux de neurones profonds sont des réseaux de neurones qui ont une profondeur relativement élevée. Ils sont une sous-classe des réseaux de neurones. L'idée remonte à des décennies et n'est pas nouvelle. Ce qui est nouveau, c'est que nous avons compris comment les former dans la pratique. La raison pour laquelle il est devenu très populaire récemment est que leur formation est devenue possible et que les gens les ont utilisés pour battre des algorithmes de pointe. DNN a besoin de beaucoup de données et de beaucoup de puissance de calcul qui n'étaient pas disponibles il y a des décennies. Geoff Hinton et ses étudiants et collègues ont découvert comment les former à la pratique au cours de la dernière décennie et les ont utilisés pour battre les algorithmes d'apprentissage automatique de pointe dans plusieurs domaines où la plupart des chercheurs rejetaient l'idée de les utiliser complètement à l'époque.
Les réseaux de croyances sont une classe de modèles graphiques probabilistes, ils modélisent un tas de variables aléatoires et leurs dépendances à l'aide d'un graphique (il existe différentes façons de le faire). Ces variables elles-mêmes peuvent provenir de distributions paramétrées et peuvent être modélisées par des réseaux de neurones (ou un autre modèle pour représenter des distributions paramétrées). Les réseaux de croyances profondes sont des réseaux de croyances qui ont une profondeur relativement élevée.
Les réseaux de croyances ont tendance à être génératifs, c'est-à-dire que nous pouvons utiliser un modèle entraîné pour générer des échantillons à partir de la distribution qu'il représente.
Les réseaux de neurones ont tendance à être discriminants, nous pouvons les utiliser pour calculer la probabilité d'une entrée donnée (est-ce une image d'un chat? Quelle est la probabilité qu'il s'agisse d'une image d'un chat?) Mais généralement pas pour l'échantillonnage (générer un photo d'un chat).
la source
Les réseaux de neurones sont normalement mis en œuvre là où des couches cachées et des équations quadratiques sont nécessaires, tandis que des réseaux d'apprentissage profond et de croyance profonde sont utilisés lorsque plusieurs couches cachées sont nécessaires pour la manipulation de données, tout comme les réseaux Boltzmann profonds.
la source