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

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

3天内不再提示

如何成为一名AI工程师?

工程师人生 来源:网络整理 作者:工程师吴畏 2018-08-20 09:34 次阅读

在所有事情开始之前,要把相关的环境设置好。首先你要有OpenCV(对于视觉工程师方向),至少一个深度学习框架(TensorFlow, Kaffe, Keras等,新手推荐用Keras),Ubuntu。还要掌握C++Python, 和基本的机器学习知识。

C++在AI类工作中有怎样的重要性?

C++对于你找AI视觉方向的工作是比较重要的。以下几个工作Title是要求你必须会C++的:

AI Engineer / Computer Vision Engineer / Self-driving Car Engineer / Image Processing Engineer / SLAM Engineer

GPGPU Engineer

而这四类工作Title并不要求你一定会C++:

* Data Scientist(Python, R etc.)

* Deep Learning Scientist

* NLP engineer (Python)

* Machine Learning Engineer (Pyhton, Java

如何准备C++?

C++11中最重要的是Smart pointer,很容易考到。其次还有STL(vector, map etc.) 添加,删除,排序。类也会考察,类里有很多前缀后缀,如const, static, override, virtual,pure virtual等,这些需要清楚地记得。

然后说到刷题,LeetCode上Easy和Medium的题,起码要刷三百道。最好是能一边上现成的算法课,一边用C++刷题练习。

关于用到的资料,向大家推荐一本C++的书:Effective C++。这本书比较薄,三天内就能看完,可以不用看得太细,它对编程风格的讲解是比较值得一看的。比如你可以了解到面对过程的编程风格和面向对象的编程风格。

最后给大家推荐一个YouTube播主:Cppnuts。他把C++的每个知识点总结成三到五分钟的视频,讲得很不错,大家可以关注。

找AI视觉方向的工作,你需要哪些必要的图像知识?

特征点: Harris角点检测,SIFT,SURFORB。例如,面试官可能会问你:在SLAM系统中,我们为什么要用ORB,而不用SIFT和SURF?答案是因为ORB比SIFT和SURF快,并且精度也不错。

描述子和匹配,FLANN算法

相机模型:相机内参,外参数,相机标定。这部分其实是3D的概念,是视觉中的一大块,但不需要了解得太深,现在这个领域绝大部分还是基于深度学习,只需这些基本的概念了解清楚。

基本的大块概念:图像配准,运动检测,光流算法等。

OpenCV:很重要,任何一个关于图像的工程师职位都对OpenCV有要求。Mat基本操作遍历必须会,其他的东西可以根据算法推演。

CUDA:这是找工作过程中非常容易赢得优势的一门技术。任何一个项目如果你说你用了CUDA,并解释得清除完整,会让面试官刮目相看。虽然CUDA有优势但学起来并不容易,内容比较多。

你需要哪些深度学习的知识积累?

至少熟悉一种框架:如Caffe,Tensorflow,Pytorch,MXNet等。推荐TensorFlow和Keras。Keras适合新手,比较简单,并且和TensorFlow是一样的。对于TensorFlow,推荐《TensoFlow实战》这本书。

至少一次Kaggle项目的经历:Kaggle项目的名次最好在15%以内,这样只需写一个。如果没有名次,就可以多写几个项目。写在简历上的项目要突出两点:第一,你把模型重新训练了一遍。第二,你Ensemble了Multiple models。 Dogs and Cats的获奖感言中讲了一些他做Kaggle的经历,推荐大家去看,可以借鉴他的话用在面试中。历届冠军说的一些感言有很多是十分有用的。

对于这些模型,能够迅速说出其优点:GoogleNet V12345, VGG, ResNet, MobileNet, AlexNet。

模型选择方面:了解Fine tune,参数训练的技巧(如何设定初值,如何调参等)

各种面试的小问题:如你平时喜欢用什么Optimizer?为什么神经网络越深越好?为什么网络要Thin呢?Gradient Vanish造成的原因?为什么会造成Overfitting?怎样克服Overfitting?你怎么看Overfitting?Batch Normalization是什么?还有Range of each hyper parameter,SVM和分类算法的对比,数据集大小和切割等。

关于面试准备过程中的Tips

不要想着准备好了再面试。其实”准备好“是一个难以界定的概念,也许你永远都达不到所谓的“准备好”的状态,等你准备好时很多职位都没有了,会错失很多机会。

多面试,才知道职位究竟需要什么技能。AI的职位不像软件工程师职位那样有相对固定的需要准备的知识点,医疗方向有医疗方向需要准备的东西,无人机有无人机需要准备的东西。多面试才能知道这个职位到底需要什么技能。但是不要一开始就面大公司,可以从一些小公司练手,积攒经验后再面大公司,并且大公司尽量找内推。

通过面试失败总结经验,建立一个自己的Cheatsheet。当你准备去面试一个陌生的领域,通过把每次面试的经验写在Cheatsheet上,你就会逐渐知道面试官需要什么样的项目,你要如何润色自己的项目。

如果拿不到面试可以尝试投国内公司练手。投国内的公司可能拿到面试的机会更大一些,通过这些面试一样可以积攒经验。国内公司可能对算法方面没那么严苛,但其他方面可以对你有很大的指导性,并且问的问题很实际,很接地气。

面试中可能会面对哪些失败?

回复很少:有时候你可能没有把简历写到Recruiter能看懂的程度。如果你简历写得不够直白,Recruiter没看懂,他可能就pass了你的简历。我们要把项目中最重要的关键词突出出来,并且可能需要写一个general的cover letter,让Recruiter了解你。我们自己也可以去LinkedIn加Recruiter,越多越好,可以直接把简历发给他,增加Recruiter回复的概率。

公司其实并不招人:有时候公司把招聘信息发布在网上,但其实他并不想招人,他就是要招不到人,才能给自己公司里的人办H1b。这个时候面试官可能会出特别难的题,这种情况大家需要理性识别,不要一次遇到太难的面试就怀疑自己,从而丧失信心。

代码没时间准备:这其实是最不应该出现的问题。代码在AI工程师求职中是很重要的。每个公司至少有两轮代码的面试,Online或者白板面试。大家一定要勤刷题。

项目不够吸引人:打造一些实习经历,实习是最重要的,有了实习对找全职是非常有帮助的。

心态已崩:找工作的难度大,但很多时候多坚持一会就能找到工作了。你要知道,如果你是MS最终做了AI,你已经为自己省了两到三年转行的时间。

现在AI有这些比较热门的方向

自动驾驶、医疗诊断、推荐nlp、聊天机器人、视觉导航、金融、视觉机器人、VR / AR、监控等。

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

    关注

    59

    文章

    1565

    浏览量

    68401
  • AI
    AI
    +关注

    关注

    87

    文章

    29780

    浏览量

    268054
  • C++
    C++
    +关注

    关注

    21

    文章

    2098

    浏览量

    73452
收藏 人收藏

    评论

    相关推荐

    Tenstorrent与日本合作:五年内培训200日本芯片工程师

    美国人工智能(AI)芯片初创公司Tenstorrent近日宣布,已与日本政府达成了项重要协议。根据该协议,Tenstorrent将在未来五年内,于其美国办事处为多达200日本芯片工程师
    的头像 发表于 11-06 14:30 240次阅读

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们起探讨
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 672次阅读

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之成为一名嵌入式C语言高手
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之成为一名嵌入式C语言高手
    发表于 03-25 14:12

    单片机如何通过代码控制硬件:一名工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1345次阅读
    单片机如何通过代码控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程师</b>的分享

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    就带大家细数下优秀电源工程师具备的那些技能。、新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科
    发表于 01-29 11:29

    优秀电源工程师的必备技能大揭秘!

    就带大家细数下优秀电源工程师具备的那些技能。新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握
    的头像 发表于 12-19 08:23 1650次阅读
    优秀电源<b class='flag-5'>工程师</b>的必备技能大揭秘!

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01