根据中国互联网络信息中心(CNNIC)第47次《中国互联网络发展状况统计报告》,截至2020年12月,中国网民规模达到9.89亿人,其中网络视频(含短视频)用户规模达到9.27亿人,占网民整体的93.7%,短视频用户规模为8.73亿人,占网民整体的88.3%。
回顾互联网近年来的发展历程,伴随着互联网技术(特别是移动互联网技术)的发展,内容的主流表现形式经历了从纯文本时代逐渐发展到图文时代,再到现在的视频和直播时代的过渡,相比于纯文本和图文内容形式,视频内容更加丰富,对用户更有吸引力。
随着近年来人们拍摄视频的需求更多、传输视频的速度更快、存储视频的空间更大,多种场景下积累了大量的视频数据,需要一种有效地对视频进行管理、分析和处理的工具。
视频理解旨在通过智能分析技术,自动化地对视频中的内容进行识别和解析。视频理解算法顺应了这个时代的需求。因此,近年来受到了广泛关注,取得了快速发展。
图像分类(Image Classification)是视频理解的基础,视频可以看作是由一组图像帧(Frame)按时间顺序排列而成的数据结构,RNN(Recurrent Neural Networks,循环神经网络)对时序数据(Sequential Data)有很强的建模能力。
本文将介绍 RNN和它的两个重要变种,即LSTM(Long Short-Term Memory,长短期记忆网络)(Hochreiter & Schmidhuber, 1997)和GRU(Gated Recurrent Units,门控循环单元)(Cho et al., 2014)。
本文介绍的RNN 及其变种 LSTM和GRU 十分擅长处理时序数据,但是LSTM和GRU的结构和运行机理比较复杂,不好理解,因此这里会介绍一种通用的方法,通过对 LSTM和GRU 数学形式的3次简化并将数据流画成一张图,可以简洁、直观地对其中的原理进行理解与分析。
01 RNN
02 梯度爆炸与梯度消失
虽然理论上 RNN 可以捕获长距离依赖,但实际应用中,RNN 将会面临两个挑战:梯度爆炸(Gradient Explosion)和梯度消失(Vanishing Gradient),这使得 RNN 实际学习长距离依赖很难(Bengio et al., 1994)。
我们考虑一种简单情况,即激活函数是恒等(Identity)变换,此时
其中
因此,
那么最后要计算的目标为:
梯度爆炸相对比较好处理,可以用梯度裁剪(Gradient Clipping)(Goodfellow et al., 2016)来解决。当梯度的范数(Norm)大于某个阈值时,我们人为地给梯度乘以一个缩放系数,使得梯度的范数在我们希望的阈值内。这好比是不管前面的关税怎么加,设置一个最高市场价格,通过这个最高市场价格保证老百姓是买得起的。在RNN中,不管梯度回传的时候梯度范数大到什么程度,设置一个梯度的范数的阈值,梯度的范数最多是这么大。
梯度消失现象解决起来要比梯度爆炸困难很多,如何缓解梯度消失是RNN 及几乎其他所有深度学习方法研究的关键所在。LSTM和GRU通过门控(Gate)机制控制 RNN中的信息流动,用来缓解梯度消失问题。其核心思想是有选择性地处理输入。比如我们看到一个商品的评论:
Amazing! This box of cereal gave me a perfectly balanced breakfast, as all things should be. In only ate half of it but will definitely be buying again!
我们会重点关注其中的一些词,对它们进行处理:
Amazing! This box of cereal gave me a perfectly balanced breakfast, as all things should be. In only ate half of it but will definitely be buying again!
LSTM和GRU的关键是会选择性地忽略其中一些词,不让其参与到隐层状态向量的更新中,最后只保留相关的信息进行预测。
03 LSTM
LSTM计算过程的数学形式如下:
使用相同计算方式的目的是它们都扮演了门控的角色,而使用不同参数的目的是为了在误差反向传播阶段对3个门控单元独立地进行更新。在理解 LSTM 运行机制的时候,为了对图进行简化,我们不在图中标注3个门控单元的计算过程,并假定各门控单元是给定的。
由于门控单元变成了一维,所以向量和向量的逐元素相乘变成了标量和向量相乘。
图2 Sigmoid 函数和单位阶跃函数
图3 LSTM 运行原理图
根据原理图,我们可以对 LSTM中各单元的作用进行分析。
04 GRU
GRU是另一种主流的RNN衍生物。RNN和LSTM 都是在设计网络结构用于缓解梯度消失问题,只不过网络结构有所不同。GRU在数学上的形式化表示如下:
(4)一张图。将3次简化的结果用图表述出来,左边是输入,右边是输出,如图4所示。
根据图4,我们可以对 GRU各单元的作用进行分析。
文章转载于:GiantPandaCV
作者:张皓
推荐阅读