李宏毅NLP-5-RNNT&Neural Transducer&MoChA

打印 上一主题 下一主题

主题 1678|帖子 1678|积分 5034

RNN Transducer(RNN-T)


循环神经对齐器(RNA,Recurrent Neural Aligner)对CTC解码器的改进,具体内容如下:


  • “RNA”,全称 “Recurrent Neural Aligner”,引用来自 [Sak, et al., INTERSPEECH’17]。
  • CTC 解码器特性:左侧文字阐明 “CTC Decoder: take one vector as input, output one token”,即 CTC 解码器每次取一个向量作为输入,独立输出一个 token(如 ( c, \phi, a ) 等),不思量前后依靠。
  • RNA 的改进:图中黄色模块代表解码器单元,RNA 通过箭头连接这些单元,使输出之间产生依靠关系(“RNA adds dependency”)。例如,后续输出会参考之前的输出信息,而非独立生成。这种机制让模子在生成 token 时可以或许利用序列的汗青信息,制止 CTC 解码器独立决策导致的问题(如重复输出或忽略前文束缚)。
    综上,RNA 通过引入循环依靠,增强了解码器对序列上下文的感知,优化了 CTC 框架下的序列生成过程。

RNN - T(RNN Transducer) 模子的工作机制,重要用于处理序列到序列的任务(如语音辨认),具体分析如下:


  • 模子结构与流程

    • 图中绿色的                                                                h                                     t                                                      h^t                           ht 代表编码器输出的隐蔽状态,通过 “copy” 传递到蓝色模块,再输入到黄色模块(解码器单元)。
    • 左侧:黄色模块输出                                                   t                                          t                           t 和                                                   h                                          h                           h,体现 RNN - T 常规的解码过程,解码器基于当前和前序信息生成输出。
    • 右侧:增加了空白符                                                   ϕ                                          \phi                           ϕ 的输出。当输出                                                   ϕ                                          \phi                           ϕ 时,箭头 “Give me the next frame” 表现模子请求获取下一个输入帧,以便继续处理后续的输入数据。这种机制适用于流式场景(如实时语音辨认),答应模子在处理过程中动态请求新的输入帧,增强了对变长序列的处理本事。

  • RNN - T 的核心

    • 通过引入空白符                                                   ϕ                                          \phi                           ϕ,RNN - T 可以或许机动处理输入与输出的对齐问题,结合编码器和解码器的信息,在团结模块中盘算输出概率。输出                                                   ϕ                                          \phi                           ϕ时请求新帧,体现了模子在流式输入下的自适应处理本事,平衡了输入序列与输出标签的对齐需求。


  • 模子组件与输入

    • 绿色的                                                                h                                     t                                              ,                                               h                                                   t                                        +                                        1                                                           ,                                               h                                                   t                                        +                                        2                                                           ,                                               h                                                   t                                        +                                        3                                                                   h^t, h^{t+1}, h^{t+2}, h^{t+3}                           ht,ht+1,ht+2,ht+3是编码器输出的隐蔽状态,通过“copy”传递至蓝色模块,再输入到黄色的解码器单元。
    • 黄色解码器单元处理输入并生成橙色的输出(如                                                   t                                  ,                                  h                                  ,                                  e                                  ,                                  ϕ                                          t, h, e, \phi                           t,h,e,ϕ等),其中                                                  ϕ                                          \phi                           ϕ 为空白符。

  • 流式处理机制

    • 每当输出                                                   ϕ                                          \phi                           ϕ时,箭头指向 “next frame”,表现模子请求获取下一个输入帧。这种机制使 RNN - T 可以或许逐帧处理流式数据(如实时语音),动态适应输入序列长度。
    • 差别的编码器隐蔽状态                                                                h                                     t                                              ,                                               h                                                   t                                        +                                        1                                                                   h^t, h^{t+1}                           ht,ht+1 等对应差别的解码器步骤,表明模子在差别时间步利用相应输入信息进行解码。

  • 输出寄义

    • 带蓝色框的                                                   t                                  ,                                  h                                  ,                                  e                                          t, h, e                           t,h,e 等为实际输出标签,而                                                   ϕ                                          \phi                           ϕ用于控制输入帧的请求,平衡输入序列与输出标签的对齐。例如,连续输出                                                   ϕ                                          \phi                           ϕ时,模子连续请求新帧,直到输出非                                                   ϕ                                          \phi                           ϕ标签(如                                                   e                                          e                           e)。

