来自:NLP情报局

去年五一,我正在洛阳旅行,本已收到了腾讯公司的offer,准备假期过后去实习。这时候导师突然来了电话,让我6月份回实验室做科研。

一瞬间我觉得自己好悲惨,大厂实习泡汤了,研究生最后一段自由时光也成了泡影。

科研的主题是Text2SQL,就是把一句话翻译成对应的SQL语句。这是我毕业的开题方向,当初对NLP这个朝阳领域很感兴趣,有几个不错的idea。可我也就止步于此,没尝试过代码实现,看的论文不到10篇,处境很尴尬。

放弃了实习的念头,我在6月底重回实验室后,经历半年多我终于对Text2SQL领域有了清晰的认识。完成毕业论文的同时,产出了paper和专利,并在10月份获得了耶鲁大学Text2SQL比赛的全球第二名。

从开始的懵懂、工程能力不足到最终收获了还不错的结果,我对这半年多经历用了3个方面来概括:

1.阅读领域内近3-5年顶会论文

2.站在巨人的肩膀上,强化工程能力

3.充分利用学校和实验室资源

一、阅读领域内近3-5年顶会论文

阅读已有工作是开展科研的必经之路,既是为了站在一个制高点饱览研究领域这块蛋糕,也是为了提升学术嗅觉与idea能力。同时,可以避免想出了一个很好的idea立即开始复现,结果提交论文时才发现,这个点早就被别人做掉了的极端现象。

高效收集paper的4个途径:

1)在研究领域的公开赛事或榜单上学习Top名次的解决方案(一般都有相应的论文链接)。比如Text2SQL领域有:WikiSQL、TableQA、Spider、CoSQL等比赛,里边有大量值得学习的paper。

2)收集2-3篇综述论文。一篇好的综述概括了该领域的整体进展、已有工作以及潜在的研究方向等等,能够给予我们启发,事半功倍。

3)在谷歌学术上通过关键词搜索相关论文。论文质量可以根据引用数量、会议等级来衡量。

点击某一篇文章的“被引用次数”链接,可以跳转进入引用了这篇论文的界面,继续寻找有价值的论文。很多论文其实没有精读的必要,我们在收集了一批论文后,不妨先读读摘要、实验、结论部分,再确定是否需要通篇精读,以提高效率。

当然一些经典的paper是一定要看的,比如做NLP肯定不能错过Transformer、BERT等等。

4)在Github上搜索资源整合项目。如果这个领域比较热门或者正处于上升期,一般都会有热心用户分享自己整理的资料。例如,关于Text2SQL我已经整理好了一份大礼包,包含了背景、论文、数据集、解决方案、应用案例等内容,帮助感兴趣的小伙伴们节省时间:

 https://github.com/yechens/NL2SQL

二、站在巨人的肩膀上,强化工程能力

有了学术积累和idea后,就需要快速复现idea。刚开始我有一个误区:科研一定要从0做到1。

后来导师告诉我大可不必这样。聪明的人会先参考别人的解决方案(特别是SOTA),在学习过程中强化工程和coding水平,形成更优雅的代码风格。这就像站在巨人的肩膀上,我可以基于他们的工作实现自己的想法,取其精华,去其糟粕。

还是以Text2SQL为例。这个任务的数据处理部分特别繁琐,需要同时考虑文本和数据库信息,仅预处理就包含了上千行代码。我参考了Spider上的Top方案后,发现大家在这部分有很多思路是共通的,完全可以借鉴。这样一来,我可以把更多精力放在模型结构设计和后处理上,这两者对最终结果有关键影响。

有的同学表示说,“自己之前没有太多接触神经网络,现在要改实验代码,觉得好难”,这就涉及基本功问题了。我们每天需要额外挤时间来补漏洞,提升自己的coding能力。

如果喜欢看书,我推荐Keras之父的《Python深度学习》和李沐老师的《动手学深度学习》。两本书我都认真看过,非常经典和通俗易懂。

三、充分利用学校和实验室资源

最后一个关键是学会充分利用现有资源,这个资源包括学术资源、人力资源、硬件资源。

学术资源

最直接的学术资源就是实验室的师兄师姐们,还有大Boss——导师。

