打字猴:1.700538944e+09
1700538944 百面机器学习:算法工程师带你去面试 [:1700532231]
1700538945 百面机器学习:算法工程师带你去面试 05 Seq2Seq模型
1700538946
1700538947
1700538948
1700538949 场景描述
1700538950
1700538951 Seq2Seq,全称Sequence to Sequence模型,目前还没有一个很好的中文翻译,我们暂且称之为序列到序列模型。大致意思是将一个序列信号,通过编码和解码生成一个新的序列信号,通常用于机器翻译、语音识别、自动对话等任务。在Seq2Seq模型提出之前,深度神经网络在图像分类等问题上取得了非常好的效果。在深度学习擅长的问题中,输入和输出通常都可以表示为固定长度的向量,如果长度稍有变化,会使用补零等操作。然而像前面提到的几个问题,其序列长度事先并不知道。因此如何突破先前深度神经网络的局限,使其适应于更多的场景,成了2013年以来的研究热点,Seq2Seq模型也应运而生。
1700538952
1700538953 知识点
1700538954
1700538955 Seq2Seq,机器翻译,集束搜索(Beam Search)
1700538956
1700538957 问题1 什么是Seq2Seq模型?Seq2Seq模型有哪些优点?
1700538958
1700538959 难度:★★☆☆☆
1700538960
1700538961 分析与解答
1700538962
1700538963 Seq2Seq模型的核心思想是,通过深度神经网络将一个作为输入的序列映射为一个作为输出的序列,这一过程由编码输入与解码输出两个环节构成。在经典的实现中,编码器和解码器各由一个循环神经网络构成,既可以选择传统循环神经网络结构,也可以使用长短期记忆模型、门控循环单元等。在Seq2Seq模型中,两个循环神经网络是共同训练的。
1700538964
1700538965 假想一个复习和考试的场景,如图10.3所示。我们将学到的历史信息经过了一系列加工整理,形成了所谓的知识体系,这便是编码过程。然后在考试的时候,将高度抽象的知识应用到系列问题中进行求解,这便是解码过程。譬如对于学霸,他们的网络很强大,可以对很长的信息进行抽象理解,加工内化成编码向量,再在考试的时候从容应答一系列问题。而对于大多数普通人,很难记忆长距离、长时间的信息。在考前只好临时抱佛脚,编码很短期的序列信号,考试时也是听天由命,能答多少写多少,解码出很短时效的信息。
1700538966
1700538967
1700538968
1700538969
1700538970 图10.3 循环神经网络编解码结构图
1700538971
1700538972 对应于机器翻译过程,如图10.4所示。输入的序列是一个源语言的句子,有三个单词A、B、C,编码器依次读入A、B、C和结尾符。 在解码的第一步,解码器读入编码器的最终状态,生成第一个目标语言的词W;第二步读入第一步的输出W,生成第二个词X;如此循环,直至输出结尾符。输出的序列W、X、Y、Z就是翻译后目标语言的句子。
1700538973
1700538974 在文本摘要任务中,输入的序列是长句子或段落,输出的序列是摘要短句。在图像描述文本生成任务中,输入是图像经过视觉网络的特征,输出的序列是图像的描述短句。进行语音识别时,输入的序列是音频信号,输出的序列是识别出的文本。不同场景中,编码器和解码器有不同的设计,但对应Seq2Seq的底层结构却如出一辙。
1700538975
1700538976
1700538977
1700538978
1700538979 图10.4 机器翻译模型结构示意图
1700538980
1700538981 问题2 Seq2Seq模型在解码时,有哪些常用的办法?
1700538982
1700538983 难度:★★★☆☆
1700538984
1700538985 分析与解答
1700538986
1700538987 Seq2Seq模型最核心的部分是其解码部分,大量的改进也是在解码环节衍生的。Seq2Seq模型最基础的解码方法是贪心法,即选取一种度量标准后,每次都在当前状态下选择最佳的一个结果,直到结束。贪心法的计算代价低,适合作为基准结果与其他方法相比较。很显然,贪心法获得的是一个局部最优解,由于实际问题的复杂性,该方法往往并不能取得最好的效果。
1700538988
1700538989 集束搜索是常见的改进算法,它是一种启发式算法。该方法会保存beam size(后面简写为b)个当前的较佳选择,然后解码时每一步根据保存的选择进行下一步扩展和排序,接着选择前b个进行保存,循环迭代,直到结束时选择最佳的一个作为解码的结果。图10.5是b为2时的集束搜索示例。
1700538990
1700538991
1700538992
1700538993
[ 上一页 ]  [ :1.700538944e+09 ]  [ 下一页 ]