综上,图中体现了 RNN - T 通过空白符 ( \phi ) 动态请求输入帧的特性,适用于语音辨认等流式序列处理任务,实现输入与输出的机动对齐。

这张图展示了 RNN - T(RNN Transducer) 模子在处理流式序列数据时,对空白符                                    ϕ                              \phi                  ϕ 的处理机制:


  • 组件与流程

    • 绿色的                                                                h                                     t                                              ,                                               h                                                   t                                        +                                        1                                                           ,                                               h                                                   t                                        +                                        2                                                           ,                                               h                                                   t                                        +                                        3                                                                   h^t, h^{t+1}, h^{t+2}, h^{t+3}                           ht,ht+1,ht+2,ht+3是编码器输出的隐蔽状态,通过黑色线传递至蓝色模块,再输入黄色的解码器单元。
    • 黄色解码器单元生成橙色输出(如                                                   t                                  ,                                  h                                  ,                                  e                                  ,                                  ϕ                                          t, h, e, \phi                           t,h,e,ϕ 等),赤色线表现解码器状态传递路径。

  • 空白符处理

    • 当输出                                                   ϕ                                          \phi                           ϕ 时,赤色线旁标注 “ignore”,表现此时忽略部分状态传递路径。这意味着模子在输出                                                   ϕ                                          \phi                           ϕ 时,不依靠于常规的状态更新逻辑,而是专注于请求并处理下一个输入帧(如 “next frame”),确保流式输入下的动态适应。

  • 模子意图

    • 通过忽略                                                   ϕ                                          \phi                           ϕ输出时的部分状态传递,RNN - T 能在流式场景中制止无效状态干扰,维持关键状态的有效更新,从而准确生成非空白输出标签(如                                                   t                                  ,                                  h                                  ,                                  e                                          t, h, e                           t,h,e 等),实现输入与输出的机动对齐。


      **语言模子在处理时,会忽略语音自己的声学特征等信息,仅关注文本标记(如单词、子词等符号化的单元)进行处理。**例如在语音辨认或天然语言处理中,语言模子专注于学习标记之间的统计规律、语法结构和语义关系,而非语音的音频特性,以此来猜测或生成合理的文本序列。

Neural Transducer


Neural Transducer:


  • 绿色的                                                    h                               t                                            h^t                     ht 到                                                    h                                           t                                  +                                  w                                                       h^{t + w}                     ht+w 表现多个连续的编码器隐蔽状态。
  • 接纳 “attention” 机制,答应解码器在生成输出(如                                         c                                  c                     c、                                        a                                  a                     a、                                        ϕ                                  \phi                     ϕ )时,综合思量多个连续的隐蔽状态信息,动态聚焦相关输入,增强对输入序列上下文的感知和利用本事,相比传统模子能更机动有效地处理序列信息。

    神经转换器(Neural Transducer)在处理序列数据时基于注意力机制(attention)的工作原理:
    整体架构
  • 黄色模块代表解码器单元,蓝色模块吸收来自编码器的隐蔽状态                                                    h                               i                                            h^i                     hi(绿色方块)。
  • 解码器通过注意力机制,动态聚焦差别的编码器隐蔽状态来生成输出(橙色方块,如                                         c                            ,                            a                            ,                            ϕ                            ,                            t                                  c, a, \phi, t                     c,a,ϕ,t等)。
窗口机制


  • window 1:包罗编码器隐蔽状态                                                    h                               1                                            h^1                     h1 到                                                    h                               4                                            h^4                     h4。解码器在生成                                         c                            ,                            a                            ,                            ϕ                                  c, a, \phi                     c,a,ϕ等输出时,利用注意力机制从这个窗口内选取相关隐蔽状态信息。
  • window 2:包罗                                                    h                               5                                            h^5                     h5到                                                    h                               8                                            h^8                     h8。当处理后续输出(如                                         t                            ,                            ϕ                                  t, \phi                     t,ϕ )时,注意力机制切换到这个新窗口获取信息。
空白符与数据块请求


  • 输出                                         ϕ                                  \phi                     ϕ 时,标注 “next chunk”,表现模子请求下一个数据块(新的隐蔽状态窗口),以继续处理后续输入序列,体现了模子在流式数据处理中的动态适应性。

    展示了差别注意力机制在语音辨认任务中,随着窗口巨细(window size,W)变化时的音素错误率(Phone Error Rate,PER),具体内容如下:
