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