【AI课程领学】第九课 · 激活函数(课时4) Leaky ReLU:为“死 ReLU”开一条小缝(课时5) PReLU:让模型自己学“负区间斜率”(含过拟合风险与工程实践)
【AI课程领学】第九课 · 激活函数(课时4) Leaky ReLU:为“死 ReLU”开一条小缝(课时5) PReLU:让模型自己学“负区间斜率”(含过拟合风险与工程实践)
·
【AI课程领学】第九课 · 激活函数(课时4) Leaky ReLU:为“死 ReLU”开一条小缝(课时5) PReLU:让模型自己学“负区间斜率”(含过拟合风险与工程实践)
【AI课程领学】第九课 · 激活函数(课时4) Leaky ReLU:为“死 ReLU”开一条小缝(课时5) PReLU:让模型自己学“负区间斜率”(含过拟合风险与工程实践)
文章目录
欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可扫描博文下方二维码 “
学术会议小灵通”或参考学术信息专栏:https://ais.cn/u/mmmiUz
详细免费的AI课程可在这里获取→www.lab4ai.cn
前言
Leaky ReLU 的目标非常明确:
- 保留 ReLU 的优点,同时让负区间也有小梯度,避免神经元死亡。
1. 定义与导数

导数:
- 正区间:1
- 负区间: α α α(常取 0.01 或 0.1)
2. 为什么它能缓解 Dying ReLU?
- 即使 x < 0 x<0 x<0,梯度不为 0,神经元仍能被更新,未来可能回到正区间。
3. PyTorch 使用
import torch.nn as nn
act = nn.LeakyReLU(negative_slope=0.01)
4. 实战建议:α 怎么选?
- 默认:0.01(稳健通用)
- 若数据噪声大、分布偏移明显:可以试 0.05~0.2
- α 过大:会降低稀疏性,表现可能接近线性
5. 小实验:LeakyReLU 的负区间梯度
import torch
x = torch.tensor([-2.0, -1.0, 0.0, 1.0], requires_grad=True)
y = torch.nn.LeakyReLU(0.1)(x).sum()
y.backward()
print("x:", x.detach())
print("grad:", x.grad)
前言
- PReLU(Parametric ReLU)进一步把 LeakyReLU 的 α α α 变成可学习参数。
1. 定义

其中 a a a 是可学习参数(可按通道学习)。
2. 优点与风险
优点:
- 模型自动适配数据分布
- 在某些任务中精度会略优于固定 α
风险:
- 参数更多,可能过拟合(小数据集更明显)
- 学到过大的负斜率 → 稀疏性下降
3. PyTorch 使用
import torch.nn as nn
act = nn.PReLU(num_parameters=1) # 全层共享一个 a
# 或按通道学习(CNN)
act_ch = nn.PReLU(num_parameters=64) # 64 channels
4. 观察 PReLU 学到的 a
import torch
import torch.nn as nn
act = nn.PReLU()
print("init a:", act.weight.item())
# 训练若干步后打印 act.weight 就能看到变化
更多推荐


所有评论(0)