机器学习-循环神经网络GRU理论知识(四)

LSTM 具有更长的记忆能力,但是 LSTM 结构相对较复杂,计算代价较高,模型参数量较大。们尝试简化 LSTM 内部的计算流程,特别是减少门控数量。GRU 把内部状态向量和输出向量合并,统一为状态向量,门控数量也减少到 2 个:复位门 (Reset Gate)和更新门(Update Gate)。


目录

复位门:

更新门:

GRU实战:


复位门:

用于控制上一个时间戳的状态\small h_{t-1}进入 GRU 的量。门控向量\small g_{r}由当前时间戳输入\small x_{t}和和上一时间戳状态\small h_{t-1}变换得到。激活函数一般选择sigmoid,来将\small g_{r}限制到0~1.\small g_{r}只控制状态向量h,而不控制输入x。

 接着构建新输入\small \tilde{h_{t}},由\small g_{r}\small h_{t-1}\small x_{t}经过变化后再由激活函数tanh优化得到。其中\small g_{r}决定对于\small h_{t-1}的接受程度,为0时表示不接受\small h_{t-1}的输入,输入仅由\small x_{t}决定。为1时二者共同作用产生\small \tilde{h_{t}}


更新门:

更新门用控制上一时间戳状态\small h_{t-1}和新输入\small \tilde{h_{t}}对新状态向量\small h_{t}的影响程度。 门控向量\small g_{z}由当前时间戳输入\small x_{t}和和上一时间戳状态\small h_{t-1}变换得到。激活函数一般选择sigmoid。得到的\small g_{z}的值用于控制\small \tilde{h_{t}},1-\small g_{z}用于控制\small h_{t-1}。由此可以看出二者处于相互竞争的位置,\small g_{z}为0时全部来自上个时间戳的状态向量,为1时为新输入。


GRU实战:

基于情感分析的GRU实战整体内容和SimpleRNN,LSTM基本一样,只不过在构建循环网络时调用封装好的GRU即可。

​​​​# 构建RNN
        self.rnn = keras.Sequential([
            layers.GRU(units, dropout=0.5, return_sequences=True),
            layers.GRU(units, dropout=0.5)
        ])

 具体内容可以参考

机器学习-循环神经网络情感分类问题(二)

机器学习-循环神经网络LSTM实战(三)

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值