位置: IT常识 - 正文

模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思)

编辑:rootadmin
模型调参常见问题及Aadm优化器调参记录 超参数调试、Batch正则化和编程框架

推荐整理分享模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:模型调参是调节什么,模型调参是调节什么,模型参数调优,调整模型参数,模型参数调优,模型参数调优,模型调参方法,模型调参调的是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

参考链接:链接:https://blog.csdn.net/red_stone1/article/details/78403416

1. Tuning Process 深度神经网络需要调试的超参数(Hyperparameters)较多,包括:

α:学习率

β:动量梯度下降因子

β1,β2,ε:Adam算法参数

#layers:神经网络层数

#hidden units:各隐藏层神经元个数

learning rate decay:学习因子下降参数

mini-batch size:批量训练样本包含的样本个数

超参数之间也有重要性差异。通常来说,学习因子α是最重要的超参数,也是需要重点调试的超参数。动量梯度下降因子β、各隐藏层神经元个数#hidden units和mini-batch size的重要性仅次于αα。然后就是神经网络层数#layers和学习因子下降参数learning rate decay。最后,Adam算法的三个参数β1,β2,εβ1,β2,ε一般常设置为0.9,0.999和10−8,不需要反复调试。当然,这里超参数重要性的排名并不是绝对的,具体情况,具体分析。

模型调参注意细节

神经网络的调参效果不理想时->(解决思路) - 账号 - 博客园

非过拟合情况

是否找到合适的损失函数?(不同问题适合不同的损失函数)(理解不同损失函数的适用场景) (解决思路)选择合适的损失函数(choosing proper loss ) 神经网络的损失函数是非凸的,有多个局部最低点,目标是找到一个可用的最低点。非凸函数是凹凸不平的,但是不同的损失函数凹凸起伏的程度不同,例如下述的平方损失和交叉熵损失,后者起伏更大,且后者更容易找到一个可用的最低点,从而达到优化的目的。 -. Square Error(平方损失) -. Cross Entropy(交叉熵损失)batch size是否合适?batch size太大 -> loss很快平稳,batch size太小 -> loss会震荡(理解mini-batch) (解决思路)采用合适的Mini-batch进行学习,使用Mini-batch的方法进行学习,一方面可以减少计算量,一方面有助于跳出局部最优点。因此要使用Mini-batch。更进一步,batch的选择非常重要,batch取太大会陷入局部最小值,batch取太小会抖动厉害是否选择了合适的激活函数?(各个激活函数的来源和差异) (解决思路)使用激活函数把卷积层输出结果做非线性映射,但是要选择合适的激活函数。 -. Sigmoid函数是一个平滑函数,且具有连续性和可微性,它的最大优点就是非线性。但该函数的两端很缓,会带来猪队友的问题,易发生学不动的情况,产生梯度弥散。 -. ReLU函数是如今设计神经网络时使用最广泛的激活函数,该函数为非线性映射,且简单,可缓解梯度弥散。学习率,学习率小收敛慢,学习率大loss震荡(怎么选取合适的学习率) (解决思路)学习率过大,会抖动厉害,导致没有优化提 , 学习率太小,下降太慢,训练会很慢是否选择了合适的优化算法?(比如Adam)(理解不同优化算法的适用场景) (解决思路)在梯度的基础上使用动量,有助于冲出局部最低点。过拟合情况Early Stopping(早停法) (详细解释)早停法将数据分成训练集和验证集,训练集用来计算梯度、更新权重和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。Regularization(正则化) (详细解释) 权重衰减(Weight Decay)。到训练的后期,通过衰减因子使权重的梯度下降地越来越缓。 *. Batch Normalization *. Dropout *. L1 , L2调整网络结构增大训练数据量 *. 获取更多的数据 *. 数据扩充(图片: 镜像 , 翻转 , 随机裁剪等.)

优化器参数

torch.optim.Adam(model.parameters(), lr=lr ,eps=args.epsilon)

