【李宏毅2022 机器学习春】hw3_CNN(Boss baseline)

实验记录

在这里插入图片描述
单个model,224:resize 224
在这里插入图片描述
在这里插入图片描述
两个model做ensemble,private 没过 boss baseline
在这里插入图片描述
验证Test Time Augmentation的作用,确实有作用,提升0.01
在这里插入图片描述
在这里插入图片描述
Test Time Augmentation + ensemble

在这里插入图片描述

评分标准

在这里插入图片描述

收获

  1. 单个模型训练,离boss baseline差一点,需要做 Test Time Augmentation + ensemble
  2. Test Time Augmentation 在测试时多transform几张图片,一起做ensemble,transform随机因此效果可能差一点,这里我运行了两次。另外,需要单独取一张图片出来,因此不能做batch的预测(也可能我代码写得差),所以 速度会很慢,相当于一个一个预测。Test Time Augmentation有点耍流氓的意思了,类似的见到方法有5-crop(四角 + 中心),10-crop(5-crop + 翻转)
    什么是深度学习中的1-crop和10-crop?
  3. ensemble常见的做法有:1.直接概率取平均;2.voting,甚至级联voting,详见去年作业一些改进想法
  4. cross validation没有做,不做可以重新划分训练集和验证集的比例(sample code = 3:1,可以5:1),验证集只是用来靠看有无过拟合,并不需要太多。
  5. cross validation相当于训练了多个模型,自己跑两份代码做ensemble也是一样的效果。
  6. =====================================================================
  7. 数据增强部分:一般来说随机裁剪和颜色变换就很有效,可以参考 官方库的训练代码,详见图像分类训练技巧之数据增强篇,甚至有打包好的数据增强如TrivialAugment,但可能数据集不同不一定适用。
  8. 更高级的数据增强mixup没有用,不会。
  9. 数据增强会导致训练和测试时的物体分辨率(resolution)不一致,继而提出FixRes策略来改善这个问题:常规训练后再采用更大的分辨率对模型的classifier或最后的几层layers进行finetune >https://zhuanlan.zhihu.com/p/347537453
  10. 模型设计部分:自己手撸一个CNN,从224开始用max pool降采样,最后全局最大池化self.pooling = torch.nn.AdaptiveMaxPool2d((1, 1)),和直接使用预定义的resnet18,效果差不多。一般来说,全连接层只做分类头即可。
  11. 考虑用卷积步长实现降采样还是用max pool,详见降采样使用 conv步长实现还是pool实现好?。结论:卷积神经网络小,用max pool,反之卷积(resnet 是用卷积步长实现的降采样)。
  12. conv + bn + relu, Resnet_bn_relu在激活后+还是激活前?结论:激活函数前
  13. ==============================================================
  14. 训练部分nn.utils.clip_grad_norm_梯度裁剪,早停策略,画图查看train_acc, train_loss和val_acc, val_loss的差距判断有无过拟合
  15. 学习率和优化器直接用的sample code,没有用余弦退火学习率,下次可以用下余弦衰减学习率,一般来说,越训练学习率越小。
  16. 80个epoch差不多收敛了。一般来说设置100个epoch就差不多了。
  17. other tricks:label smoothing, FacalLoss …
    在这里插入图片描述
  18. pytorch输出网络每层的参数和维度信息
import torch.nn as nn
from torchsummary import summary

#定义网络结构
net = nn.Sequential(
            nn.Conv2d(1,8,kernel_size=7),
            nn.MaxPool2d(2,stride=2),
            nn.ReLU(True),
            nn.Conv2d(8,10,kernel_size=5),
            nn.MaxPool2d(2,stride=2),
            nn.ReLU(True)
        )

#输出每层网络参数信息
summary(net,(1,28,28),batch_size=1,device="cpu")
————————————————
版权声明:本文为CSDN博主「修炼之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_29957455/article/details/112701029

参考资料

数据增强部分

图像分类训练技巧之数据增强篇:https://zhuanlan.zhihu.com/p/430563265

在这里插入图片描述
在这里插入图片描述
https://zhuanlan.zhihu.com/p/347537453

【Pytorch学习笔记】数据增强:https://blog.csdn.net/Miao_sin/article/details/122474968

torchvision.transforms.RandomResizedCrop方法解读:https://blog.csdn.net/qq_36915686/article/details/122136299

在这里插入图片描述

torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0):

在这里插入图片描述

模型选择设计部分

ResNet详解与分析:https://www.cnblogs.com/shine-lee/p/12363488.html

Resnet_bn_relu在激活后+还是激活前?

from: https://zhuanlan.zhihu.com/p/31852747
from: https://www.cnblogs.com/shine-lee/p/12363488.html在这里插入图片描述

降采样使用 conv步长实现还是pool实现好?

from: https://zhuanlan.zhihu.com/p/46633171
在这里插入图片描述

训练部分

nn.utils.clip_grad_norm_

from: https://blog.csdn.net/zhaohongfei_358/article/details/122820992
在这里插入图片描述

K-fold 交叉验证
在这里插入图片描述

称霸Kaggle的十大深度学习技巧

from: https://zhuanlan.zhihu.com/p/41379279
在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
李宏毅2023机器学习作业12是使用强化学习完成Lunar Lander任务,训练飞行器在月球上着陆。作业基于OpenAI的gym框架,但只能在Linux系统上使用。作业过程需要助教提供的代码,可以通过关注公众号获取代码。\[1\] 此外,还有一些与ML2023Spring - HW01相关的信息,包括课程主页、课程视频、Kaggle链接、示例代码等。你可以在做作业之前观看相关视频,了解数据特征等内容。\[2\] 在作业中,还对代码进行了一些修改,以便于后续的调参。具体修改的部分是在My_Model类中,通过修改超参数'config'中的模型结构,注意维度的变化。\[3\] 希望以上信息对你有所帮助。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [李宏毅2022机器学习HW12解析](https://blog.csdn.net/weixin_42369818/article/details/126119360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [李宏毅2023机器学习作业 HW01 解析和代码分享](https://blog.csdn.net/weixin_42426841/article/details/129520007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值