SIGIR是一個(gè)展示信息檢索領(lǐng)域中各種新技術(shù)和新成果的重要國(guó)際論壇,若非疫情影響,,今年本定于中國(guó)西安市舉行,。7月25日-7月30日,第43屆SIGIR2020在線上舉行,。 7月27日,,2018年圖靈獎(jiǎng)得主Geoffrey Hinton帶來(lái)了主題為《The Next Generation of Neural Networks》的講座。講座由約克大學(xué)信息技術(shù)學(xué)院正教授Jimmy Huang主持,,ACM杰出科學(xué)家,、吉林大學(xué)人工智能學(xué)院常毅教授擔(dān)任嘉賓。 在講座中,,Honton指出:人工神經(jīng)網(wǎng)絡(luò)最重要的未解難題之一,,是如何像大腦一樣有效地進(jìn)行無(wú)監(jiān)督學(xué)習(xí)。 當(dāng)前有兩種主要的無(wú)監(jiān)督學(xué)習(xí)方法: 第一種方法,以BERT和變分自編碼器為例,,使用了深度神經(jīng)網(wǎng)絡(luò)來(lái)重建其輸入,。這種方法對(duì)于圖像來(lái)說(shuō)是有問(wèn)題的,因?yàn)榫W(wǎng)絡(luò)的最深層需要對(duì)圖像的精細(xì)細(xì)節(jié)進(jìn)行編碼,。 第二種方法是Becker和Hinton在1992年提出的:當(dāng)給定相同圖像的兩個(gè)不同片段作為輸入時(shí),,訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的兩個(gè)副本以產(chǎn)生具有高互信息的輸出向量。設(shè)計(jì)此方法的目的是使表征形式不受輸入無(wú)關(guān)細(xì)節(jié)的束縛,。 Becker和Hinton使用的優(yōu)化互信息的方法存在缺陷(出于一個(gè)微妙的原因,,講座中會(huì)解釋?zhuān)虼薖acannaro和Hinton將其替換為判別性目標(biāo)函數(shù),,在該目標(biāo)函數(shù)中,,一個(gè)向量表征必須從許多替代方案中選擇相應(yīng)的向量表征。 表征的對(duì)比學(xué)習(xí)(contrastive learning of representations)被證明非常有效,,但是它存在一個(gè)主要缺陷:要學(xué)習(xí)具有N位互信息的成對(duì)的表征向量,,我們需要將正確的對(duì)應(yīng)向量和大約2^N個(gè)錯(cuò)誤的替代方案進(jìn)行對(duì)比。Hinton將描述解決這種局限性的新穎有效方法,,并且表明這將導(dǎo)致在皮質(zhì)中實(shí)現(xiàn)感知學(xué)習(xí)的簡(jiǎn)單方法,。 Geoffrey Hinton現(xiàn)在是多倫多大學(xué)的計(jì)算機(jī)科學(xué)系榮譽(yù)退休教授,Google的副總裁兼工程研究員,,以及Vector Institute的首席科學(xué)顧問(wèn),。他最早使用反向傳播學(xué)習(xí)單詞嵌入,對(duì)神經(jīng)網(wǎng)絡(luò)研究的其他貢獻(xiàn)包括玻爾茲曼機(jī),、分布式表示,、時(shí)延神經(jīng)網(wǎng)絡(luò)、專(zhuān)家混合,、變分學(xué)習(xí)和深度學(xué)習(xí),。2018年,Geoffrey Hinton因在深度學(xué)習(xí)方面的貢獻(xiàn)與Yoshua Bengio,、Yann LeCun一同被授予了圖靈獎(jiǎng),。 以下是演講全文,AI科技評(píng)論進(jìn)行了不改變?cè)敢獾恼怼?/p> 1 無(wú)監(jiān)督學(xué)習(xí)的歷史 1,、自編碼器 在這次演講中,我將討論神經(jīng)網(wǎng)絡(luò)的未來(lái)發(fā)展方向,。不過(guò)在這之前,,我會(huì)先談?wù)勆窠?jīng)網(wǎng)絡(luò)的發(fā)展歷史,特別是無(wú)監(jiān)督學(xué)習(xí),。 在機(jī)器學(xué)習(xí)中,,有三種不同類(lèi)型的學(xué)習(xí)模式:首先是監(jiān)督學(xué)習(xí),即給定輸入向量學(xué)習(xí)預(yù)測(cè)輸出。然后是強(qiáng)化學(xué)習(xí),,通過(guò)學(xué)習(xí)選擇動(dòng)作以獲得最大獎(jiǎng)勵(lì),。最后是無(wú)監(jiān)督學(xué)習(xí),其目的是學(xué)習(xí)輸入的內(nèi)部表征,,但是從數(shù)學(xué)上定義什么是好的表征形式很困難,。 首先解釋我們需要無(wú)監(jiān)督學(xué)習(xí)的原因。人類(lèi)擁有10^14個(gè)突觸,,但只能活10^9秒,。這意味著如果要學(xué)習(xí)大多數(shù)突觸,顯式標(biāo)簽或獎(jiǎng)勵(lì)可能無(wú)法提供足夠的信息,,因?yàn)槲覀儽仨毭棵雽W(xué)習(xí)10^5個(gè)突觸,。 有人反對(duì)人類(lèi)需要學(xué)習(xí)所有突觸的觀點(diǎn)。一種說(shuō)法是,,可能大多數(shù)突觸都不會(huì)被學(xué)習(xí),,而且進(jìn)化的效率很低,進(jìn)化算法的效率就比反向傳播算法低得多,。突觸可能是高度冗余的,。 但是,我認(rèn)為大腦浪費(fèi)容量的可能性很小,。人類(lèi)的學(xué)習(xí)模型非常龐大,,卻不需要大量的數(shù)據(jù),這與常規(guī)的統(tǒng)計(jì)方法非常不同,。對(duì)人類(lèi)而言來(lái)說(shuō),,經(jīng)驗(yàn)是昂貴的,而突觸是廉價(jià)的,。 因此,,我們需要研究不使用大量經(jīng)驗(yàn)和擁有很多參數(shù)的學(xué)習(xí)算法。用于無(wú)監(jiān)督學(xué)習(xí)的目標(biāo)函數(shù),,即最大似然,,就是個(gè)很明顯的例子。 優(yōu)化最大似然意味著調(diào)整生成模型的參數(shù),,以最大程度地提高模型生成觀測(cè)數(shù)據(jù)的概率,。例如,將數(shù)據(jù)分布擬合為高斯混合分布,。 另外一個(gè)例子是自編碼器,。自編碼器試圖找到一種經(jīng)濟(jì)的表征形式,來(lái)重建數(shù)據(jù),。 我將在本演講的后半部分以空間或時(shí)間一致性的角度來(lái)談?wù)撨@個(gè)話(huà)題,,其思想是提取在空間或時(shí)間上一致的屬性,,這和最大似然非常不同。 自編碼器是一種使用監(jiān)督學(xué)習(xí)算法來(lái)實(shí)現(xiàn)無(wú)監(jiān)督學(xué)習(xí)的方法,。我們將數(shù)據(jù)輸入網(wǎng)絡(luò),,網(wǎng)絡(luò)輸出重建的數(shù)據(jù),網(wǎng)絡(luò)學(xué)習(xí)的目的是使重建數(shù)據(jù)與原始數(shù)據(jù)相同,。網(wǎng)絡(luò)將數(shù)據(jù)轉(zhuǎn)換為編碼向量,,我們通常希望編碼向量的維度很小,或能高效地表征數(shù)據(jù),。解碼器以編碼向量為輸入嘗試重建數(shù)據(jù),,因此解碼器是條件生成模型。 在大約20年的時(shí)間里,,人們一直認(rèn)為訓(xùn)練深度自編碼器非常困難,。自編碼器的想法從1980年代中期反向傳播開(kāi)始流行就有了,但是深度學(xué)習(xí)無(wú)法應(yīng)用到自編碼器中,。原因是我們使用了錯(cuò)誤的激活函數(shù),,當(dāng)時(shí)使用的是Sigmoid或Tanh,而不是ReLU,,而后者更容易在深度學(xué)習(xí)中訓(xùn)練,。此外,我們的初始化方法也很糟糕,。在初始化權(quán)重時(shí)需要縮放權(quán)重,,從而反向傳播的梯度不會(huì)爆炸或消失。最后,,當(dāng)時(shí)的計(jì)算機(jī)速度也很慢,。 2、堆疊淺層自編碼器 在2006年,,Salakhutdinov和我提出了一種訓(xùn)練深度自編碼器的新方法,,即堆疊多個(gè)淺層自編碼器。 首先訓(xùn)練一個(gè)淺層自編碼器,,其接受輸入的數(shù)據(jù),。它的隱藏層有特征檢測(cè)器,并且嘗試學(xué)習(xí)可以重建數(shù)據(jù)的特征檢測(cè)器,。然后,,將特征檢測(cè)器的激活值視為數(shù)據(jù),重復(fù)以上操作,,你可以根據(jù)需要確定層數(shù),。因此,在不使用任何標(biāo)簽的情況下,,我們可以預(yù)訓(xùn)練多個(gè)層的特征向量,稱(chēng)之為無(wú)監(jiān)督預(yù)訓(xùn)練。 每個(gè)新的自編碼器都將已學(xué)習(xí)的特征檢測(cè)器的激活值視為其數(shù)據(jù),,并且學(xué)習(xí)進(jìn)一步的編碼,。該算法的有趣之處在于,它成功地應(yīng)用了深度學(xué)習(xí)來(lái)學(xué)習(xí)自編碼器,。 對(duì)于淺層自編碼器(例如受限玻爾茲曼機(jī)),,數(shù)學(xué)表明每當(dāng)新的淺層自編碼器添加到堆疊的網(wǎng)絡(luò)中,模型生成數(shù)據(jù)的對(duì)數(shù)概率將獲得新的變分界(variational bound),,并且該變分界比先前的變分界更好,。 層來(lái)說(shuō)有用的特征,為了解決這個(gè)問(wèn)題,,我們可以訓(xùn)練深度端到端自編碼器,。有了更快的計(jì)算機(jī)和更好的激活函數(shù),深度自編碼器的效果變得很好,。 3,、變分自編碼器 在2013年,Welling和Kingma提出了變分自編碼器,,其思想是,,編碼器采集數(shù)據(jù)并將其轉(zhuǎn)換為實(shí)數(shù)值編碼向量,解碼器利用實(shí)數(shù)值編碼向量重建數(shù)據(jù),。 編碼器的目的有兩個(gè):第一,,它希望找到一種編碼,可以在先驗(yàn)分布下最大化該編碼的概率,。在實(shí)數(shù)值編碼空間中,,存在先驗(yàn)分布,通常為高斯分布,,編碼器嘗試查找接近該高斯均值的編碼,。第二,它也在尋找可以重建數(shù)據(jù)的編碼,。 解碼器獲取編碼并嘗試準(zhǔn)確地重建數(shù)據(jù),,使用的是變分近似方法。通過(guò)使用巧妙的數(shù)學(xué),,Welling和Kingma能夠獲得訓(xùn)練變分自動(dòng)編碼器所需的所有導(dǎo)數(shù),,從而既能最大化編碼處于高斯先驗(yàn)分布的概率,又能利用變分后驗(yàn)最大化數(shù)據(jù)的近似概率,。以下不會(huì)再談?wù)撟兎肿跃幋a器,,但它目前是無(wú)監(jiān)督學(xué)習(xí)的最佳方法之一。 4,、BERT 接下來(lái)討論BERT,。BERT是一種深度自編碼器,,經(jīng)過(guò)訓(xùn)練可以補(bǔ)充句子中遺漏的單詞。BERT實(shí)際上與信息檢索非常相關(guān),,因?yàn)樗梢蕴崛》浅:玫膯卧~表征,。這對(duì)于理解文檔非常有用。BERT有很多個(gè)層,,并且在每一層中,,都有每個(gè)輸入單詞的嵌入向量。第一個(gè)隱藏層中有單詞的向量表征,,第二個(gè)隱藏層中有相同單詞的更好的向量表征,。 隨著深入網(wǎng)絡(luò),給定單詞的表征將變得越來(lái)越好,。實(shí)際上,,L + 1層中的某個(gè)單詞的表征,是通過(guò)比較L層中該單詞的嵌入與其它單詞的嵌入生成的,。這種比較是通過(guò)稱(chēng)為T(mén)ransformer的注意力機(jī)制實(shí)現(xiàn)的,。這種嵌入是很好的單詞表征,可用于各種自然語(yǔ)言任務(wù),。 如果用標(biāo)準(zhǔn)的一維卷積神經(jīng)網(wǎng)絡(luò)來(lái)表示單詞字符串,,我們將通過(guò)這些向量來(lái)表示句子中的單詞。通過(guò)組合信息,,激活單詞的權(quán)重矩陣,,我們可以獲得下一層向量來(lái)表征單詞。因此,,和之前的方法類(lèi)似,,只需查看前一級(jí)中所有附近單詞的表征,即可將這些表征組合成下一層中更好的單詞表征,,但這里使用了注意力機(jī)制,。 BERT的機(jī)制實(shí)際上看起來(lái)像信息檢索。每個(gè)單詞都通過(guò)學(xué)習(xí)的權(quán)重矩陣生成查詢(xún)向量,、鍵向量和值向量,。然后,對(duì)于L層的每個(gè)單詞,,我們將獲取其查詢(xún)向量,,并將其與所有其它單詞的鍵向量進(jìn)行比較。如果查詢(xún)向量和鍵向量之間可以很好地匹配時(shí),,也就是說(shuō),,當(dāng)查詢(xún)向量和鍵向量的標(biāo)量積很大時(shí),附近位置的值向量影響下一層的單詞表征,。 例如,,假設(shè)我的名字是June,。我將生成一個(gè)查詢(xún)向量,該查詢(xún)向量可以很好地匹配月份,,也可以很好地匹配女性名字,。我們將在句子的其余部分中選擇相關(guān)的詞,并使用這些相關(guān)的詞來(lái)修改June的表征,。如果句子中還有其他幾個(gè)女性的名字,則June的表征將變得更接近女性人名的表征,,如果句子中出現(xiàn)了月份相關(guān)的單詞,,June的表征將變得更接近“六月”的表征。也就是說(shuō),,它們將根據(jù)上下文進(jìn)行優(yōu)化,,所以這很像信息檢索,不過(guò)所有查詢(xún),、值和鍵都是學(xué)習(xí)得到的,。 因此,我們可以使用這種神經(jīng)網(wǎng)絡(luò)進(jìn)行語(yǔ)言建模,。首先使用Transformers預(yù)訓(xùn)練單詞片段嵌入,。如果采用句子或更長(zhǎng)的文本片段,則需要成千上萬(wàn)個(gè)片段,,將它們輸入Transformers的多個(gè)層,,以學(xué)習(xí)所有的鍵、值和查詢(xún),。 因此,,單詞表征會(huì)在輸出之前得到完善,可以很好地利用上下文信息,。然后,,我們?cè)诹硪粋€(gè)神經(jīng)網(wǎng)絡(luò)中使用這些單詞片段的表征,神經(jīng)網(wǎng)絡(luò)可以從先前的單詞片段中預(yù)測(cè)下一個(gè)單詞片段,,因此這是一個(gè)自動(dòng)回歸模型,。但是,它考慮的不是那些單詞片段,,而是BERT生成的單詞片段的表征,。 它的效果比規(guī)則模型更好。通過(guò)給它一個(gè)初始的單詞序列,,然后讓它預(yù)測(cè)下一個(gè)片段的概率分布,。這樣一來(lái),我們就可以生成長(zhǎng)長(zhǎng)的單詞串,,直到獲得完整的故事為止,,效果令人驚訝,。 BERT需要用數(shù)十億個(gè)文字?jǐn)?shù)據(jù)來(lái)訓(xùn)練,然后我們使用其產(chǎn)生的嵌入,,訓(xùn)練具有1,750億個(gè)參數(shù)的語(yǔ)言模型,,耗時(shí)超過(guò)一千petaflop天。一旦完成訓(xùn)練,,我們就可以生成新聞文章,,如上圖所示。這是GPT-3的例子,,有趣的是,,大多數(shù)人無(wú)法確定這篇新聞文章是由BERT撰寫(xiě)的,它通過(guò)了圖靈測(cè)試,。 現(xiàn)在,,我們回到有關(guān)如何進(jìn)行監(jiān)督學(xué)習(xí)的基礎(chǔ)思想。變分自編碼器BERT比堆疊自編碼器的效果更好,,這是因?yàn)槎说蕉藢W(xué)習(xí)可以確保前面層中的隱藏單元學(xué)習(xí)提取后面層所需的特征,,這是反向傳播所擅長(zhǎng)的事情。 2 無(wú)監(jiān)督學(xué)習(xí)的未來(lái) 1,、自上而下與自下而上 在過(guò)去的幾年中,,我一直非常渴望找到一種新的實(shí)現(xiàn)監(jiān)督學(xué)習(xí)和深層網(wǎng)絡(luò)的方法,,這種方法不需要多層反向傳播,,因?yàn)槲也幌嘈糯竽X的工作機(jī)制是這樣的。 接下來(lái),,我們大部分時(shí)間都將探討新的修復(fù)方法,,它如何不起作用以及如何改進(jìn)以使其起作用。解決方法是學(xué)習(xí)每個(gè)層的特征,,從而可以重建前一層的內(nèi)容,。而且,它們對(duì)于后一層也能很容易進(jìn)行重構(gòu),。這意味著我們將必須同時(shí)學(xué)習(xí)所有的層,。 我們將嘗試學(xué)習(xí)足夠好的特征并重建前面的層,這是堆疊自編碼器的目標(biāo)函數(shù),,但也很容易對(duì)后面的層進(jìn)行重建,。也就是說(shuō),它們與后面層預(yù)測(cè)的內(nèi)容相符,。 這里有一個(gè)非常令人有趣但饒舌的解釋?zhuān)春竺娴膶訉⑦M(jìn)行自上而下的預(yù)測(cè),,自上而下的預(yù)測(cè)將監(jiān)督自下而上的連接的學(xué)習(xí),自下而上的連接將產(chǎn)生表征,該表征將作為自上而下的預(yù)測(cè)的目標(biāo),,自上而下的預(yù)測(cè)實(shí)際上也是自下而上學(xué)習(xí)的目標(biāo),,自下而上和自上而下的學(xué)習(xí)過(guò)程是相互監(jiān)督的。 也就是說(shuō),,好的特征可以局部地,、自下而上地提取,同時(shí)也可以從更大的上下文中自上而下地預(yù)測(cè),。 我們來(lái)展示一個(gè)使用上下文協(xié)議的例子,。考慮一個(gè)句子,,“she scromed him with the frying pan”,,希望你以前從未聽(tīng)過(guò)scrom這個(gè)單詞。我們懷疑它是動(dòng)詞,,基于它在句子中的位置以及單詞末尾的“ed”。 我們不知道它最初的含義,,但是在剛看到這句話(huà)時(shí),,大多數(shù)人對(duì)其含義已經(jīng)有了一個(gè)很好的了解,認(rèn)為這大致表示“她用平底鍋打了他的頭”,。 人類(lèi)不需要成千上萬(wàn)的例子也能從一句話(huà)中很好地理解一個(gè)詞的意思,。這就是自上而下預(yù)測(cè)的,魅力所在,。 在視覺(jué)識(shí)別上也相似,,全局的背景幫助你自上而下地預(yù)測(cè)應(yīng)該在圖像的局部看到什么,例如在草地背景中猜測(cè)黑白斑塊皮膚的四腳獸是奶牛,。 2,、以新方法訓(xùn)練堆疊淺層的自編碼器,會(huì)發(fā)生什么? 我們的目標(biāo)是在自下而上和自上而下對(duì)某個(gè)特征的預(yù)測(cè)之間取得一致,。這很容易通過(guò)縮小所有隱藏激活向量來(lái)實(shí)現(xiàn),。這被稱(chēng)為所謂的“塌縮問(wèn)題”(collapse problem)。不過(guò),,我們可以通過(guò)使用更好的協(xié)議定義來(lái)避免這個(gè)問(wèn)題:兩個(gè)變量在每個(gè)訓(xùn)練樣例中的值是否一致,,以及它們?cè)诓煌?xùn)練樣例中是否遵循同樣的變化。 我們先討論一種完全不同的無(wú)監(jiān)督學(xué)習(xí)方法,,之后我再回到這種方法,。 之前,我和我的學(xué)生想出了一個(gè)方法,,用一個(gè)更好的定義來(lái)解釋兩者的一致性,。與其說(shuō)它們應(yīng)該相等,不如說(shuō)它們應(yīng)該是相似的,,即它們?cè)诓煌挠?xùn)練案例上有什么樣的變化趨勢(shì),。 所以在一個(gè)特定的訓(xùn)練案例中,,我們希望神經(jīng)網(wǎng)絡(luò)的一部分中的自下而上的預(yù)測(cè)與自上而下的預(yù)測(cè)相一致。 不要嘗試解釋輸入的每一個(gè)細(xì)節(jié),,只需關(guān)注于提取在空間或時(shí)間上一致的屬性,。和自動(dòng)編碼器不同,這里允許我們忽略噪聲,。 3,、提取空間一致性屬性 Becker 和我在1992年引入了一種提取空間一致屬性的方法:最大化兩個(gè)輸入非重疊圖像塊的表征的互信息。 如果a 和b是標(biāo)量,,則通過(guò)最小化 來(lái)最大化互信息,。 如果a和b是向量,則通過(guò)最小化 來(lái)最大化互信息,。 相關(guān)論文:Maximizing the Mutual Infomation between two Gaussian distributed variables(Becker 和Hinton,,1992) 接下來(lái)看一個(gè)提取空間一致性屬性的簡(jiǎn)單樣例: 首先用隨機(jī)點(diǎn)填充一張圖片使它沒(méi)有明顯的結(jié)構(gòu)。然后再取另一張圖片,,這張圖片是第一張圖片經(jīng)過(guò)水平移動(dòng)后的版本,。所以圖像對(duì)中唯一的結(jié)構(gòu)就是它們之間的相對(duì)平移。很久以前我們用的是非常小的電腦,。所以我們只從左邊的圖像中取了一個(gè)一維的條帶,,從右邊的圖像中取了一個(gè)一維的條帶。 我們?cè)谧髨D上散落了一些隨機(jī)點(diǎn),。然后我們看了右圖,,這是左圖的翻譯版。你可以看到,,如果你看兩個(gè)相鄰的圖像塊,,那么它們的視差是一樣的。左右條帶之間的偏移相同,。所以,,如果你訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò),看看左手邊的patch塊來(lái)提取一個(gè)屬性,, 訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)的副本來(lái)觀察右手邊的patch塊,,吸引一個(gè)屬性??梢钥闯鰞H有的一致性屬性分離了,,這就是我們想要提取的,它也確實(shí)起到了作用,。 4,、對(duì)比學(xué)習(xí) 但是,Becker和我提出的的最大化互信息方法也存在著很大的問(wèn)題:一旦開(kāi)始優(yōu)化非線性映射,變量是高斯分布的假設(shè)就會(huì)造成可怕的問(wèn)題,。而如果只學(xué)習(xí)線性映射,,或者在優(yōu)化一個(gè)線性函數(shù),這個(gè)假設(shè)并沒(méi)有引起太大的問(wèn)題,。但是一旦優(yōu)化了一個(gè)非線性函數(shù),,它就會(huì)導(dǎo)致糟糕的事發(fā)生。 這些問(wèn)題容易通過(guò)一種嵌入的方法來(lái)可視化,,首先是局部線性嵌入 ,,它具有以下特點(diǎn):
但是局部線性嵌入會(huì)導(dǎo)致可怕的事情發(fā)生,比如維度坍縮,。 如下圖所示,,可以看到MNIST數(shù)據(jù)的局部線性嵌入產(chǎn)生的特征,顏色表示分類(lèi),。 可以發(fā)現(xiàn)它沒(méi)有對(duì)數(shù)字進(jìn)行很自然的分類(lèi):它們幾乎是一維的,,這些數(shù)字長(zhǎng)串幾乎互相正交。 而下圖則是MNIST數(shù)據(jù)的t-SNE嵌入,,顏色對(duì)應(yīng)于不同的數(shù)字,,可以看到它找到了非常好的簇。 那么t-SNE是怎么做到避免維度坍縮的呢,?這很大程度上就要?dú)w功于它的目標(biāo)損失函數(shù): 在這個(gè)函數(shù)中引進(jìn)了對(duì)比損失來(lái)建模相關(guān)數(shù)據(jù),在上面式子的第二項(xiàng)中,,對(duì)于所有的目標(biāo),,k都要遠(yuǎn)離Mj,而不僅僅只是一個(gè)目標(biāo)需要遠(yuǎn)離,。 這種對(duì)比損失的思想是從線性嵌入引進(jìn)的,,而當(dāng)只有一個(gè)“similar-to”關(guān)系時(shí),線性關(guān)系及其代價(jià)函數(shù)可以轉(zhuǎn)化為隨機(jī)相鄰嵌入層,。這個(gè)工作是來(lái)克服線性潛在局部線性嵌入的問(wèn)題,。線性關(guān)系嵌入的方法只有一種關(guān)系。只有一個(gè)矩陣是單位矩陣,。但我們要做的就是讓一個(gè)向量和另一個(gè)向量相似,。 應(yīng)用線性相關(guān)嵌入目標(biāo)函數(shù)使緯度下降: 計(jì)算一個(gè)包含每個(gè)高維數(shù)據(jù)點(diǎn)大概率表,數(shù)據(jù)點(diǎn)i將挑選另一個(gè)數(shù)據(jù)點(diǎn)j作為它的近鄰,。這個(gè)概率將會(huì)等比例放縮為 ,。 學(xué)習(xí)把每個(gè)高維數(shù)據(jù)點(diǎn)Xi轉(zhuǎn)換為一個(gè)二維映射點(diǎn)yi。 因此,,當(dāng)我使用相同的函數(shù),,可以模擬在高維數(shù)據(jù)中發(fā)現(xiàn)的相似性。 在高維空間中,可能有一個(gè)數(shù)據(jù)點(diǎn)i,,我們要計(jì)算它選擇每個(gè)可能的相鄰點(diǎn)的概率,。 然后我們把所有的數(shù)據(jù)都扔掉。每一個(gè)點(diǎn)選擇其它點(diǎn)作為其鄰居的概率包含了我們用于尋找低維圖的點(diǎn)的所有信息,。 一旦我們獲得了概率p_j|i,,我們不需要在高維空間做任何計(jì)算。輸入可以是數(shù)據(jù)點(diǎn)對(duì)之間的“不相似性”,,而不是單個(gè)數(shù)據(jù)點(diǎn)在高維空間的位置,。 我們的代價(jià)函數(shù)如上圖所示。對(duì)于p_ij很大而q_ij很小的點(diǎn),,成本很高,。對(duì)于q_ij很大而p_ij很小的點(diǎn),成本很低,,因?yàn)槲覀冊(cè)赒_i分布上耗費(fèi)了一些概率質(zhì)量(probability mass),。 上圖是隨機(jī)相鄰嵌入(SNE)方法生成的結(jié)果,基于數(shù)字1-4圖像之間的歐幾里德距離,,它可以產(chǎn)生相當(dāng)好的嵌入,。 t-SNE是SNE的一個(gè)變體,我們把在二維空間中確定選擇一個(gè)鄰近點(diǎn)的相對(duì)概率的高斯分布替換為student-t分布,。這為二維平面創(chuàng)造了更多的空間,,補(bǔ)償了低維空間的缺陷,并且使得不同的集群之間存在間隙,。 為什么協(xié)方差約束對(duì)于優(yōu)化非線性或非參數(shù)化映射效果不佳,?因?yàn)榫€性映射無(wú)法改變分布的熵和方差之間的比率。所以如果我們想優(yōu)化一個(gè)線性映射來(lái)最大化分布的熵,,我們可以簡(jiǎn)單地最大化方差,。但這對(duì)于非線性映射來(lái)說(shuō)不可行。一個(gè)非線性映射可以生成一個(gè)分布,,它有兩個(gè)相距很遠(yuǎn)但非常緊密的簇,。 為什么非線性版本的典型相關(guān)分析或線性判別式分析不可行?因?yàn)檫@些方法最大化了方差,,以獲得兩個(gè)變量之間的高互信息,,或者一個(gè)變量和一個(gè)類(lèi)之間的高互信息。一個(gè)分布的方差可以作為替代它的熵,,但僅當(dāng)被優(yōu)化的映射是線性的才成立,。當(dāng)然,你也可以通過(guò)應(yīng)用一個(gè)固定的到數(shù)據(jù)的非線性映射,,然后優(yōu)化通常的線性映射,。 使用對(duì)比損失函數(shù)來(lái)提取空間或時(shí)間一致的向量表征,。在2004年,Ruslan Salakhutdinov和我將對(duì)比損失用于我和Becker的工作,。但是由于算力不夠所以沒(méi)發(fā)表任何東西,。Li和Vinyals在2018年重新提出了對(duì)比損失的idea,并將其用于發(fā)現(xiàn)時(shí)間一致的表征,,取得了不錯(cuò)的結(jié)果?,F(xiàn)在,使用對(duì)比損失進(jìn)行無(wú)監(jiān)督學(xué)習(xí)已經(jīng)很流行了,。 3 SimCLR:一種無(wú)監(jiān)督對(duì)比學(xué)習(xí)的新方法 最后講一種新方法SimCLR,,這是Ting Chen開(kāi)發(fā)的一種新的利用對(duì)比損失來(lái)提取表征的方法,當(dāng)展示同一張圖像的不同片段時(shí),,表征取得一致,,但是該方法需要大量算力。 1,、SimCLR如何工作,? 很簡(jiǎn)單,取圖像x,,然后對(duì)圖像進(jìn)行兩次不同的裁剪,。應(yīng)用深度網(wǎng)絡(luò)得到一個(gè)特征表示,到目前為止所有過(guò)程都是無(wú)監(jiān)督的,。h_i和h_j代表不同的向量,。嵌入向量試圖在對(duì)比中保持一致。也就是說(shuō),,來(lái)自同一張圖像的大量片段生成的嵌入向量要取得一致,。 Ting發(fā)現(xiàn)他可以得到很好的表征,先用這種方式進(jìn)行無(wú)監(jiān)督學(xué)習(xí),,然后在表征的基礎(chǔ)上訓(xùn)練線性分類(lèi)器,。 2,、SimCLR性能如何,? 下圖是各種無(wú)監(jiān)督模型在ImageNet Top-1準(zhǔn)確率上的對(duì)比,可以看到,,通過(guò)無(wú)監(jiān)督學(xué)習(xí)在線性層上做表征提取,,這種方法既簡(jiǎn)單又高效,實(shí)現(xiàn)的準(zhǔn)確率超過(guò)其它模型,。 在ImageNet數(shù)據(jù)集上,,SimCLR能得到與2012年AlexNet相同的性能,但是僅僅使用了1%的標(biāo)簽,,這歸功于兩點(diǎn): 1,、首先在具有殘差連接的深度卷積網(wǎng)絡(luò)上做無(wú)監(jiān)督表征學(xué)習(xí),。 2、之后在具有標(biāo)簽的少量數(shù)據(jù)集上微調(diào),。 更多交流 |
|
來(lái)自: Richieliqi > 《知識(shí)》