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?
la source
Réponses:
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.
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. "
la source
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:
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.
la source
"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."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."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;)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 .
la source
Je pourrais essayer de postuler certaines choses qui aident à définir un réseau neuronal.
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.
la source