差别的注意力机制


  • no - attention(蓝色线):代表没有使用注意力机制的模子。
  • DOT - ATTENTION(绿色线):使用点积注意力机制的模子。
  • MLP - ATTENTION(赤色线):接纳多层感知机注意力机制的模子。
  • LSTM - ATTENTION(青色线):使用是非期记忆网络注意力机制的模子。
数据趋势


  • no - attention:随着窗口巨细从 5 增加到 30,音素错误率呈明显上升趋势,阐明无注意力机制时,模子在处理更大窗口数据时性能下降。
  • DOT - ATTENTION:错误率先有小幅度下降,在窗口巨细约为 15 后开始迟钝上升,整体波动相对较小。
  • MLP - ATTENTION:错误率先下降,在窗口巨细约为 15 时达到最低值,之后随着窗口增大迟钝上升。
  • LSTM - ATTENTION:错误率整体较为安稳,有稍微波动,始终保持在较低水平,表现出较好的稳固性。
Monotonic Chunkwise Attention(MoChA)


MoChA(Monotonic Chunkwise Attention,单调分块注意力)机制,具体如下:
机制原理


  • 输入与判定:黄色方块                                                    z                               0                                            z^0                     z0作为输入,进入蓝色判定模块 “here?”。该模块类似注意力机制,判定是否在当前位置放置窗口。
  • 决策分支

    • “yes” 环境:若判定结果为 “yes”,则在当前位置放置窗口,利用该窗口内的编码器隐蔽状态(如                                                                h                                     1                                                      h^1                           h1等绿色方块)进行后续处理。
    • “no” 环境:若判定结果为 “no”,则将窗口向右移动,继续对后续隐蔽状态进行评估和处理。

  • 动态窗口调解:整个过程中,窗口根据判定结果动态移动,即 “dynamically shift the window”,确保模子能自适应地关注输入序列的差别部分,有效处理序列数据。
进一步阐释了 MoChA(单调分块注意力)机制的工作流程:
整体流程


  • 输入与传递:黄色方块                                                    z                               0                                            z^0                     z0作为初始输入,传递到                                                    z                               1                                            z^1                     z1,再到                                                   z                               2                                            z^2                     z2等后续模块。
  • 窗口与隐蔽状态:蓝色区域代表窗口,涵盖编码器隐蔽状态                                                    h                               3                                            h^3                     h3到                                                    h                               6                                            h^6                     h6 等。窗口内的隐蔽状态信息到场处理过程。
输出规则


  • token 输出:每个窗口对应输出一个 token(如橙色方块                                         c                                  c                     c、                                        a                                  a                     a),且不会输出空白符                                         ϕ                                  \phi                     ϕ。这与其他一些注意力机制(如 RNN - T 中会输出                                         ϕ                                  \phi                     ϕ 来控制输入处理)差别,MoChA 通过这种方式更直接地生成序列输出。
总结


对几种序列到序列(seq2seq)模子的总结:
LAS(Listen, Attend and Spell)


  • 阐明:就是平凡的 seq2seq 模子。通过编码器(Encoder)处理输入序列                                                   h                               1                                      −                                       h                               4                                            h^1 - h^4                     h1−h4 等隐蔽状态),解码器利用注意力机制(attention)生成输出                                                   c                               0                                      −                                       c                               4                                            c^0- c^4                     c0−c4 等)。
CTC(Connectionist Temporal Classification)


  • 阐明:解码器是线性分类器的 seq2seq 模子。通过引入空白符                                         ϕ                                  \phi                     ϕ 办理输入输出不对齐问题,每个时间步独立输出 token,后处理归并重复 token 并去除                                         ϕ                                  \phi                     ϕ。
RNA(Recurrent Neural Aligner)


  • 阐明:输入一个元素就要输出一个元素的 seq2seq 模子。在 CTC 解码器基础上引入循环依靠,使输出间产生关联,制止独立输出导致的问题。
RNN - T(RNN Transducer)


  • 阐明:输入一个元素可输出多个元素的 seq2seq 模子。具备处理流式数据本事,通过空白符                                         ϕ                                  \phi                     ϕ 控制输入帧请求,机动处理输入输出对齐。
Neural Transducer


  • 阐明:每次输入一个窗口数据的 RNN - T 模子。利用注意力机制,综合多个连续的编码器隐蔽状态生成输出,能更好捕捉上下文信息。
MoChA(Monotonic Chunkwise Attention)


  • 阐明:窗口可机动移动伸缩的 Neural Transducer。每个窗口对应输出一个 token,不输出空白符                                         ϕ                                  \phi                     ϕ,动态调解窗口关注输入序列差别部分。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表