PyTorch 中的一个线性变换层,也被称为 全连接层(Fully Connected Layer) 或 仿射变换(Affine Transformation)。它的主要作用是对输入张量进行线性变换,即计算加权和,并加上一个偏置。将输入(input_dim)变为输出(output_dim)。
对于一个输入张量 x, 层会计算以下操作:
- x:输入张量。它的形状通常是 [batch_size,input_dim],即每个样本有 input_dim维的特征。
- W:权重矩阵,形状是 [output_dim,input_dim],这里的 output_dim是希望输出的维度。 会学习这个矩阵。

- 每一行表示从输入到一个输出维度的映射。例如,第一行是输入的 4 个特征如何映射到第一个输出维度,第二行是输入特征如何映射到第二个输出维度。
- b:偏置项,形状是 [output_dim],它也会被学习。
- y:输出张量,形状是 [batch_size,output_dim],即每个样本被映射到 output_dim维度特征。
例子:在矩阵乘法,权重矩阵 的形状是 ,偏置 的形状是 。当输入 (形状为 )与权重矩阵 的转置进行矩阵乘法时,我们得到了一个形状为 的输出张量。W的形状为 ,表示每个输出维度(2个输出)与输入维度(4个输入特征)的对应关系。
在训练过程中, 会自动学习权重矩阵 W和偏置项 b 的值,以最小化损失函数。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/204980.html