循环神经网络------主要用于NLP文本方向的工作
普通神经网络:
一对多:图片生成描述:
多对一:文本分类(文本情感分析)
多对多:机器翻译
实时多对多:视频解说
为什么需要循环神经网络???序列式问题
示意图
主要流程:
1.维护一个状态作为下一个状态的额外输入
2.每一步使用同样的激活函数和参数
最简单的循环神经网络
例子:字符语言模型:
1.预测下一字符
2.词典[j,e,p]
3.样本jeep
4.test time
5.上一步输出作为下一步的输入
循环神经网络的构成:
1.正向传播
2.反向传播:
它为什么要选择tanh函数呢??
1.tanh输出在-1,1之间
2.梯度消失
3.较远的步骤梯度贡献很小
4.切换为其他激活函数后,可能会导致爆炸
多层网络
1.低层输出作为高层输入
2.同层之间依旧递归
3.增加网络拟合能力
4.一般隐层维数递增:64---128---256
结合残差连接:
未结合残差连接的情况:
双向网络:
1.另一路以未来状态为输入
2.两个状态拼接后进入输出层
3.进一步提高表达能力
4.无法实时输出结果