一开始还以为很复杂,总结一下就是:
NNLM 将某个单词前 n−1 个词各自转为 embedding,拼接成一个 (n−1)⋅d 维的向量,再通过隐藏层 + 输出层 + softmax,预测下一个词的概率分布
可以发现,这个2003年提出的模型在架构上和GPT大体是没区别的,都是用之前的文字预测下一个文字;都是用之前文字的embedding经过一个特殊层(前者是FFN,后者是transformer decoder)来得到一个词表向量,根据向量的分量大小选择某个单词。
后话
当然,前者的效果差多啦,也存在不能辨别n-1个token顺序等问题。但是,还是感觉挺神奇的。