资讯专栏INFORMATION COLUMN

三年前,我差点成了爬虫大师

Codeing_ls / 3191人阅读

摘要:期间,我从爬虫入手,一路摸爬滚打,实现了千万级微博评论自动抓取,在即将成为爬虫专家前,受师兄指点转向算法。确定研究方向经过前面的理论学习,你应该发现深度学习领域有很多细分方向,例如语音自然语言处理视觉强化学习纯深度学习理论。

最近很多刚入学的学弟学妹给我们留言,听说算法岗现在竞争很激烈,还能转机器学习吗?实习对于找工作重要吗?

看完他们的疑问,三年前的经历在我眼前历历在目。

研一修完毕业学分后,我去创业公司实习了一年。期间,我从爬虫入手,一路摸爬滚打,实现了千万级微博评论自动抓取,在即将成为“爬虫专家”前,受师兄指点转向DL算法。

下面我以「就业」为导向,分享一条亲身经历的学习路线。参考这个方法,在深度学习方向拿到offer进大厂,不是啥难事儿。

一、研一:基础理论学习

研一的主要工作是学理论,打基础。

然鹅学校的课程基本属于科普讲座,很多内容仅靠上课是远远不够的。

这里我把第一年的学习任务细分了4个方向。

1)深度学习理论

基础不牢,地动山摇。没有扎实的基本功,无论是做科研还是做项目,都很容易捉襟见肘。

那怎样学习效率最高呢?

如果你觉得看大头书很枯燥(比如《深度学习》花书),我推荐你直接看吴恩达和李宏毅老师的深度学习视频课。

内容既权威又有趣,看完会让你觉得学习简直是一天中最快乐的事!

这些网课都有配套的编程练习,学一课做一课,养成好习惯,及时查漏不缺。

看完视频,如果想检测一下自己的学习效果,推荐你参考我在知乎的一篇回答,看看第一部分“理论基础”问题,自己能轻松解答多少。

如果你是面试官,你怎么去判断一个面试者的深度学习水平?[1]

例如了解前向传播反向传播,以及链式求导;给一个两层的MLP和简单的二维向量,能推导出 forward propagation,再用 chain rule 推导出 back propagation。

2)确定研究方向

经过前面的理论学习,你应该发现深度学习领域有很多细分方向,例如语音、自然语言处理、视觉、强化学习、纯深度学习理论。

所以第二步我们要明确自己的研究方向,并在之后两年的学习中有所突破。

如果你喜欢语音交互,熟悉C++,可以选择语音识别、语音合成等研究课题;

如果你喜欢研究文本和对话,熟悉Python和爬虫,可以选择自然语言处理方向;

如果你喜欢图片与视频,熟悉Python,对算法落地也很感兴趣,可以选择计算机视觉方向;

至于强化学习、深度学习理论研究等方向,如果不是自身基础非常扎实或有优秀的师兄师姐指导,建议谨慎入坑。

这一步大家不要着急,既要了解不同方向,更要认真了解自己,包括能力、性格、特质。如果对自己研究领域没有热爱和兴趣,到了中后期会非常痛苦,即便再换方向,沉没成本也会很高。

好比让你挑一道菜吃十年,什么才会是你的首选呢?

3)阅读经典论文

选好方向之后,下一步的重点是阅读该领域的经典论文,包括传统方法,以及近期热点。

如果你和我一样主攻自然语言处理方向,那应该对最早期的神经网络语言模型(2003)、静态词向量word2vec(2013)、动态词向量ELMO(2018)、预训练语言模型BERT、RoBerta、GPT(2018-2020),以及近期流行的prompt训练(2021)都有清晰的认识,明白哪些场景适用哪种方法。

然后再往下细分,选择子领域内的论文阅读。

如果研究对话系统,对于常规的分类、匹配算法应该非常熟悉,同时了解基于神经网络的DST算法,不同召回策略等等。

还不知道怎么搜论文的同学,这里教你两种万能搜索方法。

1. 正向检索

在谷歌学术、arxiv、ACL Anthology输入英文关键词,检索相应主题的paper,注意查看发表年份和引用数量。

或者直接查找近年的survey文章,在综述中查看主要的研究分支和related work。

2.反向检索

在谷歌学术的搜索结果页面,点击某一篇论文的“被引用次数”,跳转进入引用了该论文的所有paper。

底层逻辑是引用了A论文的其他论文,基本都和A论文所属的研究领域一致。

这两种检索方法,可以大幅提高查找文献的效率。

4)强化一门主流编程语言

通过以上3步,我们已经具有了相对系统的理论基础。然而“巧妇难为无米之炊”,有idea却无法通过编程实现,还是白搭。

所以接下来,我们要给军火库增添几样重型武器,包括一门主流编程语言(深度学习一般用Python),深度学习框架(推荐Pytorch),服务器调用(Linux指令),IDE使用(Pycharm或Vscode+jupyter lab)等。

有了这些工具,开发深度学习项目会方便很多。

而且从目前大家都在卷的情况看,coding已是基本功,是技术岗通过面试的底线。

一边学习,一边每天在leetcode上刷1~2道算法题,校招找工作会事半功倍。

进入研二,大家可选的路更多了。有的同学继续在实验室从事科研,以做实验发paper为目标,有的同学已经走出校园开始提前实习。

这两种选择没有好坏,关键要适合自己。最怕每天窝在宿舍吃外卖打游戏,毕业只多了张文凭。

二、科研与学术

