预训练语言模型(一):定义及语言模型

  • 关于语言模型
  • 统计语言模型
  • 神经网络语言模型



参考一个很全的总结:


预训练语言模型的前世今生 - 从Word Embedding到BERT

关于语言模型

语言模型的本质是计算一个句子序列的概率
即对于语言序列 大语言模型知识库可以联网吗_深度学习 ,语言模型就是计算 大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_02
由此引入乘法公式:
大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_03
大语言模型知识库可以联网吗_神经网络_04

统计语言模型

统计语言模型又叫做N-Gram模型,这里N是指词典 大语言模型知识库可以联网吗_深度学习_05 中的词数。
定义 大语言模型知识库可以联网吗_深度学习_05 为一个具有 大语言模型知识库可以联网吗_Word_07 个单词的词典,即所有词的词集合; 大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_08
对于公式:
大语言模型知识库可以联网吗_Word_09
使用马尔科夫链思想:
大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_10
假设 大语言模型知识库可以联网吗_语言模型_11 只和它之前的 大语言模型知识库可以联网吗_深度学习_12 个词有相关性,大语言模型知识库可以联网吗_神经网络_13 时称作一个单元语言模型,大语言模型知识库可以联网吗_神经网络_14 时称为二元语言模型。由此可以推出二元语言模型的公式为:
大语言模型知识库可以联网吗_Word_15
有时会出现数据稀疏的情况,这时我们为了避免0值的出现,使用平滑策略(分子分母都加入一个非0正数)【注:这里还有其它的平滑策略,可以查到】,此时将公式(5)改为:
大语言模型知识库可以联网吗_深度学习_16

神经网络语言模型

引入神经网络架构估计单词分布,能够通过词向量衡量单词之间的相似度,对于没有出现过的单词,也可以通过整个句子序列进行词向量的估计,可以有效解决数据稀疏问题

大语言模型知识库可以联网吗_Word_17


上图NNLM神经网络共有三层:

  1. 输入层:将前面 大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_18 个单词进行one-hot编码,之后乘以一个随机初始化的矩阵Q之后获得词向量 大语言模型知识库可以联网吗_深度学习_19 ,处理后得到输入 大语言模型知识库可以联网吗_语言模型_20 ,此时 大语言模型知识库可以联网吗_Word_21
  2. 隐藏层:使用 大语言模型知识库可以联网吗_语言模型_22 作为激活函数,输出为 大语言模型知识库可以联网吗_大语言模型知识库可以联网吗_23大语言模型知识库可以联网吗_深度学习_24 为输入层到隐层的权重矩阵,大语言模型知识库可以联网吗_Word_25
  3. 输出层:使用 大语言模型知识库可以联网吗_Word_26 作为激活函数,输出为 大语言模型知识库可以联网吗_Word_27 ,此处的 大语言模型知识库可以联网吗_Word_28 为输入层直接到输出层的权重矩阵, 大语言模型知识库可以联网吗_语言模型_29

NNLM最大的贡献在于将神经网络引入了LM中,此外,Word Embedding(参数矩阵 大语言模型知识库可以联网吗_Word_30 )作为NNLM的副产品,在后续研究中也起到了很关键的作用。
另一方面,NNLM的缺点在于,它只能处理定长的序列,本质上还是遵从了马尔科夫假设,相当于用神经网络编码的N-Gram Model,无法解决长期依赖的问题。