分布对齐 目标函数 迁移学习_原创 | 清华开源迁移学习算法库
本文長度為1700字,建議閱讀6分鐘
本文為你介紹 Trans-Learn 算法庫。
Trans-Learn是基于PyTorch實現的一個高效、簡潔的遷移學習算法庫,目前發布了第一個子庫——深度域自適應算法庫(DALIB),支持的算法包括:
- Domain Adversarial Neural Networks (DANN)
- Deep Adaptation Network (DAN)
- Joint Adaptation Networks (JAN)
- Conditional Adversarial Domain Adaptation (CDAN)
- Maximum Classifier Discrepancy (MCD)
- Margin Disparity Discrepancy (MDD)
項目地址:
https://github.com/thuml/Transfer-Learning-Library
域自適應背景介紹
目前深度學習模型在部分計算機視覺、自然語言處理任務中已經超過了人類的表現,但是它們的成功依賴于大規模的數據標注。但是實際場景中,標注數據往往是稀缺的。解決標注數據稀缺問題的一個方法是通過計算機模擬生成訓練數據,例如用計算機圖形學的技術合成訓練數據。
圖表 1 VisDA2017競賽任務但是由于訓練數據和測試數據不再服從獨立同分布,訓練得到的深度網絡的準確率大打折扣。為了解決上述數據漂移造成的問題,域自適應(Domain Adaptation) 的概念被提出。域自適應的目標是將模型在源域(Source) 學到的知識遷移到目標域(Target)。例如計算機模擬生成訓練數據的例子中,合成數據是源域,真實場景的數據是目標域。域自適應有效地緩解了深度學習對于人工標注數據的依賴,受到了學術界和工業界廣泛的關注。目前已經被引入到圖片分類、圖像分割(Segmentation)、目標檢測(Object Detection)、機器翻譯(Machine Translation) 等眾多任務上。
吳恩達曾說過:“在監督學習之后,遷移學習將引領下一波機器學習技術商業化浪潮。”隨著產品級的機器學習應用進入數據稀缺的領域,監督學習得到的尖端模型性能大打折扣,域自適應變得至關重要。
研究現狀
深度域自適應方法主要包括以下兩大類:
1.矩匹配。通過最小化分布差異來對齊不同域的特征分布。例如深度適配網絡DAN,聯合適配網絡JAN。
2.對抗訓練。域對抗網絡DANN是最早的工作,它引入一個領域判別器,鼓勵特征提取器學到領域無關的特征。 在DANN的基礎上,衍生出了一系列方法,例如條件域對抗網絡CDAN,間隔差異散度MDD等。
圖表 2 DANN網絡架構圖圖表 3 MDD網絡架構圖上述方法在實驗數據上體現了良好的性能。然而目前學術界域自適應方法的開源實現中存在下述問題:
- 復用性差。域自適應方法和模型架構、數據集耦合在一起,不利于域自適應方法在新的模型、數據集上復用。
- 穩定性差。部分對抗訓練方法隨著訓練進行,準確率會大幅度下降。
DALIB設計的初衷就是讓用戶通過少數幾行代碼,就可以將域自適應算法用在實際項目中,而無需考慮域自適應模塊的實現細節。
易用性
DALIB將現有域自適應訓練代碼中的域自適應損失函數分離出來,按照PyTorch交叉熵損失函數的形式進行封裝,方便用戶的使用。域自適應損失函數也和模型架構進行了解耦,因此不依賴于具體的分類任務,所以算法庫很容易擴展到圖片分類以外的分類任務。如下,使用兩行代碼即可定義一個與任務無關的域對抗損失函數。
不同域自適應損失函數中有一些公用的模塊,例如所有算法中都用到的分類器模塊,對抗訓練中用到的梯度翻轉模塊、域判別器模塊,核方法中的核函數模塊等。這些公用模塊和提供的域自適應損失函數是分離的。因此,在DALIB中,用戶可以像搭積木一樣,重新定制自己需要的域自適應損失函數。例如,核方法中,用戶可以自己定義不同參數的高斯核或者其他核函數,然后傳入到多核最大均值差異(MK-MMD)的計算中。
目前,所有的模塊和損失函數均已提供詳細的API說明文檔。
https://dalib.readthedocs.io/en/latest/
穩定性
域自適應算法研究領域往往關注方法的創新程度或者理論層面的價值,而忽視了工程實現中的穩定性和可復現性。在復現現有的算法的過程中,出現了部分算法準確率不穩定的問題。通過對數值方面的改進,這些問題都已經得到解決。(具體實現就不在此處展開了。)此外,DALIB幾乎在所有任務上,準確率都比原論文匯報準確率高,部分數據集上甚至能高14%。下圖分別是Office-31和VisDA-2017上的測試結果。
圖表 4 Office-31上不同算法的準確率圖表 5 VisDA2017上不同算法的準確率算法庫提供了各個算法在Office-31、Office-Home和VisDA-2017上的測試結果,以及所有的測試腳本。我們認為開源該算法庫對于這個領域未來的研究工作是具有巨大價值的。
未來的工作
域自適應算法子庫DALIB下一個版本會支持域自適應算法的不同設定,包括部分域自適應任務(Partial Domain Adaptation)、開放集域自適應任務(Open-set Domain Adaptation)、通用域自適應任務(Universal Domain Adaptation)等。遷移學習算法庫Trans-Learn目前還處于初期開發階段,難免有不完善的地方,歡迎其他研究者提意見。同時遷移學習這個方向也還在不斷發展,今后會不斷跟進新工作中比較好的算法。
當前版本由龍明盛老師課題組的江俊廣和付博同學開發,如果有任何意見和建議,歡迎聯系JiangJunguang1123@outlook.com
fb1121@vip.qq.com
作者:清華大數據軟件團隊機器學習組
總結
以上是生活随笔為你收集整理的分布对齐 目标函数 迁移学习_原创 | 清华开源迁移学习算法库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小白重装系统教程_重装系统教程,小编教你
- 下一篇: 如何动态修改uri_maven如何动态统