params (iterable) – iterable of parameters to optimize or dicts defining parameter groups

lr (float, optional) – learning rate (default: 1e-3)

betas (Tuple[float, float], optional) – coefficients used for computing running averages of gradient and its square (default: (0.9, 0.999))

eps (float, optional) – term added to the denominator to improve numerical stability (default: 1e-8)

weight_decay (float, optional) – weight decay (L2 penalty) (default: 0)

amsgrad (boolean, optional) – whether to use the AMSGrad variant of this algorithm from the paper On the Convergence of Adam and Beyond (default: False)

epsilon从0.1到1e-06,测试auc从0.6到0.9太可怕了,

模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思)

 torch.optim.Adam(model.parameters(), lr=lr,weight_decay=0.0005) 

加入weight_decay又到0.68附近

去掉weight_decay到测试的到0.88,训练集还在升高还往上升肯定有问题

 自适应优化器Adam还需加learning-rate decay

自适应优化器Adam还需加learning-rate decay吗? - 知乎

作者说加了lr decay的Adam还是有效提升了模型的表现。

但这只是在它的实验里进行了说明,并没有从理论上进行证明。因此不能说有定论,但是若你的模型结果极不稳定的问题,loss会抖动特别厉害,不妨尝试一下加个lr decay试一试。

如何加

torch中有很多进行lr decay的方式,这里给一个ExponentialLR API 的demo代码,就是这样就好了。

ExponentialLR原理: decayed_lr = lr * decay_rate ^ (global_step / decay_steps)

my_optim = Adam(model.parameters, lr)decayRate = 0.96my_lr_scheduler = torch.optim.lr_scheduler.ExponentialLR(optimizer=my_optim, gamma=decayRate)#my_lr_scheduler = optim.lr_scheduler.StepLR(my_optim, step_size=lr_decay, gamma=decayRate)for e in epochs: train_epoch() my_optim.step() valid_epoch() my_lr_scheduler.step()学习率衰减策略 

pytorch必须掌握的的4种学习率衰减策略 - 知乎

优化器NoamOpt

我们选择Adam[1]作为优化器,其参数为 

和 . 根据以下公式,我们在训练过程中改变了学习率:

 

在预热中随步数线性地增加学习速率,并且此后与步数的反平方根成比例地减小它。我们设置预热步数为4000。

注意:这部分非常重要,需要这种设置训练模型。

class NoamOpt: "Optim wrapper that implements rate." def __init__(self, model_size, factor, warmup, optimizer): self.optimizer = optimizer self._step = 0 self.warmup = warmup self.factor = factor self.model_size = model_size self._rate = 0 def step(self): "Update parameters and rate" self._step += 1 rate = self.rate() for p in self.optimizer.param_groups: p['lr'] = rate self._rate = rate self.optimizer.step() def rate(self, step = None): "Implement `lrate` above" if step is None: step = self._step return self.factor * \ (self.model_size ** (-0.5) * min(step ** (-0.5), step * self.warmup ** (-1.5)))def get_std_opt(model): return NoamOpt(model.src_embed[0].d_model, 2, 4000, torch.optim.Adam(model.parameters(), lr=0, betas=(0.9, 0.98), eps=1e-9))

当前模型在不同模型大小和超参数的情况下的曲线示例。

# Three settings of the lrate hyperparameters.opts = [NoamOpt(512, 1, 4000, None), NoamOpt(512, 1, 8000, None), NoamOpt(256, 1, 4000, None)]plt.plot(np.arange(1, 20000), [[opt.rate(i) for opt in opts] for i in range(1, 20000)])plt.legend(["512:4000", "512:8000", "256:4000"])None

步数为4000是指,我使用时候设置为多大合适呢

loss为负

可能的原因:数据为归一化

网络中的:

self.softmax = nn.Softmax(dim=1) 改为:

self.softmax = nn.LogSoftmax(dim=1)

