@ARTICLE{WetzelMelko2022Twin,
title = {Twin neural network regression is a semi- supervised regression algorithm},
author = {Sebastian J Wetzel and Roger G Melko and Isaac Tamblyn},
journal = {Machine Learning: Science and Technology},
year = {2022},
volume = {3},
number = {4},
pages = {045007},
doi = {10.1088/2632-2153/ac9885}
}
1. 摘要
Twin neural network regression (TNNR) is trained to predict differences between the target values of two different data points rather than the targets themselves.
TNNR
是作者以前的工作,但是针对回归问题的,这篇论文针对的是半监督回归(semi-supervised regression)。
By ensembling predicted differences between the targets of an unseen data point and all training data points, it is possible to obtain a very accurate prediction for the original regression problem.
通过集成未见过的数据点的目标与所有训练数据点之间的预测差异,可以获得对原始回归问题的非常准确的预测。这一步应该是描述对于不同差异的平均操作。
Since any loop of predicted differences should sum to zero, loops can be supplied to the training data, even if the data points themselves within loops are unlabelled.
loop of predicted differences should sum to zero
这一步在上一篇论文中有介绍。
Semi-supervised training improves TNNR performance, which is already state of the art, significantly.
Note:
前置工作《Twin Neural Network Regression》。这篇工作是原作者方法对于半监督学习方向的拓展。
2. 算法描述
y j p r e = 1 m ∑ i = 1 m ( ( F ( x j , x i t r a i n ) + y i t r a i a n ) = 1 m ∑ i = 1 m ( ( 1 2 F ( x j , x i t r a i n ) + 1 2 F ( x i t r a i n , x j ) + y i t r a i a n ) (1) \begin{aligned} y_j^{pre}&= \frac{1}{m}\sum_{i=1}^{m}((F(x_j, x_i^{train}) + y_i^{traian})\\ &= \frac{1}{m}\sum_{i=1}^{m}((\frac{1}{2}F(x_j, x_i^{train}) + \frac{1}{2}F(x_i^{train}, x_j) + y_i^{traian})\\ \end{aligned}\tag{1} yjpre=m1i=1∑m((F(xj,xitrain)+yitraian)=m1i=1∑m((21F(xj,xitrain)+21F(xitrain,xj)+yitraian)(1), where
- x i t r a i n ∈ X t r a i n x_i^{train} \in X^{train} xitrain∈Xtrain,表示训练集中的训练样本。
n
n
n labeled data and
m
m
m unlabeled data
有标记数据损失:
ℓ
M
S
E
=
1
n
2
∑
i
j
(
F
(
x
i
,
x
j
)
−
(
y
i
−
y
j
)
)
2
\ell_{MSE} = \frac{1}{n^2}\sum_{ij}(F(x_i, x_j)-(y_i-y_j))^2
ℓMSE=n21ij∑(F(xi,xj)−(yi−yj))2
注意 n 2 n^2 n2,表示任意两个有标记数据配对。这也是天然适合半监督场景,拓展了训练数据集。
无标记数据损失:
ℓ
l
o
o
p
=
1
(
n
+
m
)
2
∑
i
j
k
(
F
(
x
i
,
x
j
)
+
F
(
x
j
,
x
k
)
+
F
(
x
k
,
x
i
)
)
\ell_{loop} = \frac{1}{(n+m)^2}\sum_{ijk}(F(x_i, x_j)+F(x_j, x_k)+F(x_k, x_i))
ℓloop=(n+m)21ijk∑(F(xi,xj)+F(xj,xk)+F(xk,xi))
总损失:
ℓ
=
ℓ
M
S
E
+
Λ
ℓ
l
o
o
p
\ell = \ell_{MSE} + \Lambda\ell_{loop}
ℓ=ℓMSE+Λℓloop
上面已经把故事讲清楚了,但是还有一些细节。
- 在mini-batch中,数据是如何配对的。
- Λ \Lambda Λ 对于实验效果的影响。
- loop type对于结果的影响。
3. 实验
论文中的对比实验中,对比算法较少。