Published on

PyTorch 2.0 学习

张量的维度

张量的维度可以通过秩(rank)、形状(shape)和大小(size)来描述。

秩(Rank):简单地告诉我们张量有多少个维度。标量的秩为0,向量的秩为1,矩阵的秩为2,张量的秩为3或更高。

形状(Shape):张量的形状是每个维度中的元素数量。

大小(Size):张量中元素的总数,可以通过将形状中的元素数量相乘计算得出。

dim 参数

dim 告诉 torch.mean 沿哪一条轴做平均

  • dim=0纵向压(把每一列的所有行加起来再平均),结果长度 = 列数。
  • dim=1横向压(把每一行的所有列加起来再平均),结果长度 = 行数。

例子

t = torch.tensor([[1, 2],
                  [3, 4]])
torch.mean(t, dim=0)  # tensor([2, 3])
torch.mean(t, dim=1)  # tensor([1.5, 3.5])

一句话:dim=0算均值,dim=1算均值。

激活函数

  • ReLU:大于0保持原样,小于0直接归零,解决梯度消失问题

  • Sigmoid:把任意数压缩到0-1之间,用于二分类概率输出

  • Tanh:把任意数压缩到-1到1之间,以0为中心,比Sigmoid更优

损失函数

  • 交叉熵损失:衡量预测概率分布与真实分布的差异,用于分类任务

  • 均方误差损失:计算预测值与真实值差的平方,用于回归任务

  • 负对数似然损失:对预测概率取负对数,越小表示预测越准

优化器

  • SGD:沿着梯度反方向一小步一小步更新参数,简单但可能震荡

  • Adam:结合了动量法和自适应学习率,能自动调整步长,收敛更快更稳

THE END