日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

清华提出LogME,无需微调就能衡量预训练模型的下游任务表现!

發布時間:2024/7/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 清华提出LogME,无需微调就能衡量预训练模型的下游任务表现! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文 | 游凱超
源 | THUML

引言

在深度學習時代,神經網絡的參數量越來越大,從頭開始訓練(train from scratch)的成本也越來越大。幸運的是,在計算機視覺、自然語言處理等人工智能應用的主要領域,人們能夠采用遷移學習的預訓練-微調范式來有效降低訓練成本。遷移學習使得深度神經網絡以預訓練模型的形式走進千家萬戶,不用上千塊TPU,我們也能夠使用BERT、EfficientNet等大型模型。

如今,對于深度學習框架來說,豐富的預訓練模型庫已經是標配了(例如TensorFlow Hub, Torchvision Models)。在一些研究領域(比如2020年非常熱門的自監督學習),研究成果最終也是以預訓練模型的方式呈現給社區。在深度學習社區里,一些熱門領域已經積累了成百上千個預訓練模型。

面對眾多預訓練模型,我們在進行遷移時,該用哪一個好呢?這個重要問題很少有人研究,因此人們目前只好使用一些簡單粗暴的辦法:

  • 使用常見的預訓練模型(例如ResNet50)

  • 使用預訓練指標(例如ImageNet準確率)高的模型

如果想要準確地選擇最好的預訓練模型,我們需要把每一個候選模型都做一遍微調。因為微調涉及到模型訓練,時間至少幾個小時起步。有些預訓練模型的微調還需要進行超參數搜索,想要決定一個預訓練模型的遷移效果就需要將近50個小時!

針對這一問題,我們進行了深入探究,提出了一種名為LogME的方法。它能極大地加速預訓練模型選擇的過程,將衡量單個預訓練模型的時間從50個小時減少到一分鐘,瘋狂提速三千倍!目前該論文已被ICML2021接受。

論文標題:
LogME: Practical Assessment of Pre-trained Models for Transfer Learning

論文鏈接:
https://arxiv.org/abs/2102.11005

GitHub鏈接:
https://github.com/thuml/LogME

問題描述

預訓練模型選擇問題,就是針對用戶給定的數據集,從預訓練模型庫中選擇一個最適合的預訓練模型用于遷移學習。其流程可以簡單概括為下圖,核心就是要對每一個預訓練模型進行遷移性評估(Transferability Assessment),簡單來說就是為每個模型打分,然后選擇出打分最高的預訓練模型。

▲預訓練模型選擇問題

最直接的打分方法,就是將預訓練模型在給定數據集上進行調參、微調,將最終的準確率或者其它衡量指標作為預訓練模型的分數。我們將這種方法稱為ground-truth方法,它的選擇效果無疑是最好的,總是能選出最合適的預訓練模型。然而,它的時間開銷太大(每個預訓練模型需要50小時),因此無法實用。

一個好的打分標準,需要在保持與ground-truth打分的高度相關性的同時,盡可能降低時間開銷,才能滿足實際使用的要求。除了ground-truth方法之外,目前還有兩種打分方法(LEEP和NCE),但是它們的使用范圍非常有限,只能用于有監督預訓練模型遷移到分類任務的場景,如下表所示,而我們提出的LogME則能夠勝任幾乎所有常見的場景,覆蓋了視覺、NLP、分類、回歸、有監督預訓練模型、無監督預訓練模型等方向。

▲應用場景比較,LogME能勝任幾乎所有常見場景

LogME方法

LogME的優越性能來自于以下三個方面:(1)無須梯度計算;(2)無須超參數調優;(3)算法實現優化。下面圍繞這三個方面對LogME進行具體介紹。

為了加速預訓練模型選擇,我們僅將預訓練模型視作特征提取器,避免更新預訓練模型。這樣,只需要將預訓練模型在給定數據集上前向傳播一遍,就可以得到特征和標注。于是,這個問題就轉化成了如何衡量特征和標注之間的關系,也就是說,這些特征能夠多大程度上用于預測這些標注。

為此,我們采用一般性的統計方法,用概率密度來衡量特征與標注的關系。考慮到微調一般就是在預訓練模型的特征提取層之上再加一個線性層,所以我們用一個線性層來建模特征與標注的關系。

說到這里,很多人會想到,一種直觀的方法是通過Logistic Regression或者Linear Regression得到最優權重,然后使用似然函數作為打分標準。但是這樣容易導致過擬合問題,而且這些方法也有很多超參數需要選擇,這使得它們的時間開銷很大且效果不好。

我們選用的是統計學中的證據(evidence,也叫marginalized likelihood)來衡量特征與標注的關系。它不使用某個特定的的值,而是使用的分布來得到邊緣化似然的值。它相當于取遍了所有可能的值,能夠更加準確地反映特征與標注的關系,不會有過擬合的問題。其中,與分別由超參數和決定,但是它們不需要grid search,可以通過最大化evidence來直接求解。于是,我們就得到了對數最大證據(Log Maximum Evidence, 縮寫LogME)標準來作為預訓練模型選擇的依據。具體數學細節不在這里贅述,感興趣的讀者可以閱讀底部的論文。算法的具體細節在下圖中給出了。注意,雖然LogME計算過程中將預訓練模型視作特征提取器,但是LogME可以用于衡量被用于遷移學習(微調)的性能

