返回介绍

数学基础

统计学习

深度学习

工具

Scala

十五、Phased LSTM [2016]

发布于 2023-07-17 23:38:23 字数 73607 浏览 0 评论 0 收藏 0

  1. RNN 通常被建模为离散时间动态系统 discrete-time dynamical system,从而隐含地假设了输入信号的恒定采样率 constant sampling rate,这也成为递归单元recurrent unit和前馈单元feed-forward unit的更新频率。虽然已有一些早期的工作已经意识到恒定采样率带来的局限性,但是绝大多数现代 RNN 的实现都采用固定的 time step

    尽管固定的 time step 完全适合许多 RNNapplication,但是在一些重要的场景中,恒定的采样率会对 RNN 的效率和效果造成限制。许多现实世界中的自动驾驶或机器人任务需要整合来自各种传感器的输入,每个传感器都可能有自己的数据采样率。为此,论文 《Phased LSTM: Accelerating Recurrent Network Training for Long or Event-based Sequences》提出了一个新的 RNN 模型,它可以处理在异步时间采样的输入。

15.1 模型

  1. long short-term memory: LSTM 单元是现代深度 RNN 架构的一个重要组成部分。我们首先定义它们的更新方程:

    it=σi(Wx(i)xt+Wh(i)ht1+wc(i)ct1+b(i))ft=σf(Wx(f)xt+Wh(f)ht1+wc(f)ct1+b(f))ct=ftct1+itσc(Wx(c)xt+Wh(c)ht1+b(c))ot=σo(Wx(o)xt+Wh(o)ht1+wc(o)ct+b(o))ht=otσh(ct)

    其中:

    • it$ \mathbf{\vec i}_t $ 为输入门 input gateft$ \mathbf{\vec f}_t $ 为遗忘门 forget gateot$ \mathbf{\vec o}_t $ 为输出门 output gatect$ \mathbf{\vec c}_t $ 为 cell activation vectorht$ \mathbf{\vec h}_t $ 为 hidden state vectorxt$ \mathbf{\vec x}_t $ 为 input feature vector
    • σ$ \sigma $ 为激活函数,其中σi,σf,σo$ \sigma_i,\sigma_f,\sigma_o $ 通常为 sigmoid 非线性激活函数,而σc,σh$ \sigma_c,\sigma_h $ 通常为 tanh 非线性激活函数。
    • Wx(),Wh(),b(),wc()$ \mathbf W_x^{(\cdot)},\mathbf W_h^{(\cdot)},\mathbf{\vec b}^{(\cdot)},\mathbf {\vec w}_c^{(\cdot)} $ 均为待学习的参数,其中wc()$ \mathbf{\vec w}_c^{(\cdot)} $ 是可选的(目前主流的 LSTM 的实现并未引入这一项)。
    • $ \odot $ 为逐元素乘积,即 Hadamard product
  2. Phased LSTM 通过增加一个新的 time gatekt$ \mathbf{\vec k}_t $ 来扩展 LSTM 模型,如下图 (b) 所示。time gate 的打开和关闭是由三个参数指定的、独立的 rhythmic oscillation 所控制的,只有当 time gate 打开时才允许更新 cell statect$ \mathbf{\vec c}_t $ 和 hidden stateht$ \mathbf{\vec h}_t $ 。这三个参数为:

    • τ$ \tau $ :控制 oscillation 的实时周期 real-time period
    • ron$ r_\text{on} $ :控制 open 阶段的持续时间与整个周期的占比。
    • s$ s $ :控制每个 Phased LSTM celloscillation 的阶段偏移 phase shift

    所有这些参数都可以在训练过程中学习。

  3. 虽然 Phased LSTM 可能有很多变体,但是这里我们提出了一个特别成功的线性化的 time gate 公式。这种 time gate 类似于 rectified linear: ReLU 单元,可以很好地传播梯度:

    ϕt=(ts)modττ,kt={2ϕtron,ifϕt<ron222ϕtron,ifron2<ϕt<ronαϕt,otherwise

    其中:

    • ϕt$ \phi_t $ 是一个辅助变量,它代表了 rhythmic cycle 内的阶段phasetime gatekt$ k_t $ 有三个阶段,如下图所示。

      • 在前两个阶段,time gateopenness0 上升到 1 (第一阶段)、以及从 1 下降到 0 (第二阶段)。
      • 在第三阶段,time gate 被关闭,从而保持之前的 cell state
    • α$ \alpha $ 是一个超参数(一个很小的正数),表示在 time gate 在关闭阶段也是部分活跃的,这类似于 ReLUleaky 参数的作用。

    由于kt$ k_t $ 是线性函数,因此可以高效地进行梯度传播。

    time gate 的周期τ$ \tau $ 、相位s$ s $ 、打开时间占比ron$ r_\text{on} $ 都是从数据中学到的,而不是人工指定的。

  4. 与传统的 RNN 甚至 RNN 的稀疏变体相比,Phased LSTM 中的更新可以选择在不规则采样的时间点tj$ t_j $ 进行。这使得 RNN 可以与事件驱动event-driven的、异步采样的输入数据一起工作。

    为了便于表述,我们用符号cj$ \mathbf{\vec c}_j $ 表示时间点tj$ t_j $ 的 cell state (因此标准的记法是ctj$ \mathbf{\vec c}_{t_j} $ ),其它的符号也是类似的记法。引入 time gate 之后,我们重写 LSTM 单元中 cell statehidden state 的更新方程(输入门、输出门、遗忘门的更新方程不变):

    c~j=fjcj1+ijσc(Wx(c)xj+Wh(c)hj1+b(c))cj=kjc~j+(1kj)cj1h~j=ojσh(c~j)hj=kjh~j+(1kj)hj1

    注意:前面提供的 time gate 是一个标量,这里写作向量,因为输入特征向量的每个维度可能来自于不同的数据源因此可能具有不同的time gate 值。如下图 (a) 所示,就是 3 个维度。

    下图是 Phased LSTM 的示意图,以及 cell state 输出的示意图。

    注意:当且仅当 time gate 打开的时候(占比ron$ r_\text{on} $ ),Phased LSTM 才能更新 cell statehidden state。大多数 time step 都不会更新 cell statehidden state

    换个思路,是否更新 cell statehidden state 是否可以由 attention 来决定,而不是由 time gate 来决定?

  5. 这种 Phased LSTM 公式的一个关键优势在于 memory decay 的速度。

    考虑一个简单的任务:如果没有收到额外的输入,则保持初始的 memory statec0$ \mathbf{\vec c}_0 $ 一直不变,即在所有 time stepij=0$ \mathbf{\vec i}_j = \mathbf{\vec 0} $ 。一个标准的、具有几乎完全放开的遗忘门(即,fj=1ϵ$ \mathbf{\vec f}_j = 1-\epsilon $ ,ϵ$ \epsilon $ 为一个很小的正数)的 LSTM ,在经过n$ n $ 个 step 之后,其 memory state 为:

    cn=fncn1=(1ϵ)(fn1cn2)==(1ϵ)nc0

    这意味着 memory 随着每个 time step 呈指数级衰减。

    相反,Phased LSTMmemory 仅在 time gateopen 期间衰减,而在 close 期间得到保持。因此,在单个 oscillation 周期的长度τ$ \tau $ 中,单元仅在ron×τ$ r_\text{on}\times\tau $ 的持续时间内更新,这将导致远少于n$ n $ 的更新 step 。由于这种 cyclic memoryPhased LSTM 可以通过参数τ$ \tau $ 拥有更长的、可调整的 memory length

  6. oscillation 迫使单元的更新变得稀疏,因此大大减少了网络运行过程中的总更新次数。在训练过程中,这种稀疏性确保了梯度需要通过更少的 updating time-step 进行反向传播、允许无衰减undecayed的梯度通过时间进行反向传播、并允许更快的学习收敛。

    LSTM 的输入门和遗忘门对 cell statect$ \mathbf{\vec c}_t $ (及其梯度)的屏蔽类似,time gate 防止外部输入和 time step 来干扰 cell state 的梯度。

    这种屏蔽策略既是优势,也是劣势:

    • 优势如文章所述,使得模型的更新更稀疏,计算效率更高、梯度传播效率更高、收敛速度更快。
    • 劣势是,丢弃了大量的 input 信息,这些被丢弃的信息可能对 label 预测至关重要。

15.2 实验

  1. 在所有实验中,网络是使用 Adam 优化器并采用默认的学习率参数。除非另有说明,否则在训练期间设置 leak rateα=0.001$ \alpha = 0.001 $ ,在测试期间设置α=0$ \alpha = 0 $ 。每个神经元的 phase shifts$ s $ 从区间[0,τ]$ [0,\tau] $ 中均匀选择。参数τ$ \tau $ 和s$ s $ 是从训练中学到的,而 open ratioron$ r_\text{on} $ 固定为 0.05 并且不作调整(除了在第一个任务中,为了说明模型在学习所有参数时可以成功训练,我们也训练ron$ r_\text{on} $ )。

15.2.1 频率识别任务

  1. 第一个实验是识别来自不同频率集合的两类正弦波:第一类正弦波的周期从均匀分布TU(5,6)$ T\sim \mathcal U(5,6) $ 中采样而来,第二类正弦波的周期从均匀分布T{U(1,5}U(6,100)}$ T\sim \{\mathcal U(1,5\} \cup \mathcal U(6,100)\} $ 中采样而来。

    该任务说明了 Phased LSTM 的优势,因为它涉及周期性激励并且需要精细的时间识别 timing discrimination

    输入以 pair<y,t>$$ 来给出,其中y$ y $ 是样本的幅值、t$ t $ 是样本的时间戳timestamp ,而样本来自于输入的正弦波。

  2. 下图说明了这项任务:基于样本(以圆圈来表示),蓝色曲线必须与浅色曲线分离。我们评估了对输入信号采样的三种条件:

    • 在标准条件下(图 (a)),正弦波每 1 毫秒被规则地采样。
    • 在过采样条件下(图 (b)),正弦波每 0.1 毫秒被规则地采样,从而得到 10 倍的数据点。
    • 在异步采样条件下(图 (c)),在输入的持续时间内,以异步的时间采集样本。

    此外,正弦波还具有以下特性:

    • 具有一个从所有可能的 shift 中随机均匀采样的 random phase shift
    • 具有从U(15,125)$ \mathcal U(15,125) $ 中随机采样的数字作为样本总数。
    • 具有从U(15,125)$ \mathcal U(15,125) $ 中随机采样一个持续时间 duration
    • 具有从U(0,125duration)$ \mathcal U(0,125-\text{duration}) $ 中随机采样一个开始时间 start time

    异步采样和标准采样的样本数量是相等的。样本的类别大致均衡,各占 50% 左右。

  3. 我们在该数据上训练单层 RNN,但是采用不同的 RNN 模型:Phased LSTM、常规 LSTMbatch-normalized(BN) LSTM 。每个模型都重复五次,每次使用不同的随机初始化种子。

    • 对于常规 LSTMBN-LSTM,时间戳被用作额外的输入特征维度。对于 Phased LSTM,时间戳控制 time tatekt$ \mathbf{\vec k}_t $ 。
    • LSTMBN-LSTM 的结构为 2-110-2 ,而 Phased LSTM 的结构为 1-110-2
    • Phased LSTMoscillation periodτ$ \tau $ 在指数空间中均匀地采样,从而提供各种适用的频率,即τexp(U(0,3))$ \tau\sim \exp(\mathcal U(0,3)) $ 。所有其它参数匹配对应的模型。
    • 默认的 LSTM 参数由 Lasagne Theano 实现给出,并在 LSTM, BN-LSTM, Phased LSTM 中保持。
  4. 结果:

    • 正如预期所示,所有三个网络在标准采样条件下都表现出色,如上图 (d left) 所示。

    • 然而,对于相同数量的 epoch,将数据采样增加 10 倍对 LSTMBN-LSTM 都具有毁灭性的影响,从而将它们的准确率降低到几乎是偶然的(图 (d middle))。

      据推测,如果给予足够的训练迭代,它们的准确率将恢复到正常的 baseline 。然而,对于过采样条件,Phased LSTM 实际上提高了准确率,因为它接收到关于基础波形的更多信息。

    • 最后,在异步采样条件下,即使采用与标准采样条件下相同数量的采样点,对于传统的 state-of-the-art 模型而言,这似乎也是相当具有挑战性的(图 (d, right))。

      但是,Phased LSTM 对异步采样的数据没有任何困难,因为 time gatekt$ \mathbf{\vec k}_t $ 不需要定期更新,并且可以在周期内的任何连续时间正确采样。

  5. 我们通过在由两个正弦波合成的信号上训练相同的 RNN 结构来扩展之前的任务。目标是区分以下两个合成信号:

    • 第一个合成信号是由周期为T1U(5,6)$ T_1\sim \mathcal U(5,6) $ 和T2U(13,15)$ T_2\sim \mathcal U(13,15) $ 的正弦波组成,每个正弦波都具有独立的相位。
    • 第二个合成信号是由周期为T1{U(1,5)U(6,100}$ T_1\sim \{\mathcal U(1,5)\cup \mathcal U(6,100\} $ 和T2{U(1,13)U(15,100)}$ T_2\sim \{\mathcal U(1,13)\cup \mathcal U(15,100)\} $ 的正弦波组成,每个正弦波也是具有独立的相位。

    尽管更具有挑战性,但是下图 (a) 展示了与使用完全相同的参数的标准方法相比,Phased LSTM 收敛到正确的解的速度有多快。此外,Phased LSTM 在训练期间似乎表现出非常低的方差。

15.2.2 加法任务

  1. 为了研究在需要 long memory 时引入 time gate 如何帮助学习,我们重新研究了一个称作 adding task 的原始 LSTM 任务。在这个任务中,会展示一个随机数序列、以及一个 indicator 序列。当 indicator 的取值为 0 时,对应的随机数被忽略;当 indicator 的取值为 1 时,对应的随机数被加起来。在过程结束时,网络输出所有被加起来的随机数的 sum

    与之前的任务不同,输入中没有固定的周期性,这是 LSTM 被设计用来解决的原始任务之一。这似乎与 Phased LSTM 的优势相悖,但对于 time gatekt$ \mathbf{\vec k}_t $ ,使用更长的时间可以允许更有效的训练,因为一个单元在训练期间仅打开少数几个 time step

  2. 在这个任务中,我们从U(0.5,0.5)$ \mathcal U(-0.5,0.5) $ 之间随机采样随机数序列(序列长度为 490510 )。随机数序列中只有两个数被标记为相加:

    • 第一个数来自于序列的前面 10%,具体的位置是均匀随机的。
    • 第二个数来自于序列的后面 50%,具体的位置也是均匀随机的。

    这导致生成一个长的、且充满噪音的数据流,其中只有少数几个重要的数据点。更重要的是,这会挑战 Phased LSTM 模型,因为没有固定的周期性,并且每个 time step 都可能包含重要的标记点marked point

  3. 我们使用前面相同的网络架构。周期τ$ \tau $ 在指数范围内均匀采样,并且对比了四个采样区间exp(U(0,2)),exp(U(2,4)),exp(U(4,6)),exp(U(6,8))$ \exp(\mathcal U(0,2)),\exp(\mathcal U(2,4)),\exp(\mathcal U(4,6)),\exp(\mathcal U(6,8)) $ 。注意,尽管τ$ \tau $ 值不同,但是 LSTM 更新的总数仍然大致相同,因为整体稀疏性由ron$ r_\text{on} $ 设置。然而,较长的周期τ$ \tau $ 在反向传播中为梯度提供了对过去 time step 的更长的 jump

    此外,我们研究了该模型是否可以在使用更长的周期时更有效地学习更长的序列。通过改变周期τ$ \tau $ ,在上图 (b) 中的结果显示:更长的τ$ \tau $ 加速了网络的训练,从而更快地学习更长的序列。

15.2.3 N-MNIST Event-Based 的视觉识别

  1. 为了测试真实世界异步采样数据的性能,我们利用公开可用的 N-MNIST 数据集来测试 neuromorphic vision 。记录来自于 event-based 的视觉传感器,该传感器对局部时间对比度变化local temporal contrast change很敏感。当像素的局部对比度变化超过阈值时,会从该像素生成事件 event 。每个事件都被编码为一个 4 元组:<x,y,p,t> ,其中(x,y)$ (x,y) $ 为像素的位置,polarity bitp$ p $ 表示对比度增加或减少,t$ t $ 为事件生成的时间戳。

    这些记录由视觉传感器vision sensor生成的事件组成,而传感器面对来自 MNIST 数据集的静态数字执行三个扫视运动saccadic movement (如下图 (a) 所示)。事件响应的例子可以在下图 (c) 中看到。

    在以前的、使用 event-based 输入数据的工作中,有时会删除时序信息,而是通过计算某个时间段内的 pixel-wiseevent-rate 来生成 frame-based representation ,如下图 (b) 所示。注意,下图 (c) 中事件的时空表面 spatio-temporal surface 比模糊的、frame-basedrepresentation 更清楚地解释了数字的细节。Phased LSTM 允许我们直接对此类时空事件流 spatio-temporal event stream 进行操作。

  2. baseline 方法:

    • 一个CNN 网络在 N-MNIST 数字的 frame-based representation 上进行训练。
    • 一个 BN-LSTM 直接在 event stream 上进行训练。
    • 一个 Phased LSTM 也直接在 event stream 上进行训练。

    我们没有展示常规的 LSTM,因为发现它的性能更差。

    CNN 由三组如下的交替层alternating layers组成:一个带 leakyReLU 非线性激活函数的卷积层(85 x 5 的卷积核)、一个 2 x 2 最大池化层。所有的交替层一共 6layer 。然后连接到一个全连接层(隐层维度 256),最后全连接到 10 个输出类。

    事件的像素地址(x,y)$ (x,y) $ 用于通过一个学到的 embedding 矩阵来生成 40 维的 embedding 向量,并与polarityp$ p $ 相结合从而生成输入。因此,Phased LSTM 的网络架构为 41-110-10 (时间戳作为 time-gate 而不是 input ),BN-LSTM 的网络架构为 42-110-10 (时间戳作为 BN-LSTM 的额外输入维度)。

  3. 下表总结了三种不同模型的分类结果。结果显式: Phased LSTM 的训练速度比其它模型更快,并且即使在训练的第一个 epoch 内也能以更低的方差实现更高的准确率。

    我们进一步定义一个因子ρ$ \rho $ ,它表示一个事件被包含的概率,即ρ=1.0$ \rho=1.0 $ 表示包含所有事件。所有 RNN 模型以ρ=0.75$ \rho=0.75 $ 进行训练和测试,并且 Phased LSTM 的性能再次略高于 BN-LSTM 模型。在ρ=0.4$ \rho=0.4 $ (包含较少事件)、以及ρ=1.0$ \rho=1.0 $ (包含较多事件)的情况下进行测试而不进行重新训练时,两个 RNN 模型都表现良好并且大大优于 CNN 。这是因为当整体峰值率overall spike rate 发生改变时,CNNframe-based input 的累积统计数据会发生巨大变化。Phased LSTM 似乎已经在输入上学习了一个稳定的 spatio-temporal surface ,并且只通过更多或更少的采样来略微被调整。

    最后,由于 Phased LSTM 的每个神经元仅更新了大约 5% 的时间,与 BN-LSTM 的每个神经元需要 3153 次更新相比,平均只需要 159 次更新。这导致 Phased LSTMrun time 减少了大约 20 倍的计算成本。值得注意的是,Phased LSTM 的结果对于这个数据集而言形成了一个新的 state-of-the-art 准确率。

15.2.4 用于唇读的视觉听觉传感器融合

  1. 最后我们展示了 Phased LSTM 在涉及具有不同采样率的传感器的任务中的使用。很少有 RNN 模型尝试合并不同输入频率的传感器,因为不同传感器的采样率可能会有很大差异。

    对于该任务,我们使用 GRID 数据集。该语料库包含 30speaker 的视频和音频,每个 speaker 说出 1000 个句子,这些句子由固定的语法和 51 个单词的有限词汇组成。数据被随机拆分为 90% 的训练集和 10% 的测试集。

    我们在视频流上使用一个基于 OpenCV 的人脸检测器 face detector 的实现来抽取人脸,然后将其调整为灰度的 48 x 48 像素。这里的目标是获得一个模型,该模型可以单独使用音频、单独使用视频、或者同时使用两个输入来对句子进行可靠的分类。然而,由于单独的音频足以达到 99% 以上的准确率,因此我们在训练过程中将传感器模态 sensor modality 随机 mask 为零,从而鼓励模型对传感器噪音和损失的鲁棒性。

  2. 网络架构首先分别处理视频数据和音频数据:

    • 视频流使用三组这样的交替层alternating layers:一个卷积层(165 x 5 的卷积核)、一个 2 x 2 的池化层。 所有的交替层共计 6layer,将1 x 48 x 48 的输入降低到 16 x 2 x 2 ,然后将连接到 110 个循环单元。
    • 音频流将 39 维的 MFCC13MFCC 及其一阶导数和二阶导数)连接到 150 个循环单元。

    两个 stream 汇聚到具有 250 个循环单元的 Merged-1 层,并连接到具有 250 个循环单元的 Merged-2 层。Merged-2 层的输出全连接到 51 个输出节点,代表 GRID 的词表 vocabulary 。对于 Phased LSTM 网络,所有循环单元都是 Phased LSTM 单元。

    在音频和视频的 Phased LSTM 层中,我们手动将 time gateopen period 与输入的采样时间对齐,并禁用τ$ \tau $ 和s$ s $ 参数的学习(参考下图 (a))。这可以防止在没有数据的情况下向网络呈现零值或人工插值。然而,在 merged layer 中,time gate 的参数是学到的,Merged-1 层的 period 参数τ$ \tau $ 采样自U(10,1000)$ \mathcal U(10,1000) $ 、Merged-2 层的 period 参数τ$ \tau $ 采样自U(500,3000)$ \mathcal U(500,3000) $ 。下图 (b) 展示了一帧视频的可视化、以及一个音频样本的完整持续时间。

    在评估过程中,所有网络在 audio-onlyaudio-video 输入上的准确率均超过 98%。然而在具有 audio-video 能力的网络上进行 video-only 评估被证明是最具挑战性的,因此我们没有评估 video-only 的结果。

    即,这里的评估以音频为主、视频作为辅助。

    我们使用两种不同采样率的数据版本, audio-video 输入上的结果如下图 (c) 所示 :

    • 在第一个 low-resolution 版本中(下图(c) 的顶部),MFCC 的采样率与 25fps 视频的采样率相匹配。
    • 在第二个 high-resolution 版本中(下图 (c)的底部,以及下图 (a)),MFCC 的采样率设置为更常见的 100Hz

    较高的音频采样率并没有提高准确性,但是允许更短的延迟(10ms 而不是 40ms)。Phased LSTM 的收敛速度再次显著快于 LSTMBN-LSTM81.15% 的峰值准确率优于 lipreading-focusedstate-of-the-art 方法,同时避免了人工制作的特征。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文