如何构建一个神经网络来实现从x到y的映射???
实现过程中的困难:
1,输入和输出对于不同的例子会有不同的长度
或许可以给每个例子一个最大长度,将不足长度的部分用0补足,但是不是最好
2,这样一个朴素的神经网络,不能共享从不同文本位置学到的特征,尤其是神经网络学到了训练集中经常出现的词汇,我们希望在序列数据中能实现:通过学习一小部分数据的处理,放到大部分数据上去处理也行得通。
在标准神经网络中,输入数据都是10000个one-hot(独热编码向量)
这是一个非常大的输入层
我们需要的循环神经网络不包含上面的缺点。
什么是循环神经网络(Recurrent Neural Networks)???
我们输入x<1>然后进入神经网络后输出y<1>
然后我们输入x<2>,这个时候神经网络就不单单通过x<2>去判断y<2>,还会把计算后第一步的计算结果a<1>运行到生成y<2>的过程中,以此类推。我们会在生成第一个y<1>前给一个激活函数a<0>,通常是0向量,也可以自己修改这个a<0>.
RNN的特点是它每一用的参数是共享的
一共有三组参数
W_ax,W_aa,W_ay
分别代表了从输入数据到神经网络的参数,激活函数的参数,从神经网络到输出数据的参数。