1、機(jī)器學(xué)習(xí)的演化為了找到實(shí)現(xiàn)人工智能的方法人們經(jīng)歷了一段異常艱難的歲月,終于找到一種完全不同的方式,穩(wěn)健地構(gòu)建出一種通用技術(shù)。這種方式的名稱是“機(jī)器學(xué)習(xí)”。如果你曾經(jīng)涉足數(shù)據(jù)挖掘領(lǐng)域,應(yīng)該對(duì)這個(gè)名字耳熟能詳。相對(duì)于人工智能以往的種種方法,機(jī)器學(xué)習(xí)要強(qiáng)大得多,是一種潛力無(wú)窮的工具,正如本章前文所介紹過(guò)的,以往的方法僅能依據(jù)人預(yù)先提供的知識(shí)進(jìn)行搜索和判斷,機(jī)器學(xué)習(xí)要高級(jí)得多。
機(jī)器學(xué)習(xí)出現(xiàn)之前,機(jī)器僅能在已輸入的數(shù)據(jù)中搜尋答案。大家的關(guān)注點(diǎn)都在機(jī)器如何能更快地從已有的知識(shí)中抽離出相關(guān)問(wèn)題的知識(shí)。這樣,機(jī)器就能更快地回答一個(gè)它已知的問(wèn)題,但是,一旦碰到它未知的問(wèn)題,它就不行了。
另一方面,機(jī)器學(xué)習(xí)領(lǐng)域中,機(jī)器的學(xué)習(xí)是照本宣科的。機(jī)器可以依據(jù)它學(xué)習(xí)的知識(shí)回答未知的問(wèn)題。那么,機(jī)器是如何學(xué)習(xí)的呢?這里的“學(xué)習(xí)”到底是什么含義?簡(jiǎn)單地說(shuō),學(xué)習(xí)就是機(jī)器獲得能夠?qū)?wèn)題劃分成“是”或“不是”能力的過(guò)程。本章接下來(lái)的內(nèi)容中我們會(huì)提供更進(jìn)一步的細(xì)節(jié),我們現(xiàn)在所能說(shuō)的是機(jī)器學(xué)習(xí)就是一種模式識(shí)別的方法。我們認(rèn)為,從根本上說(shuō),這個(gè)世界上的每個(gè)問(wèn)題都可以用答案為“是”或者“否”的問(wèn)題所替換。舉個(gè)例子,“你喜歡什么顏色?”這個(gè)問(wèn)題,可以通過(guò)“你喜歡紅色嗎?喜歡綠色嗎?喜歡藍(lán)色嗎?喜歡黃色嗎?……”這樣的問(wèn)題所替代。
機(jī)器學(xué)習(xí)中,使用高速計(jì)算和處理能力作為武器,機(jī)器用大量的訓(xùn)練數(shù)據(jù),將復(fù)雜的問(wèn)題替換為答案為“是/否”類型的問(wèn)題,找出哪些數(shù)據(jù)答案為“是”,哪些數(shù)據(jù)答案為“否”的規(guī)律(換句話說(shuō),它在學(xué)習(xí))。之后,使用學(xué)習(xí)的結(jié)果,機(jī)器可以對(duì)新提供的數(shù)據(jù)進(jìn)行分析,判斷它們的結(jié)果為“是”還是“否”,并返回答案結(jié)果。概括來(lái)說(shuō),機(jī)器學(xué)習(xí)可以通過(guò)辨識(shí)和歸類給定數(shù)據(jù)的模式,來(lái)回答未知數(shù)據(jù)的問(wèn)題。實(shí)際上,這種方法并沒(méi)有想象中那么難。
人們也經(jīng)常無(wú)意識(shí)地對(duì)數(shù)據(jù)進(jìn)行模式分類。譬如,如果你在一個(gè)聚會(huì)上碰到了一個(gè)你感興趣的男人/女人,你可能會(huì)非常急切地想要了解你面前的他/她是否對(duì)你有同樣的感覺(jué)。在你的腦海里,你會(huì)對(duì)他/她的說(shuō)話方式、樣貌、面部表情或者姿態(tài)進(jìn)行分析,與你之前的經(jīng)歷(也就是數(shù)據(jù))進(jìn)行比較,通過(guò)這些進(jìn)一步?jīng)Q定你是否要去約會(huì)。這和基于模式識(shí)別的推斷是同一個(gè)道理。機(jī)器學(xué)習(xí)是一種以機(jī)械的方式,由機(jī)器主導(dǎo)而非人主導(dǎo),進(jìn)行模式識(shí)別的方法。那么,機(jī)器是如何識(shí)別模式,并對(duì)它們進(jìn)行分類的呢?機(jī)器學(xué)習(xí)的分類標(biāo)準(zhǔn)是一種基于數(shù)學(xué)公式的推算,名叫“概率統(tǒng)計(jì)模型(Probabilistic Statistical Model)”。
這種方式基于多種數(shù)學(xué)模型,已經(jīng)被研究得非常透徹了。學(xué)習(xí),換句話說(shuō),就是模型參數(shù)的調(diào)整,一旦學(xué)習(xí)完成,就意味著模型構(gòu)建完成。接下來(lái),機(jī)器就可以將未知數(shù)據(jù)劃分到最可能的模式中(即最適合的模式中)。按照數(shù)學(xué)對(duì)數(shù)據(jù)進(jìn)行分類是一個(gè)重大優(yōu)點(diǎn)。
對(duì)人類而言,我們幾乎無(wú)法對(duì)多維的數(shù)據(jù),或者多模式的數(shù)據(jù)進(jìn)行處理,而機(jī)器學(xué)習(xí)卻可以使用幾乎同樣的數(shù)值公式完成分類。機(jī)器需要的僅僅是增加一個(gè)向量,或者矩陣中的維度數(shù)(本質(zhì)上說(shuō),進(jìn)行多維分類時(shí),它并不是由分類直線或者分類曲線完成,而是由超平面完成的)。發(fā)明這一方法之前,機(jī)器在沒(méi)有人為幫助時(shí)幾乎沒(méi)有任何能力處理未知數(shù)據(jù);通過(guò)機(jī)器學(xué)習(xí),機(jī)器甚至能處理即使人也無(wú)法處理的數(shù)據(jù)。研究人員為機(jī)器學(xué)習(xí)帶來(lái)的可能性歡欣雀躍,積極地投身到改善機(jī)器學(xué)習(xí)的工作中。
機(jī)器學(xué)習(xí)概念的歷史悠久,不過(guò)由于科學(xué)家們?nèi)狈ψ銐虻臄?shù)據(jù),長(zhǎng)期以來(lái)無(wú)法進(jìn)行大量的研究,證明它的有效性。不過(guò),最近很多開(kāi)源數(shù)據(jù)出現(xiàn)在互聯(lián)網(wǎng)上,研究人員能比較容易地利用這些數(shù)據(jù),對(duì)他們的算法進(jìn)行實(shí)驗(yàn)。由此,人工智能的第三波浪潮隨之而來(lái)。機(jī)器學(xué)習(xí)周邊的環(huán)境也給了它極大助力。機(jī)器學(xué)習(xí)在能正確地識(shí)別模式之前需要學(xué)習(xí)大量的數(shù)據(jù)。除此之外,它還需要有能力處理這些數(shù)據(jù)。它處理的數(shù)據(jù)和模式類型越多,數(shù)據(jù)的數(shù)量以及計(jì)算的次數(shù)也越大。因此,很明顯,之前的技術(shù)無(wú)法支持機(jī)器學(xué)習(xí)的發(fā)展。不過(guò),時(shí)代在進(jìn)步,機(jī)器的處理能力得到了大幅增強(qiáng)。除此之外,網(wǎng)絡(luò)也日益成熟,互聯(lián)網(wǎng)的觸角已經(jīng)延伸到世界的各個(gè)角落,因此開(kāi)放的數(shù)據(jù)也日益增加。隨著這一波的變化,只要能夠從互聯(lián)網(wǎng)上抓取數(shù)據(jù),每個(gè)人都可以進(jìn)行數(shù)據(jù)挖掘。
整個(gè)外部環(huán)境都已就緒,每個(gè)人都能很容易地接觸、學(xué)習(xí)機(jī)器學(xué)習(xí)。網(wǎng)絡(luò)是一個(gè)文本數(shù)據(jù)的寶盒。充分利用機(jī)器學(xué)習(xí)領(lǐng)域中的文本數(shù)據(jù),我們可以預(yù)期巨大的成長(zhǎng)機(jī)會(huì),特別是在統(tǒng)計(jì)自然語(yǔ)言處理方面。機(jī)器學(xué)習(xí)在圖形圖像識(shí)別、語(yǔ)音識(shí)別方面也取得了巨大的成就,研究人員正朝著發(fā)掘更高精度方法的方向努力。機(jī)器學(xué)習(xí)在商務(wù)世界的各個(gè)方面被廣泛使用。自然語(yǔ)言處理領(lǐng)域中,提到輸入方法編輯器(Input Method Editor,IME),預(yù)測(cè)轉(zhuǎn)換可能很快就浮現(xiàn)在你腦海里了。搜索引擎中的圖像識(shí)別、語(yǔ)音識(shí)別、圖像搜索以及語(yǔ)音搜索也都是很好的例子。當(dāng)然,機(jī)器學(xué)習(xí)的應(yīng)用并不局限于這些領(lǐng)域。它也被大量應(yīng)用于各個(gè)領(lǐng)域,從營(yíng)銷目標(biāo)(Marketing Targeting),譬如特征產(chǎn)品的銷售預(yù)測(cè)(或者廣告優(yōu)化、商店貨品陳列、基于人類行為預(yù)測(cè)的空間規(guī)劃),到預(yù)測(cè)金融市場(chǎng)的動(dòng)向??梢哉f(shuō),之前企業(yè)界使用數(shù)據(jù)挖掘的大多數(shù)方法,現(xiàn)在都轉(zhuǎn)而采用了機(jī)器學(xué)習(xí)。是的,機(jī)器學(xué)習(xí)就是這么厲害。目前,如果你聽(tīng)到“人工智能”這個(gè)詞,通常情況,它實(shí)際代表的是由機(jī)器學(xué)習(xí)完成的處理。軟件開(kāi)發(fā)實(shí)現(xiàn)
2、機(jī)器學(xué)習(xí)的局限性機(jī)器學(xué)習(xí)通過(guò)收集數(shù)據(jù),預(yù)測(cè)答案。實(shí)際上,機(jī)器學(xué)習(xí)非常有用。由于機(jī)器學(xué)習(xí),之前人類無(wú)法在可接受的時(shí)間窗口內(nèi)回答的問(wèn)題(譬如,使用100維超平面進(jìn)行分類),機(jī)器可以很輕松地完成。最近,“大數(shù)據(jù)”變成了一個(gè)時(shí)髦術(shù)語(yǔ),不過(guò),分析海量數(shù)據(jù)所依靠的也主要是機(jī)器學(xué)習(xí)。
然而,不幸的是,即便是機(jī)器學(xué)習(xí)也無(wú)法創(chuàng)造人工智能。從“它能否真正實(shí)現(xiàn)人工智能”這個(gè)角度而言,機(jī)器學(xué)習(xí)存在著一個(gè)巨大的缺陷。機(jī)器學(xué)習(xí)和人類的學(xué)習(xí)之間存在著巨大的差異。你可能已經(jīng)注意到這二者之間的差異,不過(guò)讓我們慢慢道來(lái)。機(jī)器學(xué)習(xí)是一種依據(jù)輸入數(shù)據(jù)進(jìn)行模式分類和預(yù)測(cè)的技術(shù)。如果是這樣的話,那么到底什么是輸入數(shù)據(jù)呢?它能夠使用任何數(shù)據(jù)嗎?當(dāng)然……它不能。結(jié)論很明顯,它不能依據(jù)無(wú)關(guān)的數(shù)據(jù)預(yù)測(cè)正確的結(jié)果。
為了讓機(jī)器正確地學(xué)習(xí),它需要有恰當(dāng)?shù)臄?shù)據(jù),那么問(wèn)題就來(lái)了。機(jī)器無(wú)法辨別哪些數(shù)據(jù)是合適的數(shù)據(jù),哪些數(shù)據(jù)又是不合適的。只有接受正確的數(shù)據(jù),機(jī)器才能找到正確的模式。無(wú)論一個(gè)問(wèn)題難或者簡(jiǎn)單,人們都需要為它提供正確的數(shù)據(jù)。
我們思考下這個(gè)問(wèn)題:“你面前的對(duì)象是一個(gè)人還是一只貓?”對(duì)任何一個(gè)普通人而言,答案太明顯了。我們可以毫不費(fèi)力地區(qū)分出二者?,F(xiàn)在,讓我們通過(guò)機(jī)器學(xué)習(xí)來(lái)完成同樣的事。首先,我們需要準(zhǔn)備機(jī)器讀取的數(shù)據(jù)格式,換句話說(shuō),我們需要準(zhǔn)備人和貓的圖像數(shù)據(jù)。這看起來(lái)并沒(méi)有什么特別的。問(wèn)題出現(xiàn)在接下來(lái)的這一步。
你大概希望直接采用這些圖像數(shù)據(jù)作為輸入,但這是行不通的。正如前文所述,機(jī)器無(wú)法自身明確要從數(shù)據(jù)中學(xué)習(xí)什么。機(jī)器學(xué)習(xí)的東西,需要人事先從原始圖像數(shù)據(jù)提取創(chuàng)建后提供給它。也就是說(shuō),這個(gè)例子中,我們需要使用可以區(qū)分出人類和貓的數(shù)據(jù)作為輸入,譬如臉色、面部位置、面部輪廓等等。人定義并提供作為輸入的這些值被稱為“特征(Feature)”。機(jī)器學(xué)習(xí)無(wú)法完成特征工程(Feature Engineering)。這是機(jī)器學(xué)習(xí)的致命死穴。顧名思義,特征就是機(jī)器學(xué)習(xí)中的模型變量。
因?yàn)檫@個(gè)值以定量的方式表示了對(duì)象的特征,促使機(jī)器可以恰當(dāng)?shù)貓?zhí)行模式識(shí)別。換句話說(shuō),你如何設(shè)置這些標(biāo)識(shí)值會(huì)對(duì)預(yù)測(cè)的精確度產(chǎn)生巨大的影響。潛在而言,機(jī)器學(xué)習(xí)有兩種類型的局限性:·有的算法僅能在數(shù)據(jù)滿足訓(xùn)練數(shù)據(jù)假設(shè)時(shí)才表現(xiàn)良好。這些訓(xùn)練數(shù)據(jù)的分布通常都有一定的差異。大多數(shù)時(shí)候,出現(xiàn)這種問(wèn)題表明學(xué)習(xí)模型沒(méi)有泛化好?!ぜ幢闶怯?xùn)練良好的模型,依舊無(wú)法做出良好的元-決策(Meta-Decision)。
因此,很多情況下,機(jī)器學(xué)習(xí)只能在一個(gè)非常狹窄的領(lǐng)域取得成功。讓我們看一個(gè)簡(jiǎn)單的例子,以便你更容易地理解特征對(duì)模型預(yù)測(cè)精度的巨大影響。假設(shè)有這樣一家公司,它希望依據(jù)客戶的資產(chǎn)量情況,向他們推銷資產(chǎn)管理的一攬子解決方案。公司希望能推薦適合用戶的產(chǎn)品,不過(guò)它又不能詢問(wèn)過(guò)于私人的問(wèn)題,因此需要預(yù)測(cè)客戶可能擁有多少資產(chǎn),并預(yù)先進(jìn)行準(zhǔn)備。
這種情況下,我們應(yīng)該把哪些類型的潛在客戶作為特征呢?我們可以假設(shè)各種各樣的因素,譬如他們的身高、體重、年齡、居住地址諸如此類作為分析的特征,不過(guò),顯而易見(jiàn)的是相對(duì)于身高和體重,年齡或者居住地址的相關(guān)性要高得多。
如果你讓機(jī)器學(xué)習(xí)基于身高或者體重進(jìn)行分析,很可能無(wú)法得到好的結(jié)果,因?yàn)檫@時(shí)預(yù)測(cè)基于的數(shù)據(jù)是沒(méi)有相關(guān)性的,這意味著所進(jìn)行的是一種隨機(jī)的預(yù)測(cè)。由此我們可以知道,機(jī)器學(xué)習(xí)只有在讀入恰當(dāng)?shù)奶卣髦蟛拍転閱?wèn)題找出符合要求的答案。
然而,不幸的是,機(jī)器學(xué)習(xí)無(wú)法判斷什么樣的特征是恰當(dāng)?shù)?,因此,機(jī)器學(xué)習(xí)的準(zhǔn)確性嚴(yán)重依賴于特征工程!機(jī)器學(xué)習(xí)有大量的方法,然而,這些林林總總的方法都無(wú)法解決特征工程的問(wèn)題。人們研發(fā)了各種各樣的方法,互相比拼算法的精確度,不過(guò)當(dāng)達(dá)到一定的精確度之后,最終判斷機(jī)器學(xué)習(xí)算法優(yōu)良的標(biāo)準(zhǔn)是人們發(fā)現(xiàn)特征的能力。
這絕非算法上的差異,更多的時(shí)候像是人類的直覺(jué),或者品味,或者對(duì)參數(shù)的調(diào)優(yōu),這些工作毫無(wú)創(chuàng)新可言。各式各樣的方法被創(chuàng)造出來(lái),不過(guò)歸根到底,最難的事情是如何選擇最優(yōu)特征(Identity),而這部分工作目前只能由人來(lái)完成。
文章參考:深度學(xué)習(xí),java語(yǔ)言實(shí)現(xiàn), 成都軟件開(kāi)發(fā)公司