DIP: Spectral Bias of DIP 频谱偏置解释DIP

这篇具有很好参考价值的文章主要介绍了DIP: Spectral Bias of DIP 频谱偏置解释DIP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

On Measuring and Controlling the Spectral Bias of the Deep Image Prior

文章地址:https://arxiv.org/pdf/2107.01125.pdf

代码地址: https://github.com/shizenglin/Measure-and-Control-Spectral-Bias

参考博客: https://zhuanlan.zhihu.com/p/598650125


1. 方法原理

1.1 动机

动机

  • Deep Image Prior已经被广泛地应用于去噪、超分、图像恢复等
  • 但是我们尚不清楚如何在网络架构的选择之外控制DIP
  • DIP存在性能达到峰值之后退化的问题 --> 需要early stopping

贡献

  • 使用谱偏移度量和解释 DIP的原理
    • DIP学习目标图像低频分量的效率比高频分量高
  • 控制谱偏移
    • 使用Lipschitz-controlled 正则化和 Lipschitz 批归一化加速和稳定优化过程
    • 使用 上采样方法(bilinear upsampling)引入了倾向于恢复低频分量的特点(谱偏移)
    • 使用了一种简单的early stopping策略防止多余的计算

1.2 相关概念

谱偏移原则是指:神经网络拟合低频信息的效率比高频信息快

相关文章参考:

  • On the Spectral Bias of Neural Networks
  • FREQUENCY PRINCIPLE: FOURIER ANALYSIS SHEDS LIGHT ON DEEP NEURAL NETWORKS

用其中的一些图进行解释:

  • 随着迭代的进行,神经网络的输出(绿色线)首先拟合的是真实观测数据的低频,然后再去逐渐拟合高频

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python


反(逆)问题根据观测结果获取真实模型的一种求解模式。具体的可以参考

  • Untrained Neural Network Priors for Inverse Imaging Problems: A Survey

注意反问题求解存在一个普遍的问题:多解性。也就是多个反演结果的合成数据都可以和观测数据匹配。通常一个减少多解性的方法就是添加约束条件(在公式中表现为正则化约束)


1.3 方法原理

频带一致度量与网络退化

  这篇文章是从频率域的角度进行谱偏移分析的,用 { θ 1 , . . . , θ T } \{\theta^{1},...,\theta^{T}\} {θ1,...,θT}表示第对应迭代次数网络的参数,用 { f θ 1 , . . . , f θ T } \{f_{\theta^{1}},...,f_{\theta^{T}}\} {fθ1,...,fθT}表示对应的网格过程。对图片频率分析需要使用傅里叶变换获得 频率域的信息,用 F ( f θ ( t ) ) F(f_{\theta^{(t)}}) F(fθ(t))表示。频谱图的表示如下:

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

如果对标签图片也做一次傅里叶变换,那么可以求解网络输出和这个结果的比值
H θ ( t ) = F { f θ ( t ) } F { y 0 } H_{\theta^{(t)}} = \frac{F\{f_{\theta^{(t)}}\}}{F\{y_0\}} Hθ(t)=F{y0}F{fθ(t)}

  • 这个比值越接近于1表示网络输出和标签的相关性越高
  • H图像是一个以中心对称的图像,这里为方便统计就将其分割成为多个同心圆环,求圆环中的平均值作为这个圈内的值。也就是将一个二维的度量变为了一个一维的度量
  • 文章中将频率划分为了:lowest、low、medium、high和highest五个部分
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

这个度量比值在DIP不同应用场景中随着迭代次数的变化

  • 随着DIP迭代次数的增加,PSNR会先达到最高然后缓慢降低(性能达到峰值之后会下降)
  • 在PSRN最高的时候(图中绿线),恰好是lowest分量的频带一致性刚好最高的时候
  • 通过下图验证了 DIP也存在谱偏移的现象:低频分量学得更快且频带一致性很高,而高频分量学习相对较慢且频带一致性较低
  • 随着高频部分的频带一致性提高,PSNR下降
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

谱偏移和网络结构的关系

前面有研究表示Encoder-Decoder结构的DIP效果更好,这里作者对比了三种不同结构进行测试对比(a. 没有Encoder部分的DIP; b. 没有上采样层的DIP;):

  • 不论什么结构谱偏移都存在
  • 去掉上采样层的Decoder结构(ConvNet)拟合高频的效率更高,这里表现为高频部分的频带一致性高
  • 无上采样层的ConvNet结构最大的PSNR比Decoder和DIP低

