详细对比深度神经网络和高斯过程

本篇文章的动机:比较最先进的技术

深度神经网络 (DNN) 和高斯过程 (GP)* 是两类具有高度表现力的监督学习算法。 在考虑这些方法的应用时会出现一个自然的问题:“什么时候以及为什么使用一种算法比另一种更有意义?”

在本文中,我们将讨论在什么情况下需要使用哪种方法。 在我们讨论之前首先需要了解这些方法是如何相互关联的。 在本文中,我们将介绍:

  1. GPs 和 DNNs 的理论异同
  2. GP 与 DNN 的优缺点
  3. 使用 GP 与 DNN 的示例应用
  4. GP 和 DNN 的实现

理论差异

参数与非参数

量化这两种模型之间差异的一个维度是考虑每个模型中参数的数量和类型。一般而言,由于高斯过程被认为是非参数机器学习技术,因此高斯过程 (GP) 学习的参数要少得多,并且预测主要由定义它们的训练数据集驱动。他们的参数选择完全由以下选择表示:

  1. 核/协方差函数 (k(x,x’))
  2. 平均函数 (m(x))
  3. 似然协方差噪声 (σ²)

这些选择/变量通常被指定为“超参数”。

高斯过程 (GP) 中缺少参数与许多现代深度神经网络 (DNN) 形成鲜明对比,后者旨在利用尽可能多的参数(或称为权重)来解决机器学习问题。在经典的统计学习文献中使用大量的参数是不被允许的,因为这样会导致显著的过拟合和对分布外数据的泛化能力差。然而这种经典的统计学习理论无法解释大量使用神经网络的成功案例,因此“过度参数化”或“插值”机制的新理论 [1, 6] 开始占据上风。

总结:GP(几乎*)是非参数的,而 DNN 是过度参数化的。GP 仅通过其超参数进行参数化,例如上面所提到的三个超参数。

正向与逆向方法

与参数/非参数属性相关,GPs 和 DNNs 的另一个不同之处在于 DNNs 是逆向方法,而 GPs 是正向方法。

逆向方法涉及从训练数据优化参数,因此也称为监督学习方法。通常,这些方法涉及对参数的一些初始信念(称为“先验”)的参数化。这些方法通常采用自上而下的方法,即使用数据来更新参数 [7] 中捕获的信念。

正向方法依赖于直接使用训练数据来做出新的预测/获得见解,就像大多数依赖内核的机器一样。内核机(Kernel Machines)缺乏核函数本身的细节,新的预测完全由现有的可用数据驱动。由于这些方法能够进行大量的数据探索和洞察,而无需对底层模型形成强烈的初始信念,因此这些方法通常被称为自下而上 [7]。

总结:GPs是(几乎*)正向方法,而dnn是逆向方法。GPs的超参数优化是一种间接的程序,通常使用梯度和基于hessian的学习方法来完成。

学习方式的差异

如果没有深度高斯过程,GP 和 DNN 之间学到的东西也会有所不同。 但是他们完成学习的方法并没有太大区别:两者都使用一阶(在某些情况下,还使用二阶)方法。 这两种方法也优化了不同的函数:对于神经网络,这是一个损失/代价函数,对于高斯过程,这是边缘似然函数(marginal likelihood function)。

对于高斯过程,边缘似然目标往往更非凸,因此,通常使用二阶梯度下降算法(例如 L-BFGS [5])进行优化以避免局部最小值。

总结:GPs一般采用二阶优化方法,如L-BFGS[5],使用目标函数的Hessian; dnn一般采用一阶优化方法,如SGD[8],使用目标函数的梯度。

可解释性

在应用机器学习任务中,能够解释你的结果可能和结果本身一样重要。

神经网络的可解释性

虽然一些较新的DNN结构允许对不确定性进行更彻底的近似,例如通过任意和认知不确定性[9],这些网络中的许多只提供估计的预测值,并提供多类分类可能性的对数(预测概率)。由于 DNN 普遍缺乏可解释性一直是一个流行的研究课题 [10],我相信未来更多的网络架构将包含一些预测不确定性的元素。

其他进步,例如 GradCam [12] 等梯度可视化工具,也提高了 DNN 的可解释性,并有助于减少它们的感知“黑盒化”。

