天天看點

機器學習第一次作業

人工智能領域的前沿技術介紹、展望、應用(Lifelong Learning)

背景介紹

​ 目前機器學習處理的問題大緻可以概括為幾個大類,比如計算機視覺(CV)、語音(Speech)、自然語言處理(NLP)、推薦系統等。針對各個大類的不同子類問題, 都會去設計不同的網絡結構,設計不同的損失函數, 采用不同的資料集去處理。這使得機器學習看起來“偏科嚴重”,比如要讓AlphaGo去下象棋,就肯定沒轍了。換句話說,目前的人工智能,隻能處理給定的任務,換一個任務就無能為力了。

​ 簡單來說,之前我們對于每一個領域的具體問題都會訓練一個網絡模型,雖然有遷移學習,但是還是要為不同的任務訓練很多的模型,我們能否隻使用一個模型來不斷的學習不同的任務,進而達到可以求解多種問題的能力?這就是終身學習(Lifelong Learning)所要研究的課題。

​ 終身機器學習出現的背景可以概括為以下兩個方面:第一,随着資訊技術的進步,各種資料呈爆炸式增長。第二,傳統機器學習算法對大資料環境下的應用問題很多已不再适用,這是因為傳統的機器學習算法大多隻是關注于小樣本範圍内的分類等工作,對大資料環境缺乏适應能力。在這樣的背景下,終身機器學習應運而生。

研究現狀

​ 關于終身機器學習的定義,學術界尚未形成統一的結論,但一般都遵循四個要點:

  • 維護可增長的知識庫
  • 按照一定順序學習
  • 多個任務
  • 知識的正向遷移

​ 從上面的四點還有之前的人類學習過程我們可以看出,這裡面最重要的一點就是知識的遷移,也就是舊知識如何幫助新知識的學習,知識遷移或者說遷移學習(Transfer Learning)正是終身機器學習的基礎。目前人工神經網絡領域應用最廣泛的遷移學習被叫做微調 (Fine Tune),微調簡單的就來說是使用之前訓練好的參數,在新資料上面重新訓練,使得新參數可以适用于新任務。在這個過程中,由于新任務的參數是基于原先參數訓練得到的,如果兩個任務之間有很多相似的特征,那麼使用新資料集進行訓練時的難度就會降低,也就達到了知識遷移的效果。

​ 多任務學習(MTL)是遷移學習的一個分支,多任務學習也是是人工智能領域中一種很有前途的高效學習模式,其目标是利用多個相關任務中包含的有用資訊,以幫助提高所有任務的泛化性能。理想情況下,無需為每個單獨的任務存儲大量的專有參數。多任務學習目前也存在多種形式。簡單的多任務學習方案是不同的任務使用不同的網絡,但是不同的學習任務之間存在共享的特征提取層,不同任務産生的梯度聯合更新共享的層。共享的層可以根據人工的共有特征出現的位置進行調整。如果多個任務很相似,那麼多任務學習也可能對單個任務的産生提升。

​ 下面是有關終身學習的一些算法模型介紹。

基于解釋的神經網絡模型EBNN

  • 目标:解決了純粹的歸納學習在訓練資料不足時通常會失敗的問題
  • 解決問題的角度:将歸納學習和分析學習相結合
  • 算法思想:将歸納學習和分析學習相結合并增加了給定訓練導數與神經網絡函數實際導數之間的一緻性限制,且進一步提出采用已經學習過任務的資訊給出對訓練資料的解釋,實作不同任務間知識的遷移
  • 貢獻點:開創了利用根據先驗知識進行演繹推導來進行終身學習的先河

多任務人工神經網絡MTLNN

  • 目标:解決當學習新問題時,學習過的任務知識的滞留和回想問題
  • 解決問題的角度:将學習過的任務進行重演
  • 算法思想:将新任務樣本輸入已學習過模型中,并将對應的輸出結果作為虛拟樣本加入新任務學習的ηMTL 網絡中進行訓練,使得舊任務在學習新任務的同時也得到了鞏固
  • 貢獻點:引入了任務重演對以前學習的任務進行鞏固

相關多任務學習csMTL

  • 目标:克服MTL網絡的局限性
  • 解決問題的角度:增加任務上下文輸入集
  • 算法思想:增加輸入節點,每一個增加的輸入節點分别标記一個任務,但隻設立一個輸出節點;直接共享任務的表示
  • 貢獻點:避免了一次任務訓練中必須對其他任務進行任務重演的操作,同時不需要計算任務相關性。

高效終身機器學習ELLA

  • 目标:提高終身學習的效率
  • 解決問題的角度:設立潛在任務
  • 算法思想:将一組潛在任務作為共享知識儲存起來,新任務到來的時候,通過這些潛在任務遷移已經學習到的知識幫助學習新任務,又通過學習到的新任務知識精煉潛在任務,可以使得先前學習的任務模型性能同樣得到提升.
  • 貢獻點:在與MTL幾乎同樣的性能下,節省大量時間(超過1000倍),極度高效

應用展望

​ 終身學習和GAN一樣都是對于強人工智能實作的嘗試。終生學習的實作方式中,最有潛力的應該是多任務學習+進化神經網絡這一條道路,在完成多任務的時候允許神經網絡随着任務的變化而不斷進化,這種方案雖然看起來不錯,但實作難度可想而知。網絡進化過程中,如何完成多任務的遷移,如何完成網絡進化,如何判定親本性能,這都是大問題。

​ 如果能夠克服困難,得到的一些初步應用也是極為強大的:

  • 語言學習機:創造一個計算機系統,使其可以持續不斷地學習閱讀和了解網頁。
  • 圖像學習機:在最少人工參與的情況下,建立世界上最大的結構化視覺知識庫。

​ 現有的終身機器學習方法還有很多不足之處,對未來的展望主要展現在以下三個方面:

  • 可遷移知識表示的研究,尤其是适用于任務類别數大且不一定完全相關的情況的知識表示
  • 如何處理資料多源異構問題,這裡指的是針對來自不同的資料采集源,分布不同的

    異構資料

  • 結合其他先進技術,如深度學習、知識圖譜等,旨在提高特征學習性能和隐含因素捕捉能力以及對知識的組織和利用能力