Qu'est-ce * qu'un * réseau de neurones artificiels?

15

Au fur et à mesure que nous explorons la littérature sur les réseaux de neurones , nous arrivons à identifier d'autres méthodes avec des topologies neuromorphiques (architectures de type "réseau de neurones"). Et je ne parle pas du théorème de l'approximation universelle . Des exemples sont donnés ci-dessous.

Ensuite, cela me fait me demander: quelle est la définition d'un réseau neuronal artificiel? Sa topologie semble couvrir tout.


Exemples:

L'une des premières identifications que nous faisons est entre l'ACP et un auto-encodeur linéaire avec des poids liés dans l'encodeur et le décodeur et des activations seuillées dans la couche de goulot d'étranglement.

En outre, une identification commune est effectuée entre les modèles linéaires (régression logistique en particulier) et un réseau neuronal sans couche cachée et une seule couche de sortie. Cette identification ouvre plusieurs portes.

Séries Fourier et Taylor? ANNs . SVM ? ANN. Processus gaussien? ANN (avec une seule couche cachée avec des unités cachées infinies).

Et donc, tout aussi facilement, nous pouvons incorporer des versions régularisées arbitraires avec des fonctions de perte spécialisées de ces algorithmes dans un cadre de réseau neuronal.

Mais plus nous creusons, plus les similitudes apparaissent. Je suis juste tombé sur Deep Neural Decision Trees , ce qui rend l'identification d'une architecture ANN spécifique avec des arbres de décision, permettant à ceux-ci d'être appris par des méthodes ANN (telles que la rétropropagation Gradient Descent). À partir de cela, nous pouvons construire des forêts aléatoires et des arbres de décision à gradient accru à partir des topologies de réseaux de neurones uniquement.

Si tout peut être exprimé comme un réseau de neurones artificiels, qu'est-ce qui définit un réseau de neurones artificiels?

Pyromane
la source
Ce document sur Deep Neural Decision Trees est assez loin. Normalement, les fonctions d'activation sont des fonctions à valeur réelle, pas des produits externes. Ils ne discutent donc pas vraiment des RNA comme nous le pensons normalement, mais d'une généralisation mathématique qui n'est pas largement utilisée ou acceptée. Pour montrer qu'un ANN est différent d'un arbre de décision, je voudrais simplement souligner que tous les ANN sont paramétriques (ont un espace de paramètres fini) tandis que les arbres sont non paramétriques (ont un espace de paramètres potentiellement infini.)
olooney
@olooney le produit Kronecker n'est pas une fonction d'activation, c'est simplement une opération sur les sorties de la couche précédente (comme une convolution, ou toute autre opération que nous définissons sur des activations). Le DNDT peut représenter n'importe quel arbre de décision, ET chaque DNDT peut être représenté par un arbre de décision.
Firebug
1
@olooney selon votre définition de la fonction d'activation, Softmax n'est pas une fonction d'activation.
Firebug
2
Je ne suis pas tout à fait sûr de comprendre la motivation de cette question. Une définition possible et vague d'un ANN est qu'il s'agit d'un modèle graphique dirigé, qui utilise des neurones (c'est-à-dire des fonctions d'activation) pour traiter les entrées / sorties, et la plupart du temps, vous utilisez la descente de gradient pour l'entraîner. Lorsque vous dites que "tout peut être exprimé sous la forme d'un ANN", demandez-vous précisément s'il existe une correspondance exacte entre les autres modèles mentionnés et les ANN? Le problème est que vous devrez proposer des routines de formation hautement modifiées pour correspondre aux optimisations.
Alex R.
1
@Sycorax Je le fais aussi, lui et Hinton l'ont laissé entendre. Je veux donner l'occasion aux répondeurs de l'autre camp de fournir des sources crédibles :)
Firebug

Réponses:

6

Jürgen Schmidhuber, « Deep Learning in Neural Networks: An Overview » retrace l'histoire des concepts clés des réseaux de neurones et du deep learning. À son avis, les réseaux de neurones sembleraient englober essentiellement n'importe quel modèle qui peut être caractérisé comme un graphe orienté où chaque nœud représente une unité de calcul. Schmidhuber est un éminent chercheur sur les réseaux de neurones et a écrit l'article original sur les réseaux LSTM avec Sepp Hochreiter.

Quels composants modifiables d'un système d'apprentissage sont responsables de son succès ou de son échec? Quels changements les améliorent-ils? C'est ce qu'on a appelé le problème fondamental de l'attribution de crédit (Minsky, 1963). Il existe des méthodes générales d'attribution de crédit pour les résolveurs de problèmes universels qui sont optimales dans le temps dans divers sens théoriques (section 6.8). La présente enquête, cependant, se concentrera sur le sous-champ plus étroit, mais maintenant commercialement important, de l'apprentissage en profondeur (DL) dans les réseaux de neurones artificiels (NN).

