打字猴:1.700538994e+09
1700538994 图10.5 集束搜索示例
1700538995
1700538996 由图可见,当前已经有解码得到的第一个词的两个候选:I和My。然后,将I和My输入到解码器,得到一系列候选的序列,诸如I decided、My decision、I thought等。最后,从后续序列中选择最优的两个,作为前两个词的两个候选序列。很显然,如果b取1,那么会退化为前述的贪心法。随着b的增大,其搜索的空间增大,最终效果会有所提升,但需要的计算量也相应增大。在实际的应用(如机器翻译、文本摘要)中,b往往会选择一个适中的范围,以8~12为佳 。
1700538997
1700538998 解码时使用堆叠的RNN、增加Dropout机制、与编码器之间建立残差连接等,均是常见的改进措施。在实际研究工作中,可以依据不同使用场景,有针对地进行选择和实践。
1700538999
1700539000 另外,解码环节中一个重要的改进是注意力机制,我们会在下一节深入介绍。注意力机制的引入,使得在解码时每一步可以有针对性地关注与当前有关的编码结果,从而减小编码器输出表示的学习难度,也更容易学到长期的依赖关系 。此外,解码时还可以采用记忆网络[28]等,从外界获取知识。
1700539001
1700539002
1700539003
1700539004
1700539005 百面机器学习:算法工程师带你去面试 [:1700532232]
1700539006 百面机器学习:算法工程师带你去面试 06 注意力机制
1700539007
1700539008
1700539009
1700539010 场景描述
1700539011
1700539012 无论机器学习、深度学习还是人工智能,我们似乎都在寻找一种可以模拟人脑的机制,注意力机制(Attention Mechanism)实际上也是源于类似的思路。研究发现,人脑在工作时是有一定注意力的。比如当我们欣赏一幅艺术作品时,可以看到其全貌。而当我们深入关注画作的细节时,其实眼睛只聚焦在了画幅上很小的一部分,而忽略了其他位置的诸如背景等信息,这说明大脑在处理信号时是有一定权重划分的,而注意力机制的提出正是模仿了大脑的这种核心特性。
1700539013
1700539014 知识点
1700539015
1700539016 注意力机制,Seq2Seq,循环神经网络
1700539017
1700539018 问题 Seq2Seq模型引入注意力机制是为了解决什么问题?为什么选用了双向的循环神经网络模型?
1700539019
1700539020 难度:★★★★☆
1700539021
1700539022 分析与解答
1700539023
1700539024 在实际任务(例如机器翻译)中,使用Seq2Seq模型,通常会先使用一个循环神经网络作为编码器,将输入序列(源语言句子的词向量序列)编码成为一个向量表示;然后再使用一个循环神经网络模型作为解码器,从编码器得到的向量表示里解码得到输出序列(目标语言句子的词序列)。
1700539025
1700539026 在Seq2Seq模型中(见图10.6),当前隐状态以及上一个输出词决定了当前输出词,即
1700539027
1700539028
1700539029
1700539030
1700539031 (10.20)
1700539032
1700539033
1700539034
1700539035
1700539036 (10.21)
1700539037
1700539038 其中f和g是非线性变换,通常是多层神经网络;yi是输出序列中的一个词,si是对应的隐状态。
1700539039
1700539040
1700539041
1700539042
1700539043 图10.6 序列到序列模型结构示意图
[ 上一页 ]  [ :1.700538994e+09 ]  [ 下一页 ]