资讯动态

(论文速读)Noise2Self:只用一张噪声图,也能训练去噪网络

发布时间:2026/9/1 5:55:42 来源:尧图企业网站定制
论文题目Noise2Self: Blind Denoising by Self-SupervisionNoise2Self基于自监督的盲去噪会议ICML 2019摘要本文提出一个用于高维测量去噪的通用框架它不需要信号先验、不需要估计噪声也不需要干净训练数据。唯一的假设是测量不同维度上的噪声具有统计独立性而真实信号在这些维度之间存在一定相关性。对于一类称为 “J-invariant” 的函数可以只利用噪声数据估计去噪器的性能因此既能校准只有一个超参数的中值滤波器也能训练拥有数百万参数的深度神经网络。作者在自然图像、显微镜图像以及单细胞基因表达数据上进行了验证前两者利用像素间噪声的独立性后者利用不同分子检测之间的独立性。该框架统一并推广了此前使用噪声图像训练神经网络、以及矩阵分解交叉验证的相关工作。源码GitHub - czbiohub-sf/noise2self: A framework for blind denoising with self-supervision. · GitHub一、研究背景Noise2Noise 之后还能不能再少一张图传统监督去噪需要成对的“噪声图 → 干净图”。Noise2Noise 已经证明clean target 不一定必须存在如果同一个真实信号能够独立测量两次那么可以用“噪声图 A → 噪声图 B”训练网络。但它仍然有一个现实限制同一个目标必须重复测量。Noise2Self 继续往前走一步如果每个目标只有一次噪声观测还能不能训练作者的答案是可以但要改变监督方式。它不再让“另一张图”监督当前图而是让同一份测量内部不同维度互相监督。对于图像最直观的情况就是暂时遮住一个像素只允许网络根据周围像素预测它。这个想法依赖两个条件第一真实信号在不同维度之间有相关性例如自然图像相邻像素通常相关第二噪声在这些维度之间条件独立例如一个像素上的随机噪声不会告诉我们旁边像素的随机噪声是多少。论文的核心就是把这两个统计性质变成一个可训练、可评估的自监督框架。二、核心思想J-invariant 到底是什么论文 Figure 1Noise2Self 的维度划分与 J-invariant 思想以及独立图像、独立像素、独立 RNA 分子三种实例Figure 1 是全文最重要的概念图。设噪声观测为 x把它的维度划分为若干子集 J。所谓J-invariant意思是当模型预测 J 中的维度时预测结果不能使用 x 在 J 中原本的值只能依赖 J 之外的信息。放到图像上小白版理解就是预测中心像素时不准偷看中心像素只能看周围。这一步非常关键。假如网络可以直接看到要预测的像素那么最简单的策略就是复制输入训练损失会非常低但噪声也被原封不动保留下来。J-invariant 强行堵住了这个“抄答案”的捷径。作者定义自监督损失为看起来很奇怪明明 target 还是噪声图 x为什么不会学成恒等映射原因就在 J-invariant 约束。对于当前需要预测的维度模型看不到它自己的噪声只能利用其他维度中与真实信号相关的信息进行推断。论文的 Proposition 1 给出了最核心的理论结果。当观测满足并且 J 内噪声与 J 外噪声在给定真实信号 y 后相互独立时右边第一项就是我们真正想最小化的“对 clean signal 的误差”第二项只是噪声本身的方差是一个与模型无关的常数。因此最小化自监督损失与最小化真实监督损失具有相同的最优点。这就是 Noise2Self 最漂亮的地方训练过程中从头到尾都没有 clean target但 noisy target 产生的 loss 仍然可以作为真实去噪误差的代理。三、为什么“遮住自己看邻居”真的能恢复信号Proposition 2 进一步说明最优 J-invariant 预测器实际上是在计算也就是说当某个像素不能看自己时模型会根据周围观测去估计这个像素真实值的条件期望。这里真正提供信息的不是噪声而是真实信号的结构相关性。论文 Figure 4随着信号空间相关性增强最优 J-invariant 预测器逐渐接近真正的最优预测器Figure 4 用 Gaussian Process 做了一个非常直观的理论实验。当像素之间相关长度很小时遮住中心像素会损失不少信息随着空间相关性增强邻居越来越能够推断中心位置J-invariant 与使用全部观测的最优预测器之间的误差快速缩小。论文 Figure 5具有相同协方差时结构化“字母表”数据比 Gaussian Process 更容易被 J-invariant 方法恢复Figure 5 又说明只看二阶相关性其实还是低估了真实数据的可恢复性。作者用 30 个 16 × 16 的 MNIST 手写数字构成一个有限模板集合。即使加入较强噪声模型仍可以根据剩余像素判断它更像哪个数字从而实现比具有相同协方差的 Gaussian Process 更好的恢复。因此Noise2Self 的直觉可以概括成一句话随机噪声彼此独立真实结构却会在不同维度之间互相“泄露信息”遮住当前维度之后模型被迫学习后者。四、不只训练神经网络自监督损失还能帮传统方法调参Noise2Self 的框架并不局限于 CNN。只要能把一个去噪器改造成 J-invariant就可以直接使用 noisy data 调超参数。论文 Figure 2没有 ground truth 时利用自监督损失选择中值滤波器的最佳半径作者把普通 median filter 改成“donut median filter”计算中心像素时从邻域圆盘中排除中心本身。这样它就满足 J-invariant。Figure 2 中自监督损失曲线与真实 ground-truth loss 曲线虽然上下相差一个噪声方差但二者最低点都出现在半径 r 3因此即使看不到 ground truth也能选出正确超参数。普通 median filter 则不满足 J-invariant因为它会使用中心像素本身所以它的 self-supervised loss 无法反映真实去噪质量。论文 Table 1J-invariant Median、Wavelet 与 NL-means 的自监督调参与 PSNR 对比Table 1 说明这个思路可以扩展到多种传统算法。比如 NL-means 默认参数得到 28.9 dB自监督调参后的 J-invariant 版本达到 30.4 dB进一步把少量原始观测以最优比例混回预测结果后达到 30.8 dB。Median 和 Wavelet 也呈现类似提升。这里值得注意一个小细节因为 J-invariant 预测当前维度时完全丢掉了当前观测它也会损失一部分有用信息。论文因此提出将与原始做适当线性混合可以进一步降低方差。当去噪器本身已经提升约 10 dB 时这种混合理论上还能再带来约 0.4 dB 的收益。五、从单细胞到深度 CNN实验到底证明了什么5.1 单细胞数据同一个细胞内部也能互相监督论文 Figure 3利用自监督 loss 为单细胞基因表达 PCA 选择最佳主成分数作者首先把思路推广到单细胞转录组。一个细胞中只能捕获少部分 mRNA因此约 2 万维的基因表达向量非常稀疏。作者把捕获到的分子随机分成两组 J1 和 J2它们在给定真实 mRNA 含量后可以看作独立观测于是可以用一组预测另一组。在 2730 个骨髓细胞上作者用自监督 loss 调节主成分回归的维度。Figure 3 中主成分过少会欠校正过多会过校正而 self-supervised loss 在 17 个主成分附近取得最优值对应结果能够更清楚地区分 stem、erythroid 与 myeloid 三类细胞状态。这个实验说明“维度互相监督”并不只属于图像。5.2 深度学习一张 noisy image 就够当训练数据对于图像作者将像素随机划分成 25 个集合每次把要预测集合中的像素替换为随机值使网络无法读取这些位置的原始值再只在被遮住的位置计算 loss。网络采用 UNet 和 DnCNN为了加速每个 minibatch 只计算一个子集 J。论文 Figure 6自然图像、汉字与荧光显微镜上的传统方法、Noise2Self、Noise2Noise 和 clean-target 监督结果对比论文 Table 2不同去噪方法在 Hànzì、ImageNet 与 CellNet 上的测试 PSNRTable 2 是论文最重要的定量结果。Noise2Self 明显优于默认参数的 NLM 和 BM3D同时在多个数据集上接近 Noise2Noise 和 clean-target 训练。例如 Hànzì 上 UNet-N2S 为 13.8 ± 0.3 dB而 UNet-N2N 为 13.3 ± 0.5 dBCellNet 上 DnCNN-N2S 达到 33.7 ± 0.2 dB已经接近两种监督训练约 34.4 dB 的水平。ImageNet 上差距更明显DnCNN-N2S 为 18.7 dB而 clean-target 的 DnCNN-N2T 为 22.0 dB。这说明 Noise2Self 并不是在任何数据上都等价于完全监督当被遮住像素无法从周围结构充分预测时自监督约束会损失信息。论文还有一个很有意思的结果DnCNN 只有一张 26 万像素的 noisy image 作为训练数据也能训练出 31.2 dB 的去噪器。换句话说Noise2Self 的“Self”并不只是“不需要 clean label”极端情况下甚至可以是一张图自己监督自己。六、总结与思考如果把 Noise2Self 压缩成一句话只要真实信号的不同维度彼此相关而这些维度上的噪声相互独立就可以遮住一部分观测用剩余维度预测它并直接把 noisy data 本身变成训练监督。它与 Noise2Noise 的关系也非常清楚。Noise2Noise 需要同一个目标的两次独立 noisy measurementsNoise2Self 则把“独立性”从样本之间搬到了一个样本内部的不同维度之间。所以它把训练数据要求从“至少两次测量”进一步降低到了“一次测量”。但论文也明确留下了一个核心问题J 应该怎样划分并没有统一答案。J 的结构必须同时匹配“信号在哪里相关”和“噪声在哪里独立”而 J 的大小还会形成 bias-variance trade-off。若真实噪声在相邻像素间高度相关或者目标像素本身无法从其他维度推断那么 Noise2Self 的理论前提和效果都会受到影响。这篇论文真正值得记住的不只是一个 masking 技巧而是一个非常通用的自监督设计原则先找到数据内部“噪声独立、信号相关”的维度划分再让这些维度彼此预测。一旦满足这个条件我们甚至可以在完全没有 clean target 的情况下用 noisy data 自己估计去噪质量、选择传统算法的超参数并训练深度神经网络。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价