ISTA為什么要加上軟閾值激活函數?r若沒有L1 正則化也要加其他激活函數嗎?

一、加上軟閾值函數(Soft-thresholding)是因為 LISTA(以及它的前身 ISTA)本質上是在求解一個 帶 L1 正則化的稀疏優化問題

min?x12∥y?Ax∥22+λ∥x∥1 \min_x \frac{1}{2} \|y - Ax\|_2^2 + \lambda \|x\|_1 xmin?21?y?Ax22?+λx1?


1. 從數學角度看

  • λ∥x∥1\lambda \|x\|_1λx1? 是稀疏約束項(L1 范數)

  • L1 正則化的解不是普通的線性解,而是一個 非線性收縮映射

  • 在凸優化里,L1 正則化的**近端算子(Proximal Operator)**就是軟閾值函數:

    Sθ(z)=sign(z)?max?(∣z∣?θ,0) S_{\theta}(z) = \mathrm{sign}(z) \cdot \max(|z| - \theta, 0) Sθ?(z)=sign(z)?max(z?θ,0)

  • 這一步負責把小于閾值的系數“壓成 0”,讓解更稀疏。

如果沒有軟閾值:

  • 迭代就變成純線性運算
  • 得到的 xxx 不會強制稀疏化
  • 無法實現稀疏編碼的本質目的

2. 從信號處理角度看

  • 軟閾值 = 非線性去噪
    對高頻的小系數(噪聲)直接歸零,對大系數(有用信號)略微收縮
  • 在稀疏表示里,這個非線性就是用來剔除無關成分
  • 類似小波去噪、壓縮感知恢復里的軟閾值

3. 在 LISTA 中的作用

  • LISTA 將 ISTA 的每一步迭代展開成一層網絡

  • 每層的更新:

    x(k+1)=Sθk(W(k)y+G(k)x(k)) x^{(k+1)} = S_{\theta_k} \left( W^{(k)} y + G^{(k)} x^{(k)} \right) x(k+1)=Sθk??(W(k)y+G(k)x(k))

    • 線性部分 W(k)W^{(k)}W(k), G(k)G^{(k)}G(k):負責擬合梯度下降的方向
    • 軟閾值 SθkS_{\theta_k}Sθk??:負責稀疏化
  • θk\theta_kθk? 也可以是可學習的參數,這樣每一層都能自動學到最優稀疏化強度

? 總結

  • ISTA 里軟閾值是固定的數學推導結果
  • LISTA 里軟閾值仍然必須存在(否則就不是稀疏編碼),但閾值大小可以學習,甚至可以每層不同
  • 它是唯一能把“線性迭代”變成“稀疏解”的關鍵非線性

二、不一定,是否加其他激活函數取決于你問題的目標和約束類型。

1?? 為什么在 L1 正則化 問題中必須有軟閾值

  • L1 正則化(稀疏約束) 對應的稀疏先驗是 拉普拉斯分布
  • ISTA / LISTA 的迭代更新中,軟閾值(Soft Thresholding, shrinkage)就是 L1 正則項的解析近似解(proximal operator)。
  • 如果去掉軟閾值,迭代就不再收縮系數,也就無法得到稀疏解。
  • 因此,有 L1 正則化 ? 必須要有 soft-threshold 激活。

2?? 如果 沒有 L1 正則化

那就要看你的目標函數形式:

約束類型 / 先驗對應激活函數(prox算子)
L1 范數稀疏約束軟閾值 soft-threshold
L0 范數稀疏約束硬閾值 hard-threshold
非負約束ReLU(max(0,·))
L2 范數正則化縮放(不需要非線性激活)
有界區間約束Clip(裁剪到區間)
組稀疏 (group L1/L2)group soft-threshold
核范數正則化(低秩)奇異值軟閾值 (SVT)

3?? 為什么不加激活函數可能出問題

如果完全沒有非線性(激活函數),LISTA 就退化成了 純線性迭代

x(k+1)=W1y+W2x(k) x^{(k+1)} = W_1 y + W_2 x^{(k)} x(k+1)=W1?y+W2?x(k)

