Que signifie «degré de liberté» dans les réseaux de neurones?


17

Dans le livre de Bishop "Pattern Classification and Machine Learning", il décrit une technique de régularisation dans le contexte des réseaux de neurones. Cependant, je ne comprends pas un paragraphe décrivant que pendant le processus de formation, le nombre de degrés de liberté augmente avec la complexité du modèle. La citation pertinente est la suivante:

Une alternative à la régularisation comme moyen de contrôler la complexité effective d'un réseau est la procédure d'arrêt précoce. L'apprentissage des modèles de réseaux non linéaires correspond à une réduction itérative de la fonction d'erreur définie par rapport à un ensemble de données d'apprentissage. Pour de nombreux algorithmes d'optimisation utilisés pour l'apprentissage du réseau, tels que les gradients conjugués, l'erreur est une fonction non croissante de l'indice d'itération. Cependant, l'erreur mesurée par rapport aux données indépendantes, généralement appelée ensemble de validation, montre souvent une diminution au début, suivie d'une augmentation lorsque le réseau commence à sur-ajuster. La formation peut donc être arrêtée au point de moindre erreur par rapport à l'ensemble de données de validation, comme indiqué sur la figure 5.12, afin d'obtenir un réseau ayant de bonnes performances de généralisation.Le comportement du réseau dans ce cas est parfois expliqué qualitativement en termes de nombre effectif de degrés de liberté dans le réseau, dans lequel ce nombre commence petit puis augmente au cours du processus de formation, ce qui correspond à une augmentation régulière du complexité du modèle.

Il indique également que le nombre de paramètres augmente au cours de la formation. Je supposais que par "paramètres", il se réfère au nombre de poids contrôlés par les unités cachées du réseau. Peut-être que je me trompe parce que les poids ne peuvent pas augmenter en ampleur par le processus de régularisation, mais ils ne changent pas en nombre. Cela pourrait-il faire référence au processus de recherche d'un bon nombre d'unités cachées?

Qu'est-ce qu'un degré de liberté dans un réseau neuronal? Quels paramètres augmentent pendant l'entraînement?


1
Nomenclature. Un paramètre est un poids unique. Le nombre de paramètres augmentant signifie que le nombre de "neurones" ou de "connexions entre neurones" augmente. Cela signifie que la topologie n'est pas constante.
EngrStudent

Merci! Mais alors pourquoi la formation augmente-t-elle le nombre de poids?
Robert Smith

Il existe en effet des algorithmes d'apprentissage qui manipulent la structure d'un réseau de neurones lors de l'entraînement (Cascade Correlation, NEAT, ...). Ils augmentent généralement constamment le nombre de poids. Mais je ne pense pas que Bishop le mentionne dans son livre.
alfa

@alfa Intéressant. Je n'ai pas encore lu le livre en entier, donc je ne sais pas s'il mentionne ce genre d'algorithmes. Je ne pense pas que cela se réfère à eux dans cette section du livre, cependant.
Robert Smith

Réponses:


12

Je suppose que c'est ce que Bishop veut dire:

