点击上方,选择星标置顶,每天给你送干货

阅读大概需要15分钟

跟随小博主,每天进步一丢丢

作者:梦里风林

https://zhuanlan.zhihu.com/p/54161673

本文已由梦里风林授权,未经允许,不得二次转载

许多同学私信我,表达了他们初入研究生期间的迷茫,希望了解我研究生期间的成长路线。虽然说没有适合每个人的方法,因为每个人的特点和所处的环境都不一样,但有个参考总是好的,所以我在这悄悄把自己研究生三年的经历写一下,前面可能会写的详细一点,希望能对这些同学有所帮助。

大四上学期(2016.1~2016.3)

大三暑假的时候去QQ邮箱实习,一直实习到了2015年12月,回到学校正是2016年的元旦,跟现在差不多的季节,开始跟导师讨论毕业设计的思路,并动手实现。

主线任务:毕设

毕业设计做的是一个多模态行人检索系统里的Java后端,跟班里两个同学做的前端和硬件采集端合为一个大的系统。导师刚评上副教授,带的研究生只有两个人(后来又多了一个计创的师弟),虽然还有很多本科生,但是对我们的指导时间很多,是那种实干型的导师,会一边给你理思路一边给你准备资源。

拿到几个大华的摄像头、NVR和SDK之后,在B3五楼会议室里调C代码读写数据,并且从Servlet裸写Java后端(虽然实习写Android把Java写得很熟了,但是当时不熟悉Java后端框架,所以就直接Servlet)。写了差不多两个星期就写完了。然后开始写论文初稿,到一月底,毕设就基本完工,虽然后边又各种调整,但基本的工作在这个时候都做完了。在这个Java后端里,把在QQ邮箱实习的时候熏陶的设计模式全都实践了一把,感觉写的挺优雅,但是好像有点过度封装,不过也还好,这个系统就一直沿用下来。

在后边研究生几年里这个系统又被部署到超算虚拟机上,经过离线化等等变更。合作的两个同学毕业后他们的Hadoop后端和JS前端,路由器硬件都变成我维护了(:з」∠)不过因为没有特别大的改动所以还能Hold得住,一直到现在还在运行着。

支线任务1:自学

写完之后就回家放寒假,因为有大把时间,所以开始刷GitHub,熟悉Git,Markdown,Gitbook,期间翻译了一个当时Github上Star上万的工程,大概讲的是程序员的自我修养之类的东西,收货了几百个Star,后来因为在邮箱期间遇到的Webview问题没彻底解决,心存执念,又开始翻译Chromium的文档,因为当时国内也没有Chromium的中文文档,所以就动手翻译,也从中学到了许多架构设计方面的东西,虽然因为内容太多没有最终翻译完。

支线任务2:物资管理系统

毕设这套系统更偏向工程,还没有一些计算机视觉的东西,当时导师就跟我讨论就想是不是可以往这方面发展做点研究,于是开始学Python,因为我之前在学校学工办勤工助学,实习的时候就跑路了,准备大四下回去在挣一点生活费,毕竟奖学金只够学费,吃饭还是得自己想办法(当时没想到导师每个月给我们发的钱完全够吃饭了),所以就用Python+Django写了一个物资管理系统,当做回归的见面礼,顺便也是试手Python。这套系统从2016年3月一直用到2018年12月,因为之后我要毕业不在学校,办公室那边的同学维护不了,所以及时过渡到了以前的Excel工作模式。我感觉这套系统做得还挺好看的,实践了一把当时比较推崇的Material Design。

支线任务3:羽毛球

每周1个半小时的羽毛球,一直打到现在,学校的体育馆还是可以的。

大四下学期(2016.3~2016.9)


主线任务1:毕设

这学期主线任务还是改毕设啦,改格式很烦(:з」∠)

主线任务2:入门机器学习

