comment:: 利用损失函数不同的两次深度密度神经网络训练,分别预测均值网络和预测方差网络,进而对于每一个新输入都会得到两个输出。理论上,方差较大的那个对应于分布外,而方差小的那个对应分布内。由于训练方差神经网络需要的样本事实上并不存在,因此作者先在分布内训练数据集基础上得到的因子分析模型,然后对该模型进行适当改造后,用于人工合成分布外样本。试验表明,在分布外数据检测方面性能优于 MC Dropout 和 高斯过程。

摘要 (pdf)

英语口语水平的自动评估比较重要。自动化评估系统需要处理大量候选人和复杂的技能水平,但其中一些候选人可能与训练数据集差异非常大,从而破坏了系统预测成绩的有效性。对于高风险测试,要求系统不仅应当准确评估,而且应当能够给出其预测的不确定性,以便人类介入分级结果的决策。本文调研了高斯进程(GP)分级系统,其效果不错,但不具备大数据集的可扩展性。MC Dropout 可用于深度神经网络(DNN)的不确定性估计,但无法区分分布外的样本。本文提出了一种基于 深度密度网络(DDN 的新方法来产生不确定性,并将其与 MC Dropou 和 GP 进行了比较。新方法显式地训练神经网络来识别不确定性(高方差和低方差),其中低方差对应训练数据的低不确定性,而高方差对应分布外人工合成数据的高不确定性。在商务语言测试(Bulats)上进行的实验表明,在分级性能相当的情况下,所提出的方法在基于不确定性的样本拒绝方面,优于 GP 和 MC Dropout (pdf) 。

1 介绍 (pdf)

1.1 研究背景

  • 对于口语评级系统来说,不太可能掌握所有类型(如:各种口音、发音问题)未达标的样本。因此,在测试阶段,随着候选者与训练数据之间匹配程度的降低,预测得出的等级有效性将大打折扣(pdf) 。要将评级系统部署到高风险测试环境中,所有候选人的表现需要与训练数据保持一致并高度相关,因此必须能够有效识别出相关性不足的样本(或分布外样本)。(pdf)

1.2 已有技术

  • 有些方案采用单独的模型,过滤掉 “不可评估的” 候选者 (pdf) ,但这些方案仅能解决 “是” 和 “否” 的问题(即依据是否能够给候选者评分做判决),未考虑自动评级预测中的不确定性程度
  • 高斯过程(GP)评级实现了(pdf) 最先进的自动评估表现,并能够生成对拒绝候选人非常有意义的不确定性估计,但GP 在训练集大小上有计算限制(虽然有稀疏高斯过程方法)
  • 深度神经网络(DNN)能够扩展到大数据集,但缺乏原生的不确定性度量(pdf) 。Gal 等人 表明 MC Dropout(MCD)可用于导出 DNN 的不确定性估计(pdf)
  • 深度密度网络(DDN)(pdf) 可用于产生与预测等级对应的均值和方差来表达不确定性,但标准的 DDN 在其预测中能够提供不确定性建模,但所有类型的不确定性都混杂在一起,无法有效识别分布外样本。

1.3 本文贡献

  • 提出了一种显式建模不确定性的新方法, 以多任务方式训练 DDN ,同时对 低方差的实际数据分布高方差的人造数据 进行建模 (pdf)

2 预测不确定性的估计方法

2.1 问题概述

在统计建模中,处理不确定性的原则性方法是贝叶斯方法,即在给定输入 $\boldsymbol{x}$ 和 训练数据 $\mathcal{D} = {\hat g, \hat{\boldsymbol{x}} }$ 时,等级预测上的条件后验分布可以通过对模型(参数)的边缘化求得(pdf) :

$$
\mathrm{p}(g \mid \boldsymbol{x}, \mathcal{D})=\int \mathrm{p}(g \mid \boldsymbol{x}, \mathcal{M}) \mathrm{p}(\mathcal{M} \mid \mathcal{D}) \mathrm{d} \mathcal{M} \tag{1}
$$

其中,$\mathrm{p}(\mathcal{M }\mid \mathcal{D})$ 为给定训练数据后得到的后验分布,$\mathrm{p}(g \mid \boldsymbol{x},\mathcal{D})$ 为后验预测分布(Predictive distribution)。

根据概率论知识,在给定某个随机变量 $g$ 的概率分布 $\mathrm{p}(g)$ 后,可以求任意函数 $f(g)$ 相对于该分布的期望(均值): $\tilde f(g) = \int f(g) \mathrm{p}(g) \mathrm{d} g$ 。对于上述后验预测分布 $\mathrm{p}(g \mid \boldsymbol{x},\mathcal{D})$ ,可以得到两个最常见函数的期望:代表预测的最佳点估计的均值 $f(g) = g$ 和代表预测不确定性的方差 $f(g)=(g-\tilde g)^2$((pdf) 。

$$
\mu_{g}(\boldsymbol{x}) = \text{mean}(g) =\int \mathrm{p}(g \mid \boldsymbol{x}, \mathcal{D}) g \mathrm{d} g \tag{2}
$$
$$
\sigma_{g}^{2}(\boldsymbol{x}) = \text{mean}{ [(g-\tilde g)^2]} =\int \mathrm{p}(g \mid \boldsymbol{x}, \mathcal{D}) g^{2} \mathrm{
d} g-\mu_{g}^{2}(\boldsymbol{x})\tag{3}
$$

注: 上式中的均值和方差均为随机变量 $g$ 的统计量,单纯从符号上很容易误解成是 $\boldsymbol{x}$ 的均值和方差。此处的符号代表: 可以表示为 $\boldsymbol{x}$ 函数的 $g$ 的统计量。

2.2 高斯过程 (pdf)

式 2式 3 可以采用解析方式求解,主要方法是高斯过程( Gaussian Processes , GP ),这是一种可用于回归的非参数模型。高斯过程采用高斯分布对在预测等级 $g$ 上的条件后验分布建模(给定输入 $\boldsymbol{x}$ 和 训练数据 $\mathcal{D}$ ):
$$
\mathrm{p}(g \mid \boldsymbol{x} ; \mathcal{D})=\mathcal{N}\left(g ; \mu_{g}(\boldsymbol{x} \mid \mathcal{D}), \sigma_{g}^{2}(\boldsymbol{x} \mid \mathcal{D})\right) \tag{4}
$$

其中,$μ_g(\boldsymbol{x} \mid \mathcal{D})$ 为均值函数,$σ^2_g(\boldsymbol{x} \mid \mathcal{D})$ 为协方差矩阵。协方差矩阵是新输入 $\boldsymbol{x}$ 和训练数据集输入 $\hat{\boldsymbol{x}}$ 之间相似性的量化,相似性度量可以用协方差函数 $k(\cdot,\cdot)$ 来定义。指定协方差函数 $k(\cdot,\cdot)$ 后,高斯过程的协方差矩阵其实代表了当 输入数据 远离 训练数据 时的不确定性。 高斯过程的计算和存储复杂度很高,不太适合大规模数据集,特别是包含高维特征的数据集。

2.3 MC Dropout(pdf)

深度神经网络在构建语言评级系统时,具有灵活的架构和大规模数据集的可扩展性,但是缺乏内生的不确定性测量能力。为此,Gal 等人 提出了 MC Dropout 方法。对于深度神经网络,式 2式 3 中的不确定性,可以使用 MC Dropout 以类似模型集成(Model Ensembling)的近似方法来估计 (pdf) :

$$
\hat{\mu}{g}(\boldsymbol{x}) =\frac{1}{N} \sum{i=1}^{N} f\left(\boldsymbol{x} ; \mathcal{M}^{(i)}\right) \tag{5}
$$
$$
\hat{\sigma}{g}^{2}(\boldsymbol{x}) =\frac{1}{N} \sum{i=1}^{N}\left(f\left(\boldsymbol{x} ; \mathcal{M}^{(i)}\right)\right)^{2}-\hat{\mu}_{g}^{2}(\boldsymbol{x}) \tag{6}
$$
在该集成中,包含 $N$ 个深度神经网络,每个 $\mathcal{M}^{(i)}$ 代表了具有特定架构的某个深度神经网络的一个实例,其网络权重采样自模型后验 $p(\mathcal{M} \mid \mathcal{D})$ 。 $f(\boldsymbol{x}; \mathcal{M}^{(i)})$ 则代表了模型 $\mathcal{M}^{(i)}$ 的预测输出。Gal 等人证明,MC Dropout 等价于对高斯过程的近似变分推断,可以生成深度神经网络的不确定性估计。同时,他们还发现,不同的激活函数通常对应于不同的高斯协方差函数。MC Dropout 方法的基本假设是:当输入 $\boldsymbol{x}$ 远离训练数据时,不同的 $\mathcal{M}^{(i)}$ 会产生差异越来越大的输出,进而导致更高的方差。遗憾的是,在实践中,很难选择合适的激活函数来实现这一点。

3 深度密度网络 (pdf)

3.1 深度密度网络及其缺点

与蒙特卡洛近似方法不同,确定性深度神经网络在经过修改后,可以用于生成目标变量的预测均值和预测方差(pdf)

$$
\mu_g(\boldsymbol{x})=f_\mu(\boldsymbol{x};\mathcal{M}) \tag{7}
$$
$$
\delta^2_g(\boldsymbol{x})=f_{\delta^2}(\boldsymbol{x};\mathcal{M}) \tag{8}
$$
即将目标变量建模为高斯分布,且其均值和协方差可以由 $\boldsymbol{x}$ 的某个函数直接建模,这与高斯过程有点相似。

这种架构被称为 深度密度网络(Deep Density Network, DDN) ,它是 混合密度网络(Mixture Density Network, MDN ) 在只有一个组分时的特例( Bishop 等人, 1994 )。

图 1:混合密度网络(MDN) 由前馈神经网络组成,其输出确定了混合密度模型的参数;利用网络训练获得的混合模型,可以计算在给定输入 $\mathbf{X}$ 时目标变量 $\mathbf{t}$ 的条件概率密度 $p(\mathbf{t} \mid \mathbf{x})$ 。需要注意的是,该条件分布可能是一个多峰值的分布(可将每个峰值视为代表了一个组分),具体峰值的数量是该神经网络的一个超参数。

DDN 采用最大似然方法进行训练,DDN 计算的方差代表在给定输入时,预测输出的离散程度。这其实是一种不确定性的隐式度量方式,因为与 GP 和 MC Dropout 一样,它是整个模型的一个组成部分,它并没有对分布外样本生成额外的高方差( 即远离训练数据的点和产生的高方差和某些训练数据点相似,没有特别明显的不同 ),因此也很难将分布外样本检测出来。

此处隐式的概念有点容易让人迷惑,其实际含义还是指量化的不确定性中,各种来源混杂在一起,没有有效区分开。

图 2: 预期的方差特性

3.2 创新方法

作者认为,教会一个 DDN 显式地用方差大小来区分分布内样本和分布外样本是有可能的( 图 2 ),不过这需要一个新的训练过程 (pdf) 。

我们构建了两个高斯分布来解决这个问题:

  • 一个代表真实训练数据的低方差高斯分布 $\mathrm{p}_D$
  • 一个代表训练数据区域之外数据的高方差高斯分布 $\mathrm{p}_N$

DDN 需要以多任务的方式,同时对上述两个分布建模。因此,本文工作采用显式指定不确定性的方式来设计 DDN 的损失函数,它是两个 KL散度 的期望:

  • 真实训练数据的目标分布 $\mathrm{p}_D$ 与预测分布 $\mathrm{p}(g \mid \hat{\boldsymbol{x}};\mathcal{M})$ 之间 KL 散度 的期望值
  • 分布外数据的目标分布 $\mathrm{p}_N$ 与预测分布 $\mathrm{p}(g \mid \tilde{\boldsymbol{x}} ; \mathcal{M})$ 之间 KL散度 的期望值

$$
\mathcal{L}=\mathrm{E}{\hat{\mathbf{x}}}\left[\mathrm{KL}\left(\mathrm{p}{\mathrm{D}} | \mathrm{p}(g \mid \hat{\boldsymbol{x}} ; \mathcal{M})\right]+\right. \alpha \cdot \mathrm{E}{\tilde{\mathbf{x}}}\left[\mathrm{KL}\left(\mathrm{p}{\mathrm{N}} | \mathrm{p}(g \mid \tilde{\boldsymbol{x}} ; \mathcal{M})\right]\right. \tag{9}
$$
其中, $\alpha$ 为多任务权重。

注:
(1)多任务通常将不同任务的损失函数按照一定权重加权求和后作为总损失。
(2)KL 散度 可简单理解为两个分布之间的差异度。对于分类问题,神经网络对于目标变量的预测输出通常表现为一个类概率向量(类别分布),其与(我们设定的)目标类别分布之间就会存在一个 KL 散度 的测量值,而所有样本的 KL 散度 测量值的均值,就是此处所指的 KL 散度的期望值

这个带有显式不确定性的 DDN 将采用两阶段方式进行训练:

  • 首先,训练标准的 DDN 网络 $\mathcal{M}_0$
  • 然后,用 $\mathcal{M}_0$ 的参数初始化一个新的 DDN 网络 $\mathcal{M}_1$ ,并且采用多任务方式进行训练。

3.3 目标分布的设计

真实训练数据的目标分布 $\mathrm{p}_D$ 由模型 $\mathcal{M}_0$ 的输出来定义( 式 7式 8 )。

分布外数据的目标分布 $\mathrm{p}_N$ 用人工合成的输入 $\tilde{\boldsymbol{x}}$ 和其对应的均值 $\mu({\tilde{\boldsymbol{x}}})$ 、方差 $\delta^2({\tilde{\boldsymbol{x}}})$ 来构造。

$$
\mathrm{p}_N=\mathcal{N}\left( g; f_\mu({\mu({\tilde{\boldsymbol{x}}}}); \mathcal{M}_0),\delta^2({\tilde{\boldsymbol{x}}}) \right)
$$

式中可以看出,目标分布的均值由点 $μ({\tilde{\boldsymbol{x}}})$ 处 $\mathcal{M}_0$ 的预测结果给出;而目标方差 $σ^2({\tilde{\boldsymbol{x}}})$ 应取决于 ${\tilde{\boldsymbol{x}}}$ 与训练数据之间的相似性。本方法中,这个方差被建模为对角协方差矩阵,对角元素的值为到 $\hat{\boldsymbol{x}}$ 均值的平方归一化欧式距离,由超参数 $λ$ 控制其尺度。

3.4 分布外样本数据的生成

人工合成的分布外样本 $\tilde{\boldsymbol{x}}$ 需要与真实数据 $\hat{\boldsymbol{x}}$ 不同但又要保持一定关联,通常它们应该代表候选人的一些未被观测到的特征,如口音、熟练程度等。一个生成 $\tilde{\boldsymbol{x}}$ 的简单方法是采用在 $\hat{\boldsymbol{x}}$ 上训练的 因子分析(Factor Analysis) 模型。因子分析的生成模型为:

$$
\tilde{\boldsymbol{x}} \sim \mathcal{N}(W\boldsymbol{z}+\boldsymbol{\mu},\gamma\Psi),, , \boldsymbol{z} \sim \mathcal{N}(0,\gamma \boldsymbol{I})
$$

其中,$W$ 是加载矩阵(Loading Matrix),$\Psi$ 为对角残差噪声方差,$\boldsymbol{\mu}$ 为均值,均来自 $\hat{\boldsymbol{x}}$ ,$\gamma$ 用于控制人工生成数据与真实训练数据之间的距离。

在训练期间,从因子分析模型中抽取样本作为人工合成数据的输入。

5 结论和未来的工作 (pdf)

5.1 结论

  • 提出了一种显式训练 DDN 来产生不确定性估计的新方法。
  • DDN 以多任务方式为两个分布进行了建模:
    • 低方差的真实数据分布
    • 高方差的人工合成数据分布。
  • 通过最小化两个 KL 散度 来训练该模型:
    • DDN 与真实数据分布之间的 KL 散度
    • DDN 与人工合成数据分布之间的 KL 散度
  • DDN 将给预测分布被赋予低方差或高方差,分别对应输入数据与真实数据相似和不相似的情形
  • 人工合成数据分布是在真实数据上训练的因子分析模型给出的,在训练期间,从该分布中抽取人工合成数据的样本
  • 试验结果表明
    • 这种方法在分布外样本检测方面,优于 GP 和 MC Dropout

5.2 未来工作

  • 人工合成数据对性能的影响机理和效果、以及新的数据合成方法(如:变分自编码器)依然需要进一步研究
  • 需要进一步检查人工合成数据和实际训练数据之间相似性评价指标