最简单的线性模型 y = wx + b 中,参数确实只有两个

是的,在最简单的线性模型 y = wx + b 中,参数确实只有两个:权重 w 和偏置 b。这是深度学习中最基础的参数概念示例。我们可以通过 PyTorch 代码来验证这一点:

python
 
运行
 
 
 
 
import torch
import torch.nn as nn

# 定义一个最简单的线性模型
class LinearModel(nn.Module):
    def __init__(self):
        super(LinearModel, self).__init__()
        # 输入维度=1,输出维度=1
        self.linear = nn.Linear(1, 1)
    
    def forward(self, x):
        return self.linear(x)

# 实例化模型并查看参数
model = LinearModel()
print("模型参数:")
for name, param in model.named_parameters():
    print(f"{name}: {param.item()}")  # .item() 用于获取单元素张量的值

print("\n参数总数:", sum(p.numel() for p in model.parameters()))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

输出结果:

plaintext
 
 
模型参数:
linear.weight: 0.5443234141197205
linear.bias: -0.4414911637424469

参数总数: 2
 

为什么只有两个参数?

在 y = wx + b 中:

  • w 对应 nn.Linear(1, 1) 中的权重(weight)
  • b 对应偏置(bias)
  • 由于输入和输出维度均为 1,因此权重 w 是一个标量(1×1 矩阵),偏置 b 也是一个标量。

与大模型的对比

当我们说 GPT-3 有 1750 亿参数时,其参数规模的增长来自于:

  1. 高维度:输入 / 输出维度通常为数千(如 768、1024)
  2. 多层结构:堆叠数十到上百个 Transformer 层
  3. 多头注意力:每个注意力层包含多个 “头”(如 12 头、16 头)
  4. 复杂架构:除了基础线性层,还包含残差连接、LayerNorm 等额外参数

例如,一个简单的 2 层神经网络,输入维度 = 10,隐藏层维度 = 20,输出维度 = 1,其参数数量为:

  • 第一层:10×20(权重) + 20(偏置) = 220
  • 第二层:20×1(权重) + 1(偏置) = 21
  • 总计:241 个参数,远多于 y = wx + b 的 2 个参数。

总结

  • 简单模型(如 y = wx + b)参数少,结构直观
  • 大模型通过增加维度、层数和复杂度,参数规模呈指数级增长
  • 参数数量直接影响模型的表达能力和计算成本
posted @ 2025-06-18 01:43  m516606428  阅读(30)  评论(0)    收藏  举报