【連續學習之SSL算法】2018年論文Selfless sequential learning

1 介紹

年份:2018

期刊: arXiv preprint
Aljundi R, Rohrbach M, Tuytelaars T. Selfless sequential learning[J]. arXiv preprint arXiv:1806.05421, 2018.

本文提出了一種名為SLNID(Sparse coding through Local Neural Inhibition and Discounting)的正則化算法,其核心原理是通過模擬大腦中的側抑制機制,在神經網絡中鼓勵表示稀疏性,即在網絡層級上抑制同時激活的神經元,從而實現對新任務學習時保留網絡容量以減少對先前任務的遺忘,并提高序列學習的性能。本文算法屬于基于正則化的算法,因為它通過引入一個新的正則化項來鼓勵神經網絡在表示層面上保持稀疏性,同時考慮了神經元的重要性,以減少對先前任務的干擾。

2 創新點

  1. 自less序列學習(Selfless Sequential Learning)概念
    • 提出了自less序列學習的概念,強調在學習過程中不僅要考慮當前任務,還要為未來任務預留模型容量。
  2. 基于側抑制的正則化策略
    • 受到大腦中側抑制機制的啟發,提出了一種新的正則化方法,通過懲罰同時激活的神經元來鼓勵表示稀疏性。
  3. 局部神經抑制(Local Neural Inhibition)
    • 為了適應復雜任務,提出了局部神經抑制的概念,即只在局部鄰域內抑制其他神經元的活動,而不是在整個層級上。
  4. 神經元重要性權重(Neuron Importance for Discounting Inhibition)
    • 引入了神經元重要性的概念,用于調整正則化項,以避免對先前任務中重要的神經元施加抑制,從而減少對舊任務的干擾。
  5. 稀疏編碼通過局部神經抑制和折扣(SLNID)
    • 結合了上述概念,提出了SLNID正則化方法,該方法在保持表示稀疏性的同時,允許對先前任務重要的神經元進行折扣處理。
  6. 實驗驗證
    • 在多個數據集(包括Permuted MNIST、CIFAR和Tiny Imagenet)上驗證了所提方法的有效性,并與現有的終身學習(Lifelong Learning, LLL)方法進行了比較,顯示出一致的性能提升。
  7. 與現有LLL方法的兼容性
    • 展示了SLNID正則化方法可以與現有的基于重要參數保持的LLL方法(如EWC和MAS)結合使用,并且能夠提升這些方法的性能。

3 算法

3.1 算法原理

  1. 表示稀疏性(Representation Sparsity)
    • 算法強調在神經網絡的激活(即神經元的輸出)層面上實現稀疏性,而不是在參數層面上。這樣做的目的是減少新任務學習時對舊任務的干擾,因為稀疏的表示意味著大部分神經元在任何給定時間都是不活躍的,從而為新任務留出更多的網絡容量。
  2. 局部神經抑制(Local Neural Inhibition)
    • 算法通過局部神經抑制來實現表示稀疏性。這意味著算法會抑制在同一局部區域內同時激活的神經元,模仿大腦中的側抑制過程。這種局部抑制通過一個高斯權重函數實現,該函數根據神經元之間的距離來調整它們之間的相互抑制強度。
  3. 神經元重要性(Neuron Importance)
    • 算法引入了神經元重要性的概念,用于衡量神經元在先前任務中的重要性。這是通過計算神經元輸出對損失函數梯度的絕對值累積來實現的。重要的神經元在新任務中不會被抑制,以避免對舊任務的性能造成影響。
  4. 正則化項(Regularization Term)
    • 算法在訓練目標函數中加入了一個正則化項,用于懲罰那些同時激活的神經元。這個正則化項考慮了神經元的重要性,并使用高斯函數來實現局部抑制。
  5. 折扣抑制(Discounting Inhibition)
    • 對于那些對先前任務重要的神經元,算法會減少或“折扣”對它們的抑制,以保護舊任務的性能不受學習新任務的影響。
  6. 結合現有方法(Combination with Existing Methods)
    • SLNID正則化項可以與現有的終身學習(Lifelong Learning, LLL)方法結合使用,如EWC(Elastic Weight Consolidation)和MAS(Memory Aware Synapses)。這些方法通過懲罰對先前任務重要參數的改變來減少災難性遺忘。
  7. 訓練過程(Training Process)
    • 在訓練過程中,算法會優化一個包含數據損失、參數重要性懲罰項和表示稀疏性正則化項的組合目標函數。這有助于在保持對新任務的學習的同時,保留對舊任務的記憶。

