1

深度学习(十九)——LSTM进阶

 2 years ago
source link: http://antkillerfarm.github.io/dl/2017/10/10/Deep_Learning_19.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Capsule+

https://jhui.github.io/2017/11/14/Matrix-Capsules-with-EM-routing-Capsule-Network/

“Understanding Matrix capsules with EM Routing (Based on Hinton’s Capsule Networks)”

https://zhuanlan.zhihu.com/p/42864711

胶囊网络到底是什么东东?

https://zhuanlan.zhihu.com/p/32106577

酉变换与递归神经网络

https://github.com/freefuiiismyname/capsule-mrc

基于capsule的观点型阅读理解模型

https://mp.weixin.qq.com/s/cskdgsysD7R_FKChAKmlDg

利用Capsule重构过程,Hinton等人实现对抗样本的自动检测

https://mp.weixin.qq.com/s/7fBXMvT4eyZrKhPKQTAIZQ

你听说过胶囊网络吗?

https://www.cnblogs.com/CZiFan/p/9803067.html

CapsNet胶囊网络

https://mp.weixin.qq.com/s/F9SGZPZj6gup_nOVuDel6A

与胶囊网络异曲同工:Bengio等提出四元数循环神经网络

https://mp.weixin.qq.com/s/4o9XHGwx5lYsJ7YfUNHSoQ

百年老图难倒谷歌AI,网友:是鸭是兔?连我都不能确定

https://mp.weixin.qq.com/s/dN1p7nuv6xtnIsSuY73CcA

基于GNN,强于GNN:胶囊图神经网络的PyTorch实现

https://mp.weixin.qq.com/s/lcJcaiMtYXGVOwa_sVsVfA

Hinton老爷子CapsNet再升级,结合无监督,接近当前最佳效果

https://mp.weixin.qq.com/s/A0m3lkIBCTFf5bzTQlYbgQ

基于胶囊网络的计算机视觉应用

https://mp.weixin.qq.com/s/BqsFIUrVEVz5kOFh3W93gQ

胶囊网络升级新版本,推特2000+赞

https://zhuanlan.zhihu.com/p/106330900

解读-Stacked Capsule AutoEncoder-堆叠的胶囊自编码器

https://mp.weixin.qq.com/s/ubi1L1Zlh4yZqCjZnpD58w

Capsule Network深度解读

LSTM进阶

《Long short-term memory》

这是最早提出LSTM这个概念的论文。这篇论文偏重数学推导,实话说不太适合入门之用。但既然是起点,还是有列出来的必要。

《LSTM Neural Networks for Language Modeling》

这也是一篇重要的论文。

《Sequence to Sequence - Video to Text》

https://vsubhashini.github.io/s2vt.html

https://mp.weixin.qq.com/s/HqffHVMKJkA6H1E9ItQU4A

《sequence to sequence: video to text》视频描述的全文翻译

《Long-term Recurrent Convolutional Networks for Visual Recognition and Description》

Long-term Recurrent Convolutional Networks是LSTM的一种应用方式,它结合了LSTM、CNN、CRF等不同网络组件。

上图展示了LSTM在动作识别、图片和视频描述等任务中的网络结构。

上图展示了图片描述任务中几种不同的网络连接方式:

1.单层LRCN。

2.双层LRCN。CNN连接在第一个LSTM层。传统的LSTM只有一个输入,这里的CNN是第二个输入,也就是所谓的静态输入。可参看caffe的LSTM实现。

2.双层LRCN。CNN连接在第二个LSTM层。

这是视频描述任务中LSTM和CRF结合的示例。

《Training RNNs as Fast as CNNs》

这篇论文提出了如下图所示的Simple Recurrent Unit(SRU)的新结构:

由于普通LSTM计算步骤中,很多当前时刻的计算都依赖ht−1的值,导致整个网络的计算无法并行化。SRU针对这一点去掉了当前时刻计算对于ht−1的依赖,而仅保留Ct−1(这个计算较为廉价)以记忆信息,大大改善了整个RNN网络计算的并行性。

但是SRU的精度没有LSTM高,需要通过增加layer和filter的数量来达到相同的精度,当然即使这样,计算时间仍然小于LSTM。

https://mp.weixin.qq.com/s/PsIa3XDFqZlY2tKcvqvddw

Training RNNs as Fast as CNNs

《Neural Machine Translation in Linear Time》

该论文是Deepmind的作品,它提出的ByteNet,计算复杂度为线性,也是LSTM的优化方案之一。

《Long Short-Term Memory Based Recurrent Neural Network Architectures for Large Vocabulary Speech Recognition》

it=δ(Wixxt+Wimmt−1+Wicct−1+bi)ft=δ(Wfxxt+Wfmmt−1+Wfcct−1+bi)ct=ft⊙ct−1+it⊙g(Wcxxt+Wcmmt−1+bc)ot=δ(Woxxt+Wommt−1+Wocct+bo)mt=ot⊙h(ct)yt=Wymmt+by

上式是LSTM的公式(其中的最后一步在多数模型中,往往直接用yt=mt代替。),从中可以看出类似Wixxt+Wimmt−1+Wicct−1+bi的FC运算占据了LSTM的绝大部分运算量。其中W的参数量为:

W=nc×nc×4+ni×nc×4+nc×no+nc×3

为了精简相关运算,Google的Hasim Sak于2014年提出了LSTMP。

Hasim Sak,土耳其伊斯坦布尔海峡大学博士,Google研究员。

