TensorFlow-tf.clip_by_global_norm函数原理
来源:互联网 发布:扒谱子软件 编辑:程序博客网 时间:2024/06/05 20:33
Gradient Clipping的引入是为了处理gradient explosion(不是gradients vanishing)的问题。当在一次迭代中权重的更新过于迅猛的话,很容易导致loss divergence。Gradient Clipping的直观作用就是让权重的更新限制在一个合适的范围。
Gradient Clipping的具体细节是
1.在solver中先设置一个clip_gradient
2.在前向传播与反向传播之后,我们会得到每个权重的梯度diff
,这时不像通常那样直接使用这些梯度进行权重更新,而是先求所有权重梯度的平方和sumsq_diff
,如果sumsq_diff
> clip_gradient
,则求缩放因子scale_factor
= clip_gradient
/ sumsq_diff
。这个scale_factor
在(0,1)之间。如果权重梯度的平方和sumsq_diff
越大,那缩放因子将越小。
3.最后将所有的权重梯度乘以这个缩放因子,这时得到的梯度才是最后的梯度信息。
这样就保证了在一次迭代更新中,所有权重的梯度的平方和在一个设定范围以内,这个范围就是clip_gradient.
阅读全文
0 0
- TensorFlow-tf.clip_by_global_norm函数原理
- tf.clip_by_global_norm理解
- tf.clip_by_global_norm理解
- 转载!tf.clip_by_global_norm理解
- Tensorflow-tf.nn.embedding_lookup函数原理
- 【Tensorflow】tf.placeholder函数
- 【Tensorflow】tf.reshape 函数
- 【Tensorflow】tf.argmax函数
- Tensorflow tf.placeholder函数
- 【Tensorflow】tf.Graph()函数
- 【Tensorflow】tf.placeholder函数
- 【Tensorflow】tf.concat函数
- TensorFlow-tf.nn.conv2d 函数
- 【Tensorflow】tf.nn.relu函数
- 【Tensorflow】tf.nn.dropout函数
- 【Tensorflow】tf.train.AdamOptimizer函数
- TensorFlow- tf.argmax 函数学习
- TensorFlow插曲--tf.argmax函数
- android startActivityForResult收不到返回值
- VS2015+Anaconda4.4.0(Python3.6)+Theano+CUDA8.0+cuDNN5.1环境配置
- 关于java版本
- C++ explicit关键字详解
- Java反射机制
- TensorFlow-tf.clip_by_global_norm函数原理
- HDU 1159 Common Subsequence
- 切图异常: Cannot run program "gm": error=2, No such file or directory 处理
- C++ 封装 随笔
- 一键重装系统,装机员一键重装最新版
- JavaScript权威指南读书笔记—— 模块
- Leetcode 刷题 Day4 136.SingleNumber
- composer 安装laravel指定版本
- List接口的ArrayList的使用