3.2 算法步驟

  1. 初始化網絡參數 θ \theta θ和網絡容量。
  2. 對于序列中的每個新任務 T n T_n Tn?,執行以下步驟:

a. 使用當前任務的數據集訓練網絡,同時最小化以下目標函數:

min ? θ 1 M ∑ m = 1 M L ( y m , f ( x m , θ n ) ) + λ Ω ∑ k Ω k ( θ n k ? θ n ? 1 k ) 2 + λ S S L R S S L ( H l ) \min_{\theta} \frac{1}{M} \sum_{m=1}^{M} L(y_m, f(x_m, \theta_n)) + \lambda_{\Omega} \sum_{k} \Omega_k (\theta_{n_k} - \theta_{n-1_k})^2 + \lambda_{SSL} R_{SSL}(H_l) θmin?M1?m=1M?L(ym?,f(xm?,θn?))+λΩ?k?Ωk?(θnk???θn?1k??)2+λSSL?RSSL?(Hl?)

其中, L L L是損失函數, f f f是網絡預測函數, θ n ? 1 \theta_{n-1} θn?1?是之前任務學習到的最優參數, λ Ω \lambda_{\Omega} λΩ? λ S S L \lambda_{SSL} λSSL?是權衡參數, R S S L R_{SSL} RSSL?是稀疏表示正則化項。
b. 計算每個神經元的重要性權重 α i \alpha_i αi?,通過累積每個神經元輸出對損失函數梯度的絕對值來實現:

α i = 1 M ∑ m = 1 M ∣ g i ( x m ) ∣ , g i ( x m ) = ? ( L ( y m , f ( x m , θ n ) ) ) ? n i \alpha_i = \frac{1}{M} \sum_{m=1}^{M} |g_i(x_m)|, \quad g_i(x_m) = \frac{\partial (L(y_m, f(x_m, \theta_n)))}{\partial n_{i}} αi?=M1?m=1M?gi?(xm?),gi?(xm?)=?ni??(L(ym?,f(xm?,θn?)))?

其中, n i n_i ni?是第 i i i個神經元的輸出。

c. 應用局部神經抑制和折扣抑制,更新正則化項 R S S L ( H l ) R_{SSL}(H_l) RSSL?(Hl?)

R S L N I D ( H l ) = 1 M ∑ i , j e ? ( α i + α j ) e ? ( i ? j ) 2 2 σ 2 ∑ m h m i h m j , for? i ≠ j R_{SLNID}(H_l) = \frac{1}{M} \sum_{i,j} e^{-(\alpha_i + \alpha_j)} e^{-\frac{(i-j)^2}{2\sigma^2}} \sum_{m} h_{m_i} h_{m_j}, \quad \text{for } i \neq j RSLNID?(Hl?)=M1?i,j?e?(αi?+αj?)e?2σ2(i?j)2?m?hmi??hmj??,for?i=j

其中, h m i h_{m_i} hmi??是第 m m m個輸入在隱藏層的激活值, σ 2 \sigma^2 σ2是高斯函數的方差,控制局部鄰域的范圍。它通過考慮神經元的重要性和它們之間的空間距離來調整相互間的抑制強度。

d. 更新網絡參數 θ \theta θ,通過梯度下降或其他優化算法最小化目標函數。

  1. 重復步驟 2,直到所有任務都已學習。
  2. 在新任務學習時,通過保留未使用的神經元和減少對重要神經元的干擾,減少對先前任務的遺忘,并提高新任務的學習效率。

4 實驗分析

圖1展示了參數稀疏(a)與表示稀疏(b)在簡單雙任務案例中的區別,其中參數稀疏導致第二層及更深層的激活在新任務學習時發生改變,而表示稀疏通過限制激活的神經元數量減少了這種干擾。實驗結論表明,表示稀疏(如SLNID方法所采用的)相比于參數稀疏,在序列學習中能更有效地減少新任務對舊任務的干擾,從而提高了模型在連續任務學習中的性能和穩定性。

圖2展示了在5個排列MNIST序列上不同正則化技術的比較,其中基于表示的正則化技術(實心條形)表現優于基于參數的正則化(帶線條的條形)和激活函數(點狀條形),特別是SLNID正則化在最后兩個任務上表現最佳,表明其在保留網絡容量以學習后續任務方面更為有效。實驗結論表明,基于表示的正則化方法,尤其是SLNID,能夠在序列學習中更好地維持性能,特別是在學習序列中較晚出現的任務時,這表明這些方法在保留網絡容量以適應新任務方面更為有效。

5 思考

