Keras: 内核和活动正则化器的区别

我注意到Keras中不再使用weight_regularizer,取而代之的是activitykernel正则化器。我想了解以下几点:

  • kernelactivity正则化器之间的主要区别是什么?
  • 我可以用activity_regularizer代替weight_regularizer吗?

回答:

活动正则化器作为网络输出的函数起作用,主要用于正则化隐藏单元,而正如其名,weight_regularizer作用于权重(例如,使其衰减)。基本上,你可以将正则化损失表示为输出的函数(activity_regularizer)或权重的函数(weight_regularizer)。

新的kernel_regularizer取代了weight_regularizer – 尽管文档中对此描述得不是很清楚。

kernel_regularizer的定义来看:

kernel_regularizer: 应用于kernel权重矩阵的正则化函数(参见regularizer)。

以及activity_regularizer:

activity_regularizer: 应用于层输出的正则化函数(其“激活”)(参见regularizer)。

重要更新:请注意,activity_regularizer中存在一个错误,这个错误在Keras的2.1.4版本中才被修复(至少在TensorFlow后端的情况下)。实际上,在旧版本中,活动正则化函数被应用于层的输入,而不是应用于输出(层的实际激活,如预期)。因此,如果您使用的是Keras的旧版本(2.1.4之前),活动正则化可能不会按预期工作,请注意。

您可以在GitHub上查看提交记录

五个月前,François Chollet为活动正则化器提供了一个修复方案,该方案随后被纳入Keras 2.1.4

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注