导师之前其实也不做机器学习,我也是自己摸索,当时TensorFlow,Caffe各种框架百花齐放,因为之前做Android比较喜欢Google,所以在TensorFlow还只是0.8版本的时候开始自学,看的是Google在Udacity上发的教程,一边学一边整理笔记,放到GitHub上又刷了几百个Star。差不多5月的时候,导师也开始跟我们讨论当前机器学习的一些进展和研究方向,因为发现调参很麻烦,所以想做一个自动调参的东西,用神经网络来给神经网络调参,然而当时我只有CPU,整天在Acer笔记本上呼呼呼地跑实验,一直到暑假快结束了实验效果也不好。后来发现Google用N多块GPU做出了AutoML…后来差不多到研一导师才开始重视设备,所以这段时间更多的只是学TensorFlow和机器学习的一些基础知识,也开始学会了做实验,当然因为没有设备这个方向在开学之后还是放弃了。

支线任务1:校园活动管理系统

因为回到了学工办,受到当时双创的影响,被那边的老师抓去组了一个小小的创业团队,准备写一个校园活动管理系统。所以大四下也花了一些时间在这件事情上,带着不同学院的几个同学一起做东西,又写Python又写JS,虽然最后也没搞成,但还是挺有意思的一段时光,遇到许多不错的小伙伴。

支线任务2:博客

大概是到这个时候博客才开始放到Gitbook上,大多数是一些琐碎的知识,后来也渐渐把论文解读和一些工程实践也放进去,还在一直写着。

研一上(2016.9~2017.2)

主线任务1:上课

研究生的课大部分没什么卵用,我觉得我学到最大的技能就是读论文,做PPT还有汇报…当然还是有几门有用的课的:

  • 视觉计算:传统图像处理的各种套路

  • 模式识别:机器学习基础

  • 最优化计算:机器学习数学基础,还顺便学了一波LaTeX

主线任务2:行人重识别入门,确定研究方向

遭遇了自动调参任务的失败之后,10月老师开始让我调整方向,感觉导师在方向上的把握一直都很敏锐而正确。老师希望我还是关注回毕设做的视频行人检索任务上,于是开始看顶会上的各种行人重识别论文,不知道为啥当时老师follow郑宇大佬的工作,关注多模态,所以我们整个实验室大方向是多模态数据融合,我是行人重识别这个小方向,在毕设的系统里,发现基于Wi-Fi的时空信息能够有效筛选行人之后,也想在行人重识别数据集上做相关的研究。

一开始看论文其实没什么经验,看到公式基本都觉得不懂,学了最优化计算之后才感觉看懂了,此外还有一个机遇是老师带着我们去了一趟南京大学参加MLA,听了各路大佬的论文解读和方向指引,期间也看了大量的论文,开始对机器学习这个领域有一个整体的把握,之后看论文就得心应手了。

回到研究上,看论文之后再去调研数据集,才能知道从哪里下手。可视化是一个很重要的手段,一边各种数据分析加可视化,一边跟导师讨论(老师经常半夜十一二点跟我QQ讨论进展)我们才将目标剥离为无监督时空+视觉这个干净的方向,差不多就到11月了;在这个学期主要是尝试构造时空模型,并想办法和视觉模型做融合。当时Re-id还没有那么多方便的Baseline,我用的是郑哲东的MATLAB baseline,用了MatConvNet这个框架,也是走了一点弯路,一边准备考试一边做实验,差不多到要寒假才把视觉模型的训练和测试都理顺跑通。寒假期间开始把时空模型和视觉模型结合起来,有了一点初步成果,这部分是用Python写的,所以这期间一直在Python和MATLAB之间反复横跳。

这个期间拿着老师给的5W买了一台三卡机,三张TITANX,总算有显卡可以用了…代码也开始放到服务器上跑,这个方向设备真的还是很重要的,我觉得至少要有一张11G的卡吧…

支线任务:PS

因为在学工办兼职,需要做一些海报之类的,本科的时候在学院的宣传部做过,就扛起了学工办所有的海报设计…虽然水平不高,但至少能用。

2016年就这样过去啦:

研一下(2017.3~2017.8)


主线任务:推进实验进展

