深度学习五个步骤:数据 ——> 模型 ——> 损失函数 ——> 优化器 ——> 迭代训练,通过前向传播,得到模型的输出和真实标签之间的差异,也就是损失函数,有了损失函数之后,模型反向传播得到参数的梯度,接下来就是优化器根据这个梯度去更新参数。
优化器
pytorch的优化器:更新模型参数。
在更新参数时一般使用梯度下降的方式去更新。梯度下降常见的基本概念
- 导数:函数在指定坐标轴上的变化率;
- 方向导数:指定方向上的变化率;
- 梯度:一个向量,方向为方向导数取得最大值的方向。
所以梯度是一个向量,方向是导数取得最大值的方向,也就是增长最快的方向,而梯度下降是沿着梯度的负方向去变化。
优化器的属性和方法
class Optimizer:
defaults: dict
state: dict
param_groups: List[dict]
def __init__(self, params: _params_t, default: dict) -> None: ...
def __setstate__(self, state: dict) -> None: ...
def state_dict(self)