Que sont les paramètres du modèle ?
Les paramètres du modèle sont des valeurs qui appartiennent au modèle et qui sont apprises à partir des données. Ce sont les valeurs que l’entraînement ajuste et que l’inférence utilise.
Pour un modèle linéaire simple,
[
y = wx + b
]
(w) et (b) sont tous deux des paramètres. Le modèle les apprend au lieu de les recevoir comme de nouvelles entrées à chaque prédiction.
Les réseaux neuronaux stockent les paramètres dans des tenseurs, qui sont des tableaux multidimensionnels de nombres. Un seul tenseur peut contenir de nombreux paramètres scalaires. Lorsqu’un modèle est décrit comme ayant un certain nombre de paramètres, ce nombre désigne généralement les valeurs scalaires contenues dans l’ensemble de ses tenseurs de paramètres, et non le nombre de tenseurs.
Que sont les poids du modèle ?
Les poids du modèle ont deux significations courantes.
Dans le sens mathématique restreint, un poids multiplie une entrée ou une valeur intermédiaire. Dans (y = wx + b), (w) est le poids et (b) est le biais. Les deux sont des paramètres, mais un seul est un poids.
Dans le sens logiciel plus large, « poids » désigne l’état numérique enregistré qui fait qu’un modèle entraîné se comporte comme il le fait. Un « fichier de poids » peut contenir des matrices de poids, des biais et parfois d’autres tenseurs persistants. Le terme décrit l’ensemble, et non le rôle mathématique de chaque nombre qu’il contient.
La distinction
La règle la plus fiable est la suivante :
Un poids est généralement un type de paramètre, mais « poids du modèle » est souvent une abréviation désignant l’état appris complet d’un modèle.
| Context | “Parameters” usually means | “Weights” usually means |
|---|---|---|
| A layer equation | All learned values, including weights and biases | Values multiplied by inputs or activations |
| A parameter count | The number of learned scalar values across parameter tensors | Often used loosely as a synonym for the same count |
| A framework API | Registered model values that may be trainable or frozen | A framework-specific collection that may include biases and non-trainable state |
| A model download or checkpoint | Learned values, if the term is used at all | The saved tensors needed to reproduce the trained model’s behavior |
Le tableau décrit des conventions, et non une norme universelle. Lorsque la précision est importante, vérifiez la formule voisine, la définition de l’API ou la spécification du fichier.
Un exemple détaillé
Supposons qu’une couche dense accepte trois valeurs d’entrée et produise deux valeurs de sortie. Elle calcule :
[
\mathbf{y} = \mathbf{x}\mathbf{W} + \mathbf{b}
]
La matrice de poids (\mathbf{W}) a pour forme (3 \times 2), elle contient donc six poids scalaires. Le vecteur de biais (\mathbf{b}) contient deux biais scalaires.
La couche possède donc :
- 6 poids scalaires
- 2 biais scalaires
- 8 paramètres scalaires au total
Si une bibliothèque enregistre les « poids » de cette couche, la collection enregistrée comprendra généralement à la fois (\mathbf{W}) et (\mathbf{b}). Les mathématiques n’ont pas changé. Seule la portée du terme « poids » a changé.
Quand la formulation est importante
La distinction restreinte est importante lorsque vous lisez une équation, implémentez une couche ou vérifiez un nombre de paramètres. Si quelqu’un compte uniquement les entrées des matrices de poids, il peut sous-estimer le nombre de paramètres du modèle en omettant les biais et les autres tenseurs de paramètres appris.
Le sens large est important lorsque vous téléchargez, chargez, figez ou partagez un modèle. Un framework peut appeler chaque variable persistante d’une couche un poids. Un checkpoint peut également inclure des tampons utilisés pendant l’inférence, même si l’entraînement ne les a pas optimisés en tant que paramètres.
Le gel des paramètres ajoute une autre source de confusion. Un paramètre gelé n’est plus mis à jour pendant cette exécution de l’entraînement, mais il fait toujours partie du modèle et continue d’influencer sa sortie. « Paramètres entraînables » et « tous les paramètres » peuvent donc produire des nombres différents pour un même modèle.
Le nombre de paramètres et la taille du checkpoint sont également deux mesures différentes. La taille du fichier dépend de la manière dont chaque valeur est encodée, de la quantification ou du partage éventuel des tenseurs, ainsi que de la présence d’un état supplémentaire dans le checkpoint. Sans les détails du format, on ne peut pas déduire de manière fiable l’une de ces mesures à partir de l’autre.
Les confusions courantes
« Les poids excluent toujours les biais »
Cela est vrai dans une formule qui désigne séparément les termes (W) et (b). C’est souvent faux dans le langage des frameworks et des checkpoints, où « poids » peut désigner la collection contenant les deux.
« Paramètres » signifie réglages d’entraînement
Les paramètres du modèle sont les valeurs apprises à l’intérieur du modèle. Les réglages choisis pour le processus d’entraînement, comme le taux d’apprentissage, sont des hyperparamètres. La similitude des termes ne signifie pas qu’il s’agit du même type de valeur.
Davantage de paramètres signifie un meilleur modèle
Le nombre de paramètres indique combien de valeurs scalaires apprises un modèle contient. Il n’indique ni l’utilité de l’architecture, ni la qualité des données d’entraînement, ni les performances du modèle pour votre tâche.
Pour aller plus loin
Lisez Que sont les paramètres du modèle ? pour savoir comment les valeurs apprises sont comptées et utilisées dans un modèle. Lisez Que sont les poids du modèle ? pour comprendre comment les poids façonnent la sortie d’une couche et comment le terme est utilisé dans les fichiers de modèle.