美文网首页
various sequence to sequence arc

various sequence to sequence arc

作者: oword | 来源:发表于2021-05-01 14:37 被阅读0次

    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

    相关文章

      网友评论

          本文标题:various sequence to sequence arc

          本文链接:https://www.haomeiwen.com/subject/vtsarltx.html