(学习笔记)PAC Bayesian Performance Guarantees for Deep(Stochastic) Networks in Medical Imaging

一、前置知识储备

(1)PAC learning:【机器学习】PAC学习_想变厉害的大白菜的博客-CSDN博客_pac学习模型

(2)Hoeffding 不等式以及Hoeffding Bound

Hoeffding 不等式 :Hoeffding 不等式_Felix_CY的博客-CSDN博客_hoeffding不等式

Hoeffding bound:Hoeffding边界 - CSDN

(3)KL散度:Kullback-Leibler(KL)散度介绍 - 知乎 (zhihu.com)

(4)简单的先验分布与后验分布:一个例子搞清楚(先验分布/后验分布/似然估计)_你通透就好 别问我是谁的博客-CSDN博客_后验分布

二、为什么使用PAC Bayesian

首先我们在医学图像上大量的使用了深度学习的方法,但医疗数据集自带小数据集的特性,使我们的深度学习网络容易过拟合,从前置知识PAC中我们可以知道,避免过拟合的其中一种方法是在训练后为网络性能提供数学保证或界限,明确地量化过拟合的可能性。

传统的方法是使用Hoeffding bound 去确认这个判断边界

Hoeffding不等式在两个方面存在不足。(1)使用保留集(holdout set)要求模型不能看到所有可用的数据即不能对本来就不足的数据全部利用;(2)实践者不能深入了解为什么模型概括得好(该方法的可解释性差)

ps:holdout set,用于测试推理算法性能,在holdout set上用Hoeffding公式计算错误概率边界,之后比较不同模型结果。

 关于可解释性的补充,对于结果有两种不同的解释,一种是描述性的另一种是规范性的。

eg:假设有一位病人对其医生说:「医生,我晚上常常醒来而且一天都很累。」

医生 1(没有进行任何身体检查):「哦,你患了失眠症。」

我将这种诊断称为描述性的(descriptive),因为这只是给该病人的问题分配一个标签,而没有给出如何解决该问题的任何见解。与之相反:

医生 2(经过仔细的身体检查后):「你的鼻窦增生导致睡眠呼吸暂停。移除它可以解决你的问题。」这样的诊断是规范性的(prescriptive)。

而使用不同于传统的算法原因目的是想得到一种可解释的flat-minima prescription。

三、具体算法

(1)公式组件

空间:H=\mathbb{R}^{d},Q记为H上的一个分布,同时将使的Q=N(\mu ,\xi ),即Q是一个多变量的正太分布。对于一个固定空间Z=X*Y,使得h\subseteq H,载这个条件下建立一个映射x->h(x),其中x\subseteq X,h(x)\subseteq Y

那么给定一个以(0,1)边界的损失函数:L,以及在固定空间Z上的一个分布D,他的损失风险可以记为

同时我们可以依赖已有的大量数据的到一种基于经验的损失风险

 

在上述的定义之下我们可以想象在对一些数据点x进行推理之前,对\mathbb{R}^{d}上的分布Q进行抽样并设置权重

 算法的最后一个组件即KL,在前置知识中我们了解到KL散度原本用来体现从一个分布到另一个分布损失了多少信息,但同时KL散度也可以用来在优化函数结果时,帮助我们解释找到的flat-minima prescription,在PAC Bayesian使用KL散度来量化样本的风险和真实风险之间的差异。

(2)公式的组合

让 l 是一个[0, 1]边界的损失函数,D是Z上的分布,P是H上的概率分布。 然后,对于δ∈(0, 1), 

也上式变形为:

其中P被称为先验(prior),Q被称为后验(post),和贝叶斯公式相同对P和Q的形式不加限制,其中P依赖数据产生

 与Hoeffding Bound 不同PAC Bayesian提供了对模型泛化的原因的洞察力,当随机模型Q的性能良好时,在平均值周围一定有一个不可忽略的区域,大多数网络在这里表现良好,即平均值周围有一个flat-minima prescription,而小的empirical risk以及小的KL散度使得这个flat-minima prescription是可解释的。

