新手论文入门
临时写的,仅供参考
早已经入了秋,但是贵阳在国庆节才有了冷意。坐在实验室,还是很凉爽的,一看时间是中午一点半,正好抽半小时写一篇关于写论文的内容,一来可以回忆自己写论文的日子,二来可以给后面的人一点经验,不管是好的经验还是坏的,总有一点参考意义。正文开始:
在文章的开头,我还是要Callback之前的桂导的认知论,正所谓认知不会平白无故提高的,你对论文的认知也不会凭空生长。如果你什么都不做,不管你是到了研二,研三,你对论文的认知依旧是0,这并不是一个随着时间增长就会有的东西。
那什么时候会提高呢?就是你花费在它身上的时间和注意力。不管你是看视频看文章从别人那里学习关于论文的知识,还是自己实打实的去实践摸索尝试跑代码写内容,前者我们称为间接经验,后者是直接经验,两者都是需要的,都可以较好地提高我们对于论文的认知。其中后者当然是最主要也是成长最快的了。
刚刚入学,很多人可能在本科都没有学习过“机器学习”,“深度学习”这样的东西,他们的本科也就是学习python,java之类的,毕设也就是一个什么“XX管理系统”,他们对深度学习完全是0基础。所以现在就需要提高自己的对于深度学习的认知了。首先,我们需要一本《鱼书》:

