本文的出发点是一篇期刊论文,但集中探讨的是这篇文章中不确定度估计的原理与过程,行文将与之前的文献报告不同。
原文
Bhattacharyya A , Fritz M , Schiele B . Long-Term On-Board Prediction of People in Traffic Scenes under Uncertainty[J]. 2017.
原文的一篇重要引用文献
Kendall A , Gal Y . What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?[J]. 2017.
关键词与基础概念:
车载视角、行人框预测、认知不确定性、偶然不确定性、采样、伯努利分布与dropout变分推断、蒙特卡洛积分、贝叶斯定理与贝叶斯推断、贝叶斯网络
近日在阅读“Long-Term On-Board Prediction of People in Traffic Scenes Under Uncertainty”,文章所提出的模型功能是基于车载移动视角对行人框位置做出预测,并能够同时评估两类不确定度(模型不确定度,数据不确定度)。
对神经网络的不确定度估计涉及较多概率论的知识,而且从理论到应用的转化也涉及到使用近似量估计的问题,因此初次接触这部分知识该我带来了不小的挑战。经过几天的探究,还是走了不少弯路,虽说很多细节的理论推理还没有深究,但摸清了借助贝叶斯神经网络估计不确定度的原理和过程。你会发现,在原有神经网络上增加不确定度估计功能,从结构上的变化看似非常简单(只是损失函数,dropout层,输出等已有部分的修改),但背后有很严密的数理逻辑驱动着。
原理简述
不确定度虽分为两类,一类是模型不确定性,另一类是数据不确定性,两种不确定性所在的对象不同。利用模型预测结果的分布特点(注意是分布),可以成为测量不确定度的一种手段。
模型预测由模型生成,在给定训练数据情况下,模型自身有后验分布(因此用不确定度衡量)。为了得到模型预测的分布特点,由贝叶斯定理,需要边缘化(marginalizing,旨在消除条件分布中某个变量的影响)模型的后验分布。
从理想层面,边缘化就是以积分形式穷尽所有模型的分布最后得到模型预测的分布,但现实层面由于深度网络的复杂性,有两方面不现实 - 模型表示的抽象性 & 积分操作,为了落地,在应用时,理想的“积分操作”由离散的采样操作代替(因为我们最终不需要预测分布的完整描述,只需方差即可,而基于dropout的采样方式被证明可以求出方差)。
理想的模型分布是无法满足采样需求的,因此需引入近似模型分布的可采样的分布,新引入的分布由诸多参数决定着,要想近似原模型分布必须要进行参数调整,一种方法是最小化近似分布和原分布的KL散度指标,而这恰好是一个带有明确目标函数的优化任务。至此,对预测分布求解实现了从理论的边缘化操作到实际的优化操作(可通过反向传播)+采样的转换。
模型规范
该部分简单介绍期刊文章的模型框架,旨在为后文不确定性公式推理建立规范和基础。
模型介绍
车载视角的行人轨迹预测需要考虑两个重要方面,一是行人的轨迹,二是车辆的里程计(速度和转向角)。为此模型专门设计了两条序列流负责这两个方面特征:
- 里程计预测流:图中下部分模型,整体很常规,是一个seq2seq结构。由视觉信息和已知里程计信息进过编码形成特征向量,再由解码器解码,形成对里程计信息的预测。
- 行人框预测流:图中上部分模型,从整体框架上也是seq2seq结构,但很多细节上的改动使其成为了贝叶斯神经网络。编码器编码经过嵌入的行人框信息和里程计信息形成特征向量,解码器每步输入[特征向量,由里程计流预测的里程计],得到行人框预测和数据不确定度的方差(注意数据不确定度只是我们要求的不确定度的一部分)。
规范
里程计:表示速度和转向角,表示已知里程计信息,表示里程计流预测的里程计。
行人框:,表示已知行人框信息,