GP 的可解释性

相反,GP 固有的高斯结构使它们非常适合可解释的不确定性估计。 对于需要直观风险评估的某些应用程序,这可能使这种方法更有利。

此外,GPs 具有很好的直观特性,即所有插值平均预测都是作为训练集中现有平均点的加权线性组合生成的,按从测试点到给定数据点的距离(在核函数的空间中测量)进行缩放[11]。 GP 以线性方式重新组合他们之前看到的点以产生新的预测。

总结:GPs的线性和高斯特性有助于提高这些模型的可解释性。虽然dnn长期以来一直被批评为“黑盒”,但今天正在进行重大的研究[9,10,12],是以帮助这些模型更易于解释的。

理论相似性

“插值机制”中的内核机

最近的研究表明,当具有线性激活函数的神经网络在其隐藏层接近无限宽时,它们渐近收敛为内核机[1,2]。这就是Neural Tangent Kernel(NTK)[2]的思想。这种现象发生在所谓的“插值区域”,也称为“双下降曲线”[1]的后半部分。

高斯过程也是内核机,因为决定测试点的预测均值和方差的训练点的线性组合是由高斯过程的核函数决定的。

总结:在一定条件下[1,2],dnn可以被分析为所谓的“插值”的内核机,其核函数由观测点的核加权组合形成对观测点的预测。GPs本质上是内核机[11]。

目标函数的优化

虽然对GPs进行优化的二阶方法多种多样,如BFGS和L-BFGS,但也可以采用一阶方法对这些模型进行优化。与 DNN 一样,GP 也会努力最小化函数(通常是具有内核正则化项的负对数似然),就像神经网络努力最小化损失函数一样。

总结:DNN 和 GP 都通过一阶和二阶优化方法改进他们的模型。

两种方法的优缺点

这个列表并不绝对,但在决定神经网络和高斯过程时可以作为参考:

GP优势/DNN劣势:

  1. 通常比 DNN 需要更少的数据,因为它们需要调整的参数更少。但是,拥有更多数据,尤其是在固定域上密度不增加的情况下(称为固定域渐近 [1]),可以帮助显着提高性能。
  2. 只需要优化少量(超)参数。
  3. 对梯度爆炸和消失等现象具有健壮性(因为除非您使用的是 Deep GP,否则此框架内没有“层结构”)。

GP缺点/DNN优点:

  1. 运行时随着样本数量的增加而难以扩展。运行时复杂度为 O(n³),其中 n 是样本数。这是必须对大型协方差矩阵行矩阵求逆(或伪求逆)的结果。
  2. 相对于神经网络,自动学习较少,在核/协方差函数、均值函数和超参数先验分布的选择上需要做更多的设计考虑。这些参数会对 GP 能够学习的内容产生重大影响。

使用示例

以下建议不是绝对的,即这些建议的目的更多是为了应用我们上面学到的原则。

注意:虽然我对这两个模型类都有重要的实践和理论经验,但请不要将下面的这些建议视为绝对的 - 在某些情况下,使用其他模型类可能仍然是有利的。

数据集较小 → 推荐使用 GP:因为它们需要调整的超参数较少,而且由于数据集较小,额外的时间复杂度不会显着影响整体运行时性能。

数据集很大 → 推荐使用 DNN:,因为 GP 运行时随着示例数据集的数量而扩展性很差,并且 DNN 已被证明可以在给定足够大的数据集的情况下在各种机器学习任务上取得最先进的性能。

执行连续插值 → 推荐使用 GP:因为连续 GP 使用连续核函数测量距离,例如 RBF 核和 Matern 核 [11],从而允许以采用数据集中所有点的方式对现有点的新点进行线性加权。通过现有点的线性组合,仍然可以保留的插值细节。

执行离散插值 → 推荐使用 GP:因为离散GP 使用稀疏、离散的核函数(例如Grid Interpolation)测量距离。稀疏结构仍然允许通过考虑所有现有点来预测新点,并且计算效率更高。

