文章目录
1. 如何设置网络的初始值?*
一般总是使用服从(截断)高斯或均匀分布的随机值,具体是高斯还是均匀分布影响不大,但是也没有详细的研究。
但是,初始值的大小会对优化结果和网络的泛化能力产生较大的影响。
一些启发式初始化策略通常是根据输入与输出的单元数来决定初始权重的大小,比如 Glorot and Bengio (2010) 中建议建议使用的标准初始化,其中 m 为输入数,n 为输出数
2. 梯度爆炸
梯度截断(gradient clipping)——如果梯度超过某个阈值,就对其进行限制
下面是 Tensorflow 提供的几种方法:
- `tf.clip_by_value(t, clip_value_min, clip_value_max)`
- `tf.clip_by_norm(t, clip_norm)`
- `tf.clip_by_average_norm(t, clip_norm)`
- `tf.clip_by_global_norm(t_list, clip_norm)`
这里以`tf.clip_by_global_norm`为例:
```
To