0
雷鋒網(wǎng)AI科技評論按:近期Yann LeCun的新作《Hierarchical loss for classification》已經(jīng)放在了arXiv上,聯(lián)合作者為Facebook人工智能研究院的Cinna Wu和 Mark Tygert。
在這篇文章中,作者認(rèn)為在分類任務(wù)中,一般的神經(jīng)網(wǎng)絡(luò)模型(例如LeCun, Bengio 和 Hinton等人2015年中的模型,其他研究的模型也大多基于此展開的)很少會考慮到類型之間的親疏關(guān)系,例如這些模型的分類學(xué)習(xí)過程中并沒有考慮牧羊犬事實上比摩天大樓更像哈巴狗。在文章中,作者通過“超度規(guī)類樹”構(gòu)造了一種新的損失函數(shù),稱為“層級損失函數(shù)”。這種損失函數(shù)因為內(nèi)含了類型樹中不同類之間的親疏關(guān)系,預(yù)期中應(yīng)當(dāng)能夠增強(qiáng)分類學(xué)習(xí)的效果。不過經(jīng)過六組實驗的對比,作者發(fā)現(xiàn)結(jié)果并沒有顯著的改進(jìn)。作者認(rèn)為,不管怎么著吧,至少這表明層級損失函數(shù)能用。
雷鋒網(wǎng)認(rèn)為,它不僅能用,還極具潛力,因為LeCun只是用了最簡單的“超度規(guī)類樹”來闡述這種思想,相信在選用更合適的超度規(guī)樹后,分類學(xué)習(xí)會得到一個更好的結(jié)果。下面我們來看具體內(nèi)容。
注:由于獲得函數(shù)(Win Function)與損失函數(shù)是同一個內(nèi)容的相反表示,訓(xùn)練過程其實就是在尋找最小的損失函數(shù)或者最大的獲得函數(shù)。所以接下來只考慮層級獲得函數(shù)的構(gòu)建。
構(gòu)建層級獲得函數(shù),首先需要一個類樹,也即將待分的所有類按照親疏關(guān)系放到一顆關(guān)系樹中,每一個類都是類樹中的“樹葉”。對于一個輸入,分類器會映射到類樹每個樹葉上一個概率值,也即一個概率分布(圖中P1-P7)。類樹中每個節(jié)點處,文章中規(guī)定,其對應(yīng)的概率值為其下所有樹葉概率值的和,如圖中所示。顯然在不考慮計算機(jī)的浮點誤差的情況下,“根部”的概率應(yīng)該為1。
另一方面,對每個“節(jié)點”和“樹葉”都賦予一個權(quán)重。文章中規(guī)定,“根部”的權(quán)重為1/2,隨后每經(jīng)過一個“節(jié)點”,權(quán)重乘以1/2,直到樹葉;樹葉的權(quán)重由于是“樹”的末端,所以其權(quán)重要雙倍,如圖所示。
如果我們輸入一張A的圖片,那么我們可以計算其層級獲得函數(shù)W:
其中
從上面可以看到,事實上層級獲得函數(shù)的構(gòu)造非常簡單,就是一個結(jié)構(gòu)權(quán)重向量和概率分布向量的一個點乘。同樣可以看出,不管分類器給出什么樣的概率分布,層級獲得函數(shù)的范圍都在[1/2,1]區(qū)間內(nèi);當(dāng)P1=1時,W最大,為1;而當(dāng)P5、P6、P7中的任意一個等于1時,W最小,為1/2。在類樹中接近A的類的概率越大,層級獲得函數(shù)值就越大,所以層級獲得函數(shù)在某種程度上隱含了類之間親疏的關(guān)系,也構(gòu)建了分類器準(zhǔn)確度的一種度量。
有時候分類器給出的分布可能不是概率,這時候為了獲得一個正則的分布,我們可以使用softmax函數(shù)的方法,也即將(x1, x2, x3, ……xn)的分布序列轉(zhuǎn)換成
這樣的概率分布,顯然滿足正則性,且分布在(0,1)區(qū)間內(nèi)。這種方法不僅可以對向量進(jìn)行歸一化,更重要的是它能夠凸顯出其中最大的值并抑制遠(yuǎn)低于最大值的其他分量。
當(dāng)采用softmax函數(shù)的結(jié)果作為概率分布時,最好是使用層級獲得函數(shù)W的對數(shù)進(jìn)行優(yōu)化學(xué)習(xí),而不是W本身。使用logW進(jìn)行優(yōu)化的好處之一就是,當(dāng)輸入樣本為多個獨立樣本時,它們的聯(lián)合概率將是它們概率的乘積;這時候?qū)@些樣本的獲得函數(shù)W進(jìn)行求平均就具有了意義(在特殊情況下logW的平均將等于聯(lián)合概率的對數(shù))。
文章中對logW’ 的構(gòu)建為:舍掉W中“根部”的項,然后將剩下的部分乘以2,此時W’=(W-1/2)*2的范圍在[0,1]之間(其中0對應(yīng)最錯誤的分類,1則對應(yīng)完全正確的分類),相應(yīng)的,logW’將在(-∞,0]之間。
這就會導(dǎo)致一個問題。當(dāng)多個獨立樣本,求log W’的平均值時,只要有一個出現(xiàn)了最錯誤的判斷,那么不管其他樣本的結(jié)果如何,log W’的平均值都會等于無窮大。所以這種方法對樣本及學(xué)習(xí)過程都有非常嚴(yán)格的要求。
作者隨后用Joulin等人的fastTest文本分類監(jiān)督學(xué)習(xí)模型對層級獲得函數(shù)進(jìn)行了六組實驗(六個數(shù)據(jù)集)。結(jié)果如下:
說明:
(1)flat表示沒有分類的情況(沒有分類相當(dāng)于類樹只有一個層級),raw表示用層級獲得函數(shù)進(jìn)行訓(xùn)練,log表示用負(fù)的層級獲得函數(shù)的對數(shù)進(jìn)行訓(xùn)練,course表示在層級中使用通常的交叉熵?fù)p失函數(shù)只分類到最粗糙類(聚合)。(2)one-hot win via hierarchy 表示喂給層級獲得函數(shù)的概率分布為獨熱碼(只有一個為1,其余為0)
(3)softmax win via hierarchy 表示喂給層級獲得函數(shù)的概率分布為softmax函數(shù)的結(jié)果;
(4)?log of win via hierarchy 表示(3)中層級獲得函數(shù)的負(fù)自然對數(shù);
(5)cross entropy表示使用交叉熵?fù)p失函數(shù)計算的結(jié)果,這種情況相當(dāng)于類樹只有一個層級;
(6)coarsest accuracy 表示最粗糙分類正確的比例結(jié)果;
(7)parents’ accuracy 表示父級分類正確的比例結(jié)果;
(8)finest accuracy 表示分類到最終每一個類中正確的比例結(jié)果。
(9)最后一行的“higher”和“l(fā)ower”分別表示相應(yīng)的列中“越大”和“越小”的值越好。
通過以上結(jié)果,我們可以看到很多時候,通過層級獲得函數(shù)優(yōu)化的結(jié)果并沒有原來通過交叉熵?fù)p失函數(shù)優(yōu)化的結(jié)果好。那么,LeCun的這項工作白做了嗎?也并不是,至少它表明在一定程度上層級獲得函數(shù)能夠用做作為分類準(zhǔn)確度的度量,它暗示了一種可能:當(dāng)有采用更合適的層級獲得函數(shù)時,效果可能會超過當(dāng)前所常用的交叉熵?fù)p失函數(shù)等方法。
那么機(jī)會來了,“更合適”有多種可能,就看你如何構(gòu)造了!
雷鋒網(wǎng)注:原文鏈接 https://arxiv.org/pdf/1709.01062.pdf
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。