关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
torch.optim的灵活使用详解要构建一个优化器Optimizer,必须给它一个包含参数的迭代器来优化,然后,我们可以指定特定的优化选项,例如学习速率,重量衰减值等。将model中需要进行BP的层的参数送到torch.optim中,这些层不一定是连续的。例子:上面创建的optim.SGD类型的Optimizer,lr默认值为1e-1,momentum默认值为0.9。features12的参数学习率为1e-2。params : iterable of parameters to optimize or dicts defining parameter groups 想要改变各层的学习率,可以访问optimizer的param_groups属性。查看torch.optim.SGD等Optimizer的源码,发现没有L1正则的选项,而L1正则更容易得到稀疏解。L1正则化求导如下:
下载地址
用户评论


