sequential learning

关键词

sequential modeling, context modeling, long-range dependency

序列数据

  • 连续时间
    • 语音
  • 离散时间
    • 文本
      -

方法论

  • 基于学习的方法
    • 无监督学习
    • 监督学习

方法汇总

  • pooling
    • mean/sum pooling
  • CNN
  • RNN
  • CRF
  • Self-Attention

问题

  • long-range dependency

context

上下文很重要,比如以下这句话:

“I arrived at the bank after crossing the…” 要知道bank的意思,最后一个词是“road”还是“river”很重要。

RNN

优点

  • 长依赖: RNN的成功引入, 解决了长距离依赖的问题, 而且引入了上下文和记忆的概念。
  • LSTM: 相对传统RNN

缺点

  • 非线性数目:
  • 编码能力弱: 没有attention的RNN,对长序列编码能力较弱
  • 难并行:training阶段RNN很难并行
  • 决策步骤太长: RNN需要一个个地读取bank到river之间的所有单词,才能够确定bank的实际意义。
  • 难优化:
  • 计算低效

另外,由于RNN是时序处理,在GPU上不易并行化

这两点说的太好了,赞,赞。

CNN

优点:

  • 易并行:CNN的计算不存在序列依赖问题,training时容易并行化
  • 易优化:CNN的非线性单元的数目固定,容易优化。而RNN的非线性单元随序列长度变化
  • 依赖路径更短: conv在处理dependency问题时,利用卷积的感受野receptive field,通过堆叠卷积层来扩大每个encoder输出位置所覆盖单词的范围,每个单词走的路径大致是$log_{k}n$步,缩短了dependency的长度。
    • 对于距离为n的长依赖,RNN的复杂度是O(n), CNN的复杂度是O(n/k),k是kernel width
  • gated linear units

缺点

  • most dependencies are local
  • finite context
    • RNN和self attention则是unbounded context
  • Path length between positions can be logarithmic
  • when using dilated convolutions, left-padding for text
  • Constant path length between any two positions
  • Gating/multiplication enables crisp error propagation

-

self attention

  • 句子中的单词dependency长度最多只有1,减少了信息传输路径
  • 这种attention的方式直接可以挖掘句子内部单词与单词的语义组合关系,将它作为一个语义整体,使得翻译时更好地利用单词组合甚至是短语的信息,更好地decode出语义匹配的目标语言单词
    • 这里的单词组合不仅仅是局部上下文,而是更长的距离的单词组合

缺陷:

  • 获得任意长度word dependency的同时,丢失了位置信息。
    • 解决办法,slef-attention的同时,加入位置依赖的attention
    • positon enhanced self-attention: ss

其他

  • long-dependency问题:

    LSTM引以为豪的是long-dependency较好。实际上CNN也可以通过堆叠CNN层来增大感受野,实现long-dependency。


或者dilated convolutions

  • ll
    ted convolutions
  • ll