参考博客:[译] 理解 LSTM 网络
刚接触RNN(Recurrent Neural Networks),主要是因为在text recognition中会用到。因为并没有仔细研究过,这里只简单记录学习所得。
那么,什么是RNN呢?
RNN
循环神经网络主要解决的问题是,用先前的状态预测后来的状态,能够记忆先前的状态。神经网络的结构图如下:
由上图可知,对于某一时刻的输出
hi
h
i
,不仅仅由这一时刻的输入
xi
x
i
决定,还与之前时刻的状态有关。举例说明,在text recognition中,如果ground truth是‘她正在吃梨’,那么某一时刻我们已经得到了‘她正在吃’这四个字,那么就可以推断后面出现的应该是名词,并且是一种食物。
但是后来,大家发现在RNN中,越近的时刻对当前时刻的影响越大,对于下面的例子就不能很好的工作:他是法国人,他会说法语。事实上在这个例子中,对‘法语’影响最大的是‘法国人’,但是在RNN中,这两个信息距离较远,已经无法对预测起到较大的启发作用了。因此,LSTM应运而生。
关于LSTM,下篇博客再介绍