放假回来还是继续做多模态融合,思路还是从实验里找,各种可视化,摸索出可以建模噪音这样的思路。差不多5月的时候实验基本能保证有效了,导师想投NIPS,开始写了一点点论文初稿,但是因为时间太赶,实验还不完备,就拖着没投,继续完善实验,进一步想用Learning to Rank来改进模型,从调研到选路线到推实验。期间因为支线任务1学了Keras,所以把代码都改成了Keras实现,代码写起来非常清爽,也都整合到Python里了,并且用各种技巧把视觉模型baseline复现到郑哲东他们TOMM的水平,暑假也一直在调Learning to Rank,直到效果满意。

支线任务:百度宠物狗分类比赛

发现了这样一个比赛,然后加了比赛群,听各路大佬吹牛(里边有很多大佬在知乎哈哈),学到了很多套路的东西,包括调参技巧,刷分技巧之类的。这些东西虽然不是必须的,但有了之后会事半功倍。同时也学了Keras,加了Keras群,先试水宠物狗分类,把Keras套路用回ReID。虽然这个比赛没刷上去,但开阔了视野,我们不仅有实验室,同学这样的来自学校的力量,还有来自社区的力量可以汲取。

研二上(2017.9~2018.2)


主线任务:CVPR论文

9月把实验都整理好,老师开始写论文,我也一边写实验的部分,虽然后来基本上还是都被导师重写了,毕竟老师写起来确实比我写的好很多。各种画图,各种修改。直到十月底投出去,老师还在学院楼睡了一晚,真的很辛苦。好像是到1月的时候CVPR review,然后写Rebuttal,应reviewer要求补了很多实验来rebuttal。过完春节,某天好像听说出结果了,然后发现已经AC了。

支线任务1:树莓派系统

因为老师想要以后把工作重点放在行人重识别上,所以需要搭一套实验平台,包括采数据的终端和存数据,检索的后端。以前那套系统基于Hadoop太笨重了,所以我重新写了一套系统。买了一堆树莓派、摄像头和无线网卡,在树莓派上跑行人检测,把数据存到MongoDB,用Spring boot来写后端。感觉写工程开始变得很容易,Spring boot也就简单看了几天视频教程就用起来了。只要把一些难点攻克了,之后写起来就很流畅。这个事情做了一个月,然后交给几个大二的本科生接手了,但师弟们之前只学C++和数据结构和算法,不太推得动,有烂尾的趋势,估计我研三下还得把这个东西自己拿过来推进。

支线任务2:动物计数横向

跟一个创业公司合作,做一个数牛的项目,主要还是用树莓派和目标检测那堆东西,加一点物理知识做计数,做出来效果还行。技术上难度不大,但是跟甲方讨论还是一件挺费时间的事情,需要及时推进和协调。

支线任务3:目标检测

寒假期间看了目标检测方面的经典论文,为下学期找实习做准备,虽然我是做行人重识别,但是重点其实还是在多模态上,对计算机视觉方面的东西还是停留在课程里学的东西上,以及Re-id一些论文。其实应该把分割和人脸方面的一些论文也都看一看的。

2017年就这样过去啦:

研二下(2018.3~2018.8)



主线任务1:论文

首先是把CVPR的论文整理成camera ready,然后是继续改进,想得到进一步的提升去投期刊。试了很多技巧,感觉创新点够了,但是效果还是没太大提升,所以一直没投出去。

主线任务2:实习面试

投了几家公司的实习,面试,一边刷牛客网上的题,因为我不是专业的ACMer,而且也有别的任务要做,没法把题都刷完,所以刷题只是找找感觉,基础知识也只是看蓝皮书和西瓜书,大部分面试都是裸考。好在还是找到实习了,具体经历在知乎上答过:https://www.zhihu.com/question/272045026/answer/366665187

主线任务3:鹅厂实习

到AI Lab实习主要还是研究类的工作,感觉在这期间填补了之前在CV上欠缺的一些认识,发现原来网络结构啥的可以玩出这么多的花。具体不便多说,保密哈。

主线任务4:秋招

