使用 Glorot 初始化和 ReLu 激活有错吗?

数据挖掘 神经网络 深度学习 喀拉斯 激活函数 权重初始化
2021-09-17 21:23:21

我正在阅读 keras 的默认初始化是glorot_uniform.

但是,我看到的所有教程都使用relu激活作为隐藏层的首选,但我没有看到它们将这些层的初始化指定为he.

这些 relu 层使用 he 而不是 glorot 会更好吗?

正如 OReilly 的使用 Scikit-Learn 和 Tensorflow 的动手机器学习中所见

| initialization | activation                    | 
+----------------+-------------------------------+
| glorot         | none, tanh, logistic, softmax | 
| he             | relu & variants               |
| lecun          | selu                          |
1个回答

作为超参数调整的一般答案,您必须同时尝试两种方法,看看哪种方法更适合您的问题。我怀疑在给定的问题/给定的架构上已经观察到了一些(如果不是大多数)通用调整规则。(例如,He 论文是关于视觉的,包括卷积层)。

至于 keras 的选择,有时,出于实际原因,实现一个唯一的默认选项比让默认选项适应激活更容易。鉴于您的 Hends-on 机器学习引用,不难看出他们为什么将 Glorot 实现为默认值。