0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

非计算机专业如何转行人工智能,并找到算法offer?

电子工程师 来源:lq 2018-12-27 10:13 次阅读

目前,各行业都在尝试着用机器学习/深度学习来解决自身行业的需求。在这个过程中,最为稀缺的也是高质量人工智能人才。 这一年我们见证了不断有非计算机专业学生转行人工智能的现象,每个想转行人工智能算法岗的同学或多或少都有着类似的原因:人工智能领域的火热需求和高于其他行业的薪资水准。那么,非计算机专业如何转行人工智能,并找到算法 offer?

以下为作者 Nick-Atom 在知乎上的回答,希望对你有所启发:

作为转专业算法党,分享些经验吧。开门见山,转专业和本专业没什么区别,该学的还得学,只有学的好与差的区别。好处是,只要你想学(并且英文好),超一流的学习资料满天飞。

首先说几个非常非常非常重要的原则(我认为这几个原则要比具体的方法论重要):

1、算法工程师也是软件工程师,编程基础要求很高(只是在架构和系统这块不做高要求)

基本上,你要花三分之一的时间处理数据,三分之一的时间修改线下线上代码以适配你的算法,三分之一的时间调试模型。

前两者都需要进行大量的代码阅读和自己 coding。

指望跑跑模型,调调参数不需要码代码是不可能的,除非你面的是科学家岗,但转行的科学家岗基本不现实吧。

2、80% 的算法优化来自与对业务架构的理解

这一点有点反直觉了。

很多人以为算法工程师的工作就是把从论文和公开课里学到的 fancy 的算法用到业务里。这个基本上就是大错特错了。首先,绝大多数的先进算法只是相对于 baseline 算法有了一点点小的提升,这对于做科研是有意义的,毕竟积少成多。但是在工程中,这些算法的性价比是极低的,收益不大,却要大幅度调整系统,增加系统复杂度,得不偿失。

所以除非是非常颠覆性的想法,大幅度提升性能,像是 DNN,ResNet,Word2Vec,Bert,Seq2Seq 这样的模型算法,才会在业界广泛的应用。

那么更多时候,算法工程师的工作是结合业务,用上述提到的这些基本的模型去优化业务流。比如,在广告领域,原来要求完全匹配用户的搜索词,我可不可以用 Seq2Seq 模型改写出几个类似的搜索词?或者,原来都是 Counting Feature,我可不可以用 DNN Embedding 来做一些离散 Feature?

换句话说,模型都是最基本的模型,但是怎么结合业务,选对模型,用对地方,才是真正考验算法工程师能力的地方。而要充分理解业务架构,并且能够在复杂的业务代码中自由的翱翔,你的工程能力一定不能差。

3、优秀的算法工程师都有很好的科研 sense

我个人觉得这一点被很多人忽略了。但其实这个非常重要。算法工程师和后台/架构工程师的一个很大区别在于算法工程师还是有一定的研究性质的。换句话说,无论是上线一个业务还是开发一个中间件,后台工程师要解决的问题比较明确(你不做还有产品***你做~~),结果也比较好度量(能不能用,性能如何)。

但算法工程师需要自己去找可以优化的地方,且结果往往难以预测,有些工作的结果甚至难以可靠度量。这就需要你有好的科研 sense,能够发现值得解决且能够解决问题,设计合适的解决问题的方案及科学的结果度量方法,充分的实验和论证,最后可靠的上线。

简而言之,你要自己找活干,找对活是成功的 80%,活没找对半年一年没成果的时候压力也是很大的。

除此之外,其他能力还包括:

1、英文

这个不用多说了。读论文看视频是少不了的,英文不行的话真的是,很累。

2、数学和机器学习理论

这一点我和一些高票意见不太一致,我觉得如果你理论能力很强,当然是锦上添花的事。但这不是必须的。能讲清楚 LR 和 DNN,会推反向传播和交叉熵,有一些项目经验(对项目中用到的算法有深刻的理解),对于入门级算法工程师来说足够了。对于比较资深的算法工程师,也不要求对每个算法都理解的深刻,项目经验丰富些,基础扎实也够了。

毕竟学习几个新算法,对于编程和算法基础扎实的同学来讲,实在是最轻松的事了。

理解了上述这几点,准备起来自然也比较简单了。

1、扎实的编程基础

C++/Java + Python + 算法数据结构。老三样跑不掉的,而且要求只会高不会低。手写算法练起来吧。

2、机器学习基础

不要求多求深,去试图掌握一些很 fancy 的算法和模型。好好去理解最基础的 LR/CNN/DNN, 理解正则化,交叉熵,反向传播,normalization 等等等等这些最基础的概念,一定要理解的透彻。最好就是把这几个模型自己实现一遍,尤其是 BP.3,工程能力和项目经验接触过大型的工程项目,无论是开发还是算法,都是非常重要的经验。工程能力确实会让你空有想法,难以发挥,戴着镣铐跳舞。如果实在没什么项目经验,可以考虑做一些比赛。但比赛用到的环境实在是太理想化了,导致价值实在有限,基本上我们找新人是不看比赛的(除非大赛成绩特别好)。总结来说,大型项目的工程经验(哪怕与算法无关)也要好于比赛经验。

3、论文

一流论文大杀四方,灌水论文没什么价值,发论文是实习生的工作,full-time 是要给公司赚钱的,不要心存侥幸,大清已经亡了。如果没有什么厉害的成果,而你又志在 industry,不要浪费时间灌水了,好好准备面试。

4、聪明 or 优秀的科研 sense