结论

  • 无训练网络UNNP可以解决逆图像问题的原因是:低频学习效率高,高频学习效率相对较慢(谱偏移)
  • 高频信息通常为为结构高频信息和噪声高频信息,当网络开始学习噪声高频信息的时候,网络恢复的性能开始下降
  • 这里通过一个类似消融实验的方法说明上采样层是可以提高PSNR的,但是这会影响低频的收敛速度
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

防止网络退化,平衡性能与效率的方向

  • 保证性能的前提下,使用参数量更少的 Decoder结构 替代DIP的 Encoder-Decoder结构
  • 性能退化:抑制网络对高频噪声的学习(使用上采样层)
  • 加速收敛:使用更合适的上采样层
  • 提前停止策略:自动检测?

Lipschitz-controlled 卷积层

从频率域理解卷积操作

  • 对一个时间域/空间域的变量做一个傅里叶变换其实是将作用域变换到了频率域,这样的其中一个作用是:
    • 将空间域的卷积操作 变为 频率域的乘积操作,简化计算
    • 当然对于信号处理还有更多的好处,比如FK变换可以用于滤波
  • 图像和“卷积核”的作用在频率域其实就是一个乘积过程
    • DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

卷积核具有滤波的作用,但是什么样的卷积核可以抑制高频呢?


L-Lipschitz连续
这个概念很有意思,WGAN-GP中也用到了

其定义是:如果函数f在区间Q中,以常数L Lipschitz连续,那么对于 x , y ∈ Q x,y \in Q x,yQ有:
∣ ∣ f ( x ) − f ( y ) ∣ ∣ ≤ L ∣ ∣ x − y ∣ ∣ ||f(x)- f(y)|| \leq L||x - y|| ∣∣f(x)f(y)∣∣L∣∣xy∣∣

常数L就被称为函数f在区间Q上的 Lipschitz常数。Lipschitz连续其实是限制了连续函数f的局部变动幅度不能超过某一个常量。我个人感觉一个非常更简单地理解这个概念的方法就是将稍微变动一下这个公式:
∣ ∣ f ( x ) − f ( y ) ∣ ∣ ∣ ∣ x − y ∣ ∣ ≤ L \frac{||f(x)- f(y)||}{||x - y||} \leq L ∣∣xy∣∣∣∣f(x)f(y)∣∣L
这个东西看起来就像是求导了,更多的可以参考https://blog.csdn.net/FrankieHello/article/details/105739610

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

结合Lipschitz和频谱分析

假设卷积层的 f f f是符合C-Lipschitz的,存在:
∣ f ^ ( k ) ∣ ≤ C ∣ k ∣ 2 ≤ ∣ ∣ w ∣ ∣ s n ∣ k ∣ 2 |\hat{f}(k)| \leq \frac{C}{|k|^2} \leq \frac{||w||_{sn}}{|k|^2} f^(k)k2Ck2∣∣wsn

  • k表示频率, ∣ f ^ ( k ) ∣ |\hat{f}(k)| f^(k)表示傅里叶系数的模(有实部和虚部)
  • 分母是 k 2 k^2 k2表示在高频的时候衰减很强,学习更高的频率需要更高的频谱范数(分子)
  • ∣ ∣ w ∣ ∣ s n ||w||_{sn} ∣∣wsn 表示卷积层参数矩阵w的谱范数,可以通过限制谱范数的上限来限制卷积层学习更高频率的能力
    • ∣ ∣ w ∣ ∣ w ∣ ∣ s n ∣ ∣ s n = 1 ||\frac{w}{||w||_{sn}}||_{sn} = 1 ∣∣∣∣wsnwsn=1, ∣ ∣ w λ ∣ ∣ w ∣ ∣ s n ∣ ∣ s n = λ ||\frac{w\lambda}{||w||_{sn}}||_{sn} = \lambda ∣∣∣∣wsnwλsn=λ
    • w m a x ( 1 , ∣ ∣ w ∣ ∣ s n / λ ) \frac{w}{max(1,||w||_{sn}/\lambda)} max(1,∣∣wsn/λ)w

