作為軟件工程師,如果想掌握一些大數(shù)據(jù)算法的背景知識(shí),以便更好地和算法相關(guān)團(tuán)隊(duì)合作,那么以這個(gè)模塊討論的算法為基礎(chǔ),觸類旁通,針對(duì)公司使用的算法再進(jìn)一步了解和學(xué)習(xí),基本上也就夠用了。但是,如果想從軟件工程師深入進(jìn)人工智能領(lǐng)域,那么就還需要系統(tǒng)地學(xué)習(xí)和掌握機(jī)器學(xué)習(xí)各方面的知識(shí)。
下面根據(jù)我的經(jīng)驗(yàn),給你呈現(xiàn)一個(gè)軟件工程師進(jìn)入人工智能領(lǐng)域的 “學(xué)習(xí)路線圖”,希望可以幫助到想轉(zhuǎn)型進(jìn)入人工智能領(lǐng)域的同學(xué)。
數(shù)學(xué)基礎(chǔ)
機(jī)器學(xué)習(xí)有時(shí)候也被稱為統(tǒng)計(jì)學(xué)習(xí),其實(shí)就是統(tǒng)計(jì)大量歷史數(shù)據(jù)中的規(guī)律,構(gòu)建算法模型,再利用模型對(duì)現(xiàn)在的數(shù)據(jù)進(jìn)行分類和預(yù)測(cè)。所以學(xué)習(xí)機(jī)器學(xué)習(xí)算法,先要復(fù)習(xí)一下統(tǒng)計(jì)學(xué)和概率論方面的知識(shí)。
很多算法的特征與函數(shù)都用向量空間表示,很多大數(shù)據(jù)算法計(jì)算也可以轉(zhuǎn)化為矩陣與向量計(jì)算。比如 PageRank 算法就可以將網(wǎng)頁(yè)間的鏈接關(guān)系表示為一個(gè)稀疏矩陣,所有頁(yè)面的 PageRank 值構(gòu)成一個(gè)向量,然后將矩陣與向量不斷迭代相乘就可以了。因此,你還需要再?gòu)?fù)習(xí)一下線性代數(shù)的知識(shí)。
我們討論過機(jī)器學(xué)習(xí)的數(shù)學(xué)原理,機(jī)器學(xué)習(xí)算法的推導(dǎo)過程,其實(shí)就是在模型假設(shè)空間尋找使結(jié)構(gòu)風(fēng)險(xiǎn)為極小值的模型,而數(shù)學(xué)上的極小值就是一階導(dǎo)數(shù)為 0 的值,因此還需要復(fù)習(xí)一下高等數(shù)學(xué)。
機(jī)器學(xué)習(xí)算法
大家普遍認(rèn)為,系統(tǒng)學(xué)習(xí)機(jī)器學(xué)習(xí)算法最好的入門級(jí)課程是斯坦福大學(xué)的機(jī)器學(xué)習(xí)公開課,這門課程由吳恩達(dá)講授,非常經(jīng)典。還有幾本比較經(jīng)典的書籍可以和公開課相互參照,比如周志華的《機(jī)器學(xué)習(xí)》,俗稱 “西瓜書”,比較通俗易懂,適合入門;李航的《統(tǒng)計(jì)學(xué)習(xí)方法》,偏數(shù)學(xué)一些,可以不時(shí)翻看。
如果只是單純學(xué)習(xí)算法,會(huì)比較枯燥,需要不斷做一些算法的編程練習(xí),除了學(xué)習(xí)過程中的一些算法編程練習(xí),還可以參考《集體智慧編程》這本書,書中的例子都比較實(shí)用,可以根據(jù)書中的數(shù)據(jù)和代碼進(jìn)行練習(xí)。這本書偏重代碼和應(yīng)用,很適合軟件工程師進(jìn)行入門練習(xí),不過這本書缺少算法的原理分析,算法比較少也偏簡(jiǎn)單。
以上這些書籍或者課程基本上都是大學(xué)教材或者相似課程的難度,如果要成為機(jī)器學(xué)習(xí)算法專家,就需要自己尋找一些更專業(yè)的書籍和論文來看了,這些資料主要是以英文為主,所以也需要你有不錯(cuò)的英語(yǔ)基礎(chǔ)。
大數(shù)據(jù)技術(shù)與機(jī)器學(xué)習(xí)框架
在小規(guī)模的數(shù)據(jù)集上做算法練習(xí),用 Python 程序在單機(jī)上運(yùn)行就可以了,但是在真正的生產(chǎn)環(huán)境中,需要面對(duì)海量的數(shù)據(jù)處理計(jì)算需求,這就需要用到我們專欄前面討論過的各種大數(shù)據(jù)技術(shù)產(chǎn)品。各種主流大數(shù)據(jù)產(chǎn)品都有自己的機(jī)器學(xué)習(xí)框架與算法庫(kù),比如 Hadoop 上有 Mahout、Spark 上有 MLlib,借助這些算法庫(kù)和工具,可以較快速地在大數(shù)據(jù)平臺(tái)上開發(fā)機(jī)器學(xué)習(xí)應(yīng)用程序。
Mahout 和 MLlib 主要支持傳統(tǒng)的機(jī)器學(xué)習(xí)算法,業(yè)界還有幾款比較知名的深度學(xué)習(xí)框架:TensorFlow、Caffe,Intel 也開源了基于 Spark 的深度學(xué)習(xí)庫(kù) BigDL。
人工智能應(yīng)用
學(xué)了這么多機(jī)器學(xué)習(xí)的知識(shí),最終的目的還是應(yīng)用,業(yè)界其實(shí)不缺懂算法的專家,但是卻非常短缺能夠?qū)C(jī)器學(xué)習(xí)和業(yè)務(wù)結(jié)合,產(chǎn)生實(shí)際價(jià)值的專家。要想實(shí)現(xiàn)人工智能真正落地,一方面需要懂大數(shù)據(jù)和機(jī)器學(xué)習(xí)算法,另一方面需要深入了解具體的領(lǐng)域知識(shí),能夠發(fā)現(xiàn)業(yè)務(wù)中的痛點(diǎn),并能夠選擇最合適的算法解決這個(gè)痛點(diǎn)。
很多時(shí)候解決問題不需要多么高大上的技術(shù)和算法,很普通的算法用對(duì)地方,也能產(chǎn)生巨大的效果,這才是業(yè)界最短缺的,而這也正是從軟件開發(fā)轉(zhuǎn)型人工智能的技術(shù)人員的優(yōu)勢(shì),有多年的領(lǐng)域開發(fā)積淀,有技術(shù)實(shí)現(xiàn)和驗(yàn)證的能力,再加上大數(shù)據(jù)和機(jī)器學(xué)習(xí)能力加持,幾項(xiàng)結(jié)合產(chǎn)生化學(xué)反應(yīng),也許能在自己的企業(yè)和行業(yè)領(lǐng)域創(chuàng)造出巨大的價(jià)值。
根據(jù) Gantner 發(fā)布的 2018 年人工智能技術(shù)成熟度曲線,我給你總結(jié)一下目前人工智能技術(shù)的發(fā)展?fàn)顩r,供你參考。
處于上升階段,即具有長(zhǎng)遠(yuǎn)發(fā)展前景的人工智能技術(shù)包括:
人工智能管理:根據(jù)人工智能模型和數(shù)據(jù)管理企業(yè),包括決策權(quán)的劃分、組織結(jié)構(gòu)、績(jī)效管理等。
通用人工智能:目前的人工智能僅僅在相對(duì)封閉、重復(fù)的場(chǎng)景中適用,稍稍擴(kuò)大應(yīng)用范圍,特別是和人類交互的時(shí)候,經(jīng)常表現(xiàn)得非常 “弱智”。但是放到更長(zhǎng)遠(yuǎn)來看,通用人工智能,即強(qiáng)人工智能還是值得期待的。
知識(shí)圖譜:將具有各種關(guān)聯(lián)關(guān)系的信息通過圖的方式組織在一起,自動(dòng)發(fā)現(xiàn)各種信息、數(shù)據(jù)、資產(chǎn)、商品、人、知識(shí)等各種關(guān)系并加以利用。
神經(jīng)形態(tài)硬件:按照神經(jīng)網(wǎng)絡(luò)神經(jīng)元形態(tài)構(gòu)造硬件,即 “芯片大腦”。
自然語(yǔ)言生成:根據(jù)語(yǔ)境語(yǔ)義自動(dòng)生成自然語(yǔ)言,既可以生成各種有格式化的報(bào)告,也可以生成詩(shī)詞歌賦等文藝作品。
處于頂部,被眾人期待,但是可能有些過熱的人工智能技術(shù)包括:
人工智能平臺(tái)即服務(wù):最近幾年,各家云服務(wù)廠商都在加大云服務(wù)平臺(tái)上人工智能的投入和宣傳,百度宣布自己 All in 人工智能,阿里云人工智能也占據(jù)了云平臺(tái)的重要板塊。
深度神經(jīng)網(wǎng)絡(luò)專用芯片:針對(duì)深度學(xué)習(xí)算法專門設(shè)計(jì)的芯片,擁有比 GPU 更好的計(jì)算性能。
智能機(jī)器人:不同于工廠流水線上的工業(yè)機(jī)器人,智能機(jī)器人用于酒店、機(jī)場(chǎng)、餐廳、醫(yī)院,與人交互,直接服務(wù)人類。
語(yǔ)音交互:以語(yǔ)音識(shí)別、自然語(yǔ)言理解、語(yǔ)音合成技術(shù)為基礎(chǔ)的語(yǔ)音交互技術(shù),以智能語(yǔ)音客服為代表的各種聊天機(jī)器人、虛擬助理等語(yǔ)音交互產(chǎn)品。
智能應(yīng)用:為各種傳統(tǒng)軟件系統(tǒng)賦能人工智能,在 ERP、CRM 等各種傳統(tǒng)應(yīng)用中集成人工智能特性。
圖形分析:根據(jù)圖形分析數(shù)據(jù)特性,發(fā)現(xiàn)數(shù)據(jù)聚類特性,發(fā)現(xiàn)孤立點(diǎn),還可進(jìn)行路徑優(yōu)化等。
目標(biāo)分析:通過人工智能優(yōu)化決策分析,發(fā)現(xiàn)達(dá)成預(yù)定條件目標(biāo)的首選行動(dòng)方案。
深度學(xué)習(xí):應(yīng)用比較廣泛的是卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò),在圖片、語(yǔ)音、視頻等非結(jié)構(gòu)化數(shù)據(jù)處理方面有良好效果。
自然語(yǔ)言處理:傳統(tǒng)上自然語(yǔ)言處理的方法是語(yǔ)法與語(yǔ)義分析,但是現(xiàn)階段越來越多使用深度學(xué)習(xí)進(jìn)行自然語(yǔ)言處理。
虛擬助理:通過語(yǔ)音交互的形式,為用戶訂票、訂餐、打車等,仿佛一個(gè)虛擬的個(gè)人助理。
經(jīng)過泡沫洗禮,關(guān)注度下滑,進(jìn)入冷靜期的人工智能技術(shù):
計(jì)算機(jī)視覺:通過獲取、分析現(xiàn)實(shí)物理世界的圖片和視頻,提取出有意義的信息。包括機(jī)器視覺、光學(xué)字符識(shí)別、圖像識(shí)別、模式識(shí)別、人臉識(shí)別、邊緣檢測(cè)和運(yùn)動(dòng)檢測(cè)等,可應(yīng)用于自動(dòng)駕駛、生物識(shí)別、虛擬現(xiàn)實(shí)各種領(lǐng)域。
預(yù)測(cè)分析:預(yù)測(cè)將來要發(fā)什么、將來會(huì)發(fā)生什么,主要基于回歸分析、多元統(tǒng)計(jì)、模式匹配、預(yù)測(cè)建模等機(jī)器學(xué)習(xí)技術(shù)。很多時(shí)候,預(yù)測(cè)有一定效果,但是距人們的期望還有一定距離。
自動(dòng)駕駛:利用激光雷達(dá)、攝像頭、GPS 和地圖數(shù)據(jù)等多種車載傳感和定位技術(shù),結(jié)合機(jī)器學(xué)習(xí)模型實(shí)現(xiàn)車輛在無人控制的情況下自動(dòng)駕駛。從人工智能角度看,自動(dòng)駕駛技術(shù)上應(yīng)該已經(jīng)趨于成熟,但是具體應(yīng)用看起來還很遙遠(yuǎn)。
增強(qiáng)現(xiàn)實(shí) AR:將虛擬的文本、圖形、視頻疊加到現(xiàn)實(shí)的視頻上,起到增強(qiáng)現(xiàn)實(shí)的效果。在各種諜戰(zhàn)片里,特工們戴著炫酷的 AR 眼鏡無所不能;但在現(xiàn)實(shí)中,大規(guī)模商用還尚不成熟。
人工智能將會(huì)引領(lǐng)下一次科技革命的浪潮,基本已經(jīng)得到人們的普遍認(rèn)可,但是越是革命性的事物,道路越是艱難;不過道路越是艱難,收獲越是巨大。人工智能對(duì)我們生產(chǎn)生活的改造將是全方位的,不管你現(xiàn)在身處什么領(lǐng)域,總能找到和人工智能結(jié)合的機(jī)會(huì),期待將來人工智能科技革命的浪潮中看到你的身影。
-
人工智能
+關(guān)注
關(guān)注
1792文章
47483瀏覽量
239162 -
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21148
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論