AI 已經(jīng)被炒得如火如荼,那么生活在這個(gè)快速變化時(shí)代的我們,不管你身處哪個(gè)行業(yè),都不該置身事外,多多少少去了解一下,才不會(huì)和這個(gè)快速變化的時(shí)代格格不入,倍感孤獨(dú)。開篇我提過(guò)兩本書,如果你粗略翻看過(guò),多少能理解個(gè)大概。為了讓沒(méi)有任何經(jīng)驗(yàn)的外行能夠快速的進(jìn)入AI的神秘世界,今天就來(lái)好好討論怎么開始,如何下嘴。 AI 是個(gè)很寬泛的東西,我們通常的理解,它包括機(jī)器學(xué)習(xí),自然語(yǔ)言處理,視覺(jué)識(shí)別,涉及的學(xué)科如計(jì)算機(jī)科學(xué),數(shù)學(xué),認(rèn)知學(xué),心理學(xué),社會(huì)學(xué),哲學(xué)等,我們可以把一切關(guān)于計(jì)算模擬人腦思維或功能的模擬均可以認(rèn)為是AI??梢钥闯?AI 不是一個(gè)孤立的學(xué)科領(lǐng)域,其實(shí)很好理解,人類智能的形成也是包含多方面的,要模擬人的智能,離不開各領(lǐng)域的研究。如此說(shuō)來(lái),想進(jìn)入AI領(lǐng)域豈不是很難?這里討論的只是AI中的某些領(lǐng)域,或許通過(guò)這一領(lǐng)域的學(xué)習(xí),以點(diǎn)帶面的去了解AI的全貌,或許是個(gè)比較切合實(shí)際的做法,在接下來(lái)的篇章中,各領(lǐng)域均會(huì)涉及,因?yàn)槭侨腴T級(jí)別的,所以淺嘗則止,你可以選擇你喜歡的領(lǐng)域去專研。 接下來(lái)把我們將要涉及的內(nèi)容概述一下: 1)數(shù)據(jù)挖掘和分析:主要探討數(shù)據(jù)的抓取,處理和分析 2)機(jī)器學(xué)習(xí):主要探討深度學(xué)習(xí)模型及應(yīng)用 3)計(jì)算機(jī)視覺(jué):主要介紹和視覺(jué)識(shí)別有關(guān)的庫(kù)及其應(yīng)用 4)自然語(yǔ)言分析:主要介紹自然語(yǔ)言的識(shí)別和合成,另外會(huì)涉及到情感分析的內(nèi)容 5)深度學(xué)習(xí)算法:介紹幾個(gè)常見(jiàn)的深度學(xué)習(xí)算法及應(yīng)用 以上每一個(gè)分支都可以展開來(lái)講,都可以作為一個(gè)獨(dú)立的領(lǐng)域花一輩子去研究,但人生苦短,這里只是點(diǎn)到為止,盡可能地取其精華。 一、首先來(lái)說(shuō)說(shuō)什么是數(shù)據(jù)挖掘 數(shù)據(jù)挖掘就是指從數(shù)據(jù)中獲取知識(shí)。 這樣的定義方式比較抽象,但這也是業(yè)界認(rèn)可度最高的一種解釋了。對(duì)于如何開發(fā)一個(gè)大數(shù)據(jù)環(huán)境下完整的數(shù)據(jù)挖掘項(xiàng)目,業(yè)界至今仍沒(méi)有統(tǒng)一的規(guī)范。說(shuō)白了,大家都聽說(shuō)過(guò)大數(shù)據(jù)、數(shù)據(jù)挖掘等概念,在我們的商業(yè)社會(huì)里,每個(gè)人或組織的任何行為都會(huì)產(chǎn)生大量的數(shù)據(jù),從表面上看這些數(shù)據(jù)是多么的繁雜無(wú)序,然而,這些數(shù)據(jù)的背后往往有某種潛在的邏輯,針對(duì)這些邏輯的挖掘探討,往往可以發(fā)掘出非常有價(jià)值的東西。這個(gè)就是數(shù)據(jù)挖掘需要做的事情。 那么,數(shù)據(jù)挖掘通常的流程是怎么樣的呢?從形式上來(lái)說(shuō),數(shù)據(jù)挖掘的開發(fā)流程是迭代式的。開發(fā)人員通過(guò)如下幾個(gè)階段對(duì)數(shù)據(jù)進(jìn)行迭代式處理: 其中, 解讀需求 絕大多數(shù)的數(shù)據(jù)挖掘工程都是針對(duì)具體領(lǐng)域的,因此數(shù)據(jù)挖掘工作人員不應(yīng)該沉浸在自己的世界里YY算法模型,而應(yīng)該多和具體領(lǐng)域的專家交流合作以正確的解讀出項(xiàng)目需求。這種合作應(yīng)當(dāng)貫穿整個(gè)項(xiàng)目生命周期。 搜集數(shù)據(jù) 在大型公司,數(shù)據(jù)搜集大都是從其他業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)提取。很多時(shí)候我們是對(duì)數(shù)據(jù)進(jìn)行抽樣,在這種情況下必須理解數(shù)據(jù)的抽樣過(guò)程是如何影響取樣分布,以確保評(píng)估模型環(huán)節(jié)中用于訓(xùn)練(train)和檢驗(yàn)(test)模型的數(shù)據(jù)來(lái)自同一個(gè)分布。 預(yù)處理數(shù)據(jù) 預(yù)處理數(shù)據(jù)可主要分為數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)歸約兩部分。其中前者包含了缺失值處理、異常值處理、歸一化、平整化、時(shí)間序列加權(quán)等;而后者主要包含維度歸約、值歸約、以及案例歸約。后面兩篇博文將分別講解數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)歸約。 評(píng)估模型 確切來(lái)說(shuō),這一步就是在不同的模型之間做出選擇,找到最優(yōu)模型。很多人認(rèn)為這一步是數(shù)據(jù)挖掘的全部,但顯然這是以偏概全的,甚至絕大多數(shù)情況下這一步耗費(fèi)的時(shí)間和精力在整個(gè)流程里是最少的。 解釋模型 數(shù)據(jù)挖掘模型在大多數(shù)情況下是用來(lái)輔助決策的,人們顯然不會(huì)根據(jù)'黑箱模型'來(lái)制定決策。如何針對(duì)具體環(huán)境對(duì)模型做出合理解釋也是一項(xiàng)非常重要的任務(wù)。 二、機(jī)器學(xué)習(xí) 作為機(jī)器學(xué)習(xí)領(lǐng)域的先驅(qū),Arthur Samuel在 IBM Journal of Research and Development期刊上發(fā)表了一篇名為《Some Studies in Machine Learning Using the Game of Checkers》的論文中,將機(jī)器學(xué)習(xí)非正式定義為:”在不直接針對(duì)問(wèn)題進(jìn)行編程的情況下,賦予計(jì)算機(jī)學(xué)習(xí)能力的一個(gè)研究領(lǐng)域?!?/strong> 在機(jī)器學(xué)習(xí)的歷史上,Arthur Samuel做了一些非??岬氖虑?。他曾經(jīng)做了一個(gè)西洋棋程序,讓計(jì)算機(jī)自己跟自己下棋,下棋速度非常快,因此Arthur Samuel讓他的程序自己和自己下了成千上萬(wàn)盤棋,逐漸的,程序開始慢慢意識(shí)到怎樣的局勢(shì)能導(dǎo)致勝利,怎樣的局勢(shì)能導(dǎo)致失敗,因此它反復(fù)的自己學(xué)習(xí)“如果讓競(jìng)爭(zhēng)對(duì)手的棋子占據(jù)了這些地方,那么我輸?shù)母怕士赡芨蟆被蛘摺叭绻业钠遄诱紦?jù)了這些地方,那么我贏的概率可能更大”所以漸漸的,Arthur Samuel的程序掌握了哪些局面可能會(huì)輸,哪些局面可能會(huì)贏,因此奇跡出現(xiàn)了,他的程序的棋藝甚至遠(yuǎn)遠(yuǎn)超過(guò)了他自己。ArthurSamuel讓他的程序比他自己更會(huì)下棋,但是他并沒(méi)有明確的教給程序具體應(yīng)該怎么下,而是讓它自學(xué)成材。 機(jī)器學(xué)習(xí)的類型有哪些呢? 監(jiān)督學(xué)習(xí) 訓(xùn)練數(shù)據(jù)中,每個(gè)樣本都帶有正確答案。 個(gè)人理解,這種方式有正確答案的監(jiān)督或者說(shuō)參照,所以稱為監(jiān)督學(xué)習(xí)。就好像老師提供對(duì)錯(cuò)指示、告知最終答案的學(xué)習(xí)過(guò)程。 學(xué)習(xí)器從訓(xùn)練數(shù)據(jù)中學(xué)到正確答案的決策函數(shù) y=f(x) 用于新的數(shù)據(jù)預(yù)測(cè)。 典型任務(wù):預(yù)測(cè)數(shù)值型數(shù)據(jù)的回歸、預(yù)測(cè)分類標(biāo)簽的分類、預(yù)測(cè)順序的排列 應(yīng)用:手寫文字識(shí)別、聲音處理、圖像處理、垃圾郵件分類與攔截、網(wǎng)頁(yè)檢索、基因診斷、股票預(yù)測(cè)等。 無(wú)監(jiān)督學(xué)習(xí) 訓(xùn)練數(shù)據(jù)中,每個(gè)樣本都沒(méi)有正確答案。 學(xué)習(xí)器自己在訓(xùn)練數(shù)據(jù)中找規(guī)律。就像在沒(méi)有老師的情況下,學(xué)生自學(xué)的過(guò)程。 所以稱為無(wú)監(jiān)督學(xué)習(xí)。 典型任務(wù):聚類(相似點(diǎn))、異常檢測(cè)(異常點(diǎn))。 應(yīng)用:人造衛(wèi)星故障診斷、視頻分析、社交網(wǎng)站解析、聲音信號(hào)解析、數(shù)據(jù)可視化、監(jiān)督學(xué)習(xí)的前處理工具等。 半監(jiān)督學(xué)習(xí) 訓(xùn)練數(shù)據(jù)中,少部分樣本有正確答案。 學(xué)習(xí)器使用大量的沒(méi)有正確答案的數(shù)據(jù),以及同時(shí)使用有正確答案的數(shù)據(jù),來(lái)進(jìn)行模式識(shí)別工作。在有正確答案的樣本幫助下,獲得比只用無(wú)正確答案的樣本得到的結(jié)果更好的學(xué)習(xí)效果,提高學(xué)習(xí)器的精度。是無(wú)監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)的結(jié)合,所以稱為半監(jiān)督學(xué)習(xí)。 典型任務(wù):半監(jiān)督分類,半監(jiān)督回歸,半監(jiān)督聚類,半監(jiān)督降維 強(qiáng)化學(xué)習(xí) 強(qiáng)化學(xué)習(xí)把學(xué)習(xí)看作試探評(píng)價(jià)過(guò)程,Agent選擇一個(gè)動(dòng)作用于環(huán)境,環(huán)境接受該動(dòng)作后狀態(tài)發(fā)生變化,同時(shí)產(chǎn)生一個(gè)強(qiáng)化信號(hào)(獎(jiǎng)或懲)反饋給Agent,Agent根據(jù)強(qiáng)化信號(hào)和環(huán)境當(dāng)前狀態(tài)再選擇下一個(gè)動(dòng)作,選擇的原則是使受到正強(qiáng)化(獎(jiǎng))的概率增大。選擇的動(dòng)作不僅影響立即強(qiáng)化值,而且影響環(huán)境下一時(shí)刻的狀態(tài)及最終的強(qiáng)化值。 三、計(jì)算機(jī)視覺(jué) 通俗地講,計(jì)算機(jī)視覺(jué)就是給機(jī)器賦予視覺(jué)的能力,比如裝上攝像頭,通過(guò)程序算法讓機(jī)器通過(guò)攝像頭獲取的圖像進(jìn)行處理,模式識(shí)別,并達(dá)到理解的目的。這個(gè)比較好理解,現(xiàn)在我們身邊就可以看到相關(guān)的應(yīng)用,比如OCR技術(shù),識(shí)別圖像文字,人臉識(shí)別,指紋識(shí)別,這個(gè)很多智能手機(jī)已經(jīng)內(nèi)建了這些功能,而且趨于成熟。 計(jì)算機(jī)視覺(jué)學(xué)習(xí)過(guò)程中會(huì)用到不少現(xiàn)成的庫(kù),比如openCV, DLIB, Face 等等開源的庫(kù)文件,在以后的篇幅中會(huì)詳細(xì)講解。 四、自然語(yǔ)言處理(NLP) 一般來(lái)說(shuō),自然語(yǔ)言處理的目的是讓機(jī)器能夠執(zhí)行人類所期望的某些語(yǔ)言功能自然語(yǔ)言處理是人工智能的終極發(fā)展目標(biāo),大概可以分為人類語(yǔ)言的處理(語(yǔ)言學(xué))和機(jī)器語(yǔ)言的翻譯. 其大致流程是語(yǔ)音識(shí)別與合成---語(yǔ)音分析、詞法分析、句法分析、語(yǔ)義分析、語(yǔ)用分析 后面篇幅重點(diǎn)介紹第三方庫(kù)的使用,實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音識(shí)別和合成,并初步涉略情感語(yǔ)義的分析模型。非常成熟的模型目前還沒(méi)有,但這方面的研究非常的熱,畢竟它是實(shí)現(xiàn)AI應(yīng)用的很重要的一部分。 五、深度學(xué)習(xí) 深度學(xué)習(xí),主要就是多層神經(jīng)網(wǎng)絡(luò)。而多層神經(jīng)網(wǎng)絡(luò)目前效果比較好的是卷積神經(jīng)網(wǎng)絡(luò),目前在圖像和音頻信號(hào)上效果比較好,而在自然語(yǔ)言處理上效果沒(méi)有顯示出來(lái)。 深度學(xué)習(xí)從統(tǒng)計(jì)學(xué)的角度來(lái)說(shuō),就是在預(yù)測(cè)數(shù)據(jù)的分布,從數(shù)據(jù)中學(xué)得一個(gè)模型然后再通過(guò)這個(gè)模型去預(yù)測(cè)新的數(shù)據(jù),這一點(diǎn)就要求測(cè)試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)必須是同分布。 從Inception的角度上來(lái)看的話,其實(shí)深度學(xué)習(xí)是在模擬人腦的工作機(jī)制,但實(shí)際上,目前對(duì)于人腦的認(rèn)知機(jī)制還不是很清楚,神經(jīng)網(wǎng)絡(luò)算法也只是簡(jiǎn)單模擬人腦而且,談不上真正模擬。以下是神經(jīng)網(wǎng)絡(luò)的模型圖: 定義一個(gè)深度學(xué)習(xí)模型,需要解決以下3個(gè)問(wèn)題: 1)激活函數(shù),也就是先對(duì)于輸入神經(jīng)元的激活值。一般的有 logistic 、tanh、以及ReLU。 2)代價(jià)函數(shù)。一般學(xué)習(xí)過(guò)程都是優(yōu)化問(wèn)題。代價(jià)函數(shù)一般采用歐式距離。 3)優(yōu)化策略。最簡(jiǎn)單的用剃度下降。 根據(jù)剃度更新權(quán)重,進(jìn)而減小代價(jià)函數(shù)。 由于多層神經(jīng)網(wǎng)絡(luò)通常模型很復(fù)雜,為此還需要解決過(guò)擬合問(wèn)題,目前比較有效的是通過(guò)數(shù)據(jù)增廣和dropout技術(shù)。 區(qū)別于一般的機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí)更新是機(jī)器學(xué)習(xí),之所以這么說(shuō)是因?yàn)樗茏詣?dòng)學(xué)習(xí)特征,不用人工定義特征,所以你可以不需要懂太多領(lǐng)域相關(guān)的知識(shí),因?yàn)樗惴ǘ米詣?dòng)學(xué)習(xí)特征。 好的,到現(xiàn)在為止,大家對(duì)AI涉及的這幾個(gè)方面有了初步的印象,是不是很有趣,雖然有不少專業(yè)名詞,聽起來(lái)諱莫如深,不過(guò)不要擔(dān)心,只需要你依然保持這個(gè)熱情和好奇心,隨我逐一展開,一起窺探AI的奧秘。 |
|
來(lái)自: 東西二王 > 《前沿技術(shù)》