機(jī)器的深度學(xué)習(xí)究竟有多“深”?
每次提起深度學(xué)習(xí),沒(méi)有接觸過(guò)的人會(huì)處于一種模糊臆想狀態(tài),認(rèn)為其遙不可及。本文旨在摘下深度學(xué)習(xí)“高大上”的面紗,用一些簡(jiǎn)化的模型和通俗的比喻闡述其中的概念。
深度學(xué)習(xí)由來(lái)
1980年福島邦彥提出的感知機(jī),但由于計(jì)算代價(jià)過(guò)大,,并且“神經(jīng)網(wǎng)絡(luò)”這個(gè)名詞聽(tīng)起來(lái)和生物相關(guān),投資者們紛紛拒絕,導(dǎo)致未能進(jìn)行實(shí)際的應(yīng)用。
經(jīng)過(guò)一段漫長(zhǎng)的沉寂與暗中生長(zhǎng),2006年Geoffrey Hinton等人在Science雜志上發(fā)表Deep Belief Networks的文章。為了能更好地騙經(jīng)忽悠信徒,率先使用了“深度”這個(gè)詞,從此開(kāi)啟了深度神經(jīng)網(wǎng)絡(luò)的新時(shí)代。
深度學(xué)習(xí)的本源其實(shí)就是神經(jīng)網(wǎng)絡(luò)的在機(jī)器學(xué)習(xí)中的應(yīng)用,它是機(jī)器學(xué)習(xí)的子集,如下圖:
機(jī)器學(xué)習(xí)
我們?nèi)粘W鰯?shù)學(xué)題,是已知公式(規(guī)則),拿到題目(數(shù)據(jù))去求答案;機(jī)器學(xué)習(xí)正好相反,它是給出數(shù)據(jù)和答案,需要機(jī)器去學(xué)習(xí)規(guī)則。
機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí),呈現(xiàn)出相對(duì)較少的數(shù)學(xué)理論,并且是以工程為向?qū)У摹?/p>
這是一門需要上手實(shí)踐的科學(xué),想法更多地是靠實(shí)踐來(lái)證明,而不是靠理論推導(dǎo)。
機(jī)器學(xué)習(xí)分類:
- 無(wú)監(jiān)督式學(xué)習(xí)(回歸、分類)
- 有監(jiān)督式學(xué)習(xí)(回歸、分類)
- 半監(jiān)督式學(xué)習(xí)(聚簇)
我們用養(yǎng)孩子的比喻來(lái)理解機(jī)器學(xué)習(xí)。
無(wú)監(jiān)督式學(xué)習(xí):孩子生出來(lái)直接散養(yǎng),讓孩子自己去面對(duì)世界建立禮義廉恥的價(jià)值觀。把小孩和貓咪狗狗放在一塊,經(jīng)過(guò)一段時(shí)間,他會(huì)知道貓和狗是不同類型的東西,但沒(méi)有人為引導(dǎo),他不知道“貓”“狗”這樣明確的定義。
由于事物具有多面性和復(fù)雜性的特點(diǎn),僅通過(guò)有限的特征進(jìn)行無(wú)監(jiān)督式學(xué)習(xí),容易出現(xiàn)與人類期望不符的結(jié)果,例如“長(zhǎng)頭發(fā)的人和長(zhǎng)頭發(fā)的狗”,如下圖。這種方式是把具有相似性的事物歸為一類(聚簇),分離結(jié)果只能通過(guò)特征的表象,缺點(diǎn)是結(jié)果容易跑偏,不符合期望。
(圖片來(lái)源于網(wǎng)絡(luò))
有監(jiān)督式學(xué)習(xí):和無(wú)監(jiān)督式學(xué)習(xí)相反,孩子出生后,虎爸虎媽手把手教學(xué),興趣班疊加補(bǔ)習(xí)班,任何事情都直接給出正確答案。
經(jīng)過(guò)一系列應(yīng)試教育,孩子成績(jī)非常優(yōu)秀(有監(jiān)督學(xué)習(xí)的識(shí)別率普遍比無(wú)監(jiān)督高許多)。但一旦遇到稍微超綱的問(wèn)題,立馬懵逼,這就是“過(guò)擬合”。而且,標(biāo)簽的獲取常常需要極大的人工工作量,所以這種方式多用于有明確結(jié)果的數(shù)據(jù)有限的集合。
半監(jiān)督式學(xué)習(xí)介于以上兩者之間,小時(shí)候親力親為教導(dǎo)小孩,長(zhǎng)大后讓他基于已有的基本倫理和社會(huì)道德去接觸大千世界。
所以,半監(jiān)督式學(xué)習(xí)會(huì)有小部分已標(biāo)注的訓(xùn)練集用于初始化學(xué)習(xí),而留下一大部分未標(biāo)注的訓(xùn)練數(shù)據(jù)讓其自我學(xué)習(xí)。
深度學(xué)習(xí)
先回憶下中學(xué)的生物知識(shí),神經(jīng)反射接受信息的過(guò)程:感受器(肌肉)->反射弧->中樞神經(jīng)系統(tǒng)。
我們識(shí)別一個(gè)人通過(guò)模糊到具體的特征,如衣著、頭發(fā)、臉、眼睛、眉毛等特征,每個(gè)特征由一個(gè)神經(jīng)元判斷,深度學(xué)習(xí)就是通過(guò)一個(gè)個(gè)特征組不斷學(xué)習(xí)識(shí)別出事物。
深度學(xué)習(xí)的“深”相對(duì)“淺”而言,優(yōu)點(diǎn)是慢慢深入,前期容易篩選出有用的數(shù)據(jù)集,結(jié)果較準(zhǔn)確。
如文章開(kāi)頭所說(shuō),深度學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)的在機(jī)器學(xué)習(xí)中的應(yīng)用,其技術(shù)定義:學(xué)習(xí)數(shù)據(jù)表示的多級(jí)方法。也可以把深度網(wǎng)絡(luò)看做多級(jí)信息蒸餾操作:信息穿過(guò)連續(xù)的過(guò)濾器,其純度越來(lái)越高(即對(duì)任務(wù)的幫助越來(lái)越大),即權(quán)重越高。
權(quán)重怎么理解?
假設(shè)我們通過(guò)衣著判斷性別,分為四類:穿褲子的女生、穿裙子的女生、穿褲子的男生、穿裙子的男生。通過(guò)日常經(jīng)驗(yàn)知道,穿裙子較大概率是女生,所以資源不應(yīng)該平均分配,也就是權(quán)重不同。
深度網(wǎng)絡(luò)可以先提取“衣著”作為一層神經(jīng)元的篩選,如果恰好篩選出為裙子,那么在篩選出來(lái)的集合里,我們已經(jīng)可以大概率的認(rèn)為這個(gè)樣本90%的概率是女性了。
人會(huì)根據(jù)外界反饋調(diào)節(jié)自身的狀態(tài),深度學(xué)習(xí)也是。在深度學(xué)習(xí)中,衡量實(shí)際與期望誤差的函數(shù)稱為損失函數(shù),根據(jù)損失函數(shù)的損失值反過(guò)來(lái)優(yōu)化調(diào)整權(quán)重,以達(dá)到局部最優(yōu)解。
(深度學(xué)習(xí)的“學(xué)習(xí)”方式)
常見(jiàn)的深度學(xué)習(xí)模型:
- 有監(jiān)督的神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks),ANN&DNN
- 循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)和遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Networks),RNN
- 卷積網(wǎng)絡(luò)(Convolutional Neural Networks),CNN
- 無(wú)監(jiān)督的神經(jīng)網(wǎng)絡(luò)
- 深度生成模型(Deep Generative Models),DGM
- 玻爾茲曼機(jī)(Boltzmann Machines)和受限玻爾茲曼機(jī)(Restricted Boltzmann Machines),BM&RBM
- 深度信念網(wǎng)絡(luò)(Deep Belief Neural Networks),DBNN
- 生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks),GAN
不同的深度學(xué)習(xí)模型有自身的優(yōu)缺點(diǎn),有的擅長(zhǎng)處理分類任務(wù),有的擅長(zhǎng)處理存在前后依賴關(guān)系、有序列關(guān)系的數(shù)據(jù),有的擅長(zhǎng)處理格狀結(jié)構(gòu)化的數(shù)據(jù)等等,開(kāi)發(fā)會(huì)按需選擇。
對(duì)常見(jiàn)的損失函數(shù)“平方誤差函數(shù)”、權(quán)重的自我學(xué)習(xí)“梯度下降法”(尋找局部最優(yōu)解)、不同類型的深度學(xué)習(xí)感興趣的朋友可以在知乎找資料或閱讀一些相關(guān)書(shū)籍。
深度學(xué)習(xí)應(yīng)用舉例
刷資訊APP時(shí),低俗、標(biāo)題黨等文章易吸引眼球但體驗(yàn)差,這類內(nèi)容若泛濫會(huì)嚴(yán)重傷害用戶體驗(yàn),所以對(duì)這類內(nèi)容應(yīng)該進(jìn)行打壓,深度學(xué)習(xí)可以幫上忙。
以低俗識(shí)別為例,俗即“庸俗、低俗、媚俗”,指某人某事不入流、情趣低下或微色情、low等,社會(huì)、情感、搞笑、娛樂(lè)等類別特別容易出現(xiàn),低俗內(nèi)容過(guò)多會(huì)影響閱讀體驗(yàn)和流量生態(tài)的良性循環(huán)。
如何應(yīng)用深度學(xué)習(xí)找出低俗內(nèi)容呢?
第一步:定義低俗和制定標(biāo)準(zhǔn)(case輔助)
第二步:給機(jī)器提供種子詞(具有分值的關(guān)鍵詞)+分類等特征+部分人為規(guī)則+訓(xùn)練集(標(biāo)題+摘要+正文等文本)
(種子詞示例)
(訓(xùn)練集正樣本示例)
第三步:機(jī)器深度學(xué)習(xí)和調(diào)參
例如采用CNN(卷積神經(jīng)網(wǎng)絡(luò)),深度學(xué)習(xí)中根據(jù)損失函數(shù)調(diào)整特征權(quán)重或訓(xùn)練樣本。
第四步:驗(yàn)證集的效果測(cè)評(píng)
低俗文章的識(shí)別屬于二分類評(píng)估,每個(gè)評(píng)估對(duì)象有唯一的結(jié)果,YES或NO。評(píng)估留意三大指標(biāo):準(zhǔn)確率,精確率,召回率。
- 準(zhǔn)確率:機(jī)器識(shí)別正確的樣本數(shù)/樣本總數(shù)(備注:正確識(shí)別包含把低俗樣本識(shí)別為色情,把非低俗樣本識(shí)別為非低俗兩種情況);
- 精確率:機(jī)器正確識(shí)別出的低俗樣本數(shù)總和/機(jī)器識(shí)別出的低俗樣本總;
- 召回率:機(jī)器正確識(shí)別出的低俗樣本數(shù)總和/低俗樣本總數(shù)。
(以上數(shù)據(jù)僅做理論說(shuō)明,不做實(shí)際參考)
- 準(zhǔn)確率=(5000-40-11)/5000=98.98%
- 精確率=140/180=77.78%
- 召回率=140/151=92.72%
低俗樣本對(duì)于大盤來(lái)說(shuō),濃度很低,所以,評(píng)估準(zhǔn)確率沒(méi)有多大意義,更主要是看精確率和召回率。更多經(jīng)典例子來(lái)自疾病試紙和驗(yàn)孕試紙(有興趣的朋友可以查閱一下),所以統(tǒng)計(jì)的時(shí)候需要注意本體的對(duì)象。
第五步:上線或反饋badcase
當(dāng)模型效果達(dá)預(yù)期(召回率和精確率呈現(xiàn)負(fù)相關(guān),最佳組合可用 F Score求得,見(jiàn)文末)即可上線做“苦工”,若不達(dá)預(yù)期,根據(jù)badcase繼續(xù)優(yōu)化。
附:F Score,[0,1],值越大表示效果越好
F1 Score:召回率和精確率同等重要
Fβ Score:召回率和精確率不同等重要
- F2:召回率的重要程度是準(zhǔn)確率的2倍
- F0.5:召回率的重要程度是準(zhǔn)確率的一半
(β大于0)
關(guān)于F Score,詳細(xì)可查閱:https://stats.stackexchange.com/questions/221997/why-f-beta-score-define-beta-like-that/221999#221999
參考文獻(xiàn):《Deep Learning with Python》[美]弗朗索瓦·肖萊 著;張亮 譯
本文由 @張小喵Miu 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
666