業(yè)內(nèi)矚目的李世石與谷歌人工智能AlphaGo人機(jī)大戰(zhàn)已經(jīng)賽罷3局,李世石第一局認(rèn)輸之后,引起了全民關(guān)于人工智能的討論,很多人擔(dān)憂有一天人工智能將取代人類……此次人機(jī)大戰(zhàn),無論最后的贏家是誰,以AlphaGo為代表的人工智能已經(jīng)從實(shí)驗(yàn)室逐步走向了商用道路,也開啟了未來的萬億級(jí)的大市場(chǎng)。其實(shí)很多技術(shù)已經(jīng)在日常生活中和普通人有了關(guān)系。人工智能在諸如智能穿戴設(shè)備、無人機(jī)、基于大數(shù)據(jù)的業(yè)務(wù)分析等領(lǐng)域得到應(yīng)用,節(jié)省了大量人工成本,機(jī)器人的時(shí)代已經(jīng)到來,這已經(jīng)是無可避免的歷程。今后機(jī)器人也將逐漸走進(jìn)人類的生活中,甚至替代人類。雖然實(shí)體機(jī)器人短期無法普及到各個(gè)行業(yè),但虛擬機(jī)器人接入簡(jiǎn)單,使用方便,機(jī)動(dòng)性強(qiáng)。一旦開始應(yīng)用,便會(huì)像病毒一樣普及。。 智能機(jī)器人,是一種通過自然語言模擬人類進(jìn)行對(duì)話的程序。通常運(yùn)行在特定的軟件平臺(tái)上,主要功能是同用戶進(jìn)行基本溝通并自動(dòng)回復(fù)用戶有關(guān)產(chǎn)品或服務(wù)的問題,以實(shí)現(xiàn)降低企業(yè)客服運(yùn)營(yíng)成本、提升用戶體驗(yàn)的目的。其應(yīng)用場(chǎng)景通常為網(wǎng)站和手機(jī)終端。代表性的商用系統(tǒng)有:某新三板上市企業(yè)機(jī)器人"小x"、"風(fēng)語者小懂機(jī)器人"等。 到底目前的智能機(jī)器人智能如何,優(yōu)劣勢(shì)在哪里?日前,筆者通過對(duì)同樣以語義理解和人機(jī)交互為核心能力的兩家黑馬:風(fēng)語者機(jī)器人"小懂"、某新三板上市企業(yè)機(jī)器人"小x"的技術(shù)進(jìn)行對(duì)比,以讓讀者了解目前智能機(jī)器人發(fā)展的客觀現(xiàn)狀。 卷積神經(jīng)網(wǎng)絡(luò)與深度神經(jīng)網(wǎng)絡(luò) "小x"選用當(dāng)今最流行的深度神經(jīng)網(wǎng)絡(luò)為主流技術(shù),機(jī)器學(xué)習(xí)采用了有監(jiān)督式學(xué)習(xí)模式(一些特別任務(wù)采用半自動(dòng)化學(xué)習(xí)),知識(shí)庫構(gòu)建方面采用一種特殊的結(jié)構(gòu)將知識(shí)按照不同的屬性分類存儲(chǔ)在數(shù)據(jù)庫。風(fēng)語者機(jī)器人小懂則采用更為先進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)技術(shù),機(jī)器學(xué)習(xí)方面大量應(yīng)用了無需人工干預(yù)的無監(jiān)督學(xué)習(xí)技術(shù),知識(shí)庫方面則應(yīng)用領(lǐng)域劃分的到最小單位,以特定領(lǐng)域的特定任務(wù)為核心構(gòu)建高性能知識(shí)庫。卷積神經(jīng)網(wǎng)絡(luò)相比深度神經(jīng)網(wǎng)絡(luò)有何優(yōu)勢(shì)?有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)?小懂、小x在知識(shí)庫構(gòu)建有什么不同呢個(gè)?筆者對(duì)這三個(gè)問題,進(jìn)行了更詳細(xì)的分析: 據(jù)羿歌信息科技所了解,深度神經(jīng)網(wǎng)絡(luò)是現(xiàn)在各家人工智能企業(yè)最為流行的技術(shù),大到微軟、google這樣的跨國大企業(yè),小到創(chuàng)業(yè)中的圖靈、智齒無一不打出深度神經(jīng)網(wǎng)絡(luò)的牌子。深度神經(jīng)網(wǎng)絡(luò)也逐漸各家企業(yè)泛化,人工智能的各個(gè)行業(yè)無論是語音識(shí)別、還是圖形處理都號(hào)稱應(yīng)用了這一技術(shù)。"小x"使用深度神經(jīng)網(wǎng)絡(luò)也算跟上了時(shí)代的步伐,那么究竟什么是深度神經(jīng)網(wǎng)絡(luò),它的效果究竟如何呢?上個(gè)世紀(jì)50年代末,F(xiàn)·Rosenblatt設(shè)計(jì)制作了"感知機(jī)",它是一種多層的神經(jīng)網(wǎng)絡(luò)。這項(xiàng)工作首次把人工神經(jīng)網(wǎng)絡(luò)的研究從理論探討付諸工程實(shí)踐。當(dāng)時(shí),世界上許多實(shí)驗(yàn)室仿效制作感知機(jī),分別應(yīng)用于文字識(shí)別、聲音識(shí)別、聲納信號(hào)識(shí)別以及學(xué)習(xí)記憶問題的研究。 神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)靈感來源于對(duì)人類大腦的一種模擬。神經(jīng)元,也叫做神經(jīng)細(xì)胞,是一種專門負(fù)責(zé)處理和傳輸信息的細(xì)胞。為了互相交流,它們會(huì)釋放出一種化學(xué)信號(hào),或稱為神經(jīng)遞質(zhì),利用突觸在細(xì)胞間傳遞信號(hào)。這些化學(xué)物質(zhì)會(huì)立刻被相鄰的細(xì)胞接收,并轉(zhuǎn)換為電信號(hào),也叫動(dòng)作電位。動(dòng)作電位會(huì)沿著神經(jīng)元細(xì)長(zhǎng)的軸突進(jìn)行擴(kuò)散。當(dāng)它到達(dá)細(xì)胞另一頭時(shí),電信號(hào)再次被轉(zhuǎn)化為化學(xué)信號(hào),釋放到突觸,準(zhǔn)備再次啟動(dòng)整個(gè)過程。上述過程很像是計(jì)算機(jī)的信號(hào)傳遞,人工神經(jīng)網(wǎng)絡(luò)正式模擬了這個(gè)過程,我們似乎在這里看到了創(chuàng)造人工大腦的希望。 然而,這次人工神經(jīng)網(wǎng)絡(luò)的研究高潮未能持續(xù)很久,因?yàn)樯窠?jīng)網(wǎng)絡(luò)計(jì)算量很大,以當(dāng)時(shí)的計(jì)算機(jī)技術(shù)基礎(chǔ)模擬神經(jīng)網(wǎng)絡(luò)是完全不可能的。1968年一本名為《感知機(jī)》的著作中指出線性感知機(jī)功能是有限的,它不能解決如異或這樣的基本問題,而且多層網(wǎng)絡(luò)還不能找到有效的計(jì)算方法,這些論點(diǎn)促使大批研究人員對(duì)于人工神經(jīng)網(wǎng)絡(luò)的前景失去信心。60年代末期,人工神經(jīng)網(wǎng)絡(luò)的研究進(jìn)入了低潮。 但很多科學(xué)家并沒有放棄神經(jīng)網(wǎng)絡(luò)的研究,1986年,Rumelhart、Hinton和Williams提出了多層的誤差反向傳播(ErrorBackPropagation,BP)算法,即BP算法。神經(jīng)網(wǎng)絡(luò)經(jīng)歷了從低谷再到高潮的階段,深度神經(jīng)網(wǎng)絡(luò)概念也在此時(shí)誕生。其實(shí),所謂的深度的神經(jīng)網(wǎng)絡(luò)只是多加一些隱藏層,從下圖可知單層網(wǎng)絡(luò)只進(jìn)行了一層計(jì)算,但多層網(wǎng)絡(luò)進(jìn)行了多次計(jì)算最終得出結(jié)果。 深度網(wǎng)絡(luò)每層的作用是對(duì)上一層特征轉(zhuǎn)換,即以另一種編碼形式表示上一層的特征,同時(shí)應(yīng)用上文提到的誤差反向傳播算法,以減少逐層傳遞的誤差。最后一層是一個(gè)傳統(tǒng)的分類器,大多數(shù)企業(yè)應(yīng)用的是最大熵算法或支持向量機(jī)。雖然在本質(zhì)上深度神經(jīng)網(wǎng)絡(luò)看似與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)沒有區(qū)別,但是一方面由于硬件和具體算法水平的提高,另一方面由于反向傳播算法的應(yīng)用,使得深度神經(jīng)網(wǎng)絡(luò)技術(shù)大大優(yōu)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)。它首先被應(yīng)用的到語音的識(shí)別中,此后逐漸在自然語言處理中發(fā)揮了作用。 與此同時(shí),深度神經(jīng)網(wǎng)絡(luò)的問題也很多暴露在算法工程師目前,主要有以下幾點(diǎn): 1、如果訓(xùn)練樣本足夠充分覆蓋未來的樣本,那么學(xué)到的多層權(quán)重可以很好的用來預(yù)測(cè)新的測(cè)試樣本。但是很多任務(wù)難以得到足夠多的標(biāo)記樣本,這樣的話深度神經(jīng)網(wǎng)絡(luò)的效果不僅比單層還差,甚至不如線性回歸或者決策樹的效果。 2、深度神經(jīng)網(wǎng)絡(luò)的計(jì)算量太大,對(duì)5層以上的深度神經(jīng)網(wǎng)絡(luò)計(jì)算速度已經(jīng)達(dá)到了另人難以忍受的程度。 為了解決以上問題,小懂機(jī)器人提出了一個(gè)創(chuàng)造性的思路,將應(yīng)用于圖形分析的卷積神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于自然語言識(shí)別中。很多人會(huì)提出疑問了什么是卷積?卷積是通過兩個(gè)函數(shù)f和g生成第三個(gè)函數(shù)的一種數(shù)學(xué)算子,表征函數(shù)f與g經(jīng)過翻轉(zhuǎn)和平移的重疊部分的面積。這種數(shù)學(xué)表示可能對(duì)于大多數(shù)人來說并不好理解。 我們舉一個(gè)圖形例子,假設(shè)是做一個(gè)人臉識(shí)別的任務(wù),我們的要用卷積操作提取圖像的輪廓。我們首先把圖像表示成一個(gè)0-255的矩陣(黑色和白色之間有255種灰度)。我們用一個(gè)卷積8*8的卷積算子進(jìn)行計(jì)算。計(jì)算方法:將中心點(diǎn)與其周圍的8個(gè)點(diǎn)依次比較,發(fā)現(xiàn)有一個(gè)差值大于某值n(n=100)的值時(shí),就判斷其為輪廓線上的點(diǎn)并將之置為黑色;若其與周圍8個(gè)點(diǎn)的比較值都小于某值n時(shí),則其不在輪廓線上,置白色。 剛才的操作就是卷積操作,我們發(fā)現(xiàn)通過卷積操作我們成功減少原圖的信息,可以在之后神經(jīng)網(wǎng)絡(luò)計(jì)算中減少計(jì)算量。雖然卷積后的圖像信息比原圖的信息有所減少,但是對(duì)于特定任務(wù),我們可以過濾不要的信息,從而提取我們所需要關(guān)注的特征。說到這里有人可能又會(huì)疑問了這和自然語言理解有什么關(guān)系。我們把可以一句話抽象成為一個(gè)矩陣。具體方法是把一句話的每個(gè)詞用一個(gè)詞向量表示,詞向量中的數(shù)值就是它的特征值。 有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí) 上文看到,卷積網(wǎng)絡(luò)在計(jì)算速度和效果上還是明顯優(yōu)于目前主流的深度神經(jīng)網(wǎng)絡(luò)。下面再來談一下"小x"和"小懂"的機(jī)器學(xué)習(xí)方式。 機(jī)器學(xué)習(xí)方法是計(jì)算機(jī)利用已有的數(shù)據(jù)(經(jīng)驗(yàn)),得出了某種模型(如:遲到的規(guī)律),并利用此模型預(yù)測(cè)未來(如:是否遲到)的一種方法。我們首先將數(shù)據(jù)(語料)通過機(jī)器學(xué)習(xí)算法進(jìn)行處理,這個(gè)過程在機(jī)器學(xué)習(xí)中叫做"訓(xùn)練",處理的結(jié)果可以被我們用來對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè),這個(gè)結(jié)果一般稱之為"模型"。機(jī)器學(xué)習(xí)的目標(biāo)是我們不告訴計(jì)算機(jī)怎么做,而是讓它(計(jì)算機(jī))自己去學(xué)習(xí)怎樣做一些事情。機(jī)器學(xué)習(xí)的方式有兩種:有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。 在有監(jiān)督學(xué)習(xí)中,每個(gè)實(shí)例都是由一個(gè)輸入對(duì)象(通常為矢量)和一個(gè)期望的輸出值(也稱為監(jiān)督信號(hào))組成。監(jiān)督學(xué)習(xí)算法是分析該訓(xùn)練數(shù)據(jù),并產(chǎn)生一個(gè)推斷的功能,其可以用于映射出新的實(shí)例。監(jiān)督學(xué)習(xí)中在給予計(jì)算機(jī)學(xué)習(xí)樣本的同時(shí),還告訴計(jì)算各個(gè)樣本所屬的類別。若所給的學(xué)習(xí)樣本不帶有類別信息,就是無監(jiān)督學(xué)習(xí)。 再舉一個(gè)通俗的例子就是,假設(shè)兩個(gè)人去參加高考。一個(gè)人在平時(shí)練習(xí)的有習(xí)題集的答案,他所進(jìn)行的就是有監(jiān)督學(xué)習(xí),另一個(gè)有習(xí)題集但是沒有答案,那么他所做的就是無監(jiān)督的學(xué)習(xí)。這時(shí)候有人會(huì)提出對(duì)于機(jī)器學(xué)習(xí)的分類問題,沒有具體的標(biāo)簽我們?cè)趺催M(jìn)行分類呢?實(shí)際上,我們?cè)趯?duì)事物進(jìn)行分類的時(shí)候,即使不知道具體分類方法,我們?nèi)阅軌驅(qū)⑹挛锓殖蓭最悺1热纾阂粋(gè)幼兒,可以將玩具進(jìn)行分類,如:各類的汽車、小動(dòng)物、水果、家具。對(duì)于幼兒來講也許她并不知道某種具體的動(dòng)物是什么,也不知道動(dòng)物、汽車這些類屬概念,但是她依然可以對(duì)一堆玩具進(jìn)行分類。因?yàn)槊恳活愅婢哂衅涮匦裕纾簞?dòng)物都有腿,汽車都有輪子。 我們舉一個(gè)自然語言處理中常見的詞典制作的過程,來對(duì)比兩種機(jī)器學(xué)習(xí)方式。假設(shè)我們制作一個(gè)人名的詞典,要標(biāo)注出這個(gè)人物是科學(xué)家、企業(yè)家、政治家、還是歌星、影星。我們?cè)颊Z料就是北京晚報(bào)。在沒有機(jī)器學(xué)習(xí)的模式下,這個(gè)詞典只有自己去建立。雇傭一群人,大家一起看報(bào)紙,把各個(gè)人名抄寫下來,之后寫上每個(gè)人物的屬性。這個(gè)方法需要耗費(fèi)大量的人力成本,還有一問題就是你找到人需要有豐富的百科知識(shí)。比如:馮諾依曼,學(xué)習(xí)計(jì)算機(jī)的人都知道他是數(shù)學(xué)家、現(xiàn)代計(jì)算機(jī)的奠基人,不學(xué)這個(gè)學(xué)科的就未必知道了。 我們?cè)賮砜匆幌掠斜O(jiān)督的學(xué)習(xí)是如何進(jìn)行的,我們事先定義好人物的類別,比如分成10大類。我們?cè)偃ザx每個(gè)類的特征,判斷科學(xué)家的規(guī)則: λ1(應(yīng)用概率)X1:這個(gè)人名在科學(xué)文獻(xiàn)中出現(xiàn)。 λ2(應(yīng)用概率)X2:文章出現(xiàn)"發(fā)明"一詞 λ3(應(yīng)用概率)X3:與已有詞典中某個(gè)科學(xué)家名詞共同出現(xiàn) 。。。。。。 我們先要標(biāo)注一部分的數(shù)據(jù),去訓(xùn)練每個(gè)前面的參數(shù)λ,通過這個(gè)標(biāo)簽數(shù)據(jù)去學(xué)習(xí)出的規(guī)律,得出我們的模型(λ1,λ2….)。之后,之后再用這個(gè)模型去標(biāo)注我們的北京晚報(bào)。這個(gè)過程顯然比上面純?nèi)斯じ苫钋逅啥嗔?但是這里面有幾個(gè)問題。 對(duì)于人物的分類你是否可以想全? 對(duì)于科學(xué)家這個(gè)分類如何進(jìn)行下面的分類,即:再分成植物學(xué)家、天文學(xué)家。天文學(xué)家是否還有下面的分類。 科學(xué)家這個(gè)分類的特征模型(規(guī)則模型)是否合理。 帶著上面的問題我們?cè)賮砜匆幌聼o監(jiān)督的學(xué)習(xí)。與有監(jiān)督學(xué)習(xí)不同,無監(jiān)督學(xué)習(xí)不依賴預(yù)先定義的類或帶類標(biāo)記的訓(xùn)練實(shí)例。無監(jiān)督學(xué)習(xí)是一種探索性的分析,在分類的過程中,人們不必事先給出一個(gè)分類的標(biāo)準(zhǔn),聚類分析能夠從樣本數(shù)據(jù)出發(fā),自動(dòng)進(jìn)行分類。當(dāng)然我們這里要有定一些文本的特征。我們不必給出具體的規(guī)則,我們只需要給出這個(gè)人名所在的文本特征,如文本類型(不用指出具體類型),前后詞特征等。系統(tǒng)自動(dòng)根據(jù)這些特征將科學(xué)家、企業(yè)家、政治家、藝術(shù)家等聚成不同的類,系統(tǒng)也可以繼續(xù)將科學(xué)家分成天文學(xué)家、物理學(xué)家、化學(xué)家等。 行業(yè)知識(shí)庫和任務(wù)知識(shí)庫 最后談一下知識(shí)庫的問題,"小x"機(jī)器人在知識(shí)存儲(chǔ)上的確有一些優(yōu)勢(shì)。號(hào)稱可以通過業(yè)務(wù)知識(shí)分析,整理出業(yè)務(wù)知識(shí)公共屬性的抽象集合,如:業(yè)務(wù)介紹、業(yè)務(wù)資費(fèi)、業(yè)務(wù)辦理方法、業(yè)務(wù)取消方法等屬性。我們不禁對(duì)其知識(shí)庫功效和構(gòu)建方法產(chǎn)生幾點(diǎn)質(zhì)疑。 1、這些知識(shí)在數(shù)據(jù)庫中能否形成推理,是否有足夠的規(guī)則,并且這些規(guī)則直接是有聯(lián)系,可以形成推理。我們對(duì)問題的推理往往基于假言三段論,即:P->Q;Q->R;P->R。.那么對(duì)于如此浩瀚知識(shí)網(wǎng)絡(luò),我們能否有P和R之間的橋梁Q。 2、更為重要的一點(diǎn)是知識(shí)庫的構(gòu)建需要耗費(fèi)很多人力,同時(shí)需要大量的學(xué)科專家和語言專家的參與,建設(shè)周期長(zhǎng),對(duì)于小規(guī)模的數(shù)據(jù)效果很不好。 "小懂"機(jī)器人將知識(shí)的構(gòu)建縮小的一個(gè)相對(duì)集中的任務(wù)上,如:根據(jù)用戶主訴病情推薦應(yīng)做的檢查、智能寵物完成主人特定的任務(wù)。任務(wù)中包含的實(shí)體概念相對(duì)集中,實(shí)體與實(shí)體的關(guān)系也相對(duì)清晰。病情庫中的實(shí)體有:疾病、癥狀、時(shí)間、年齡、性別、檢查等。對(duì)于“小x"機(jī)器人號(hào)稱建立金融、交通幾大行業(yè)的知識(shí)庫,不知道它是真正的知識(shí)庫還是把數(shù)據(jù)庫包裝了一個(gè)華麗的概念。在大家都在吹噓行業(yè)知識(shí)庫的時(shí)候,我們姑且將"小懂"機(jī)器人的知識(shí)庫稱為任務(wù)知識(shí)庫,它針對(duì)一個(gè)特定任務(wù)而構(gòu)建,能夠非常準(zhǔn)確的完成用戶預(yù)定的任務(wù)。 綜合評(píng)價(jià) 反觀"小x"機(jī)器人,與"小懂"機(jī)器人相比,它則在走一條相對(duì)傳統(tǒng)技術(shù)的路線上,雖然對(duì)深度神經(jīng)網(wǎng)已再度興起,但終究沒有改進(jìn)時(shí)間復(fù)雜度高的痛點(diǎn)問題。"小x"機(jī)器人的機(jī)器學(xué)習(xí)算法、知識(shí)庫構(gòu)方法需要進(jìn)行人工標(biāo)注、專家建庫等大量的人工參與,實(shí)際應(yīng)用中需要針對(duì)客戶需求進(jìn)行較長(zhǎng)時(shí)間的二次研發(fā)。 可以說,"小懂"機(jī)器人是技術(shù)向商業(yè)轉(zhuǎn)化的成果,輸出的是產(chǎn)品。在很多技術(shù)方面,采用了獨(dú)創(chuàng)性的方法,解決了當(dāng)今人工智能領(lǐng)域的很多痛點(diǎn)問題。相信在不久的將來,一個(gè)能夠讓人們與之無所不談的高"情商"智能機(jī)器人將走入我們的日常生活,成為我們的朋友、同事甚至是家人。讓我們拭目以待。共同迎來智能機(jī)器人發(fā)展的黃金時(shí)代。 |