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?

23
demandé sur rayryeng 2015-08-24 11:33:15

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.

41
répondu Shai 2017-09-23 06:00:19

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" .

14
répondu Tal Darom 2017-04-13 12:44:13