LSTMP的结构图如下:

改写成数学公式就是:

it=δ(Wixxt+Wimrt−1+Wicct−1+bi)ft=δ(Wfxxt+Wfmrt−1+Wfcct−1+bi)ct=ft⊙ct−1+it⊙g(Wcxxt+Wcmrt−1+bc)ot=δ(Woxxt+Womrt−1+Wocct+bo)mt=ot⊙h(ct)rt=Wrmmtpt=Wpmmtyt=Wyrrt+Wyppt+by

LSTMP的主要思想是对mt做一个映射,只有部分数据rt参与recurrent运算,其余部分pt直接输出即可(这一步是可选项,所以用虚框表示)。

这样W的参数量为:

W=nc×nr×4+ni×nc×4+nr×no+nc×nr+nc×3

参数量公式用蓝色和红色标出修改前后对应的部分,可以看出计算量有了明显下降。

http://blog.csdn.net/xmdxcsj/article/details/53326109

模型压缩lstmp

Android NN

Android NN除了支持原始版本的LSTM之外,还可支持peephole、CIFG、LSTMP、Layer Normalization等变种,以及它们的组合。其公式如下:

it=σ(LN(Wxixt+Whiht−1+WciCt−1)+bi)ft=σ(LN(Wxfxt+Whfht−1+WcfCt−1)+bf)Ct=clip(ft⊙Ct−1+it⊙g(LN(Wxcxt+Whcht−1)+bc),tcell)ot=σ(LN(Wxoxt+Whoht−1+WcoCt)+bo)clip(Wproj(ot⊙g(Ct))+bproj,tproj)ifthereisaprojection;ht=ot⊙g(Ct)otherwise.

《On the compression of recurrent neural networks with an application to lvcsr acoustic modeling for embedded speech recognition》

这是另一篇RNN模型压缩的论文。上图中的a是原始RNN,而b是对Whl使用了SVD之后的RNN。

《Video Summarization with Long Short-term Memory》

这是一篇用于提取视频关键帧(也叫静态视频摘要)的论文,是南加州大学沙飞小组的作品。

上图是该文提出的DPP LSTM的网络结构图。它的主体是一个BiLSTM,算是中规中矩吧。

该文的创新点在于提出了DPP loss的概念。上图中的yt表示帧的分值(越大表示越重要),ϕt表示帧之间的相似度。该文的实验表明,将两个特征分开抽取,有助于提升模型的准确度。

这篇论文主要用到了3个数据集:

TVSum dataset:

https://github.com/yalesong/tvsum

这个需要Yahoo账号和一个高校的邮件地址才行。

SumMe dataset:

https://people.ee.ethz.ch/~gyglim/vsum/#benchmark

OVP and YouTube datasets:

https://sites.google.com/site/vsummsite/

需要翻墙。

LSTM运算加速技巧

LSTM的主要运算量集中在W[ht−1,xt]上,这里实际上可以用W[(ht−2+Δht−1),xt]代替。

由于时间序列通常具有惯性,因此Δht−1一般包含了大量的0,这对于某些具有跳0功能的硬件来说,是非常有利的。

Convolutional LSTM Network

《Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting》

https://mp.weixin.qq.com/s/4IHzOAvNhHG9c8GP0zXVkQ

Simple Recurrent Unit For Sentence Classification

https://mp.weixin.qq.com/s/fCzHbOi7aJ8-W9GzctUFNg

LSTM文本分类实战

http://mp.weixin.qq.com/s/3nwgft9c27ih172ANwHzvg

从零开始:如何使用LSTM预测汇率变化趋势

https://mp.weixin.qq.com/s/M18c3sgvjV2b2ksCsyOxbQ

Nested LSTM:一种能处理更长期信息的新型LSTM扩展

https://mp.weixin.qq.com/s/XAbzaMXP3QOret_vxqVF9A

用深度学习LSTM炒股:对冲基金案例分析

https://mp.weixin.qq.com/s/eeA5RZh35BvlFt45ywVvFg

可视化LSTM网络:探索“记忆”的形成

https://mp.weixin.qq.com/s/h-MYTNTLy7ToPPEZ2JVHpw

阿里巴巴论文提出Advanced LSTM:关于更优时间依赖性刻画在情感识别方面的应用

https://mp.weixin.qq.com/s/pv3gQfCayGmsmGKLbMIFpA

神奇!只有遗忘门的LSTM性能优于标准LSTM

https://mp.weixin.qq.com/s/8BPZ_M8EGk3KxkSleYWSNw

训练可解释、可压缩、高准确率的LSTM

https://hanxiao.github.io/2018/06/24/4-Encoding-Blocks-You-Need-to-Know-Besides-LSTM-RNN-in-Tensorflow/

4 Sequence Encoding Blocks You Must Know Besides RNN/LSTM in Tensorflow

https://mp.weixin.qq.com/s/zMCBQ2D21HoDcDgDolmGMA

上海交大:基于近似随机Dropout的LSTM训练加速

https://mp.weixin.qq.com/s/wPYd2jLUPzlPwIZkb_wSbA

深度递归LSTM-LRP非线性时变多因子模型

https://mp.weixin.qq.com/s/3djAWJs6ecDdPSpQMxqmrg

清华、李飞飞团队等提出强记忆力E3D-LSTM网络

https://mp.weixin.qq.com/s/__qC6Wzy4jaGNGzWr3eOIg

引入额外门控运算,LSTM稍做修改,性能便堪比Transformer-XL


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK