Bonjour,
Il s’agit d’un exemple, d’autres méthodes de “pooling” existent (faire une moyenne de tous les vecteurs par exemple), mais celle-ci est la plus utilisée généralement et je vais un peu détailler pourquoi.
- Tout d’abord, on pourrait choisir un autre vecteur de la séquence et avoir potentiellement de bons résultats. Sauf que la taille des séquences est variable donc si on choisit le 16ème vecteurs mais que la séquence est constituée de 10 vecteurs, on aura un problème. En choisissant le 1er vecteur nous n’avons pas ce problème.
- Ensuite, avec le modèle BERT, le premier vecteur est souvent associé à la tâche de classification dans le pré-entraînement. Ce qui veut dire que ce vecteur récupère déjà “les informations” de toute la séquence sans entraînement supplémentaire, contrairement aux autres vecteurs de sortie de BERT qui correspondent aux tokens d’entrée (à la fin du pré-entraînement).
- Enfin, contrairement aux autres méthodes de pooling qui “mettent en commun” les informations de tous les vecteurs (une moyenne par exemple), choisir un vecteur est plus performant car cela ne nécessite pas de calcul supplémentaire.
Les méthodes de fine-tuning avec des Transformers sont assez difficile à expliquer donc n’hésitez pas à me relancer avec d’autres questions.
Cordialement,