Reddit最热!本科毕业拿到Deepmind软件工程师Offer,几百页课程链接我帮你总结了

新智元

共 4751字,需浏览 10分钟

 · 2021-10-12



  新智元报道  

来源:Reddit

编辑:瘦瘦 好困

【新智元导读】Reddit机器学习板块的一个热帖引起了网友的热议!本科毕业,没有机器学习背景,这位小哥在blog分享了自己的实战经验:从自学ML到拿到Deepmind的offer。


最近Reddit上的一个帖子火了!
 
一个小哥没有MLPHD,没有MLMaster,甚至没有任何类型的MLDegree—仅凭在EE上获得的学士学位,就从 「DeepMind」get 到了一份研究型工程师的工作!
 
他在Reddit的论坛上分享了自己的经历,他是如何让在没有任何特别优秀的学术背景下,成功找到一份研究工程师的工作的。
 
 
文中,他分享了一些关于「他是谁」的背景以及到目前为止的学习经历!从把「机器学习」作为是副业到Deepmind的专业RSWE。尽管没有扎实的基础和优秀的学术背景,但却在短时间内实现了自己的目标。
 
同时,他还附加了很多从2018年第一次接触ML到现在积累的相关课程链接,以及当前ML(例如 GNN)的最新研究进展。最后,他和大家分享了自己从前期准备到后期面试DeepMind 的详细过程。如果你也想get到自己满意的那份工作,就跟着我一起去看看吧。
 
全文他强调自己不是一个有「计算天赋」的人,凭着对机器学习的热情,「从自学软件编程,完成Andrew Ng的所有Coursera课程,到研究专业论文,参与微软的ML夏令营」,被派驻到「ICCV2019」会议,在微软展台演示HoloLens2,并成功转正ML工程师。
 
 
所以,是发生了什么事情?让他的心态发生了改变?又是什么push他努力学习和工作,成功转型的呢?
 
他说,因为Gary Vaynerchuk的鼓励。
 
他在网上分享自己的经历,参加微软的公开演讲。相机,照相,反光板,这些东西打破了他的舒适区,日积月累,他学会了公开交谈(面试的必备技能)以及基本的数学知识(专业技能),得到了这份完美的工作。
 
好吧,你可能会说:嗯,故事很励志,但是没有干货啊。
 
https://gordicaleksa.medium.com/5-tips-to-boost-your-learning-d6eb5edfe6d
 
瞧,这不就是干货么?
 
以AI为例,内容涵盖「输入模式」和「输出模式」的周期学习模式。
 
输入模式:摄取信息。目标是对子领域(博客、视频)的结构有一个高层次的理解,或者对手头的主题(研究论文、书籍等)有一个深入的了解。
 
输出模式:分享在输入模式期间积累的信息。第一步,教别人!创建分享文件,如YouTube视频、GitHub项目,和blog 。以及在 LinkedIn 上高频率的更新。当然,Twitter和Discord也需要涉及。
 
 
做完这些工作后,别忘了,在macro的末尾附加几篇原创blog,总结所写的内容。这将帮助你更好的将干货用到实际工作中。
 
不需要多么深入。你只需要学习NST (Neural Style Transfer)、DeepDream、GANs (Generative Adversarial Networks)、NLP & transformers、Graph/Geometric ML、RL (Reinforcement Learning)......
 
呃.....俗话说的好,不积跬

步,何以至千里?
 

NST


首先,你要做的是,阅读大量的研究论文,开发3个不同类型的projects,然后Github开源,在YouTube上建立一个NST播放列表。准备工作差不多就可以结束了。
 
紧接着,完善PyTorch专业知识,学习CNN和优化方法,提高演讲技巧,阅读研究论文,做到从里到外全面提高SE技能。
 
例子如下,最后,编写代码合成NST图像:
 
 

DEEPDREAM


阅读blog,分析DeepDream子版块,并探索各种代码库。
 
你可能会发现,多数原代码是用Torch和Lua编写的。为了解决这个问题,你可以切换到 Linux,让它来为你工作。过程有点艰难,不过你可以学到很多东西,
 
最终,你可以使用自己的代码生成一副令人着迷的图像。
 

 

GAN


你需要做的很简单,就是阅读所有基础论文以及其他不太相关的论文,并尽自己最大的努力,尝试Vanilla Gan,CGAN(条件GAN)和DCGAN模型。
 
一些辅助方式仅供参考:
  • 在每个macro的末尾附加一篇blog ,总结自己所学到的知识。
  • 阅读论文时,随时在YouTube上记录它们。通过这种方式,你会学得更好,也会帮助到更多的人。
  • 在macro中间开源一个project。在那之后,你会发现,你读过的所有paper都变得有意思了。


NLP & transformers



想要了解BERT,想要了解GPT庞大的家族系谱?Transformer可以帮助你,但首先你需要开始使用Transformer和NLP。如何开始使用?
 
你先了解一下Sequence-to-Sequence model,例如,谷歌翻译在2016年开始使用这个模型,它是采用一系列的序列并输出了另一个项目的序列的过程。
 
 

