幼教網(wǎng)
全國(guó)站
您現(xiàn)在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開(kāi)發(fā) > 正文

普通程序員如何入門(mén)深度學(xué)習(xí)

來(lái)源:玉剛說(shuō) 作者:Anymake 2018-06-14 11:34:12

說(shuō)兩句

  摘要: 作為一名軟件工程師,我們應(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)擊查看

  • 歡迎掃描二維碼
    關(guān)注幼教網(wǎng)微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關(guān)注奧數(shù)網(wǎng)微信
    ID:aoshu_2003

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導(dǎo)

學(xué)區(qū)房

幼升小真題

重點(diǎn)小學(xué)

上海小學(xué)

廣州小學(xué)

深圳小學(xué)

成都小學(xué)

武漢小學(xué)

南京小學(xué)

北京一類(lèi)幼兒園

海淀區(qū)幼兒園

西城區(qū)幼兒園

東城區(qū)幼兒園

朝陽(yáng)區(qū)幼兒園

其他區(qū)幼兒園

幼兒園資訊

教師園地

幼兒園說(shuō)課稿

幼兒園教案

教學(xué)論文

幼兒園課件

幼兒園教師心得

幼兒園評(píng)語(yǔ)

少兒教育

胎教

早期教育

入園必讀

潛能開(kāi)發(fā)

藝術(shù)培養(yǎng)

家庭教育

兒童樂(lè)園

科普知識(shí)

圖書(shū)推薦

睡前故事

成語(yǔ)故事

童話故事

唐詩(shī)宋詞

孕育指南

時(shí)尚媽咪

健康寶貝

美食廚房

趣味數(shù)學(xué)

健康飲食

專(zhuān)家答疑

-->