Informations

Comment dériver les bornes de généralisation pour le modèle perceptron classique ?

Comment dériver les bornes de généralisation pour le modèle perceptron classique ?

Je remercie tous les commentateurs pour leurs précieux commentaires. J'essaie d'améliorer cette question (que j'avais il y a longtemps - omg je vieillis).

Existe-t-il un moyen de dériver simplement les bornes de généralisation pour le modèle perceptron classique ? Plus précisément, comment dériver le nombre maximum de motifs qu'un N-grand perceptron peut stocker ? Et dans le cas d'un réseau NxN de neurones, comment en déduire le nombre de motifs (ou de mémoires) et leurs bassins d'attractions ? Existe-t-il des méthodes simples, autres que celles invoquant la théorie des répliques, comme cela se fait dans les travaux de Gardner ?

Plus de détails:

Je fais essentiellement référence à l'excellent travail d'Elizabeth Gardner dans ce domaine. Je trouve que son travail est souvent négligé dans le domaine des neurosciences, sans doute parce qu'il est trop difficile de comprendre sa dérivation mathématique. Pourtant, ses résultats sont si fondamentaux que beaucoup sur le terrain en sont conscients.

Je n'ai trouvé nulle part une explication simple de sa dérivation et des implications de ses résultats, dans une terminologie que les étudiants de premier cycle pouvaient également comprendre. Bien sûr, je ne pouvais pas non plus en trouver un moi-même. Je suppose que la "théorie des champs pour les nuls" appliquée aux neurosciences théoriques est ce que je demande vraiment…

Voir : Gardner, E. "L'espace des interactions dans les modèles de réseaux neuronaux." Journal de physique A: Mathématique et général 21.1 (1988): 257.


1 réponse 1

Vous avez raison de dire que si vous utilisez une fonction step pour votre fonction d'activation g , le gradient est toujours nul (sauf à 0), donc la règle delta (alias descente de gradient) ne fait rien ( dw = 0 ). C'est pourquoi un perceptron à fonction échelonnée ne fonctionne pas bien avec la descente de gradient. :)

Pour un perceptron linéaire, vous auriez g'(x) = 1 , pour dw = alpha * (t_i - y_i) * x_i .

Vous avez vu du code qui utilise dw = alpha * (t_i - y_i) * h_j * x_i . Nous pouvons effectuer une rétro-ingénierie de ce qui se passe ici, car apparemment g'(h_j) = h_j , ce qui signifie que nous devons nous souvenir de notre calcul que nous devons avoir g(x) = e^x + constant . Donc, apparemment, l'échantillon de code que vous avez trouvé utilise une fonction d'activation exponentielle.

Cela doit signifier que les sorties des neurones sont contraintes d'être activées (0, infini) (ou je suppose (a, infini) pour tout a fini, pour g(x) = e^x + a ). Je n'ai jamais rencontré cela auparavant, mais je vois des références en ligne. Les activations logistiques ou tanh sont plus courantes pour les sorties bornées (classification ou régression avec des bornes connues).


Contenu

Les réseaux de neurones récurrents étaient basés sur les travaux de David Rumelhart en 1986. [8] Les réseaux de Hopfield - un type spécial de RNN - ont été découverts par John Hopfield en 1982. En 1993, un système de compresseur d'histoire neurale a résolu une tâche d'« apprentissage très profond » qui nécessitait plus de 1000 couches successives dans un RNN se sont déroulées dans le temps. [9]

LSTM Modifier

Les réseaux de mémoire à long court terme (LSTM) ont été inventés par Hochreiter et Schmidhuber en 1997 et ont établi des records de précision dans de multiples domaines d'application. [dix]

Vers 2007, LSTM a commencé à révolutionner la reconnaissance vocale, surpassant les modèles traditionnels dans certaines applications vocales. [11] En 2009, un réseau LSTM formé par la classification temporelle connexionniste (CTC) a été le premier RNN à remporter des concours de reconnaissance de formes lorsqu'il a remporté plusieurs concours de reconnaissance d'écriture manuscrite connectée. [12] [13] En 2014, la société chinoise Baidu a utilisé des RNN formés par CTC pour briser l'ensemble de données de reconnaissance vocale 2S09 Switchboard Hub5'00 [14] sans utiliser de méthodes traditionnelles de traitement de la parole. [15]

LSTM a également amélioré la reconnaissance vocale à grand vocabulaire [5] [6] et la synthèse texte-parole [16] et a été utilisé dans Google Android. [12] [17] En 2015, la reconnaissance vocale de Google aurait connu un bond de performance spectaculaire de 49% [ citation requise ] par le biais du LSTM formé par la CTC. [18]

LSTM a battu des records d'amélioration de la traduction automatique, [19] Language Modeling [20] et Multilingual Language Processing. [21] Le LSTM combiné aux réseaux de neurones convolutifs (CNN) a amélioré le sous-titrage automatique des images. [22]

Les RNN se déclinent en de nombreuses variantes.

Entièrement récurrent Modifier

Les réseaux de neurones entièrement récurrents (FRNN) connectent les sorties de tous les neurones aux entrées de tous les neurones. Il s'agit de la topologie de réseau de neurones la plus générale, car toutes les autres topologies peuvent être représentées en définissant certains poids de connexion à zéro pour simuler le manque de connexions entre ces neurones. L'illustration de droite peut être trompeuse pour beaucoup, car les topologies pratiques des réseaux de neurones sont souvent organisées en "couches" et le dessin donne cette apparence. Cependant, ce qui semble être des couches sont, en fait, différentes étapes dans le temps du même réseau neuronal entièrement récurrent. L'élément le plus à gauche de l'illustration montre les connexions récurrentes sous la forme d'un arc intitulé « v ». Il est "déplié" à temps pour produire l'apparition de couches.

Réseaux Elman et réseaux Jordan Modifier

Un réseau Elman est un réseau à trois couches (disposé horizontalement en X, oui, et z dans l'illustration) avec l'ajout d'un ensemble d'unités de contexte (vous dans l'illustration). La couche intermédiaire (cachée) est connectée à ces unités de contexte fixées avec un poids de un. [23] À chaque pas de temps, l'entrée est avancée et une règle d'apprentissage est appliquée. Les back-connexions fixes enregistrent une copie des valeurs précédentes des unités cachées dans les unités de contexte (puisqu'elles se propagent sur les connexions avant que la règle d'apprentissage ne soit appliquée). Ainsi, le réseau peut maintenir une sorte d'état, lui permettant d'effectuer des tâches telles que la prédiction de séquence qui dépassent la puissance d'un perceptron multicouche standard.

Les réseaux Jordan sont similaires aux réseaux Elman. Les unités de contexte sont alimentées à partir de la couche de sortie au lieu de la couche cachée. Les unités de contexte dans un réseau Jordan sont également appelées couche d'état. Ils ont un lien récurrent avec eux-mêmes. [23]

Les réseaux Elman et Jordan sont également connus sous le nom de « réseaux simples récurrents » (SRN).

Réseau Elman [24] h t = σ h ( W h x t + U h h t − 1 + b h ) y t = σ y ( W y h t + by ) h_&=sigma _(W_X_+U_h_+b_)y_&=sigma _(W_h_+b_)finir>> Réseau Jordan [25] h t = σ h ( W h x t + U h y t − 1 + b h ) y t = σ y ( W y h t + by ) h_&=sigma _(W_X_+U_y_+b_)y_&=sigma _(W_h_+b_)finir>>

  • x t