大模型的神经元——FNN的第一步仿射升维
h=W₁x+b1, W₁∈R^2048×512
推特的公式渲染就那样了,将就看看吧 🙃。
为什么我们这里要引入 W₁ 和 b1 呢?因为这只是 FNN 的第一跳,后面还有 W2 和 b2,所以这一跳必须先做。
来拆一下:
x 是输入向量,来自前面经过了多头 Attention 处理后的结果;
W1 是我们这一步的权重矩阵;
b1 是偏置项;
h=W₁x+b1 是我们要得到的升维结果。
上一条推我已经让你去看图形学的升维视频了,你应该能直观感受到——升维就是把一个低维向量“抬进”高维空间。这里虽然是 512 维升到 2048 维,但原理完全一样。
如果你学过线性代数,不管你是数学系还是经管/理工背景,你一定知道矩阵乘法的“合法性规则”:
前一个矩阵的列数 = 后一个向量的行数,乘法才成立。
所以这里:
x∈R512
W1∈R2048×512
自然就可以相乘,输出一个 2048 维的向量 h。
这一步的本质,就是把输入向量展开到一个更宽阔的语义空间里,为后面的非线性激活和降维做准备。
W₁是什么
我们先来讲讲 W₁ 到底是什么。它的作用可以用一句话概括:升维是为了扩大空间,将原始的语义向量投射到一个更丰富、更有表达力的高维空间中。这个“升维”其实非常好理解,不是什么神秘操作,而是为了让信息在网络中更好地传输和流动。维度一旦上升,模型就能在这个更大的空间中对语义结构做出更细致的区分,比如不同词义、上下文语境、语法角色等。
那 W₁ 一般是多少维的矩阵呢?经验上,它的维度通常是输入维度的 4 倍,比如输入是 512 维,W₁ 就是一个 R2048×512 的矩阵。为什么是 4 倍?这其实是通过大量实验总结出来的经验法则。维度太小没意义,模型表达能力受限;维度太大不仅计算成本高,还容易引发过拟合。所以 4 倍这个比例,往往被认为是在表达能力与计算效率之间的一个相对均衡点。
此外,Transformer 是一个典型的堆叠结构,每一层都有自己独立的 Multi-Head Attention 和 FeedForward 模块,因此每一层的 W₁ 都是不一样的。这是神经网络设计中的基本原则:每一层负责不同的“思维阶段”,自然需要不同的表达基底。例如,底层网络更偏向捕捉词法、句法和局部搭配结构,使用的是小尺度的投影方向;中层则开始处理句内语义与依存关系,需要中等尺度的特征组合;而高层关注的是跨句的语义抽象、意图识别与上下文构建,使用的是宏观语义空间的展开方式。
那么 W₁ 是怎么来的?它不是固定设定的,而是在训练过程中通过反向传播(Backpropagation)一步步“学”出来的。模型根据损失函数对每一层的输出表现打分,然后通过链式法则更新 W₁ 的每个参数,最终形成了一个专属于该层的高维变换器,它反映了模型对输入语言结构的“个性化理解方式”。
那么,b1 又是什么?
如果你看了我上一期推荐的那个讲解图形学中向量变换的视频,你现在应该更容易理解这个公式:
h=W1x+b1
把它简单点想,就是最基本的一元一次函数形式:
y=w⋅x+b
你学过初中数学就知道,这里的 b 是干嘛的——它就是把函数整体上下平移的。想象一个二维坐标系,原本一条线通过原点,加入偏置 b 后,它可以上移、下移,从而决定函数从哪个高度开始激活。用图形学的语言来说,这就是一个仿射变换(affine transformation)中的“平移项”。
为什么这个操作重要?你想象一下神经网络在处理一堆数据点时,如果没有偏置,每个神经元的激活阈值都“卡”在原点附近,这样网络就缺乏灵活性,无法适配不同类型的输入。有了偏置 b1,模型就可以在不同的空间位置上开始处理、激活、变化。它打破了“所有输入都从 0 开始”的限制,允许模型在更丰富的位置感知信息、响应输入。
也正因为如此,偏置项 b1直接影响模型的泛化能力。它不是随机给的,而是通过数据训练出来的。可以说,在 Transformer 这样的模型中,b1 是一笔神来之笔:它虽然看起来微小,但起到了结构调节器的作用。
如果你用语义的方式去理解它——偏置不只是一个参数,它就像是“神经元的性格倾向”。
有的神经元天生外向,b 值较大,稍有输入就会激活,像个反应敏捷、情绪丰富的人;
有的神经元天生内向,b 值较小或为负,输入必须很强烈才会触发,像个谨慎、沉稳的人。
所以说,偏置不是功能,它是性格,是神经元对世界的反应起点。
偏置也像“默认语境”:就像一句“真不错啊”,在不同语境下可能是赞美,也可能是讽刺。同样的输入 x,在不同的偏置背景下,模型的理解是完全不同的。偏置决定了你在什么心情、什么立场下接受一个输入。
它还像语言句式中的语气助词。
权重 W₁决定句子的主干结构,而偏置 b 就像“哦”“呢”“啊”“终于”这样的词,它不改变信息本体,但完全能改变表达的语感、态度和重心。
再比如音乐中的“定音锤”:乐句可以自由变化,但每段音乐都有一个调性起点,而这个调性,就是由偏置设定的。换句话说,在神经网络中,W 是旋律,b 是调性。模型每一层的偏置,就是在设定“我准备从这里开始感知世界”。
最后,也是最重要的,从迁移学习的角度来看,偏置更像是一种泛化的预备状态。一个优秀的大模型不是每次都要重新学习全部结构,而是保留一套强大的神经基座,然后在不同任务中只需要微调一些“启动姿态”就能适配新任务。这组“启动姿态”很多时候就是偏置。它帮你从“通用结构”过渡到“特定场景”,帮助模型找到新的共鸣点。
(11/n)
显示更多