【tensorflow-keras-GRU】keras.layers.GRU 门限循环单元网络(Gated Recurrent Unit)
循环层 Recurrent - Keras 中文文档 https://keras.io/zh/layers/recurrent/#gru
GRU
keras.layers.GRU(units, activation='tanh', recurrent_activation='hard_sigmoid',
use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal',bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, reset_after=False)
门限循环单元网络(Gated Recurrent Unit) - Cho et al. 2014.
有两种变体。默认的是基于 1406.1078v3 的实现,同时在矩阵乘法之前将复位门应用于隐藏状态。 另一种则是基于 1406.1078v1 的实现,它包括顺序倒置的操作。
第二种变体与 CuDNNGRU(GPU-only) 兼容并且允许在 CPU 上进行推理。 因此它对于 kernel 和 recurrent_kernel
有可分离偏置。 使用 'reset_after'=True
和 recurrent_activation='sigmoid'
。
参数
units
: 正整数,输出空间的维度。- activation: 要使用的激活函数 (详见 activations)。 默认:双曲正切 (tanh)。 如果传入
None,则不使用激活函数 (即 线性激活:a(x) = x)。 - recurrent_activation: 用于循环时间步的激活函数 (详见 activations)。 默认:分段线性近似
sigmoid (hard_sigmoid)。 如果传入 None,则不使用激活函数 (即 线性激活:a(x) = x)。 - use_bias: 布尔值,该层是否使用偏置向量。
- kernel_initializer: kernel 权值矩阵的初始化器, 用于输入的线性转换 (详见 initializers)。
- recurrent_initializer: recurrent_kernel 权值矩阵 的初始化器,用于循环层状态的线性转换 (详见initializers)。
- bias_initializer:偏置向量的初始化器 (详见initializers).
- kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数 (详见 regularizer)。
- recurrent_regularizer: 运用到 recurrent_kernel 权值矩阵的正则化函数 (详见
regularizer)。 - bias_regularizer: 运用到偏置向量的正则化函数 (详见 regularizer)。
- activity_regularizer: 运用到层输出(它的激活值)的正则化函数 (详见 regularizer)。
- kernel_constraint: 运用到 kernel 权值矩阵的约束函数 (详见 constraints)。
- recurrent_constraint: 运用到 recurrent_kernel 权值矩阵的约束函数 (详见
constraints)。 - bias_constraint: 运用到偏置向量的约束函数 (详见 constraints)。
- dropout: 在 0 和 1 之间的浮点数。 单元的丢弃比例,用于输入的线性转换。
- recurrent_dropout: 在 0 和 1 之间的浮点数。 单元的丢弃比例,用于循环层状态的线性转换。
- implementation: 实现模式,1 或 2。 模式 1 将把它的操作结构化为更多的小的点积和加法操作, 而模式 2将把它们分批到更少,更大的操作中。 这些模式在不同的硬件和不同的应用中具有不同的性能配置文件。
- return_sequences: 布尔值。是返回输出序列中的最后一个输出,还是全部序列。
- return_state: 布尔值。除了输出之外是否返回最后一个状态。
- go_backwards: 布尔值 (默认 False)。 如果为 True,则向后处理输入序列并返回相反的序列。
- stateful: 布尔值 (默认 False)。 如果为 True,则批次中索引 i 处的每个样品的最后状态 将用作下一批次中索引 i样品的初始状态。
- unroll: 布尔值 (默认 False)。 如果为 True,则网络将展开,否则将使用符号循环。 展开可以加速 RNN,但它往往会占用更多的内存。 展开只适用于短序列。
- reset_after:
- GRU 公约 (是否在矩阵乘法之前或者之后使用重置门)。 False =「之前」(默认),Ture =「之后」( CuDNN 兼容)。
【tensorflow-keras-GRU】keras.layers.GRU 门限循环单元网络(Gated Recurrent Unit)相关推荐
- 门控循环单元(Gate Recurrent Unit,GRU)
目录 1 GRU的输入输出结构 2 GRU的内部结构 2.1 重置门 reset gate 2.2 更新门 update gate 3 LSTM与GRU的关系 4. 总结 5 吴恩达视频截图 LSTM ...
- 门控循环单元网络(GRU)在自然语言处理中的应用
作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是人类认知的一项重要技能,它涉及到对文本数据进行处理.提取信息并对其做出回应.传统上,文本分析方法使用基于统计模式的算法,如TF-IDF. ...
- 门控循环单元-GRU单元(Gated Recurrent Unit)
来源:Coursera吴恩达深度学习课程 接下来我们将会学习门控循环单元(Gated Recurrent Unit),它改变了RNN的隐藏层,使其可以更好地捕捉深层连接,并改善了梯度消失问题,让我们看 ...
- 门控循环单元网络GRU详解
为了改善循环神经网络的长程依赖问题,在 梯度消失是循环网络的主要问题除了使用一些优化技巧外更有效的方式就是改变模型比如让U = I同时令 ∂ht/∂ht= I 为单位矩阵即ht = ht−1 + g( ...
- (pytorch-深度学习)门控循环单元(GRU)
门控循环单元(GRU) 循环神经网络中的梯度计算 当时间步数较大或者时间步较小时,循环神经网络的梯度较容易出现衰减或爆炸. 虽然裁剪梯度可以应对梯度爆炸,但无法解决梯度衰减的问题. 通常由于这个原因, ...
- pytorch学习笔记(三十一):门控循环单元(GRU)
文章目录 前言 1. 门控循环单元 1.1 重置门和更新门 1.2 候选隐藏状态 1.3 隐藏状态 2. 读取数据集 3. 从零开始实现 3.1 初始化模型参数 3.2 定义模型 3.3 训练模型并创 ...
- 动手学深度学习(三十九)——门控循环单元GRU
文章目录 门控循环单元(GRU) 一.门控隐藏状态 1.1 重置门和更新门 1.2候选隐藏状态 1.3 隐藏状态 二.从零实现GRU 2.1 初始化模型参数 2.2 定义模型 2.3 训练与预测 2. ...
- 【动手学习pytorch笔记】24.门控循环单元GRU
GRU 序列中并不是所有信息都同等重要,为了记住重要的信息和遗忘不重要的信息,最早的方法是"长短期记忆"(long-short-term memory,LSTM),这节门控循环单元 ...
- GRU门控循环单元读书笔记
文章目录 1. 概述 2. GRU关键组件 2.1 门 2.2 候选隐藏状态H~t\widetilde{H}_tHt 2.3 隐状态 HtH_tHt 2.4 小结 3. 代码 4. torch.n ...
最新文章
- 简单又实用的分享!SharePoint母版页引用(实战)
- Python天气预报数据获取脚本
- Tomcat集群快速入门
- 迭代器模式(Iterator)
- python实现批量更改xml文件中内容替换
- ORB-SLAM2代码思维导图
- 18年5年制计算机辅助考试题,2018年自考《计算机辅助教育》试题二
- eclipse出现String错误,问题已解决
- Linux初级阶段学习笔记-本地源YUM配置
- Atitit js canvas的图像处理类库attilax总结与事业
- ardupilot在Linux上设置SITL(FlightGear)
- python之pdf分页
- 安装完成后打开CAXACAD时出现的找不到mfc100u.dll等无法执行的问题
- Esxi 6.7安装教程
- 【CodeChef-LYRC】Music Lyrics【AC自动机】
- GPRS远程开关 1 综述
- 自动化立体仓库使用流程!海格里斯自动化立体库流程:入库——出库——拣选
- 用Python写一个程序,解密游戏内抽奖的秘密
- Python 在线免费批量美颜,不比某秀秀方便好用一些吗!
- k折交叉验证 python_Python实现K折交叉验证法的方法步骤
热门文章
- OpenCASCADE绘制测试线束:简单的向量代数和测量之矢量代数命令
- wxWidgets:wxPlatformInfo类用法
- wxWidgets:wxListEvent类用法
- boost::statechart模块实现状态迭代测试
- boost::safe_numerics模块测试对文字的 constexpr 操作
- boost::mp11::mp_compose相关用法的测试程序
- boost::hana::remove_if用法的测试程序
- boost::endian::endian_load的测试程序
- GDCM:Dicom文件Empty Mask的测试程序
- VTK:可视化之LegendScaleActor