师兄中肯定有人发过paper,无论是写作还是关于编程和技巧,和他们聊过之后都给我带来了启发。导师是我研究领域中的权威人物,可以帮助我把关idea是否work、是否有足够的竞争力,甚至在没有任何思路的时候点醒我,提供有价值的idea。

人力资源

导师精力有限,往往神龙见首不见尾,不可能顾及所有人,所以带领学弟学妹们的工作一般留给了高年级同学。如果研究的方向他们也感兴趣,大家完全可以一起合作。例如让coding能力强的师弟帮忙做一些实验,coding弱些的同学分析数据和badcase,便于我迭代模型。不仅让他们有所收获,也帮助我分担了很多工作量,一举多得。

如果能带学弟学妹们投中论文,我想他们一定会从心里发出感激的,没准也更愿意在今后的工作中加上我的名字。

硬件资源

俗话说巧妇难为无米之炊,做科研有了idea和coding能力,没有机器也还是白搭。所以无论是在实验室还是公司,要善于利用资源。

我在实验室时,老板很慷慨的采购了服务器,还有Tesla V100显卡让我们做实验。实验室24h可以进出,提供免费饮用水和咖啡。如果做出了成绩(比如会议中稿,比赛拿下SOTA)会有丰厚的物质奖励。

如果实验室没有这些硬件资源,应该主动和老板沟通,请他帮忙协助解决。

总结

路漫漫其修远兮,吾将上下而求索。

做科研是一条艰辛的路,特别是从0到1的过程。但是通向光明之路,从来没有一帆风顺的选择。

为了避免拖延症和摸鱼,我会给自己罗列各个阶段的deadline,然后从学术调研、coding实验、多次迭代方面进行攻坚。如果真的感觉很累,我会停下来离开实验室,去球场和朋友打球;或者跑跑步,呼吸新鲜空气,让自己清醒放松。

最后推荐几个深度学习方向科研工作的神器吧,希望能为同学们的科研道路提供帮助:

arxiv:论文收录网站(防止自己的idea被剽窃,完成论文后可以先挂上去,证明原创性);

PaperwithCode:论文和代码的结合工具,包含了很多NLP、CV方向的SOTA论文和模型实现;

dblp:计算机英文资料收集网站,支持各种字段搜索(会议、作者、时间等);

Connected Paper:论文引用信息可视化工具,分析出文献的前世今生;

NLPIndex:NLP学术搜索神器,同时链接了paper、code、graph,是上述上个神器的综合体;

Deepl:翻译神器,特点是地道,更接近真人翻译(略胜于谷歌翻译)

diagrams:画图好帮手,制作高大上的流程图、模型图必备,可以在线导出为pdf高清矢量图(放大后图片细节不失真)

参  考  资  料

[1] https://github.com/yechens/NL2SQL

[2] arxiv: https://arxiv.org/

[3] PaperwithCode:https://paperswithcode.com/

[4] dblp: https://dblp.uni-trier.de/

[5] ConnectedPaper: https://www.connectedpapers.com/

[6] NLPIndex: https://index.quantumstat.com/

[7] deepl: https://www.deepl.com/translator

[8] diagrams: https://app.diagrams.net/

[9] Spider: https://yale-lily.github.io/spider

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

点击上面卡片,关注我呀,每天推送AI技术干货~

整理不易,还望给个在看!