這樣:

  • 無法施加先驗約束(如稀疏、非負)
  • 網絡就只能擬合到最小二乘解(類似普通反卷積),欠約束時會過擬合
  • 在欠定系統下甚至沒有穩定解

4?? 總結邏輯

  • 有 L1 正則化 → 必須軟閾值(或變種)
  • 無 L1 但有其他約束 → 激活函數要換成對應約束的 prox 算子
  • 無任何約束 → 可以不加激活,但這時 LISTA 本質上就不是“稀疏重構”了,而只是個可學習的線性迭代器

如果你愿意,我可以畫一個 “ISTA/LISTA激活函數選擇決策圖”,讓不同正則化 → 對應的激活函數一目了然。
這樣你以后設計可學習迭代網絡時可以直接查表用。


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

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

相關文章

線程P4 | 線程安全問題及解決方法

何為線程安全?要談及何為線程安全,總得說來,我們可以用一句話來概況:如果在多線程環境下代碼運行結果和我們預期是相符的,即和單線程環境下的運行結果相同,那么我們就稱這個程序是線程安全的,反…

水印消失術!JavaAI深度學習去水印技術深度剖析

一、飛算JavaAI平臺概述1.1 飛算JavaAI定位與技術特色 飛算JavaAI是國內領先的智能化Java開發平臺,通過AI技術賦能軟件開發全流程,特別針對小程序、Web應用等輕量級開發場景提供*零基礎編程→高質量交**的一站式解決方案。其核心優勢體現在: …

醋酸釓:醫學影像與科技創新中的重要角色

醋酸釓是一種由釓元素和醋酸根離子組成的化合物。釓是稀土金屬之一,常常用于醫學影像、核磁共振成像(MRI)以及某些工業應用。醋酸釓作為釓的鹽之一,具有許多獨特的性質,尤其在醫學和科學研究領域表現突出。一、醋酸釓的…

插入排序專欄

插入排序(Insertion Sort)是一種簡單直觀的排序算法,其思想源于我們日常生活中整理撲克牌的方式。本文將詳細解析插入排序的工作原理,通過 Java 實現代碼進行分析,深入探討其時間復雜度的計算過程,并闡述其…

高效Unicode字符表示:一種創新的詞表構建策略分析

在自然語言處理中,處理多語言和特殊字符的表示始終是一項挑戰。本文將分析一種創新的詞表構建策略,該策略通過數學優化和雙token機制,在保持詞表緊湊的同時實現了對Unicode字符的全面覆蓋。 詞表構建的核心邏輯 該策略包含四個關鍵步驟&#…

python與物聯網基礎知識

軟件準備:軟件:thonny-4.0.1-windows-portable(win10,11系統64位)驅動:CP210x_Windows_Drivers固件:esp8266-1m-20220618-v1.19.1.bin物料準備:面包板、開發板、電源線一、安裝與調試:1.在軟件文件中找到th…

SVN提交服務器拒絕訪問的問題

SVN提交服務器拒絕訪問的問題 介紹 分析 1.服務器的SVN沒有開啟 2.服務器的網絡端口除了問題沒有開放端口 3.客戶端的SVN配置除了問題刷新一下數據 4.客戶端的SVN重裝 找原因 1.初步以為是**防火墻**的問題 2.網絡運營商的問題 總結 介紹 SVN相信大家都用過,今天反饋一個比較…

【Linux】庫制作與原理

前言 本篇博客我們來認識下庫方面的知識 💓 個人主頁:zkf ? 文章專欄:Linux 若有問題 評論區見📝 🎉歡迎大家點贊👍收藏?文章 目錄 1.什么是庫 2.靜態庫 2.1靜態庫的生成 2.2靜態庫的使用 3.動態庫 …

Android ADB 常用指令全解析

ADB(Android Debug Bridge)是 Android 開發和測試不可或缺的調試工具,它建立了電腦與 Android 設備之間的通信橋梁,通過命令行指令可實現對設備的全方位控制。掌握 ADB 指令能大幅提升開發效率,解決各類調試難題。本文…

使用 Rust 創建 32 位 DLL 的完整指南

