谷歌大脑小姐姐亲授:如何拿下AI工程师岗位\n

本文探讨了在人工智能安全领域,软件工程师和机器学习工程师如何转型。介绍了AI安全研究小组的招聘需求,以及如何通过学习机器学习技能来满足这些需求。文章提供了学习资源和案例研究,帮助工程师们为AI安全领域的职位做好准备。

AI前线导读: 技术人工智能安全是一个有多方面内容的研究领域,在诸如[奖励学习、鲁棒性和可解释性等方面有许多子问题。为了确保随着系统变得越来越强大,人工智能的发展能够继续造福人类,这些子问题都需要得到解决。但并非所有这些问题都可以通过抽象的数学研究来解决。有些问题可以通过具体的编码实验和机器学习原型来处理。因此,一些AI安全研究小组正在招聘越来越多的软件工程师和机器学习研究工程师。此外,一些研究小组可能并不是直接负责“人工智能安全”问题,但他们致力于研究相关问题,例如验证神经网络或从用户反馈中学习,他们也需要招聘工程师。

更多干货内容请关注微信公众号“AI前线”(ID:ai-front)

这些职位的必备要求是什么?

软件工程:AI安全团队中的一些工程师岗位并不要求机器学习经验。如果你具备以下条件,可能就申请这些职位了:

  • 计算机科学或其他技术领域的理科学士或工科学士学位(或类似的经验)

  • 丰富的软件工程知识(可以通过谷歌软件工程的面试)

  • 对人工智能安全领域的工作感兴趣

  • (通常要求)愿意搬到伦敦或旧金山湾区

如果你是一个对这些岗位感兴趣的软件工程师,那么可能不需要任何额外的准备,可以直接申请这些职位。

机器学习工程和研究工程:一些岗位要求候选人具备实现和调试机器学习算法的经验。如果你还没有机器学习经验,只要你愿意花几个月时间学习,就可以快速掌握必要的技能。在决定这样做之前,你应该确认自己符合以下条件:

  • 计算机科学或其他技术领域的理科学士或工科学士学位(或类似的经验)

  • 丰富的软件工程知识(可以通过谷歌软件工程的面试)

  • 对人工智能安全领域的工作感兴趣

  • (通常要求)愿意搬到伦敦或旧金山湾区

没有经验,如何学习ML工程技术?

初步调研

机器学习算法的实现和调试不同于传统的软件工程。以下文章可以帮助你了解自己是否喜欢这种重复性的工作:

机器学习基础

如果你完全没有机器学习方面的经验,那就从熟悉基础知识开始吧。如果你已经有了一些经验,但最近又没有完成实际的机器学习项目,那么熟悉最新的工具(TensorFlow、配备GPU的虚拟机,等等)可能会是个好主意。

如果你已经有全职工作或者其他事情在做,那么确实很难找到时间自学,但这并非不可能。这里有几个建议:

可以考虑每周花上几个小时上网课。我们推荐这两门网络课程:

如果你从事全职软件工程工作,那么完全可以在工作的同时学习机器学习基础知识:

  • 如果你在一家大型科技公司工作,可以利用内部培训,包括全职的机器学习轮岗计划。

  • 问问你的经理是否可以把机器学习融入你目前的工作:例如,花20%的时间学习机器学习,看看它是否可以改进你所在的项目。

对于简单的机器学习问题,笔记本电脑上的CPU就足够用了。但对于较复杂的问题,就有必要购买GPU或租用一些云GPU。你可以通过免费试用教育用途 或者通过初创公司的朋友获得一些云计算设备的使用机会。

了解机器学习的实现和调试,并与你想加入的团队的人聊天

在了解了机器学习的基础知识后,接下来要学习的是如何实现和调试机器学习算法。(从其他人的经验来看,我们估计至少需要200个小时的全身心投入。如果你基础更差,可能需要更多的时间。)

经验的广度在这里并不重要:你不需要阅读所有的最新论文,或者读完阅读清单提到的所有东西。你也不需要做新研究或者想出新算法。在这个阶段,你也不需要关注安全问题。实际上,只关注那些比较重要的成熟机器学习算法对你的学习来说会更有好处。

你需要做的是实践,亲自实现和调试机器学习算法,为工作面试提供有力的证据,证明你在这方面有丰富的经验。

我强烈建议你在这个阶段与你感兴趣的团队人多互动。给他们发电子邮件,详细说明你打算花多少时间去学习些什么,让他们给你反馈。团队的管理者或许会建议你应该使用哪些资源,帮你避免在与应聘岗位不相干的技能上浪费时间。

获得这种经验最直接的方法是选择一个你感兴趣的机器学习子领域。然后阅读该领域的关键论文,并重新实现这些论文提及的或引用最多的一些基本算法。潜在的子领域以下:

  • 深度强化学习

  • 防御对抗样本

  • 神经网络的验证和鲁棒性证明

  • 可解释性和可视化

如果不清楚该如何开始——例如,如果你没有获取GPU的渠道,或者不知道该如何编写TensorFlow——上面的基础部分中提到的许多资源都可以给你提供有用的提示。

如果你在这个阶段需要辞掉工作才能腾出时间学习,但又没有足够的经济基础来自给自足,那么当EA奖学金再次开放申请的时候去申请吧——他们愿意为这种职业过渡提供资助。

案例研究:Daniel Ziegler的机器学习自学经验

2018年1月,Daniel已经具备了牢固的软件工程基础,但只掌握了基本的机器学习知识。他想以研究工程师的身份加入AI安全团队,因此他与Dario Amodei(OpenAI安全团队负责人)进行了交谈。根据Dario的建议,Daniel和室友一起花了大约六个星期的时间投入深度强化学习。他还花了一点时间复习基础的机器学习知识,并尝试图像和文本的监督学习。在随后的面试中,Daniel成功加入了安全团队,成为一名机器学习工程师。

Daniel和他的室友以Josh Achiam的深度强化学习关键论文列表作为指导。他们读完了清单中提到的约20至30篇论文,花1个半小时独立阅读,然后用半个小时讨论论文内容。

更重要的是,他们使用TensorFlow实现了大量关键算法:

  • Q-learning:DQN及其扩展,包括Prioritized Replay网络和DDQN

  • 策略梯度:A2C、PPO、DDPG

他们借助OpenAI Gym尝试应用这些算法,从简单的“Cartpole-v0”到Atari游戏(如“Breakout-v4”)。

他们在每个算法上花费2到10天时间(同时运行实验),具体取决于他们想要的深度。对于一些算法,他们只想得到一个可运行的实现。而对于PPO算法,他们尝试修复bug,并且通过调整一些东西,能够接近OpenAI 给出的基准实现。

对于每个算法,他们先在非常简单的环境下测试,然后移到更难的环境中。注意,有些环境对于一种算法来说可能是简单的,但对于另一种算法来说并不简单:例如,尽管Cartpole的环境非常简单,但它的时间线很长,这对于某些算法来说很具挑战性。

在算法某些部分能够运行之后,他们可以通过仔细检查代码并收集测量结果(如平均策略熵)来找出bug,从而获得更高的性能,而不仅仅是调整超参数。最后,当他们希望算法能够达到Baseline的性能时,他们会仔细查看Baseline的实现,来了解更小的重要细节,例如如何准确地预处理和正规化观察。

六周后,Daniel能够流利地谈论强化学习中的关键思想以及不同算法之间的利弊。最重要的是,他能够实现和调试机器学习算法,从读懂论文中的数学到亲手运行代码。回想起来,Daniel希望他当初能在机器学习概念和数学基础上再多花点时间,但其实整个过程已经让Daniel为面试和应聘工作做好了准备。

现在开始申请工作

下面是AI安全研究团队的软件工程师岗位的招聘示例,这些岗位不需要机器学习经验:

  • OpenAI的安全团队目前正在招聘一名软件工程师, 工作内容包括设计人机混合的AI训练界面以及为更大的语言模型收集数据。

  • MIRI正在招聘软件工程师

  • Ought正在招聘研究工程师, 重点关注对函数式编程、编译器、程序分析和相关主题感兴趣的候选人。

下面的招聘岗位需要具备机器学习经验:

  • DeepMind正在为其技术AGI安全团队、安全和鲁棒人工智能团队(致力于神经网络验证和鲁棒性)以及潜在的其他岗位招聘研究工程师

  • 谷歌AI正在全球范围内招聘研究软件工程师。 虽然谷歌AI没有“AI安全”团队,但主要研究方向为鲁棒性、安全性、可解释性,以及从用户反馈中学习。

  • OpenAI的安全团队正在招聘机器学习工程师来研究价值对齐和可解释性。

  • 伯克利大学Human Compatible AI中心正在招聘机器学习研究工程师, 为期1到2年的访问学者职位,工作内容为在深度强化学习系统上测试价值对齐想法。

当你向一个有多个研究领域的大型企业提出申请时,在你的申请中需要指出你最感兴趣的是哪个领域。要提前调查公司的研究领域,以确保你列出的领域是公司所研究的领域。例如,如果一个公司没有研究人员在进行“价值对齐”研究,那么就不要在申请中写“价值对齐”。

如果你现在无法得到一个安全研究领域的工作,可以先找一份能让你获得相关经验的工作,然后过渡到安全研究的职位。

其他企业AI实验室也提供与安全无关的研究工程职位,尽管这些职位可能比AGI安全团队的角色更有竞争力。

最后,你可以考虑申请谷歌OpenAIFacebookUber微软的1年奖学金项目。

查看英文原文:
https://80000hours.org/articles/ml-engineering-career-transition-guide/

会议推荐:


12月20-21, AICon将于北京开幕,在这里可以学习来自Google、微软、BAT、360、京东、美团等40+AI落地案例,与国内外一线技术大咖面对面交流。

内容概要:本文研究了一种面向全速域永磁同步电机(PMSM)的无传感器复合控制策略,提出并实现了基于高频信号注入与自适应滑模观测器(SMO)的加权融合架构,通过Simulink进行全面的仿真实验验证。该策略旨在解决传统无传感器控制在全速域内性能不均的问题,尤其针对零低速区反电动势微弱难以观测的瓶颈,创新性地采用脉振方波高频注入法实现高精度转子初始定位;在中高速区,则引入模糊超螺旋滑模观测器,有效抑制抖振并提升系统对参数摄动和外部干扰的鲁棒性;最关键的是,在高低速切换的过渡区域,设计了动态加权平滑切换机制与相位同步校正算法,通过对两种观测器输出的位置和速度信号进行智能加权融合,从根本上消除了切换瞬间的电流与转矩冲击,保证了全速域内控制的连续性与平稳性。全文系统阐述了从系统架构设计、核心算法推导到切换逻辑实现的全过程,并通过多维度仿真对比,充分论证了该融合方案在全速范围内实现高精度、强鲁棒、无感控制的优越有效性。; 适合人群:具备扎实的电机控制理论、现代控制理论基础以及熟练的MATLAB/Simulink仿真技能,且正在从事电气自动化、新能源汽车驱动、工业伺服系统或机器人关节控制等领域的研发工程师与科研人员。; 使用场景及目标:①攻克永磁同步电机在零低速启动和全速域运行下的无位置传感器控制技术难题;②深入学习并掌握高频信号注入法、滑模观测器(特别是超螺旋滑模)的工作原理、数学模型构建与Simulink实现技巧;③研究并实践多观测器异构融合、动态加权切换、相位补偿等先进系统集成技术,以提升复杂控制系统在不同工况下的稳定性和平滑过渡能力。; 阅读建议:此资源以Simulink仿真实现为核心载体,深度融合了理论分析与工程实践。建议读者严格按照目录结构循序渐进地学习,重点剖析不同速度区间所采用的差异化控制策略的设计思想,深刻理解模糊超螺旋SMO的抗抖振机理,并特别关注动态加权切换模块的实现细节与相位校正算法的数学依据。务必动手运行、调试和修改所提供的仿真模型,通过改变参数、观察波形来验证理论,从而真正掌握这一复合控制架构的精髓。
内容概要:该文档提出了一种基于融合鱼鹰和柯西变异的麻雀优化算法(OCSSA)优化变分模态分解(VMD)参数,并结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)的轴承故障诊断模型。该方法首先利用OCSSA算法优化VMD的分解层数和惩罚因子,通过引入鱼鹰搜索机制与柯西变异策略增强全局寻优能力,避免陷入局部最优,从而获得更精确、稳定的固有模态函数(IMF)分量,实现对轴承振动信号的有效特征提取;随后,将分解后的时间序列输入CNN-BiLSTM深度学习模型,利用CNN强大的局部特征提取能力与BiLSTM优异的双向时序建模能力,完成对故障特征的深层抽象与分类识别,最终实现对轴承不同类型与不同程度故障的高精度智能诊断。研究采用美国凯斯西储大学(CWRU)公开的轴承数据集进行实验验证,结果表明,所提OCSSA-VMD-CNN-BiLSTM模型在诊断准确率、收敛速度和抗噪鲁棒性方面均显著优于传统VMD参数设定方法及其他主流智能诊断模型,尤其在强噪声背景下仍能保持稳定性能,展现出卓越的工程应用潜力。; 适合人群:具备一定信号处理、机器学习及优化算法基础,从事机械故障诊断、工业大数据分析、智能运维或状态监测相关研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统VMD算法依赖人工经验设定关键参数导致分解效果不稳定的问题,实现分解参数的自适应智能优化;②提升复杂工况、强噪声干扰下轴承早期微弱故障信号的识别准确率与模型泛化能力;③为工业设备预测性维护与智能诊断系统提供一种高精度、强鲁棒性、端到端的技术解决方案。; 阅读建议:此资源以Matlab代码实现为核心,建议读者结合文中详细的算法流程图与代码逐模块分析,重点关注OCSSA的优化机制设计、VMD参数优化过程中的适应度函数构建、信号分解效果可视化以及CNN-BiLSTM网络的结构设计与训练细节,通过复现完整实验流程,深入理解多模型融合诊断策略的设计思想与技术优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值