迁移学习综述
迁移学习的定义
如果用一种图来表示迁移学习的思想的话,那就是:
一些基本的标签以及数据集之间的关系就不做过多的叙述了,我们用 \(\mathcal{D}=\{\mathcal{X}, P(X)\}\) 表示数据域,那么假设 \(D_{S}=\left\{\left(x_{S_{1}}, y_{S_{1}}\right), \ldots,\left(x_{S_{n_{S}}}, y_{S_{n_{S}}}\right)\right\}\) 表示源域 \(\mathcal{D}_{S}\) , 而 \(D_{T}=\left\{\left(x_{T_{1}}, y_{T_{1}}\right), \ldots,\left(x_{T_{n} T}, y_{T_{n_{T}}}\right)\right\}\) 表示目标域 \(\mathcal{D}_{T}\) , 那么迁移学习的定义就是:
给出一个源域 \(\mathcal{D}_{S}\) 与学习任务 \(\mathcal{T}_{S}\) ,以及一个目标域 \(\mathcal{D}_{T}\) 与另一个学习任务 \(\mathcal{T}_{T}\),那么迁移学习就是提高目标函数 \(f_{T}(\cdot)\) 在 \(\mathcal{D}_{T}\) 中的准确率, 但是只能使用 \(\mathcal{D}_{S}\) 与 \(\mathcal{T}_{S}\) 的知识, 但是 \(\mathcal{D}_{S} \neq \mathcal{D}_{T},\) 或者 \(\mathcal{T}_{S} \neq \mathcal{T}_{T}\)
这就表明:\(P\left(Y_{S} | X_{S}\right) \neq P\left(Y_{T} | X_{T}\right)\) 必须满足,也就是要么数据域不同,如果是在相同的数据域下面,那就是所关注的主题不同,
怎样进行迁移学习
这个问题也就是,“迁移什么进行学习”, “如何进行迁移学习”, “什么时候迁移学习” ,
迁移学习的分类:
学习的分类 | 源域与目标域 | 源域与目标域的任务 | |
---|---|---|---|
传统的机器学习 | 相同 | 相同 | |
迁移学习 |
归纳迁移学习 无监督迁移学习 |
相同 | 不同但是相关 |
不同但是相关 | 不同但是相关 | ||
直推式迁移学习 | 不同但是相关 | 相同 |
迁移什么进行学习
我们通常想到的都会是“数据” 与 “模型”,这两个方面,那么数据上就是特征,数据集,这些,然后是模型上是模型的参数,总的方法通常是下面这几种:
迁移学习的方式 | 简单的描述 |
---|---|
Instance-transfer | 假设源域的数据可以通过简单的重新组织权重直接在目标域使用 |
Feature-representation-transfer | 可以找到一个很好的特征降低在源域与目标域之间的不同 |
Parameter-transfer | 发现源域和目标域模型之间的共享参数或先验,这有利于转移学习 |
Relational-knowledge-transfer | 构建源域和目标域之间的关系知识映射。两个域都是关系域 |
INDUCTIVE TRANSFER LEARNING
基于归纳转移学习设置的上述定义,需要目标域中的一些标记数据作为训练数据以引发目标预测函数。这种方法主要是直接针对源域的数据,此方式有两种情况:(1)源域中的标记数据可用,直接使用(2)源域中的标记数据不可用,而源域中的未标记数据可用。此方式中的大多数迁移学习方法都侧重于前一种情况。
TrAdaBoost 算法
假设源域与目标域有相同的特征与标签,但是源域与目标域的数据分布不同,对于目标域来说,源域的数据有好有坏,TrAdaBoost 算法的思想就是通过迭代的重新加权,使 “坏” 影响的数据权重降低,同时提高对目标域可以提高效果的数据的权重。
在每一次迭代的过程中,TrAdaBoost 算法都会在加权的源域与目标域的数据上训练分类器,但是错误仅仅计算在目标域的预测上面,然后更新源域训练数据的权重。
Transferring Knowledge of Feature Representations
这种方法就是提取特征,也可以说是特征工程吧,主要思想就是提取出使源域与目标域差距最小的特征,同时能够最小化预测与分类的误差。这种方法有无监督的与有监督的。
这个问题,我们可以认为是最小化一个误差,这个误差可以表示成:
上述的式子中:\(A=\left[a_{S}, a_{T}\right] \in R^{d \times 2}\) 表示的是参数矩阵,对于\((r, p)\)- 形式的 \(A\) 可以写成 \(\|A\|_{r, p} :=\left(\sum_{i=1}^{d}\left\|a^{i}\right\|_{r}^{p}\right)^{\frac{1}{p}}\) 。这个最优化问题,牵涉的参数比较多,解起来十分复杂,这里不做过多的探讨。
对于无监督的情况
无监督的情况,在源域中要实现对标签的最优分类才能提取出关键的特征,这一步是基础
这一步我们获取的是向量 \(b=\left\{b_{1}, b_{2}, \ldots, b_{s}\right\}\) 上式中的 \(\beta\) 是正则项
我们的第二步就是在目标域上最小化损失函数:
Transferring Knowledge of Parameters
在迁移学习中,不同域的损失函数中的权重可以是不同的。直观上,我们可以为目标域的损失函数分配更大的权重,以确保我们可以在目标域中实现更好的性能。
这个过程十分复杂,给个式子简单体会下:
Transferring Relational Knowledge
与其他三种情境不同,基于关系知识的迁移学习方法处理关系域中的迁移学习问题,其中数据是可以由多种关系表示,例如网络数据和社交网络数据。这种方法并不假设从每个域中提取的数据是传统假设的独立且相同的分布。它尝试将数据之间的关系从源域转移到目标域。在这种情况下,提出了统计关系学习技术来解决这些问题。
举个例子:
Mihalkova 提出了一种算法TAMAR,它通过跨关系域的马尔可夫逻辑网络(MLN)传递关系知识。 MLNs是一种强大的形式主义,它将一阶逻辑的紧凑表达与概率的灵活性结合起来,用于统计关系学习。在MLN中,关系域中的实体由谓词表示,它们的关系以一阶逻辑表示。 TAMAR的动机是,如果两个域彼此相关,则可能存在将实体及其关系从源域连接到目标域的映射。例如,教授可以被视为在学术领域扮演类似角色,担任工业管理领域的经理。此外,教授和他或她的学生之间的关系类似于经理和他或她的工人之间的关系。因此,可能存在从教授到经理的映射以及从教授的学生关系到经理 - 工人关系的映射。在这种情况下,TAMAR尝试使用为源域学习的MLN来帮助学习目标域的MLN。