various sequence to sequence arc

2021-05-01  本文已影响0人  oword

coursera deeplearning
一、机器翻译和自动添加图像字幕的基本模型
机器翻译


image.png

自动添加图像字幕


image.png
二、机器翻译
1、机器翻译可以看作一种条件概率语言模型,即在给定原文序列 x 的条件下生成译文序列 y 的条件概率
image.png

比较容易想到的过程是:根据原文 x 计算每一个词典中的词在第1个输出位置 y<1> 的概率,然后将最大概率的词作为 y<1> ,然后根据 x,y<1> 计算每一个词典中的词在第2个输出位置 y<2> 的概率,然后将最大概率的词作为 y<2> , 不断重复直到 <EOS> ,这实际上是贪婪算法,搜索条件概率最大的一个词作为输出;问题是每一步最大不能保证全局( y<1>y<2>...y<Ty> )最大;同时,也不能直接对所有的句子空间进行搜索,否则计算量太大, 因此,Beam Search集束搜索就是处于这两种方法之间的解决方案

三、Beam Search集束搜索
1、beam width : 集束宽度,指每一步搜索数量的参数
例如当 beam width=3 时,对第1步计算所有词典的概率,选出概率最大的前3个词作为候选词 y<1> , 对每个候选词,计算第2步 y<2> 词典中所有词的概率,若词典为10000,则一共计算3×10000个词的概率,从3×10000个概率中选出 beam width=3 个最大的概率的词作为 y<2> 的候选词,不断反复,直到 <EOS>

2、使用 log
当很多个概率相乘时,容易导致小数溢出,因此使用 log 函数


image.png

另外,为了最大化上述公式,模型会倾向于输出比较短的句子,这样得到的值就会比较大,因此,对公式进行修改


image.png

Ty : 输出句子 y 的长度
α : 范围在 0~1

3、Error Analysis in Beam Search
根据 p(y|x) 和 p(y^|x) 判断模型是搜索算法出问题还是 RNN 模型出问题
y^ : 模型预测的句子
y
* : 人工翻译的句子即标签

两种情况:
第一种: p(y*|x)>p(y^|x)
在给定输入原文 x 的情况下,模型概率小于人工概率,说明模型的搜索还有提升的空间,如果模型搜索得更好一点,p(y^|x) 的值还可以继续提升,这里主要体现的是搜索问题,即 beam-search 的问题

第二种:p(y^|x)≥p(y*|x)
人工概率小于模型概率,说明模型已经搜索到很高的概率了,但是并不是说模型搜索到的概率越大,预测效果越准,这时无法通过提升搜索概率来提升模型的精度,应当通过改进 RNN 模型来提升性能和精度

image.png

四、Bleu Score
1、BLEU score(Bilingual Evaluation Understudy 双语评估替补) 是为了解决衡量机器翻译质量好坏而提出来的算法;对于某句原文,可能有多个比较好的人工译文,为了计算人工译文与机器翻译的译文之间的好坏提出了Bleu Score

2、precision 精度
Precision : 分子是机器翻译 MT output 中存在于人工翻译 Reference 的句子中的单词的个数,分母是机器翻译的句子的单词的个数
Modified precision : 分子是机器翻译的单词最多在人工翻译 Reference 的某个句子中的出现次数,分母是机器翻译的句子的单词的个数

image.png

3、Blue score on bigram
bigram是双词组的意思,计算双词组情况下的精度 precision
Count : 计算每个双词组在 MT output 中出现的次数
Count-clip : 计算每个双词组在 Reference X 中至多出现的次数
精度= Count / Count-clip

image.png

4、n-gram


image.png

5、Bleu Score
BP : 为了防止机器翻译长度太小引入的惩罚项


捕获.PNG

五、Attention Model 注意力模型
1、为了解决模型在句子长度太长时性能下降的问题,提出Attention Model 注意力模型


image.png

基本思想是在翻译长句子的时候,类比人类一段一段翻译的过程,将注意力即权重放在当前临近的位置,而句子比较远的部分降低其权重

2、模型
模型包含两部分,一是双向 RNN ,输入原文输出特征值即激活函数 a ,二是另一个 RNN ,输入 C 输出机器翻译的译文


image.png

a<t'> : 激活函数值即特征值
α<t,t'> : 在第 t' 个输入词语的情况下, t输出的神经元 S<t'> 的权重
C : C<t>=Σα<t,t'>a<t'>

3、权重α
为了计算权重α,引入一个小神经网络,输入 s<t-1> a<t'> 输出 e<t,t'>
而 α 由 e 计算得


image.png

注意力模型的缺点是,二次成本运行

六、Speech Recognition & Trigger Word Detection
1、Speech Recognition 中 CTC损失函数
为了解决语音输入的长度远远大于字符输出的长度的问题,引入CTC损失函数,CTC输出可以是重复的字符,以及空白字符,在输出的时候将其折叠得到正常的单词


image.png

2、 Trigger Word Detection 触发字检测
Trigger Word Detection 指的是对语音识别系统说话,触发其应用开关的功能
标签可以这样设计,即在触发语音之前输出为0,在触发语音结束时输出为1


image.png

在 Sequence Models 第4部分介绍了 Transformer Network
包括 Self-attention Mutil-Head Attention Transformer Network

上一篇下一篇

猜你喜欢

热点阅读