跨领域活动识别的深度迁移学习
Deep Transfer Learning for Cross-domain Activity Recognition
跨领域活动识别的深度迁移学习
Abstract
选择合适的领域进行迁移学习有助于提高迁移的准确率,本文提出了一种无监督源领域选择算法Unsupervised Source Selection algorithm for Activity Recognition (USSAR)对于活动识别,该算法能够从可用域列表中选择最相似的K个源域。同时对于活动识别提出了一种有效的深度迁移网络Transfer Neural Network for Activity Recognition (TNNAR)。
Introduction
对于可穿戴传感器活动识别来说,如果某一位置传感器数据缺失,利用其他位置的传感器数据来创建模型识别活动,这一问题叫做跨域活动识别cross-domain activity recognition (CDAR)。
跨领域活动识别具有以下难题挑战:
- 由于传感器信号不是独立的,所以我们不知道哪个体部分与目标域最相似。如果我们使用所有的身体部位,可能会有负迁移,因为一些身体部位可能是不同的。
- 我们只有目标域中的原始活动数据,而没有实际的活动标签,因此很难度量相似性。
- 即使我们已经知道了与目标域相似的主体部分,也很难同时使用源域和目标域来构建良好的机器学习模型。原因是不同区域的信号遵循的分布完全不同,这意味着它们之间存在分布差异。
本文提出了一种无监督源领域选择算法,作者认为传感器信号可能包括关于身体各部分的一般和特定关系,一般关系指的是两个信号之间的数据距离,如欧氏距离或余弦相似度,特定关系指的是两个身体部位之间相似的运动模式或身体功能。通过正确地测量不同身体部位之间的距离,从而选择正确的源域。
在得到正确的源域之后,提出了一种深度迁移网络。为了减小两个域之间的距离在网络中增加一个自适应层来计算自适应损失,可与分类损失共同优化。
实验在三个数据集上进行:OPPORTUNITY,PAMAP2,UCI DSADS,
Method
对于target域\(D_t=\{x_t^j\}_{j=1}^{n_t}\)我们要学习它对应的活动标签\(y_t\)。有M个已经标注的source域:\(\{D_s^i\}_{j=1}^M\)。每个source域\(D_s^i=\{ x_s^j,y_s^j \}_{j=1}^{n_s^i}\)。target域和source域的数据分布是不同的。需要设计一个算法从M个source域中挑选出K个最好的运用迁移学习方法来得到\(y_t\)。
- Unsupervised Source Selection
使用general distance和specific distance结合来作为source域与target域的距离度量\(D(A,B)\)。
\[
D(A,B) = D_g(A,B) + \lambda D_s(A,B)
\]
其中\(D_g(A, B)\)表示general distance,\(D_s(A,b)\)表示specific distance,\(\lambda \in[0,1]\)表示两个距离之间的影响因子。
- general distance
\(D_g(A,B)\)可以通过\(\mathcal{A}\)-distance来计算:
\[
D_g(A,B) = 2(1-2\epsilon)
\]
其中\(\epsilon\)是对域A和B进行分类的error。\(\epsilon\)通过在A和B上训练一个线性二分类器h,然后应用h预测两域的error。
- specific distance
\(D_s(A,B)\)由活动识别的semantic和kinetic信息组成。
Semantic distance: 我们基本上给每个source域一个权值w∈[0,1],表示它与target域的空间关系。因此,如果有M个可用的源域,就会有M个权重\(\{ w_i\}_{j=1}^M\),目前权重的或得是根据人类的经验,作者认为如果两个域不是紧密相关的,给出相对较小的权重;如果认为两个域是紧密相关的,给出相对较大的权重。因为\(w_i\)是权重,它的约束条件定位:
\[
\sum _{i=1}^{M} w_i = 1
\]
Kinetic distance:作者采用余弦相似度来进行计算,两个域A和B的余弦相似度计算公式为:
\[
\cos(A,B) = \Bbb{E} \begin{bmatrix} \sum _{a,b} \frac {a\bullet b} {\vert a \bullet b \vert} \end{bmatrix}
\]
E[·]为样本的期望。
一旦计算出运动距离,我们将其与语义距离产生的权重相结合,最终得到specific distance距离为:
\[
d_s(A,B) = \Bbb{E} \begin{bmatrix} \sum _{a,b} \frac {w_a a\bullet w_b b} {\vert w_a a \bullet w_b b \vert} \end{bmatrix}
\]
最终的距离公式为:
\[
d_s(A,B) = 2(1-2\epsilon) + \lambda \Bbb{E} \begin{bmatrix} \sum _{a,b} \frac {w_a a\bullet w_b b} {\vert w_a a \bullet w_b b \vert} \end{bmatrix}
\]
- Transfer Neural Network
网络结构为
除了常规层之外额外添加了adaption层,作者采用了最大平均偏差(MMD)作为减小域间差异的测量值。adaption层计算自适应损失,并结合分类损失进行优化。网络整体损失函数表示为:
\[
f(x) = \ell_c(x) + \mu \ell_a(D_s, D_t)
\]
其中\(\ell_c(x)\)为标记数据(源域)上的分类损失,\(\ell_a(D_s, D_t)\)为源域和目标域上的自适应损失。\(\mu \in [0, 1]\)是权衡的因素。
作者没有给出源码