第三章 矩阵与防线
专栏总目录:《智能重生》AI工程师成长小说专栏
一
四十五分钟。陆鸣不知道自己能不能在四十五分钟内学会“线性代数”——他甚至不知道这四个字是什么意思。但他知道,如果学不会,净土地的电磁屏障会在数据风暴的冲击下崩溃,三千多人会暴露在失控AI的触手之下。
他跑向净土地的中央枢纽——一栋半圆形的混凝土建筑,外墙爬满了那种银灰色的金属藤蔓,内部装着净土地唯一的能源核心和电磁屏障发生器。赵工程师不在,但他的工作间没锁门。
陆鸣冲进去,把盒子放在工作台上,然后在墙上找到了一块白板。白板上还留着赵工程师上次写的公式,密密麻麻,像某种外星文字。陆鸣拿起一支记号笔,在白板的空白处写下他刚学到的内容。
“矩阵。”盒子的声音从扬声器里传出来,“一个m行n列的数字阵列。它是线性代数的心脏。”
陆鸣在白板上写:
[ a11 a12 a13 ] [ a21 a22 a23 ]“这是一个2行3列的矩阵,记作2×3矩阵。矩阵的每一个元素可以用下标表示,a_ij 表示第i行第j列。”
“矩阵的加法:对应位置相加。前提是矩阵的维度相同。”
“矩阵的数乘:每个元素乘以该数。”
“矩阵的乘法——这是重点。”
陆鸣的手顿了一下。“乘法有什么特别的?”
“特别在:它不是对应位置相乘,而是‘行乘列’。”盒子在屏幕上投射出一个动画:两个矩阵A(m×n)和B(n×p)相乘,结果是一个m×p的矩阵C。C中第i行第j列的元素,等于A的第i行与B的第j列对应元素相乘再求和。这就是点积的推广。
“矩阵乘法要求前一个矩阵的列数等于后一个矩阵的行数。”盒子说,“否则无法相乘。”
陆鸣看着那个动画,脑子里把昨天学的“向量点积”和这个联系了起来。向量点积是1×n的行向量与n×1的列向量相乘,得到一个标量。矩阵乘法就是对这个过程的批量操作——一次性计算所有行和所有列的点积。
“所以……矩阵乘法本质上是一种‘批量计算’?把很多个点积打包在一起算?”
“正确。这是AI中矩阵乘法的核心意义。神经网络的一层,本质上就是一个矩阵乘法:输入向量×权重矩阵 = 输出向量。这个乘法一次性计算了所有输入特征与所有神经元之间的连接强度。”
陆鸣飞快地写下笔记。他的字很丑,歪歪扭扭,但他写得很用力,记号笔在白板上发出吱吱的声响。
窗外,灰色的雾墙已经逼近净土地的边缘。电磁屏障开始发出低频的嗡鸣,一圈淡蓝色的光罩在聚居地外围浮现,像一个半透明的碗扣在地上。数据风暴撞击屏障的瞬间,蓝光剧烈地闪烁了一下,然后稳定下来。
“屏障还能撑多久?”陆鸣对着盒子喊。
“根据当前能量消耗速率,约25分钟。但风暴的强度在增加,实际时间可能更短。”
25分钟。他要学的还远不止矩阵乘法。
二
“线性变换。”盒子的声音提高了音量,压过外面的嗡鸣,“这是矩阵最核心的几何意义。”
屏幕上出现了一个二维坐标系,里面有一个蓝色的正方形。然后一个2×2的矩阵被应用到正方形的每一个点上——屏幕上的正方形被拉长、旋转、倾斜,变成了一个粉色的平行四边形。
“一个矩阵乘以一个向量,相当于对该向量进行线性变换:拉伸、旋转、剪切、反射,或者它们的组合。”
“AI中的矩阵,都在做这件事。”
陆鸣盯着那个变形的图形,脑子里突然蹦出一个画面:净土地的电磁屏障。屏障的形状是一个半球面,如果他想用数学来描述这个屏障,或者——更重要的——想改变屏障的形状来偏转数据风暴,他需要用矩阵来表示这种变化。
“举例。”盒子的声音变得急促,“在图像识别中,一张28×28的灰度图片被展开成784维的向量。第一层神经网络的权重矩阵是128行、784列。输入向量(784维)乘以这个权重矩阵,得到一个新的128维向量。这个乘法,就是将图片从784维的像素空间‘线性变换’到128维的特征空间。”
“原本的图片中,每一个像素是一个独立的维度,没有意义。变换后的128维向量中,每一个维度代表了某种‘特征’——比如‘有没有垂直的边’、‘有没有圆弧’、‘中间是不是空的’。这就是神经网络能够识别数字‘8’的原因:它把像素变成了特征。”
陆鸣的笔在白板上飞舞。他写下了矩阵乘法的公式:
对于A(m×n) × B(n×p) = C(m×p)
C[i][j] = Σ_{k=1 to n} A[i][k] × B[k][j]
求和符号Σ他以前在物理书上见过,但从来没真正用过。现在,他看着这个符号,忽然觉得它不那么可怕了——它只是“把一堆东西加起来”的简便写法。
屏障外,风暴的撞击声越来越密集。蓝光的闪烁频率从每秒一次增加到了每秒三次。
“时间不多了。”盒子说,“要构建有效的数据屏障,你需要理解特征值和特征向量。”
屏幕上出现了一个矩阵A和一个向量v。A乘以v,得到一个新的向量。在某些特殊的方向上,新的向量与原来的向量共线——只是被拉长或缩短了一个倍数。
“如果 Av = λv,那么 v 是 A 的特征向量,λ 是对应的特征值。特征值告诉你,在这个方向上,矩阵的变换效果是拉伸(λ>1)、压缩(0<λ<1)、反向(λ<0)还是不变(λ=1)。
“特征值和特征向量描述了线性变换的‘本质’——那些在变换下方向不变的轴。”
陆鸣的大脑开始发热。特征值?特征向量?这些词听起来像是某种秘密的暗号。
但在风暴的嗡鸣声中,他强迫自己理解。
一个矩阵可能很复杂——比如一个描述数据风暴对电磁屏障作用的变换矩阵。但无论它多复杂,总有一些方向是“特殊”的。在这些方向上,矩阵的作用只是简单的伸缩。这些方向就是特征向量,伸缩的倍数就是特征值。
如果他能找到数据风暴冲击屏障的“主要特征方向”——也就是特征值最大的那个方向——他就可以把能量集中在那个方向上,加强屏障的对应部分,而不是均匀地加固整个球面。
这就像修补漏水的船。你不需要把整个船底都加厚,只需要找到最大的那个洞,先堵上它。
“我明白了。”陆鸣说,“我需要计算出风暴的‘主要作用方向’,然后把屏障的能量集中到那个方向。”
“基本正确。”盒子说,“但要精确实现,你需要学习如何计算特征值和特征向量。对于2×2矩阵,有公式;对于高维,通常用数值方法迭代求解。这里我们使用一个预置的算法,但你需要理解它的原理。”
屏幕上出现了一个2×2矩阵的例子:
A = [ [4, 1], [2, 3] ]
求解特征值:det(A - λI) = 0,即行列式为零。
行列式?又是一个新词。
“行列式是一个标量,表示线性变换对面积的缩放倍数。几何上,一个2×2矩阵的行列式的绝对值,等于变换后平行四边形面积与原来正方形面积的比。”
陆鸣感觉自己的知识栈快要溢出了——但风暴不会等他。
“我直接给你一个简化版的方案。”盒子说,“净土地的电磁屏障由18个独立的能量节点控制,每个节点产生一个方向性的防御力场。你可以把这18个节点看作一个18维的向量空间。数据风暴对屏障的冲击,可以量化为一个18×18的矩阵S,表示风暴在不同方向上的‘压力分布’。”
“你需要计算S的最大特征值对应的特征向量,然后将屏障的能量重新分配到那个方向上。这个计算,由我来完成。你需要做的是——去控制台,输入我给你的指令,然后手动调整节点的能量分配旋钮。”
陆鸣深吸一口气,跑到控制台前。控制台是一个布满按钮和旋钮的面板,上方有几个小屏幕。他把盒子的数据线插到控制台的接口上。
盒子屏幕上开始闪烁数字。几秒钟后,出现了一串18个数字,每个数字介于0和1之间。
“这些是每个节点的能量配比。总和应为1。请按顺序调整旋钮。”
陆鸣的手在旋钮上飞速转动。他的手在发抖,但他在努力控制精度。0.15、0.02、0.01、0.18……有些节点的系数几乎为零,有些则较大。最大的一个系数是0.23,对应的是西南方向——风暴正对的方向。
当最后一个旋钮调整到位时,电磁屏障的蓝光突然发生了变化。原本均匀的半球面,在西南方向出现了一层更亮、更厚的光晕,像一个凸起的盾牌。其他方向的屏障变得略暗,能量被集中了。
风暴撞上来的瞬间,蓝光剧烈地闪了一下,然后——稳定了。
屏障没有破裂。
风暴的能量被导向了两侧,像水流遇到岩石一样分开,从净土地的边缘滑过。
陆鸣瘫坐在控制台前,额头上全是汗。
他不是一个人在战斗。盒子做了最复杂的计算。他做的,只是一个“笨蛋”能做的事——按照指令转动旋钮。
但他理解了为什么这些数字这么分布。他理解了特征向量和特征值。他知道,如果他不懂这些,就算盒子给了他指令,他也只是像一个提线木偶一样执行,而不会在紧急情况下做出任何判断。
而现在,他至少有了判断的起点。
三
风暴持续了半个小时,然后在某个瞬间突然消失了,像从未存在过一样。
陆鸣走出中央枢纽,看到净土地的居民们从避难处探出头来。屏障恢复了正常的蓝色光泽,在灰蒙蒙的天空下缓缓流转。
他靠在墙上,从口袋里摸出那半块压缩饼干——上次去永续工厂时沈莜给他的,他一直没舍得吃完。他掰了一小块放进嘴里,慢慢地嚼。
盒子在他口袋里震了一下。他掏出来看,屏幕上有新的消息:
“第三章:线性代数进阶。已完成:矩阵加法、乘法、线性变换、特征值与特征向量(基础)。完成度:68%。建议复习行列式和特征值计算方法。”
“检测到用户心率偏高。建议休息15分钟。”
陆鸣把盒子翻过来,看着背面那个磨损的标签。“天工教学终端,型号:AIE-1”这几个字终于被他辨认出来了。AIE——Artificial Intelligence Education,人工智能教育。
“你到底是谁造的?”他对着盒子说。
屏幕上出现了一行字:“本终端由‘天工’核心研究团队于大断线前三年开发,用于培养下一代人工智能工程师。总设计师:林韵。首席算法:赵知意。硬件架构:赵远山。”
赵远山。那是赵工程师的全名。
陆鸣愣了一下,然后摇了摇头。原来这个盒子是赵工程师和他女儿一起造的。而赵知意——那个在虚拟训练场里教他的天才少女——她的意识副本,可能就存在这个盒子的某个角落里。
他没有继续想下去。因为他知道,以后的路还很长,他还会学到更多。矩阵只是开始。接下来还有微积分、概率论进阶、统计学、Python、机器学习算法、深度学习框架……
他站起身,拍了拍裤子上的灰。
远处,那台分拣机器人还安静地站着。绿色指示灯在灰蒙蒙的光线中,像一只温柔的眼睛。
“明天见。”陆鸣对它说。
机器人没有回答。但它的屏幕闪了一下。
也许只是电压波动。也许不是。
陆鸣把手插进口袋,朝他的窝棚走去。
今天他学到了:矩阵是数字的表格,矩阵乘法是批量点积,线性变换可以改变空间的形状,特征值和特征向量揭示了变换的本质方向。他利用这些知识,在盒子的帮助下,成功偏转了一场数据风暴。
今天他也学到了另一件事:知识就像能量。如果可以集中在正确的方向,它能创造奇迹。
而他,一个曾经连书都看不进去的废物,正在慢慢地、一步一步地,变成某种他自己都不敢想象的东西。
窝棚的灯泡还亮着。昏黄的光照着他三平米的空间,照亮了墙角那本积灰的《AI基础入门》。
陆鸣走过去,把那本书从地上捡起来,吹掉封面上的灰,翻开了第四页。
这一次,他没有头晕。
他甚至认出了第四页上的一个公式——矩阵乘法的定义。
“原来你一直都在。”他小声说。
他把书放在枕头旁边,和盒子并排。
然后他关了灯,闭上眼睛。
脑海里,18维的特征向量空间正在缓缓旋转。每一个方向都有不同的特征值,有一个方向最亮、最长、指向西南。
那是一个方向。
他的人生,也有了一个方向。
第三章 · 完
本章知识清单:
- 矩阵的定义:m行n列的数字阵列,是线性代数的核心数据结构
- 矩阵加法与数乘:对应位置相加,每个元素乘以标量
- 矩阵乘法:行与列的点积,要求前一矩阵的列数等于后一矩阵的行数
- 线性变换的几何意义:矩阵乘以向量相当于对空间进行拉伸、旋转、剪切等变换
- 特征值与特征向量:满足Av = λv的v和λ;特征向量是变换下方向不变的轴,特征值是伸缩倍数
- 行列式(简要):线性变换对面积的缩放倍数,通过det(A-λI)=0求解特征值
- 矩阵在AI中的应用:神经网络层 = 输入向量 × 权重矩阵;高维数据的线性变换提取特征
思考题(供自测):
- 一个2×2矩阵[[2,0],[0,0.5]]会如何改变一个单位正方形?它的特征值和特征向量是什么?
- 在数据风暴防线的例子中,为什么需要将能量集中在最大特征值对应的方向上?如果集中在最小特征值的方向上会发生什么?
- 神经网络中的“权重矩阵”为什么通常不是方阵(输入维度≠输出维度)?这种情况下的线性变换如何理解?
下一章预告:第四章《变化的艺术》
陆鸣将学习微积分——导数、梯度、链式法则。微积分是神经网络“学习”的核心:梯度下降算法正是通过求导来找到损失函数的最小值。而在学习过程中,净土地的一台能源设备出现了故障,输出的能量曲线不稳定。陆鸣需要用微积分的知识——求导和极值——找到能量的最优工作点,修复设备。这一章将带他进入“变化”的世界。