什么是仿射变换#
仿射变换 = 线性变换 + 平移。
最简单的形式:y=wx+b,其中 w 是线性部分(缩放),b 是平移部分。
严格的线性变换要求 f(0)=0,但加了偏置 b 之后 f(0)=b=0,所以 nn.Linear 做的其实是仿射变换,不是数学意义上的线性变换。
为什么 AI 里叫"线性层"#
业界约定俗成。PyTorch 的 nn.Linear、TensorFlow 的 Dense 层,做的都是 y=Wx+b(仿射变换),但大家习惯叫"线性层"。知道这个区别即可,不影响使用。
高维情况#
多输入时,仿射变换变成矩阵形式:y=Wx+b,其中 W 是权重矩阵,b 是偏置向量。