Alors que je parcourais les problèmes CBOW et que je suis tombé dessus, voici une réponse alternative à votre (première) question ("Qu'est-ce qu'une couche de projection vs matrice ?"), En regardant le modèle NNLM (Bengio et al., 2003):
Si l'on compare cela au modèle [s] de Mikolov (montré dans une réponse alternative à cette question), la phrase citée (dans la question) signifie que Mikolov a supprimé la couche de (non linéaire!) dans le modèle de Bengio montré ci-dessus. Et la première (et seule) couche cachée de Mikolov, au lieu d'avoir des vecteurs individuels pour chaque mot, n'utilise qu'un seul vecteur qui résume les "paramètres de mot", puis ces sommes sont moyennées. Cela explique donc la dernière question ("Qu'est-ce que cela signifie que les vecteurs sont moyennés?"). Les mots sont "projetés dans la même position" parce que les poids attribués aux mots d'entrée individuels sont résumés et moyennés dans le modèle de Mikolov. Par conséquent, sa couche de projectiontanhC(wi)perd toutes les informations de position, contrairement à la première couche cachée de Bengio (aka. la matrice de projection ) - répondant ainsi à la deuxième question ("Qu'est-ce que cela signifie que tous les mots sont projetés dans la même position?"). Donc , le modèle de Mikolov [s] a retenu les « paramètres de mot » (la matrice de pondération d'entrée), enlevés de la matrice de projection et la couche, et de le remplacer à la fois d'une couche de projection « de simple ».Ctanh
Pour ajouter, et "juste pour mémoire": La vraie partie passionnante est l'approche de Mikolov pour résoudre la partie où dans l'image de Bengio vous voyez l'expression "la plupart des calculs ici". Bengio a essayé d'atténuer ce problème en faisant quelque chose qui est appelé softmax hiérarchique (au lieu d'utiliser simplement le softmax) dans un article ultérieur (Morin et Bengio 2005). Mais Mikolov, avec sa stratégie de sous-échantillonnage négatif, a fait un pas de plus: il ne calcule pas du tout la log-vraisemblance négative de tous les "mauvais" mots (ou des codages de Huffman, comme Bengio l'a suggéré en 2005), et calcule simplement un très petit échantillon de cas négatifs, qui, étant donné suffisamment de tels calculs et une distribution de probabilité intelligente, fonctionne extrêmement bien. Et la deuxième et encore plus importante contribution, naturellement,"compositionnalité" additive ("homme + roi = femme +?" avec réponse reine), qui ne fonctionne vraiment bien qu'avec son modèle Skip-Gram, et peut être grossièrement comprise comme prenant le modèle de Bengio, en appliquant les changements suggérés par Mikolov (c'est-à-dire, le phrase citée dans votre question), puis inverser tout le processus. Autrement dit, deviner les mots environnants à partir des mots de sortie (maintenant utilisés comme entrée), , à la place.P(context|wt=i)