MLP(多层感知机)

MLP

最基础的全连接网络

亦作、亦称:多层感知机 · Multi-Layer Perceptron

多层感知机(Multi-Layer Perceptron,MLP)是由多层全连接线性变换与非线性激活函数交替堆叠构成的前馈神经网络,是深度学习最基础的构件,从经典分类器到 Transformer 前馈子层无不以其为核心。

概述

MLP 通过多次「线性变换 + 非线性激活」的组合,将输入映射为所需输出,是通用函数逼近器。

  • 全连接结构:每层所有神经元与相邻层全部神经元相连,也称「全连接网络(Fully-Connected Network)」。
  • 通用近似定理:Cybenko(1989)与 Hornik(1991)分别证明,含足够多隐藏单元的单隐层 MLP 可以以任意精度逼近连续函数。
  • 深度优于宽度:实践中更深的网络比极宽的单层更具参数效率,也有更好的泛化能力。
  • 无结构假设:与 CNN 不同,MLP 对输入不预设空间或序列结构,因此更通用但参数量更大。

工作原理

每层计算形式为 y = σ(Wx + b),前向传播逐层递推,反向传播更新权重。

  • 线性变换 权重矩阵 W 和偏置 b 对输入做仿射变换(旋转、缩放、平移)。
    -
    非线性激活 : 激活函数 σ 折叠特征空间,使多层组合后具有非线性表达能力;若去掉激活,任意多层线性叠加等价于单层线性变换。
    -常用激活函数早期为Sigmoid
    /
    Tanh
    (深层易梯度消失);现代主流为ReLU、 GELU、 SiLU/Swish
    -训练方式 通过反向传播(Backpropagation)计算梯度,再由 SGD Adam
    等优化器迭代更新参数。

类型与变体

标准 MLP 在不同应用场景中衍生出多种变体。

  • GLU / SwiGLU:门控线性单元系列在升维后引入门控机制,LLaMAPaLM 等大语言模型的 FFN 均采用 SwiGLU。
  • Transformer FFN:每个 Transformer 块中的前馈子层本质是两层 MLP,通常先将维度扩大约 4 倍再压回原维度,FFN 参数量通常占 Transformer 块总参数的三分之二左右。
  • 混合专家(MoE):将 MLP 替换为多个并行专家子网络,加入路由机制实现稀疏激活,Mixtral 等模型均采用该架构。
  • MLP-Mixer(2021):Google 提出的纯 MLP 图像分类架构,用 token-mixing MLP 替代注意力机制处理图像 patch。

应用场景

MLP 既可独立使用,也作为子模块嵌入更复杂的系统。

  • 表格数据建模:结构化数据的分类与回归任务中,MLP 加适当正则化往往能与 GBDT(梯度提升树)竞争。
  • Transformer FFN 层:研究表明 FFN 存储大量事实性知识,是大语言模型记忆能力的核心来源(Geva 等,2021)。
  • 分类器头(Classifier Head):视觉、语音、NLP 模型在特征提取后通常接一个或多个全连接层完成最终分类。
  • 策略网络与价值网络:强化学习中 PPO、DQN 等算法的策略函数和价值函数通常由 MLP 实现。
  • 生成模型子模块:扩散模型的噪声预测头、VAE 的编解码器、GAN 的判别器均大量使用 MLP。

与相邻概念的区别

MLP 与多个相近概念存在明确边界。

  • MLP vs 感知机(Perceptron):感知机通常指单层线性二分类器(Rosenblatt,1957),仅能处理线性可分问题;MLP 有隐藏层和非线性激活,能拟合复杂非线性函数。
  • MLP vs CNN:CNN 通过局部连接与权重共享利用空间平移不变性,参数更少;MLP 无结构假设,处理图像参数量庞大。
  • MLP vs RNN:RNN 有时序状态,可建模序列依赖;MLP 对位置无感知,处理序列需配合位置编码或注意力机制。
  • MLP vs Transformer:Transformer 用注意力机制动态建模元素间关系;但 Transformer 的 FFN 子层本身就是 MLP,二者是包含关系。

局限与误区

MLP 有几个常被误解的局限。

  • 万能近似定理被误读:定理仅保证参数「存在」,不保证梯度下降在有限数据和时间内能找到;在实际训练中需要合理的网络规模、数据量和正则化。
  • 梯度不稳定:深层 MLP 在没有残差连接归一化层(Batch Norm / Layer Norm)时极易出现梯度消失或爆炸。
  • 无归纳偏置:MLP 对空间局部性和序列顺序无内置假设,在图像、语音等有结构的数据上通常不如 CNN、RNN 参数高效。
  • 「MLP 已过时」是误区:SwiGLU FFN、MoE 专家子网络都是 MLP 的直接延伸,现代最先进模型中 MLP 仍处于核心位置。

发展脉络

MLP 的演进跨越半个世纪,与深度学习的发展轨迹高度重合。

  • 1957:Rosenblatt 在康奈尔航空实验室提出单层感知机,奠定前馈网络雏形。
  • 1969:Minsky & Papert 证明单层感知机无法解决 XOR 问题,导致第一次「AI 寒冬」。
  • 1986:Rumelhart、Hinton、Williams 在 Nature 发表反向传播算法,使多层网络训练成为可能,MLP 正式确立。
  • 1989/1991:Cybenko 和 Hornik 分别证明通用近似定理,奠定 MLP 理论基础。
  • 2010 年代ReLU 激活函数、DropoutBatch Norm 的引入使深层 MLP 训练趋于稳定,深度学习复兴。
  • 2017:Transformer 提出,MLP 以 FFN 子层形式成为每个注意力块不可或缺的组成部分。
  • 2021:Google 提出 MLP-Mixer,验证纯 MLP 架构在视觉任务上的竞争力;同年 Geva 等揭示 FFN 作为知识存储器的机制。

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「最基础的全连接网络」
  • 「神经网络入门模型」
  • 「Transformer 里的 FFN 亲戚」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 3 篇文章,帮助深入理解该术语。

  1. 1

    神经网络基础:从感知机到多层网络

    理解神经元、激活函数、反向传播和梯度消失问题

  2. 2

    注意力机制与 Transformer 架构

    详解 Self-Attention、Multi-Head Attention 和 Transformer 的编码器-解码器结构

  3. 3

    机器学习基础:从线性模型到决策树

    机器学习入门必读。涵盖线性回归、逻辑回归、决策树、KNN、SVM 等核心算法,从数学原理到 Python 实战,配合对比表格和可视化图解,帮你建立完整的 ML 知识框架。

外部参考

维基百科:查看「MLP」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。