RNN原理
1.经典RNN结构
PART 1:
上图,时序形式的数据不好用原始的神经网络处理,为此RNN引入了隐状态h(hidden state)的概念,可以对序列形的数据提取特征,然后转换为输出。
PART 2:
上图从U,W分别为x,h0的参数矩阵,b为偏置项,f为激活函数。
PART 3:
上图一次计算剩下的h,使用相同的参数矩阵U,W和偏置b。
PART 4:
上图加入每个时刻对应的label,通过每一步h计算输出,V,c为新的参数矩阵和偏置项。
PART 5:
上图依次计算出所有的输出y。
因此,设输入为x1,x2,...,xt,对应的隐层状态为h1,h2,...,ht,输出为y1,y2,...,yt,故RNN的运算过程可以表示为:
PART 6:
N VS 1 的RNN结构
设输入为x1,x2,...,xt,对应的隐层状态为h1,h2,...,ht,输出为Y,输出只对最后一个隐层状态做运算即可。故RNN的运算过程可以表示为:
PART 7:
1 VS N 的RNN结构
设输入为X,对应的隐层状态为h1,h2,...,ht,输出为y1,y2,...,yt。故RNN的运算过程可以表示为:
应用领域:
-
N VS N
-
为视频每一帧添加标签。
-
自动生成文本,输入为字符 ,输出为下一个字符的概率。
-
-
N VS 1
-
输入一段文字、视频,判断类别。
-
输入一个句子判断情感倾向。
-
-
1 VS N
-
从图像生成一个句子描述。
-
从类别生成语音。