在动态数据集上学习和预测 → 使用 DNN:由于 GP 是(几乎)直接方法,它们的预测机制主要由创建它们的数据集定义。因此,如果定义 GP 的数据集是动态的则需要重新拟合/添加新的数据点,这将涉及重新计算协方差矩阵的逆,这是一项代价高昂的操作。相反,DNN 可以轻松适应新数据点,因为它们是逆向模型,并且预测仅由训练这些模型的数据间接决定。

其他情况→看情况决定:当然还有其他情况没有被上述建议解决。为了解决这些情况,请考虑分析上面讨论的相似性/差异性,以确定两个模型类中的哪一个会表现更好。

总结

我们已经讨论了理论的相似/不同,优点/缺点,以及高斯过程(GPs)和深度神经网络(DNNs)的应用。我们发现:

  1. GPs(几乎)是非参数的,而dnn是过度参数化的。
  2. GPs是(近似)正向方法,而dnn是逆向方法。
  3. GPs一般采用二阶方法进行优化,而dnn一般采用一阶方法进行优化。
  4. GPs的结构使得这些模型具有很强的可解释性。尽管dnn长期以来一直被批评为“黑盒子”,但今天的研究正在帮助这些模型变得更加可解释。
  5. GPs本质上是内核机。在一定条件下,dnn也可以作为内核机进行分析。
  6. dnn和GPs都通过一阶和二阶优化方法对模型进行改进。
  7. GPs通常需要比dnn更少的数据,只需要优化少量(超)参数,并且对诸如爆炸和消失梯度等现象都很健壮。
  8. 相对于dnn, GP运行时的可伸缩性较差,且相对于神经网络,具有较少的自动学习能力。
  9. 如果:(i)数据集较小,或(ii)执行插值→使用GPs。
  10. 如果:(i)数据集较大,或(ii)数据集是动态的,则使用dnn。

引用

[1] Belkin, Mikhail. “Fit without fear: remarkable mathematical phenomena of deep learning through the prism of interpolation.” arXiv preprint arXiv:2105.14368 (2021).

[2] Jacot, Arthur, Franck Gabriel, and Clément Hongler. “Neural tangent kernel: Convergence and generalization in neural networks.” arXiv preprint arXiv:1806.07572 (2018).

[3] Damianou, Andreas, and Neil D. Lawrence. “Deep gaussian processes.” Artificial intelligence and statistics. PMLR, 2013.

[4] Blomqvist, Kenneth, Samuel Kaski, and Markus Heinonen. “Deep convolutional Gaussian processes.” arXiv preprint arXiv:1810.03052 (2018).

[5] Liu, D.C., Nocedal, J. On the limited memory BFGS method for large scale optimization. Mathematical Programming 45, 503–528 (1989). https://doi.org/10.1007/BF01589116

[6] Roberts, Daniel A., Sho Yaida, and Boris Hanin. “The Principles of Deep Learning Theory.” arXiv preprint arXiv:2106.10165 (2021).

[7] Top-Down vs. Bottom-Up Approaches to Data Science, https://blog.dataiku.com/top-down-vs.-bottom-up-approaches-to-data-science.

[8] Herbert Robbins and Sutton Monro A Stochastic Approximation Method The Annals of Mathematical Statistics, Vol. 22, №3. (Sep., 1951), pp. 400–407, DOI: 10.1214/aoms/1177729586.

[9] Amini, Alexander, Wilko Schwarting, Ava Soleimany, and Daniela Rus. “Deep evidential regression.” arXiv preprint arXiv:1910.02600 (2019).

[10] Park, Sangdon, et al. “PAC Confidence Predictions for Deep Neural Network Classifiers.” arXiv preprint arXiv:2011.00716 (2020).

[11] Rasmussen, Carl Edward. “Gaussian processes in machine learning.” Summer school on machine learning. Springer, Berlin, Heidelberg, 2003.

[12] Selvaraju, Ramprasaath R., et al. “Grad-cam: Visual explanations from deep networks via gradient-based localization.” Proceedings of the IEEE international conference on computer vision. 2017.

