遷移學習的基礎研究問題及適用場景
人工智慧(Artificial Intelligence,AI)是艾倫·圖靈受其提出的“機器會思考嗎?”這一著名圖靈測試問題啟發而得到的願景。該圖靈測試問題激勵了幾代研究人員探索機器智慧執行的方法。然而縱觀最近二三十年的發展,人工智慧研究經歷了多次起伏,其中大部分都圍繞著機器如何從外部世界獲取知識這一核心問題而演變。
從人工建立基於規則的知識庫到從資料中進行機器學習,使機器像人類一樣思考的嘗試已經走了很長的路。目前,機器學習(machine learning)已經從一個模糊的學科發展成為一種推動工業和社會發展的重要力量,可以實現從電子商務和廣告投放到教育和醫療等領域的自動化決策。由於機器學習具有使機器透過在標註和未標註的資料中進行學習和適應來獲得知識的強大能力,因此它正在成為一種世界通用的技術。機器學習根據資料生成預測模型,因此往往需要高質量的資料作為“老師”來幫助調控統計模型。這種對未來事件進行準確預測的能力是基於對任務領域的觀察和理解。訓練樣本中的資料通常是被標註的,也就是說訓練樣本中的觀察和預測結果是相互耦合和相關的。之後,這些樣本就能夠被機器學習演算法當成“老師”來“訓練”可應用到新資料的模型。現實生活中有許多應用機器學習的成功例子。基於計算機的影像分析領域中的人臉識別是一個很好的例子。假設我們已經獲得了大量的醫療影像照片。那麼,機器學習系統可以使用這些照片訓練模型,從而判斷新照片中是否有某種疾病的可能性。機器學習模型還可以應用於公司的安保系統中,以判斷訪客是否是公司的員工。
儘管機器學習模型可以具有高質量,但它也有可能出錯,尤其是當模型應用於有別於訓練環境的場景中時。例如,如果從具有不同光照強度和不同程度的噪聲(如陰影、不同角度的光照、路人的遮擋等)的室外環境拍攝照片,那麼系統的識別能力將會顯著下降。這是由於由機器學習系統訓練的模型被應用於“不同”的場景。效能下降表明模型可能已過時,當出現新情況時需要及時更新。正是這種將模型從一種場景更新或者遷移到另一場景的需求體現了本書主題的重要性。
對遷移學習(transfer learning)的需求不僅僅侷限於影像理解,透過自然語言處理(Natural Language Processing,NLP)技術理解 Twitter 文字訊息是另一個例子。假設我們希望將 Twitter 訊息根據使用者的不同情緒(如高興、傷心等)進行分類。那麼,當使用來自青少年群體的一組 Twitter 訊息構建一個模型然後將其用於成年人的新資料時,模型的效能就會急劇下降,因為不同群體很可能會以不同的方式表達他們的觀點。
如上面的例子所述,在許多應用中使用機器學習的一個重要挑戰是,現有的模型不能很好地適應到新的領域中。究其原因,訓練資料量小、場景變化、任務變化等都可能導致這一問題。例如,在醫學診斷和醫學影像領域,短期內往往無法獲得新病症的大量高質量訓練資料用於模型的重訓練。沒有充足的訓練資料的支撐,機器學習模型的效能往往不盡如人意。獲得和標註新應用場景下的資料通常要花費很多精力和資源,這已然是現實生活中實現人工智慧的一個主要障礙。打個比方,擁有一個精心設計卻沒有訓練資料的 AI 系統就像一輛沒有油或電的跑車。
上述討論顯示了將機器學習應用於實際場景的一個主要障礙:在應用機器學習演算法前,我們無法獲得各個領域的大量訓練資料。除此之外,還有其他幾個重要原因:
1)許多應用場景資料量小。當前機器學習的成功應用依賴於大量有標籤資料的可用性。然而,高質量有標籤資料總是供不應求。傳統的機器學習演算法常常因為資料量小而產生過擬合問題,因而無法很好地泛化到新的場景中。
2)機器學習模型需要強魯棒性。傳統的機器學習演算法假設訓練和測試資料來自相同的資料分佈。然而,這種假設對於許多實際應用場景來說太強。在許多情況下,資料分佈不僅會隨著時間和空間而變化,也會隨著不同的情況而變化,因此我們可能無法使用相同的資料分佈來對待新的訓練資料。在不同於訓練資料的新場景下,已經訓練完成的模型需要在使用前進行調整。
3)個性化和定製問題。根據個人喜好和需求為每個使用者提供個性化的服務是至關重要且具有經濟效應的。在許多實際應用中,我們只能從單個使用者收集到非常少的個人資料。因此,當我們嘗試將通用的模型應用到特定的場景時,傳統的機器學習演算法會遇到冷啟動問題。
4)使用者隱私和資料安全。在實際應用中,我們常常需要和其他組織合作,從而需要利用多個資料集。這些資料集通常屬於不同的所有者,並且出於隱私或者安全考慮不能彼此洩露。當利用多個資料集構建同一模型時,我們希望提取每個資料集的“本質”並在構建模型中擬合它們。例如,如果能夠在網路裝置的“邊緣”調整通用模型,那麼就不需要上傳儲存在裝置上的資料來增強該通用模型,因此邊緣裝置的隱私將得以保證。
智慧系統的上述目標促進了遷移學習的發展。簡而言之,遷移學習是一種機器學習正規化,其演算法能夠從一個或多個應用場景中提取知識以幫助提高目標場景中的學習效能。與需要大量精心準備的訓練資料作為輸入的傳統機器學習技術相比,遷移學習可以被理解為一種新的學習正規化,我們將在本書對其進行詳細介紹。除此之外,遷移學習也是解決許多大規模線上應用中資料稀疏性和冷啟動問題的一種方式,例如,線上推薦場景中可能因為有標籤使用者評分資料太少而無法構建高質量的推薦系統。
遷移學習能夠在應用開發初期以及技術上發展較少的地理場景中幫助提升 AI 的效能,即使在這些場景中沒有太多的有標籤資料。例如,假設我們希望在一個新的線上購物應用中構建書籍推薦系統,並且假設在這個全新的書籍購物領域沒有太多的交易記錄。那麼,如果遵循監督學習(supervised learning)方法在這個全新的書籍領域中用不充分的訓練資料構建預測模型,我們就無法對使用者的下一次購買行為建立可信的預測。然而,透過遷移學習,可以找到相關的、開發完善的但是不同的領域尋求幫助,比如現有的電影推薦領域。利用遷移學習,可以找到書籍和電影兩個領域之間的相似性和差異性。例如,一些作者會將他們的書拍成電影,因此這樣的電影和書籍會吸引類似的使用者群體。值得一提的是,領域之間的相似性允許模型聚焦於書籍推薦領域的獨特之處進行最佳化,從而有效地利用資料集之間的潛在相似性。那麼,書籍領域的分類和使用者偏好模型就能夠從電影領域進行最佳化。
基於遷移學習的方法,一旦我們在一個領域中獲得了訓練好的模型,就可以將這個模型引入其他類似的領域。因此,為了設計一個合理的遷移學習方法,找到不同領域任務間準確的“距離”度量方式是必需的。如果兩個領域間的“距離”過大,那麼我們可能不希望應用遷移學習技術,因為這樣的學習可能產生一些負面影響。另一方面,如果兩個領域非常“靠近”,則可以有效地應用遷移學習。
在機器學習中,領域之間的距離通常根據描述資料的特徵來度量。在影像分析中,特徵可以是影像中的畫素或者區域,例如顏色和形狀。在自然語言處理中,特徵可以是單詞或者短語。一旦瞭解兩個領域非常接近,我們就能確保 AI 模型可以從一個已開發好的領域遷移到一個欠開發的領域,從而使 AI 應用更少地依賴資料。這對於成功的遷移學習應用來說是一個好的預兆。
能夠將知識從一個領域遷移到另一個領域說明機器學習系統能夠將其適用範圍擴充套件到其源域外。這種泛化能力使得在 AI 能力或者計算能力、資料和硬體等資源相對匱乏的領域內,更加容易實現 AI 且 AI 更加魯棒。在某種程度上,遷移學習可以促進 AI 成為一種更為包容的、為每個人服務的技術。
為了給出一個直觀的例子,我們可以使用類比的方式突出遷移學習背後的關鍵要素。考慮在世界不同國家開車的情況。在美國和中國,駕駛員位置在汽車的左側並且汽車靠右行駛。在英國,駕駛位置在汽車右側並且汽車靠左行駛。對於習慣在美國開車的人來說,在英國開車時,其駕駛習慣的轉換尤為困難。然而,遷移學習能夠幫助我們找到兩個駕駛領域中的不變性並將其作為一種共同特徵。仔細觀察可以發現,無論駕駛員坐在哪邊,其離道路中心始終是最近的。換言之,駕駛員坐在離路邊最遠的位置。這一事實能夠使駕駛員將駕駛習慣順利地從一個國家“遷移”到另一個國家。因此,遷移學習背後的關鍵要素是尋找不同領域和任務之間的“不變性”。在人工智慧領域,遷移學習已在知識重用、基於案例的推理、類比學習、領域自適應、預訓練和微調等不同術語下得到了廣泛研究。在教育和學習心理學領域,學習遷移與機器學習中的遷移學習有類似的概念。具體地說,學習遷移是指從之前的源任務中獲得的歷史經驗可用於影響目標情境中的未來學習和表現(L.Thorndike 和 S.Woodworth,1901)。教育領域中的學習遷移和機器學習中的遷移學習有一個共同目標,即在一個場景中處理學習的過程,然後將學習應用到另一個場景中。在這兩個領域中,學習到的知識或者模型都在進行了一定程度的適應後應用到後繼的目標任務中。深入研究教育理論和學習心理學的文獻 (Ellis,1965;Pugh 和 Bergin,2006;Schunk,1965;Cree 和 Macaulay,2000) 可以發現,儘管機器學習中的遷移學習旨在賦予機器適應場景的能力,教育領域中的學習遷移試圖研究人在教育中的適應性,但是二者在遷移的過程或者處理方式上卻是相似的。
最後關於遷移學習的好處需要提及的是模擬技術。在諸如機器人和藥物設計等複雜任務中,在真實的環境中進行試驗的成本通常是非常昂貴的。在機器人領域,移動機器人或自動駕駛汽車需要收集大量的訓練資料。例如,汽車碰撞可能有多種方式,但在現實生活中造成汽車碰撞的成本太高。相反,研究人員通常建立複雜的模擬器,以便在模擬環境訓練出來的模型可以透過遷移學習應用到實際環境中。遷移學習的作用是考慮模擬環境中許多未知的未來情況,並使模擬環境中得到的預測模型(諸如汽車自動駕駛中的躲避障礙物模型)適應不可預見的未來情況。
正如上面提到的,遷移學習中存在三個研究問題,即“遷移什麼”“如何遷移”和“何時遷移”。由於遷移學習的目標是跨不同領域遷移知識,因此第一個問題就是可以遷移哪些跨域的知識來提高目標域的泛化效能,也就是“遷移什麼”問題。在確定了要遷移的知識後,後續問題便是如何將知識編碼到學習演算法中進行遷移,這對應於“如何遷移”問題。“何時遷移”是詢問在哪些情況下應該進行遷移學習或者可以安全地進行遷移學習。這三個問題背後的一個基本研究問題是如何衡量任何一對域或者任務之間的“距離”。透過域或者任務之間的距離度量,可以確定任務之間的哪些共有知識可以用於減少域或者任務之間的距離,即“遷移什麼”,並根據識別出來的共有知識確定如何減少域或者任務之間的距離,即“如何遷移”。此外,透過域或任務之間的距離度量,可以在邏輯上決定“何時遷移”:如果距離太大,則建議不進行遷移學習。否則,遷移才是“安全的”。
因此,隨後的問題是如何進行距離度量。傳統上,對於任何兩個機率分佈之間的距離存在各種型別的統計度量方法。其中,典型的度量方法包括但不限於 KL 散度、A 距離和最大均值差異(Maximum Mean Discrepancy,MMD)。回顧一下,域包含特徵空間和邊緣機率分佈兩個組成部分,任務也包含標籤空間和條件機率分佈兩個組成部分。因此,透過假設源域(源任務)和目標域(目標任務)共享一個特徵(標籤)空間,可以將現有的機率分佈間距離的統計度量方法用於度量域或者任務之間的距離。但是,使用統計距離度量方法進行遷移學習存在一些限制。首先,研究人員發現這些基於通用分佈的距離度量通常過於粗糙,並且在兩個域或者任務之間的可遷移性距離度量方面不能很好地發揮作用。其次,如果域具有不同的特徵空間和 / 或標籤空間,則必須首先將資料對映到相同的特徵空間和 / 或標籤空間,然後將統計距離度量方法應用到後續步驟中。因此,需要對兩個域或者任務之間距離的泛化度量進行更多的研究。
從目標識別到行為識別的很多影像理解任務已經運用了遷移學習。通常,這些計算機視覺任務需要大量有標籤資料來訓練模型,例如使用眾所周知的 ImageNet 資料集。然而,當計算機視覺的情景稍有變化(例如從室內到室外、從靜止攝像機變為移動攝像機)時,需要調整模型以適應新情況。遷移學習是解決這些適應問題的常用技術。
在影像分析領域,許多最近的方法將深度學習架構和遷移學習相結合。例如,Long 等人(2015)利用深度學習框架將源域和目標域之間的距離最小化。在 Facebook 上發表的一篇文章中,Mahajan 等人(2018)將遷移學習應用到影像分類中。該方法首先在非常大的影像資料集上訓練深度學習模型,然後在目標域的特定任務中利用相對少量的有標籤資料對預先訓練的模型進行調整。該模型是一個為基於數十億社交媒體圖片主題標籤的分類任務而訓練的深度卷積網路,目標任務是目標識別或影像分類。他們的分析表明,增加預訓練資料集的大小以及在源任務和目標任務之間選擇密切相關的標籤空間都很重要。這一觀察結果說明,遷移學習需要設計“標籤空間工程”方法以匹配源和目標的學習任務。他們的工作還表明,可以透過提高源模型的複雜度和增加資料集大小獲得對目標任務的改進。
遷移學習還使得影像分析在具有巨大社會影響的應用中發揮重要作用。在 Xie 等人(2016)的研究中,史丹佛大學地球科學的學者基於衛星影像, 利用遷移學習來預測全球貧困水平。首先,他們使用白天的影像預測夜間光照影像,然後將所得模型遷移到預測貧困的問題上。與傳統的基於調查的方法相比,該方法得到了非常準確的預測結果並且只需要很少的人工標註工作。
在生物學中,許多實驗成本高昂且資料很少。例如,醫生嘗試使用計算機發現潛在疾病時的生物成像,以及使用軟體模型掃描複雜的 DNA 和蛋白質序列以尋找特定疾病以及治癒的模式。遷移學習越來越多地被用於幫助將知識從一個領域遷移到另一個領域來解決生物學中有標籤資料獲取成本高昂的難題。例如,Xu 和 Yang(2011)對在生物資訊學應用中利用遷移學習和多工學習進行了早期調研。Xu 等人(2011)提出了一種遷移學習過程以識別在有標籤資料極少的目標域中的蛋白質細胞結構。在生物醫學影像分析中,一個難題是收集足夠的訓練資料來訓練模型以識別諸如癌症等指定疾病的影像模式。這種識別需要大量的訓練資料。然而,這些資料通常因為需要專家進行標註而十分昂貴。此外,預訓練模型和未來模型的資料通常來自不同的分佈。這些問題激發了許多應用遷移學習來使預訓練模型適應新任務的研究工作。例如,在 Shin 等人(2016)的研究中,基於 ImageNet 資料的預訓練模型被用作源域模型,然後被遷移到醫學成像領域中用於胸腹淋巴結檢測和間質性肺病分類,該研究取得了巨大的成功。
通常情況下,由於冷啟動問題,線上產品推薦系統難以建立。如果我們能發現域之間的相似性並將推薦模型從一個成熟域適應到新域,那麼就可以緩和冷啟動問題。這通常可以節省成功完成一個原本不可能的任務所耗費的時間和資源。例如,Li 等人(2009b)和 Pan 等人(2010b)開創性地將遷移學習應用到了線上推薦領域。在他們的應用中,跨域推薦系統將使用者偏好模型從現有域(如圖書推薦領域)遷移到一個新域(如電影推薦領域)中。該場景對應於線上商務站點開放新業務線時希望在新業務線中快速部署推薦模型的商業案例。在這樣做時,必須克服新業務線中缺少交易資料的問題。另一項工作是整合強化學習(reinforcement learning)和推薦系統,從而使依據使用者歷史記錄和潛在的興趣多樣性推薦的專案是準確的。例如,Liu 等人(2018)提出了一種在推薦準確度和主體多樣性中達到平衡的 bandit 演算法,以允許系統挖掘新主題以及迎合使用者最近的選擇。關於遷移學習,該工作表明平衡探索和利用的推薦策略確實可以在域之間進行遷移。
在設計機器人和汽車自動駕駛時,從模擬場景中學習是一種特別有用的方法。在硬體互動部分,收集用於訓練強化學習和監督學習模型的有標籤資料是十分昂貴的。正如 Taylor 和 Stone(2007) 所描述的,遷移學習能夠幫助研究人員在一個或多或少理想的域(源域)中構建模型,然後在目標域中學習處理預期事件的策略。目標域模型可以處理更多現實世界中的情況,以進一步處理更多未預料到的噪聲資料。當模型很好地適應後,可以在重新訓練目標域模型的過程中節省大量勞動力和資源。Tai 等人(2017)設計了基於 10 維稀疏範圍發現的無地圖支援運動規劃器,並透過端到端的深度強化學習演算法對其進行了訓練,然後透過真實樣本將學習好的規劃器泛化遷移到了現實場景中。
文字挖掘是遷移學習演算法的一個很好的應用場景。文字挖掘旨在從文字中發現有用的結構性知識並將其應用於其他領域中。在文字挖掘的所有問題中,文字分類旨在用不同的類標籤標記新的文字文件。一個典型的文字分類問題是情感分類。線上論壇、部落格、社交網路等線上網站上有大量使用者生成的內容,能夠總結消費者對產品和服務的看法非常重要。情感分類能夠透過將評論分為正面和負面兩個類別來解決這個問題。但是,在不同的域中,例如不同型別的產品、不同型別的線上網站、不同的行業,使用者可能使用不同的詞語表達他們具有相同情感的觀點。因此,在一個域上訓練的情感分類器可能在其他域上表現不佳。在這種情況下,遷移學習可以幫助調整已訓練完成的情感分類器以適應不同的領域。
近期,對預訓練的研究獲得了遷移學習本質的新見解。Devlin 等人(2018)發現了遷移學習應用成功的一個條件:擁有足夠數量的源域訓練資料。例如,谷歌的自然語言處理系統 BERT(Bidirectional Encoder Representations from Transformers,Transformer 的雙向編碼器表示)(Devlin 等人,2018)將遷移學習應用於許多 NLP 任務中,證明使用強大的預訓練模型可以解決許多傳統自然語言處理領域的棘手問題(如問答系統)。在公開的 SQuAD 2.0 競賽中,BERT 在許多工中取得了令人驚訝的領先結果(Rajpurkar 等人,2016)。其源域由非常龐大的自然語言文字語料庫組成,BERT 使用該語料庫訓練基於注意力機制的雙向 Transformer 模型。預訓練模型能夠使語言模型中的各種預測比以前更準確,並且其預測能力隨著源域中訓練資料量的增加而增加。然後,透過在諸如下一句子分類、問答和命名實體識別(Named Entity Recognition,NER)中向源模型新增額外的較小的層,便可以將 BERT 模型應用於目標域中的特定任務。這種遷移學習方法屬於基於模型的遷移,其中大多數超引數保持相同,但是會選擇幾個超引數透過目標域中的新資料進行調整。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2709722/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遷移學習中的BN問題遷移學習
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- 基礎學習問題
- Redis應用場景及快取問題Redis快取
- 遷移學習在NLP中的演化:從基礎到前沿遷移學習
- 基於VGG的遷移學習遷移學習
- Spark適用於哪些場景?不適用於哪些場景?Spark
- 讀“基於深度學習的影像風格遷移研究綜述”有感深度學習
- 不同場景下 MySQL 的遷移方案MySql
- 教程:使用遷移學習來解決影像問題!遷移學習
- 當前NLP遷移學習中的一些問題遷移學習
- Java學習之反射機制及應用場景Java反射
- 楊強:深度學習、強化學習、遷移學習的結合及應用進展深度學習強化學習遷移學習
- 0 元徹底掌握遷移學習原理及應用遷移學習
- list與Set、Map區別及適用場景
- [原]不同場景下MySQL的遷移方案MySql
- block學習(pctfree&pctused),行遷移問題(zt)BloC
- CDN適用哪些場景?
- 【火爐煉AI】深度學習009-用Keras遷移學習提升效能(多分類問題)AI深度學習Keras遷移學習
- SPM適用的場景和示例
- 簡述遷移學習在深度學習中的應用遷移學習深度學習
- 輪換代理介紹及適用場景介紹
- NodeJS優缺點及適用場景討論NodeJS
- 【基礎梳理】cookie、session、sessionStorage、localStorage之間的區別及應用場景CookieSession
- 箭頭函式適用場景及需要注意的地方函式
- Zookeeper基礎原理&應用場景詳解
- INDEX SKIP SCAN適用場景Index
- Kotlin邊用邊學:Inline Functions的適用場景KotlininlineFunction
- Kotlin基礎:抽象屬性的應用場景Kotlin抽象
- MongoDB的優勢和適用場景MongoDB
- 打怪升級任務Day8-聯絡場景-遷移場景
- 基礎學習-記憶體溢位問題記憶體溢位
- 深度學習:智慧對話機器人適用場景與技術解析深度學習機器人
- 【docker專欄1】docker解決的實際問題及應用場景Docker
- 什麼是遷移學習?什麼時候使用遷移學習?遷移學習
- Streaming特性和適用場景
- 設計模式適用場景整理設計模式
- 問一個基礎的用例問題?