AI学习目录汇总
1、简述
在训练神经网络时,最常用的算法是反向传播。在该算法中,参数(模型权重)根据损失函数相对于给定参数的梯度进行调整。为了计算这些梯度,PyTorch 有一个内置的微分引擎,称为torch.autograd. 它支持任何计算图的梯度自动计算。
神经网络(NN)是在某些输入数据上执行的嵌套函数的集合。 这些函数由参数(由权重和偏差组成)定义,这些参数存储在PyTorch的张量中。
训练 NN 分为两个步骤:
正向传播:在正向传播中,NN 对正确的输出进行最佳猜测。
它通过其每个函数运行输入数据以进行猜测。
反向传播:在反向传播中,NN 根据其猜测中的误差调整其参数。
它通过从输出向后遍历,收集有关函数参数(梯度)的误差导数并使用梯度下降来优化参数来实现。
2、神经网络中的微分
2.1 定义一个最简单的一层神经网络
import torch
# 输入张量
x = torch.ones(5)
# 期望的输出张量
y = torch.zeros(3)
# 权重:requires_grad: 如果需要为张量计算梯度,则为True,否则为False。
w = torch.randn(5, 3, requires_grad=True)
#