(1)參數稀疏與表示稀疏分別是什么意思?有哪些代表性算法?

  1. 參數稀疏(Parameter Sparsity)
    • 定義:參數稀疏指的是網絡中的權重參數本身是稀疏的,即許多權重值為零或接近零。這意味著網絡中只有少數連接是活躍的,而大部分連接可以被忽略。
    • 代表性算法
      • 權重衰減(Weight Decay):通過在損失函數中添加L1或L2正則化項來實現參數的稀疏性,L1正則化傾向于產生更稀疏的解。
      • Pruning:這是一種后訓練技術,通過移除那些對輸出影響最小的權重來減少網絡的復雜度。
      • Sparse Coding:在信號處理和機器學習中,通過優化使得編碼向量中只有少數非零元素,用于特征提取和壓縮。
  2. 表示稀疏(Representation Sparsity)
    • 定義:表示稀疏指的是網絡在處理輸入時產生的激活模式是稀疏的,即在任何給定時間,只有少數神經元處于激活狀態,而大多數神經元的激活值接近零。
    • 代表性算法
      • ReLU激活函數:由于ReLU函數將負值置為零,它自然傾向于產生稀疏的激活。
      • L1正則化應用于激活:通過對激活值施加L1正則化,鼓勵模型學習到更稀疏的表示。
      • 自編碼器(Autoencoders):特別是稀疏自編碼器,它們通過正則化項強制編碼表示為稀疏形式。
      • 文章中提到的SLNID:通過局部神經抑制和折扣抑制來實現表示稀疏,減少新任務學習時對舊任務的干擾。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64230.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64230.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64230.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于SNAT、DNAT及浮動地址

SNAT、DNAT SNAT、DNAT就是實現代理的功能。 SNAT 類似于客戶端代理:內網主機通過共享公網 IP 地址訪問外部服務。DNAT 類似于服務端代理:外部請求通過公網 IP 轉發到內網主機上的服務。 沒有大網地址的內部主機想要作為客戶端訪問外部網絡(主…

結構方程模型【SEM】:嵌套分層數據及數據分組分析

結構方程模型(System of Equations Model,簡稱SEM),在生態學和環境科學中通常指的是一組描述生態系統中能量、物質和信息流動的數學方程。這些方程可以是確定性的,也可以是隨機的,它們共同構成了一個模型&a…

hot100_56. 合并區間

以數組 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] [starti, endi] 。 請你合并所有重疊的區間,并返回 一個不重疊的區間數組,該數組需恰好覆蓋輸入中的所有區間 。數據結構 二維鏈表存儲每個區間 方法 先對每個區間的…

Python大數據:基于Python的王者榮耀戰隊數據分析系統的設計與實現

系統展示 比賽信息管理 看板展示 系統管理 摘要 本文使用Python與MYSQL技術搭建了一個王者榮耀戰隊的數據分析系統。對用戶提出的功能進行合理分析,然后搭建開發平臺以及配置計算機軟硬件;通過對數據流圖以及系統結構的設計,創建相應的數據…

兩分鐘解決:vscode卡在設置SSH主機,VS Code-正在本地初始化VSCode服務器

問題原因 remote-ssh還是有一些bug的,在跟新之后可能會一直加載初始化SSH主機解決方案 1.打開終端2.登錄鏈接vscode的賬號,到家目錄下3.找到 .vscode-server文件,刪掉這個文件4.重啟 vscode 就沒問題了

深入理解與優化Java二維數組:從定義到性能提升的全面指南

1. 定義和初始化二維數組 在Java中,二維數組可以看作是數組的數組。你可以將它想象成一個矩陣或表格,每個元素是一個數組。 1.1 定義二維數組 二維數組的定義語法如下: datatype[][] arrayName;datatype 是數組元素的數據類型。arrayName…

day26 文件io

函數接口 1 .open和close 文件描述符:系統為用open打開的文件分配的標識符 非負的整形數據 0-1023 最小未被使用原則 使用完時及時釋放,避免文件描述符溢出 文件描述溢出就是文件使用完沒有及時關閉文件 int open(const char *pathname, int flags); /…

Java Stream流詳解——串行版

Stream流——串行版 ? Stream流是java8引入的特性&#xff0c;極大的方便了我們對于程序內數據的操作&#xff0c;提高了性能。通過函數式編程解決復雜問題。 1.BaseStream<T,S extense BaseStream<T,S>> ? 他是流處理的基石概念&#xff0c;重點不在于這個接…

el-backtop(返回頂部)

案例&#xff1a; <el-backtop target".app-main"><svg-icon icon-class"backtop" size"24px" /></el-backtop>

