一、循环神经网络概述
循环神经网络(Recurrent Neural Network,RNN),它是专为视频等序列输入而设计的。作为一种实际应用,我们将它们与卷积神经网络(Convolutional Neural Network,CNN)结合起来以检测短视频片段中包含的动作。
1、RNN
RNN是一种适用于序列(或循环)数据的神经网络。序列数据的示例包括句子(单词序列)、时间序列(例如,股票价格序列)或视频(帧序列)。由于每个时间步骤都与前一个相关,因此它们被视为循环数据。
虽然RNN最初是为时间序列分析和自然语言处理任务而开发的,但现在已应用于各种计算机视觉任务。
2、LSTM
常规RNN会遭受梯度爆炸问题。因此,有时很难训练它们在数据序列中的长期关系。此外,它们将信息存储在单一状态矩阵中。例如,如果枪击发生在一段很长视频的最开始,那么在到达视频结尾时,RNN的隐藏状态不太可能不会被噪声覆盖。这段视频可能未归类为暴力视频。
为了规避这两个问题,Sepp Hochreiter和Jürgen Schmidhuber在他们的论文“Long Short-Term Memory”(Neural Computation&