一、从生物神经元到人工神经元

讲神经网络,我习惯先从生物神经元讲起。为什么?因为人工神经元的灵感,说白了就来自我们的大脑。

1.1 生物神经元模型

人脑大约有860亿个神经元。每个神经元长什么样?我画个简图你就明白了:

细胞体 树突(输入) 轴突(输出) 突触

生物神经元有四个关键部分:

  • 树突:负责接收信号,就像天线
  • 细胞体:处理信号,决定是否"激活"
  • 轴突:传递输出信号
  • 突触:连接两个神经元的接口

信号传递的过程是这样的:树突收到电信号 → 细胞体累加 → 超过阈值就放电 → 通过轴突传给下一个神经元。

💡 我的经验: 理解生物神经元的关键就三个字——"累加、阈值、传递"。人工神经元完全模仿了这套逻辑。

1.2 人工神经元模型(MP模型)

1943年,McCulloch和Pitts提出了第一个人工神经元模型,简称MP模型。结构非常简单:

x₁ x₂ xₙ w₁ w₂ wₙ Σ f(·) y b(偏置) 输入 加权求和 激活 输出

MP模型的数学表达式:

y = f( Σ(wᵢ · xᵢ) + b )

其中:

  • xᵢ:输入信号
  • wᵢ:权重(连接强度)
  • b:偏置(阈值)
  • f(·):激活函数

核心思想: 加权求和 → 加偏置 → 激活函数映射 → 输出

说白了,就是"输入×权重 + 偏置,然后决定要不要激活"。

二、激活函数——神经元的"开关"

激活函数决定了神经元要不要"兴奋"。没有激活函数,神经网络就只是个线性变换,堆再多层也没用。

2.1 Sigmoid 函数

Sigmoid 把输入映射到 (0, 1) 之间。公式:

σ(x) = 1 / (1 + e^(-x))

特点:

  • 输出范围 (0, 1),适合做概率输出
  • 平滑、可导
  • 缺点: 两端梯度饱和,容易梯度消失
⚠️ 避坑指南: 我曾经在深层网络里全用 Sigmoid,结果训练到第三层梯度就几乎为零了。后来才知道,深层网络慎用 Sigmoid。

2.2 Tanh 函数

Tanh 是 Sigmoid 的升级版,输出范围 (-1, 1):

tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x))

相比 Sigmoid:

  • 零中心化,收敛更快
  • 梯度范围更大
  • 但梯度饱和问题依然存在

2.3 ReLU 函数

ReLU 是目前最常用的激活函数:

ReLU(x) = max(0, x)

为什么它这么火?

  • 计算简单,就是取最大值
  • 正区间梯度恒为1,不饱和
  • 稀疏激活,效率高
💡 我的习惯: 现在做分类任务,隐藏层默认用 ReLU。除非遇到"神经元死亡"问题(负区间梯度为0),才会考虑 Leaky ReLU 或 ELU。

2.4 Softmax 函数

Softmax 用于多分类的输出层。它把输出变成概率分布:

Softmax(zᵢ) = e^(zᵢ) / Σ(e^(zⱼ))

所有输出加起来等于1,每个值在 (0,1) 之间。说白了,就是"比大小,归一化"。

激活函数 输出范围 适用场景 梯度问题
Sigmoid (0, 1) 二分类输出层 梯度饱和严重
Tanh (-1, 1) RNN、某些隐藏层 仍有饱和
ReLU [0, +∞) 隐藏层首选 负区间死亡
Softmax (0, 1) 和为1 多分类输出层

三、单层感知机与线性分类

3.1 感知机模型

1957年,Rosenblatt 提出了感知机。它其实就是单层 MP 模型 + 阶跃激活函数。

y = sign( Σ(wᵢ · xᵢ) + b )

其中 sign(x) = 1  if x ≥ 0
             = -1 if x < 0

感知机做的事情很简单:在特征空间里画一条直线(或超平面),把数据分成两类。

3.2 线性可分与 XOR 问题

感知机只能解决线性可分问题。什么叫线性可分?就是能用一条直线把两类数据完全分开。

但有个经典问题——XOR(异或)问题:

输入: (0,0) → 输出 0
      (0,1) → 输出 1
      (1,0) → 输出 1
      (1,1) → 输出 0

你想想看,在二维平面上,这四个点能用一条直线分开吗?不能。这就是感知机的致命缺陷。

历史教训: 1969年,Minsky 在《感知机》一书中证明了单层感知机无法解决 XOR 问题。这直接导致了 AI 的第一次寒冬。

解决办法?加隐藏层,用多层网络。这就是后来神经网络复兴的关键。

3.3 从感知机到现代神经网络

单层感知机的问题在于:

  • 只能做线性分类
  • 激活函数不可导(阶跃函数),无法用梯度下降

现代神经网络的改进:

  • 用可导的激活函数(Sigmoid、ReLU 等)
  • 增加隐藏层,变成多层网络
  • 用反向传播算法训练
💡 我的经验: 做项目时,如果数据线性可分,用感知机就够了。但现实中的数据几乎都是非线性可分的。所以,多层神经网络才是主流。

本章知识体系总览

神经网络基础(一)知识体系 生物神经元 树突 → 细胞体 → 轴突 MP模型 Σ(w·x) + b → f(·) 激活函数 Sigmoid / Tanh / ReLU / Softmax 单层感知机 线性分类器 + 阶跃激活 核心概念 线性可分 vs 非线性可分 | XOR问题 | 多层网络的必要性 生物启发 数学建模 非线性映射

这一章的内容就到这里。记住:生物神经元给了我们灵感,MP模型给了我们数学框架,激活函数给了我们非线性能力,而感知机则告诉我们——单层不够,需要更深。


公众号:蓝海资料掘金营,微信deep3321