首页 > 编程知识 正文

初探,绿色会计初探论文

时间:2023-05-04 13:09:17 阅读:200781 作者:3129

神经网络学习-介绍GRU和Bi-LSTM

再谈LSTM的优化和双向LSTM
    在上一篇文章中,我们介绍了LSTM长短期记忆网络,这种网络其实是RNN循环神经网络的一个变种网络,而在这个基础上还有一种门控神经网络GRU,全称是Gated Recurrent Unit ,翻译过来就是门控循环单元神经网络。那么这种网络最大的特点是在LSTM的基础上做了一个简化,在减少参数的同时使得预测效果几乎和LSTM的预测效果相同。
    那么这种网络是如何做到的,我们之前讲到的LSTM里面是有三种门:输入门、遗忘门、输出门,这三种门的共同作用下,使得LSTM有很好的长期记忆和短期记忆性质,但是显然缺点是参数太多。而GRU和LSTM有两个地方非常地不一样,第一个是把输入门和遗忘门进行合并后称为更新门;第二个是把神经元状态和隐状态进行合并,直接把隐状态进行传递和权重的组合计算。GRU的实现原理如下所示:

    上述的图片可以发现,z(t)代表的就是更新门,它的含义是在历史隐藏状态信息h(t-1)和当前输入x(t)进行结合后,使用sigmoid函数映射,得到一个更新门z(t),显然它的范围是在0到1之间的。而r(t)代表的就是重置门,它的含义也是结合历史隐藏状态信息和当前输入后,使用不同的参数进行学习,并且使用sigmoid函数映射得到一个重置门。而在这个基础上,使用重置门对h(t-1)进行控制,如果r(t)接近于0就可以基本忘记历史信息,而r(t)接近于1就基本是记住历史信息,然后再结合当前输入的x(t)进行学习,并且经过tanh函数进行映射后得到一个在-1和1之间的值也就是候选隐藏层h^(t),最终再通过更新门的权重来决定是否对隐藏状态h(t)进行更新;显然更新门z(t) 越接近于1就使得当前候选隐藏信息更新的越多,反之则几乎不进行更新。
    所以我们可以发现GRU其实是一种LSTM或者说是RNN的变种,因为更新门和重置门的数值会决定这种网络是更像哪种网络,如果更新门的数值比较接近0,而重置门比较接近1,那么其实这种GRU就是很像RNN循环神经网络;而更新门如果比较接近于1那么就比较适合处理长距离的文本信息。并且根据公式可以显然的发现,GRU使用的参数是比LSTM要少很多的,这大大减少了训练的参数数量,缩短了训练时间。
    上面介绍的GRU是一种LSTM的变种,而LSTM还有其他的变种形式,比如窥孔神经网络。或者是在LSTM的基础上,再加一层方向相反的LSTM,也就是所谓的Bi-LSTM神经网络,这种神经网络是一种工程上的实现和优化,它加了一层方向相反的LSTM后,使得原有的参数增加了一倍,并且学到了文章后面部分的信息,也就是某些关键信息在后半句的那种句子,很像汉语使用“XXXX,但是XXX”这种模式,更重要的是“但是”后面的信息,如果只使用GRU或者LSTM是无法学习到后面的信息,而使用Bi-LSTM就可以学习到,在这种网络里用到的公式和LSTM基本相同,只是最后在输出的时候是结合了前向LSTM的信息和后向LSTM的信息。在数据量较大的情况下,这种Bi-LSTM是经常被使用到,并且效果不错,因为参数较多所以学到信息更多。
    总的来说,GRU神经网络是一种比较灵活和经典的神经网络,在实际小数据的场景和竞赛中经常被使用到,因为它的训练速度较快并且预测准确率和LSTM差不多;在一些数据量较大的问题中,经常会使用Bi-LSTM神经网络。因为这种网络是学习了文章的前面和后面的信息,并且参数较多,虽然训练的较为缓慢,但是它的准确率是有显著提高的。而对于初学者来说,需要LSTM的原理并且进行优化,对于GRU的优化细节要注意,而在实际操作中,可以寻找竞赛或者开源数据来使用Bi-LSTM进行实践,从而加深理解此类神经网络的原理和参数的调优。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。