这一点其实非常非常重要,只是大家的考察方法五花八门,实在难以总结。在我司,不聪明是我们拒人的第二理由。仅次于编程基础差。至于什么样的人算聪明的话见仁见智,我个人的话,数学好的人特别是概率,或者是讲项目的时候能够感受到非常好的科研 sense 的人,我会觉得是聪明的人。

最后几句话送给转行的各位,既然认定了要走工程师这条路(不论算法还是工程),就一定要拿自己和专业的人去比较,付出更多的努力去赶超。不要奢望这个行业有什么不需要计算机基础的特别适合转行的同学的神奇岗位,真正好的岗位,你的竞争对手就是计算机专业同学,评价的指标也就是计算机专业指标,你的专业所学基本不做考量,不要心存侥幸,好好加油吧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4622

    浏览量

    93057
  • 人工智能
    +关注

    关注

    1792

    文章

    47425

    浏览量

    238960
  • 机器学习
    +关注

    关注

    66

    文章

    8425

    浏览量

    132770

原文标题:非计算机专业如何转行AI,找到算法offer?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    哪些专业适合学习嵌入式开发?

    市场的80%以上,那什么专业能够轻松转行呢? 1)计算机科学与技术:作为基础学科,计算机科学与技术专业提供了编程、
    发表于 01-03 13:44

    嵌入式和人工智能究竟是什么关系?

    领域,如工业控制、智能家居、医疗设备等。 人工智能计算机科学的一个分支,它研究如何使计算机具备像人类一样思考、学习、推理和决策的能力。人工智能
    发表于 11-14 16:39

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    ,无疑为读者铺设了一条探索人工智能(AI)如何深刻影响推动科学创新的道路。在阅读这一章后,我深刻感受到了人工智能技术在科学领域的广泛应用潜力以及其带来的革命性变化,以下是我个人的学习心得: 1.
    发表于 10-14 09:12

    risc-v在人工智能图像处理应用前景分析

    和使用该技术,无需支付专利费或使用费。这大大降低了人工智能图像处理技术的研发成本,吸引了大量的开发者、企业和研究机构参与其生态建设。 灵活性则体现在RISC-V可以根据不同的应用场景进行定制和优化,从而
    发表于 09-28 11:00

    FPGA在人工智能中的应用有哪些?

    定制化的硬件设计,提高了硬件的灵活性和适应性。 综上所述,FPGA在人工智能领域的应用前景广阔,不仅可以用于深度学习的加速和云计算的加速,还可以针对特定应用场景进行定制化计算,为人工智能
    发表于 07-29 17:05

    计算机视觉技术的AI算法模型

    计算机视觉技术作为人工智能领域的一个重要分支,旨在使计算机能够像人类一样理解和解释图像及视频中的信息。为了实现这一目标,计算机视觉技术依赖于多种先进的AI
    的头像 发表于 07-24 12:46 943次阅读

    人工智能计算机视觉

    人工智能教学资料。
    发表于 07-18 11:31 0次下载

    计算机视觉与人工智能的关系是什么

    引言 计算机视觉是一门研究如何使计算机能够理解和解释视觉信息的学科。它涉及到图像处理、模式识别、机器学习等多个领域的知识。人工智能则是研究如何使计算机具有
    的头像 发表于 07-09 09:25 686次阅读

    计算机视觉与智能感知是干嘛的

    引言 计算机视觉(Computer Vision)是一门研究如何使计算机能够理解和解释视觉信息的学科。它涉及到图像处理、模式识别、机器学习等多个领域,是人工智能的重要组成部分。智能
    的头像 发表于 07-09 09:23 969次阅读

    计算机视觉在人工智能领域有哪些主要应用?

    计算机视觉是人工智能领域的一个重要分支,它主要研究如何让计算机能够像人类一样理解和处理图像和视频数据。计算机视觉技术在许多领域都有广泛的应用,以下是一些主要的应用领域: 图像识别与分类
    的头像 发表于 07-09 09:14 1462次阅读

    计算机视觉属于人工智能

    属于,计算机视觉是人工智能领域的一个重要分支。 引言 计算机视觉是一门研究如何使计算机具有视觉能力的学科,它涉及到图像处理、模式识别、机器学习等多个领域。
    的头像 发表于 07-09 09:11 1345次阅读

    计算机视觉的主要研究方向

    计算机视觉(Computer Vision, CV)作为人工智能领域的一个重要分支,致力于使计算机能够像人眼一样理解和解释图像和视频中的信息。随着深度学习、大数据等技术的快速发展,计算机
    的头像 发表于 06-06 17:17 1004次阅读

    机器学习怎么进入人工智能

    人工智能(Artificial Intelligence,AI)是一门涉及计算机、工程、数学、哲学和认知科学等多个领域的交叉学科,旨在构建智能计算机系统,使之能够自主感知、理解、学习
    的头像 发表于 04-04 08:41 345次阅读

    【量子计算机重构未来 | 阅读体验】第二章关键知识点

    得出结论所需的时间。Grover算法则在结构化检索上有突出的效率。作者同样提到了量子计算人工智能的梯度下降以及矩阵求逆运算上,也能提高效率,但并未深入描述原理。 作者提到了目前量子
    发表于 03-06 23:17

    计算机视觉的十大算法

    随着科技的不断发展,计算机视觉领域也取得了长足的进步。本文将介绍计算机视觉领域的十大算法,包括它们的基本原理、应用场景和优缺点。这些算法在图像处理、目标检测、人脸识别等领域有着广泛的应
    的头像 发表于 02-19 13:26 1267次阅读
    <b class='flag-5'>计算机</b>视觉的十大<b class='flag-5'>算法</b>