测试集AUC高于训练集AUC

 感觉这个回答似乎有些道理,我的数据集划分的时候可能没有随机打乱

本文链接地址:https://www.jiuchutong.com/zhishi/300461.html 转载请保留说明!

上一篇:【小程序】微信小程序自定义组件Component详细总结(小程序微信认证)

下一篇:【前端进阶】-TypeScript高级类型 | 交叉类型、索引签名类型、映射类型(前端技巧)

  • 爱奇艺随刻版怎么下载电视剧(爱奇艺随刻版怎么分享)

    爱奇艺随刻版怎么下载电视剧(爱奇艺随刻版怎么分享)

  • 华为nova7怎么长截屏(华为nova7怎么长时间亮屏)

    华为nova7怎么长截屏(华为nova7怎么长时间亮屏)

  • iphone7分屏功能怎么开(iphone7p如何分屏)

    iphone7分屏功能怎么开(iphone7p如何分屏)

  • 支付宝扫码收款钱到哪(支付宝扫码收款记录怎么删除)

    支付宝扫码收款钱到哪(支付宝扫码收款记录怎么删除)

  • 华为nova5pro可以升级系统10吗(华为nova5pro可以扩展内存吗)

    华为nova5pro可以升级系统10吗(华为nova5pro可以扩展内存吗)

  • 微信怎么查访客谁来看过我(微信怎么查访客记录吗)

    微信怎么查访客谁来看过我(微信怎么查访客记录吗)

  • 鼠标侧键有什么用(鼠标侧键什么用)

    鼠标侧键有什么用(鼠标侧键什么用)

  • 抖音在线是什么意思(抖音在线是什么时候在线)

    抖音在线是什么意思(抖音在线是什么时候在线)

  • 华为mate30pro充满电自动断电吗(mate30pro充电多久满)

    华为mate30pro充满电自动断电吗(mate30pro充电多久满)

  • 手机qq共同好友算自己一个吗(手机qq共同好友怎么打开)

    手机qq共同好友算自己一个吗(手机qq共同好友怎么打开)

  • 苹果手机4g变成e是怎么回事(苹果手机4g变成e网)

    苹果手机4g变成e是怎么回事(苹果手机4g变成e网)

  • 苹果11电池怎么保养(苹果11电池怎么保养最好)

    苹果11电池怎么保养(苹果11电池怎么保养最好)

  • 6sp无线充电怎么设置(6sp无线充电)

    6sp无线充电怎么设置(6sp无线充电)

  • 朋友圈一条直线是什么意思(对方头像是灰色,朋友圈一条直线)

    朋友圈一条直线是什么意思(对方头像是灰色,朋友圈一条直线)

  • 百度网盘如何打开zip(百度网盘如何打包分享)

    百度网盘如何打开zip(百度网盘如何打包分享)

  • 荣耀手环4有几个表盘(荣耀手环4几轴)

    荣耀手环4有几个表盘(荣耀手环4几轴)

  • 抖音已重置还可以用吗(抖音已重置还可以登录吗)

    抖音已重置还可以用吗(抖音已重置还可以登录吗)

  • 华为p30有没有5g(华为p60是5g吗)

    华为p30有没有5g(华为p60是5g吗)

  • 网络安全密钥在哪里找(怎样破解wifi密码并显示出来)

    网络安全密钥在哪里找(怎样破解wifi密码并显示出来)

  • 苹果平板怎么开机关机(苹果平板怎么开省电模式)

    苹果平板怎么开机关机(苹果平板怎么开省电模式)

  • 全民k歌视频保存到手机(全民k歌视频保存不了)

    全民k歌视频保存到手机(全民k歌视频保存不了)

  • qq壁纸怎么换自己的(qq壁纸怎么换成自定义)

    qq壁纸怎么换自己的(qq壁纸怎么换成自定义)

  • 跳屏怎么解决(手机为什么跳屏怎么解决)

    跳屏怎么解决(手机为什么跳屏怎么解决)

  • 冰岛北部内陆景观中的Aldeyjarfoss瀑布 (© Jim Patterson/Tandem Stills + Motion)(冰岛北部内陆景观有哪些)

    冰岛北部内陆景观中的Aldeyjarfoss瀑布 (© Jim Patterson/Tandem Stills + Motion)(冰岛北部内陆景观有哪些)

  • vue3生命周期及setup介绍(vue3生命周期及使用)

    vue3生命周期及setup介绍(vue3生命周期及使用)

  • 自来水适用的税率是多少
  • 企业减免的税费账务处理
  • 一般纳税人厂房出租怎么开票
  • 去税务局申报增值税需要带税盘吗
  • 固定资产改造超过原值多少需要转固
  • 专票当成普票入账怎么调整
  • 增值税进项加计扣除计入哪个科目
  • 长期股权投资的交易费用计入哪里
  • 商业发票和形式发票英文
  • 车辆抵押贷款怎么做
  • 企业招待客户的费用
  • 应征消费税的汽车为啥不能抵扣
  • 企业所得税预缴可以不交吗
  • 外地预缴企业所得税汇算清缴退税
  • 印花税按什么税率
  • 股权转让印花税是双方都要缴纳吗
  • 水利申报怎么申报
  • 外币折算差额计入什么科目
  • 退税可以分批吗
  • 税收征管法实施细则 不予加收滞纳金
  • 补缴社保差额有滞纳金吗
  • 跨境电子商务零售进口商品的单次交易限值
  • 在win11
  • 公务车加油入什么科目
  • 监事会成员是什么人
  • php require include
  • 公司的房租收入要交税吗
  • typora如何设置字体颜色
  • 常用的php操作mysql的函数有哪些
  • php阿里云oss
  • php的什么函数可以判断变量是否存在
  • Sandilands省级森林中被白霜覆盖的番红花,加拿大曼尼托巴 (© Jaynes Gallery/Danita Delimont)
  • 一般纳税人企业所得税如何计算
  • 玻璃深加工企业排名
  • 火遍全网的超燃神曲旋律震撼人心,听完热血沸腾!
  • 美国大学数学系排名
  • 员工迟到扣款怎么处理
  • 没有销售收入月报怎么填
  • 什么是零申报制度
  • 织梦可以放两个模板吗
  • 发布相应的搜索公告
  • 土地租赁费计入哪个科目
  • 电缆租赁发票开具属于什么项目
  • 用友t3的操作流程
  • 企业所得税会计利润
  • sql参数是什么意思
  • 公司账户转到公司账户要多久
  • 分期收款销售的特点是描述正确的是
  • 季度所得税计提分录
  • 怎样暂估成本的会计分录
  • 投资性房地产转换计入其他综合收益
  • 负债项目的排列顺序
  • 未认证进项税额会计分录
  • 年金现值系数和复利现值系数的公式
  • 企业的收入总额
  • 给公司股东分红的账务处理
  • 付给外包公司的垃圾处理费会计分录
  • 冲暂估成本怎么做分录
  • 增发股票会计科目
  • sqlserver数据库优化的几种方式
  • order by使用
  • sql server怎么执行
  • linux不常用命令
  • centos nohup
  • 清华同方bios通用密码(thtfpc)
  • 怎样加快电脑开机速度
  • 关机你的电脑遇到问题,需要重新启动,我们只收集
  • xp升级win8.1
  • win8系统怎么还原出厂设置
  • Extjs3.0 checkboxGroup 动态添加item实现思路
  • js观察者模式和发布订阅
  • python djang
  • perl文件操作
  • [置顶] 汉诺塔的原理剖析以及递归的解决办法
  • [置顶]公主大人接下来是拷问时间31
  • 税务局赵昭
  • 车辆购置税减免政策上汽大通 大家mifa6
  • 地税局刚进去工资多少
  • 吸收合并是什么意思
  • 股权转让和大宗转让区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设