【深度解析→博文总结】李宏毅机器学习2023作业05Transformer(Machine Translation)

文章目录

  • 【系列文章】
  • 【简要说明】
  • 【视频分享】
  • 【作业详情】
  • 【调参记录】
      • 【Simple Baseline:15.05】
      • 【Medium Baseline:18.44】
      • 【Strong Baseline:23.57】
      • 【Boss Baseline:30.08】
  • 【资源链接】
  • 【写在最后】
  • 【参考文献】

【系列文章】

【深度解析→博文总结】李宏毅机器学习2023作业01Regression(COVID-19 Cases Prediction)
【深度解析→博文总结】李宏毅机器学习2023作业02Classification(Framewise Phoneme Prediction)
【深度解析→博文总结】李宏毅机器学习2023作业03CNN(Image Classification)
【深度解析→博文总结】李宏毅机器学习2023作业04Self-attention(Speaker Identification)

【简要说明】

1、本次文章总结记录作业05Transformer的调参经验,由于本次作业没有Kaggle提交网址,因此没有Public Test和Private Test的结果,只有在Validation上的分数,并根据之前作业经验,假定Validation上的分数与Test分数基本一致,欢迎入门和深入机器学习知识的朋友们能在评论区多多交流,共同进步。
2、本人是从事基于深度学习相关研究的一名博士,目前博士在读第5年。深感自己在机器学习/深度学习理论知识实际调参经验方面都不够系统,今年希望能够跟随李宏毅教授的机器学习2023的作业在理论和实践方面都得到提升。
3、于我个人而言,这次的作业感觉比前四次的要复杂一些,特别是该作业的样例代码行数超级多,加上对这个Machine Translation的任务之前没有基础知识储备,对代码的每一块无法做到清晰把握它的功能作用,同时,最近也确实比较忙一些,因此,没有再去追求到达Boss Baseline的分数。

【视频分享】

为了提升创作效率,减少文字赘述,更多调参细节在视频中进行分享:(链接后续再添加)

【作业详情】

1、【作业简介】李宏毅教授的助教也将作业05Transformer进行了详细的介绍,包括:作业内容解读、代码调参提示和样例代码详解,视频已搬运至知乎和B站,详情见【B站】【知乎】。
2、【先修视频】:该作业在李宏毅教授课程官网列了两个先修视频,是李宏毅老师2021年的关于Transformer的课程视频,整个视频对于本次作业涉及的Sequence-to-Sequence模型的构建讲解了非常多,课程网页:https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.php,已搬运至知乎和B站,详情见【先修视频01:知乎 B站】【先修视频02:知乎 B站】

【调参记录】

【Simple Baseline:15.05】

1、本次作业没有Public Test和Private Test的结果,假定Validation上的分数与Test分数基本一致,跑通源码后的训练集Loss、验证集Loss、验证集BLEU如下

TrainLoss ValidLoss ValidBLEU
Simple Baseline 4.210 3.793 16.04

2、推测验证集上的16.04的BLEU能够在Public Test和Private Test上达到Simple Baseline

【Medium Baseline:18.44】

1、根据如下的作业课件的提示,将学习率修改为如图的数学公式形式,同时把max_epoch改为30
【深度解析→博文总结】李宏毅机器学习2023作业05Transformer(Machine Translation)_第1张图片
2、这样的训练集Loss、验证集Loss、验证集BLEU如下

TrainLoss ValidLoss ValidBLEU
Simple Baseline 4.210 3.793 16.04
Medium Baseline 3.938 3.795 18.30
Medium Baseline + Epoch=60 3.794 3.724 19.54

3、推测验证集上的18.30的BLEU能够在Public Test和Private Test上达不到Medium Baseline:18.44,因此将epoch数加到到60,最终得到19.54的BLEU,应该这时足够达到Public Test和Private Test的Medium Baseline了

【Strong Baseline:23.57】

1、根据如下的作业课件的提示,将RNN替换为Transformer,同时把超参数也修改
【深度解析→博文总结】李宏毅机器学习2023作业05Transformer(Machine Translation)_第2张图片
2、需要注意的是将RNN替换为Transformer时,需要把encoder和decoder的embed_dim改为512,不然会报错(具体原因我也没来得及确认分析),同时,我先把encoder和decoder的layers设置为了2,同时把epoch数增大为240,发现可以得到24.71的BLEU了,推测可以达到Public Test和Private Test的Strong Baseline了

TrainLoss ValidLoss ValidBLEU
Simple Baseline 4.210 3.793 16.04
Medium Baseline 3.938 3.795 18.30
Medium Baseline + Epoch=60 3.794 3.724 19.54
Strong Baseline + Epoch=240 3.280 3.348 24.71

【Boss Baseline:30.08】

1、做到Strong Baseline已经花费了我太多时间和精力了,而且Boss Baseline需要先训练一个“中译英”的模型,再去下载数据,制作新的数据集,再训练“英译中”模型…最近是不太想去做了,等有了时间(预计忙完毕业之后)再弄吧;加上坚持了一个半月了,B站的电磁力等级还不到3,还不能做合集,知乎的视频收益审核也不给过,也有点点泄气…做这个作业的人也确实有些少,后续的作业先以Strong为目标
【深度解析→博文总结】李宏毅机器学习2023作业05Transformer(Machine Translation)_第3张图片

【资源链接】

【2023机器学习】的系列资料包括 视频、课件、代码 等资源已经系统顺序命名并整理到百度网盘:https://pan.baidu.com/s/1-zfs0wn5rccTRVk34YZWaA,提取码:2023。

【写在最后】

【原创&整理不易,我的是文章如果有帮到你,或者你觉得还不错,麻烦点赞&关注支持下(你的支持将是激励我坚持创作的动力之一)】

【参考文献】

  1. 李宏毅2022机器学习HW5解析

你可能感兴趣的:(机器学习,机器学习,人工智能,深度学习)