Un réseau neuronal standard (NN) se compose de nombreux processeurs simples et connectés appelés neurones, chacun produisant une séquence d'activations à valeur réelle. Les neurones d'entrée sont activés par des capteurs percevant l'environnement, d'autres neurones sont activés par des connexions pondérées à partir de neurones précédemment actifs (détails dans la Sec. 2). Certains neurones peuvent influencer l'environnement en déclenchant des actions. L'apprentissage ou l'attribution de crédits consiste à trouver des poids qui font que le NN présente le comportement souhaité, comme conduire une voiture. En fonction du problème et de la façon dont les neurones sont connectés, un tel comportement peut nécessiter de longues chaînes causales d'étapes de calcul (Sec.3), où chaque étape transforme (souvent de manière non linéaire) l'activation globale du réseau. Le Deep Learning consiste à attribuer avec précision des crédits à de nombreuses étapes de ce type.

Les modèles peu profonds de type NN avec peu de telles étapes existent depuis de nombreuses décennies, voire des siècles (Sec. 5.1). Les modèles comportant plusieurs couches successives de neurones non linéaires remontent au moins aux années 1960 (section 5.3) et aux années 1970 (section 5.5). Une méthode efficace de descente de gradient pour l'apprentissage supervisé par l'enseignant (SL) dans des réseaux discrets et différenciables de profondeur arbitraire appelée rétropropagation (BP) a été développée dans les années 1960 et 1970, et appliquée aux NN en 1981 (Sec.5.5). La formation basée sur la BP des NN profonds avec de nombreuses couches, cependant, s'était révélée difficile en pratique à la fin des années 1980 (section 5.6) et était devenue un sujet de recherche explicite au début des années 1990 (section 5.9). DL est devenu pratiquement réalisable dans une certaine mesure grâce à l'aide de l'apprentissage non supervisé (UL), par exemple, Sec. 5.10 (1991), Sec. 5,15 (2006). Les années 1990 et 2000 ont également vu de nombreuses améliorations du DL purement supervisé (Sec. 5). Au cours du nouveau millénaire, les réseaux profonds ont finalement attiré une large attention, principalement en surpassant les méthodes alternatives d'apprentissage automatique telles que les machines à noyau (Vapnik, 1995; Scholkopf et al., 1998) dans de nombreuses applications importantes. En fait, depuis 2009, les NN profonds supervisés ont remporté de nombreux concours internationaux officiels de reconnaissance des formes (par exemple, sec. 5.17, 5.19, 5.21, 5.22), obtenant les premiers résultats de reconnaissance visuelle des formes surhumaines dans des domaines limités (sec. 5.19, 2011). Les NN profonds sont également devenus pertinents pour le domaine plus général de l'apprentissage par renforcement (RL) où il n'y a pas d'enseignant superviseur (Sec. 6). principalement en surpassant les méthodes alternatives d'apprentissage automatique telles que les machines à noyau (Vapnik, 1995; Scholkopf et al., 1998) dans de nombreuses applications importantes. En fait, depuis 2009, les NN profonds supervisés ont remporté de nombreux concours internationaux officiels de reconnaissance des formes (par exemple, sec. 5.17, 5.19, 5.21, 5.22), obtenant les premiers résultats de reconnaissance visuelle des formes surhumaines dans des domaines limités (sec. 5.19, 2011). Les NN profonds sont également devenus pertinents pour le domaine plus général de l'apprentissage par renforcement (RL) où il n'y a pas d'enseignant superviseur (Sec. 6). principalement en surpassant les méthodes alternatives d'apprentissage automatique telles que les machines à noyau (Vapnik, 1995; Scholkopf et al., 1998) dans de nombreuses applications importantes. En fait, depuis 2009, les NN profonds supervisés ont remporté de nombreux concours internationaux officiels de reconnaissance des formes (par exemple, sec. 5.17, 5.19, 5.21, 5.22), obtenant les premiers résultats de reconnaissance visuelle surhumaine dans des domaines limités (sec. 5.19, 2011). Les NN profonds sont également devenus pertinents pour le domaine plus général de l'apprentissage par renforcement (RL) où il n'y a pas d'enseignant superviseur (Sec. 6). l'obtention de la première reconnaissance de forme visuelle surhumaine entraîne des domaines limités (Sec. 5.19, 2011). Les NN profonds sont également devenus pertinents pour le domaine plus général de l'apprentissage par renforcement (RL) où il n'y a pas d'enseignant superviseur (Sec. 6). l'obtention de la première reconnaissance de forme visuelle surhumaine entraîne des domaines limités (Sec. 5.19, 2011). Les NN profonds sont également devenus pertinents pour le domaine plus général de l'apprentissage par renforcement (RL) où il n'y a pas d'enseignant superviseur (Sec. 6).