2019秋招算法面经:https://zhuanlan.zhihu.com/p/42936891

支线任务1:实验室基础设施建设

跟师弟一起搭了实验室的Git平台,还有网站和博客,所以2018年在GitHub上提交的代码可能少一点点。

研三上(2018.9~2019.1)

主线任务1:期刊论文

读了18年的一些顶会论文,获得了启发,找到有效的提升方法,现在实验做完了,效果很好,希望能在春节前把论文投出去。BTW,回来给实验室买了两台GPU服务器,实验室目前有3张TITANX和12张1080ti,还有若干1060,师弟们都转Reid了,卡要多一点才够用。

主线任务2:毕业论文

SCUT总能时不时坑你一把,去年论文是研三下才送审,今年就变成1月送审了,于是生死时速开始写论文,现在写好了,等导师给修改意见就准备去查重送审了。

2018年就这样过去啦

研三下(2019.2~2019.4)


主线任务1:毕业论文

寒假的时候送审意见就回来了。做了一点点修改就可以准备答辩手续了。因为学院当时行政比较混乱,所以手续搞了挺久。期间做了答辩ppt,到答辩前一个星期讲给导师听,导师听完之后说:“我觉得你这个只达到了硕士水平,没有达到博士水平”。于是照着导师的意见做了修改,把ppt做得更加易懂,自己把整个ppt背了下来,试讲了几遍之后再跟导师试讲。答辩的那天很早就到了B3,但我是最后一个答辩,一直等到中午,前面很多是一些在职的学生(真的很菜。。),于是到自己答辩的时候就木有什么压力了,讲完之后有个评委老师甚至很感兴趣要代码。宣布答辩结果之后,再适当改一下论文,就等拿毕业证啦。

4.18 双证到手。

主线任务2:行人检索系统

导师想做一个平台来演示我们实验室所有的算法,于是Java后端,web前端,python深度学习后端,树莓派采集端我都一个人写了出来。现在还是一个比较简单的版本,交给师弟们后续继续扩展。

支线任务:熟悉无人机

因为要入职大疆,公司发了一台无人机,所以没事就带着无人机到处拍。无人机还是很好玩的,毕竟造飞机是每个男孩的梦想嘛。

小结

稍微写几点体会吧:

  • 读研期间有一个好的导师真的很幸运

  • 要尽快确定一个还有研究空间的方向,前期要多读论文,多总结,开阔视野

  • CV方向至少要有一块卡,实验室没有的话,尽量自己买一块吧

  • 确定方向之后多做实验,多做分析,多跟他人尤其是导师沟通

  • 工作的事情是水到渠成的,在学校能出成果最重要,尽量在研二上把论文投出去

  • 现在环境比我们当时好了很多,框架成熟,baseline开源代码到处都有,大多数实验室也都意识到设备重要性,所以都有设备了,但是竞争也更激烈了,大家要加油呀

推荐阅读:

一大批历史精彩文章啦

详解Transition-based Dependency parser基于转移的依存句法解析器

干货 | 找工作的经验总结(一)

经验 | 初入NLP领域的一些小建议

学术 | 如何写一篇合格的NLP论文

干货 | 那些高产的学者都是怎样工作的?

是时候研读一波导师的论文--一个简单有效的联合模型

近年来NLP在法律领域的相关研究工作


好文!我在看!

