迁移学习笔记1:简明手册笔记
本文主要參考:
https://github.com/jindongwang/transferlearning-tutorial/tree/master/markdown
第 1 章介紹了遷移學習的概念,重點解決什么是遷移學習、為什么要進行遷移學習這
兩個問題。
第 2 章介紹了遷移學習的研究領域。
第 3 章介紹了遷移學習的應用領域。
第 4 章是遷移學習領域的一些基本知識,包括問題定義,域和任務的表示,以及遷移
學習的總體思路。特別地,我們提供了較為全面的度量準則介紹。度量準則是遷移學習領域
重要的工具。
第 5 章簡要介紹了遷移學習的四種基本方法,即基于樣本遷移、基于特征遷移、基于
模型遷移、基于關系遷移。
第 6 章到第 8 章,介紹了領域自適應的 3 大類基本的方法,分別是:數據分布自適應
法、特征選擇法、子空間學習法。
第 9 章重點介紹了目前主流的深度遷移學習方法。
目錄
1.遷移學習基本概念
使用遷移學習原因
負遷移
新成果
2. 遷移學習的研究領域
目標域有無標簽
學習方法
特征
離線與在線形式
3.遷移學習的應用
4.基礎知識
遷移學習的問題形式化
總體思路
度量準則
5.遷移學習的基本方法
基于樣本遷移
基于特征遷移
基于模型遷移
基于關系遷移
6.數據分布自適應(第一類方法)
★邊緣分布自適應
條件分布自適應
聯合分布自適應
動態分布自適應
7.特征選擇法(第二類方法)
8.子空間學習
統計特征對齊
流形學習
1.遷移學習基本概念
遷移學習的核心問題: 找到新問題和原問題之間的相似性,才可以順利地實現知識的遷移。比如天氣問題中,那些北半球的天氣之所以相似,是因為它們的地理位置相似;而南北半球的天氣之所以有差異,也是因為地理位置有根本不同。
機器學習的語言來對遷移學習定義:利用數據、任務、或模型之間的相似性,將在舊領域學習過的模型,應用于新領域的一種學習過程。
遷移學習是中國領先于世界的少數幾個人工智能領域之一
使用遷移學習原因
| 傳統機器學習矛盾 | 遷移學習解決方法 |
| 大數據與少標注 (大數據總是缺乏完善的數據標注) | 遷移數據標注 (以尋找一些與目標數據相近的有標注的數據) |
| 大數據與弱計算 (沒有強計算能力的設備) | 模型遷移 (將大公司在大數據上訓練好的模型,針對于我們的任務進行微調/自適應更新) |
| 普適化模型與個性化需求 (將通用的模型加以改造和適配,使之適應不同的數據情形) | 自適應學習 (調整普適化模型) |
| 特定應用 (推薦系統的冷啟動問題) | 相似領域知識遷移 (數據和模型) |
負遷移
負遷移(Negative Transfer), 相似性找的不合理,如拿騎自行車的經驗來學習開汽車,這個任務基本上完不成。
負遷移定義: 負遷移指的是,在源域上學習到的知識,對于目標域上的學習產生負面作用。
產生負遷移的原因主要有:
數據問題:源域和目標域壓根不相似,談何遷移?
方法問題:源域和目標域是相似的,但是,遷移學習方法不夠好,沒找到可遷移的成分。
新成果
傳遞遷移學習: 傳統遷移學習就好比是踩著一塊石頭過河,傳遞遷移學習就好比是踩著連續的兩塊石頭
遠領域遷移學習: 可以用人臉來識別飛機!這就好比是踩著一連串石頭過河. 傳統遷移學習只有兩個領域足夠相似才可以完成,而當兩個領域不相似時,傳遞遷移學習卻可以利用處于這兩個領域之間的若干領域,將知識傳遞式的完成遷移。可以視為解決負遷移的有效思想和方法
2. 遷移學習的研究領域
遷移學習的分類四個準則:目標域有無標簽、學習方法、特征、離線與在線形式
目標域有無標簽
其中, 少標簽或無標簽的問題(半監督和無監督遷移學習),是研究的熱點和難點。這也是本手冊重點關注的領域。
學習方法
4類學習方法: 基于樣本, 基于特征, 基于模型, 基于關系
基于樣本的遷移學習方法 (Instance based Transfer Learning)
權重重用, 相似的樣本,給高權重
基于特征的遷移學習方法 (Feature based Transfer Learning)
特征進行變換. 假設源域和目標域的特征原來不在一個空間,或者在原來那個空間上不相似,把它們變換到一個空間里面.(研究熱門)
基于模型的遷移學習方法 (Model based Transfer Learning)
構建參數共享的模型. 神經網絡最經典的finetune就是模型參數遷移(用的多)
基于關系的遷移學習方法 (Relation based Transfer Learning)
利用關系(授課/開會)進行類比
特征
按照特征屬性,遷移學習可以分為:
同構遷移學習 (Homogeneous Transfer Learning), 語義和維度都相同(圖片的遷移).
異構遷移學習 (Heterogeneous Transfer Learning), (圖片到文本的遷移)
離線與在線形式
離線遷移學習 (Offline Transfer Learning): 常用, 但無法加入新數據更新
在線遷移學習 (Online Transfer Learning): 隨著數據的動態加入, 而更新算法
3.遷移學習的應用
計算機視覺、文本分類、行為識別、自然語言處理、室內定位、視頻監控、輿情分析、人機交互等
計算機視覺
在計算機視覺中,遷移學習方法被稱為 Domain Adaptation
4.基礎知識
本部分中出現的所有符號和表示形式,是以后章節的基礎
遷移學習的問題形式化
基本概念:領域 (Domain) 和任務 (Task)
領域 (Domain)
學習的主體
領域(花體D)=數據+數據的概率分布(大寫斜體P)
遷移: 知識從源領域傳遞到目標領域
兩個基本領域: 源領域Source Domain(有知識/標注)和目標領域Target Domain(賦予知識/標注)
任務(Task)
學習的目標
任務=標簽+標簽對應的學習函數
遷移學習(Transfer Learning)
給定一個有標記的源域D_s和一個無標記的目標域D_t, 這兩個領域的數據分布P(x_s)≠ P(x_t). 借助D_s的知識,來學習目標域D_t的知識(標簽).
需要考慮特征空間, 類別空間, 條件概率分布Q(y|x)的異同.
領域自適應(Domain Adaptation)
給定一個有標記的源域D_s和一個無標記的目標域D_t,假定它們的特征空間/類別空間/條件概率分布相同. 但是這兩個域的邊緣分布不同P_s(x_s)≠ P_t(x_t).
目標利用有標記的數據D_s去學習分類器f:x_t->y_t來預測目標域的標簽.
常用符號
| 符號 | 含義 |
| $$ \mathcal{D}_{s}= \left\{\mathbf{x}_{i}, y_{i}\right\}_{i=1}^{n}/ \mathcal{D}_t= \left\{\mathbf{x}_{j}\right\}_{j=n+1}^{n+m} $$ | 源域數據 / 目標域數據 |
| $$ \mathbf{x} / \mathbf{X} / \mathcal{X} $$ | 樣本向量 / 數據集矩陣 / 特征空間 |
| $$ \mathbf{y} / \mathcal{Y} $$ | 類別向量 / 類別空間 |
| $$ (n,m) (n_1,n_2) (n_s,n_t) $$ | (源域樣本數,目標域樣本數) |
| $$ P(\mathbf{x}_s) / P(\mathbf{x}_t) $$ | 源域數據 / 目標域數據的邊緣分布 一般難以給出P 的具體形式 |
| $$ Q\left(\mathbf{y}_{s} \mid \mathbf{x}_{s}\right) / Q\left(\mathbf{y}_{t} \mid \mathbf{x}_{t}\right) $$ | 源域數據 / 目標域數據的條件分布 |
| $$ f(\cdot) $$ | 要學習的目標函數 |
總體思路
遷移學習核心思想:
1. 尋找源領域和目標領域之間的相似性/不變量
2. 度量和利用相似性(度量相似程度, 增大相似性)
度量準則
度量: 描述源域和目標域的距離
文中主要包括:
常見的幾種距離
相似度
Jaccard 相關系數
KL 散度與 JS 距離
最大均值差異 MMD
Principal Angle
A-distance
Hilbert-Schmidt Independence Criterion
Wasserstein Distance
其中, 距離, 相似度, Jaccard 相關系數之前學習聚類的時候學過, 可參考
https://blog.csdn.net/lagoon_lala/article/details/119712648
剩下的由于時間緊張, 等用到再學.
數學推導統一擱置, mark一下, 下一篇筆記著重看MMA
5.遷移學習的基本方法
四種基本的方法:基于樣本/模型/特征/關系的遷移
基本原理和代表性相關工作
基于樣本遷移
Instance based Transfer Learning
根據一定的權重生成規則,對數據樣本進行重用.
通常只在領域間分布差異較小時有效.
權重計算
實例的維度和數量都非常大, 難以直接估計其概率分布.
通常樣本權重=分布比值的估計, 且假設源域和目標域的條件概率分布相同:
$$ w_\mathbf{x}=P(\mathbf{x}_t)/P(\mathbf{x}_s)\\ P(y|\mathbf{x}_s)=P(y|\mathbf{x}_t) $$
基于特征遷移
Feature based Transfer Learning
通常假設源域和目標域間有一些交叉的特征, 通過特征變換減少源域和目標域之間的差距.
根據特征又分為同構和異構遷移學習.
下一節詳細講
基于模型遷移
Parameter/Model based Transfer Learning
源域中的數據與目標域中的數據共享一些模型的參數
大多數基于模型的遷移學習方法都與深度神經網絡進行結合.
基于關系遷移
Relation Based Transfer Learning
關注源域和目標域的樣本之間的關系
通過馬爾科夫邏輯網絡(Markov Logic Net)挖掘關系相似性
6.數據分布自適應(第一類方法)
Distribution Adaptation
常用的遷移學習方法
源域和目標域的數據概率分布不同,通過變換,將不同的數據分布的距離拉近.
| 數據概率分布不同 | 邊緣分布不同 | 數據整體不相似 |
| 條件分布不同 | 數據整體相似 但是每個類不相似 |
數據分布自適應方法 根據數據分布的性質劃分:
邊緣分布自適應
條件分布自適應
聯合分布自適應
動態分布自適應
精度比較:DDA > JDA > TCA > 條件分布自適應
★邊緣分布自適應
Marginal Distribution Adaptation
目標
減小源域和目標域的邊緣概率(數據整體)分布的距離
$$ DISTANCE(\mathcal{D}_s,\mathcal{D}_t) \approx ||P(\mathbf{x}_s) - P(\mathbf{x}_t)|| $$
核心方法TCA
遷移成分分析Transfer Component Analysis
減小源域和目標域的邊緣概率不同, 對數據使用特征映射φ. 假設數據邊緣分布接近后, 兩個領域的條件分布也會接近.
$$ P(\mathbf{x}_s) \neq P(\mathbf{x}_t) \\ \mathop{\rightarrow}\limits^{\phi} P(\phi(\mathbf{x}_s)) \approx P(\phi(\mathbf{x}_t)) ?\\ \Rightarrow P(y_s | \phi(\mathbf{x}_s))) \approx P(y_t | \phi(\mathbf{x}_t))) $$
目標: 找φ
度量距離: 最大均值差異(MMD,maximum mean discrepancy)
數學推導統一擱置, mark一下, 下一篇筆記著重看TCA
TCA方法的步驟
輸入是兩個特征矩陣,我們首先計算L和H矩陣,然后選擇一些常用的核函數進行映射(比如線性核、高斯核)計算K,接著求(KLK+μI)^-1KHK的前m個特征值.
得到的就是源域和目標域的降維后的數據,可用傳統機器學習方法.
TCA擴展改進
ACA, DTMKL, TJM, DDC, DAN, DME, CMD
條件分布自適應
Conditional Distribution Adaptation
目標: 減小源域和目標域的條件概率分布的距離
STL方法
類內遷移計算每一類別的MMD距離,利用類內特征,實現更好的遷移效果
首先利用大多數投票的思想,對無標定的位置行為生成偽標簽;然后在再生核希爾伯特空間中,利用類內相關性進行自適應地空間降維,使得不同情境中的行為數據之間的相關性增大;最后,通過二次標定,實現對未知標定數據的精準標定。
?距離使用MMD
聯合分布自適應
目標: 分別減小邊緣分布和條件分布的距離
$$ DISTANCE(\mathcal{D}_s,\mathcal{D}_t) \approx ||P(\mathbf{x}_s) - P(\mathbf{x}_t)|| + ||P(y_s|\mathbf{x}_s) - P(y_t|\mathbf{x}_t)|| $$
TCA邊緣分布適配+條件分布適配
優化問題
$$ \min \quad \sum_{c=0}^{C}tr(\mathbf{A}^\top \mathbf{X} \mathbf{M}_c \mathbf{X}^\top \mathbf{A}) + \lambda \Vert \mathbf{A} \Vert ^2_F \quad \text{s.t.} \quad \mathbf{A}^\top \mathbf{X} \mathbf{H} \mathbf{X}^\top \mathbf{A} = \mathbf{I} $$
動態分布自適應
平衡分布自適應 BDA
(Balanced Distribution Adaptation)
根據數據領域中整體分布與類間分布差異的情況,采用平衡因子μ, 自適應地調整分布適配過程中邊緣分布和條件分布的重要性
$$? DISTANCE(\mathcal{D}_s,\mathcal{D}_t)\\ \approx (1 - \mu) DISTANCE(P(\mathbf{x}_s), P(\mathbf{x}_t))\\ + \mu DISTANCE(P(y_s|\mathbf{x}_s), P(y_t|\mathbf{x}_t))? $$
其中的平衡因子μ可以通過分別計算兩個領域數據的整體和局部的A-distance近似給出
動態分布自適應DDA
(Dynamic Distribution Adaptation)
監督遷移學習問題可以通過交叉驗證 (cross-validation)來確定μ最優的取值.
無監督對μ估計:隨機猜測和最大最小平均法
DDA對μ定量估計: A-distance
擴展
基于流形學習的動態遷移方法MEDA (Manifold Embedded Distribution Alignment)
基于深度學習的動態遷移方法DDAN (Deep Dynamic Adaptation Network)
7.特征選擇法(第二類方法)
假設
公共特征上,源領域和目標領域的數據分布一致.
機器學習選擇出共享的特征,構建統一模型.
通常與分布自適應方法進行結合
核心方法
SCL(Structural Correspondence Learning)找公共特征(Pivot feature)
8.子空間學習
假設
源域和目標域數據在變換后的子空間有相似的分布
按特征變換形式分類
統計特征對齊方法(基于統計特征變換)
流形學習方法(基于流形變換)
統計特征對齊
將數據的統計特征進行變換對齊
SA方法(Subspace Alignment,子空間對齊)
找一個線性變換M, 將不同的數據實現變換對齊
SDA方法(Subspace Distribution Alignment)
在SA的基礎上,加入了概率分布自適應A
CORA方法(CORrelation ALignment)
對兩個領域進行二階特征對齊(協方差矩陣)
流形學習
假設
數據從一個高維空間中采樣, 所以具有高維空間中的低維流形(一種幾何對象)結構.
流形空間中的距離度量
多維空間兩點之間測地線最短(如曲面展開攤平后畫線段)
將原始空間下的特征變換到流形空間中(可避免特征扭曲). 常用Grassmann流形.
流形變換的遷移學習方法
SGF: 增量式行走-路是一步一步走出來的. 把源域和目標域都分別看成是高維空間中的兩個點,在這兩個點的測地線距離上取d個中間點,依次連接.
GFK (Geodesic Flow Kernel):
1. 解決中間點的個數問題: 通過核學習,利用路徑上的無窮個點的積分,。
2. 使用哪個源域跟目標域進行遷移問題: 通過Rank of Domain度量, 找出跟目標域最近的源域
第9章深度遷移主要講finetune, 一般挪前3層, 略了
總結
以上是生活随笔為你收集整理的迁移学习笔记1:简明手册笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wordpress 怎么获取站点标题
- 下一篇: SQL注入漏洞全接触--高级篇