激活函数(大白话版)

激活函数(大白话版)

激活函数就是给神经网络 **“注入灵魂”** 的东西,让网络能学会复杂的模式。

作用:

  1. 让网络变 “聪明”:没有激活函数,不管多少层线性层(nn.Linear),都只能做简单的 “数字变形”(线性变换),学不会复杂规律(比如区分猫和狗)。激活函数加了非线性,让网络能捕捉复杂关系(像曲线、分类边界)。
  2. 控制输出范围:比如 Sigmoid 把输出压到 0~1,能当概率用;ReLU 让负数直接变 0,简化计算还能避免 “梯度消失”(训练时学不动的问题)。
  3. 传递有效信号:像 ReLU 保留正数、干掉负数,让有用的信号往前传,没用的直接 “掐断”,让训练更高效。

和 nn.Linear 的关系

nn.Linear 负责 **“数字变形”(y = x×权重 + 偏置 ),但变形后的结果是“呆板” 的线性输出 **,学不会复杂模式。
激活函数要 **“接在 nn.Linear 后面”,给线性输出 “加把火”,让它变成“灵活” 的非线性结果 **,这样网络才能学习复杂任务(比如图像分类、预测天气)。

举个栗子:

  • 线性层 nn.Linear 像 “把食材切好”(数字变形),激活函数像 “下锅炒”(加非线性,让菜有味道)。没激活函数,“炒出来的菜” 永远是生的(只能学线性关系);加了激活函数,才能 “炒出好菜”(学会复杂规律)。

代码里的常见搭配:

python
 
 
import torch.nn as nn
# 线性层(切食材)→ 激活函数(炒一炒)
output = nn.ReLU()(nn.Linear(10, 5)(input)) 
 

这样,线性层的输出会先经过 nn.Linear 变形,再被激活函数 “激活”,变得更有 “表达力”~
posted @ 2025-06-15 23:07  m516606428  阅读(108)  评论(0)    收藏  举报