从零入门CV图像竞赛(Deepfake攻防)第二弹——提升分数

       从上次的学习中,我了解了Deepfake攻防的背景以及对于baseline有了初步理解,这次我主要对于模型的性能进行提升。

01 增加epoch

        epoch就是在模型训练过程中的迭代轮数,这样的迭代轮数自然不能太少,如果过少会导致模型欠拟合,不能达到分类的效果。在baseline中,epoch的值为2,我们将epoch的值改为30,如下图所示:

这样一来,通过迭代轮数的增加,拟合会越来越好,得到的模型也越来越能够更好地进行分类任务。这次训练一共花费了9分钟,得分比起直接提交baseline的0.509有了较大的提高。

02 增加数据数量

        我们在baseline中发现,数据集中的训练集有50w+的数据,验证集中存在10w+的数据,而此时仅仅取了训练集中的前1000个进行训练,这样做对于数据的利用远远不够,同时也不能保证训练样本的多样性。因此,我们将baseline中训练集取前1000调整为取前10000,这样做可以提高训练数据的多样性,提升模型的性能。

         通过这样的修改,我们得到了更高的分数0.873。

       这说明数据的多样性是很重要的,只有通过大量数据进行训练得出的模型才具有优良的性能。

03 调整网络层数

       我们在思考,能不能将18层的ResNet换成层数更多的网络,更复杂的网络或许会有更好的效果。于是我们将ResNet18改为ResNet50,进行了训练。结果训练的时间很长,大概需要半小时,而且效果反倒不如ResNet18,从0.873下降到0.839,说明层数多的网络不一定就能够得到更好的效果,需要根据合适的需求来适当选取网络。

04  一些思考

01  能不能存在一些不仅仅是调参数值的方法(epoch、数据集的数量以及网络),而是从网络结构出发进行一定的优化,使分数进一步提高?

02  在训练代码的过程中,CPU和GPU的使用是怎样的?

CPU常常会超出100%,而GPU是达到100%之后就变为0,这中间发生了什么?

九月助教是这样回答的,

CPU有两种可能, 一种是虚拟机, 会占用其他空闲的机器的CPU, 另一种是CPU超频

GPU是根据训练的epoch来的, 数据进出的间隙, 会利用率下降

03 可不可以随机取数据集中的数据,而不是从头选取前X张?

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值