激活函数是什么?为什么神经网络不能没有它

激活函数让神经网络拥有非线性表达能力。没有它,再多层网络也可能只是一个更复杂的线性模型。

学习路线:AI 入门与 PyTorch 基础(1~20) · 第 10 课
第 10 课笔记本上画着神经网络结构,旁边的屏幕展示一条非线性曲线。
Learning Path

AI 入门与 PyTorch 基础(1~20)

从 AI 基本概念、机器学习任务、深度学习直觉、PyTorch 入门到中文文本分类项目全貌。

学完本阶段你能做到:能说清 AI、机器学习、深度学习、PyTorch 训练流程和一个中文文本分类项目的大致链路。

推荐读法:零基础建议顺序阅读;已有基础的读者可以把它当作路线地图和查漏补缺清单。

查看完整阶段 · 20 篇
Lesson Guide

这一课怎么学

先看目标,再带着问题读正文。读完后用练习确认自己真的理解了。

本节你会学到

  • 说清楚「激活函数是什么?为什么神经网络不能没有它」解决的核心问题
  • 知道它在「AI 入门与 PyTorch 基础(1~20)」中的位置
  • 把 激活函数、神经网络、深度学习 这些关键词联系起来

前置知识

  • 建议先读完上一篇:神经网络到底是什么?一篇给 AI 初学者的入门解释
  • 能区分输入、输出、数据和模型目标。

概念回顾

  • 【激活函数】没有激活函数,多层网络叠起来仍然像一条直线;有了它,模型才能表达弯曲复杂的关系。 前面或后面会反复用到它。
  • 【神经网络】神经网络不是神秘大脑,它更像一组可以不断调整的函数组合。 前面或后面会反复用到它。
  • 【深度学习】深度学习可以理解为更复杂的机器学习方法,它让模型通过多层变换逐步提取特征。 前面或后面会反复用到它。
  • 【机器学习】机器学习的重点不是手写所有规则,而是准备数据、定义目标,让模型自己找到可复用的模式。 前面或后面会反复用到它。

核心概念

常见误区

  • 不要只记定义,要追问它解决了什么问题。
  • 不要把概念孤立背下来,要放回数据到结果的完整链路里。

课后练习

  • 用 3 句话向一个零基础朋友解释「激活函数是什么?为什么神经网络不能没有它」。
  • 打开概念库里的「激活函数」,补一遍它和本文的关系。
  • 读下一课「损失函数是什么?模型为什么要算自己错多少」前,先写下你认为它会解决的问题。

自检练习与参考答案

1. 用一句话说清「激活函数是什么?为什么神经网络不能没有它」解决了什么问题。

合格答案不是复述标题,而是说清它在“数据进入模型、模型学习、结果评估或项目落地”中的作用。

2. 这篇文章和上一课或下一课是什么关系?

它应该为下一课「损失函数是什么?模型为什么要算自己错多少」铺路:读完后要知道下一课为什么自然出现。

下一步建议读「损失函数是什么?模型为什么要算自己错多少」。

上一篇文章里,我们把神经网络理解成一套可以从样本中学习规律的函数。

但这里马上会出现一个问题:如果神经网络每一层都只是做加权求和,那它真的能学到复杂规律吗?

答案是不够。

激活函数就是为了解决这个问题出现的。

第 10 课视频 · 激活函数是什么?(约 1 分 39 秒)

先看没有激活函数会怎样

一个最简单的神经元大概会做这样的计算:

输出 = 输入1 * 权重1 + 输入2 * 权重2 + 偏置

这是一种线性计算。

如果第一层是线性的,第二层也是线性的,第三层还是线性的,那么把它们叠在一起,本质上仍然可以合并成一个大的线性计算。

也就是说,网络看起来变深了,但表达能力并没有真正变强。

这就像你连续做了很多次加减乘除里的线性变换,最后还是很难表达弯曲、分段、复杂边界这些关系。

激活函数做了什么

激活函数会放在神经元的加权求和之后。

它会把原本的线性结果再处理一下,让网络具备非线性能力。

可以粗略理解成:

输出 = 激活函数(加权求和结果)

这一步看起来很小,但意义很大。

因为现实世界里的很多规律都不是直线关系。图片分类、文本理解、语音识别、推荐系统,它们背后的边界往往都很复杂。

激活函数让神经网络有机会去拟合这些复杂关系。

ReLU 为什么常见

最常见的激活函数之一是 ReLU

它的规则非常简单:

如果输入大于 0,就输出它自己
如果输入小于 0,就输出 0

也就是:

ReLU(x) = max(0, x)

它简单、计算快,而且在很多深度学习模型里效果很好。

刚入门时,可以先记住一个直觉:ReLU 像一个开关,小于 0 的信号被关掉,大于 0 的信号被保留。

Sigmoid 和 Tanh

除了 ReLU,还有两个经典激活函数:SigmoidTanh

Sigmoid 会把输入压到 01 之间,所以它经常出现在二分类模型的输出层里,用来表示概率。

Tanh 会把输入压到 -11 之间,它比 Sigmoid 多了负数区间,在一些早期神经网络里很常见。

不过在隐藏层里,现在更常用的通常还是 ReLU 及其变体。

激活函数该怎么选

入门阶段不用一开始就纠结所有激活函数。

可以先按这个规则记:

  • 隐藏层:优先理解 ReLU
  • 二分类输出:常见 Sigmoid
  • 多分类输出:常见 Softmax

这不是全部情况,但足够支撑你读懂大多数入门代码。

小结

激活函数的核心作用,是给神经网络加入非线性。

没有激活函数,很多层线性计算叠起来,表达能力仍然有限;有了激活函数,网络才有机会学习弯曲的边界和复杂的规律。

所以它不是可有可无的小配件,而是神经网络能够变强的关键原因之一。

Discussion

留言讨论