探秘“香水的 ChatGPT”:AI 開啟嗅覺奇幻之旅!

你沒有看錯&#xff0c;AI也能聞到味道了&#xff01;這是一家名為Osmo公司公布的信息&#xff0c;他們成功創造出了由AI生成的李子味道&#xff0c;快跟著小編一探究竟吧~ 【圖片來源于網絡&#xff0c;侵刪】 Osmo公司的這項技術&#xff0c;通過分析香味的化學成分和人類嗅…

Vue3入門(9)

1. 【 replace屬性】 作用&#xff1a;控制路由跳轉時操作瀏覽器歷史記錄的模式。 瀏覽器的歷史記錄有兩種寫入方式&#xff1a;分別為push和replace&#xff1a; - push是追加歷史記錄&#xff08;默認值&#xff09;。 - replace是替換當前記錄。 . 開啟replace模式&#xff…

第十九章 C++ 日期 時間

C 日期 & 時間 C 標準庫沒有提供所謂的日期類型。C 繼承了 C 語言用于日期和時間操作的結構和函數。為了使用日期和時間相關的函數和結構&#xff0c;需要在 C 程序中引用 <ctime> 頭文件。 有四個與時間相關的類型&#xff1a;clock_t、time_t、size_t 和 tm。類型…

電子配件行業的未來之路:產品說明書數字化轉型的力量

在科技飛速發展的今天&#xff0c;電子配件行業作為科技創新的前沿陣地&#xff0c;正經歷著前所未有的變革。從智能手機、平板電腦到智能穿戴設備&#xff0c;各種新型電子配件層出不窮&#xff0c;極大地豐富了人們的生活。然而&#xff0c;隨著產品種類的增多和功能的復雜化…

強化學習方法分類詳解

強化學習方法分類詳解 引言 強化學習&#xff08;Reinforcement Learning, RL&#xff09;是一種通過智能體與環境互動來學習如何做出最佳決策的方法。根據不同的優化中心、策略特性、環境模型、獎勵函數、動作空間類型以及行為策略和目標策略的一致性&#xff0c;RL可以分為…

RockyLinux介紹及初始化

文章目錄 一、背景二、下載 RockyLinux9 鏡像三、環境初始化四、安裝 Docker 環境 一、背景 這里講一個小故事&#xff1a; 我們都知道Linux 內核是由芬蘭計算機科學家林納斯托瓦茲 (Linus Torvalds) 于 1991 年首次開發的&#xff0c;隨后有一個非常重要的公司RetHat成立&am…

AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode和 桔子數據 的 價格對比

要對比 AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode 和 桔子數據 的 價格&#xff0c;我們需要先了解每個平臺的定價模型、服務類型以及不同服務之間的價格差異。以下是根據各個平臺常見服務&#xff08;如計算實例、存儲、數據傳輸等&#xff09;做的一個 簡化…

OpenCV相機標定與3D重建(36)計算兩幅圖像之間基本矩陣(Fundamental Matrix)的函數findFundamentalMat()的使用

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 從兩幅圖像中的對應點計算基本矩陣。 cv::findFundamentalMat 是 OpenCV 中用于計算兩幅圖像之間基本矩陣&#xff08;Fundamental Matrix&#…

Vscode + gdbserver遠程調試開發板指南:

本章目錄 步驟環境準備網絡配置vscode配置步驟 (全圖示例)開發板配置開始調試注意: 每次斷開之后&#xff0c;開發板都需要重新啟動gdbserver才可調試。 參考鏈接: 步驟 環境準備 將交叉編譯鏈路徑加入$PATH變量&#xff1a;確保系統能夠找到所需的工具。 export PATH$PATH:/p…

對外發PDF設置打開次數

在線 Host PDF 文件并對鏈接進行限制——保障文件安全的最佳解決方案 在數字化辦公和遠程協作日益普及的今天&#xff0c;如何安全高效地分享 PDF 文件成為許多用戶關注的重點。MaiPDF 作為一款功能強大的在線工具&#xff0c;不僅支持在線 host PDF 文件&#xff0c;還提供多…

VS2022 中的 /MT /MTd /MD /MDd 選項

我們有時編譯時,需要配置這個 運行庫,指定C/C++運行時庫的鏈接方式。 如下圖 那么這些選項的含義是什么? /MT:靜態鏈接多線程庫 /MT選項代表“Multi-threaded Static”,即多線程靜態庫。選擇此選項時,編譯器會從運行時庫中選擇多線程靜態連接庫來解釋程序中的代碼,…