java笔试题算法超梯度下降
这是
ICLR
2018
论文的代码。
一个版本也在计划中,稍后会出现在这个
repo
中。
什么是“超梯度”?
在基于梯度的优化中,通过使用其关于模型参数的导数(梯度)来优化目标函数。
除了这个基本梯度之外,超梯度是相同目标函数相对于优化过程的超参数(例如学习率、动量或正则化参数)的导数。
可以有多种类型的超梯度,在这项工作中,我们对与标量学习率相关的超梯度感兴趣。
安装
pip
install
git+https://github.com/gbaydin/hypergradient-descent.git
我如何将它用于我的工作?
我们正在为
PyTorch
提供超梯度版本的
SGD(有或没有动量)和
Adam
优化器的现成实现。
这些符合torch.optim
API,可用作代码中的直接替代品。
只需从这个
repo
中获取sgd_hd.py和adam_hd.py文件并像这样导入它们
from
hypergrad
import
SGDHD
,
AdamHD
...
optimizer
=
optim
.
AdamHD
(
model
.
parame
2023-01-23 16:24:37
17.83MB
系统开源
1