來(lái)源:玉剛說(shuō) 作者:Anymake 2018-06-14 11:34:12
摘要: 作為一名軟件工程師,我們應(yīng)該活到老學(xué)到老,時(shí)刻與不斷發(fā)展的框架、標(biāo)準(zhǔn)和范式保持同步。同時(shí),還要能活學(xué)活用,在工作中使用最合適的工具,以提高工作效率。隨著機(jī)器學(xué)習(xí)在越來(lái)越多的應(yīng)用程序中尋得了一席之地,越來(lái)越多的程序員加入AI領(lǐng)域,那么,入行AI領(lǐng)域需要哪些技能呢?
人工智能到底有多火
我相信大家之所以能來(lái)看這篇文章,也間接說(shuō)明了人工智能這幾年的火爆。自從基于深度學(xué)習(xí)技術(shù)的算法2012年在ImageNet比賽中獲得冠軍以來(lái),深度學(xué)習(xí)先是席卷了整個(gè)學(xué)術(shù)界,后又在工業(yè)界傳播開(kāi)來(lái),一瞬間各大企業(yè)如果沒(méi)有AI部門(mén)都不好意思對(duì)外宣傳了。BAT中,百度宣布“All In AI”,阿里建立了達(dá)摩院及AI實(shí)驗(yàn)室,騰訊也在前不久會(huì)議上宣布“Ai In All”,并具有騰訊優(yōu)圖、AI Lab和微信AI實(shí)驗(yàn)室。2017年7月20日,國(guó)務(wù)院發(fā)布《新一代人工智能發(fā)展規(guī)劃》,將人工智能上升為國(guó)家戰(zhàn)略,為中國(guó)人工智能產(chǎn)業(yè)做出戰(zhàn)略部署,對(duì)重點(diǎn)任務(wù)做出明確解析,搶抓重大機(jī)遇,構(gòu)筑我國(guó)人工智能發(fā)展的先發(fā)優(yōu)勢(shì)。
技術(shù)的發(fā)展往往遵循一個(gè)可預(yù)期的模式,即先是萌芽,然后炒作,而后幻滅,接著才是技術(shù)成熟后的穩(wěn)步爬升,最后到達(dá)應(yīng)用高峰。研究分析機(jī)構(gòu)Gartner每年都會(huì)推出這樣一個(gè)分析新興技術(shù)發(fā)展趨勢(shì)的技術(shù)炒作周期報(bào)告。前段時(shí)間,Gartner發(fā)布了2017年的新興技術(shù)炒作周期報(bào)告,報(bào)告聚焦了前端、后端與平臺(tái)發(fā)展的三大趨勢(shì),提出了AI將無(wú)所不在(人工智能),體驗(yàn)將透明化和沉浸式(AR、VR),以及平臺(tái)全面數(shù)字化(區(qū)塊鏈)的觀點(diǎn),建議企業(yè)架構(gòu)師和對(duì)技術(shù)創(chuàng)新有追求的人員應(yīng)該積極探索和關(guān)注這三大趨勢(shì),從而了解掌握這三大趨勢(shì)對(duì)自己公司和自己職業(yè)發(fā)展的未來(lái)影響。簡(jiǎn)單來(lái)說(shuō)這三大趨勢(shì)分別對(duì)應(yīng)于括號(hào)中我備注的大家平時(shí)耳熟能詳?shù)脑~語(yǔ)。從曲線圖可以看出,物聯(lián)網(wǎng)、虛擬助手、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、無(wú)人車(chē)、納米電子、認(rèn)知計(jì)算以及區(qū)塊鏈正處在炒作的高峰。實(shí)際上AR、VR屬于計(jì)算機(jī)視覺(jué),也可以歸于人工智能范疇,因此總體上來(lái)說(shuō),未來(lái)人工智能將無(wú)處不在。
Gartner把深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、常規(guī)人工智能、無(wú)人車(chē)、認(rèn)知計(jì)算、無(wú)人機(jī)、會(huì)話式用戶接口、機(jī)器學(xué)習(xí)、智能微塵、智能機(jī)器人、智能工作環(huán)境等均列為AI技術(shù)范疇。在人機(jī)大戰(zhàn)等吸引眼球的活動(dòng)助推下,很多AI技術(shù)目前正處在炒作的高峰期。比如深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、認(rèn)知計(jì)算以及無(wú)人車(chē)等。對(duì)比2016年的炒作周期曲線可以發(fā)現(xiàn),有些太過(guò)超前的概念仍然不慍不火,比如智能微塵。有些概念因?yàn)槌醋鬟^(guò)高已經(jīng)迅速進(jìn)入到了幻滅期,比如商用無(wú)人機(jī)去年還處在觸發(fā)期,今年就已經(jīng)接近幻滅期邊緣了。相對(duì)而言,正處在炒作高峰的深度學(xué)習(xí)和機(jī)器學(xué)習(xí)技術(shù)有望在2到5年內(nèi)達(dá)到技術(shù)成熟和模式成熟。
除了人工智能這么火之外,對(duì)于軟件工程師,尤其是移動(dòng)端開(kāi)發(fā)工程師,有一點(diǎn)我們更要關(guān)注,那就是移動(dòng)端深度學(xué)習(xí)逐漸成為新的深度學(xué)習(xí)研究趨勢(shì)。未來(lái)會(huì)有越來(lái)越多的基于深度學(xué)習(xí)的移動(dòng)端應(yīng)用出現(xiàn),作為開(kāi)發(fā)者的我們了解深度學(xué)習(xí)更有助于我們開(kāi)發(fā)出優(yōu)秀的應(yīng)用,同時(shí)提升自身能力,積極抓住機(jī)會(huì),應(yīng)對(duì)未來(lái)各種變化。
什么是機(jī)器學(xué)習(xí)(Machine Learning,ML)?
深度學(xué)習(xí)的基礎(chǔ)是機(jī)器學(xué)習(xí),事實(shí)上深度學(xué)習(xí)只是機(jī)器學(xué)習(xí)的一個(gè)分支。因此我們要入門(mén)深度學(xué)習(xí)就要先了解一些機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)。機(jī)器學(xué)習(xí)最基本的做法,是使用算法來(lái)解析數(shù)據(jù)、從中學(xué)習(xí),然后對(duì)真實(shí)世界中的事件做出決策和預(yù)測(cè)。與傳統(tǒng)的為解決特定任務(wù)、硬編碼的軟件程序不同,機(jī)器學(xué)習(xí)是用大量的數(shù)據(jù)來(lái)“訓(xùn)練”,通過(guò)各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。
有人曾舉過(guò)一個(gè)例子,很形象生動(dòng),當(dāng)你使用手機(jī)的語(yǔ)音識(shí)別進(jìn)行喚醒時(shí),有沒(méi)有想過(guò)實(shí)現(xiàn)這一功能的全部?jī)?nèi)部流程呢?我們?nèi)粘=换サ拇蟛糠钟?jì)算機(jī)程序,都可以使用最基本的命令來(lái)實(shí)現(xiàn),但是基于機(jī)器學(xué)習(xí)的程序卻沒(méi)有那么簡(jiǎn)單,想象下如何寫(xiě)一個(gè)程序來(lái)回應(yīng)喚醒詞,例如“Okay,Google”,“Siri”,和“Alexa”。如果在一個(gè)只有你自己和代碼編輯器的房間里,僅使用最基本的指令編寫(xiě)這個(gè)程序,你該怎么做?不妨思考一下……這個(gè)問(wèn)題非常困難。你可能會(huì)想像下面的程序:
ifinput_command=='Okey,Google':
run_voice_assistant()
但實(shí)際上,你能拿到的只有麥克風(fēng)里采集到的原始語(yǔ)音信號(hào),可能是每秒44,000個(gè)樣本點(diǎn)。怎樣才能識(shí)別出語(yǔ)音內(nèi)容?或者簡(jiǎn)單點(diǎn),判斷這些信號(hào)中是否包含喚醒詞。
如果你被這個(gè)問(wèn)題難住了,不用擔(dān)心。這就是我們?yōu)槭裁葱枰獧C(jī)器學(xué)習(xí)。
雖然我們不知道怎么告訴機(jī)器去把語(yǔ)音信號(hào)轉(zhuǎn)成對(duì)應(yīng)的字符串,但我們自己可以。換句話說(shuō),就算你不清楚怎么編寫(xiě)程序,好讓機(jī)器識(shí)別出喚醒詞“Alexa”,你自己完全能夠 識(shí)別出“Alexa”這個(gè)詞。由此,我們可以收集一個(gè)巨大的數(shù)據(jù)集(dataset),里面包含了大量語(yǔ)音信號(hào),以及每個(gè)語(yǔ)音型號(hào)是否 對(duì)應(yīng)我們需要的喚醒詞。使用機(jī)器學(xué)習(xí)的解決方式,我們并非直接設(shè)計(jì)一個(gè)系統(tǒng)去準(zhǔn)確地 辨別喚醒詞,而是寫(xiě)一個(gè)靈活的程序,并帶有大量的參數(shù)(parameters)。通過(guò)調(diào)整這些參數(shù),我們能夠改變程序的行為。我們將這樣的程序稱為模型?傮w上看,我們的模型僅僅是一個(gè)機(jī)器,通過(guò)某種方式,將輸入轉(zhuǎn)換為輸出。在上面的例子中,這個(gè)模型的輸入是一段語(yǔ)音信號(hào),它的輸出則是一個(gè)回答{yes, no},告訴我們這段語(yǔ)音信號(hào)是否包含了喚醒詞。
如果我們選擇了正確的模型,必然有一組參數(shù)設(shè)定,每當(dāng)它聽(tīng)見(jiàn)“Alexa”時(shí),都能觸發(fā)yes的回答;也會(huì)有另一組參數(shù),針對(duì)“Apricot”觸發(fā)yes。我們希望這個(gè)模型既可以辨別“Alexa”,也可以辨別“Apricot”,因?yàn)樗鼈兪穷?lèi)似的任務(wù)。這時(shí)候你大概能猜到了,如果我們隨機(jī)地設(shè)定這些參數(shù),模型可能無(wú)法辨別“Alexa”,“Apricot”,甚至任何英文單詞。在而大多數(shù)的深度學(xué)習(xí)中,學(xué)習(xí)就是指在訓(xùn)練過(guò)程中更新模型的行為(通過(guò)調(diào)整參數(shù))。
換言之,我們需要用數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)模型,其過(guò)程通常如下:
1.初始化一個(gè)幾乎什么也不能做的模型;
2.抓一些有標(biāo)注的數(shù)據(jù)集(例如音頻段落及其是否為喚醒詞的標(biāo)注);
3.修改模型使得它在抓取的數(shù)據(jù)集上能夠更準(zhǔn)確執(zhí)行任務(wù);
4.重復(fù)以上步驟2和3,直到模型看起來(lái)不錯(cuò)。
什么是機(jī)器學(xué)習(xí)算法?從本質(zhì)上講,機(jī)器學(xué)習(xí)采用了可以從數(shù)據(jù)中學(xué)習(xí)和預(yù)測(cè)數(shù)據(jù)的算法。這些算法通常來(lái)自于統(tǒng)計(jì)學(xué),從簡(jiǎn)單的回歸算法到?jīng)Q策樹(shù)等等。
什么是機(jī)器學(xué)習(xí)模型?一般來(lái)說(shuō),它是指在訓(xùn)練機(jī)器學(xué)習(xí)算法后創(chuàng)建的模型構(gòu)件。一旦有了一個(gè)經(jīng)過(guò)訓(xùn)練的機(jī)器學(xué)習(xí)模型,你就可以用它來(lái)根據(jù)新的輸入進(jìn)行預(yù)測(cè)。機(jī)器學(xué)習(xí)的目的是正確訓(xùn)練機(jī)器學(xué)習(xí)算法來(lái)創(chuàng)建這樣的模型。
機(jī)器學(xué)習(xí)已廣泛應(yīng)用于數(shù)據(jù)挖掘、計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、生物特征識(shí)別、搜索引擎、醫(yī)學(xué)診斷、檢測(cè)信用卡欺詐、證券市場(chǎng)分析、DNA序列測(cè)序、語(yǔ)音和手寫(xiě)識(shí)別、戰(zhàn)略游戲和機(jī)器人等領(lǐng)域。雖然深度學(xué)習(xí)技術(shù)的發(fā)展,也促進(jìn)了語(yǔ)音和文本領(lǐng)域的發(fā)展,但變化最顯著的還是屬于計(jì)算機(jī)視覺(jué)領(lǐng)域。而且由于作者是做計(jì)算機(jī)視覺(jué)的,因此這里也沒(méi)法深入介紹語(yǔ)音和自然語(yǔ)言處理領(lǐng)域的過(guò)多細(xì)節(jié),就簡(jiǎn)要介紹下計(jì)算機(jī)視覺(jué)領(lǐng)域的技術(shù)發(fā)展和相關(guān)的應(yīng)用,后續(xù)的實(shí)驗(yàn)環(huán)節(jié),大部分也會(huì)是基于深度學(xué)習(xí)的圖像應(yīng)用為主。
機(jī)器學(xué)習(xí)四要素
針對(duì)識(shí)別喚醒語(yǔ)的任務(wù),我們將語(yǔ)音片段和標(biāo)注(label)放在一起組成數(shù)據(jù)集。接著我們訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型,給定一段語(yǔ)音,預(yù)測(cè)它的標(biāo)注。這種給定樣例預(yù)測(cè)標(biāo)注的方式,僅僅是機(jī)器學(xué)習(xí)的一種,稱為監(jiān)督學(xué)習(xí)。深度學(xué)習(xí)包含很多不同的方法,我們會(huì)在后面的章節(jié)討論。成功的機(jī)器學(xué)習(xí)有四個(gè)要素:數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)的模型、衡量模型好壞的損失函數(shù)和一個(gè)調(diào)整模型權(quán)重來(lái)最小化損失函數(shù)的算法。
數(shù)據(jù)(Data)
越多越好。事實(shí)上,數(shù)據(jù)是深度學(xué)習(xí)復(fù)興的核心,因?yàn)閺?fù)雜的非線性模型比其他機(jī)器學(xué)習(xí)需要更多的數(shù)據(jù)。
模型(Models)
相關(guān)推薦:
小升初試題、期中期末題、小學(xué)奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號(hào)
歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪問(wèn)幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看