打补丁法(打脸上最佳(^▽^)
蒸馏原文章的点
以 MAE 为例
基于原文章的补丁想自己的点
(有从ViT+BERT到MAE的分析,再从MAE加上前面整个来看)
ViT最后一小段
- 怎样把这个东西弄到BERT上去
- 但原文说效果不如直接在标号上训练效果好
MAE
- 遮住更多图片块——冗余度更低,任务更具挑战性
- 本点可以认为是很强的数据增强:加很多噪声进去
- 数据增强使模型不那么过拟合:结果证实1600轮训练性能仍在提升
- 反过来说,坏处是训练特别慢:用更大的数据集更大的模型怎么办?(第一个点get!)
- 那么可不可以用别的数据增强方法:不需要花那么多时间训练,同时效果也不会差
- 编码只处理没被遮住的块————上述点延伸而来的加速技巧
简单地用全连接层输出像素信息跨度太大
- MAE
- 用Transformer来输出(解码)
MAE:新的模型,替换掉ViT来看看效果(第二个点get!)
- 如:大家发现Transformer里面,自注意力也好,MLP也好,其实都可以替换,只要架构摆在那里,效果也不错
- 甚至更打脸,看看CNN行不行
BERT的俩损失函数:完形填空/句子对匹配
- 是不是可以加一个额外的损失函数?(第三个点get!)比如最近较火的contrastive learning
大家在看论文时,在每一个细节之处都可仔细揣摩揣摩,我来做的时候会用什么别的办法来做呢?
实验验证
想法还需要实验验证:哪个效果最好?
- 有时候做完实验发现想法不是那么回事:但是可以通过观察结果,得到新的想法;然后继续,在实验中探寻
- 其实每个想法对最后的贡献都有那么一点点,揉起来,也可能成一篇文章
- 如:MAE揉了俩点,拿掉任何一个,效果应该会打折
如何打补丁
补丁咋打?
- 不要在一个上面打太多太多补丁:东一块西一块,会显得比较脏
- 最好在打补丁时,有一个故事串起来:有时为了故事连续性,拿掉一些不那么重要的补丁也可
选啥文打补丁?
- 比较新,空间(脑洞)比较大:没被做过的想法还是很多
- 如ViT一出来,马上大量跟进
- 如一篇论文已经是打补丁论文了,在上面打就很可能很难打到补丁了:作者都试过好多了,再试,很有可能作者早就试过了
- 掂量自己几斤几两:没有财力支持,不要选“贵”的文章
- MAE已经算比较便宜的一个工作了,一次几千美金,整个论文做几十个甚至上百实验,就大概几十万美金
也可以自己做新模型/一些改进使得整个训练加速
- 精度提高?训练更快更便宜?
参考资料
https://www.bilibili.com/h5/note-app/view?cvid=14358188&pagefrom=comment