李宏毅机器学习hw2 Boss baseline(2023)

题目介绍

是一个语音转MFCC帧后的识别分类问题

2023ML课程网站ML 2023 Spring (ntu.edu.tw)

作业给的基线代码:ML2023Spring - HW2 - Colaboratory (google.com)

kaggle提交:ML2023Spring-hw2 | Kaggle

以上可能需要科学上网


题目解答

很无聊的题目,力大飞砖就结束了,吐槽一下LSTM训练好慢,GPU卡只能跑10%。。。想并发跑还炸内存(nframe拼的太多了)

simple baseline(0.49798)

拿到代码跑一遍

medium baseline(0.66440)

做了一些尝试,单独增加数据的nframes并不能带来更大的提升了,当时我以为21就是包含信息的极限了,实际上是因为模型太简单了,很处理好距离更远的信息。

如果要增加更多上下文信息给模型,那就要同时提升模型的复杂程度。

学到的一点是,简单的模型给的信息更多反而会变得混淆,而更复杂的模型则可以靠额外的信息提升准确率。

concat_nframeshidden_layers激活单元batchsize=512额外层线性层维度=64rnn层epoch=10私榜
320.49706
1920.60361
2140.59865
314Leakyrelu(0.1)batchnorm2560.69499
strong baseline(0.74944)

strong baseline只需要加epoch,把模型继续改的更复杂就可以了,但是达到strong之后我也做过一些尝试,想要沿用之前的思路,继续加模型复杂度,但是发现已经不太能够继续提升了。使用了一层BiLSTM并没有太大的提升。

concat_nframeshidden_layers激活单元batchsize=512额外层线性层维度=64rnn层epoch=10私榜
315Leakyrelu(0.1)dropout(0.3)+batchnorm1024300.7535
317Leakyrelu(0.1)dropout(0.3)+batchnorm1024300.75241
315Leakyrelu(0.1)dropout(0.3)+batchnorm金字塔形1024~128300.73左右
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024300.75562
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024bilstm2*128100.74375
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024bilstm2*512100.74317
317Leakyrelu(0.1)dropout(0.45)+batchnorm1024bilstm2*51210
315Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512100.74539
215Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512100.73641
315Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512+dropout100.74426
313dropout(0.5)+batchnorm1024bilstm2*512+dropout+mean100.735
313dropout(0.5)+batchnorm1024bilstm2*512+dropout+中间100.74763
313dropout(0.5)+batchnorm1024bilstm2*512100.749
3110dropout(0.5)+batchnorm1024bilstm2*512100.73325
boss baseline(0.83017)

后来发现实际上和之前做medium的问题相反,模型复杂,但是数据简单也是有上限的。只需要把训练次数加大(但是下面的表格没有记录,实际上最下面的81层训练的epoch是20个),然后模型加复杂就行了。

这里有个坑,TrainAcc和ValidAcc的前期表现很像过拟合,因为会有一段TrainAcc涨点但是ValidAcc掉点,不要停,继续训练下去,后续ValidAcc会再涨上来,会有波动。

nframesscorernn_layerhiddenlayerhiddendim/rnn_dim
510.75909141024/512
510.77988142048/1024
510.78554242048/1024
810.82639541024/512

一直train下去就行了,50个epoch

过程记录

boss baseline之前的尝试记录,各位有兴趣可以看看,boss baseline的尝试在文章里

concat_nframeshidden_layers激活单元batchsize=512额外层线性层维度=64rnn层epoch=10私榜
320.49706
520.53473
720.55846
920.57239
1320.59363
1720.60141
1920.60361
2320.6071
3120.6081
3140.59882
2140.59865
314Leakyrelu(0.01)0.60042
313Leakyrelu(0.01)0.60277
313Leakyrelu(0.1)0.6061
313Leakyrelu(0.01)10240.5933
313Leakyrelu(0.1)128
313Leakyrelu(0.1)batchnorm0.63354
313Leakyrelu(0.1)dropout(0.2)+batchnorm0.57017
313Leakyrelu(0.1)batchnorm1280.67084
313Leakyrelu(0.1)batchnorm2560.69201
314Leakyrelu(0.1)batchnorm2560.69499
314Leakyrelu(0.1)batchnorm5120.69832
314Leakyrelu(0.1)dropout(0.2)+batchnorm5120.71315
314Leakyrelu(0.1)dropout(0.4)+batchnorm5120.67169
314Leakyrelu(0.1)dropout(0.4)+batchnorm10240.70874
314Leakyrelu(0.1)dropout(0.3)+batchnorm10240.72534
315Leakyrelu(0.1)dropout(0.3)+batchnorm10240.72484
315Leakyrelu(0.1)dropout(0.3)+batchnorm1024150.73771
315Leakyrelu(0.1)dropout(0.3)+batchnorm1024200.74509
315Leakyrelu(0.1)dropout(0.3)+batchnorm1024300.7535
317Leakyrelu(0.1)dropout(0.3)+batchnorm1024300.75241
315Leakyrelu(0.1)dropout(0.3)+batchnorm金字塔形1024~128300.73左右
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024300.75562
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024bilstm2*128100.74375
317Leakyrelu(0.1)dropout(0.25)+batchnorm1024bilstm2*512100.74317
317Leakyrelu(0.1)dropout(0.45)+batchnorm1024bilstm2*51210
315Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512100.74539
215Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512100.73641
315Leakyrelu(0.1)dropout(0.5)+batchnorm1024bilstm2*512+dropout100.74426
313dropout(0.5)+batchnorm1024bilstm2*512+dropout+mean100.735
313dropout(0.5)+batchnorm1024bilstm2*512+dropout+中间100.74763
313dropout(0.5)+batchnorm1024bilstm2*512100.749
3110dropout(0.5)+batchnorm1024bilstm2*512100.73325

总结

加复杂度和epoch就行了

代码开源

百度网盘:

链接:https://pan.baidu.com/s/1kDSS9ptY8Vojb_y5zOQDrA?pwd=ncm3 
提取码:ncm3 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值