Keras学习笔记14——keras.constraints

本文介绍了Keras中约束项的概念及应用,详细解释了MaxNorm、NonNeg、UnitNorm和MinMaxNorm等约束项的参数设置及其如何应用于Dense、Conv1D、Conv2D和Conv3D等层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

约束项的使用

constraints 模块的函数允许在优化期间对网络参数设置约束(例如非负性)。约束是以层为对象进行的。具体的 API 因层而异,但 Dense,Conv1D,Conv2D 和 Conv3D 这些层具有统一的 API。

约束层开放 2 个关键字参数:

  • kernel_constraint 用于主权重矩阵。
  • bias_constraint 用于偏置。
from keras.constraints import max_norm
model.add(Dense(64, kernel_constraint=max_norm(2.)))

可用的约束

MaxNorm

MaxNorm 最大范数权值约束。

keras.constraints.MaxNorm(max_value=2, axis=0)

映射到每个隐藏单元的权值的约束,使其具有小于或等于期望值的范数

参数

  • m: 输入权值的最大范数。
  • axis: 整数,需要计算权值范数的轴。 例如,在 Dense 层中权值矩阵的尺寸为 (input_dim, output_dim), 设置 axis 为 0 以约束每个长度为 (input_dim,) 的权值向量。 在 Conv2D层(data_format=“channels_last”)中,权值张量的尺寸为 (rows, cols, input_depth, output_depth),设置 axis 为 [0, 1, 2] 以越是每个尺寸为 (rows, cols, input_depth) 的滤波器张量的权值。

NonNeg

权重非负的约束。

keras.constraints.NonNeg()

UnitNorm

映射到每个隐藏单元的权值的约束,使其具有单位范数。

keras.constraints.UnitNorm(axis=0)

参数
axis: 整数,需要计算权值范数的轴。 例如,在 Dense 层中权值矩阵的尺寸为 (input_dim, output_dim), 设置 axis 为 0 以约束每个长度为 (input_dim,) 的权值向量。 在 Conv2D 层(data_format=“channels_last”)中,权值张量的尺寸为 (rows, cols, input_depth, output_depth),设置 axis 为 [0, 1, 2] 以越是每个尺寸为 (rows, cols, input_depth) 的滤波器张量的权值。
[source]

MinMaxNorm

MinMaxNorm 最小/最大范数权值约束。映射到每个隐藏单元的权值的约束,使其范数在上下界之间

keras.constraints.MinMaxNorm(min_value=0.0, max_value=1.0, rate=1.0, axis=0)

参数

  • min_value: 输入权值的最小范数。
  • max_value: 输入权值的最大范数。
  • rate: 强制执行约束的比例:权值将被重新调整为 (1 - rate) * norm + rate * norm.clip(min_value, max_value)。 实际上,这意味着 rate = 1.0 代表严格执行约束,而 rate <1.0 意味着权值 将在每一步重新调整以缓慢移动到所需间隔内的值。
  • axis: 整数,需要计算权值范数的轴。 例如,在 Dense 层中权值矩阵的尺寸为 (input_dim, output_dim), 设置 axis 为 0 以约束每个长度为 (input_dim,) 的权值向量。 在 Conv2D 层(data_format=“channels_last”)中,权值张量的尺寸为 (rows, cols, input_depth, output_depth),设置 axis 为 [0, 1, 2] 以越是每个尺寸为 (rows, cols, input_depth) 的滤波器张量的权值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值