Si vous pensez à un réseau neuronal comme une fonction qui mappe les entrées à une sortie, alors lorsque vous initialisez un réseau neuronal avec de petits poids aléatoires, le réseau neuronal ressemble beaucoup à une fonction linéaire. La fonction d'activation sigmoïde est presque linéaire autour de zéro (il suffit de faire une expansion de Taylor), et de petits poids entrants garantiront que le domaine effectif de chaque unité cachée est juste un petit intervalle autour de zéro, donc l'ensemble du réseau neuronal, quel que soit le nombre les calques que vous avez ressembleront beaucoup à une fonction linéaire. Vous pouvez donc décrire de manière heuristique le réseau neuronal comme ayant un petit nombre de degrés de liberté (égal à la dimension de l'entrée). Lorsque vous entraînez le réseau neuronal, les poids peuvent devenir arbitrairement grands, et le réseau neuronal peut mieux se rapprocher des fonctions non linéaires arbitraires. Alors que la formation progresse,


Merci pour votre réponse. J'ai ajouté la partie pertinente du livre sous forme de citation, afin que vous puissiez voir le contexte. Je ne sais pas si cela confirme votre suggestion.
Robert Smith

Oui, cela confirme ce que je pensais que Bishop voulait dire.
Marc Shivers

En lisant plusieurs fois votre réponse, je pense qu'au fur et à mesure que la formation progresse et que le modèle commence à s'adapter, le nombre de fonctions que le modèle peut approximer est en fait réduit car il se rapprochera extrêmement bien des points des données de formation, mais ses prédictions ont gagné '' t être bon car il ne peut pas généraliser pour s'adapter à d'autres points ou jeux de données similaires.
Robert Smith

4

L'expression "parfois expliquée qualitativement" suggère qu'il fait simplement une analogie avec une simple régression linéaire. Chaque fois que nous ajoutons un terme à un modèle de régression linéaire, nous ajoutons un degré de liberté au modèle et soustrayons un degré de liberté de ceux associés au terme d'erreur. Si nous mettons suffisamment de termes indépendants dans un modèle, nous pouvons parfaitement «prédire» l'histoire à partir d'un ensemble de nombres aléatoires, mais nous serons totalement incapables de prédire l'avenir.


3

La question des degrés de liberté sur les modèles d'apprentissage statistique compliqués a été discutée dans Ye 1998 JASA . Fondamentalement, l'idée est de voir dans quelle mesure la sortie d'un modèle compliqué, tel que le réseau neuronal, répond à un changement d'unité dans les entrées. Pour les modèles linéaires, la relation est sans surprise un à un, donc les degrés de liberté pour un modèle de complexité (nombre de régresseurs) est ppp. Pour les modèles plus compliqués (vous considérez les arbres de régression), la possibilité d'ajouter un nœud supplémentaire offre beaucoup plus de flexibilité, car le modèle CART recherchera une bonne variable à diviser et un bon point de partage. C'est bien plus que ce que l'ajout d'un régresseur à un modèle linéaire peut faire, et Ye a trouvé que les arbres de régression consommaient environ 3,5-4 dfs par nœud. Les réseaux de neurones peuvent être quelque part entre les deux, mais les degrés de liberté sont certainement bien plus grands que le nombre d'unités et peuvent être plus grands que le nombre de poids.

Je pense que quelque chose de similaire a été fourni par HTF Sec. 7.6 , bien qu'ils ne fassent pas étonnamment référence à Ye (1998). Ils font cependant référence à Bishop comme à un cas spécial.


1
Merci. Cela semble juste, mais qu'en est-il de la relation avec la formation d'un réseau neuronal? J'ai trouvé dans "The Elements of Statistical Learning" à la page 96 ( docs.google.com/… ) une expression reliant les degrés de liberté et de covariance, et je peux voir pourquoi plus de formation réduirait la fonction d'erreur et par conséquent augmenterait la covariance et degrés de liberté. Cependant, je ne comprends pas pourquoi cette équation (3,60 dans le livre) tient.
Robert Smith

Soit dit en passant, cela semble également un peu différent de la définition des degrés de liberté (généralisés) évoquée dans l'article de Ye.
Robert Smith,

1
Je suppose que vous pouvez considérer cette covariance comme une version approximative de la dérivée ... ou peut être l'inverse: la dérivée, définie comme la limite lorsque la taille du pas atteint zéro, peut être considérée comme le plim de cette covariance lorsque la variance de la perturbation va à zéro. L'équation (3.60) n'a pas à tenir, c'est une définition , donc il n'y a rien à tenir. Ce qui est vrai, c'est l'équivalence avec la définition standard de dfs pour les modèles linéaires qu'ils mentionnent brièvement à la page suivante, et c'est simplement l'algèbre linéaire des modèles linéaires. Ye (1998) doit également en parler.
StasK

3

Il dit la "complexité effective du réseau". Il se réfère en fait à la taille des poids du réseau. Cela peut être compris en termes de principe de longueur de description minimale . Mais avant d'entrer dans les détails, l'intuition est que plus les poids sont élevés, plus les types de fonctions que votre réseau peut adapter sont différents, et donc plus les degrés de liberté (et la complexité effective) sont élevés.

Dans ce chapitre, il parle de régularisation, qui est une technique permettant de réduire efficacement le risque de sur-ajustement, en exigeant que les poids soient aussi petits que possible. En général,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
argmaxwp(w|D)

p(w|D)=p(D|w)p(w)
Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

Plus généralement, vous avez que l'estimation MAP est équivalente à ce qui suit,

wMAP=argminwlog2P(D|w)log2(w)

Le côté droit de l'expression peut être interprété comme le nombre de bits nécessaires pour décrire votre classificateur. Le premier terme représente le nombre de bits nécessaires pour coder les erreurs de votre réseau sur les données d'entraînement. Le second représente le nombre de bits nécessaires pour coder les poids.

L'estimation MAP équivaut donc à choisir la représentation la plus compacte possible. En d'autres termes, vous recherchez l'ensemble de poids qui rend compte le plus fidèlement possible des données d'entraînement qui peuvent être exprimées avec le moins de bits.

Notez qu'il s'agit d'une autre forme du problème de biais / variance: plus les poids sont importants, plus le premier terme est bas, car le réseau peut mieux adapter les données d'entraînement (surajustement). Mais en même temps, plus la complexité des poids est élevée. Plus les poids sont petits, plus la complexité du réseau est petite, mais plus le terme d'erreur (biais) est élevé. Plus le nombre de bits nécessaires pour coder les erreurs du réseau est élevé.

J'espère que cela vous donnera une assez bonne idée de ce à quoi il fait référence.

PS ajoutant un argument plus long à la discussion en cours Peut-être que je vous comprends mal. Permettez-moi de bien vouloir m'expliquer une dernière fois.

Les moyennes sur les poids représentent l'hypothèse que nous faisons sur la fonction que vous souhaitez ajuster. Plus l'a priori (c'est-à-dire les poids) est grand, plus la gaussienne est large, c'est-à-dire que plus on considère de configurations possibles pour s'adapter au réseau.

Considérons le cas de la régression (comme dans le document auquel j'ai fait référence). Une faible erreur de généralisation signifie que le réseau est capable de cartographier des échantillons invisibles très proches des valeurs réelles. Si vous ajustez une ligne droite, un polynôme de premier ordre suffit (faible complexité). Maintenant, vous pouvez également ajuster les données avec un polynôme d'ordre supérieur (que les coefficients d'ordre supérieur soient différents de zéro). La complexité du réseau est plus élevée car vous autorisez des oscillations, pour une courbe plus complexe. Néanmoins, si les coefficients correspondant à des termes d'ordre supérieur sont suffisamment faibles, le réseau peut très bien se rapprocher de la droite, ce qui conduit à une bonne généralisation.

Donc, le but de MDL est de rendre vos poids aussi petits que possible, tant que l'erreur de généralisation peut être minimisée.

Enfin, en vous citant: "Je trouve toujours gênant l'argument selon lequel, à mesure que le modèle commence à s'adapter, ses capacités à modéliser d'autres fonctions augmenteront. information.". Oui, il peut modéliser AUTRES fonctions plus complexes, mais il ne parviendra pas à modéliser correctement la fonction à portée de main. Dans la figure 5.12 du livre, l'erreur diminue d'abord à mesure que la taille du poids augmente (réduction du biais). Jusqu'à un point donné quand il recommence à augmenter (diminution de la généralisation, surajustement).


1
Merci. Ceci est similaire à l'idée de Marc, cependant, je trouve toujours gênant l'argument selon lequel, à mesure que le modèle commence à s'adapter, ses capacités à modéliser d'autres fonctions augmenteront. Je pense que c'est tout à fait le contraire, car un modèle trop adapté ne peut pas être généralisé pour être appliqué à de nouvelles informations.
Robert Smith

1
Robert, je crois que c'est une mauvaise compréhension de ce que signifie l'erreur de généralisation par rapport à la complexité du réseau, c'est-à-dire la capacité de modéliser des fonctions plus complexes. Il y a un certain nombre de documents décrivant les différents termes, comme cbcl.mit.edu/projects/cbcl/publications/ps/... .
jpmuc

Je ne pense pas qu'il y ait de confusion lorsque le terme "complexité" est utilisé parce que si vous avez un tas de poids avec des valeurs folles, cela rend le modèle très complexe et vous pouvez immédiatement le voir par l'intrigue résultante. D'autre part, être capable de gérer un large éventail de fonctions nécessite un modèle capable de bien généraliser à partir des données qui peuvent être obtenues en évitant le sur-ajustement.
Robert Smith
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.