毕设走过的路——如何开始

最近本科毕业,虽然不是计算机专科,却在搞专科的深度学习,半年之内,从刚刚入门到知晓很多,这中间学习到了众多经验,为了日后可能的研究以及研究生写论文等等做一个过于早的准备,本文将把整个研究、写论文的历程记录一下。以后,突然面临一些重复问题的时候,不至于无迹可寻。

这要从哪里开始说起呢。我本科毕设的题目是“基于深度学习的手写识别”。这个题目本身无足轻重,不过是研究小小的深度学习领域中的一个cv任务罢了,终究是算法类毕设。所以,值得被我记录下来的,应该是这个过程中的些许认知与思考。

首当其冲的,其实应该是“如何就该领域展开初步探索”。事实上,当我们接触一个研究内容、课题的时候,我们未必能一秒理解what is this,而很多情况下,导师只是给了一个大致的方向,最终,到底要不要做这个,做的话要怎么做,那才是我等需要确定的。

First,要不要做一个方向的内容,因为进入了实验室,研究内容未必有那么大的可选择性,但想来也不必想当然得答应导师给出的选择,毕竟要在一棵树上吊好久,好歹得确定还有多少多大的果子可摘,也就是说,你认为这个领域是否真的存在研究价值、你认为这个领域的内容是否足够给你一些些的动力去做实验、你认为你能做出显著成绩、突破的概率有多少。这姑且寻思寻思,属于主观的part。

Second,既然选定了一个方向,至少这一阵子都要围着它转,那么就得好好考察考察这东西究竟是什么了。注意⚠️,无论是在什么情况下,你要研究一个内容了,那么你总要让导师知道,你已经确定、非常确定要做这个了。这时候就需要做一个PPT,而这个最初的PPT,有可能影响着很多,从我目前的结果来看,我不仅开题报告用到了部分PPT的内容,甚至于结题报告、中期汇报、论文撰写都从PPT中收获良多,我时常要打开我最早制作的那两个PPT,从中理清思路、获取灵感。所以接下来,我来分享、记录下如何制作最初的PPT。

如果说开题需要答辩的话,那么这个最初的PPT就可以看作答辩的PPT;当然如果只是给导师讲讲的话,也无妨,大体的内容我想是想差不多的。

直接来吧,我展示一下PPT都有些什么内容(easy):研究背景、研究现状

在最初给导师的汇报中,我的PPT实际上只包含了这两部分内容,但我们能发现,研究背景、研究现状,是之后一切的基石,直到最后,我们都需要这部分内容作为支撑。

那么接下来就该说说,老师想听的研究背景和研究现状,究竟该写些什么?这就不局限于一个ppt了,反正你开题报告和论文的绪论等也必然有此内容,何不一次性弄它个惊喜清清楚楚、明明白白。但思考这个问题之前,必须要先问问自己,必须要了解什么,才能开始下一步计划,information is everything。

综合我自己的想法和网上的思路,以下是我的“标准答案”:

1,研究背景。研究背景,我们所研究之物的背景,理所应当分为两个方面:社会背景和学术背景。别的不清楚,至少计算机方面一定是这样的。你所研究的技术,必然在社会上存在着一些应用,而且应当是很实用的那种、很好懂的那种,技术就是为了提供方便的,原本的需要让技术萌发,新的技术方向又加深了需求。这就是“落脚点”,如果在社会生产实践当中,很难发现这个技术的影子,那要它作甚?至少,你作为一个初级研究者,你要它作甚?而只要我们阅读了较多的综述文献或面向应用类文献,不难发掘出那些让你也拍手叫好的应用实例。起始也不需要太多,如果有三个能拿出来让众人讨论一番的应用,就是GOOD。而正因为这样的需要,促使着更多研究人员关注该领域的技术。于是乎,我们就该聊聊学术背景了。

