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