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

    文章

    1553

    浏览量

    67483
  • AI
    AI
    +关注

    关注

    87

    文章

    26363

    浏览量

    263957
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72880
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

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

    电子工程师天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    FPGA工程师需要具备哪些技能?

    ,需要具备系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、fre
    发表于 11-07 15:36

    #FPGA 本科生也能成为FPGA研发工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年09月23日 08:05:36

    电源工程师常用的几个典型电路分享

    具有电源知识水平的工程师来完成设计和开发。作为一名合格的电源工程师平时工作经验的积累很重要,但同时也应该提高理论水平,通过积累几个常用的电源电路,说不定下次就能用上,还是学习吧!
    发表于 09-20 07:59

    一名硬件工程师都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15

    招labview工程师 (广州)

    招labview工程师1-2,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系统搭建; 熟悉工业常用接口RS232、USB、GPIB、TCP/IP等 薪资情况,待遇可谈。QQ:3549663089有意者请联系本
    发表于 06-08 18:48

    礼赞五一 | 平凡的岗位,不平凡的坚守!致敬每个努力奋斗的电子工程师!

    获奖名单如下:电子工程师高赞礼品第一名:陈旭新第二:郭海聪 第三:陈运华 劳动节盖楼奖郭海聪 郭祥峰
    发表于 04-28 10:08