作者:Ryan Sander

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 图像去噪是指在保留图像主要特征的同时,去除图像中的噪声。图像噪声是指在图像采集、传输和处理过程中,外界干扰和系统错误所引起的图像质量不良的现象。 图像去噪的原理是通过对图像进行分析和处理,去除图像中的噪声,从而恢复图像的清晰度和细节信息。 图像去噪的过程可以分为以下几个步骤: 1. 噪声检测:通过分析图像的统计特征,检测出图像中的噪声类型和噪声强度。 2. 噪声估计:通过对图像的噪声进行估计,得到准确的噪声模型和噪声参数。 3. 去噪滤波:根据噪声模型和噪声参数,选择合适的滤波算法进行去噪处理。 4. 评估和优化:对去噪后的图像进行评估,根据评估结果对算法进行优化。 常见的图像去噪方法包括: 1. 均值滤波:以像素为中心取一个固定大小的窗口,计算窗口内像素的平均值作为该像素的新值。 2. 中值滤波:以像素为中心取一个固定大小的窗口,将窗口内的像素排序后取中值作为该像素的新值。 3. 高斯滤波:以像素为中心取一个固定大小的窗口,根据高斯分布计算窗口内像素的权重,再根据权重计算像素的新值。 4. 双边滤波:在高斯滤波的基础上,引入距离和颜色两个因素的权重,保留图像边缘的同时去除噪声。 5. 小波去噪:利用小波变换对图像进行分解,去除高频部分的噪声,再进行逆变换得到去噪后的图像。 这些方法各有优缺点,需要根据实际应用场景选择合适的去噪方法。 ### 回答2: 图像去噪是指通过使用各种方法和技术来减少和去除图像中存在的干扰和噪声,以提高图像的质量和清晰度的过程。 去噪的原理是基于图像中噪声和信号之间的差异。噪声通常是无关的、随机的像素值,而信号则是图像中的有用信息。去噪的目标是尽可能保留信号并减少噪声。 去噪的过程通常包括以下几个步骤。首先,需要对图像进行预处理,例如调整图像的亮度和对比度、去除图像中的伪影等。然后,需要确定图像中的噪声类型和特征,常见的噪声类型包括高斯噪声、椒盐噪声和斑点噪声等。接下来,根据噪声的特征选择合适的去噪方法。最后,对图像应用选定的去噪方法,对噪声进行减弱或去除。 常见的图像去噪方法有以下几种。第一种是基于统计的滤波器方法,例如高斯滤波器、中值滤波器和均值滤波器等。这些方法通过根据局部像素的邻域信息来平滑图像。第二种是基于小波变换的方法,可以利用小波域的多尺度分解和重构来降低图像中的噪声。第三种是基于偏微分方程的方法,例如总变差去噪模型,通过最小化图像的总变差来抑制噪声。此外,还有基于机器学习的去噪方法,例如基于深度学习的卷积神经网络,通过训练网络来学习去除噪声的能力。每种方法都有其特点和适用场景,根据实际情况选择合适的方法进行图像去噪。 ### 回答3: 图像去噪是指利用算法或处理技术,将图像中的噪声信号进行抑制或消除,从而使图像变得更加清晰和可视化的过程。 图像的噪声往往是由于图像传感器或电子设备的不完美性或环境条件等因素引起的,如图像压缩引起的噪声、传感器噪声、照明噪声等。这些噪声会干扰图像的细节和信息,降低图像的质量和对应用的适应性。 图像去噪的原理是通过在图像中预测和模拟噪声并将其剔除,从而还原真实的图像。其核心原则是尽量保留图像的主要信息,同时减少噪声的影响。 图像去噪的过程主要包括以下步骤:1.数据加载和预处理;2.噪声估计和建模;3.特定算法或滤波器的应用;4.结果评估和调优。 目前常见的图像去噪方法包括:1.基于统计的方法,如中值滤波器、高斯滤波器等;2.基于频域的方法,如傅里叶变换、小波变换等;3.基于局部图像均值的方法,如均值滤波器、非局部均值滤波器等;4.基于自适应模型的方法,如总变差降噪算法、BM3D算法等;5.基于深度学习的方法,如卷积神经网络等。 总之,图像去噪是一项重要的图像处理技术,能够去除图像中的噪声并提升图像质量。通过选择合适的去噪方法和算法,可以根据具体需求对图像进行高效、精准的去噪处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值