《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)

第四部分 其他主题

- 用递归神经网络对树建模
- 结构化输出预测
- 级联、多任务与半监督学习
- 结论


用递归神经网络对树建模
1、递归神经网络(RecRNN)是RNN由序列到二叉树的推广。
主要思想:每个子树用d维向量表示,且对于拥有子节点C1和C2的节点P,其表示时其子节点状态的函数:vec§ = f(vec(c1),vec(c2)),其中f是组合函数,其输入是2个d维向量,输出是一个d维向量。
例:句子:“the boy saw her duck"
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第1张图片

2、有序、无序标签树的三元组表示
(接上图例子)
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第2张图片
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第3张图片
3、递归神经网络的定义。
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第4张图片

4、递归变体
树状LSTM、递归矩阵-向量模型(Socher et al.2012)、递归神经张量网络(Socher et.al. 2013b)、树编码器(Kiperwasser et al. 2016)

5、线性化树
将树节点进行线性化从而转换为线性序列,再作为带门RNN或双向RNN的输入。


结构化输出预测
1、基于搜索的结构化预测

  • 基于线性模型的结构化预测——使用线性函数作为评分函数建模在这里插入图片描述

  • 非线性结构化预测——用神经网络替代线性函数
    计算:
    在这里插入图片描述
    以单隐层前向网络为例子:
    在这里插入图片描述
    LOSS:合页损失
    在这里插入图片描述
    代价增强训练/损失增强训练:修改最大化过程,使我们在寻找结构y时,不仅要求它在当前模型下分值较高,还要使得它有相对多的错误成分(子结构)。LOSS变为:
    《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第5张图片

  • 概率目标函数CRF(条件随机场)
    为给定输入下的每个可能结构计算一个概率,并最大化正确概率。
    每个结构y的分值计算:
    《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第6张图片
    LOSS:
    在这里插入图片描述

  • 近似搜索,如柱搜索。
    #找不到高效搜索算法时候使用。一个常用技术——提前更新。

  • 重排序:先使用基础模型获得前k个,再对这K个候选结构重新评分,使得正确结构分值最高。
    #神经网络只需专注于特征提取和网络结构。

2、贪心结构化预测
贪心方法将结构化预测问题分解为一系列的局部预测问题,并训练一个分类器来完成好每一个局部的决策 。

3、条件生成与结构化输出预测
RNN生成器的两个缺陷:(1)训练时候的每一步预测都是基于正确的历史序列,而实际中生成器只能使用自己的预测历史来进行分值计算。(2)局部归一化模型。容易受到标签偏置的影响。
近似方法——贪心预测、柱搜索

4、Eisner算法(论文:Eisner et al. 1995;Kubler 2008;McDonald 2005)


级联、多任务与半监督学习
1、模型相互独立的级联系统称为流水线系统。
2、级联模型示例
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第7张图片
《基于深度学习的自然语言处理》【以色列】约阿夫 第四部分 笔记(完结)_第8张图片
3、多任务学习
假设有多个任务并且它们之间相关。

  • 多任务设置下的训练:在某些情形,我们可能有多个任务,但是更关注其中的某一个任务。换言之,我们有一个或者多个主任务,以及其他的一些我们认为对主任务有所帮助但并不关心其输出的辅助任务 。 这种情况下,我们也许可以将辅助任务的损失的占比缩小,使其重要性小于主任务的损失 。 另一种选择是先在辅助任务上预训练一个网络,再使用其与主任务所共享的网络组件(参数),在主任务上接着训练 。
  • 选择性共享
  • 输入-输出反转:我们可以将某些信号(例如词性标签)视为较高级别任务(如句法分析)的网络中间层输出,而不是作为该任务的输入。换言之,我们并不是将词性标签用作输入,而是作为网络中间层的一种监督信号 。
  • 作为多任务学习的词嵌入训练
  • 条件生成中的多任务学习
  • 作为正则的多任务学习:来自辅助任务的监督信息使得任务之间的共享表示更具通用性,且有助于对主任务训练实例之外的样本进行预测 ,从而防止网络过拟合到主任务上。

4、半监督学习
在深度学习的框架之内,可以通过学习基于附加任务的表示,然后将其作为主任务的补充输入或者初始化的方式来进行半监督学习。


结论

你可能感兴趣的:(学习笔记)