日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

李宏毅——终身学习lifelong learning

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 李宏毅——终身学习lifelong learning 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

李宏毅——終身學習lifelong learning

  • 導讀
    • 要解決的問題
    • 如何解決
  • 遺忘問題
    • Elastic Weight Consolidation(EWC)
      • 基本思想
      • 理解
      • EWC的變形
    • 其他方法
      • 生成數據
      • 新增類
  • knowledge transfer
    • life-long vs transfer
  • 如何衡量life-long learning
    • GEM
  • Model Expansion
    • Progressive Neural Network
    • expert gate
    • Net2Net
  • curiculum learning

導讀

人從小大大用同一個腦袋學習
但每個作業都訓練同一個神經網絡

為什么不用同一個網絡學習不同的任務呢?
終身學習的不同稱呼
LLL(life long learning)
continuous learning
never ending learning
incremental learning
可以做不同的任務

要解決的問題

1、學過的舊東西記下來,但要能學新的

例子:手寫數字辨識
在一個三層的網絡中學習第一個有噪音的任務,在任務1學到的東西可以用在任務2上。任務1的正確率甚至沒有任務2高,這個可以視為遷移學習。
讓機器學任務2后,任務2的準確率更高,但是任務1的準確率下降

是否是因為網絡過于簡單?不是的,因為同時學任務1和任務2,能夠學的比較好

例子:問答系統。

機器學習的訓練資料是:文章、問題、答案
bAbi訓練集有20種不同的題型
機器從第一個任務開始學習,學到第20個。
看機器對題型5的回答,只有剛學完題型5時正確率比較高。
對于其他題型也是這樣的。

如果同時學20個任務的話,正確率還行。

證明網絡有能力學完這些東西,但是沒有做到。
這種現象叫做災難遺忘。

如何解決

1、多任務學習
很難實現,要保存所有的舊資料才行,學習可能很久(存儲、計算問題)

遺忘問題

Elastic Weight Consolidation(EWC)

基本思想

有一些weight重要,但是有一些不重要;保護重要weight,只調不重要的額。
做法:對于每一個theta,有一個守衛參數b
修改loss,計算當前參數與之前的參數之間的距離。

b用來表示保護theta的程度
可以將theta視為一種regularization

理解

假設有兩個任務,網絡有兩個參數theta,顏色越深,說明loss越小
學習任務1時,參數從theta0學到thetab,再學習任務2時,繼續訓練,學習到theta* ,此時任務2的loss變小,但是任務2的變大

在EWC中,可以使用某種方法算重要性,比如算微分,theta1比較小,也就是說在theta1上,改變參數,對結果影響不大,b1可以設為比較小的值,但是theta2微分比較大,b2設置的比較大

移動時,盡量不要動theta2

當然求導不是唯一的方法,可以用其他的方法。
原始EWC的實驗結果
分別訓練A,B,C,橫軸表示在不同任務上的表現,縱軸表示訓練階段

EWC的變形

其他方法

生成數據

生成數據,來緩解數據過多占用內存的問題
先讓機器學task1,然后學task2,同時要訓練generator,學會生成task1的數據,此時就可以把task1的data丟掉,用生成的數據和task2的放在一起訓練。

但是目前靠機器生成復雜數據,能不能做的起來尚待研究

新增類

如果訓練任務需要不同的網絡呢?比如類增量問題

knowledge transfer


不為每個任務訓練模型,讓不同模型之間互通有無,也可以節省模型開銷空間

life-long vs transfer

不同點:在transfer時,只在乎任務2,不在乎任務1點表現,但是life-long希望都表現好

如何衡量life-long learning

通常用matrix,每個row代表學習的階段,column表示在任務X上的表現。
Accuracy是最后一行的平均
多不會遺忘:backward Transfer,學到某個階段時減去剛學過時的表現,求平均
(通常為負)

forward Transfer:表示能transfer到沒學的任務的表現

GEM

gradient Episodic Memory
在新的任務算出gradient,再計算之前的Gradient的方向。算出現在移動的方向。這個方向不會傷害到原有的任務,而且和當前gradient的方向越近越好。

這種需要存一些過去的數據。
它的表現:后續的學習不會影響之前的任務,甚至能有所改善

Model Expansion

有可能真的學不下了,能不能擴張模型

模型擴張的速度應該比任務來的速度慢。這個是個尚待研究的問題,沒有太多研究。

Progressive Neural Network

一個網絡做任務1,網絡1的輸出當作網絡2的輸入,網絡1、2的輸出都當作網絡3的輸入
實操上做不了太多任務

expert gate

每個task訓練一個網絡,每個新任務進來,看和哪個舊任務最像,希望做到knoledege transfer。這里模型擴張的速度和新任務到來的速度一樣,在任務較多的時候也是會有比較多的模型

Net2Net

讓網絡長寬
直接加neuron的話,可能會加噪聲,所以如何加神經元,但是不引入噪聲很重要
做法:把神經元分裂,w仍然是c和d,但是分裂后變為f/2,但是問題是加入的神經元的gradient都一樣,所以要加一個小小的noise
也不是每進來一個任務就加網絡,而是看訓練效果怎么樣,決定是否expand

curiculum learning

在未來可能會有的問題
這些任務的順序怎么排序
例子中,先學任務1,再學任務2,效果不好
但是先學任務2,再學任務1時,一開始任務1效果不好,但是沒有忘記
所以說明,是否發生遺忘,和任務排序有非常重要的關系。

已有的研究

總結

以上是生活随笔為你收集整理的李宏毅——终身学习lifelong learning的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。