在开始学习算法之前先说一些废话。

1. 一个算法拯救无数生命

第二次世界大战期间,德军使用 AM 进行信息交流,任何掌握对应 AM 频率和摩斯码的人都可以对信号进行解码得到信息。但是由于信息是被加密的,所以需要对信息进行解密。有时候人们很幸运能够猜对,但是很快德军又换了密码。

神经网络三大神器:DNN、CNN、RNN。其中 DNN 和 RNN 都已经被用来构建语言模型了,而 CNN 一直在图像领域大展神威,它是否也可以用来构建语言模型呢?如果要用 CNN 构建语言模型应该怎么做?接下来我们从四篇论文看 CNN 构建语言模型的三种方法。

1. 简介

Bengio 等人使用前馈神经网络构建语言模型,解决了两个问题:参数维度爆炸和词与词之间的语义关系的问题。然我们看到使用神经网络构建语言模型存在的巨大潜力。但是前馈神经网络构建的语言模型同样也存在问题:他只能输入特定长度的上下文(窗口 $n$)。也就是说,它只能用固定长度内的信息来预测下一个词,这与 n-gram 模型有相同的问题。