使用 Rust 創建 32 位 DLL 的完整指南 在 Rust 中創建 32 位 DLL 需要特定的工具鏈配置和編譯選項。以下是詳細步驟和最佳實踐: 環境準備 1. 安裝 Rust 工具鏈 # 安裝 Rust curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh# 安裝 32 位目標 rustu…

算法基礎 第3章 數據結構

1.單調棧 1.什么是單調棧 單調棧&#xff0c;即具有單調性的棧。 實現 #include <iostream> #include <stack> using namespace std; const int N 3e6 10; int a[N], n; void test1() {stack<int> st; // 維護?個單調遞增的棧for(int i 1; i < n; i…

[機器學習]08-基于邏輯回歸模型的鳶尾花數據集分類

使用sklearn的LogisticRegression多分類模型程序代碼&#xff1a;import numpy as np from sklearn.linear_model import LogisticRegression import matplotlib.pyplot as plt import matplotlib as mpl from sklearn import datasets from sklearn import preprocessing impo…

【STM32入門教程】stm32簡介

一、STM32簡介二、ARM三、stm32f103c8t6四、命名規則五、系統結構六、引腳定義七、啟動配置一般情況下&#xff0c;都是在flash開始程序&#xff0c;而啟動程序也可以進行配置在其他地方啟動程序&#xff0c;通過配置boot0和boot1來進行配置八、最小系統電路

SAE J2716多協議網關的硬件架構與實時協議轉換機制解析

本文解析符合SAE J2716標準的工業級協議轉換設備技術架構&#xff0c;通過拆解其四路雙向SENT通道與多總線&#xff08;CANFD/Ethernet/USB&#xff09;的實時交互機制、MicroSD獨立日志系統設計及模擬量動態映射方案&#xff0c;為汽車電子與工業通信開發者提供可復用的技術參…

VS2022+QT5.15.2+OCCT7.9.1的開發環境搭建流程

以下是VS2022 QT5.15.2 OCCT7.9.1開發環境搭建的完整流程&#xff1a; 一、安裝Visual Studio 2022 下載安裝程序 訪問VS官網下載Community版安裝組件 選擇"使用C的桌面開發"工作負載勾選&#xff1a; MSVC v143 - VS 2022 C x64/x86生成工具Windows 10 SDK (建議…

數據庫訪問模式詳解

數據庫訪問模式詳解數據庫訪問模式是軟件架構中數據訪問層&#xff08;Data Access Layer&#xff09;設計的核心&#xff0c;它定義了應用程序如何與數據庫進行交互的策略和方法。選擇合適的訪問模式對于系統的性能、可維護性、可擴展性、事務一致性和開發效率至關重要。不同的…

BGE向量算法

一、是什么 什么是BGE向量算法&#xff1f;先說說網上的概念吧。本文不講解太深的算法知識&#xff0c;主要講解如何用&#xff01; BGE&#xff08;BAAI General Embedding&#xff09;是北京智源研究院開源的“通用語義向量模型”。一句話&#xff1a;把中文或英文句子變成…

AI數據倉庫的核心優勢解析

內容概要本文旨在全面解析AI數據倉庫的核心優勢&#xff0c;為讀者提供清晰的框架。文章首先從基礎定義出發&#xff0c;探討其如何高效整合多源數據&#xff0c;并支持人工智能與機器學習應用。隨后&#xff0c;將詳細闡述處理TB級數據的能力&#xff0c;包括兼容結構化和非結…

具身智能Scaling Law缺失:機器人界的“摩爾定律“何時誕生?

8月9日&#xff0c;在世界機器人大會的演講臺上&#xff0c;宇樹科技創始人王興興談論到目前機器人運動控制領域存在的RL Scaling Law問題&#xff0c;他認為現在的機器人在學習一項新的技能時&#xff0c;往往都是需要從頭開始研究以及教學。而在未來更加希望的是能夠在原有的…

【跨越 6G 安全、防御與智能協作:從APT檢測到多模態通信再到AI代理語言革命】

跨越 6G 安全、防御與智能協作&#xff1a;從APT檢測到多模態通信再到AI代理語言革命引言單篇總結**2. Integrated Multimodal Sensing and Communication: Challenges, Technologies, and Architectures****3. Why do AI agents communicate in human language?**引言 在邁向…