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

    文章

    4448

    浏览量

    90721
  • 人工智能
    +关注

    关注

    1775

    文章

    43716

    浏览量

    230493
  • 机器学习
    +关注

    关注

    66

    文章

    8095

    浏览量

    130517

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

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

收藏 人收藏

    评论

    相关推荐

    人工智能专业学什么

    专业的学生,你需要学习哪些知识和技能呢?以下是人工智能专业需要学习的主要内容。 1. 计算机科学基础 首先,作为AI专业的学生,你需要掌握
    的头像 发表于 08-17 12:36 817次阅读

    人工智能计算机视觉方向是什么

    人工智能计算机视觉方向是什么 人工智能计算机视觉方向是指利用人工智能技术对图像和视频进行各种分析、解释和操作的过程。
    的头像 发表于 08-15 16:06 1171次阅读

    人工智能涉及哪些专业

    计算机科学与工程是人工智能的核心专业人工智能包括机器学习、计算机视觉、自然语言处理等,所有这些领域都有利用
    的头像 发表于 08-14 15:28 3013次阅读

    人工智能ai需要什么专业

    计算机科学是在人工智能领域中最为重要的专业之一,涉及到各种编程语言、数据结构、算法计算机体系结构。计算
    的头像 发表于 08-13 10:05 1175次阅读

    人工智能都有哪些专业

    人工智能都有哪些专业 人工智能涉及众多领域,学习人工智能需要掌握多个学科的知识,包括计算机科学、数学、电子工程、机器人学、心理学、哲学等等。
    的头像 发表于 08-12 17:27 1179次阅读

    人工智能需要哪些专业

    ,学习AI技能将会为未来的职业发展做出巨大的贡献。那么,人工智能需要哪些专业呢? 计算机科学 首先,计算机科学是人工智能的基础。学习
    的头像 发表于 08-12 17:26 651次阅读

    人工智能包括哪些专业

    人工智能包括哪些专业 人工智能是指通过特定算法和技术使计算机系统实现自身学习和自适应的能力的一种技术。
    的头像 发表于 08-12 17:12 453次阅读

    人工智能专业学什么课程

    人工智能专业学什么课程 人工智能(AI)是一门涉及计算机科学、数学、算法、统计和机器学习的多学科科学。作为一个快速发展的领域,学习
    的头像 发表于 08-12 17:12 703次阅读

    人工智能需要什么专业

    专业来看,这是人工智能领域最基础的学科。自然语言处理、机器学习、深度学习以及大数据处理都是计算机科学的核心知识点,这些知识点是人工智能研究的关键。
    的头像 发表于 08-12 17:12 1629次阅读

    人工智能属于什么专业

    人工智能属于什么专业 人工智能(Artificial Intelligence,AI)是一门涉及多个学科的交叉学科,它既有计算机科学技术的支撑,又涉及到心理学、哲学、数学、统计学、物理
    的头像 发表于 08-12 16:58 789次阅读

    什么是人工智能专业

    什么是人工智能专业 人工智能(Artificial Intelligence,简称AI)是现代计算机科学和工程学领域中的一个重要分支,它致力于开发能够实现
    的头像 发表于 08-12 16:57 852次阅读

    人工智能专业有哪些

    在各个领域的应用也越来越广泛,对人工智能专业的需求也越来越高,下面就详细介绍一下人工智能专业有哪些。 1.计算机科学与技术
    的头像 发表于 08-12 16:29 2353次阅读

    人工智能计算机的区别与联系

    文本、图像、视频等多种形式的信息处理。而人工智能则是一种模拟人类智能的新型技术,它可以完成人类在学习、推理、决策等方面的智能处理和分析。 首先,人工智能
    的头像 发表于 08-09 17:54 3263次阅读

    人工智能计算机的区别

    人工智能计算机都是现代技术领域中重要的概念,是计算机科学和信息技术中的两个重要领域。虽然这两个概念都与计算机有关,但它们之间具有不同的含义、理解和应用。本文将会详细回答
    的头像 发表于 08-09 08:09 1446次阅读
    <b class='flag-5'>人工智能</b>和<b class='flag-5'>计算机</b>的区别

    人工智能计算机的区别

     人工智能计算机都是现代技术领域中重要的概念,是计算机科学和信息技术中的两个重要领域。虽然这两个概念都与计算机有关,但它们之间具有不同的含义、理解和应用。本文将会详细回答
    的头像 发表于 08-06 16:42 6948次阅读