注意这里我们想要达到的一个效果就是:限制最高可以学习的频率。可以选择一个合适的 λ \lambda λ在保证恢复效果的同时不去恢复噪声信号。

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

其他网络层对Lipschitz常数的影响

DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

Gaussian-controlled 上采样层

插值、邻近上采样层的平滑操作会让DIP网络收敛速度变慢,但是上采样层对于抑制高频信息又有一定的作用,为了平衡二者作者引入了 gaussian-controlled上采样层。

方法就是:转置卷积 + 高斯核

  • 转置卷积可以自定义上采样的卷积核
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
  • 为了控制平滑程度,卷积核最简单的就是高斯核
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
  • 实验不同的高斯核 σ \sigma σ越小收敛越快,但是PSNR越小
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
自动停止迭代过程
  • 利用Lipschitz方法限制了网络学习的最高频率噪声,避免了网络的退化
  • 当高频部分到达了上界限,也就意味着网络在之前就已经收敛了
  • 怎么评估高频到达了上界限
    • r = B l u r r i n e s s S h a r p n e s s r = \frac{Blurriness}{Sharpness} r=SharpnessBlurriness
    • 即当模糊度/锐度之间的导数小于预先设置的阈值的时候,停止迭代
    • r ( f θ ) = B ( f θ ) / S ( f θ ) r(f_{\theta}) = B(f_{\theta})/S(f_{\theta}) r(fθ)=B(fθ)/S(fθ)
    • Δ r ( f θ ( t ) ) = ∣ 1 n ∑ i = 1 n r ( f θ ( t − n − i ) ) − 1 n ∑ i = 1 n r ( f θ ( t − n − i ) ) ∣ \Delta r(f_{\theta ^{(t)}}) = |\frac{1}{n}\sum_{i=1}^{n}r(f_{\theta}^{(t-n-i)}) - \frac{1}{n}\sum_{i=1}^{n}r(f_{\theta}^{(t-n-i)})| Δr(fθ(t))=n1i=1nr(fθ(tni))n1i=1nr(fθ(tni))
DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

2. 实验结果

  • 去噪

    • DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
  • Image deblockign

    • DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python
  • Image Inpainting

  • DIP: Spectral Bias of DIP 频谱偏置解释DIP,深度学习,DIP,自监督学习,人工智能,去噪,python

3. 总结

研究思路

  1. 从谱偏置方向分析DIP的工作,网络先拟合低频信息,逐渐拟合高频信息
  2. 怎么控制拟合高频信息?–> 高频截断 --> 应用Lipschitz理论控制,解决网络层退化的问题
  3. 网络训练慢怎么解决?–>分析发现常规的上采样层相当于一个低通滤波器,引入了过多的低频分量导致很多时候收敛非常慢,所以使用 gaussian 核控制的转置卷积方法 平衡网络收敛效率的问题。
  4. 怎么Early stopping 减少迭代次数? --> 使用模糊度与锐度的比值的导数进行衡量

优点

  • 将GAN 谱优化的策略放到DIP之中,在频率域中分析各个层的性质:低频收敛快,高频收敛慢。
  • 用谱偏置的思路解释了网络退化问题
  • 提出频带一致性模糊度和锐度比值梯度 平衡了DIP收敛效率和效果

改进方向文章来源地址https://www.toymoban.com/news/detail-649416.html

  • 就个人观点:噪声这里假设都是高频的,但是低频噪声、结构噪声是否会有影响?
  • 该研究给实际应用DIP提供了很大的可能性,但是就实验效果来看并没有提升,甚至有所下降。所以基于这种方法怎么去同时提高效果?
  • 就我个人想法:继续减少参数化网络的参数量(PIP等工作),并且提高恢复的效果(持续研究方向) 是现在的研究方向。

