You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras中Activity Regularizer:应用于激活前还是激活后?

解决方案:将Activity正则化器应用于激活函数之后

在Keras中,当你在Dense层同时指定activation和activity_regularizer时,正则化器默认是作用于激活函数后的层输出的。但如果需要彻底明确控制这一逻辑(或遇到特殊场景需要强制实现),可以通过拆分层的方式确保正则化仅作用于激活后的结果:

调整步骤及代码示例

原代码:

output = Dense(units=12, activation='sigmoid', activity_regularizer=L1(1e-2))(input)

调整后(明确将正则化器绑定到激活后的输出):

# 仅执行线性变换的Dense层,不包含激活和正则化
dense_linear = Dense(units=12)(input)
# 应用sigmoid激活,并在此层添加活动正则化器
output = Activation('sigmoid', activity_regularizer=L1(1e-2))(dense_linear)

这种拆分方式直接把正则化器绑定到Activation层,确保惩罚项仅基于激活函数处理后的输出计算,完全匹配你的业务需求。

内容的提问来源于stack exchange,提问作者user7585848

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:42:42