文章
今天要分享的文章是CVPR2023比较有意思的一篇《Zero-Shot Noise2Noise: Efficient Image Denoising without any Data》,通过简单的两层网络,并且不需要数据训练直接进行图像恢复
代码
https://colab.research.google.com/drive/1i82nyizTdszyHkaHBuKPbWnTzao8HF9b?usp=sharing
问题
自监督去噪需要庞大计算量、噪声模型或者丰富数据集
背景
Early stopping 早停
“Early stopping criterion” 是指在机器学习和深度学习中一种常用的训练停止策略。它是为了防止模型在训练过程中过拟合数据而采取的一种方法。具体来说,early stopping 是在模型训练过程中监视模型在验证集上的性能,并在性能停止提升或开始下降时停止训练。
以下是 early stopping 的基本原理和步骤:
1、划分数据集:将数据集分为训练集、验证集和测试集。训练集用于模型的训练,验证集用于监视模型的性能,测试集用于最终评估模型的泛化性能。
2、模型训练:开始训练模型,通过在训练集上反复迭代来更新模型参数,以最小化训练误差。
验证集性能监视:在每个训练周期(epoch)之后,使用验证集来评估模型的性能。通常,使用验证集上的性能指标(如验证误差)来衡量模型的泛化能力。
3、早停条件:设定一个早停条件,通常是当验证集性能不再提升或开始下降时触发停止训练。这个条件通常表示模型可能已经开始过拟合训练数据。
4、停止训练:一旦触发了早停条件,训练过程就会提前终止,模型的当前参数被保留。这就是 “early stopping” 的含义,即在训练过程中提前停止以防止过拟合。
5、最终评估:最后,使用测试集来评估模型的最终泛化性能,以确定模型是否适用于实际应用。
早停止条件的选择通常取决于具体的任务和数据集。它可以基于验证集上的性能曲线的形状,例如当验证误差连续几个周期不再下降时触发早停止。这种策略有助于防止模型在训练过程中过多地拟合噪声,从而提高了模型的泛化性能。
证明
简单的两层网络,在不需要数据集和噪声分布知识就可以低计算量像素级去噪,
假设
用于各种噪声类型,并且可以在噪声分布或水平未知的情况下使用。 我们对噪声的唯一假设是它是非结构化的,均值为零。
网络
用两个固定的卷积器对噪声测试图像进行卷积,得到两个下采样图像。 接下来,我们训练一个具有正则化的轻量级网络,将一个下采样图像映射到另一个下采样图像。依赖Noise2Noise and Neighbour2Neighbour
事实
卷积神经网络(CNNs)具有一种对自然图像的归纳偏差。具体来说,CNNs在训练过程中更容易适应自然图像,而不是纯噪声图像。这是因为自然图像具有一定的结构、纹理和规律,而噪声图像通常是随机的、无规律的。CNNs在学习过程中会尝试捕捉这些自然图像的结构和规律,因此能够更快地适应自然图像,提取其中的特征和信息。
这个事实是深度学习中的一个关键观察,它表明CNNs在处理自然图像时具有一些天生的优势,这也是为什么基于CNNs的方法在图像处理任务中取得了很大成功的原因之一。因此,许多图像处理方法,包括图像恢复(如去噪、去模糊等)和图像生成(如图像生成对抗网络GANs)都利用了CNNs的这种归纳偏差来提高性能。
因此,经过早期停止训练的网络,将随机输入映射到有噪声的图像,将对图像进行降噪。