概述
学习序列模型rnn实现从X到Y的映射。
最简单的NN模型,将九个输入变量输出9个0或1的结果。
但是这样不好,因为输入输出长度不一定相同。
单纯的神经网络并不能分享从不同位置学到的特征。如识别不同位置的人名。
RNN
读到第二个单词时候不是只通过当前的词x<2>就预测出y<2> 的,
也会输入一些来自时间步(time-step)1的信息。时间步1的激活值就会传递到时间步2。
one-hot向量~如上
输入下一个单词x<3>,rnn试图预测y<3>。
rnn传递一个激活值到下一个时间步用于计算。
初始化a<0>有很多方法。如赋值为0。
(一些文章中这样表示循环神经网络但是没有上面展开的图清晰)
每一步使用相同的参数w_ax,
激活值,也就是水平参数,是由参数w_aa决定的,
每一个time-step使用相同的w_aa。
每一个输出由w_ya决定。
rnn的缺点是只用到了当前预测节点之前的输入的信息。位于其之后的输入信息都没有被利用。
某一时刻的预测没有使用序列后部分的信息。可以使用双向循环神经网络(BRNNs)解决这个问题。
整洁版rnn:
首先输入零向量a0。为了计算a1,使用激活函数g
rnn使用的激活函数经常是tanh,reLU也会用但前者更常用。
使用何种激活函数取决与问题种类。
二分类:sigmoid
k类别分类:softmax
命名体识别(输出是0或1):sigmoid
计算a<1>、y<1>标准式
通用计算公式:
简化符号:
把waa,wax合并成一个矩阵。
如waa是100x100,wax是100x10000
所以wa是100x10100的矩阵。
a<t-1>与x<t>竖着摞起来。
总体:
正确。
重写输出y<t>的表达式:
最后
以上就是体贴秀发为你收集整理的循环神经网络模型RNN学习序列模型rnn实现从X到Y的映射。的全部内容,希望文章能够帮你解决循环神经网络模型RNN学习序列模型rnn实现从X到Y的映射。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复