▲LogME算法具體流程

值得一提的是,LogME算法涉及到很多矩陣分解、求逆、相乘操作,因此一不小心就容易使得算法的復雜度很高(例如上圖第9行,粗糙的實現方式)。我們在深入研究該算法后發現,很多矩陣運算的開銷可以通過巧妙的計算優化手段大大降低,因此將計算流程優化為上圖第10行,整體的計算復雜度降低了一個階,從四次方降低為三次方(見下表),使得該算法在數秒內就能處理常見情況。

▲優化前后復雜度對比,n是數據量,D是特征維度,K是類別數目

實驗

在實驗部分,我們用合成數據、真實數據等多種方式方式,測試了LogME在17個數據集、14個預訓練模型上的效果,LogME在這么多數據集、預訓練模型上都表現得很好,展現了它優異的性能。

合成數據

首先讓我們看看,LogME給出的打分標準與人的主觀感覺是否一致。我們為分類問題和回歸問題分別設計了一個toy實驗,使用生成數據來測量LogME的值。從下圖中可以看出,不管是分類任務還是回歸任務,當特征質量越來越差時,LogME的值也越來越低,說明LogME可以很好地衡量特征與標注的關系,從而作為預訓練模型選擇的標準。

▲特征質量越來越差時,LogME也越來越低。

接下來,我們用LogME來進行預訓練模型選擇。我們使用若干個常用預訓練模型,通過耗時的微調過程得到它們的遷移性指標,然后衡量LogME與遷移性指標的相關性。相關性指標為加權肯達爾系數,它的取值范圍是。相關系數為意味著如果LogME認為預訓練模型比好,那么確實比好的概率是。也就是說,越大越好。

有監督預訓練模型遷移到分類數據集

我們將10個常用預訓練模型遷移到9個常見分類數據集中,發現LogME與微調準確率有很高的相關性(見下圖),顯著優于之前的LEEP和NCE方法。在這幾個數據集中,LogME的相關系數至少有0.5,大部分情況下有0.7或者0.8,也就意味著使用LogME進行預訓練模型選擇的準確率高達85%或者90%。

▲有監督預訓練模型遷移到分類數據集

值得注意的是,之前的LEEP和NCE方法只能用于這一種場景。接下來的實驗(回歸任務、無監督預訓練模型、NLP模型及任務),只有LogME能處理。

有監督預訓練模型遷移到回歸數據集

我們也做了回歸任務相關的實驗,可以看到LogME與MSE有明顯的負相關性,而MSE是越低越好,LogME是越大越好,結果符合預期。

▲有監督預訓練模型遷移到回歸數據集

無監督預訓練模型

在2020年,視覺領域的重要進展之一就是無監督預訓練模型。因此我們也嘗試了使用LogME來判斷無監督預訓練模型的質量。從下圖的結果來看,不論是分類任務(Aircraft)還是回歸任務(dSprites),LogME都能準確衡量無監督預訓練模型的質量。

▲使用LogME來衡量無監督預訓練模型

自然語言處理任務

LogME并不局限于視覺模型與任務,我們還測試了它對NLP預訓練模型的評價能力。可以看到,在五個任務上,LogME完美地預測了四個預訓練模型的表現的相對大小,在另外兩個任務上的表現也不錯。

![LogME衡量NLP預訓練模型]

時間加速

LogME方法不僅效果好,更難得的是它所需要的時間非常短,可以快速評價預訓練模型。如果將直接微調的時間作為基準,LogME只需要0.31‰的時間(注意不是百分號,是千分號),也就是說加速了3000倍!而之前的方法如LEEP和NCE,雖然耗時更少,但是效果很差,適用范圍也很有限,完全不如我們的LogME方法。

▲各種方法耗時比較,LogME加速3000倍

值得注意的是,像LogME這種根據概率公式計算的方法,一般效果更好,但是耗時也更高。事實上,如果我們采用簡單粗暴的實現,評估一個模型就需要八百多秒。正是有了精心優化的版本,我們才能夠既有概率方法的優越效果,又有簡單高效的實現

展望

因為它的準確、快速、實用性,我們相信LogME除了能夠用作預訓練模型選擇之外,還能夠在其它領域有所作為。例如,在無監督預訓練中,評估一次預訓練模型就需要在整個ImageNet數據集上進行linear protocol evaluation,整個過程需要幾個小時。若采用LogME,則只需要一分鐘不到,因此可以在訓練過程中將LogME作為early stopping的準則。

后臺回復關鍵詞【入群

加入賣萌屋NLP/IR/Rec與求職討論群

后臺回復關鍵詞【頂會

獲取ACL、CIKM等各大頂會論文集!

總結

以上是生活随笔為你收集整理的清华提出LogME,无需微调就能衡量预训练模型的下游任务表现!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。