
©PaperWeekly 原创 · 作者|崔克楠
学校|上海交通大学博士生
研究方向|异构信息网络、推荐系统
本文以 NeurIPS 2019 的 Can You Trust Your Model’s Uncertainty? Evaluating Predictive Uncertainty Under Dataset Shift 论文为主线,回顾近年顶级机器学习会议对于 dataset shift 和 out-of-distribution dataset 问题相关的论文,包括了 Temperature scaling [1],DeepEnsemble [2],Monte-Carlo Dropout [3] 等方法。而 [4] 在统一的数据集上对上述一系列方法,测试了他们在 data shift 和 out-of-distribution 问题上的 accuracy 和 calibration。

Temperature Scaling [1]在介绍 temperature scaling 之前,首先需要了解什么叫做 calibrated? 神经网络在分类时会输出“置信度”分数和预测结果。理想情况下,这些分数应该与真实正确性的可能性相匹配。例如,如果我们将 80% 的置信度分配给 100 个样本,那么我们就会期望 80% 样本的预测实际上是正确的。如果是这样,我们说模型是经过校准的。 而 Temperature scaling 则是一个非常简单的后处理步骤,能够帮助模型进行校准。一种可视化校准的简单方法是将精度作为置信度的函数绘制(reliability diagram)。下边左边的可靠性图表中,我们可以看到一个在 CIFAR-100 上训练的 DenseNet 是极度自信的。然而,使用 Temperature scaling,模型就得到了校准。
具体怎么做 temperature scaling 呢,对于分类问题,网络最后一层往往会输出 logits,而 logits 进一步传给 softmax 函数来得到各个类别的概率,而 temperature scaling 对这一步骤修改为:

实现层面也很简单,在 PyTorch 的实现如下:
class Model(torch.nn.Module):
def __init__(self):
# ...
self.temperature = torch.nn.Parameter(torch.ones(1))
def forward(self, x):
# ...
# logits = final output of neural network
return logits / self.temperature
但要注意的是,上述方法需要在 validation set 上进行优化,来学习参数 temperature,而不能在 training set 上进行学习,所以 Temperature scaling 是一个 post process,即后处理步骤,这种方法也暂时只能用于分类任务,不能用于回归。



MC-Dropout [2]MC-Dropout 是为模型引入 uncertainty 特性的最为简单有效的方法之一。以往我们经常在训练时对模型参数使用 dropout,以防止模型过拟合,在 inference 阶段,往往会关闭 dropout。而 MC-dropout 则强调,在 inference 阶段,也要对模型参数进行 dropout。对于一个样本的 inference,MC-Dropout 要求随机进行 K 次 dropout,进行 K 次前传,得到 K 个输出结果。而 K 个输出结果再进行 ensemble。这么做的目的是因为在贝叶斯网络中,网络模型的参数应当服从特定的分布。模型在预测结果时,应当对模型的参数分布进行积分,而对于如今庞大的模型来说这显然是不可能的。MC-dropout 相当从模型参数的变分分布当中随机采样,将这一“积分”过程变得简单,容易实现。








在上图中,作者展示了 ensemble size 对于模型 calibration 的影响,可以看到随着 ensemble size 的提升,Brier Score 是逐渐缩小的,这说明 ensemble size 越大,模型的 calibration 能力是越好的,但超过 50 之后不会再有提升。但考虑到计算负担,一般设置为 5 比较恰当。


总结1. 模型的 Accuracy 和 Calibration 会随着 data shift 逐渐下降;2. Temperature scaling 虽然能够在 test set 上保持 calibration,但是在 shift dataset 上却无法达到同样的效果;3. SVI 在 MNIST 上表现最好,但是在其他所有数据集上,ensemble 表现最为优异。并且他们表现得相对顺序也是一致的;4. Ensemble 虽然表现较好,但是在计算负担方面不占优势,仍要考虑是否有其他鲁棒的方法。参考文献[1] Guo, C., Pleiss, G., Sun, Y. and Weinberger, K.Q. On Calibration of Modern Neural Networks. In International Conference on Machine Learning, 2017.
[2] Lakshminarayanan, Balaji, Alexander Pritzel, and Charles Blundell. "Simple and scalable predictive uncertainty estimation using deep ensembles." Advances in neural information processing systems. 2017.
[3] Gal, Y. and Ghahramani, Z. Dropout as a Bayesian approximation: Representing model uncertainty in deep learning. In ICML, 2016
[4] Snoek, Jasper, et al. "Can you trust your model's uncertainty? Evaluating predictive uncertainty under dataset shift." Advances in Neural Information Processing Systems. 2019.

点击以下标题查看更多往期内容:
刷新SQuAD2.0 | 上海交通大学回顾式阅读器解析
浅谈 Knowledge-Injected BERTs
细粒度情感分析任务(ABSA)的最新进展
自然语言处理中的语言模型预训练方法
BERT+知识图谱:知识赋能的K-BERT模型
从三大顶会论文看百变Self-Attention
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
? 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
?
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 |
本文介绍了深度学习模型在对比两张图片差异时的应用,特别是通过temperature scaling进行概率校准的方法。该方法通过对softmax函数的温度参数进行调整,优化在验证集上的表现,作为分类任务的后处理步骤。此外,提到了其他如深度ensemble和dropout作为不确定性估计的手段。
36万+

被折叠的 条评论
为什么被折叠?



