Qu'est-ce que le paramètre méta` weight decay ' dans Caffe?
en regardant un exemple 'solver.prototxt'
, posté sur BVLC / caffe git, il y a un méta-paramètre de formation
weight_decay: 0.04
que signifie ce paramètre meta? Et quelle valeur dois-je céder?
2 réponses
le paramètre de méta weight_decay
régit le terme de régularisation du réseau neuronal.
au cours de la formation, un terme de régularisation est ajouté à la perte du réseau pour calculer le gradient de rétroprojection. La valeur weight_decay
détermine la dominance de ce terme de régularisation dans le calcul du gradient.
en règle générale, plus vous avez d'exemples de formation, plus ce terme devrait être faible. Plus vous avez de paramètres (i.e., réseau plus profond, filtres plus grands, couches de produits plus grandes, etc.) le plus élevé de ce terme.
Caffe vous permet également de choisir entre L2
régularisation (par défaut) et L1
régularisation, en paramétrant
regularization_type: "L1"
cependant, puisque dans la plupart des cas les poids sont de petits nombres (i.e., -1<w<1
), la norme L2
des poids est significativement plus petite que leur norme L1
. Ainsi, si vous choisissez d'utiliser regularization_type: "L1"
vous pourriez avoir besoin de tune weight_decay
à une valeur sensiblement plus petite.
bien que le taux d'apprentissage puisse changer (et change habituellement) pendant la formation, le poids de régularisation est fixe tout au long de la formation.
la perte de poids est un terme de régularisation qui pénalise les gros poids. Quand le coefficient de décomposition de poids est grand la pénalité pour les grands poids est aussi grand, quand il est petits poids peuvent librement croître.
Regardez cette réponse (non spécifique à caffe) pour une meilleure explication: la Différence entre réseau neuronal poids "de la décroissance" et d'apprentissage "taux" .