news 2026/4/17 8:54:53

Transformer彻底剖析(11):多层感知机MLP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Transformer彻底剖析(11):多层感知机MLP

目录

1 3blue1brown的MLP视频:图解Transformer之MLP机制解读

2 李沐的MLP视频

2.1 感知机

2.1.1 感知机存在的问题

2.2 多层感知机

2.3 问题

3 为什么transformer中要引入MLP

3.1 Transformer 的结构回顾

3.2 Transformer 中 MLP(FFN)的作用

3.3 个人理解

4 注意力机制参数和MLP参数含量

参考文献:


abstract:

一般提到感知机默认是指单层的最简单的感知机,一般提到多层感知机默认是指包含了激活函数的多层感知机。

单层感知机只能解决线性可分问题,而异或属于线性不可分问题。

多层感知机就是使用隐藏层和激活函数得到非线性模型

transformer中为什么要加入MLP:注意力机制是线性关系,MLP是非线性理解

网络中,注意力机制参数大约占1/3, MLP参数大约占用2/3

1 3blue1brown的MLP视频:图解Transformer之MLP机制解读

从这张图看,MLP就是线性层和激活函数。

2 李沐的MLP视频

2.1 感知机

这里最开始的感知机输出神经元只有一个,感知机其实就是个二分类问题,

跟线性回归的区别:线性回归输出的是实数,感知机的输出是离散的类

跟softmax回归的区别:softmax如果有n个类,就会输出n个元素,是个多酚类的问题。

2.1.1 感知机存在的问题

其实就是理解单层感知机就是只能拟合二分类问题,那么也就是线性拟合,没法拟合异或问题。

2.2 多层感知机

为什么需要非线性的激活函数:因为如果激活函数是线性的,那么输出跟输入的关系就还是线性的,那么最终结果就相当于是 一个单层的感知机,还是解决不了异或问题。

2.3 问题

一般来说一层是包含了激活函数的

通常来说一层是包含了权重以及激活函数的,就是这些计算是怎么做的,上图就可以说是两层,在这里输入层不算一层,

对于输入来说,有两种选择,

一种就是一个隐藏层,然后这个隐藏层包含了很多神经元,

还有一种是多个隐藏层,但是每个隐藏层的神经元稍微少一点,

他们两个的模型复杂度是差不多的,但是第二种更好训练,第一种特别容易过拟合,第一种相当于一口吃个胖子,第二种相当于循序渐进的去学习,比如把一个猫的图片和狗的图片,进行训练和学习,第二种相当于第一层学个耳朵,第二层学个尾巴,最后学会整个图像。

其实都差不多,区别不大。

3 为什么transformer中要引入MLP

3.1 Transformer 的结构回顾

一个标准的 Transformer Encoder Layer 主要包含两部分:

  1. 多头自注意力(Multi-Head Self-Attention, MHSA)

  2. 前馈全连接网络(Feed-Forward Network, FFN)

其中 FFN本质上就是多层感知机(MLP),通常形式是:

FFN(x)=GeLU(xW1+b1)W2+b2\text{FFN}(x) = \text{GeLU}(x W_1 + b_1) W_2 + b_2FFN(x)=GeLU(xW1​+b1​)W2​+b2​

  • 两层线性 + 非线性激活(GeLU / ReLU)

  • 对每个位置的 token 独立应用


3.2 Transformer 中 MLP(FFN)的作用

增加非线性表达能力

  • 注意力层本身是线性的(注意力是加权和)

  • 如果没有 MLP,Transformer只能做线性组合

  • MLP 让每个 token 的表示可以经过非线性变换 → 更强的表示能力


提供特征混合和高维映射

  • FFN 通常内部维度远大于输入维度(比如 512 → 2048 → 512)

  • 升维 → 非线性 → 降维

  • 作用类似于 “局部特征组合 / 投影到高维空间再压缩”,增强模型拟合复杂模式的能力


保持位置独立性(Token-wise)

  • 每个 token 独立经过 MLP,不同于注意力会跨 token 交互

  • 这样做可以在每个 token 内部增加复杂的非线性变换,同时注意力负责 token 间依赖


总结一句话(本质)

Transformer 的 MLP(FFN)就是多层感知机,负责每个 token 的非线性变换和高维特征组合,使模型具备更强的表达能力,弥补注意力层的线性限制。

3.3 个人理解

transformer中为什么要加入MLP:注意力机制是线性关系,MLP是非线性理解

注意力机制只是处理了句子之间不同token的关联关系,他只是线性的,只有MLP引入非线性才能更好的理解复杂句子的含义。

4 注意力机制参数和MLP参数含量

不管是GPT,还是deepseek,还是通义,是不是mlp的参数反而是占大多数的对吗,是不是注意力参数大约1/3,MLP大约2/3

模型系列注意力机制参数占比MLP参数占比典型配置
GPT-3~33%~67%175B模型中,116B参数在MLP层
LLaMA-232-34%66-68%70B版本中MLP占46.2B参数
通义千问(Qwen)~33%~67%Qwen-Max每层FFN维度=4×隐藏维度
DeepSeek~33%~67%遵循标准Transformer设计原则

参考文献:

图解Transformer之MLP机制解读

什么是“感知机”,它的缺陷为什么让“神经网络”陷入低潮

10 多层感知机 + 代码实现 - 动手学深度学习v2

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 8:32:26

C#之文件读取

PathPath类位于System.IO命名空间,是一个静态类,可以用来操作路径的每一个字段路径相对路径: 程序运行(.exe文件)文件所在目录为参考点./ : 从参考点目录下查找, 当前目录../ 上级目录 参考点目录上级目录//参考点: D:\2511班\code\code_12_10\app1\bin\…

作者头像 李华
网站建设 2026/4/18 6:23:45

基于vue的健身房管理系统_tgk4bbwq_springboot php python nodejs

目录 具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring…

作者头像 李华
网站建设 2026/4/18 5:23:08

HTTP协议在JSP大附件上传中如何优化性能?

大文件上传系统开发指南(基于原生JSSpringBoot) 老铁,先别慌!让我帮你捋一捋这个"毕业设计找工作"双重大礼包 兄弟,看到你的需求我仿佛看到了当年被毕业设计支配的恐惧。不过别担心,我这个&quo…

作者头像 李华
网站建设 2026/4/3 7:50:10

JAVA中如何利用JSP实现视频文件的分片上传?

企业级大文件安全传输解决方案 作为广东IT行业软件公司的项目负责人,针对贵司的大文件传输需求,我提供以下专业解决方案。本方案完全满足高稳定性、高安全性要求,支持100G级别文件传输,并具备完善的信创国产化适配能力。 核心功…

作者头像 李华
网站建设 2026/4/18 5:23:07

JSP中如何利用分段技术实现超大附件上传?

大文件上传系统开发指南(兼容IE8的WebUploader实现) 项目概述 大家好,我是广东的一名.NET程序员,最近接了一个让人头大的外包项目。客户要求实现一个支持20G大文件上传的系统,还要兼容IE8这种古董浏览器,…

作者头像 李华
网站建设 2026/4/16 14:37:04

JSP如何支持多平台兼容的大文件分片上传?

大文件上传下载系统开发指南 项目概述 老哥,你这个需求可真是够硬核的!20G文件上传、文件夹层级保留、断点续传、加密传输存储,还要兼容IE8,预算才100块…这活儿不简单啊!不过既然你找到我了,咱们就一起啃…

作者头像 李华