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?
Réponses:
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,
la source
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.
la source
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 pp p . 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.
la source
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,
Plus généralement, vous avez que l'estimation MAP est équivalente à ce qui suit,
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).
la source