复盘人生第一次科研经历相关推荐

  1. 记录自己第一次科研经历

    研究生第一次科研经历 科研之路 研究方向选择 论文撰写 科研之路 大导师非本校,基本无交流.不过给 找了二导,方向跟二导做了知识图谱.刚接触科研,并不知道如何下手.问了二导,导师给了几个期刊网站和文章 ...

  2. (四)记一次人生第一次面试经历,快来查阅

    一.话题渲染 有天上课,突然发现辅导员在年级群发了一则招聘信息,是关于广州富米科技有限公司的.我看到该公司也在招聘校园大使,主要负责宣讲会那天协助现场的.于是乎,我就果断地联系上了负责人,并争取机会, ...

  3. 我博士科研经历中的经验和教训——朱亮

    原文:科学网-我博士科研经历中的经验和教训--朱亮 一个偶然的触动,引发我反思自己博士期间的经验和教训.我想郑重的声明:写此博文,只是希望和朋友一起分享一下我的经验和体会,而不是想吹嘘自己.因为,我觉 ...

  4. 我博士科研经历中的经验和教训

    原文:我博士科研经历中的经验和教训 朱亮 中国民用航空上海航空器适航审定中心 一个偶然的触动,引发我反思自己博士期间的经验和教训.我想郑重的声明:写此博文,只是希望和朋友一起分享一下我的经验和体会,而 ...

  5. 人生第一次手术:0817

    人生第一次手术:0817 T+10天,身体已经无碍,伤口微微有点痒,但是不耽误走路.活动,到医院打印了病历,虽然耽误了一点时间,但是将本次治疗的全过程都打印出来,然后登陆商业保险软件,上传资料,个人开 ...

  6. winform checkbox要点击两次_真正牛X的人生,必须经历两次失败!(深度)

    作者:水木然 微信号:smr8700 新书<价值规律><世界在变软>已经出版 文末有购书链接 一个真正牛X的人生,必须经历两次失败! 第一次是因为无知,第二次是因为膨胀. 但凡 ...

  7. 硕士Nature一作谈回乡当公务员:考公竞争激烈,科研经历是宝贵财富

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 郝治伟其实对自己的职业发展早有规划,研二期间就有了考公务员的想法. 最 ...

  8. 瑞幸咖啡百万大咖活动 记人生第一次豪赌,净赔了200元钱。

    记人生第一次豪赌,净赔了200元钱. 从几个月前,瑞幸咖啡就开始了一个百万大咖活动,游戏规则大体如下: 奖池总共有500W元的奖金,奖金将分摊给所有满足条件的用户 购买满7件商品的用户即视为满足条件的 ...

  9. 如何活着:欲望、外界、标签、天才、时间、人生目标和经历

    这篇文章最早写于2011年12月18日,生日的前一天,原标题为<给明年依然年轻的我们:欲望.外界.标签.天才.时间.人生目标.现实.后悔.和经历>.全长1.7万字,却在那个140个字盛行的 ...

  10. 人生第一次手术:0809

    人生第一次手术:0809 T+6~t+5日,经过两天的休息,主要是睡觉,除了伤口本身其他地方已经不疼了,伤口本身的疼痛向痒在转化,走路,侧卧已经不影响了,起床再也不用整个身体向蠕虫一样晃动慢慢挪动了. ...

最新文章

  1. 【KEIL·单片机·扫盲贴】关于ARM单片机程序内存使用情况的细致讨论。
  2. 任务调度之Elastic-Job1
  3. Linux云服务器安装Tomcat
  4. 用C语言用指针怎么算通用定积分,C语言:利用指针编写程序,用梯形法计算给定的定积分实例...
  5. hadoop:could only be replicated to 0 nodes, instead of 1
  6. c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt
  7. 总结一下矩阵的基本操作
  8. windows 操作系统及相应服务的管理 综合
  9. 射手网字幕打包下载(73.16G)
  10. mysql show processlist
  11. 从我的客户谈营销公司怎样将创业企业做大的
  12. 人间繁华江上明月,乃浮生一梦,惟真情长在——读沈君山《浮生再记》(并转书评)
  13. Java基础(二)public、private、protected修饰的方法
  14. snapchat_如何截屏和共享Snapchat快照
  15. 零代码上线小布对话技能:技能平台的实践与思考
  16. mysql safe file priv_mysql --secure-file-priv问题解决方案
  17. 原生JS拖拽模型(有限制范围的)
  18. origin导出矢量图变色,怎么办?
  19. 局域网限速软件_除了Teamviewer,这些优秀的远程软件你用了吗
  20. 音质好的TWS耳机有哪些?音质最好的TWS耳机推荐

热门文章

  1. 【转】重装系统后找不到硬盘
  2. Hive_Hive的数据模型_分区表
  3. hdu-5723 Abandoned country(最小生成树+期望)
  4. 数据驱动编程之表驱动法
  5. SQL使用技巧(转)
  6. mysqljoin的原理和优化
  7. 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
  8. 【MySQL】Unknown column 'column_name' in 'field list'
  9. Windows 10下使用Xshell5连接虚拟机的ubuntu18系统
  10. 学习使用TestNG进行数据驱动测试