数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
十五、Phased LSTM [2016]
RNN
通常被建模为离散时间动态系统discrete-time dynamical system
,从而隐含地假设了输入信号的恒定采样率constant sampling rate
,这也成为递归单元recurrent unit
和前馈单元feed-forward unit
的更新频率。虽然已有一些早期的工作已经意识到恒定采样率带来的局限性,但是绝大多数现代RNN
的实现都采用固定的time step
。尽管固定的
time step
完全适合许多RNN
的application
,但是在一些重要的场景中,恒定的采样率会对RNN
的效率和效果造成限制。许多现实世界中的自动驾驶或机器人任务需要整合来自各种传感器的输入,每个传感器都可能有自己的数据采样率。为此,论文《Phased LSTM: Accelerating Recurrent Network Training for Long or Event-based Sequences》
提出了一个新的RNN
模型,它可以处理在异步时间采样的输入。
15.1 模型
long short-term memory: LSTM
单元是现代深度RNN
架构的一个重要组成部分。我们首先定义它们的更新方程:其中:
$ \mathbf{\vec i}_t $ 为输入门input gate
, $ \mathbf{\vec f}_t $ 为遗忘门forget gate
, $ \mathbf{\vec o}_t $ 为输出门output gate
, $ \mathbf{\vec c}_t $ 为cell activation vector
, $ \mathbf{\vec h}_t $ 为hidden state vector
, $ \mathbf{\vec x}_t $ 为input feature vector
。 $ \sigma $ 为激活函数,其中 $ \sigma_i,\sigma_f,\sigma_o $ 通常为sigmoid
非线性激活函数,而 $ \sigma_c,\sigma_h $ 通常为tanh
非线性激活函数。 $ \mathbf W_x^{(\cdot)},\mathbf W_h^{(\cdot)},\mathbf{\vec b}^{(\cdot)},\mathbf {\vec w}_c^{(\cdot)} $ 均为待学习的参数,其中 $ \mathbf{\vec w}_c^{(\cdot)} $ 是可选的(目前主流的LSTM
的实现并未引入这一项)。 $ \odot $ 为逐元素乘积,即Hadamard product
。
Phased LSTM
通过增加一个新的time gate
$ \mathbf{\vec k}_t $ 来扩展LSTM
模型,如下图(b)
所示。time gate
的打开和关闭是由三个参数指定的、独立的rhythmic oscillation
所控制的,只有当time gate
打开时才允许更新cell state
$ \mathbf{\vec c}_t $ 和hidden state
$ \mathbf{\vec h}_t $ 。这三个参数为: $ \tau $ :控制oscillation
的实时周期real-time period
。 $ r_\text{on} $ :控制open
阶段的持续时间与整个周期的占比。 $ s $ :控制每个Phased LSTM cell
的oscillation
的阶段偏移phase shift
。
所有这些参数都可以在训练过程中学习。
虽然
Phased LSTM
可能有很多变体,但是这里我们提出了一个特别成功的线性化的time gate
公式。这种time gate
类似于rectified linear: ReLU
单元,可以很好地传播梯度:其中:
$ \phi_t $ 是一个辅助变量,它代表了rhythmic cycle
内的阶段phase
。time gate
$ k_t $ 有三个阶段,如下图所示。- 在前两个阶段,
time gate
的openness
从0
上升到1
(第一阶段)、以及从1
下降到0
(第二阶段)。 - 在第三阶段,
time gate
被关闭,从而保持之前的cell state
。
- 在前两个阶段,
$ \alpha $ 是一个超参数(一个很小的正数),表示在time gate
在关闭阶段也是部分活跃的,这类似于ReLU
的leaky
参数的作用。
由于
$ k_t $ 是线性函数,因此可以高效地进行梯度传播。time gate
的周期 $ \tau $ 、相位 $ s $ 、打开时间占比 $ r_\text{on} $ 都是从数据中学到的,而不是人工指定的。与传统的
RNN
甚至RNN
的稀疏变体相比,Phased LSTM
中的更新可以选择在不规则采样的时间点 $ t_j $ 进行。这使得RNN
可以与事件驱动event-driven
的、异步采样的输入数据一起工作。为了便于表述,我们用符号
$ \mathbf{\vec c}_j $ 表示时间点 $ t_j $ 的cell state
(因此标准的记法是 $ \mathbf{\vec c}_{t_j} $ ),其它的符号也是类似的记法。引入time gate
之后,我们重写LSTM
单元中cell state
和hidden state
的更新方程(输入门、输出门、遗忘门的更新方程不变):注意:前面提供的
time gate
是一个标量,这里写作向量,因为输入特征向量的每个维度可能来自于不同的数据源因此可能具有不同的time gate
值。如下图(a)
所示,就是3
个维度。下图是
Phased LSTM
的示意图,以及cell state
输出的示意图。注意:当且仅当
time gate
打开的时候(占比 $ r_\text{on} $ ),Phased LSTM
才能更新cell state
和hidden state
。大多数time step
都不会更新cell state
和hidden state
。换个思路,是否更新
cell state
和hidden state
是否可以由attention
来决定,而不是由time gate
来决定?这种
Phased LSTM
公式的一个关键优势在于memory decay
的速度。考虑一个简单的任务:如果没有收到额外的输入,则保持初始的
memory state
$ \mathbf{\vec c}_0 $ 一直不变,即在所有time step
中 $ \mathbf{\vec i}_j = \mathbf{\vec 0} $ 。一个标准的、具有几乎完全放开的遗忘门(即, $ \mathbf{\vec f}_j = 1-\epsilon $ , $ \epsilon $ 为一个很小的正数)的LSTM
,在经过 $ n $ 个step
之后,其memory state
为:这意味着
memory
随着每个time step
呈指数级衰减。相反,
Phased LSTM
的memory
仅在time gate
的open
期间衰减,而在close
期间得到保持。因此,在单个oscillation
周期的长度 $ \tau $ 中,单元仅在 $ r_\text{on}\times\tau $ 的持续时间内更新,这将导致远少于 $ n $ 的更新step
。由于这种cyclic memory
,Phased LSTM
可以通过参数 $ \tau $ 拥有更长的、可调整的memory length
。oscillation
迫使单元的更新变得稀疏,因此大大减少了网络运行过程中的总更新次数。在训练过程中,这种稀疏性确保了梯度需要通过更少的updating time-step
进行反向传播、允许无衰减undecayed
的梯度通过时间进行反向传播、并允许更快的学习收敛。与
LSTM
的输入门和遗忘门对cell state
$ \mathbf{\vec c}_t $ (及其梯度)的屏蔽类似,time gate
防止外部输入和time step
来干扰cell state
的梯度。这种屏蔽策略既是优势,也是劣势:
- 优势如文章所述,使得模型的更新更稀疏,计算效率更高、梯度传播效率更高、收敛速度更快。
- 劣势是,丢弃了大量的
input
信息,这些被丢弃的信息可能对label
预测至关重要。
15.2 实验
- 在所有实验中,网络是使用
Adam
优化器并采用默认的学习率参数。除非另有说明,否则在训练期间设置leak rate
为 $ \alpha = 0.001 $ ,在测试期间设置 $ \alpha = 0 $ 。每个神经元的phase shift
$ s $ 从区间 $ [0,\tau] $ 中均匀选择。参数 $ \tau $ 和 $ s $ 是从训练中学到的,而open ratio
$ r_\text{on} $ 固定为0.05
并且不作调整(除了在第一个任务中,为了说明模型在学习所有参数时可以成功训练,我们也训练 $ r_\text{on} $ )。
15.2.1 频率识别任务
第一个实验是识别来自不同频率集合的两类正弦波:第一类正弦波的周期从均匀分布
$ T\sim \mathcal U(5,6) $ 中采样而来,第二类正弦波的周期从均匀分布 $ T\sim \{\mathcal U(1,5\} \cup \mathcal U(6,100)\} $ 中采样而来。该任务说明了
Phased LSTM
的优势,因为它涉及周期性激励并且需要精细的时间识别timing discrimination
。输入以
pair
$$ 来给出,其中 $ y $ 是样本的幅值、 $ t $ 是样本的时间戳timestamp
,而样本来自于输入的正弦波。下图说明了这项任务:基于样本(以圆圈来表示),蓝色曲线必须与浅色曲线分离。我们评估了对输入信号采样的三种条件:
- 在标准条件下(图
(a)
),正弦波每1
毫秒被规则地采样。 - 在过采样条件下(图
(b)
),正弦波每0.1
毫秒被规则地采样,从而得到10
倍的数据点。 - 在异步采样条件下(图
(c)
),在输入的持续时间内,以异步的时间采集样本。
此外,正弦波还具有以下特性:
- 具有一个从所有可能的
shift
中随机均匀采样的random phase shift
。 - 具有从
$ \mathcal U(15,125) $ 中随机采样的数字作为样本总数。 - 具有从
$ \mathcal U(15,125) $ 中随机采样一个持续时间duration
。 - 具有从
$ \mathcal U(0,125-\text{duration}) $ 中随机采样一个开始时间start time
。
异步采样和标准采样的样本数量是相等的。样本的类别大致均衡,各占
50%
左右。- 在标准条件下(图
我们在该数据上训练单层
RNN
,但是采用不同的RNN
模型:Phased LSTM
、常规LSTM
、batch-normalized(BN) LSTM
。每个模型都重复五次,每次使用不同的随机初始化种子。- 对于常规
LSTM
和BN-LSTM
,时间戳被用作额外的输入特征维度。对于Phased LSTM
,时间戳控制time tate
$ \mathbf{\vec k}_t $ 。 LSTM
和BN-LSTM
的结构为2-110-2
,而Phased LSTM
的结构为1-110-2
。Phased LSTM
的oscillation period
$ \tau $ 在指数空间中均匀地采样,从而提供各种适用的频率,即 $ \tau\sim \exp(\mathcal U(0,3)) $ 。所有其它参数匹配对应的模型。- 默认的
LSTM
参数由Lasagne Theano
实现给出,并在LSTM, BN-LSTM, Phased LSTM
中保持。
- 对于常规
结果:
正如预期所示,所有三个网络在标准采样条件下都表现出色,如上图
(d left)
所示。然而,对于相同数量的
epoch
,将数据采样增加10
倍对LSTM
和BN-LSTM
都具有毁灭性的影响,从而将它们的准确率降低到几乎是偶然的(图(d middle)
)。据推测,如果给予足够的训练迭代,它们的准确率将恢复到正常的
baseline
。然而,对于过采样条件,Phased LSTM
实际上提高了准确率,因为它接收到关于基础波形的更多信息。最后,在异步采样条件下,即使采用与标准采样条件下相同数量的采样点,对于传统的
state-of-the-art
模型而言,这似乎也是相当具有挑战性的(图(d, right)
)。但是,
Phased LSTM
对异步采样的数据没有任何困难,因为time gate
$ \mathbf{\vec k}_t $ 不需要定期更新,并且可以在周期内的任何连续时间正确采样。
我们通过在由两个正弦波合成的信号上训练相同的
RNN
结构来扩展之前的任务。目标是区分以下两个合成信号:- 第一个合成信号是由周期为
$ T_1\sim \mathcal U(5,6) $ 和 $ T_2\sim \mathcal U(13,15) $ 的正弦波组成,每个正弦波都具有独立的相位。 - 第二个合成信号是由周期为
$ T_1\sim \{\mathcal U(1,5)\cup \mathcal U(6,100\} $ 和 $ T_2\sim \{\mathcal U(1,13)\cup \mathcal U(15,100)\} $ 的正弦波组成,每个正弦波也是具有独立的相位。
尽管更具有挑战性,但是下图
(a)
展示了与使用完全相同的参数的标准方法相比,Phased LSTM
收敛到正确的解的速度有多快。此外,Phased LSTM
在训练期间似乎表现出非常低的方差。- 第一个合成信号是由周期为
15.2.2 加法任务
为了研究在需要
long memory
时引入time gate
如何帮助学习,我们重新研究了一个称作adding task
的原始LSTM
任务。在这个任务中,会展示一个随机数序列、以及一个indicator
序列。当indicator
的取值为0
时,对应的随机数被忽略;当indicator
的取值为1
时,对应的随机数被加起来。在过程结束时,网络输出所有被加起来的随机数的sum
。与之前的任务不同,输入中没有固定的周期性,这是
LSTM
被设计用来解决的原始任务之一。这似乎与Phased LSTM
的优势相悖,但对于time gate
$ \mathbf{\vec k}_t $ ,使用更长的时间可以允许更有效的训练,因为一个单元在训练期间仅打开少数几个time step
。在这个任务中,我们从
$ \mathcal U(-0.5,0.5) $ 之间随机采样随机数序列(序列长度为490
到510
)。随机数序列中只有两个数被标记为相加:- 第一个数来自于序列的前面
10%
,具体的位置是均匀随机的。 - 第二个数来自于序列的后面
50%
,具体的位置也是均匀随机的。
这导致生成一个长的、且充满噪音的数据流,其中只有少数几个重要的数据点。更重要的是,这会挑战
Phased LSTM
模型,因为没有固定的周期性,并且每个time step
都可能包含重要的标记点marked point
。- 第一个数来自于序列的前面
我们使用前面相同的网络架构。周期
$ \tau $ 在指数范围内均匀采样,并且对比了四个采样区间 $ \exp(\mathcal U(0,2)),\exp(\mathcal U(2,4)),\exp(\mathcal U(4,6)),\exp(\mathcal U(6,8)) $ 。注意,尽管 $ \tau $ 值不同,但是LSTM
更新的总数仍然大致相同,因为整体稀疏性由 $ r_\text{on} $ 设置。然而,较长的周期 $ \tau $ 在反向传播中为梯度提供了对过去time step
的更长的jump
。此外,我们研究了该模型是否可以在使用更长的周期时更有效地学习更长的序列。通过改变周期
$ \tau $ ,在上图(b)
中的结果显示:更长的 $ \tau $ 加速了网络的训练,从而更快地学习更长的序列。
15.2.3 N-MNIST Event-Based 的视觉识别
为了测试真实世界异步采样数据的性能,我们利用公开可用的
N-MNIST
数据集来测试neuromorphic vision
。记录来自于event-based
的视觉传感器,该传感器对局部时间对比度变化local temporal contrast change
很敏感。当像素的局部对比度变化超过阈值时,会从该像素生成事件event
。每个事件都被编码为一个4
元组:<x,y,p,t>
,其中 $ (x,y) $ 为像素的位置,polarity bit
$ p $ 表示对比度增加或减少, $ t $ 为事件生成的时间戳。这些记录由视觉传感器
vision sensor
生成的事件组成,而传感器面对来自MNIST
数据集的静态数字执行三个扫视运动saccadic movement
(如下图(a)
所示)。事件响应的例子可以在下图(c)
中看到。在以前的、使用
event-based
输入数据的工作中,有时会删除时序信息,而是通过计算某个时间段内的pixel-wise
的event-rate
来生成frame-based representation
,如下图(b)
所示。注意,下图(c)
中事件的时空表面spatio-temporal surface
比模糊的、frame-based
的representation
更清楚地解释了数字的细节。Phased LSTM
允许我们直接对此类时空事件流spatio-temporal event stream
进行操作。baseline
方法:- 一个
CNN
网络在N-MNIST
数字的frame-based representation
上进行训练。 - 一个
BN-LSTM
直接在event stream
上进行训练。 - 一个
Phased LSTM
也直接在event stream
上进行训练。
我们没有展示常规的
LSTM
,因为发现它的性能更差。CNN
由三组如下的交替层alternating layers
组成:一个带leakyReLU
非线性激活函数的卷积层(8
个5 x 5
的卷积核)、一个2 x 2
最大池化层。所有的交替层一共6
个layer
。然后连接到一个全连接层(隐层维度256
),最后全连接到10
个输出类。事件的像素地址
$ (x,y) $ 用于通过一个学到的embedding
矩阵来生成40
维的embedding
向量,并与polarity
$ p $ 相结合从而生成输入。因此,Phased LSTM
的网络架构为41-110-10
(时间戳作为time-gate
而不是input
),BN-LSTM
的网络架构为42-110-10
(时间戳作为BN-LSTM
的额外输入维度)。- 一个
下表总结了三种不同模型的分类结果。结果显式:
Phased LSTM
的训练速度比其它模型更快,并且即使在训练的第一个epoch
内也能以更低的方差实现更高的准确率。我们进一步定义一个因子
$ \rho $ ,它表示一个事件被包含的概率,即 $ \rho=1.0 $ 表示包含所有事件。所有RNN
模型以 $ \rho=0.75 $ 进行训练和测试,并且Phased LSTM
的性能再次略高于BN-LSTM
模型。在 $ \rho=0.4 $ (包含较少事件)、以及 $ \rho=1.0 $ (包含较多事件)的情况下进行测试而不进行重新训练时,两个RNN
模型都表现良好并且大大优于CNN
。这是因为当整体峰值率overall spike rate
发生改变时,CNN
的frame-based input
的累积统计数据会发生巨大变化。Phased LSTM
似乎已经在输入上学习了一个稳定的spatio-temporal surface
,并且只通过更多或更少的采样来略微被调整。最后,由于
Phased LSTM
的每个神经元仅更新了大约5%
的时间,与BN-LSTM
的每个神经元需要3153
次更新相比,平均只需要159
次更新。这导致Phased LSTM
的run time
减少了大约20
倍的计算成本。值得注意的是,Phased LSTM
的结果对于这个数据集而言形成了一个新的state-of-the-art
准确率。
15.2.4 用于唇读的视觉听觉传感器融合
最后我们展示了
Phased LSTM
在涉及具有不同采样率的传感器的任务中的使用。很少有RNN
模型尝试合并不同输入频率的传感器,因为不同传感器的采样率可能会有很大差异。对于该任务,我们使用
GRID
数据集。该语料库包含30
个speaker
的视频和音频,每个speaker
说出1000
个句子,这些句子由固定的语法和51
个单词的有限词汇组成。数据被随机拆分为90%
的训练集和10%
的测试集。我们在视频流上使用一个基于
OpenCV
的人脸检测器face detector
的实现来抽取人脸,然后将其调整为灰度的48 x 48
像素。这里的目标是获得一个模型,该模型可以单独使用音频、单独使用视频、或者同时使用两个输入来对句子进行可靠的分类。然而,由于单独的音频足以达到99%
以上的准确率,因此我们在训练过程中将传感器模态sensor modality
随机mask
为零,从而鼓励模型对传感器噪音和损失的鲁棒性。网络架构首先分别处理视频数据和音频数据:
- 视频流使用三组这样的交替层
alternating layers
:一个卷积层(16
个5 x 5
的卷积核)、一个2 x 2
的池化层。 所有的交替层共计6
个layer
,将1 x 48 x 48
的输入降低到16 x 2 x 2
,然后将连接到110
个循环单元。 - 音频流将
39
维的MFCC
(13
个MFCC
及其一阶导数和二阶导数)连接到150
个循环单元。
两个
stream
汇聚到具有250
个循环单元的Merged-1
层,并连接到具有250
个循环单元的Merged-2
层。Merged-2
层的输出全连接到51
个输出节点,代表GRID
的词表vocabulary
。对于Phased LSTM
网络,所有循环单元都是Phased LSTM
单元。在音频和视频的
Phased LSTM
层中,我们手动将time gate
的open period
与输入的采样时间对齐,并禁用 $ \tau $ 和 $ s $ 参数的学习(参考下图(a)
)。这可以防止在没有数据的情况下向网络呈现零值或人工插值。然而,在merged layer
中,time gate
的参数是学到的,Merged-1
层的period
参数 $ \tau $ 采样自 $ \mathcal U(10,1000) $ 、Merged-2
层的period
参数 $ \tau $ 采样自 $ \mathcal U(500,3000) $ 。下图(b)
展示了一帧视频的可视化、以及一个音频样本的完整持续时间。在评估过程中,所有网络在
audio-only
和audio-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
的收敛速度再次显著快于LSTM
和BN-LSTM
。81.15%
的峰值准确率优于lipreading-focused
的state-of-the-art
方法,同时避免了人工制作的特征。- 视频流使用三组这样的交替层
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论