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 xmin21yAx22+λ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)=W1y+W2x(k)

这样:

  • 无法施加先验约束(如稀疏、非负)
  • 网络就只能拟合到最小二乘解(类似普通反卷积),欠约束时会过拟合
  • 在欠定系统下甚至没有稳定解

4️⃣ 总结逻辑

  • 有 L1 正则化 → 必须软阈值(或变种)
  • 无 L1 但有其他约束 → 激活函数要换成对应约束的 prox 算子
  • 无任何约束 → 可以不加激活,但这时 LISTA 本质上就不是“稀疏重构”了,而只是个可学习的线性迭代器

如果你愿意,我可以画一个 “ISTA/LISTA激活函数选择决策图”,让不同正则化 → 对应的激活函数一目了然。
这样你以后设计可学习迭代网络时可以直接查表用。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93333.shtml
繁体地址,请注明出处:http://hk.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?**引言 在迈向…