半监督学习(SSL)关注如何通过使用额外的未标记数据来提高学习性能的问题, 然而, 尽管 SSL 取得了成功, 例如 Co-training, FixMatch 等, 但大量的实证研究表明, 利用未标记数据的 SSL 可能会恶化学习性能. 所以本文提出了一种安全预测的半监督学习方法 SAFER.
论文地址: Learning safe prediction for semi-supervised regression
代码地址: http://www.lamda.nju.edu.cn/code_SAFER.ashx
会议: AAAI 2017
任务: 回归
SAFER
定义 { f 1 , … , f b } \{f_1,\dots,f_b\} {f1,…,fb} 为多个半监督回归器的集合, f 0 f_0 f0 为对带标签的数据集直接用监督学习训练得到的回归器, f i ∈ R u f_i \in \mathbb{R}^u fi∈Ru, i = 0 , … , b i=0,\dots,b i=0,…,b. b b b 和 u u u 分别表示回归器和不带标签的实例的数量. 令最终的预测函数为 g ( f 1 , … , f b , f 0 ) g(f_1,\dots,f_b,f_0) g(f1,…,fb,f0).
在没有关于学习器可靠性的领域知识的情况下, 为了减轻计算开销, 将 SAFER 问题表示为几何投影问题, 最大化 g ( f 1 , … , f b , f 0 ) g(f_1,\dots,f_b,f_0) g(f1,…,fb,f0) 相对于 f 0 f_0 f0 的性能增益. 这有两点好处: (1) 由此产生的新公式是一个简单的凸二次函数, 并且更容易求解. (2) 如果基础 SSR 学习器的凸线性组合实现了有效的正确的数据标签(Ground Truth, GT)的分配, 则可以证明 SAFER 是安全的, 并且已经实现了最大的性能增益.
Problem Setting and Formulation
目前的挑战是学习安全的预测
g
(
f
1
,
…
,
f
b
,
f
0
)
g(f_1,\dots,f_b,f_0)
g(f1,…,fb,f0), 它通常优于
f
0
f_0
f0. 从最简单的情况开始, 假定 SSR 回归器的权重是已知的, 并令其为:
α
=
[
α
1
,
…
,
α
b
]
≥
0
\alpha = [\alpha_1,\dots,\alpha_b] \geq 0
α=[α1,…,αb]≥0, 其反映的是
f
i
f_i
fi 预测结果与真实标签的接近程度, 权重越大表示越接近真实值. 这里使用 MSE 来衡量对
f
0
f_0
f0 的性能增益. MSE 计算如下:
∣
∣
f
0
−
f
∗
∣
∣
2
−
∣
∣
f
−
f
∗
∣
∣
2
\vert\vert f_0-f^*\vert\vert^2 - \vert\vert f-f^*\vert\vert^2
∣∣f0−f∗∣∣2−∣∣f−f∗∣∣2
其中,
f
∗
f^*
f∗ 对应着真实标签. 显然
f
∗
f^*
f∗ 是未知的, 否则很容易推导出最优解. 由于各回归器的权重已知, 问题变为优化以下函数:
max
f
∈
R
u
∑
i
=
1
b
α
i
(
∣
∣
f
0
−
f
∗
∣
∣
2
−
∣
∣
f
−
f
∗
∣
∣
2
)
(1)
\underset{f \in \mathbb{R}^u}{\max} \sum_{i=1}^b\alpha_i(\vert\vert f_0-f^*\vert\vert^2 - \vert\vert f-f^*\vert\vert^2) \tag{1}
f∈Rumaxi=1∑bαi(∣∣f0−f∗∣∣2−∣∣f−f∗∣∣2)(1)
然而, 在现实中, 单个回归器的显式权重很难知道, 为了使提案更实用, 假设 α 来自候选集. 为简单起见, 假设
α
\alpha
α 来自凸线性集
M
=
{
α
∣
A
T
≤
b
;
α
≥
0
}
\mathcal{M}=\{\alpha\vert\mathbf{A}^\mathrm{T} \leq b;\alpha \geq 0 \}
M={α∣AT≤b;α≥0},
A
\mathbf{A}
A 和
b
b
b 是任务相关系数. 假设
f
i
f_i
fi 比
f
j
f_j
fj 更可靠, 所有这些索引
(
i
,
j
)
(i,j)
(i,j) 的集合表示为
S
\mathcal{S}
S, 则
M
\mathcal{M}
M 将被设置为
{
α
∣
α
j
−
α
i
≤
0
;
(
i
,
j
)
∈
S
;
α
≥
0
}
\{\alpha\vert \alpha_j-\alpha_i \leq 0;(i,j)\in\mathcal{S};\alpha \geq 0 \}
{α∣αj−αi≤0;(i,j)∈S;α≥0}. 在没有进一步的知识来确定单个回归器的权重的情况下, 我们的目标是优化最坏情况下的性能增益, 计算如下:
max
f
∈
R
u
min
α
∈
M
u
∑
i
=
1
b
α
i
(
∣
∣
f
0
−
f
i
∣
∣
2
−
∣
∣
f
−
f
i
∣
∣
2
)
(2)
\underset{f \in \mathbb{R}^u}{\max} \underset{\alpha \in \mathcal{M}^u}{\min} \sum_{i=1}^b\alpha_i(\vert\vert f_0-f_i\vert\vert^2 - \vert\vert f-f_i\vert\vert^2) \tag{2}
f∈Rumaxα∈Mumini=1∑bαi(∣∣f0−fi∣∣2−∣∣f−fi∣∣2)(2)
Representation to Geometric Projection
注意, 式(2)对 f f f 是凹的, 对 α \alpha α 是凸的, 因此它被认为是鞍点凸优化问题. 然而, 式(2)的优化遇到了一些困难, 因为梯度下降算法导致的收敛速度差, 不能有效地进行求解. 为了减轻计算负担并理解式(2)的工作原理, 将在下文中将式(2)表示为几何投影问题.
- 对式(2)求导并令其等于0, 得到闭式解:
f = ∑ i = 1 b α i f i (3) f = \sum_{i=1}^b\alpha_if_i \tag{3} f=i=1∑bαifi(3) - 将式(3)代入式(2), 得到以下仅与
α
\alpha
α 有关的等价形式:
min α ∈ M u ∣ ∣ ∑ i = 1 b α i f i − f 0 ∣ ∣ 2 (4) \underset{\alpha \in \mathcal{M}^u}{\min} \vert\vert \sum_{i=1}^b\alpha_if_i-f_0 \vert\vert^2 \tag{4} α∈Mumin∣∣i=1∑bαifi−f0∣∣2(4) - 显然式(4)是简单的凸二次规划. 通过扩展等式中的二次形式. 式(4)可改写为:
min α ∈ M u α T F α − v T α (5) \underset{\alpha \in \mathcal{M}^u}{\min} \alpha^{\mathrm{T}}\mathbf{F}\alpha -\mathbf{v}^{\mathrm{T}}\alpha\tag{5} α∈MuminαTFα−vTα(5)
其中, F ∈ R b × b \mathbf{F} \in \mathbb{R}^{b \times b} F∈Rb×b 是关于 f i f_i fi 的线性核矩阵, F i j = f i T f j \mathbf{F}_{ij}=f_i^{\mathrm{T}}f_j Fij=fiTfj, v = [ 2 f 1 T f 0 ; … ; f b T f 0 ] \mathbf{v}=[2f_1^{\mathrm{T}}f_0;\dots;f_b^{\mathrm{T}}f_0] v=[2f1Tf0;…;fbTf0]. 由于 F \mathbf{F} F 是半正定的, 所以式(5)为凸函数(最优化理论), 求解凸二次规划通常比鞍点凸优化更有效.
在求解最优解
α
i
\alpha_i
αi 后, 根据式(3), 就得到最优解
f
‾
=
∑
i
=
1
b
α
i
∗
f
i
\overline{f} = \sum_{i=1}^b\alpha_i^*f_i
f=∑i=1bαi∗fi. 综上, SAFER 算法总结如下:
不难发现, 式(4)是一个投影问题. 定义
Ω
=
{
f
∣
∑
i
=
1
b
α
i
f
i
,
α
∈
M
}
\Omega=\{f\vert\sum_{i=1}^b\alpha_if_i,\alpha \in \mathcal{M}\}
Ω={f∣∑i=1bαifi,α∈M}, 式(4)可以被重写为:
f
‾
=
arg min
f
∈
Ω
∣
∣
f
−
f
0
∣
∣
2
(6)
\overline{f} = \underset{f\in\Omega}{\argmin} \vert\vert f-f_0\vert\vert^2 \tag{6}
f=f∈Ωargmin∣∣f−f0∣∣2(6)
其为学习一个
f
0
f_0
f0 在凸集
Ω
\Omega
Ω 上的投影.
How the Proposal Works
如下图所示, 如果
f
∗
∈
Ω
f^∗ \in \Omega
f∗∈Ω,
∣
∣
f
‾
−
f
∗
∣
∣
\vert\vert \overline{f}-f^*\vert\vert
∣∣f−f∗∣∣ 应该小于
∣
∣
f
0
−
f
∗
∣
∣
\vert\vert f_0-f^*\vert\vert
∣∣f0−f∗∣∣.
如果
f
∗
∈
Ω
=
{
f
∣
∑
i
=
1
b
α
i
f
i
,
α
∈
M
}
f^∗ \in \Omega=\{f\vert\sum_{i=1}^b\alpha_if_i,\alpha \in \mathcal{M}\}
f∗∈Ω={f∣∑i=1bαifi,α∈M}, 得到下面两条定律:
Theorem 1.
∣
∣
f
‾
−
f
∗
∣
∣
≤
∣
∣
f
0
−
f
∗
∣
∣
\vert\vert \overline{f}-f^*\vert\vert \leq \vert\vert f_0-f^*\vert\vert
∣∣f−f∗∣∣≤∣∣f0−f∗∣∣.
Theorem 2.
f
‾
\overline{f}
f 已经实现了在最坏情况下对
f
0
f_0
f0 的最大性能增益.
f
‾
\overline{f}
f 是以下函数的最优解:
f
‾
=
arg max
f
∈
R
u
min
f
∗
∈
Ω
(
∣
∣
f
0
−
f
∗
∣
∣
2
−
∣
∣
f
−
f
∗
∣
∣
2
)
\overline{f} = \underset{f\in\mathbb{R}^u}{\argmax} \underset{f^*\in\Omega}{\min} (\vert\vert f_0-f^*\vert\vert^2 - \vert\vert f-f^*\vert\vert^2)
f=f∈Ruargmaxf∗∈Ωmin(∣∣f0−f∗∣∣2−∣∣f−f∗∣∣2)