到了这里,关于DIP: Spectral Bias of DIP 频谱偏置解释DIP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 动手学深度学习—卷积神经网络(原理解释+代码详解)

    多层感知机对图像处理是百万维度,模型不可实现。 如果要在图片中找到某个物体,寻找方法应该和物体位置无关。 适合 计算机视觉 的神经网络架构: 平移不变性 :不管检测对象出现在图像中的哪个位置,神经网络前几层应该对相同图像区域有相似的反应。 局部性 :神

    2024年02月14日
    浏览(38)
  • 配置Pytorch(深度学习)环境极其详细教程,解释按钮和命令

     打开  依次点击下面这个  开始创建 下面几个选项分别是 已经安装的 没有安装的 可以更新的 已经删除的 所有的  然后去pycharm里选到把这些新创建的环境下的python.exe这个解释器添加进去,就成功让程序在这个环境里运行了  先点圆圈里的内容,然后那两个随便点一个 点

    2024年02月08日
    浏览(36)
  • 深入理解机器学习——偏差(Bias)与方差(Variance)

    分类目录:《深入理解机器学习》总目录 偏差(Bias)与方差(Variance)是解释学习算法泛化性能的一种重要工具。偏差方差分解试图对学习算法的期望泛化错误率进行拆解,我们知道,算法在不同训练集上学得的结果很可能不同,即便这些训练集是来自同一个分布,对测试样

    2024年02月05日
    浏览(27)
  • 【论文阅读】xNIDS:可解释的基于深度学习的网络入侵检测系统的主动入侵响应(USENIX-2023)

      基于深度学习的网络入侵检测系统(DL-NIDS)得到了显著的探索,并显示出卓越的性能,但存在两个问题: 检测结果和可操作的解释之间存在语义差距,不足以对检测到的入侵作出积极的回应 高错误成本使网络运营商不愿意仅仅根据检测结果做出反应(即高误报带来的警

    2024年02月05日
    浏览(33)
  • 点云算法好书推荐(3D Point Cloud Analysis 传统、深度学习和可解释的机器学习方法)附下载链接

    书籍介绍: 本书介绍了点云;它在工业中的应用,以及最常用的数据集。它主要关注三个计算机视觉任务——点云分类、分割和配准——这是任何基于点云的系统的基础。对传统点云处理方法的概述有助于读者快速建立背景知识,而对点云方法的深度学习包括对过去几年的突

    2024年02月12日
    浏览(32)
  • DeepBIO:一个自动化和可解释的深度学习平台,用于高通量生物序列预测,功能注释和可视化分析

    DeepBIO: an automated and interpretable deep-learning platform for high-throughput biological sequence prediction, functional annotation and visualization analysis 期刊:Nucleic Acids Research 中科院分区:2区 影像因子:19.16 出版时间:2023年2月17号 摘要 在这里,我们介绍了DeepBIO,这是首个用于 高通量生物序列功能

    2024年02月10日
    浏览(35)
  • 《python深度学习》笔记(二十):神经网络的解释方法之CAM、Grad-CAM、Grad-CAM++、LayerCAM

    原理 优点 缺点 GAP 将多维特征映射降维为一个固定长度的特征向量 ①减少了模型的参数量;②保留更多的空间位置信息;③可并行计算,计算效率高;④具有一定程度的不变性 ①可能导致信息的损失;②忽略不同尺度的空间信息 CAM 利用最后一个卷积层的特征图×权重(用

    2024年02月05日
    浏览(27)
  • 【深度学习】pytorch 可视化类激活的热力图 Visualizing heatmaps of class activation

    “Visualizing heatmaps of class activation” 是指使用深度学习模型的中间层特征来可视化分类器对图像的响应区域,从而确定哪些区域对于特定类别的识别最为关键。 在深度学习中,卷积神经网络(CNN)已被广泛用于图像分类任务。CNN在其卷积层中学习特征并将其传递到后续层进行

    2024年02月12日
    浏览(29)
  • 22 谱聚类——Spectral Clustering

    我们在一般的聚类过程中,普遍理性而言会有两种思想: 将聚集在一起的点进行聚类(离得近的为同一类数据),例如可以线性分类的一组数据。 将具有联通性的一堆点进行聚类,如环形等线性不可分的数据。(这种其实在一定情况下也可以通过Kernel+K-Mean实现——进行非线

    2024年02月10日
    浏览(34)
  • ALiBi线性偏置注意力

    1.公式 2.实现 1.公式 m 的取值公式:2^(-8/n) n为head 头数 参考:https://zhuanlan.zhihu.com/p/632780188 2. 实现 github: https://github.com/ofirpress/attention_with_linear_biases/blob/master/fairseq/models/transformer.py#L941

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包