没错,就是有这条小鱼的书。 我自己是买了一本二手的鱼书,小小的才不到二十块钱,里面讲解的可谓是非常适合入门。如果习惯看电子书,也可以自己找pdf版本看。(我是喜欢在实体书做标记,并且鱼书也很薄)
鱼书里基本没有复杂晦涩的概念,它的定位就是面向新手小白的。这个时候你会对深度学习有一个基础的概念。虽然它可能对你以后写论文并没有什么帮助,但是我认为这是每一个研究生应该掌握的东西。它可以在短时间内(它很薄,又不晦涩,一周就可以看完)给你构建一个深度学习的骨架,让你快速明白大家在干什么。里面的代码也不用敲,看不懂代码也就不用管。
刚开始我还走了弯路,抱着大厚书《机器学习(西瓜书)》《深度学习(花书)》试图啃他们,只为了心里面那一点满足感。现在看来实则是错误的做法,这些大字典,厚的要命,本来就是让你当字典查阅的,没人让你抱着啃。就像学英文没人会先抱着牛津词典一页页看。再加上现在ai的发达,这些字典就更没有必要了,有基础知识问题问chatgpt完全是可以的。
接下来,我们在对鱼书里没有提及到的知识,比如transformer,或者自己要研究的领域,去搜一点视频或者网站,看一下简单的讲解,扫一下盲,了解大概的知识。现在,我们才说,我们入了我们的深度学习的门了!我们才算真正开始迈入科研的门槛了!
冷静下来,又转念一想,入门真的呢么简单么?我们还是要发论文为导向的,这怎么算的了入门?
我们还需要去看其他的相关扫盲贴,比如“中科院sci分区是啥”“常见的期刊”“在哪里查文献”“如何用校园网下载文献”“webofscience是啥?谷歌学术咋用?letpub如何查询期刊分区?”….等等。我们对于论文也要有一个大概的认知。不然你看着其他人在讨论论文的时候,其实你连论文是什么都不知道,肚里空空,只能站旁边咧着嘴讪笑。
再想一想,是不是还要对ai使用有了解?gpt咋用,codex咋用?怎么合理搭配使用他俩?怎么使用codex写代码? 还好有华为杯研究生数学建模比赛,很多人对这些都已经有了实际使用的经验。所以说这是非常好的事情。
好像什么都完备了,还有什么呢?对了,就是我们跑代码的地方。学校有着超算平台,我们需要申请账号,然后可以使用学校的cpu和gpu资源来运行代码。 这一步肯定大家都已经把鱼书读过了,知道了cpu和gpu在深度学习中的作用,也知道gpu可以加速训练过程。所以我们在跑实验的时候,gpu是必不可少的,而实验室往往因为各种原因,导致无法人人有满足实验的gpu。所以几乎所有人都需要去掌握如何使用学校超算。(超算账号都申请了,学校邮箱账号也顺手申请一个吧)至于超算的教程,我直接挂在这里了,一篇算是管理员发布的,另一篇是实验室师兄写的,两者搭配着看。以及喂给ai,让ai协助看。如果你是创建 一个独立项目,让ai读取这两篇,之后还可以在这个项目里让他给你指导项目运行脚本。
好了,现在我们对深度学习有概念了,对论文也有概念了,对ai工具和gpu资源平台也有掌握了。所谓是什么都具备了。我们终于开始了,开始入门后的第一条路:认清论文。
认清论文,就是对论文祛魅。不再抱有幻想,不再认为它是远离生活的,高高在上的。在以前再怎么认为它高,也是站在没有基础的底部去看罢了,但是如果你站着论文它自己的基础上看呢?你就会发现,它只不过是在原有基础上多做了一点点而已。
就是这一点点,有了这个论文。他并不是从0到现在这个高度,而是从现在这个高度下面一厘米提升上来的。
我还记得之前看过别人的一个比喻,大家要布置一间房间。大师可能就会去定义桌子摆在哪里,床摆在哪里,放什么款式的。但是不只有这些是创新,我们在大师的基础上,看大师摆的桌子是不是旋转几度看着更美观;桌子是不是一个角有点斜,我们垫一个角;地板是不是有点脏,我们买一个扫把放进来…这些都是创新,都是可以写成论文的。所以千万不能觉得,论文是智商很高的人才能写的。其实不是,所有人都可以写论文的。哪怕我把家里的长辈叫过来,他们都可以想到几个创新点。(当然能不能成功另说,还要看创新之后指标或性能是否提高)
还有很多好玩的。比如不同领域的问题,经常可以用一个解法。比如你看到隔壁超市一直用超大吸尘器打扫卫生,而这个房间大家都用扫把,你把超大吸尘器拿过来,改装成适合家用的小号就是一个创新了。 再比如新研发了一种机器人自动消毒技术,市场刚出来,你拿来用在卧室,效果很好,这也是创新,这就是蹭热点的一种创新,当然是要看机遇的,因为刚出来之后如果真有效果,几乎大多数卧室都会有人尝试把他引入的,那你就慢了,你要比别人想的更快。当然更快,也不是全领域最快,只要你在你的这个小领域,是最快的就可以了。
所以我们要对写论文有概念。明白怎么写论文才算论文,怎么才算创新?多少创新可以组成一个论文?创新如何印证?拿什么证明我们的想的创新是正确的?这些东西依旧需要大家去扫盲,去看视频或者文章去领悟。这又是一个认知的过程。你不去学习永远不会有提高。
当然这个时候,就可以去看一下比较好的论文。看一下好的论文都是咋写的。还是呢句话,不要被唬住了。我们看一篇论文,他的工作做得好多,好厉害。但是其实,他的创新也就是那一点。所以我们还要去扫盲。去找,如何看一篇论文,学习拆解论文,以及看一篇论文的顺序。 看论文肯定不是从头到尾一个字一个字看。而是先知道论文共同结构。然后你看的时候先看主要的骨架内容,就可以对论文有所了解了,然后持有一个总体了解的情况下,再详细的看。
到了这个阶段,有一部分人才会惊醒。又有些人会难过,这和他们想的学术不太一样。 比如:这篇论文竟然只是在前人基础上改了一个公式。另一篇文章竟然只是把一个领域的模块迁移过来了。
那一篇论文这么长?怎么写出来的?
又有方法介绍,又有实验结果分析,又有一堆图表展示,可不就成了一篇论文了吗!….一篇论文,其实核心洞见就那么一段而已….
因此,到了我们自己写论文的时候,是需要先做实验的。实验结果好了,我们才可以写论文。如果你移动完桌子角度,反而房客脖子更酸了,这怎么行? 肯定是要用试验去验证了你的想法,才能说我可以写论文了。而且这个实验,还要比较好几个市面上已有的方案才可以说,我的是这个是最好的。才可以写论文。
所以写论文之前,需要做实验,是对的吧?我们必须先统一口径,不然后续讨论进行不下去了。
做实验呢,做到什么程度呢?就是把性能指标提高到比较好的水平。
因此,现在实验派别分为两派:
- 指标派。把其他领域已经有的一切可以的东西都拿来用,直到用上它指标提高为止。指标提高就写论文。至于写论文的时候,就编故事说自己是知道这个问题才去拿这个来改造后用的。
- 问题派。先找到这里到底有啥依旧存在的问题,别人没解决,然后去找对应的解法,可以是自己想到的办法,也可以是其他领域解决类似问题的办法。
我在此无法评判那一派别孰优孰劣。这也是你们之后需要看视频或者学习的,这关乎于科研三观,也是大家需要先去了解之后才能执行的。做实验也并非对立的两派,有很多时候,又是指标派+实验派结合的。 但是最终,一定是要指标提高了才算实验完成的。 所以其实问题派+指标派结合,先去想这里有啥问题,再去找其他领域处理该相似问题的东西搬来用,指标提高就开始写论文是挺好的。 我其实没有说另一种问题派,是纯自己找问题,自己独立想解法,就是不用已有其他领域解法的。在认知浅薄的我私下来看,这种其实是一种钻牛角尖的死路,不够现实,大家都有生活压力的,也有时间限制的,没有时间在这里钻研好几年。
所以大家要去找基础骨架。就是找到一件卧室,才知道要如何调整布局。这就是一篇论文,有代码的论文,我们才可以进去房间,详细看哪里有问题。如何找基础骨架,也是需要大家搜视频或者文章看。
然后大家要知道什么是模块。就是知道卧室里有什么东西,比如这个卧室里有床,桌子,灯。组成了一个卧室。 因此看到另一件卧室,我们就知道它里面有什么东西什么模块,可以迁移到自己的卧室里来了。如何找模块,也是需要大家搜视频或者文章看。知道什么是模块,我们才可以,从别人卧室拿模块来替换模块,或者借鉴别人卧室模块处理方式来修改模块。
之后就是很多的试验了,因为你要复现基础骨架的代码,你才能在他基础上做改动。 而且改动也是很多次尝试才可以发现指标提高。所以后续就是经常做实验的过程了。
并且有的基础骨架,跑一次完整实验要很久,所以时间都花在这里了。有的基础骨架,运行一次要一天,你尝试一个新方法加进去都要花一天才知道结果。 所以这个时候需要以小代价进行运行实验,就是不需要跑全量,这也是需要扫盲,要去看视频或者文章。大概意思就是,有四个数据集,在一个数据集不行就不用继续了,放弃这个干干。又或者是,要运行10000步,但是只用1000步就可以知道大概趋势了,呢就没必要全部跑完10000步。这些,gpt应该也知道的,也能给出指导。
至于真正发现指标提高了。然后后续实验也跑完了,啥都弄完了。 写论文的时候,才会发现。写论文又是需要时间的。可能实验跑了三个月,论文又要写两三个月。写论文的时候又会发现实验跑的不完善要补充一点实验也是常有的。至于写论文,又是需要搜视频看文章的一个过程。 而且写论文是真的需要参考优秀论文来书写,ai无法写出好的论文。它写作逻辑感很差,只能协助你写论文,真正一段一句润色还需要自己来。
后续的不再写了。一看时间3点13,写了快两个小时。因为自己盲打水平不够,还是四根手指打字,惭愧。仅供参考,希望有所帮助。