还有其他的干货,我也帮你们附了链接:


https://gordicaleksa.medium.com/deep-learning-journey-update-what-have-i-learned-about-transformers-and-nlp-in-2-months-eb6d31c0b848


Graph/Geometric ML


首先,你需要了解Graph ML。简单地说,Graph ML就是处理graph数据的关于机器学习的分支。graph有很多种类,我们可以有有向graph和无向graph,多重graph和超graph,有或没有自边的graph......常见的包括图分类/回归和节点/边分类/回归。
 
 
我们可以用graph做什么呢?
 
如果你学过social media网状图,你就想象social media是整个graph,图中的每个节点是推文,而您想要推出某条推文传播假新闻的概率,您的模型就会将 0 到 1 之间的数字与该推文相关联,这只是节点回归的一个示例。
 

RL


这部分内容,你要了解的实在是太多了,AlphaGo、DQN、OpenAI......
 
https://gordicaleksa.medium.com/how-to-get-started-with-reinforcement-learning-rl-4922fafeaf8c

最后,补充一句,别忘了在One Note中做笔记:
 
 
当然,除了这些,业余时间你要做的似乎更多:
 
  • 开发了一种眼镜检测算法,作为HoloLens 2设备上眼球追踪子系统的一部分。眼球追踪子系统的全部意义在于预测用户的眼睛注视向量,并实现与全息图的本能互动。它还有助于为特定的用户显示正确的图形(每个人的眼睛不同,因此IPD也不同,等等)。
 
  • 利用视频编码器在各种VR/MR设备上增加注视点(Foveated)渲染功能。这样就可以为设备省电,因为不需要渲染视野以外的内容。并最终读完了关于H.264编码器的整个参考手册。
 
  • 在PyTorch中从头实现了一篇研究论文中的想法。这也是学习PyTorch的过程(2019年底到2020年初)。
 
  • 编写了各种脚本,确保标签器正确工作,开发了内部指标管道的一部分,处理了渲染和改进了合成数据,做了各种量化和perf-vs-compute实验,等等。
 
  • 为微软的SE/ML职位面试了实习生。
 
  • 指导了ML夏令营的学生,并举办了关于CNN的研讨会。
 
总的来说,就是1.5年的机器学习速成,1.5年正常速度的机器学习研究以及1年的软件工程速成。
 
兴奋激动ing,你终于打开了「DeepMind」的大门。
 
紧接着,你步入了遥遥无期的「找工作」模式。这位博主也分享了她的亲身经历。
 
在LinkedIn上联系Petar。其次,在ICCV19会议期间,遇到了其他很cool的DeepMinder,比如Relia(他在牛津与 Andrew Zisserman 教授一起攻读博士学位)和Jovana(也是牛津女孩),所有的事情让他的旅途变得更容易了!
 
马不停蹄,他向Petar和Relja明确了自己的意向,开始申请 DeepMind,并询问他们有关如何准备的详细步骤!辗转回到LinkedIn上,联系了招聘人员(当时并不认识),并询问是否可以用他的 LinkedIn、YouTube、GitHub来取得面试机会。
 
 
一切刚刚好,招聘人员也表示,已经为他安排了面试。
 
他在此告诫求职的小伙伴,网络很重要!通过网络,与自己要求职的公司建立真正的联系,问问你能为他们做什么,而不是他们能为你做什么。
 
第一步,研究你的每一位面试官,了解他们正在做什么,例如,你可以查看他们社交媒体(微博,微信)中的资料,阅读他们的文献。然后,研究你的个人简历。深度思考你所列举的每一项经历,无论是教育经历还是工作经历。如果时间充裕的话,还可以做一些模拟interview。
 
简单来说就是:
  1. 大致了解企业文化,例如其核心团队正在做什么,你到底能为团队做什么「转到公司官网查看。

  2. 准备专业知识,大致了解行业的基本概念,例如阅读基本的教科书。

  3. 面试环节:与招聘人员聊天,他们可能会问你「你喜欢公司的什么?为什么选择我们而不是其他公司?你最喜欢的核心项目」了解你到底能为团队做什么」。

 
想清楚这些就够了。
 
怎么样,干货满满的对吧?
 

网友评论

 

有网友调侃道,第一步:在大厂(Facebook、Apple、Amazon、Netflix和Google,也可以包括微软)找到一份软件工程师的工作;第二步:开始写博客。
 
 
作者表示,任何做了一段时间的竞争性编程的人都能在FAANG找到实习或者工作,甚至高中生都可以。只需要坚持1年的算法和数据结构(或许再加上系统设计和其他的)。
 
障碍不是智力的问题,而是毅力的问题。
 



参考资料:

https://www.reddit.com/r/MachineLearning/comments/q2ab5p/d_how_i_got_a_job_at_deepmind_as_a_research/

https://gordicaleksa.medium.com/how-i-got-a-job-at-deepmind-as-a-research-engineer-without-a-machine-learning-degree-1a45f2a781de





浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报