D'un autre côté, je ne suis pas sûr qu'il soit nécessairement rentable d'essayer de construire une taxonomie de compartiments mutuellement exclusifs pour les stratégies d'apprentissage automatique. Je pense que nous pouvons dire qu'il existe des perspectives à partir desquelles les modèles peuvent être considérés comme des réseaux de neurones. Je ne pense pas que cette perspective soit nécessairement la meilleure ou utile dans tous les contextes. Par exemple, je prévois toujours de désigner les forêts aléatoires et les arbres à gradient accru comme des «ensembles d'arbres» au lieu d'abstraire leurs distinctions et de les appeler «arbres de réseaux de neurones». De plus, Schmidhuber distingue les NN des machines à noyau - même si les machines à noyau ont des connexions avec les NN - lorsqu'il écrit: "Au cours du nouveau millénaire, les NN profonds ont finalement attiré une large attention, principalement en surpassant les méthodes alternatives d'apprentissage automatique telles que les machines à noyau ... dans de nombreuses applications importantes. "

Sycorax dit de réintégrer Monica
la source
Donc, fondamentalement, chaque modèle et heuristique connus dans Machine Learning and Statistics aujourd'hui serait considéré comme un ANN par Schmidhuber, la nomenclature distinctive étant simplement donnée par la stratégie d'optimisation (y compris les modèles sans optimisation ici)?
Firebug
1
Je comprends cela, d'un point de vue pratique, mais cela ne change pas le fait que presque tous les modèles sont, à proprement parler, un ANN (je ne peux penser à aucun modèle qui ne l'est pas).
Firebug
2
@Firebug Comment reformateriez-vous des problèmes de régression ou (simples k-means et autres), qui sont formés ou placés dans un «environnement d'apprentissage», de telle sorte qu'ils correspondent à cette définition de RNA?
Sextus Empiricus
1
@Firebug Je ne vois pas comment le fait que PCA puisse être démontré comme équivalent à un autoencodeur particulier fait de PCA "un réseau de neurones". En PCA standard, nous n'utilisons même pas de descente de gradient.
amoeba dit Reinstate Monica
1
@Firebug Si vous définissez "NN" comme "nœuds de calcul connectés", je suppose que tout calcul quel qu'il soit est un NN. Je ne suis pas sûr que ce soit utile, mais d'accord.
amibe dit Réintégrer Monica
7

Si vous voulez une définition de base d'un ANN, vous pourriez dire que c'est un modèle graphique dirigé, où les entrées et les sorties sont traitées à chaque nœud via une fonction d'activation, et la plupart du temps la descente de gradient est utilisée pour l'entraîner. La question devient donc vraiment: quels modèles peuvent être exprimés sous forme de modèles graphiques?

Je ne suis pas un expert mais, je pense que théoriquement certains ANN peuvent être montrés comme Turing complets, ce qui signifie qu'ils devraient être en mesure de faire n'importe quel ensemble de calculs possible (avec un possible infini nombre de ressources, pensez-vous).

Je vais également interpréter votre question de la manière suivante:

Pour un modèle donné, puis-je créer un modèle ANN pour imiter ce modèle, aussi près que possible et dans un délai raisonnable?

Un réseau neuronal vanille peut émuler un arbre de décision, en utilisant des activations par étapes heaviside. Le problème est que de telles activations d'unités ont un gradient nul, donc une descente de gradient normale ne fonctionnera pas. Vous pourriez dire: "pas de problème, utilisez simplement une forme modifiée de descente de gradient". Mais cela ne suffit toujours pas. Pour un meilleur exemple, prenez quelque chose comme XGBOOST, qui n'est pas seulement des forêts boostées par le gradient. Il y a beaucoup de travail supplémentaire à faire pour choisir les points de partage, l'élagage, l'optimisation de la vitesse, etc. Peut-être qu'après suffisamment de modifications, vous pouvez créer un ANN similaire, mais il n'est pas du tout clair qu'un tel ANN fonctionnerait au moins eh bien, ni s'il est optimisé pour faire le travail.

f(x)=ex