学术背景,自然是该领域的有关研究的发展历史、发展情况了。这里不应当和研究现状混淆,可有少许交集,但不可归一。我们之所以要说学术背景,是为了最终说明该领域的研究氛围,正火热、正崛起、或是遇到瓶颈,当然既然是背景,有些研究内容可以追溯到上个世纪后半叶,但不可过多废话在那些过于久远的东西,因为那真的是很远很远了。我们在总结撰写研究背景时,就意味着已经浅阅读了很多论文了,而且也搜集了很多高质量论文了。研究背景的一个方面,其实就在于最近研究者们对该领域的关注程度,具体来讲,近五六年的顶会上有多少相关论文(ECCV、ICCV、CVPR、IJCV等),在百度学术上也可以通过关键词搜索查看一下研究走势,不过这种信息,可能更适合放在PPT中简单提及,两句话带过,因为一张图表、几个数据,比起其他的废话,更直接。

然而在论文中、或开题报告中,就不能这么说“2015年至今,ECCV等会议发表了20篇相关文献”。应该重点关注最近这几年的高水平期刊文献,总结一下那些无比新奇的方法,特别要分门别类一下,哪些是针对同一个问题提出的不同方案,要知晓,这个就是更为具体、深入你研究内容的部分,也有必要加入到PPT中。不难发现,学术背景就是在说“有人在研究”,这个“人”自然是那些发表了高水平文章的人,为了证明他们的确有在研究,我们应当简要概括他们在某个角度上的创新和突破,如此一来,众多研究者纷纷投入到了该领域,你加入研究自然也合情合理。

综上就是研究背景,自然,也是研究目的及意义。

而我也说了,首先要先有论文阅读量,或者至少是,电脑上的存储量,而在你阅读的文献中,在最开始,最好有一篇综述,国内也好、国外也罢,最好能完整包括你的领域。此后,我们再来看看,近些年的好方法,或许就能选择一个作为你的baseline,或者出发点。(Endnote还算好用,作为本地看文献的工具,还算🉑️)下面👇的链接或许有用

IJCVhttps://link.springer.com/journal/11263/volumes-and-issuesICCV/ECCV/CVPR都有https://openaccess.thecvf.com/ICCV2021TPAMIicon-default.png?t=M7J4https://www.datalearner.com/academic/journal/detail/0162-8828AAAIicon-default.png?t=M7J4https://www.aaai.org/Library/AAAI/aaai22contents.phpIJCAIicon-default.png?t=M7J4https://www.ijcai.org/proceedings/2021/​​​​​​​
PRicon-default.png?t=M7J4http://www.elsevier.com/locate/issn/00313203

2,研究现状是什么?你所研究的内容的现在的状况,一看便知,主要是说最近几年的东西。不过逻辑是个好东西,我建议大家有之,干巴巴地阐述现状,自然是不可取,应该有一条逻辑线路,也省着我们总结了一堆别人论文中的现状,自己却不知道怎么堆叠凑字数:

(1)先下定义,所研究的任务究竟是什么,输入what,输出what。当然,如果该任务被所有研究者们分成了两个大类,如“手写文本识别分为offline和online”,那要先分类,再分别下定义。

(2)该任务中,普遍困难的问题是什么,多数文献都会说明其针对的是某一个现存问题,但有时就不会普遍,也就只有在综述中会被介绍清楚。所以说,这里你也需要自己有所思考、总结,该任务普遍的困难。这不会是个problem,只是要明白,有些普遍的困难可能已经被解决了,但在这里简要提及,并不会喧宾夺主。

(3)传统方法的介绍,不要以为深度学习发展得很好,传统方法就落于人后了,有些人工设计的算法,针对于特定的任务,效果远高于深度学习,即使可能是7、8年前的基础算法。所以要把传统机器学习里常用的算法列举出来,并告诉大家,之前达到了怎么样的结果(客观指标)

(4)重点还在基于深度学习的方法,如果你是以深度学习为基础的话,这里就多说。深度学习发展很快,或许总结近五年的高品质文献中的研究成果就已经很费力了,所以也不必再关注先前的方法,而且想来先前的方法,大多数都遭遇着淘汰,即使是现在看,那些18年的方法,也多少有些落伍了。在阅读论文的时候,就应该以一定的格式记录下文章的内容,比如“sb考虑到该领域的some问题,提出了某一种方法,来进行优化、改善,其结果如何如何”。不同的研究有很多,但放在PPT里的话,就不要太多,最好选那些开源的、又或者方法足够特殊,理论足够优秀的文章,它们要有一定的能力充当你的baseline。论文也是一样,不要有太多,如果一堆“谁谁谁做了啥啥啥事情,取得了怎样的结果”,那真是bad,仿佛明目张胆地在宣告“哥在凑字数”,不过你开心的话也行。我觉得,这种介绍最多不要超过5,当然我是说介绍的,一个文章100多字那种。如果只是标注一下,某一方面有些人进行了研究,这个数量是无所谓的。

