迁移学习:领域自适应技术解析
1. 领域自适应简介
领域自适应是迁移学习的一种形式,在这种形式中,任务保持不变,但源领域和目标领域之间存在领域偏移或分布变化。例如,一个已经学会对电子产品评论进行正负情感分类的模型,被用于对酒店房间或电影评论进行分类。情感分析的任务保持不变,但领域(电子产品和酒店房间)发生了变化。由于训练数据和未见过的测试数据之间的差异,即通常所说的领域偏移,将模型应用于不同领域会带来许多问题。像“loud and clear”这样的短语,在电子产品评论中大多被认为是积极的,而在酒店房间评论中则可能是消极的。同样,像“lengthy”或“boring”这样在书籍评论中常见的关键词,可能在厨房设备评论中完全不会出现。
领域自适应的核心思想是从源数据集(有标签和无标签)中学习,以便将学习成果应用于具有不同领域映射的目标数据集。为了学习源领域和目标领域之间的领域偏移,传统技术主要分为两类:基于实例的和基于特征的。基于实例的方法通过对源样本重新加权,并从重新加权后的样本中学习模型,来减少源领域和目标领域之间的差异;基于特征的方法则是在源领域和目标领域之间学习一个共同的共享空间或联合表示,使分布相匹配。近年来,深度学习架构已成功应用于各种领域的领域自适应,特别是在计算机视觉领域。
2. 领域自适应的常用技术
2.1 堆叠自动编码器
早期在领域自适应方面的工作之一来自Glorot等人在情感分类领域的研究。源领域包含大量亚马逊评论的情感数据,而目标领域是具有少量标签数据的完全不同的产品。研究人员首先将源数据和目标数据结合,使用堆叠去噪自动编码器(SDA)来学习特征,然后在自动编码器的编码器部分提取的特征上训练线性支持向量机(SVM),用于预测不同领域的未见过的目标数据,并在跨领域情感分类中取得了最先进的结果。
堆叠边缘化去噪自动编码器(mSDA)是SDA的变体,具有更好的最优解和更快的训练时间,也成功应用于分类任务,如情感分类。假设源领域S和目标领域T,源样本数据$D_S = {x_1,\cdots,x_{n_S}} \in R^d$,标签$L_s = {y_1,\cdots,y_{n_S}}$,目标样本数据$D_T = {x_{n_S + 1},\cdots,x_n} \in R^d$且无标签。目标是使用有标签的源训练数据$D_S$学习分类器$h \in H$,以对无标签的目标数据$D_T$进行预测。
基本构建块是单层去噪自动编码器,输入是源数据和目标数据的全集$D = D_S \cup D_T = {x_1,\cdots,x_n}$,并以概率$p \geq 0$去除特征进行损坏。使用单个映射$W : R^d \to R^d$来最小化平方重建损失:
[
\frac{1}{2n} \sum_{i = 1}^{n} |x_i - W\tilde{x}
i |
]
重复$m$次以降低方差,$W$的解可以从下式获得:
[
L
{squared}(W) = \frac{1}{2mn} \sum_{j = 1}^{m} \sum_{i = 1}^{n} |x_i - W\tilde{x}
{i,j} |
]
其中$\tilde{x}
{i,j}$表示原始$x_i$输入的第$j$个损坏版本。
在矩阵表示中,输入$X = [x_1,\cdots,x_n] \in R^{d \times n}$,其$m$次重复为$\overline{X}$,损坏后的为$\tilde{X}$,损失方程可写为:
[
L_{squared}(W) = \frac{1}{2mn} tr[(\overline{X} - W\tilde{X})^T(\overline{X} - W\tilde{X})]
]
其闭式解为:
[
W = PQ^{-1} \text{ ,其中 } Q = \tilde{X}\tilde{X}^T \text{ , } P = \overline{X}\tilde{X}^T
]
在$m \to \infty$的极限情况下,$W$可以用$P$和$Q$的期望表示:
[
W = E[P]E[Q]^{-1}
]
$E[Q]$的计算如下:
[
E[Q] = \sum_{i = 1}^{n} E[\tilde{x}
i\tilde{x}_i^T]
]
矩阵$[\tilde{x}_i\tilde{x}_i^T]$的非对角元素在两个特征$\alpha$和$\beta$都未被损坏时保持不变,概率为$(1 - p)^2$;对角元素的概率为$1 - p$。定义向量$q = [1 - p,\cdots,1 - p,1] \in R^{d + 1}$,其中$q
{\alpha}$表示特征$\alpha$未被损坏的概率,原始未损坏输入的散度矩阵可表示为$S = XX^T$,矩阵$Q$的期望可写为:
[
E[Q]
{\alpha,\beta} =
\begin{cases}
S
{\alpha,\beta}q_{\alpha}q_{\beta} & \text{if } \alpha \neq \beta \
S_{\alpha,\beta}q_{\alpha} & \text{if } \alpha = \beta
\end{cases}
]
类似地,矩阵$P$的期望为$E[P]
{\alpha,\beta} = S
{\alpha,\beta}q_{\beta}$。通过这些期望矩阵,可以在不损坏任何实例$x_i$的情况下以闭式计算重建映射$W$。
与其他方法相比,mSDA的优点包括:
1. 优化问题是凸的,保证有最优解。
2. 优化是非迭代的,有闭式解。
3. 只需对整个训练数据进行一次遍历,计算$E[P]$和$E[Q]$,就能大大提高训练速度。
2.2 源域和目标域之间的深度插值
Chopra等人的研究与传统机器学习类似,将不同领域的源域和目标域以不同比例混合,学习中间表示,即通过领域间插值进行领域自适应的深度学习(DLID)。研究人员使用卷积层和池化层以及预测稀疏分解方法以无监督方式学习非线性特征。预测稀疏分解方法类似于稀疏编码模型,但具有快速平滑的近似器。有标签的数据经过相同的变换得到特征,将它们连接起来,并使用逻辑回归等分类器得到联合模型。这样,模型可以从源域和目标域中无监督地学习有用的特征,这些特征可用于仅在目标域上进行领域转移。
设源域为$S$,数据样本为$D_S$,目标域为$T$,数据样本为$D_T$,$p \in [1,2,\cdots,P]$为$P$个数据集的索引。源域和目标域的混合方式是,当$p = 1$时,$D_S = D_T$,从那以后,源样本数量逐渐减少,目标样本数量以相同比例增加。对于每个数据集$p \in [2,\cdots,P - 1]$,$D_S$的样本数量逐渐减少,$D_T$的样本数量逐渐增加。每个数据集$D_p$作为输入,经过无监督训练的非线性特征提取器$F_{W_p}$,生成输出$Z_{i}^{p} = F_{W_p}(X_i)$。有标签的训练数据经过DLID表示路径提取特征$F_{W_p}$,将所有输出连接起来形成该输入的表示:
[
Z_i = [F_{W_1}(X_i)F_{W_2}(X_i)\cdots F_{W_p}(X_i)] = [Z_{i}^{1}Z_{i}^{2}\cdots Z_{i}^{p}]
]
该表示和标签$Z_i,Y_i$被传递给分类器或回归器进行任务,并使用标准损失函数进行优化。未见过的数据经过相同的路径,分类器的预测用于获得类别和概率。
2.3 深度领域混淆
Tzeng等人提出的深度领域混淆(DDC)架构是一种流行的基于差异的领域自适应框架。研究人员引入了一个领域自适应层和一个混淆损失,以学习具有语义意义且提供领域不变性的表示。提出了基于孪生卷积网络的架构,主要目标是学习一种表示,最小化源领域和目标领域之间的分布距离。该表示可作为特征,与源有标签数据集一起使用,以最小化分类损失,并直接应用于无标签的目标数据。
使用最大均值差异(MMD)来计算源领域和目标领域在表示$\varphi(\cdot)$上的距离:
[
MMD(X_s,X_t) = |\frac{1}{|X_s|} \sum_{x_s \in X_s} \varphi(x_s) - \frac{1}{|X_t|} \sum_{x_t \in X_t} \varphi(x_t)|
]
从该计算中学习到的表示作为正则化项用于损失函数,正则化超参数$\lambda$也表示源领域和目标领域之间的混淆程度:
[
L = L_C(X_L,y) + \lambda * MMD(X_s,X_t)
]
其中$L_C(X_L,y)$是有标签数据$X_L$的分类损失,$y$是标签或真实值,$MMD(X_s,X_t)$是源领域$X_S$和目标领域$X_t$之间的最大均值差异。研究人员使用标准的AlexNet并进行修改,添加了一个低维瓶颈层“fc adapt”,该层作为正则化器,防止在源分布上过度拟合。上述MMD损失添加在该层之上,使其学习对源领域和目标领域都有用的表示。
下面用mermaid格式展示DDC的流程:
graph LR
A[源数据和目标数据] --> B[特征提取]
B --> C[计算MMD]
C --> D[添加混淆损失]
D --> E[训练模型]
E --> F[预测目标数据]
2.4 深度自适应网络
Long等人提出的深度自适应网络(DAN)是修改后的AlexNet,差异损失发生在最后一个全连接层。最大均值差异(MMD)是一种统计方法,用于检验样本是否来自同一分布。多核MMD(MK - MMD)测量两个分布(源和目标)的均值嵌入在再生核希尔伯特空间(RKHS)中的距离。
对于任何层$l$和核$k$,源领域(S)和目标领域(T)之间的平方距离为:
[
d_{k}^{2}(D_{S}^{l},D_{T}^{l}) \triangleq |E_{D_S}[\varphi(x_S)] - E_{D_T}[\varphi(x^T)]|
{H_k}^{2}
]
与特征映射$\varphi$相关的特征核$k(x_S,x^T) = \langle\varphi(x_S),\varphi(x^T)\rangle$是$m$个半正定核${k_u}$的组合,系数$\beta_u$满足约束条件:
[
K \triangleq {k = \sum
{u = 1}^{m} \beta_uk_u : \sum_{u = 1}^{m} \beta_u = 1,\beta_u \geq 0}
]
修改后的AlexNet有三层卷积网络(conv1 - conv3)作为通用可转移特征层,在一个领域上训练后冻结;接下来的两层卷积网络(conv4 - conv5)更具特异性,需要进行微调以学习领域特定特征;最后的全连接层(fc6 - fc8)高度特定且不可转移,使用MK - MMD进行自适应。
如果网络中的所有参数为$\Theta = {W_l,b_l}
{l = 1}$,经验风险为:
[
\min
{\Theta} \frac{1}{n_a} \sum_{i = 1}^{n_a} J(\Theta(x_{a}^{i}),y_{a}^{i})
]
其中$J$是交叉熵损失函数,$\Theta(x_{a}^{i})$是将数据点$x_{a}^{i}$分配标签$y_{a}^{i}$的条件概率。通过在上述风险中添加基于MK - MMD的多层自适应正则化器,得到类似于DDC损失的损失函数:
[
\min_{\Theta} \frac{1}{n_a} \sum_{i = 1}^{n_a} J(\Theta(x_{a}^{i}),y_{a}^{i}) + \lambda \sum_{l = l_1}^{l_2} d_{k}^{2}(D_{S}^{l},D_{T}^{l})
]
其中$\lambda > 0$是正则化常数,对于DAN设置,$l_1 = 6$,$l_2 = 8$。
2.5 领域不变表示
许多技术使用源数据和目标数据来学习领域不变表示,以帮助进行领域自适应。
CORrelation ALignment(CORAL)是一种使用线性变换对齐源领域和目标领域二阶统计量(协方差)的技术。Sun和Saenko将该框架扩展为学习非线性变换,以对齐各层的相关性,即深度CORAL。深度CORAL扩展了AlexNet,并在最后一层(输出前的全连接层)计算二阶统计量损失。
设源领域训练数据$D_S = {x_i},x \in R^d$,大小为$n_S$,目标领域无标签数据$D_T = {u_i},u \in R^d$,大小为$n_T$,$D_{i,j}^{S}$表示第$i$个源数据实例的第$j$维,$D_{i,j}^{T}$表示第$i$个目标数据实例的第$j$维,$C_S$是源特征协方差矩阵,$C_T$是目标特征协方差矩阵,CORAL损失测量协方差之间的距离:
[
CORAL = \frac{1}{4d^2} |C_S - C_T|
{F}^{2}
]
其中$|\cdot|
{F}^{2}$表示矩阵的平方Frobenius范数。
源领域和目标领域的协方差矩阵分别为:
[
C_S = \frac{1}{(n_S - 1)} [D_S^TD_S - \frac{1}{n_S} (1^TD_S)(1^TD_S)]
]
[
C_T = \frac{1}{(n_T - 1)} [D_T^TD_T - \frac{1}{n_T} (1^TD_T)(1^TD_T)]
]
其中$1$是列向量。联合训练以减少分类损失$l_{CLASS}$和CORAL损失:
[
l = l_{CLASS} + \sum_{i = 1}^{t} \lambda_iCORAL
]
其中$t$是层数,$\lambda$用于平衡分类和领域自适应,旨在学习源领域和目标领域之间的共同表示。
除了CORAL,还有其他领域不变表示技术。Pan等人通过转移成分分析使用领域不变表示,利用最大均值差异(MMD)试图减少子空间中两个领域之间的距离;Zellinger等人提出了一种新的距离函数——中心矩差异(CMD),用于匹配概率分布的高阶中心矩,并展示了其技术在跨对象识别和情感分类任务的领域自适应中的通用性。
2.6 领域混淆和不变表示
Tzeng等人在深度领域混淆方面的研究存在缺点,即需要源领域有大量有标签数据和目标领域有少量有标签数据。他们在后续工作中提出了在有标签和无标签数据上的领域混淆损失,以学习跨领域和任务的不变表示。
通过以下两点实现源领域和目标领域之间的迁移学习:
1. 通过使源领域和目标领域的边缘分布尽可能相似,最大化领域混淆。
2. 将在源示例上学习的类之间的相关性转移到目标示例。
完全有标签的源数据$(x_S,y_S)$和少量有标签的目标数据$(x_T,y_T)$用于生成分类器$\theta_C$,该分类器作用于由表示参数$\theta_{repr}$参数化的特征表示$f(x;\theta_{repr})$,并在对目标样本进行分类时具有良好的准确性:
[
L_C(x,y;\theta_{repr},\theta_C) = -\sum_{k} 1[y = k] \log(p_k)
]
其中$p = softmax(\theta_{C}^T f(x;\theta_{repr}))$。
为了确保源领域和目标领域的类之间的对齐,使用“软标签”,即对特定类的有标签源数据的所有激活的softmax进行平均。在softmax函数中使用高温参数$\tau$,以便在微调期间相关类对概率质量有相似的影响。软标签损失为:
[
L_{soft}(x_T,y_T;\theta_{repr},\theta_C) = -\sum_{i} l_{y}^{\tau}
{i} \log(p_i)
]
其中$p_i = softmax(\theta
{C}^T f(x_T;\theta_{repr}) / \tau)$。
使用具有参数$\theta_D$的领域分类器层来识别数据是来自源领域还是目标领域。可以使用以下目标学习表示上的最佳领域分类器:
(此处原文未给出具体目标,可根据实际情况补充或等待进一步研究)
下面是几种技术的对比表格:
| 技术名称 | 核心思想 | 优点 | 适用场景 |
| ---- | ---- | ---- | ---- |
| 堆叠自动编码器 | 结合源数据和目标数据,使用SDA学习特征,用SVM分类 | 优化问题凸,有闭式解,训练速度快 | 情感分类等 |
| 深度插值 | 混合源域和目标域数据,学习中间表示 | 无监督学习有用特征 | 领域转移 |
| 深度领域混淆 | 引入领域自适应层和混淆损失,最小化分布距离 | 学习领域不变性表示 | 跨领域分类 |
| 深度自适应网络 | 在最后全连接层使用MK - MMD进行自适应 | 适用于特定层的领域自适应 | 图像分类等 |
| 领域不变表示(CORAL等) | 对齐二阶统计量或使用新距离函数 | 学习共同表示 | 跨领域任务 |
| 领域混淆和不变表示 | 提出领域混淆损失,学习跨领域不变表示 | 解决数据标签不平衡问题 | 跨领域和任务 |
以上介绍了领域自适应的基本概念和常用技术,这些技术在不同的场景中各有优势,可以根据具体问题选择合适的方法进行领域自适应。在实际应用中,还需要根据数据特点和任务需求进行调整和优化。
3. 领域自适应技术的应用与实践
在实际应用中,领域自适应技术有着广泛的用途,下面将结合具体场景介绍如何运用前面提到的技术。
3.1 文本情感分类
在文本情感分类任务中,不同领域的文本表达差异较大。例如,电子产品评论和酒店评论的用词和情感表达习惯不同。
-
堆叠自动编码器的应用 :可以将电子产品评论作为源领域数据,酒店评论作为目标领域数据。首先,将源数据和目标数据合并,使用堆叠去噪自动编码器(SDA)学习特征。具体操作如下:
- 准备源数据$D_S = {x_1,\cdots,x_{n_S}} \in R^d$和标签$L_s = {y_1,\cdots,y_{n_S}}$,目标数据$D_T = {x_{n_S + 1},\cdots,x_n} \in R^d$(无标签)。
- 对输入数据$D = D_S \cup D_T$以概率$p \geq 0$去除特征进行损坏,得到$\tilde{x}_i$。
- 使用单个映射$W : R^d \to R^d$最小化平方重建损失,重复$m$次以降低方差,计算$W$的闭式解。
- 将各层输出连接起来作为特征,训练线性SVM进行情感分类。
-
深度插值的应用 :采用深度插值(DLID)方法,将源领域和目标领域的数据按不同比例混合。例如,设置$P$个数据集,当$p = 1$时,$D_S = D_T$,然后逐渐改变源样本和目标样本的比例。对每个数据集$D_p$,通过无监督训练的非线性特征提取器$F_{W_p}$提取特征,将有标签数据的特征连接起来,使用逻辑回归等分类器进行训练和预测。
3.2 图像识别
在图像识别领域,不同数据集的图像分布可能存在差异,领域自适应技术可以帮助模型在不同数据集上取得更好的效果。
-
深度领域混淆的应用 :以不同风格的图像数据集为例,如自然风景图像和艺术风格图像。使用深度领域混淆(DDC)架构,引入领域自适应层和混淆损失。具体步骤如下:
- 构建基于孪生卷积网络的架构,输入源图像数据和目标图像数据。
- 使用最大均值差异(MMD)计算源领域和目标领域在表示$\varphi(\cdot)$上的距离。
- 将MMD作为正则化项加入损失函数$L = L_C(X_L,y) + \lambda * MMD(X_s,X_t)$。
- 对标准AlexNet进行修改,添加低维瓶颈层“fc adapt”,在该层上添加MMD损失进行训练。
-
深度自适应网络的应用 :对于深度自适应网络(DAN),在图像分类任务中,修改后的AlexNet有不同功能的层。通用可转移特征层(conv1 - conv3)在一个领域上训练后冻结,特定层(conv4 - conv5)进行微调,高度特定且不可转移的全连接层(fc6 - fc8)使用MK - MMD进行自适应。通过最小化经验风险和添加基于MK - MMD的多层自适应正则化器来训练模型。
4. 领域自适应技术的选择策略
在实际应用中,选择合适的领域自适应技术至关重要。以下是一些选择策略:
| 考虑因素 | 选择建议 |
|---|---|
| 数据量和标签情况 | 如果源领域有大量有标签数据,目标领域有少量有标签数据,可以考虑深度领域混淆和领域混淆和不变表示技术;如果目标领域无标签数据较多,可以使用堆叠自动编码器和深度插值等无监督学习特征的方法。 |
| 任务类型 | 对于文本情感分类等任务,堆叠自动编码器和深度插值可能更合适;对于图像识别等任务,深度领域混淆和深度自适应网络等基于卷积网络的方法可能效果更好。 |
| 计算资源 | 一些技术如堆叠自动编码器的优化是非迭代的,有闭式解,训练速度快,对计算资源要求相对较低;而一些深度网络架构可能需要更多的计算资源和时间进行训练。 |
5. 领域自适应技术的未来发展趋势
随着人工智能技术的不断发展,领域自适应技术也在不断演进,未来可能会有以下发展趋势:
-
多模态领域自适应 :目前的领域自适应技术主要集中在单模态数据(如文本或图像),未来可能会扩展到多模态数据,如同时处理文本、图像和音频等多种信息,以提高模型的泛化能力和应用范围。
-
强化学习与领域自适应的结合 :强化学习可以在动态环境中进行学习和决策,将强化学习与领域自适应技术相结合,可能会使模型在不同领域中更加智能地适应和调整。
-
更高效的算法和架构 :研究人员将继续探索更高效的算法和架构,以减少计算资源的消耗,提高训练速度和模型性能,使领域自适应技术能够应用于更广泛的场景。
下面是领域自适应技术发展的mermaid格式流程图:
graph LR
A[单模态领域自适应] --> B[多模态领域自适应]
A --> C[强化学习与领域自适应结合]
A --> D[更高效算法和架构]
领域自适应技术在迁移学习中起着重要作用,通过不同的技术方法可以解决源领域和目标领域之间的分布差异问题。在实际应用中,需要根据具体情况选择合适的技术,并不断探索和创新,以推动领域自适应技术的发展和应用。
超级会员免费看
1109

被折叠的 条评论
为什么被折叠?



