1. 程式人生 > 其它 >遷移學習、元學習、強化學習、聯邦學習等

遷移學習、元學習、強化學習、聯邦學習等

1、遷移學習(Transfer Learning)

  • 直觀理解:站在巨人的肩膀上學習。根據已有經驗來解決相似任務,類似於你用騎自行車的經驗來學習騎摩托車。
  • 專業理解:將訓練好的內容應用到新的任務上,即將源域(被遷移物件)應用到目標域(被賦予經驗的領域)。
  • 遷移學習不是具體的模型,更類似於解題思路。
  • 當神經網路很簡單,訓練一個小的神經網路不需要特別多的時間,完全可以從頭開始訓練。如果遷移之前的資料和遷移後的資料差別很大,這時遷移來的模型起不到很大的作用,還可能干擾後續的決策。
  • 應用場景:目標領域資料太少、節約訓練時間、實現個性化應用。
  • 實際擅長應用例舉:語料匱乏的小語種之間的翻譯、缺乏標註的醫療影像資料識別、面向不同領域快速部署對話系統。
  • NLP領域中的應用:Transformer、Bert之類的預訓練語言模型,微調後可以完成不同的任務。

2、元學習(Meta Learning)

  • 與傳統的監督學習不一樣,傳統的監督學習要求模型來識別訓練資料並且泛化到測試資料。
  • 訓練目標:Learn to Learn,自己學會學習。例:你不認識恐龍,但是你有恐龍的卡片,這樣看見一張新的圖片時,你知道新的圖片上的動物與卡片上的動物長得很像,是同類的。
  • 靠一張卡片來學習識別叫做:one-shot learning。

3、小樣本學習(Few-Shot Learning)

  • Few-Shot Learning是一種Meta Learning。
  • 用很少的資料來做分類或迴歸。例如:模型學會了區分事物的異同,例如:雖然資料集中沒有狗的照片,模型不會識別狗,但模型也能判斷兩張狗的圖片上的事物是同類的。
  • 資料集:Support Set。Support Set與訓練集的區別:訓練集的規模很大,每一類下面有很多圖片,可以用來訓練一個深度神經網路。相比這下,Support Set資料集比較小,每一類下面只有一張或幾張圖片,不足以訓練一個大的神經網路。Support Set只能在做預測的時候提供一些額外的資訊。
  • 用足夠大的訓練集來訓練一個大模型,比如深度神經網路,訓練的目的不是為了讓模型來識別訓練集裡的事物,而是讓模型學會區分事物的異同。
  • 傳統監督學習 VS Few-Shot Learning:傳統監督學習是先用一個訓練集來學習一個模型,模型學習好之後可以用來做預測,給一張沒有出現在訓練集中的圖片,模型沒有見過這張圖片,但是測試圖片的類別包含在訓練集中,模型能很容易就判斷出圖片的類別。而Few-Shot Learning不僅沒有見過這張圖片,訓練集中也沒有該類別的圖片。Few-Shot Learning的任務比傳統監督學習更難。
  • k-way n-shot Support Set:Support Set中有k個類別,每個類別;裡有n個樣本。

4、強化學習(Reinforcement Learning)

  • 不是某種特定的模型和演算法,指的是訓練方法。
  • 舉例:下棋:每當落下一子,對方都會再落下一子,這時主體就要認識新的局面也就是新的環境,分析判斷後再行動,主體的目標是在儘可能多的棋局中獲勝。
  • 由於主體的每個行為都會改變環境,這決定了強化學習無法使用資料集訓練,只能通過真是環境或模擬器產生的資料來學習,由於計算量大,效率低,除AlphaGo和遊戲AI外落地應用並不多。
  • 實際應用:推薦系統每次都會影響人們的購買,系統需要根據新的市場資料給出新的推薦;股票市場中每個人每時每刻買入賣出都會影響股價,交易系統需要理解新的環境後再行動。
  • 強化學習演算法可以分為兩類:基於模型的(試圖用模型模擬真實環境)。無模型的(不模擬環境,只根據反饋資料構建關於回報的模型)。
  • 在強化學習中,做出決策的一方稱為Agent(主體),主體每做出一個動作,環境都會給予反饋,主體會在評估反饋之後決定下一個動作。一切動作的基礎都是回報,目標是長期,也就是未來的回報儘可能的大。

5、深度強化學習(Deep Reinforcement Learning DRL)

  • 深度強化學習:使用神經網路構建強化學習主體的方法。
  • 使用深度強化學習原因:強化學習面對的情景多種多樣,環境、行為、回報很難窮盡,只要有輸入就一定有輸出,神經網路面對沒有見過的情況也能做出選擇。
  • Value-Based Method,將關注點放在回報上:
    • DQN(Deep Q-Learning Network):用數值Q表示特定狀態下采取某行動的收益,將計算Q的工作交給神經網路;
    • DDQN(Double Deep Q-Learning Network)增加一個對Q值評估相對謹慎的網路,平衡兩者之間的看法,防止主體過於激進。
    • NoiseNet:為了提高探索能力,適當在網路中增加噪音,增加主體的隨機性。
    • RainBow:DQN+DDQN+NoiseNet.
  • Policy-Based Method,將關注點放在動作的選擇上:
    • Policy Gradient,策略梯度:如果一個動作能使最終回報變大,就增加這個動作出現的概率,反之就減少。
  • Combination
    • Actor-Critic:如果我們讓選擇動作的網路擔任主體Actor,關注回報的網路擔任老師Critic,為主體的表現打分提供指導。
    • A3C(Asynchronous Advantage Actor-Critic):使用多個Actor-Critic網路同時探索環境,並將採集到的資料交由主網路更新引數。

6、聯邦學習

  • 二人同心,其利斷金。團結就是力量,機器學習同樣如此,資料越多,訓練出的模型效果越好,所以將大家的資料放在一起使用,每個人都能得到更好的模型。
  • 現實世界中,資料是屬於使用者的,既不能不作申請的使用它們,還要保護資料的私密性。聯邦學習:安全高效的實現資料合作。
  • 橫向聯邦學習(Horizontal Federated Learning)或特徵對對齊的聯邦學習(Feature-Aligned Federated Learning):參與者們業務相似,資料的特徵重疊多,樣本重疊少(比如不同地區的兩家銀行),就可以通過上傳引數,在伺服器中聚合更新模型,再將最新的引數下放完成模型效果的提升。
  • 縱向聯邦學習(Vertical Federated Learning)或樣本對對齊的聯邦學習(Sample-Aligned Federated Learning):參與者的資料中樣本重疊多,特徵重疊少(比如同一地區的銀行和電商),就需要先將樣本對齊,由於不能直接比對,我們需要加密演算法的幫助,讓參與者在不暴露不重疊樣本的情況下,找出相同的樣本後聯合它們的特徵進行學習。
  • 聯邦遷移學習:如果樣本和特徵重合的都不多,希望利用資料提升模型能力,就需要將參與者的模型和資料遷移到同一空間中運算。
  • 目標:解決資料的協作隱私問題

 

PS:我只是知識的搬運工!!!