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):參與者的數據中樣本重疊多,特征重疊少(比如同一地區的銀行和電商),就需要先將樣本對齊,由於不能直接比對,我們需要加密算法的幫助,讓參與者在不暴露不重疊樣本的情況下,找出相同的樣本后聯合它們的特征進行學習。
- 聯邦遷移學習:如果樣本和特征重合的都不多,希望利用數據提升模型能力,就需要將參與者的模型和數據遷移到同一空間中運算。
- 目標:解決數據的協作和隱私問題。
7、對比學習
- 通過對比來了解事物的本質,就是利用數據間的相關性去學習事物本質的一種方法。
- 對比學習是一種自監督學習方法,用於在沒有標簽的情況下,通過讓模型學習哪些數據點相似或不同來學習數據集的一般特征。
- 舉例:有兩只貓和一只狗,即使沒有人告訴你它們是“貓”和“狗”,你仍可能會意識到,與狗相比,這兩只貓看起來很相似。
PS:知識的搬運工!!!