首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >非CS背景,我是如何成为AI工程师的?

非CS背景,我是如何成为AI工程师的?

作者头像
企鹅号小编
发布2018-01-02 18:06:01
1.6K0
发布2018-01-02 18:06:01
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

根据北美Offer故事系列直播整理而成,回看视频

http://t.cn/RTvWcyg

人物介绍

小C,BitTiger DS502 AI直通车学员,刚入职一家医疗图像研究所,职位Computer Vision Engineer。EE本科,EE研究生。

主要内容

AI工程师学习准备过程:(C++;图像知识;深度学习知识;简历内容)

AI工程师求职面试经验总结

大家好,今天跟大家分享一下自己在AI方向求职的经验,希望能够帮助大家少走弯路尽早收获offer。我在整个求职准备过程中,要求自己尽量在3天内完成每个小目标,因为求职准备时间宝贵,整个求职周期也非常长,所以需要保持一个高效快速的节奏。

学习准备的干货内容

在所有工作开始之前,首先要做的是把自己AI方向的环境设置好,包括以下几方面:

OpenCV

DL framework(Tensorflow,Keras,Caffe,MxNet)

Ubantu

C++

Python

Machine Learning Basics

关于C++的准备

必须会C++的AI工作

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

不一定需要C++的工作

Data Scientist / Deep Learning Scientist / NLP engineer / Machine Learning Engineer(这里指的AI工作主要在视觉方面,不含NLP和推荐系统)

重要的C++基础知识

C++11:Smart pointer最重要, 其中shared_ptr,unique_ptr非常容易考到。

STL:容器需要好好掌握,容器的添加,删除,排序等,需要掌握Vector和Map。

类:有很多前缀,后缀,比如const, static,override,virtual,pure virtual,这些我们要记清楚。

向大家推荐一本关于C++的书《Effective C++》,里面会有面向对象或面向过程等不同的编程风格学习,这本书比较薄,非常适合面试准备过程中看。另外大家也可以在Youtube上找一些短视频进行观看学习。

对于Leetcode刷题,大家可以根据自己的时间合理安排,Easy和Medium难度的题最好可以刷300道以上。如果用C++刷题,有机会跟着现成的算法课或者视频课刷题是非常高效快速的。

关于必要图像知识的积累

需要知道的基本知识有:

特征点

Harris角点检测

SIFT

SURF

ORB(比如面试题:在SLAM系统中为什么用ORB,而不用SIFT和SURF?)

描述子和匹配,FLANN算法

相机模型

相机内参,外参数

相机标定(Vision Reconstruction)

基本的大块概念

图像配准,运动检测,光流等

OpenCV:非常重要,面试任何一个关于图像工程师的职位必需。

Mat基本操作遍历必须会

其他东西可以根据算法推演

CUDA

非常容易赢得图像方向面试的优势,使用CUDA并可以解释清楚会令面试官对你刮目相看。

关于深度学习知识的积累

至少熟悉一种框架

Caffe,Tensorflow,Pytorch,MXNet等

推荐Tensorflow + Keras

至少一次Kaggle项目的经历

如果有名次(15%)简历上写一个就可以,如果没有名次可以多写几个

Ensemble multiple models,数据科学家非常欣赏可以组合不同model。关于Model,起码用一句话可以迅速说出各自的优点:

GoogleNet V12345

VGG

ResNet

MobileNet

AlexNet

模型选择

Fine tune

参数训练技巧:如何设置初值,如何调参

下面列举些面试官经常问的小问题,大家可以思考:

平常喜欢用什么Optimizer?

为什么神经网络越深越好?

为什么需要网络thin呢?

Gradient Vanish造成的原因是什么?

为什么会造成Overfitting,怎么克服Overfitting?

如果面试谈到Batch Normalization,面试官会问它是什么

Range of each hyper parameter?

一些普通机器学习的小知识,比如把SVM与分类算法做对比,SVM优势在哪?

数据集大小和切割是最经常问的问题,要对自己的项目非常熟悉。

关于简历重要tips

Ensemble过很多不同的model

Transfer Learning

手撕过整个网络各种层以及反向传播

Kaggle Project

有实习经验,不局限于深度学习,有图像方面或软件方面的经验也非常好。

求职面试的经验总结

在面试过程前两分钟,先细心观察面试官是什么样子的人,从言行举止方面与面试官及公司文化的契合。

不要想等准备好再面试,机会不等人,很多时候等我们准备好职位已经没有了,可以从小公司开始练手,大公司找人推荐。如果实在拿不到面试也可以投国内公司,国内面试对算法题没有北美严苛,但其他方面也有很大的指导性,并且国内公司面试问题更偏向实操。

AI方向比较热门的方向:

自动驾驶(比较火热)

医疗诊断(钱多,公司多,职位多,职业发展有限)

推荐nlp(互联网公司)

聊天机器人(热门方向)

视觉导航

金融

视觉机器人

VR / AR

监控

面试初期遇到问题:投简历没有人回复

工作经历没有足够突出

没有把简历写到HR能看懂的程度,可以请Recuiter帮忙修改简历

你可能需要一个general的Cover Letter

自己去Linkedin加Recuiter,Bittiger也有很多资源,可以充分利用资源

面试中期问题:面试题回答不流畅

对于自己不熟的项目经历要记录下面试官的问题,不断完善

有时候面试技巧缺乏,可以多找同学朋友模拟演练,面试多总结

面试后期问题:Coding

一定要有耐心

很多时候Engineer的工作就是把Research翻译成C++并与现实相结合,不要总想做一些特别高端的工作,不要眼高手低

可以去上一些刷题的课程,或者跟小伙伴一起努力

Coding对面试成功重要性占到至少50%,必须重视,即使AI方向走不通,起码以后也可以去SDE发展。

写在最后

我整个准备求职的过程超过五个月,经过了不知道多少天的突击学习,不眠不休地看书,编程与配置环境,最终在马上要放弃的时刻收到了心仪Offer,很多同学跟我一样可能经历过多次崩溃想要放弃,但很多时候,你再多坚持一会就能找到工作了,希望大家都能够早日获得自己的Offer。

本文来自企鹅号 - BitTiger媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - BitTiger媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档