关注:决策智能与机器学习,深耕AI脱水干货
作者 | Flood Sung
出处 | 知乎
今年来,深度强化学习工程师/研究员已经成为腾讯,网易,字节跳动,华为,阿里巴巴,快手等大厂及一些初创公司如启元世界,超参数重要的招聘岗位,主要面向游戏AI,推荐系统等方向的落地,这对深度强化学习的发展是极大的利好。
在这篇文章中我将以面试官的角度和大家分享一下深度强化学习工程师/研究员面试所需的必备技能,希望对感兴趣的同学有所帮助。
以游戏AI为例,深度强化学习工程师/研究员当然是实现某一款游戏AI为目标,或者某一类游戏AI为目标。工程师(Research Engineer)比较强调工程实践能力,能够完成包括环境接口,算法,训练调优,模型部署等等工作,而研究员(Research Scientist) 比较强调理论深度,能够针对问题在理论层面提出解决方案,能够对最前沿的DRL相关问题进行研究创新,当然研究员的工程实践能力也是必不可少的。
首先先声明一下下面的标准是一个比较理想化的solid的社招标准,不是面向校招的标准。对于深度强化学习工程师/研究员,考察的核心包括以下三点:
下面我们来具体分析一下以上3条标准。
所谓的深度强化学习信仰大概就是指你相信深度强化学习是一条通往AGI的道路。通用人工智能一定是通过神经网络自学习出现的。
这种信仰的感觉大概就像上世纪70-80年代Hinton,Lecun,Bengio等老一辈深度学习先驱相信神经网络才是人工智能的未来一样。信仰大概就是就算这个方向现在很冷,很不work也照样做。现在我们的情况实在是好太多。
但事实上现在还有很多研究机器人的同学是不认可深度强化学习的,因为觉得离现实情况差很远,无法落地。还有更多的人也是因为觉得不好落地就放弃它的。这些都是不认可深度强化学习这个方向的体现。信仰没有对错,只有不同。
想法总是有差异的,也许你的想法是深度强化学习可以变革游戏行业,变革推荐系统,变革机器人,这些都很棒。
对于面试者,你简历上的项目就足够体现了你的信仰值。愿意花多少时间精力在一个事情上是对一个事情热情程度的充分体现。
当然,深度强化学习只是AI的一个分支,还有很多很多的模块去支撑深度强化学习的发展,比如模仿学习Imitation Learning,元学习Meta Learning等等。对这里面的某一块有深入的研究都是非常好的。
参考面试问题:
只有热情肯定是不够的,更重要的是在这个领域已经有了一定的探索,形成了较solid的理论基础。
4.1 广度
paper的阅读量很重要,当然阅读是无止境的,阅读越多,积累越多自然而然对于一个具体的问题,是可以较快的打开思路,给出一些想法的。
以下是一些估计面试者深度强化学习相关知识广度的面试题:
这里并不要求对每一个方向都能知道,但显然知道的越多越好。
4.2 深度
深度则考察面试者在某一个具体方向上的理解和掌握程度。由于目前应用最广的就是PPO和IMPALA了,所以,深度掌握PPO或IMPALA的具体理论和细节是考察的核心之一。如果面试者在某一个方向有深入的研究,有顶会paper,那么会按照paper来考察。与此同时,一般面试官还会考察和神经网络结构相关的问题
参考面试问题:
上面的问题就比较细节了,一般也不要求什么都懂,毕竟没有也不需要懂得所有,但是至少面试者在某一方面展现了对问题理解的深度 。
这个比较直接了,首先是Leetcode,虽然说Leetcode上面的题和真正工程实践上的问题差别很大,但Leetcode是一个标准化的可以体现面试者coding水平的方式,所以被广泛采纳。Leetcode不仅仅考察coding水平,也同时考察面试者短时分析问题的能力。
除此之外,如果面试者有一些DRL项目,那么面试官一般也会根据项目来问问题。项目越多,工程实践能力往往越强,对于前面深度强化学习的一些理论问题自然就很容易回答。比如面试者就从0实现过PPO,那么必然对PPO的细节非常清楚。
总的来说,深度强化学习工程师/研究员的面试要求还是很高的,需要在这个领域有足够的积累才行。但想想成为深度强化学习工程师/研究员之后,就有机会接触到真正的大项目,进行大规模的深度强化学习训练,去培养一堆的智能体,去创造智能,去观察智能的涌现,是不是就会很兴奋呢?
PS:由于作者能力有限,仅是一家之言,每个面试官的喜好都不一样,仅供参考。但相信,如果上面的要求都能满足,一定offer拿到手软。