Alex R.
la source
2
Merci d'avoir répondu! En ce qui concerne la question - "For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"- j'ai peur de dire que ce n'est pas le but. Le fait est que la topologie ANN est si générale qu'elle semble tout couvrir et que la stratégie d'optimisation ne semble pas être en mesure de déterminer ce qui est et ce qui n'est pas un ANN. Par conséquent, la question, qu'est-ce qui définit un ANN? Parce que sinon, tout est en quelque sorte un ANN exprimé en d'autres termes.
Firebug
1
"A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"- Comme nous pourrions l'affirmer, l'optimisation n'est pas un facteur déterminant dans la définition de ce qui constitue un RNA. Si vous pouvez écrire chaque arbre de décision en tant que réseau de neurones (et nous pouvons le faire), alors nous pouvons affirmer en toute sécurité que les DT sont (un type de) NN, alors que l'inverse n'est pas vrai.
Firebug
"If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"- Je suis d'accord avec ça. Ensuite, «Neural Network» peut être interprété comme la classe de modèles la plus générale, peut-être seulement moins générale que les «modèles de graphique», qui est un surensemble de modèles de graphiques non orientés et dirigés. Peut-être pourriez-vous en dire plus à ce sujet;)
Firebug
2

Peut-être, un nom plus précis pour les RNA est "réseaux différenciables", c'est-à-dire des fonctions paramétrées complexes qui peuvent être optimisées en utilisant la descente de gradient ou sa variante. Il s'agit d'une définition très générale qui met l'accent sur la différenciabilité, mais ne dit rien sur les idées principales, les tâches qui lui conviennent, le cadre mathématique sous-jacent, etc.

Notez que la différentiabilité est un trait, pas nécessairement le principal. Par exemple, SVM peut être formé en utilisant la descente de gradient et présente ainsi les propriétés d'un réseau neuronal / différenciable, mais l'idée principale est la séparation des données à l'aide d'hyperplans. L'encodeur automatique variationnel utilise des MLP pour l'encodeur et le décodeur, mais la fonction que vous optimisez provient des statistiques bayésiennes, etc.

Il existe également quelques modèles qui sont souvent appelés réseaux de neurones, mais n'utilisent pas GD pour l'apprentissage. Un bon exemple est RBM. Je suppose que le label "réseau neuronal" y était attaché principalement pour des raisons historiques - finalement, le créateur de RBM est Geoffrey Hinton, et Hinton est un gars du réseau neuronal, non? Cependant, si vous analysez le modèle, vous verrez que la structure de RBM est une fonction de coût net de Markov, basée sur la physique statistique du début du 20e centenaire et l'échantillonnage MCMC / Gibbs s'est développé en parallèle et totalement indépendamment des réseaux de neurones .

ami
la source
2
L'apprentissage par gradients a certainement joué un rôle dans le succès des RNA. Mais je ne considère pas que la différenciabilité soit essentielle à la définition, car certains RNA ne sont pas différenciables. Par exemple, le tout premier ANN (modèle McCulloch-Pitts) utilisait des unités de seuil binaires. Un sujet de recherche actuel est de savoir comment effectuer l'apprentissage dans des ANN non différenciables comme les filets à pointes. Ou, supposons que nous commençons avec un ANN typique et différenciable, mais déclarons ensuite que nous voulons minimiser une fonction de perte non différenciable. N'est-ce plus un ANN?
user20160
C'est exactement pourquoi j'ai proposé une définition alternative qui couvre les réseaux d'alimentation, récurrents, récursifs, convolutionnels, les encodeurs automatiques, les VAE, les GAN, l'attention et de nombreux autres modèles que nous appelons normalement "réseaux de neurones", mais exclut par exemple les approches basées sur la simulation du cerveau humain ou un échantillonnage extensif sur PGM. À partir de 2018, ces approches sont vraiment différentes, elles utilisent différentes méthodes d'optimisation, différentes bibliothèques, etc. (Bien que je ne puisse pas penser à un meilleur nom que «réseau neuronal» pour les réseaux de dopage car, contrairement aux CNN ou RNN, simulent en fait l'homme cerveau).
ffriend
1

Je pourrais essayer de postuler certaines choses qui aident à définir un réseau neuronal.

  • Un graphe de calcul avec des paramètres ajustables.
  • Ces paramètres peuvent être ajustés pour se conformer aux données (réelles ou simulées).
  • Une fonction objective à optimiser est implicitement ou explicitement impliquée. Il peut être global ou local sur les paramètres.

Je suis sûr que cela couvre tous les réseaux de neurones couramment utilisés aujourd'hui et également certains réseaux ésotériques.

C'est agnostique à l'optimisation (si nous imposions une optimisation basée sur le gradient, les réseaux évolués ne seraient pas des réseaux de neurones).

Il ne mentionne pas les neurones / nœuds ou les couches (certains réseaux de neurones sont aujourd'hui difficilement décrits par ces termes), mais je suppose que nous pourrions intégrer cela et être un peu plus restrictifs.

Pyromane
la source