敞开生长之旅!这是我参加「日新计划 2 月更文挑战」的第 3 天,点击查看活动详情

言语模型

言语模型处理的问题

  • 核算一句话(言语序列,有序的)的概率
  • 核算下一个词可能是什么

两类言语模型

核算言语模型

  • 核算言语模型:用核算的办法(条件概率)处理言语模型的问题
    语言模型和预训练

n元言语模型(马尔科夫链)

  • 假如字典特别大,那上一个公式的核算会十分困难。
  • 使用马尔科夫链的思维:假设下一个词只与它之前的n个词相关,此刻的言语模型就称为n元言语模型,如n=2,则为二元言语模型。经过马尔科夫链改写后的公式核算变得十分简单

滑润战略

  • 因为文本数据是克己的,可能会呈现数据稀少的状况,如测试时呈现了练习时未呈现过的单词,会呈现公式的概率值核算为0的状况。
  • 为了防止这个状况,通常会采用滑润战略。如在分子和分母都加入一个非0的正数,最简单办法便是分子加1,分母加上字典的长度

神经网络言语模型

  • 神经网络言语模型:用神经网络模型处理言语模型的问题
  • 下图为猜测第n个单词使命的神经网络模型,输入是待猜测单词的前n-1个单词,一共有三层:
  • 第一层为输入层:将前n-1个单词运用onehot编码作为原始单词输入,之后乘以一个随机初始化矩阵Q取得词向量C(wi)C(w_i)
  • 第二层为躲藏层:包含h个隐变量,激活函数tanh
  • 第三层为输出层:一共有(字典巨细)个输出节点,每个节点是字典中每个单词的概率值
  • 咱们能够发现,经过设置矩阵QQ的巨细,能够取得恣意巨细的词向量,而且相似词之间的词向量也有联系。能够说词向量是这个神经网络的模型的副产品,之后就呈现很多模型专门用于学习词向量(如word2vec,Glove,bert等)。
  • 预练习模型的目标便是学习这个矩阵QQ,让经过它核算得到的词向量能更好的表达语义。

语言模型和预训练

预练习

什么是预练习

  • 在图像分类使命中,卷积神经网络模型一般有多个层级结构组成,不同层学习到图像不同的特征。将不同层的特征表明提取可视化出来能够发现:在不同的分类使命中,不同分类模型中越浅的层学习到的特征是十分相似的,即浅层学习到参数是能够通用的。预练习便是根据浅层参数能够通用这一思维发生的,即使用一系列的使命去学习到浅层的参数
  • 在为某个使命规划一个神经网络时,能够经过在已经练习好的预练习模型后边增加其他网络层去构建神经网络模型,这种方式能够加速模型的练习速度,而且对数据集的要求更小

预练习办法

冻住

  • 使预练习模型的参数坚持不变(冻住),从头练习后边的层

微调

  • 预练习模型和后边的层的参数一同从头练习