empirical risk:

      结合上面的例子来看:最左面的结构风险最小(模型结构最简单),但是经验风险最大(对历史数据拟合的最差);最右面的经验风险最小(对历史数据拟合的最好),但是结构风险最大(模型结构最复杂),不严谨的说模型越复杂越容易过拟合;而中间的达到了二者的良好平衡,最适合用来预测未知数据集。

对于本文来说他的经验风险(即基于训练集的训练结果与标签拟合误差),期望风险(即基于保留集测试结果与标签拟合误差),两者差值大于某个特定偏差值的概率就是我们判断模型泛化能力的重要依据

最后对flat-minima prescription的解释

 

由上图我们可以看出a1是一个泛化效果并不是特别好的点即(shrap-minima),b就是我们通常所说的鞍点(saddle points),而a2就是我们的目标泛化效果较好的点(flat-minima)即‘平坦的最小点’。

对于本文来说他的创新动机是假设随机梯度下降训练所得的网络在他给出的解决方案flat-minima,处具有良好的概括性(即if这部分的泛化误差较低那么整个网络模型的泛化误差较低)

关于泛化误差(generalization)的解释

在这里插入图片描述

上方的蓝色曲线表示在训练集上的误差曲线,下方的蓝色曲线表示在测试集上的曲线,他们之间的差值代表的时模型泛化能力的好坏,对于这个值的评分映入了泛化误差上界的概念。

R(f)\leqslant \hat{R(f)}+\varepsilon (d,N,\delta )

这个式子你可以这样简单理解,等式左端为测试集上的风险,等式右端为在训练集上的风险加上一项 \varepsilon 。 这个式子的意义就是通过在训练集上的表现来预测在测试集上的表现。

其中

\varepsilon (d,N,\delta )= \sqrt{\frac{1}{2N}(logd+log\frac{1}{\delta }))}

 同时本文主要贡献在于提出了PAC Bayesian bound 与传统的Hoeffding bound做对比,而这两个bound的基础都是结合上述公式进行演变推导。不论哪种方法都是对泛化误差上界的一种计算。

三、具体实验即测试结果

在跑实验过程中结合论文与代码

1、关于先验P与后验Q,对于框架来说训练过程中使用了120个epoch,之后再保留集上用训练好的框架训练30个epoch的P之后冻结参数用相同的参数从第31个epoch开始训练Q,之后使用P与Q计算kl.

待续。。。。。。。。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"blitz-bayesian-deep-learning-master" 是一个软件项目的名称,该项目是一个在深度学习领域中应用贝叶斯方法的程序代码库。 深度学习是一种机器学习方法,用于训练和模拟人工神经网络,以便可以从大规模数据中进行模式识别和预测。而贝叶斯方法是一种从概率的角度解释不确定性的统计学方法。 blitz-bayesian-deep-learning-master项目的目标是将贝叶斯方法应用于深度学习领域。通过引入贝叶斯理论和方法,这个项目试图解决深度学习中的一些问题,如模型不确定性估计和过拟合问题。这将有助于提高深度学习模型的鲁棒性和泛化能力。 在blitz-bayesian-deep-learning-master项目中,可能会包含一些贝叶斯深度学习的常见算法和模型,如变分自编码器(VAE)、蒙特卡洛dropout和贝叶斯卷积神经网络等。这些算法和模型可以被应用于各种深度学习任务,如图像分类、目标检测和自然语言处理等。 通过使用该项目,研究人员和开发人员可以更好地理解深度学习中的不确定性和模型鲁棒性,并在实际问题中应用贝叶斯深度学习方法。这将为科学研究和工程应用带来更加准确和可靠的结果。 总而言之,blitz-bayesian-deep-learning-master是一个旨在将贝叶斯方法应用于深度学习领域的项目,旨在提高模型的不确定性估计和泛化能力,为科学研究和工程应用带来更好的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值