首先,并不是每一个人都适合做AI开发,在技术转型前,建议你根据自身情况考虑,慎重决定。
在我看来,做技术转型要经历如下几个过程:
制定目标和计划
在进行技术转型前,建议你看看自身的条件。如果你当前做的工作与人工智能技术有一定的技术相关性,你会基本的编程语言,学习过信息技术类的专业知识,可以考虑进行转型。同时希望你对于人工智能是什么,人工智能要干什么,人工智能能干什么有所了解,不要因为有人说人工智能有前(钱)图,你就要去转型,不然你失败的概率估计会是90%。如果你觉得自身条件不错,对人工智能很感兴趣,也觉得这个技术方向非常有前途,那我建议你制定一个目标和计划,包括:
花多长时间去做转型从哪几个方面充电,具体到每一周的计划安排转型后从事人工智能的哪方面工作转型后给自己带来哪些提升有了计划后,监督自己坚决的执行下去。
补足AI技能
人工智能涉及到多方面的技术,有许多种不同的岗位,我将主流软件开发岗位分为三类:
底层软件开发 — 负责算法在不同平台的实现
如果你曾做过驱动软件开发,嵌入式软件开发,可以考虑转型做底层软件开发。该岗位主要进行算法实现,算法效率优化,移植工作。比如算法工程师写了一个x86上能运行的算法,需要底层软件工作事移植到arm平台上,并做性能优化。
你需要了解和熟悉的知识:
处理器体系架构:CPU指令集,x86\arm汇编语言,GPU架构及原理,SIMD指令集,neon指令集,FPGA 等
并行计算框架:CUDA(仅用于Nvidia CPU),OpenCL(跨平台用于CPU,GPU,FPGA),Meta(IOS)
编程语言:C/C++ ,汇编语言,Python,CUDA C , HDL语言
其他:操作系统原理,编译原理
推荐书籍
算法工程师 — 负责算法的设计
算法工程师主要进行数据分析,数学建模,设计和实现算法的初步版本。
从事算法工作你需要了解和掌握:
理论基础知识:概率统计,线性代数,信号处理,自动控制理论,模式识别
语言及工具:Matlab,R语言,Python语言,C++
算法知识:数据结构基础,回归算法,聚类算法,神经网络算法
推荐书籍
应用开发 — 负责针对业务场景的应用开发
AI应用开发主要负责开发具体的产品,更贴近应用场景,如开发一套语音机器人的软件,自动翻译软件。AI应用开发人员可以使用一些开发框架,类库,做一些定制化工作,完成需要的工作。而不同业务场景对于技术要求也有不同。
从事AI应用开发需要掌握的技能:
机器学习框架:Tensorflow,Caffe,Caffe2,Manet,Pytorch,Keras,cuDNN
神经网络模型及原理:Alexnet,Googlenet,Resent
编程语言:Python,C/C++,Java
业务场景需求:docker,Hadoop,Opencv,ffmpeg
推荐书籍
寻找合适岗位
如果你公司内部有人工智能的岗位,可以考虑内部转岗。
人工智能公司及岗位推荐:
华为智能计算产品线 — 智能计算产品线是华为实现普惠AI的中坚力量,开发的Atlas异构服务器,人脸识别一体机,OCR一体机在公共安全,金融系统,政务,公有云等领域应用广泛华为其他部门AI岗位 (●◡●)依图,商汤,旷世,云从,华尊,以萨,科大讯飞,码隆科技 ,云天励飞,深瞐, 。。。。。。工作实践
找到一份工作并不代表技术转型成功,在新的岗位上创造了价值才行。我想跟大家分享,技术只是创造价值的方式之一,而在技术之外还有很多可以发挥的地方,如进行产品推广,需求挖掘,尤其在人工智能起步的阶段,能够落地到产品比技术更为重要。因而,建议大家既要重视,敬畏技术,但也不要被技术所局限,以满足业务需求为目标。