来源:白鹤鸣九霄
1.李沐动手学习深度学习。跟着网上的教程敲下来,能让你对深度学习有一个基本的认识。期间可以适当看一些论文,时间大概在一个半月左右。
2.确定方向。学习完之后就可以确定一个方向了,确定方向之后,最重要的事情就是先不断积累该方向的代码经验。具体以差异检测为例,如何找开源代码来跑呢。Github上有Awsome系列,把近年来数据集,网络结构,论文都总结了,能快速了解领域的发展。
3.配环境->跑通->修改数据集/网络/…然后就是不断重复这个过程,期间配合读代码对应的论文,结合代码食用,就能大大提升对论文的理解能力。所以一开始尽量读有开源代码的论文。否则读了之后你也不知道他具体做了什么工作。期间就做好文献管理和数据管理。
4.搭建训练框架。在3的过程中,逐渐可以搭建起自己的一套训练框架了。也摸清楚了自己的领域里大多数人都是怎么做研究的了。然后就可以不断尝试新方法了。思路主要有两种:1.在自己任务的Baseline上加模块,目的就是涨点 ;2.将其他领域上的方法借鉴过来解决一个特定的问题。
两种思路各有优缺点,前者优点:思路比较明确,路子比较明确,就不断挑好的方法、模块去试;也正是因为这样,缺点就是,有时候真的挺难达到SOTA。后者优点:做的人可能比较少,竞争小。但是正是因为这样,才没有明确的路子,甚至连待解决的问题本身都是不明确的,这就需要自主地去探索。如何选择?这就得结合实验室基础和自身角度去选择了。
5.跑实验,积累数据。在确定了要解决的问题,并且寻找到了一个解决办法之后,剩下的就是不断跑实验,积累数据。基本数据,对比数据,自身方法数据。跑出来一个基本的效果之后,感觉心里有底之后,就可以开始边写论文了。
分享自己总结出的一句话:
“知识可以自学,但经验一定要借鉴!”