大家對(duì)AI抱有很高熱情,也有很多想象,但沒法比較準(zhǔn)確地概括出AI,并做出一些判斷。以下知識(shí)可能是個(gè)很好的開始,不需要太多基礎(chǔ),最多是高中數(shù)學(xué)就可以,只需要耐心地花上15-20分鐘,并跟著一起思考,相信對(duì)您加深對(duì)AI的理解會(huì)有一些幫助。 ? 那么,我們開始: ?
機(jī)器學(xué)習(xí)主要價(jià)值就是學(xué)習(xí)一個(gè)經(jīng)驗(yàn)E,根據(jù)這個(gè)學(xué)習(xí)到的經(jīng)驗(yàn)E去執(zhí)行一個(gè)任務(wù)T,目標(biāo)是優(yōu)化執(zhí)行任務(wù)T的表現(xiàn)P。 ? 比如:在銀行,根據(jù)數(shù)據(jù),AI學(xué)習(xí)客戶表現(xiàn)和客戶信用之間的關(guān)系,這個(gè)關(guān)系是經(jīng)驗(yàn)E;然后為每個(gè)客戶實(shí)時(shí)計(jì)算更準(zhǔn)確的信用卡額度,這個(gè)是任務(wù)T;目標(biāo)P是在一定風(fēng)險(xiǎn)承擔(dān)范圍內(nèi),增加銀行信用卡收入。(因?yàn)橹耙坏肚械念~度變更準(zhǔn)則,遠(yuǎn)遠(yuǎn)不如AI指定的精細(xì)額度有效率。) ? 好了,了解了AI是干什么的,那AI是怎么干呢?
機(jī)器學(xué)習(xí)的基礎(chǔ)流程
具體流程如下圖,請(qǐng)大家明晰,這七步是在干什么,以什么邏輯和時(shí)間軸。后續(xù)的介紹將聚焦在其中一兩個(gè)步驟。但我們經(jīng)常混淆,比如混淆AI訓(xùn)練和AI執(zhí)行任務(wù)。 ?
1.????選擇算法。比如,剛才銀行的例子,我們先要對(duì)客戶進(jìn)行分類找到黑名單,這是分類算法,也要通過客戶行為預(yù)測(cè)他的額度水平,這是回歸算法。前篇對(duì)于Transformer的討論,就是一個(gè)最新的高級(jí)一些的算法。
2.???準(zhǔn)備高質(zhì)量的數(shù)據(jù),并進(jìn)行特征工程。通常這些要花費(fèi)很多時(shí)間,特別是工業(yè)界,往往沒有高質(zhì)量的數(shù)據(jù)。這里數(shù)據(jù)質(zhì)量有四個(gè)層面:一是絕對(duì)的數(shù)據(jù)量,這個(gè)好理解。二是樣本數(shù)據(jù),比如,在銀行風(fēng)控領(lǐng)域,如果只是交易數(shù)據(jù),那不是樣本,必須有真正的欺詐數(shù)據(jù);比如,在設(shè)備管理領(lǐng)域,不但要有設(shè)備的運(yùn)行數(shù)據(jù),還要有設(shè)備的故障數(shù)據(jù),這樣機(jī)器才可以真正學(xué)習(xí)。三是數(shù)據(jù)的處理效率,對(duì)于AI真正有價(jià)值的往往是實(shí)時(shí)數(shù)據(jù),這是發(fā)揮AI決策最大價(jià)值的關(guān)鍵。四是特征工程,只有數(shù)據(jù)是不夠的,要進(jìn)行處理,拿出機(jī)器可以理解而且有價(jià)值的特征才是根本。最簡(jiǎn)單的例子就是男、女要分別改成0或1。特征工程是AI計(jì)算最重要的領(lǐng)域,整個(gè)深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)可以理解為就是在做數(shù)據(jù)的特征工程。
3.???對(duì)數(shù)據(jù)用算法進(jìn)行訓(xùn)練。這個(gè)訓(xùn)練的過程才是讓機(jī)器有能力執(zhí)行任務(wù)的關(guān)鍵步驟,而且很多計(jì)算算法的邏輯也針對(duì)的這部分。我們講算力是決定性因素,也往往指訓(xùn)練階段的算力瓶頸。
4.??訓(xùn)練結(jié)束一般還要做很多測(cè)試,確保這個(gè)經(jīng)驗(yàn)是能夠應(yīng)對(duì)多種情況,從而真正形成經(jīng)驗(yàn)E。
5.???經(jīng)驗(yàn)E要用到生產(chǎn)系統(tǒng),實(shí)時(shí)地執(zhí)行任務(wù)T。比如,上面例子中,我們核心任務(wù)是對(duì)每個(gè)用戶的信用額度動(dòng)態(tài)調(diào)整。
6.???評(píng)估執(zhí)行表現(xiàn)。AI的表現(xiàn)相對(duì)于人工會(huì)提升多少,和計(jì)劃是否有偏差等。
7.???持續(xù)優(yōu)化。這里的優(yōu)化是全方位的,既要更新算法,提高數(shù)據(jù)質(zhì)量,又要有更擬合的訓(xùn)練結(jié)果及更實(shí)時(shí)地執(zhí)行任務(wù)等。經(jīng)常聽客戶說,AI可能在我們這里落地效果不好。其實(shí)AI在哪里落地,剛開始時(shí)效果都不會(huì)好,真正讓AI起作用,是需要持續(xù)優(yōu)化。第四范式的很多AI驅(qū)動(dòng)的客戶,也把這一條當(dāng)做自己重要的核心競(jìng)爭(zhēng)力,即持續(xù)迭代的能力。
機(jī)器學(xué)習(xí)的理論基礎(chǔ)
我們先從這個(gè)經(jīng)驗(yàn)E如何訓(xùn)練出來談起。 ? 假設(shè),這個(gè)經(jīng)驗(yàn)E可以抽象成一個(gè)線性關(guān)系(當(dāng)然現(xiàn)實(shí)世界不一定是簡(jiǎn)單的線性關(guān)系,這里只是簡(jiǎn)單化處理),即設(shè)Y=f(x)=wx+b,x是銀行數(shù)據(jù)(比如:還款逾期率),Y是信用額度。我們要學(xué)習(xí)的經(jīng)驗(yàn)E,就是學(xué)習(xí)這個(gè)f( ),這個(gè)概念很重要,建議停下來稍加理解。 ? 要想得到f( ),需要先拿一些樣本(也就是我們事先知道一些x數(shù)據(jù),以及對(duì)應(yīng)的y)進(jìn)行訓(xùn)練。 ? 例如: ?
信用額度 | 還款逾期率 |
100000 | 0% |
20000 | 5% |
120000 | 15% |
100000 | 12.4% |
80000 | 35% |
我們希望利用這些x到y(tǒng)的樣本,反推出f(?)這個(gè)線性函數(shù)。
如圖1:在還款逾期率這個(gè)x和信用卡額度y這個(gè)空間里,我們有個(gè)很多樣本,需要預(yù)測(cè)的是這條直線y=wx+b長(zhǎng)什么樣。
我們可以給機(jī)器設(shè)置一個(gè)規(guī)定的步長(zhǎng),窮舉出很多y=wx+b。但應(yīng)該選擇哪個(gè)呢?
這里要引入:成本函數(shù)?J
成本函數(shù)的簡(jiǎn)單定義:我們預(yù)測(cè)的直線到“每個(gè)樣本的距離之和”的平均值。
假設(shè)我們選定了一條直線或者說一個(gè)f(),那么在X(1)?給定情況下,y(1)是樣本對(duì)應(yīng)的數(shù)值,是f()得出的數(shù)值。M為樣本個(gè)數(shù)。
這個(gè)函數(shù)就是這條我們預(yù)測(cè)的直線到每個(gè)樣本的距離之和的平均值。即我們應(yīng)該找到一條直線,它距離每個(gè)樣本的平均距離最短。也就是對(duì)應(yīng)成本函數(shù)最低的那個(gè)。
這里可能大家有些懵,我們梳理一下:
這里有幾個(gè)概念:真實(shí)世界發(fā)生的事件,被數(shù)據(jù)記錄下來,被記錄下來并拿來做
樣本的,這三個(gè)層次是不是逐漸縮小了?再往后,我們訓(xùn)練產(chǎn)生一個(gè)y=wx+b,其目標(biāo)是利用樣本數(shù)據(jù)訓(xùn)練一個(gè)規(guī)律,從而可以預(yù)測(cè)真實(shí)世界。簡(jiǎn)言之,第一件事是訓(xùn)練出很多y=wx+b,第二件是比較哪個(gè)y=wx+b更好,第三件是選出那個(gè)最好的。
在實(shí)際操作中,計(jì)算機(jī)會(huì)算出各種可能的f( ),并算出相對(duì)應(yīng)的成本函數(shù),這個(gè)成本函數(shù)的取值就像圖3顯示的,是一個(gè)曲折的球面,機(jī)器利用規(guī)則在尋找那個(gè)山谷的最低點(diǎn),也就是成本函數(shù)取值最小那個(gè)點(diǎn),這個(gè)點(diǎn)所對(duì)應(yīng)的f(),就是我們要找到的那個(gè)。這種方法就是梯度下降。
圖3
因此,計(jì)算機(jī)學(xué)習(xí)經(jīng)驗(yàn)E的過程,就是給定一部分x,y數(shù)據(jù)(樣本),預(yù)測(cè)總體上f( )長(zhǎng)什么樣。利用的方法就是通過梯度下降的方法,找到成本函數(shù)最低的那個(gè)f( )。
所謂梯度下降,其原理就是提前設(shè)置一個(gè)學(xué)習(xí)率。學(xué)習(xí)率是告訴計(jì)算機(jī)該以什么變動(dòng)頻率產(chǎn)生多個(gè)f( )用來比較。如果這個(gè)f( )是個(gè)線性方程,其中一個(gè)學(xué)習(xí)率就是這個(gè)斜率的變化。比如,機(jī)器預(yù)測(cè)這個(gè)方程式y(tǒng)=3x,如果學(xué)習(xí)率是0.1,那么下一個(gè)預(yù)測(cè)的就是y=3.1x。機(jī)器學(xué)習(xí),就是這樣每得出一個(gè)方程,就計(jì)算一個(gè)相應(yīng)的成本函數(shù),然后通過梯度逐步下降原則,找到成本函數(shù)最小的方程。
通過梯度下降計(jì)算后,選出最優(yōu)f( ),計(jì)算機(jī)就能夠完成任務(wù)T。在例子中就是,如果有新的還款逾期率數(shù)據(jù),機(jī)器可以根據(jù)f( )預(yù)測(cè)相對(duì)應(yīng)的信用卡額度,從而給出更合理的銀行客戶信用額度,因此提升了銀行服務(wù)客戶效率,帶來了信用卡對(duì)應(yīng)收入的提高。
機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)——向量
剛才那個(gè)例子,X是還款逾期率,也就是說只有一個(gè)變量。但現(xiàn)實(shí)生活中,影響信用額度的不只是一個(gè)變量。還會(huì)有性別、年齡、地區(qū)、年薪、存款額、信用卡交易額、違約次數(shù)等諸多特征,如下表(圖4)。 ?
圖4 ? 表格中是兩個(gè)樣本,每個(gè)樣本都是一組數(shù)據(jù),是銀行客戶的基本畫像以及交易行為。銀行客戶的信用卡額度應(yīng)該是這些信息綜合決定。 ? 這里每一行數(shù)據(jù),稱為一個(gè)向量;可以表示為: ? ? 每個(gè)向量里都包含了各種特征數(shù)據(jù)。 ? 向量是高維空間的某個(gè)點(diǎn),在這個(gè)例子中這個(gè)高維空間就是由這8個(gè)特征類別組成的高維空間。 ? 相比較y=f(x)在二維,y=f( )我們需要在這個(gè)高維空間去計(jì)算。 ? 這個(gè)從y=f(x)到y(tǒng)=f( )的轉(zhuǎn)換非常重要,是一定要理解的概念,整個(gè)AI的數(shù)學(xué)基礎(chǔ)都建立在最小的計(jì)算單元——向量上。 ? 為什么要升到這個(gè)高維度來看數(shù)據(jù)?這里有個(gè)背景,就是我們希望數(shù)學(xué)公式盡量是線性方程,而不是多元方程;只有當(dāng)數(shù)據(jù)被放到一個(gè)非常大的維度中,數(shù)據(jù)才可以更容易呈現(xiàn)線性關(guān)系。 ? ? ?
機(jī)器學(xué)習(xí)的進(jìn)階——神經(jīng)網(wǎng)絡(luò)
另外,在開始之前,有必要再介紹一下神經(jīng)網(wǎng)絡(luò)基礎(chǔ)概念
我們定義樣本數(shù)據(jù):X(1)?X(2)?X(3)?X(4)…X(i)
每個(gè)樣本數(shù)據(jù)都是一個(gè)個(gè)向量形式,一共i個(gè)樣本,
比如
即每個(gè)樣本有8個(gè)特征
如果我們把y=f( )換一個(gè)形式表達(dá),就如下圖
?
?
即每個(gè)X(1)的向量特征值參與計(jì)算,最后通過梯度下降的方法優(yōu)化成本函數(shù),得到f( )。
那么神經(jīng)網(wǎng)絡(luò),就是在圖5這個(gè)計(jì)算基礎(chǔ)中間,加入了幾個(gè)隱藏層,如圖6就是加入三層隱藏層的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的作用主要是進(jìn)一步提取新的特征,特別是那些隱藏的以及非線性的特征。
我們舉個(gè)例子,還是信用額度計(jì)算問題(見圖7),加入我們?cè)O(shè)計(jì)一層隱藏層,這個(gè)隱藏層對(duì)應(yīng)的四個(gè)節(jié)點(diǎn),分別是掙錢能力、還錢能力、對(duì)銀行忠誠(chéng)度、信用習(xí)慣,這四個(gè)特征是先前數(shù)據(jù)樣本里沒有提供的字段。這些節(jié)點(diǎn)要分別跟我們熟悉的八個(gè)特征逐一進(jìn)行計(jì)算,找出其相關(guān)性,從而得到一個(gè)更精準(zhǔn)的信用額度。
其中掙錢能力、還錢能力、對(duì)銀行的忠誠(chéng)度、信用習(xí)慣是我們?yōu)榱吮阌诶斫舛藶樵O(shè)置的,現(xiàn)實(shí)中機(jī)器可以自動(dòng)計(jì)算出相應(yīng)的可能隱藏層。
在很多神經(jīng)網(wǎng)絡(luò)里,這個(gè)隱藏層數(shù)可以達(dá)到幾十層。某種意義上神經(jīng)網(wǎng)絡(luò)就是對(duì)數(shù)據(jù)原有特征的進(jìn)一步補(bǔ)充,找出那些隱藏在數(shù)據(jù)里非線性的相關(guān)性,作為新的特征加以計(jì)算,提升模型能力,可謂之深度學(xué)習(xí)。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)里面的一個(gè)分支,但目前在各行各業(yè)得到了廣泛的應(yīng)用。
簡(jiǎn)要總結(jié)
講到這里,我們把機(jī)器學(xué)習(xí)的最基本概念做一個(gè)簡(jiǎn)要總結(jié):
① 機(jī)器學(xué)習(xí)基礎(chǔ)流程中我們要搞清楚什么是訓(xùn)練什么是執(zhí)行,另外“持續(xù)優(yōu)化”是重中之重;第四范式在這個(gè)層面上不斷掉坑不斷爬出來,有多年積累。未來企業(yè)的治理結(jié)構(gòu)里很可能會(huì)設(shè)置核心競(jìng)爭(zhēng)力北極星指標(biāo),并通過智能化加以實(shí)現(xiàn);但真正的壁壘就是這個(gè)“持續(xù)優(yōu)化”。
② 機(jī)器學(xué)習(xí)的“訓(xùn)練”部分就是找到f( ),即成本函數(shù)按照梯度下降的方法找到最優(yōu)的f( )。大家理解了找f(),才能進(jìn)入各種算法討論。
③ 強(qiáng)調(diào)向量的概念。這里數(shù)學(xué)上的背景是,我們不希望總是處理多元方程或者叫非線性問題,往往把數(shù)據(jù)放到一個(gè)高維空間,總是可以找到線性關(guān)系,當(dāng)然這增加了非常大的計(jì)算壓力。這個(gè)高維空間的新世界,是我們一定要有概念的,雖然這有些反直覺,而且也沒有物理上映射。
④ 神經(jīng)網(wǎng)絡(luò)是在給定樣本,給定向量特征情況下,對(duì)數(shù)據(jù)特征進(jìn)一步的補(bǔ)充和強(qiáng)化。神經(jīng)網(wǎng)絡(luò)或者深度學(xué)習(xí)是未來的發(fā)展方向,不需要不明覺厲,但可能會(huì)越來越多地聽到。當(dāng)然只從特征強(qiáng)化的角度,解釋神經(jīng)網(wǎng)絡(luò)還是遠(yuǎn)遠(yuǎn)不夠的,但至少是個(gè)不錯(cuò)的開始。
這樣介紹AI其實(shí)很大膽,跟經(jīng)典教科書不太一樣,再次強(qiáng)調(diào)我是門外漢出身,只是學(xué)了一 點(diǎn)之后的經(jīng)驗(yàn)之談,會(huì)有很多錯(cuò)誤也一定不全面,也許半年后回過頭我會(huì)有不同的感悟和心得,到時(shí)再給大家補(bǔ)充。
編輯:黃飛
?
評(píng)論
查看更多