一.递归神经网络RNN简介
BP神经网络和CNN的输入输出都是互相独立的;但是实际应用中有些场景输出内容和之前的内 容是有关联的。 RNN引入“记忆”的概念;递归指其每一个元素都执行相同的任务,但是输出依赖于输入和“记忆”
bp神经网络和卷积神经网络这两种结构有一个特点,就是假设输入是一个独立的没有上下文联系的单位。但是对于一些有明显的上下文特征的序列化输入,比如预测视频中下一帧的播放内容,那么很明显这样的输出必须依赖以前的输入, 也就是说网络必须拥有一定的”记忆能力”。为了赋予网络这样的记忆力,一种特殊结构的神经网络——递归神经网络(Recurrent Neural Network)便应运而生了
下图为RNN的工作状态图(下文会详细讲解RNN的工作原理):
同一个神经元在不同时刻的状态构成了RNN神经网络
将同一个神经元,展开为在t-1、t、t+1三个时刻的状态,这三个时刻状态构成了一个网络。RNN通过将前一时刻的数据加入运算,使神经网络具有了记忆功能
二.RNN递归神经网络工作原理
网络某一时刻的输入Xt,和之前介绍的bp神经网络的输入一样,xt是一个n维向量,不同的是递归网络的输入将是一整个序列,也就是X=[X1,…,Xt-1,Xt,Xt+1,…XT]。对于语言模型,每一