• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

软件工程师如何转行做人工智能?

十万个为什么 空空 2024-5-15 17:22:53 10次浏览

关于问题软件工程师如何转行做人工智能?一共有 2 位热心网友为你解答:

【1】、来自网友【IT 人刘俊明】的最佳回答:

谢谢邀请!

软件工程师转行做人工智能是一个不错的选择,但是要根据自身的知识结构进行相应的准备。对于研发级软件工程师(研发级程序员)来说,转行做人工智能是相对比较容易的,因为研发级工程师往往都有扎实的算法基础。对于应用级软件工程师(应用级程序员)来说,转行做人工智能需要一个系统的准备(学习)过程。

人工智能目前的研究方向比较多,比如自然语言处理、机器学习以及计算机视觉都是不错的研究方向,下面就以机器学习为例,说一下作为应用级软件工程师来说,都应该做好哪些准备。

首先,需要系统的学习一下算法知识。

机器学习的研发是以算法为核心进行展开的,所以要有一个扎实的算法基础。这个过程需要了解一些比较经典的算法设计过程,逐步培养起解决问题的思路。这部分的学习内容包括随机算法、堆排序算法、快排、计数排序、贪心算法、核算法、势能法、图算法、多线程算法、数论算法和近似算法等,在学习算法的过程中也会连带着把数据结构一并学习一下,因为算法和数据结构本就不分家。

其次,了解机器学习的实现步骤。

机器学习的流程包括数据收集、数据整理、算法设计、算法实现、验证算法和应用算法,数据收集是机器学习的第一步,目前可以用于机器学习的公共数据集并不少,对于实验来说已经够用了。接下来就是了解常见的机器学习算法,目前比较常见的机器学习算法包括 NB、k-mean、kNN、SVM、Apriori、EM、PageRank、CART 等算法,对于有算法基础的人来说,这些算法的学习并不困难。

最后,选择一门编程语言来实现这些算法并对其进行验证。

对于软件工程师来说,这个步骤还是相对比较轻松的,目前使用 Python 做机器学习的算法实现是一个比较常见的做法。

人工智能是我的主要研究方向之一,目前我也在带相关方向的研究生,我会陆续在头条写一些关于人工智能方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有人工智能方面的问题,也可以咨询我,谢谢!

【2】、来自网友【电商和区块链】的最佳回答:

说说我的个人经历

我亲身经历了从非 AI 软件开发到 AI 的转变。

我一直对 AI 感兴趣,也知道这是技术发展的一个大趋势。所以在 2016 年以前,陆陆续续地关注一些 AI 博客,断断续续地学习,但一直没有系统学习过。

在 2016 年,因为工作的变动,就开始系统地学习了 AI。买了一些 AI 的书来读,在 coursera 在线学习网站上,参加了业界有名的 Andrew Ng(吴恩达)的《机器学习》课程。

这是我是在 2016 年 5 月份获得的《机器学习》结业证书。

《机器学习》结业,只是入门。而 AI 分成好几个领域,比如图像识别、NLP 等等,每一门的水都挺深。我选择进入 NLP,因为其它领域都被大公司吃完了,而 NLP 相对不太成熟,小公司更有机会。

我学习了 NLP 的实用技术,并用来做产品。后来还是因为 AI 更是大公司的菜,加上其它的一些事情,就转向聚焦在区块链上了。

所以,我觉得我有资格来回答这个问题。

对于软件工程师,这种转变,不叫转行,而叫学习新技能。

首先,还是需要有扎实的数学知识

对于很多软件工程师,数学知识平时用得少,软件功能都是调用这个库、那个 API 来实现的。这在 AI 之前,在很多公司还算是合格的,毕竟能完成工作。

但到 AI 领域后,你就会发现没有数学知识,碰到一些问题就懵了,很吃亏,效率会很低。

我的《微积分》是很多年钱学的,早就丢掉了。到了 AI 领域,发现有很多微积分内容,又得捡回来。

你至少需要准备这些数学知识:

  • 线性代数。将会碰到有很多向量和矩阵,所有计算的基础,重要性不言而喻

  • 概率与统计

  • 微积分

其次,系统地参加人工智能的通用课程

刚开始入门,要推荐吴恩达的

《机器学习》

,这是一堂有名的课,评分高达 4.9 分。

这门课程难度为中等偏低,每期都有习题练习,习题需要一般的编程能力,全部通过才能获得结业证书。

https://www.coursera.org/learn/machine-learning

然后再深入一点,就是目前业界广泛使用的神经网络中的深度学习。

深度学习在 Coursera 上,是有一个专项课程。专项课程是几个相关课程的集合。深度学习专项内部包含了 4 个课程。如果有条件,最好把所有的课程学一遍:

https://www.coursera.org/specializations/deep-learning

如果没时间学完专项,那么其中的

《神经网络和深度学习》

是必学的:

https://www.coursera.org/learn/neural-networks-deep-learning?specialization=deep-learning

再次,根据具体的业务领域,选择适合的框架和语言,边学边做

到了这一步,你就要开始实战了。

这里要看你从事的领域的需求,学习更具体的算法。比如公司搞图像识别,那 CNN 必须要精通;如果是 NLP,要学 word2vec、RNN 等。

然后选择编程语言和 AI 框架。

如果公司没有硬性要求语言和框架。在语言方面,而你是新手,或者编程经验不多,最好就直接用

Python

;对于老手,存在存量绑架,也因为对某语言用得熟练,那要选择支持你的编程语言的框架。

一般来说,选择谷歌的

TensorFlow

更好,公司有技术实力保障,对语言支持能力强,连 JavaScript 都支持。

给码农的话

最后,对于软件工程师,再过几年,AI 将是所有公司所必备一项能力,那么的 AI 技能,也就是码农必备的技能,那就快点学起来,用起来。

和其它行业一样,码农要保持自己的职业竞争力,需要活到老,学到老。在软件技术这块,迭代周期别其它行业要快很多,就更需要坚持不断学习。

喜欢 (0)