有些同学是主动从事科研的,例如我身边就有本科发表顶会,硕士毕业已手握6-7篇CCF-A一作的巨佬。

也有导师不放实习,“被迫”滞留实验室的同学。研二时的我就属于这一类,虽然拿到了大厂实习offer,又被劝退重回学校搞科研。

总的来说,做科研四分靠实力,三分靠努力,还有三分天注定。

实力首先指理论扎实,具有敏锐的学术嗅觉,懂得挖掘idea;英语阅读、写作过关,用词地道,知道怎样写paper容易中稿;同时编程强悍,能快速迭代实验,验证结果。

有同学可能某方面薄弱些,可以通过大三大四以及研一研二的努力来弥补。

即便手握七成概率,paper能否中稿还和评审人的口味等“随机因素”相关,有一定运气成分。

所以做科研挺有风险的,如果忙活了2-3年没中论文,硕士生涯几乎等于nothing。

之前听一位985师兄说,他们实验室有50多个深度学习方向的博士,每当夜深人静之际,经常能听到博士宿舍楼传来哭声(科研压力太大,没有达标数量的paper毕不了业)。

甚至还有博士生在实验室做实验,做着做着就哭了。

三、项目与实习

相比之下,在互联网公司找到一份实习要容易很多。

虽然内卷天天有,但只要研一没摸鱼,研二进一家第一第二梯队的大厂一般问题不大。再不济,也能去偏头部的创业公司。

在公司实习,主要是积累项目经验,把之前学习的理论落到实处。同时提前了解公司的管理流程、开发部署环境等等。

实习经历将会是简历的一大亮点,越来越多大厂开始更加重视实习。一段充沛的实习经历(3个月以上)丝毫不逊色于发表一篇顶会论文。

这是我导师部分硕士的毕业去向,有很多学术大佬,他们也会提前去公司实习。有的顺利转正,有的跳槽拿了更好的offer。

如上,走大厂实习转正是拿到校招offer的很好选择。部分大厂(如阿里)很多hc很早就预定给实习生转正了,走常规秋招难度要大很多。

如果想实习导师却不放人,建议提早和导师沟通协调。如果只能留在实验室,赶紧看看有没有靠谱的项目,能提供指导的师兄师姐。

如果导师放养,又不让实习,还不给机器,那兄弟你只能自求多福了!

四、总结

研究生2-3年的时间非常短,如果热爱学术,想要对整个研究领域产生个人影响,建议先出门右拐读个博。

另外,深度学习也没有想象中的那么高大上。大部分业务导向的算法岗,很多时候在和数据分析打交道、跟各个部门对齐需求,真正让你训模型跑实验的比例其实很低。

在工业界,模型是否新颖不是最重要的,通过A/B测试,验证算法能给公司真正带来经济效益才是关键。

为什么还有那么多同学反馈算法面试好难呢?

因为僧多粥少,除了计算机,还有各个专业的同学一起往里卷,门槛自然水涨船高。因而有了“面试造火箭”的说法,公司也正好通过面试刷掉一批想浑水摸鱼的人。

从这个角度看,提早选择开发岗也是一种不错的折中。开发岗需求大,和算法的薪资差距也越来越小。

不管选择什么,认真了解自己,适合自己的才是最好的。

千淘万漉虽辛苦,吹尽狂沙始到金。

无论什么岗位,成长、薪水、福利都是和付出成正比的。只有自己努力,才能在研究生阶段学有所成,收获满意的offer!

- END -

觉得还不错就给我一个小小的鼓励吧!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119992.html

相关文章

  • selenium 自动化爬虫 5分钟爬取新浪李敖大师1751条微博.

    摘要:是一个浏览器自动化测试框架可以模拟用户的所有操作很久以前就想把李敖大师的所有微博爬取下来一直没空前天看见群里有人推荐和就学了做了个你们想爬别人的只要把李敖大师的地址换成你要的就行了我还没学不过我猜他就是去掉功能的浏览器这样可以让爬虫更快如果 selenium 是一个浏览器自动化测试框架.可以模拟用户的所有操作. 很久以前就想把李敖大师的所有微博爬取下来.一直没空,前天看见群里有人推荐s...

    zhichangterry 评论0 收藏0
  • Evil Python

    摘要:用将倒放这次让我们一个用做一个小工具将动态图片倒序播放发现引力波的机构使用的包美国科学家日宣布,他们去年月首次探测到引力波。宣布这一发现的,是激光干涉引力波天文台的负责人。这个机构诞生于上世纪年代,进行引力波观测已经有近年。 那些年我们写过的爬虫 从写 nodejs 的第一个爬虫开始陆陆续续写了好几个爬虫,从爬拉勾网上的职位信息到爬豆瓣上的租房帖子,再到去爬知乎上的妹子照片什么的,爬虫...

    Turbo 评论0 收藏0
  • Python猫荐书系列:文也深度学习,理也深度学习

    摘要:本期猫荐书栏目系列之六,就以此为话题,推荐给大家两本书它们都叫深度学习,但是内容很不一样。事实上,第一本书被很多人誉为深度学习的圣经,知名度极高,有一个昵称叫作花书。 最近出了两件大新闻,相信大家可能有所耳闻。 我来当个播报员,给大家转述一下: 1、中国队在第 11 界罗马尼亚数学大师赛(RMM)中无缘金牌。该项赛事是三大国际赛事之一,被誉为中学奥数的最高难度。其中一道题,令中国队全军...

    LuDongWei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<