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,SURF,ORB。例如,面试官可能会问你:在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

    文章

    1600

    浏览量

    70664
  • AI
    AI
    +关注

    关注

    90

    文章

    38225

    浏览量

    297075
  • C++
    C++
    +关注

    关注

    22

    文章

    2122

    浏览量

    76719
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    招镶入式工程师1个,硬件工程师个,

    东莞市研生科技有限公司是家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及智能IC读卡器有三年实操经验,能单独完成项目
    发表于 08-29 02:14

    作为一名PCB质检工程师,我为什么在用手持式面铜测试仪?

    在PCB行业,铜厚直是决定阻抗、散热与可靠性的关键指标。过去,工程师把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程师,如今,我更愿意把“实验室”揣进口袋——手持式面铜
    发表于 08-11 11:59

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    如何成为一名合格的KaihongOS南向驱动开发工程师

    如何成为一名合格的南向驱动开发工程师 1. 我需要具备哪些方面的知识? KaihongOS南向适配的方向分为:驱动开发、内核开发。根据适配方向划分,需要掌握的知识技能分别为: 驱动开发
    发表于 04-23 08:02

    如何成为一名合格的KaihongOS北向应用开发工程师

    如何成为一名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是
    发表于 04-23 06:46

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    如何成为嵌入式开发工程师

    ,参加相关的研讨会和培训课程,阅读专业书籍和论文。 9. 认证和网络:- 考虑获取相关认证,这可以增加你的市场竞争力。- 加入专业组织和在线社区,扩展你的人际网络。 通过上述步骤的学习和实践,你可以逐步成长为一名合格的嵌入式开发工程师。记住,实际动手做项目和解决实际问题是
    发表于 02-19 10:39

    月薪 3 万的嵌入式工程师都在用,串口屏到底神在哪?

    作为一名资深的嵌入式工程师,我深知在选择硬件组件时,性能、可靠性、易用性和成本效益都是至关重要的考量因素。月薪3万的嵌入式工程师们之所以倾向于使用串口屏,主要是基于以下几个方面的考量
    的头像 发表于 02-12 10:33 966次阅读
    月薪 3 万的嵌入式<b class='flag-5'>工程师</b>都在用,串口屏到底神在哪?

    如何成为一名合格的南向驱动开发工程师

    内核开发 - c,cmake,dts, linux常用命令 以上,如能对某模块的南向适配研究透彻,自行调通,积极解决问题。那么对一名kaihongOS的南向驱动开发工程师而言,他便是合格的,若
    发表于 01-10 10:06

    如何成为一名合格的北向应用开发工程师

    在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发工程师
    发表于 01-10 10:00

    为什么嵌入式驱动开发工程师可以拿高薪?

    技术领域具有不可替代的地位。 成为一名优秀的嵌入式驱动工程师只需要深耕以下几点: 1)坚实的技术基础: 首先,需要有坚实的基础,包括计算机组成原理、微处理器与微控制器架构以及电路设计与硬件接口知识
    发表于 01-07 16:56