经验 | 我的研究生这三年相关推荐

  1. 我的研究生这三年(含腾讯AI Lab实习、CVPR发表经验)

    作者:梦里风林 原文:https://zhuanlan.zhihu.com/p/54161673 之前在知乎发过实习和秋招的面经.见[2019秋招算法面经],许多同学私信我,表达了他们初入研究生期间的 ...

  2. 经验 | 本硕985回忆研究生这三年

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|计算机视觉联盟 之前在知乎发过实习和秋招的面经,许多同学 ...

  3. 研究生 vs 三年工作经验

    看到这篇blog,似乎为以前的自己的问题做出了比较好的问答: 下面是原文所在,我也摘录一部分,自己做一些comment http://blog.csdn.net/zhengyun_ustc/archi ...

  4. 研究生图像处理该怎的自学_我的研究生这三年

    之前在知乎发过实习和秋招的面经,许多同学私信我,表达了他们初入研究生期间的迷茫,希望了解我研究生期间的成长路线.虽然说没有适合每个人的方法,因为每个人的特点和所处的环境都不一样,但有个参考总是好的,所 ...

  5. 一个研究生读完三年需要花多少钱?

    考研不是一件简单的事 很多人除了要考虑到 自己的成绩是否符合标准以外 还要考虑一些"现实"的问题 例如,研究生三年到底需要花多少钱? 今天呢,就来给大家算算这笔帐. 学  硕  1 ...

  6. 【面经】【经验分享】研究生导师是路桑,找工作是一种什么样的体验?

    点击蓝字 关注我们 编者说 一直想让竹兄给大家写一个经验分享,今天终于约到了稿子,作为路桑的学生,有一些独特的经历和经验分享给大家,本文分为两大部分,第一部分为经验分享,问答,第二部分为竹秋一的秋招面 ...

  7. 审稿+写作经验总结:研究生易范的学术论文写作错误与不足

    转自:https://zhuanlan.zhihu.com/p/75457026 结合近几年来的学术论文写作经验,加之近一年来的审稿经验,总结学术论文中常见错误和不足,供大家参考对照: 1.摘要部分 ...

  8. 三年经验前端社招——朴朴科技

    大家好,我是若川,祝大家中秋节快乐.最近组织了源码共读活动<1个月,200+人,一起读了4周源码>,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 r ...

  9. 三年经验前端社招——腾讯微保

    大家好,我是若川.祝大家中秋节快乐.最近组织了源码共读活动<1个月,200+人,一起读了4周源码>,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 r ...

  10. 三年经验前端社招——有赞

    大家好,我是若川,祝大家中秋节快乐.最近组织了源码共读活动<1个月,200+人,一起读了4周源码>,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 r ...

最新文章

  1. 网站位置服务器,如何查看网站的服务器位置
  2. 16S预测细菌表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等...
  3. Base64编码的字符串与图片的互转
  4. Java中变量、类初始化顺序
  5. mysql改为sql_项目需求变更:Mysql改为SqlServer
  6. 一阶电路误差分析_读图学电路原理为什么交流调理电路会产生滞后,直流偏置又是什么...
  7. SAP应用followup transaction的错误讨论
  8. Android开发之5.0已以上版本沉浸式状态栏
  9. Mr. Panda and Kakin(拓展欧几里得 + O(1)快速乘)
  10. c语言条件运算符的作用,条件运算符的用法_C运算符的结合方向
  11. 关于web.xml中不能识别taglib的问题
  12. [转载] Python 中 pass 语句的作用是什么?
  13. html 怎么设置时间函数,JavaScript日期函数 - 计时器、innerHTML
  14. JavaWeb书城项目(尚硅谷视频整理自用)
  15. wxpy 扫码登录微信报错 KeyError: pass_ticket(网页版微信登录失败)
  16. RTC月度小报5月 |教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作
  17. 周末假期,去一趟安化云台山风景区
  18. 升腾 linux管理密码,升腾Linux终端使用指南
  19. 七彩虹显卡软件测试,【七彩虹FM2A75评测】多款软件测试-中关村在线
  20. cad中能够既刷新视图又能刷新计算机图形数据库,建筑CAD练习题.doc

热门文章

  1. 神经网络一(Neural Network)
  2. loj 6085.「美团 CodeM 资格赛」优惠券
  3. js 获取iframe页面元素
  4. Git提交空文件夹的技巧
  5. 应用PIC16F1938中IIC读取LM75A温度
  6. 中国大数据市场规模分析及预测
  7. 鸡肋 - cacheAsBitmap
  8. Adobe Creative Cloud Cleaner Tool 清除工具
  9. 解决servlet中get方式中中文乱码问题前驱(一):装饰者模式再理解
  10. Linux内核管理子系统和进程管理子系统