【李宏毅2021机器学习深度学习——作业2 Classification】 Phoneme Classification 记录(双过strong baseline)

本文探讨了使用深度神经网络(DNN)在不平衡数据集上的挑战,通过调整验证比例、增大批次大小、应用BN+Dropout、L2正则化等手段来防止过拟合。实验中尝试了AM-Softmax、重采样和模型融合,发现ensemble是关键,最终模型得分突破0.75。
摘要由CSDN通过智能技术生成

实验结果:(已过 strong baseline)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可视化实验记录:(稳定在0.75升不上去了,50个epoch可以收敛了)

在这里插入图片描述

修改记录:

数据方面:

  1. 调整验证集比例为0.01,不需要那么多:VAL_RATIO = 0.01
  2. BATCH_SIZE = 2048,用到bn,BATCH_SIZE必须大才有效果

网络方面:
3. dim 直接到2048,不然val_acc不会动,直接抄的参考资料1
4. DNN非常容易过拟合,dropout也用上:nn.Dropout(0.5),
5. BN加快收敛(BN和dropout一起用可以吗?(可以吧,bn相当于每一层做归一化,效果还不错)(等待求解中·…)):nn.BatchNorm1d(2048), # bn在激活函数之后,限制 值范围
6. L2正则化:optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate, weight_decay=l2), l2 = 1e-4 (不太理解weight_decay就是L2正则化,等待学习中…李沐老师视频-12 权重衰退【动手学深度学习v2】

改进想法:

  1. 对数据分析发现是个不平衡数据集,对不平衡数据集的处理?重采样?weight_sample?
  2. AM-Softmax?(从后面视频听来的) (用了之后没什么效果啊,可能用错了?)参考链接
  3. 后处理再细致些?参考【ML2021李宏毅机器学习】作业2 TIMIT phoneme classification 思路讲解

做完这个实验应该有的收获:

  • 这个实验还是关于DNN的,DNN非常容易过拟合,所以解决过拟合的手段都可以用上看看:dropout,BN,正则化

  • dim直接开到2048才能看到效果… 早期的调参记录无任何经验瞎分析,dim <= 1024 无任何提升始终停留0.7

  • Dataloader中别忘记开num_workers=8, pin_memory=True,快:val_loader = DataLoader(val_set, batch_size=BATCH_SIZE, shuffle=False, num_workers=8, pin_memory=True) # 记得一定要num_workers=8, pin_memory=True

  • 自己看的新的损失函数AM-Softmax没什么效果… 【待求解中…】

  • 单个模型最高的分数升不到0.76,这里直接照抄参考资料1,自己在做的时候只做了model1和model2的ensemble,就能升到0.76了,再加上后处理刚刚好过strong baseline(111,前后相同,中间改为前或后,这里应该是根据声音是连续的领域知识,更细的后处理如维比特算法?)

  • 看来模型ensemble是个大杀器!

如何做 ensemble?
开多几个页面(复制粘贴的事,这样就能多个模型一起训练,当然看gpu内存够不够),修改不同的架构,超参数,训练轮次…,

  • 参考资料1直接用所有数据进行训练,也行?(先训练特征提取器,后微调,在很多文章的做法)
  • 在这里插入图片描述

参考资料:

  1. https://github.com/pai4451/ML2021/blob/main/hw2/model%201.ipynb

  2. https://github.com/1am9trash/Hung_Yi_Lee_ML_2021/blob/main/hw/hw2/hw2_code.ipynb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值