(5)上面的(3)(4),主要是(4),就是在介绍最近的人针对此在干啥,结果如何。然后,我们就该来总结一下,仍然存在的问题了。发掘问题,对于人类来说,实在是容易,道听途说加上些微思索罢了。能发现尚存问题,是好的,但也别得意忘形,你要做研究,就终究要着重分析并解决其中的一两个问题。别你在PPT上罗列的一堆问题,洋洋得意,然后导师问你:你打算解决哪个问题/你能解决哪个问题/你对这些问题有什么想法,你就懵了。虽然研究现状至此已然结束了,但还有后来呢,你的研究才正要开始,我们还是需要动动那脑子🧠的。

###############################那么以上是我初次制作PPT产生的那些心得,从自查自看完一些论文,到完全地制作完PPT,大概用了20天,这个步骤还蛮重要,不可操之过急、急功近利、利弊失衡###############################

之后,打算说一说,正式投入研究前,选择Baseline的中间过程。从我的角度看,本科硕士的区别在于,本科毕业论文如果是和深度学习有关的,只要能正常复现,稍加改进,稍有提升,接下来就是语言艺术了。而研究生,不管是资格论文还是毕业论文,在baseline的基础上,要有big改进,要有显著提升,接下来就是语言艺术了。

搞研究不像谈恋爱,还是要清楚自己有什么的,such as,实力,时间,条件,耐心。实力方面,一般我们说如果一个方法设计到了过于复杂的数学推导,你就要量力而行了,所有研究中的期望都是“用最小的力气达到最好的结果”,还是不要以为包含复杂的数学公式就意味着高级,事实不是这样的,数学也不是。时间,真的是重要啊,深度学习中最重要的一个环节就是等待,我朋友的毕设模型十几分钟就收敛了,我的呢,十几分钟,不够我的一个最小的子模型跑完一个epoch的,真的是慕了,人家做完一堆消融实验了,我还一直在这旮沓卡在这儿呢。所以这也是我挫折的经历。

不过立足于现实,我们的实验室条件是有限的,显卡就那么大、就那么几张,要给那么多人用,这就要求你对显存要求最好别太大(我的就属于太大了,而且是联合训练,理论上需要4个GPU并行运行)。耐心,重要,没有,就别碰算法,特别是深度学习算法。

为日后方便看,我还是直接根据重要等级来说明一下选baseline model的原则吧:

1⃣️开源;

2⃣️模型所用的环境较新,python3.x,pytorch1.3以上;

3⃣️不是联合训练,不需要2个以上的GPU,不需要24/16G以上显存的;

4⃣️不含C++等需要cmake的库函数;

5⃣️整体代码写的还算简练,能在20min看懂每个模块具体是个什么类型的任务;

6⃣️文章应该写的够清楚、明白(当然,也是因为看文章写的还行我们才会考虑作为baseline,但有时候我们很难看懂,并不能说明模型表现或设计就差,说不定是人家单纯不会说话^_^);

7⃣️先前都是在考虑硬性条件,一般人可能更关注于方法的好坏与否,不过能在那些高级期刊上发的都是精品,选最贴合的、最看得上眼的、有进一步改进空间的、让你有自信的,从而最后才能使“可行性”变成“可行”变成“行”。

本文理清了如何在初探一个研究领域的时候,把那些最基础的研究背景和现状之类的搞成一条线,另外设定了一些挑选baseline的小条件,纵使不全,也是我目前遇到的坑。

下一文预计写一下,在确定了baseline之后,是如何好好地、细致地分析模型然后一步步改进的,以及怎么改进,改进哪些方面等问题。

详情见“毕设走过的路——如何研究”

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值