Domain Adaptation for Deep Entity Resolution
实体解析(ER)是数据集成的一个核心问题。ER的最先进(SOTA)结果是通过基于深度学习(DL)的方法实现的,使用大量标记匹配/非匹配实体对进行训练。当使用准备良好的基准数据集时,这可能不是一个问题。然而,对于许多真实世界的ER应用程序,情况发生了巨大的变化,收集大规模标记数据集是一个痛苦的问题。在本文中,我们试图回答:如果我们有一个标记良好的源ER数据集,我们能否为一个没有任何标签或有一些标签的目标数据集训练一个基于DL的ER模型?(If we have a well-labeled source ER dataset, can we train a DL-based ER model for a target dataset, without any labels or with a few labels?)这被称为领域适应(DA),它在计算机视觉和自然语言处理方面取得了巨大的成功,但尚未对ER进行系统的研究。我们的目标是系统地探索广泛的DA方法( wide range of DA methods for ER)对ER的好处和局限性。为此,我们开发了一个DADER(深度实体解析的领域适应(Domain Adaptation for Deep Entity Resolution))框架,该框架显著提高了在应用DA方面的ER。我们为DADER的三个模块,即特征提取器、匹配器和特征对齐器,定义了一个设计解决方案(define a space of design solution)的空间。我们进行了迄今为止最全面的实验研究,以探索设计空间,并比较不同的DA的选择。我们根据广泛的实验,为选择合适的设计方案提供指导。
Feature Extractor 特征提取器
Matcher 匹配器
Feature Aligner 特征对齐器
实体解析(ER)确定两个数据实例是否引用同一个真实世界的实体。经过几十年以模型为中心的研究,已经有相当数量的文献,包括基于规则的方法(例如,析取范式[59]和一般布尔公式[59]),基于ML的方法(如SVM[5]和随机森林[20]),基于DL的方法(如DeepMatcher[49],DeepER[21]和Ditto[42])。最先进的(SOTA)结果是通过基于DL的解决方案实现的。
然而,基于DL的ER方法通常需要大量的标记训练数据。例如,即使通过使用Ditto[42]等预训练的语言模型,仍然需要成千上万的标签来达到令人满意的准确性。事实上,ER practitioners的主要痛点是,他们需要大量的标签努力来创建足够的训练数据。
幸运的是,大数据时代使得许多标记的ER数据集可以在相同或相关领域使用,无论是从公共基准(例如WDC[52]和DBLP-Scholar[49]),还是在企业内部。因此,一个自然的问题是:我们能否重用这些标记的源ER数据集用于新的目标ER数据集?对上述问题的肯定回答有可能显著减少数据标记的人力成本。
重用已标记的源数据的关键挑战是,在源数据和目标之间可能会发生分布变化或域转移(domain shift),这将降低性能。( The key challenge of reusing labeled source data is that there may be distribution change or domain shift between the source and the target, which would degrade the performance.)
源数据集:labeled Source
目标数据集:unlabeled Target
图1(a)显示了一个labeled source数据集(圆圈)和一个unlabeled target数据集(正方形)的示例。由于源数据集和目标数据集可能不来自同一个域(domain),因此它们不遵循相同的分布。因此,从源中训练出来的ER模型(绿色虚线)不能正确地预测目标。
在Source中训练得到的分类器,直接应用于Target,很难准确。通俗点说,同样的一条线,可以将圆圈一分为二,却很难将正方形一分为二。
为了解决这一挑战,领域自适应(DA)得到了广泛的研究,即将一个或多个相关源域中的标记数据用于目标域[25,45,64,69]中的新数据集。直观地说,DA是从数据实例中学习,寻找对齐源和目标数据分布的最佳方法,如此一来,在labeled source上训练的模型就可以被使用在(或适应于)unlabeled target。如图1(b)所示,DA的优势是能够学习更多的域不变(domain-invariant)表示,减少源和目标之间的域转移(domain shift),并提高ER模型的性能,例如,绿线可以正确分类在源和目标数据集中的数据实例。
然而,尽管最近进行了一些尝试,但据我们所知,在ER中采用DA并没有在同一框架下进行系统的研究,因此从业者很难理解DA对ER的好处和局限性。为了弥补这一差距,本文引入了一个通用框架,称为DADER(Deep ER的领域适应),它统一了DA解决方案[73,74]的广泛选择。具体来说,该框架由三个主要模块组成。
(1)特征提取器(Feature Extractor)将实体对转换为高维向量(high-dimensional vectors)(又叫做features)
(2)匹配器(Matcher)是一种二元分类器,它以实体对的特征作为输入,并预测它们是否匹配。
(3)特征对齐器(Feature Aligner)是domain adaptation的关键模块,旨在缓解域偏移(domain shift)的影响。为了实现这一点,特征对齐器调整特征提取器,以对齐源和目标ER数据集的分布,从而减少源和目标之间的域偏移(domain shift)。此外,它还对匹配器进行了相应的更新,以最小化调整后的特征空间中的匹配误差(minimize the matching errors in the adjusted feature space)。
在此框架的基础上,我们系统地分类和研究了DA中最具代表性的方法,并重点研究了两个关键问题。
DA是机器学习(如计算机视觉和自然语言处理)中的一个广泛的主题,并且有大量的领域自适应的设计选择( large set of design choices)。因此,有必要提出一个问题,即哪些设计选择有助于ER。为了回答这个问题,我们广泛回顾了现有的DA研究,然后重点关注最流行和最丰富的方向。在此基础上,我们对DADER中的每个模块进行了分类,并通过总结具有代表性的DA技术来定义一个设计空间(design space)。具体来说
特征提取器通常由递归神经网络[38]和预训练语言模型[19,44,55]来实现。
匹配器通常采用深度神经网络作为二值分类器。
特征对齐器由三类解决方案实现:(1)基于差异,(2)基于对抗,以及(3)基于重建。
由于特征提取器和匹配器的具体选择已经得到了充分的研究,我们的重点是识别特征对齐器的方法,为此我们开发了六种具有代表性的方法,涵盖了广泛的SOTA DA技术。
DA是否有助于ER,去利用相关领域的labeled data。为了解决这个问题,本文考虑了两种设置:
(1)没有任何target labels的无监督DA设置
(2)有一些target labels的半监督DA设置。
此外,我们还比较了DADER和ER的SOTA DL解决方案,如DeepMatcher[49]和Ditto[42]。在此基础上,我们对DA对ER的优缺点进行了综合分析。
(1)据我们所知,我们是第一个正式定义DA for deep ER(第3节),并对迄今为止将DA应用于ER进行了最全面的研究。
(2)我们介绍了一个支持DA for ER的DADER框架,它由三个模块组成,即特征提取器、匹配器和特征对齐器。我们通过对框架中的每个模块进行分类,系统地探索了ER的DA设计空间(第4节)。特别地,我们开发了六种具有代表性的特征对齐器的方法(第5节)。
(3)我们进行了一个彻底的评估,以探索设计空间,并比较所开发的方法(第6节)。源代码和数据已经在Github上提供。我们发现DA对于ER非常有前途,因为它减少了源和目标之间的domain shift。我们指出了DA对ER的一些开放问题,并确定了研究方向(第8节)。
Github地址:https://github.com/ruc-datalab/DADER
我们正式定义了实体解析,并提出了一个使用深度学习进行实体解析(或简称Deep ER)的框架。
设和是两个具有多个属性的关系表。每个元组∈(或∈)也被称为由一组attribute-value对 { ( attr i , val i ) } 1 ≤ i ≤ k \left\{\left(\operatorname{attr}_{i}, \operatorname{val}_{i}\right)\right\}_{1 \leq i \leq k} {(attri,vali)}1≤i≤k组成的实体,其中,attr和val分别表示第个属性的名称和值。实体解析(ER)的问题是找到所有引用相同真实世界对象的实体对(,)∈×。如果它们引用了相同(不同的)现实世界中的对象,一个实体对就说是匹配的(不匹配),。
一个典型的ER管道包括两个步骤,阻塞(blocking)和匹配(matching)。阻塞步骤生成一组具有高召回率(high recall)的候选对,即修剪不太可能匹配的实体对(参见DL for ER blocking[67])。
匹配步骤将从阻塞步骤中生成的候选集作为输入,并确定哪些候选对是匹配还是不匹配。我们的重点是ER匹配步骤的域自适应。
我们将一个labeled training set表示为 ( D , Y ) ({D}, \mathcal{Y}) (D,Y),其中, D ⊂ A × B {D} \subset A \times B D⊂A×B是一组实体对, Y \mathcal{Y} Y是一个标签集。
每个实体对 ( , ) ∈ D (,)∈D (a,b)∈D与一个标签 ∈ Y ∈\mathcal Y y∈Y相关联,该标签 ∈ Y ∈\mathcal Y y∈Y表示实体对和是匹配(即=1)还是不匹配(即=0)。
图2(a)显示了一个示例训练集。每对都由来自不同表的两个实体组成,例如 ( a 1 S , b 1 S ) \left(a_{1}^{S}, b_{1}^{S}\right) (a1S,b1S),并与一个1/0的label相关联
现有的深度ER解决方案[21,42,49]通常使用一个由特征提取器和匹配器组成的框架,如图3(a)所示
具体来说,给定一个实体对 ( a , b ) (a,b) (a,b),一个特征提取器 F ( a , b ) : A × B → R d \mathcal{F}(a, b): A \times B \rightarrow \mathbb{R}^{d} F(a,b):A×B→Rd,将这对数据转换为基于维向量的表示(又称为features),用x表示,即 x = F ( a , b ) \mathbf{x}={F}(a, b) x=F(a,b)
然后,将特征x输入ER Matcher M M M,这是一个基于DL的二元分类模型。ER匹配器M以特征x作为输入,并预测匹配的概率 y ^ \hat{y} y^
y ^ = M ( x ) = M ( F ( a , b ) ) ( 1 ) \hat{y}={M}(\mathbf{x})={M}({F}(a, b)) \qquad (1) y^=M(x)=M(F(a,b))(1)
给定一个训练集 ( D , Y ) ({D}, \mathcal{Y}) (D,Y),通过迭代应用小批量随机梯度下降( iteratively applying minibatch stochastic gradient descent),对F和M的参数进行优化,从而区分匹配实体对和非匹配实体对
领域 (Domain) 是学习的主体, 主要由两部分构成: 数据和生成这些数据的概率分布。我们通常用 花体 D \mathcal{D} D 来表示一个领域, 领域上的一个样本数据包含输入 x \mathbf x x 和输出 y y y, 其概率分布记为 p ( x , y ) p(\mathbf x, y) p(x,y), 即数据服从这一分布: ( x , y ) ∼ p ( x , y ) (\mathbf x, y) \sim p(\mathbf x, y) (x,y)∼p(x,y) 。我们用大写花体 X , Y \mathcal{X}, \mathcal{Y} X,Y 来分别表示数据所处的特征空间和标签空间, 则对于任意一个样本 ( x i , y i ) \left(\mathbf x_{i}, y_{i}\right) (xi,yi), 都有 x i ∈ X , y i ∈ Y \boldsymbol{x}_{i} \in \mathcal{X}, y_{i} \in \mathcal{Y} xi∈X,yi∈Y 。因此, 一个领域可以被表示为 D = { X , Y , P ( x , y ) } \mathcal{D}=\{\mathcal{X}, \mathcal{Y}, P(\boldsymbol{x}, y)\} D={X,Y,P(x,y)}
王晋东,陈益强著.迁移学习导论.电子工业出版社.2021:43.
考虑图2(a).中的ER数据集,假设我们使用预训练的语言模型Bert[19]来实现特征提取器F,像Ditto[42]一样。给定一个实体 a,F首先通过应用以下函数,将的所有属性-值对 { ( attr i , val i ) } 1 ≤ i ≤ k \left\{\left(\operatorname{attr}_{i}, \operatorname{val}_{i}\right)\right\}_{1 \leq i \leq k} {(attri,vali)}1≤i≤k序列化为一个标记序列(即文本)。其中,[ATT]和[VAL]分别starting属性和值的两个特殊token。
S ( a ) = [ A T T ] attr 1 [ V A L ] v a l 1 … [ A T T ] attr k [ V A L ] val k \mathcal{S}(a)=[\mathrm{ATT}] \operatorname{attr}_{1}[\mathrm{VAL}] \mathrm{val}_{1} \ldots [ATT] \operatorname{attr}_{k}[\mathrm{VAL}] \operatorname{val}_{k} S(a)=[ATT]attr1[VAL]val1…[ATT]attrk[VAL]valk
例如,我们将实体 a 1 S a_{1}^{S} a1S序列化为一个标记序列,即, S ( a 1 S ) = {S}\left(a_{1}^{S}\right)= S(a1S)=[ATT] title [VAL] balt … [ATT] price [VAL]239.88
然后, F F F将 ( S , S ) (^S,^S) (aS,bS)转换为标记序列
S ( a S , b S ) = [ C L S ] S ( a S ) [ S E P ] S ( b S ) [ S E P ] \mathcal{S} \left(a^{\mathrm{S}}, b^{\mathrm{S}}\right)= [\mathrm{CLS}] \mathcal{S}\left(a^{\mathrm{S}}\right)[\mathrm{SEP}] \mathcal{S}\left(b^{\mathrm{S}}\right)[\mathrm{SEP}] S(aS,bS)=[CLS]S(aS)[SEP]S(bS)[SEP]
其中,[SEP]是分隔两个实体的特殊token,而[CLS]是BERT中用于编码整个序列的特殊token
最后,我们将 S ( S , S ) S(^S,^S) S(aS,bS)输入BERT,得到一个基于向量的表示 x \mathbf x x(例如,[CLS]的嵌入)。然后,我们可以使用一个全连接层来实现匹配器 M M M,然后从 x \mathbf x x中产生匹配的概率 y ^ \hat{y} y^
因此,给定图2(a)中所有标记的对 { ( a S , b S , y S ) } \left\{\left(a^{\mathrm{S}}, b^{\mathrm{S}}, y^{\mathrm{S}}\right)\right\} {(aS,bS,yS)},我们可以通过最小化 { ( y S , y ^ ) } \left\{\left(y^{\mathrm{S}}, \hat{y}\right)\right\} {(yS,y^)}上的一个损失函数来训练 F F F和 M M M。
接下来,我们描述了针对deep ER的领域自适应。我们考虑一个 labeled source ER数据集 ( D S , Y S ) = { ( a S , b S , y S ) } \left({D}^{{S}}, \mathcal{Y}^{{S}}\right)=\left\{\left(a^{\mathrm{S}}, b^{\mathrm{S}}, y^{\mathrm{S}}\right)\right\} (DS,YS)={(aS,bS,yS)}和一个unlabeled target数据集 D T = { ( a T , b T ) } {D}^{T}=\left\{\left(a^{T}, b^{T}\right)\right\} DT={(aT,bT)}
目的是寻找对目标 D T {D}^{T} DT产生精确匹配/非匹配结果的最佳Feature Extractor和Matcher
一个粗糙的方法是直接使用 D S D^S DS训练出的Feature Extractor F F F 和Matcher M M M ,来预测 D T D^T DT
但是,由于源数据和目标数据可能不来自同一个域,因此针对源数据和目标数据,由 F F F提取的特征可能不遵循相同的数据分布,从而导致域移位(domain shift)问题。
因此,使用源数据训练的 M M M不能正确地预测目标数据。为了解决这一障碍,我们研究了ER的领域自适应问题,并引入了一个统一了代表性方法的框架DADER。
图3(b)显示了DADER框架
High-level的idea是从数据实例中学习——寻找生成(generating)和对齐(aligning)source和target实体对的特征的最佳方法,如此,在labeled source上训练的匹配器就可以使用在(或适应于)unlabeled target。
为此,DADER引入了一个 Feature Aligner A,它引导Feature Extractor F (特征对齐器)生成域不变的(domain-invariant)和判别(discriminative)的特征,并相应地更新Matcher M。在形式上,我们定义了对齐损失(alignment loss)和匹配损失(matching loss)如下:
(1) Domain-invariant(域不变性)
域不变性,直观地说,我们希望source features x S \mathbf{x}^{S} xS和target features的 x T \mathbf{x}^{T} xT分布尽可能接近
为此目的, Feature Aligner A ( x S , x T ) : R d × R d → R {A}\left(\mathbf{x}^{\mathrm{S}}, \mathbf{x}^{T}\right): \mathbb{R}^{d} \times \mathbb{R}^{d} \rightarrow \mathbb{R} A(xS,xT):Rd×Rd→R,被用于产生alignment loss L A L_{A} LA
例如, L A L_{A} LA的一个简单方法是定义源分布和目标分布均值之间的距离。第4节将讨论对实现的 L A L_{A} LA更全面的设计探索。
Define a distance between the means of source and target distributions
(2) Discriminative(判别)
我们还考虑了一个matching loss L M L_M LM,用于衡量源数据集上,predicted和ground-truth结果之间的差异。回想一下,给定源数据集中的一个实体对 ( S , S ) (^S,^S) (aS,bS),我们的Matcher M预测为 y ^ = M ( F ( a S , b S ) ) \hat{y}={M}\left({F}\left(a^{S}, b^{S}\right)\right) y^=M(F(aS,bS))。因此,matching loss(匹配损失) L M L_M LM被定义为 L M = loss ( { ( y ^ , y S ) } ) {L}_{M}=\operatorname{loss}\left(\left\{\left(\hat{y}, y^{\mathrm{S}}\right)\right\}\right) LM=loss({(y^,yS)}),其中loss是一个函数,例如交叉熵(cross entropy)。
现在,我们准备提出DA对ER的目标,即找到最佳的特征提取器 F ∗ F^∗ F∗和匹配器 M ∗ M^∗ M∗,以最小化对齐损失(alignment loss) L L_ LA和匹配损失(matching loss) L L_ LM,即
F ∗ , M ∗ = arg min F , M aggregate ( L A , L M ) . ( 2 ) {F}^{*}, {M}^{*}=\arg \min _{{F}, {M}} \text { aggregate }\left({L}_{A}, {L}_{M}\right) \text {. } \qquad (2) F∗,M∗=argF,Mmin aggregate (LA,LM). (2)
在这里,aggregate是一个结合了这两个损失的函数,这是由各种特征对齐策略(feature alignment strategies)决定的。为了实现方程(2)中的目标,我们利用反向传播(back-propagation)来更新F和M的参数,如图3所示。通过这种方式,F可以改进,以产生跨Source和Target的域不变特征(domain-invariant features across source and target),而M可以相应地更新,以改进源和目标数据集上的ER匹配。
训练F,使得Source和Target数据集上提取到的特征尽可能的看不出差别
训练M,使得Matcher在源数据集上的匹配准确率提高—直接效果—(期待可以在目标数据集上也有较高的准确率)
注意,这种情况下,得到的在源数据集上的匹配准确率,相比于NoDA,有提高吗?按理说应该会下降,因此在对齐的过程中,也做出了一部分妥协,对齐的一个目的是使得模型学习到两个Domain之间的相似性并做迁移,相似性学到了,那么损失了特有的一些信息。
之后,M和F都可以在目标数据集上使用。具体来说,给定每个目标实体对 ( T , T ) (^T,^T) (aT,bT),它们可以一起进行,做出预测 M ( F ( T , T ) ) M(F(^T,^T)) M(F(aT,bT))
考虑图2中的示例。假设F将源(即圆)和目标(即正方形)中的实体对映射到一个二维空间,如图1(a).所示。然后,我们可以看到一个在源数据集和目标数据集之间的域转移(domain shift)的例子。
将entity pairs映射到2-dimensional space如何理解:降维
这可能是因为F非常关注在源数据集但不在目标数据集内的特定属性,例如category和brand。因此,Matcher M(即虚线)并不直接适合于DT,并且对所有的目标实体对(Target entity pairs)产生non-match的结果。
对所有的目标实体对(Target entity pairs)产生non-match的结果,指的是图1中的(a)中,对于Source,虚线一侧为匹配,另一侧为不匹配,对于Target而言,所有的Target entity pairs对应的结果,全在虚线的一侧。
为解决这个问题,引入特征对齐器A(Feature Aligner)来实现以下两个目标:
(1)调整F,以对齐源和目标实体对的分布,例如,充分利用共享属性(shared attributes)
(2)与之相应地更新M,以在新生成的特性空间(newly generated feature space)减少匹配错误。
在此基础上,A使更新后的F和M产生更准确的ER结果,如图1(b)所示。
为了更好地说明,我们还在第6.2.1节中提供了几个关于实验数据集的真实例子
请注意,领域适应是机器学习中一个广泛的话题,并且在CV和NLP中都取得了巨大的成功(参见最近的调查显示,[73,74])。在我们的ER场景中,我们采用了最流行和富有成果的domain adaptation技术家族,即学习domain-invariant特征和discriminative特征[25,45,69]。然而,domain adaptation有更大的选择集,本文没有涉及许多DA技术,如生成伪标签(generating pseudo labels)[26]、重新加权源样本(reweighting source samples)[8,16]等。请参考第7节以了解更全面的讨论。
实体解析具有其自身的特点,使得DA在ER中的应用具有挑战性。首先,ER中的每个数据实例(也就是说一个实体对)是很复杂的,因为它表示了具有多个属性的关系表中的两个实体。因此,特征提取器F将每个实体对转换为基于向量的表示是非常重要的(non-trivial)。其次,尚未探讨哪些DA方法适用于ER场景。
为了解决这些挑战,我们建议对DADER中每个模块的设计选择进行分类,这形成了一个如表1所示的设计空间(design space)。我们注意到DADER是可扩展的,也就是说,它可以合并新的模块、新的类别,或新的方法或现有方法的变体。此外,也可以从不同的角度来定义搜索空间;也就是说,我们认为我们的建议是合理的,但可能不是唯一的。
特征对齐器(Feature Aligner)A是减少源和目标之间的域偏移的关键模块。在DA对CV和NLP[73,74]的广泛分类后,我们考虑了基于差异( discrepancy-based)、基于对抗性(adversarial-based)和基于重建(reconstruction-based)的方法,如表1所示。这些方法之间的区别在于它们如何定义在第3节中定义的对齐损失( alignment loss ) L L_ LA。
(1) Discrepancy-based methods
基于差异的方法,通过计算Source和Target之间的分布差异(distribution discrepancy)来衡量对齐损失 L L_ LA。直观地说,考虑到图1中的示例,基于差异的方法旨在使圆(源)和正方形(目标)尽可能接近。关键的技术问题是如何定义分布差异。现有的工作提出了一些统计指标,其中最大平均差异(Maximum Mean Discrepancy )(MMD)[29,45]和k阶(k-orders)[61,62]是最有效的。因此,我们实现了将这两种技术作为基于差异的特征对齐的代表性方法。
(2) Adversarial-based methods
基于对抗性的方法通过引入一个域分类器(Domain classifier)和一个受生成式对抗性网络(Generative Adversarial Networks)(GAN)[28]启发的对抗性训练过程来测量对齐损失 L L_ LA。
直观地说:
Domain classifier被训练来区分特征是来自Source,还是来自Target
Feature Extractor F则试图生成可能混淆该Domain classifier的特征。
我们实现了三种具有代表性的基于对抗性的方法,即梯度反转层(gradient reversal layer)(GRL)[25]、反向标签GAN(inverted labels GAN)(InvGAN)[53,69]和InvGAN+KD(InvGAN的改进版本)。
(3) Reconstruction-based methods
基于重构的方法通过引入一个辅助的无监督重构任务( unsupervised reconstruction task)来实现对齐损失 L L_ LA。具体来说,使用Feature Aligner A作为解码器(decoder)来重构Feature Extractor F的输入,以确保F提取的特征包含跨Source和Target的有用的和共享的信息(useful and shared information across source and target)。该技术在CV[27,73]中取得了优异的性能。我们实现了Encoder-Decoder(ED)网络[39],从而以具有代表性的方法实现了NLP中的重构任务。
为什么说使用Feature Aligner A作为Decoder来重构Feature Extractor F的输入,就可以确保F提取的特征包含跨Source和Target的有用的和共享的信息?
我们将在第5节中描述上述基于差异、基于对抗性和基于重建的方法的设计细节。
回想一下,特征提取器 x = F ( a , b ) \mathbf{x}={F}(a, b) x=F(a,b)的目标是表示学习(representation learning),即将一对实体和转换为基于向量的表示 x \mathbf x x。现有的Deep ER研究采用了以下两种常见和有效的解决方案
(1) Recurrent neural network (RNN)
递归神经网络(RNN)是一种常用的将变长文本(variable-length text)编码为特征的解决方案,在NLP任务[57,77]和ER[21,35,49]中取得了良好的性能。
现在我们特别描述了RNN特征提取的过程。
第一步,给定一个具有对齐属性的实体对 ( a , b ) (a,b) (a,b),RNN网络将用于计算每个属性值的嵌入,从而得到每个实体的 k嵌入,即, { e 1 a , … , e k a } \left\{\mathbf{e}_{1}^{a}, \ldots, \mathbf{e}_{k}^{a}\right\} {e1a,…,eka}为 a a a和 { e 1 b , … , e k b } \left\{\mathbf{e}_{1}^{b}, \ldots, \mathbf{e}_{k}^{b}\right\} {e1b,…,ekb}为 b b b,这被称为属性嵌入(attribute embeddings)。
第二步,它计算上面两组嵌入,得到一个实体相似嵌入(entity similarity embedding)被匹配器使用。要做到这一点,有两种方法:
为每一对属性 e i a \mathbf{e}_{i}^{a} eia和 e i b \mathbf{e}_{i}^{b} eib, ∈ [ 1 , ] ∈[1,] i∈[1,k],计算相似度向量(similarity vector) s i s_i si
然后将这些个相似向量聚合到一个实体对相似嵌入(entity pair similarity embedding) s \mathbf s s
对每个实体,聚合 attribute embeddings到一个entity embedding,例如,聚合 { e 1 a , … , e k a } ( resp . { e 1 b , … , e k b } ) \left\{\mathbf{e}_{1}^{a}, \ldots, \mathbf{e}_{k}^{a}\right\}\left(\operatorname{resp} .\left\{\mathbf{e}_{1}^{b}, \ldots, \mathbf{e}_{k}^{b}\right\}\right) {e1a,…,eka}(resp.{e1b,…,ekb}),计算出 e a ( \mathbf{e}^{a}\left(\right. ea( resp. e b ) \left.\mathbf{e}^{b}\right) eb)。然后,将使用 e e^ ea和 e e^ eb来计算实体对相似度嵌入(entity pair similarity embedding) s \mathbf s s。注意,实体对相似性嵌入 s \mathbf s s是我们需要的特征 x \mathbf x x。详情请参阅现有的ER研究[21,35,49]。
(2) Pre-trained language models (LMs)
预训练的语言模型(LMs)在ER[42,65]中表示实体对(representing entity pairs)方面取得了优越的性能。具有代表性的LMs包括Bert[19],RoBerta[44],DistilBert[55]等。我们以Bert为例来说明它如何将一个实体对 ( a , b ) (a,b) (a,b)编码为基于向量的表示,而其他LM则非常相似。Bert提供了一个简单的文本特征提取模型。请参考Example 1,它说明了Bert是如何为ER工作的。
Matcher M是一个二值分类器,它以一个特征 x \mathbf x x作为输入,并将其分类为1(匹配)或0(不匹配)。在这项工作中,我们采用了MLP(多层感知机),是现有的基于DL的ER中最常见的选择(例如,DeepMatcher[49],DeepER[21]和Ditto[42])。请注意,我们没有考虑M的其他选择,因为匹配器的设计不是ER的domain adaptation的重点。
我们描述了Feature Aligner的六种代表性方法。图4显示了六种具有代表性的方法的架构,其中具有不同颜色的箭头表示源/目标数据集的数据流。在训练过程中,计算loss,并更新相应的网络参数。请注意,只需要更新实线框中的参数,而虚线框表示它们的参数不需要更新或它们没有参数。经过训练后,将得到的匹配器M和特征提取器F用于目标数据集DT进行预测。简单地说,我们分别使用 S ^S xS和 T ^T xT来表示实体对 ( S , S ) (^S,^S) (aS,bS)和 ( T , T ) (^T,^T) (aT,bT)。F生成的对应特征空间分别记为 p S pS pS和 T T pT。
请注意,只需要更新实线框中的参数,而虚线框表示它们的参数不需要更新或它们没有参数。
图4(a)和(b)分别对应于基于差异的方法,MMD和k-order。High-level的思想是使用统计指标,来最小化Source和Target之间的域分布差异(Domain distribution discrepancy)。因此,特征对齐器A是一个固定的函数来计算差异值,没有参数。在训练过程中,将DS和DT输入F,生成特征 { x S } \{\mathbf x^S\} {xS}和 { x T } \{\mathbf x^T\} {xT},它们的特征空间分别为 p S p_{S} pS和 p T p_{T} pT。然后,A计算S和T之间的分布差异(distribution discrepancy)(记为 L L_ LA)。同时,匹配器M给出ER标签预测,并计算标记数据DS上的匹配损失 L L_ LM。
注意: ( x S , y S ) ∼ ( D S , Y S ) \left(x^{{S}}, y^{{S}}\right) \sim\left({\mathcal D}^{{S}}, \mathcal Y^{{S}}\right) (xS,yS)∼(DS,YS), x S ∼ p S \mathbf{x}^{\mathrm{S}} \sim p_{\mathrm{S}} xS∼pS
优化目标是同时减少 L L_ LA和 L L_ LM,目标是学习domain-invariant和discriminative特征,即:
min F , M , A V ( F , M , A ) = L M ( F , M ) + β L A ( F , A ) ( 3 ) \min _{{F}, {M}, {A}} V({F}, {M}, {A})={L}_{M}({F}, {M})+\beta {L}_{A}({F}, {A}) \qquad (3) F,M,AminV(F,M,A)=LM(F,M)+βLA(F,A)(3)
L M = E ( x S , y S ) ∼ ( D S , Y S ) [ L C E ( M ( F ( x S ) ) , y S ) ] ( 4 ) {L}_{M}=E_{\left(x^{{S}}, y^{{S}}\right) \sim\left({\mathcal D}^{{S}}, \mathcal Y^{{S}}\right)}\left[{L}_{C E}\left({M}\left({F}\left(x^{{S}}\right)\right), y^{{S}}\right)\right] \qquad (4) LM=E(xS,yS)∼(DS,YS)[LCE(M(F(xS)),yS)](4)
其中, L L_{} LCE是DL中常用的交叉熵损失(CE是Cross-Entropy的缩写),Font metrics not found for font: .是控制matching和domain confusion之间权衡的超参数。[·]表示期望
基于方程(3),我们引入算法1作为模板,以统一基于差异、基于GRL和基于重构的方法(后两种方法将在后面讨论)。
Line 1 首先初始化Feature Extractor,Matcher和Feature Aligner。
对于每次迭代(iteration)(Lines 2–13):
Lines 3–4 首先从labeled source中取样一个mini-batch,从unlabeled target中取样一个mini-batch。
Lines 5–6根据方程(4)计算匹配器的损失,并使用反向传播来调整匹配器。
L M = E ( x S , y S ) ∼ ( D S , Y S ) [ L C E ( M ( F ( x S ) ) , y S ) ] ( 4 ) {L}_{M}=E_{\left(x^{{S}}, y^{{S}}\right) \sim\left({\mathcal D}^{{S}}, \mathcal Y^{{S}}\right)}\left[{L}_{C E}\left({M}\left({F}\left(x^{{S}}\right)\right), y^{{S}}\right)\right] \qquad (4) LM=E(xS,yS)∼(DS,YS)[LCE(M(F(xS)),yS)](4)
Lines 7–9用于基于差异和重建的方法,这些方法调用 Procedure 1 NoAdvAdapt。
第10-12行用于基于GRL的方法,它们调用Procedure 2 GRLAdapt(这将在稍后讨论)。
Procedure 1 NoAdvAdapt中:
Line 1:根据不同的方法计算对齐损失 L L_ LA。
Line 2:然后,只有当Feature Aligner是一个神经网络时,它才会使用反向传播来优化Feature Aligner;否则,这一行将不会被执行,因为Feature Aligner是一个固定的函数
Line 3:最后,通过考虑 L L_ LM和 L L_ LA的线性组合,使用反向传播来调整Feature Extractor
∂ L M ∂ θ F + β ∂ L A ∂ θ F = ∂ ( L M + β L A ) ∂ θ F \frac{\partial L_M}{\partial \theta _F}+\beta \frac{\partial L_A}{\partial \theta _F}=\frac{\partial \left( L_M+\beta L_A \right)}{\partial \theta _F} ∂θF∂LM+β∂θF∂LA=∂θF∂(LM+βLA)
接下来,我们描述了MMD和-order的特点,并解释了它们是如何实现LA
MMD是一种通过核双样本检验(kernel two-sample test)[29]来衡量分布差异的有效度量方法。当且仅当两个分布相同时,MMD的值为0。由于MMD的特性,可以在两个域(用 L M M D L_{MMD} LMMD 表示)的特征之间计算MMD度量,以减少潜在空间中的分布不匹配,定义为:
L A = L MMD = sup ∥ ϕ ∥ H ≤ 1 ∥ E x S ∼ p S [ ϕ ( x S ) ] − E x T ∼ p T [ ϕ ( x T ) ] ∥ H 2 ( 5 ) {L}_{\text {A }}={L}_{\text {MMD }}=\sup _{\|\phi\|_{H} \leq 1}\left\|E_{\mathbf{x}^{\mathrm{S}} \sim p_{\mathrm{S}}}\left[\phi\left(\mathbf{x}^{\mathrm{S}}\right)\right]-E_{\mathbf{x}^{T} \sim p_{T}}\left[\phi\left(\mathbf{x}^{T}\right)\right]\right\|_{H}^{2} \qquad (5) LA =LMMD =∥ϕ∥H≤1sup∥∥ExS∼pS[ϕ(xS)]−ExT∼pT[ϕ(xT)]∥∥H2(5)
其中,Font metrics not found for font: .表示将 x S ( x T ) \mathbf{x}^{\mathrm{S}}\left(\mathbf{x}^{T}\right) xS(xT)映射到一个可复制的核希尔伯特空间(reproducing kernel Hilbert space)(RKHS)的核函数(kernel function)。 ∥ ϕ ∥ H ≤ 1 \|\phi\|_{H} \leq 1 ∥ϕ∥H≤1在RKHS()的单位球(unit ball)中定义了一组函数。特别是,当 S _S pS和 T _T pT的分布相同时, L M M D L_{MMD} LMMD=0
简言之,MMD用于在Domain adaptation中衡量分布差异
K-order是另一种减少域分布不匹配(distribution mismatch)的有效度量方法。
CORAL[61]学习一个线性变换,对齐second-order statistics(协方差)之间的域。
DeepCORAL[62]学习了一种基于CORAL的非线性变换,并取得了良好的性能。更具体地说,两个域的second-order statistics之间的距离记为 L C O R A L L_{CORAL} LCORAL,定义如下:
L C O R A L = 1 4 d 2 ∥ C S − C T ∥ F 2 ( 6 ) {L}_{{CORAL}}=\frac{1}{4 d^{2}}\left\|C_{{S}}-C_{{T}}\right\|_{F}^{2} \qquad (6) LCORAL=4d21∥CS−CT∥F2(6)
其中为 x \mathbf x x的维度, C S ( C T ) C_{\mathrm{S}}\left(C_{\mathrm{T}}\right) CS(CT)为由特征 x S ( x T ) \mathbf{x}^{\mathrm{S}}\left(\mathbf{x}^{T}\right) xS(xT)计算的协方差矩阵, ∥ ⋅ ∥ F 2 \|\cdot\|_{F}^{2} ∥⋅∥F2表示平方矩阵的Frobenius 范数。更详细的方程推导可以在DeepCORAL[62]中找到。
如图4(a,b)所示,LMMD和LCORAL可以直接计算出L。由于这两种特征对齐器方法是非参数化的,所以只有F和M将在训练期间进行调整。
A是不可学习的
图4(c,d,e)对应于基于对抗性的三种代表性方法:GRL、InvGAN和InvGAN+KD。因为它们需要使用domain classifier来区分特征来自于Source或Target,所以Feature Aligner A是一个由全连接层实现的二分类器。在训练期间,优化的目标是最小化domain classification loss(现用 L A L_A LA表示),而F产生难以区分的特征混淆A。
有不同的训练模式来实现这个目标,其中GRL-based和GAN-based是最受欢迎的。
对抗性目标函数(Adversarial objective function)为:
min F , M max A V ( F , M , A ) = L M ( F , M ) + β L A ( F , A ) ( 7 ) \min _{{F,} {M}} \max _{{A}} V({F}, {M}, {A})={L}_{M}({F}, {M})+\beta {L}_{A}({F}, {A}) \qquad (7) F,MminAmaxV(F,M,A)=LM(F,M)+βLA(F,A)(7)
L A = E x S ∼ D S log A ( F ( x S ) ) + E x T ∼ D T log ( 1 − A ( F ( x T ) ) ) ( 8 ) {L}_{A}=E_{x^{{S}} \sim {D}^{{S}}} \log {A}\left({F}\left(x^{{S}}\right)\right)+E_{x^{T} \sim {D}^{T}} \log \left(1-{A}\left({F}\left(x^{T}\right)\right)\right) \qquad (8) LA=ExS∼DSlogA(F(xS))+ExT∼DTlog(1−A(F(xT)))(8)
其中,是控制Matching和Domain classification之间权衡的超参数, L A L_A LA是对抗性损失(Adversarial loss)。
这里的F+M,相当于GAN中的Generator,而A相当于GAN中的Discriminator
min F , M max A V ( F , M , A ) \min _{{F,} {M}} \max _{{A}} V({F}, {M}, {A}) minF,MmaxAV(F,M,A)类比 arg min G max D V ( G , D ) \arg \min _{G} \max _{D} V(G, D) argminGmaxDV(G,D)
只所以Adv ersarial objective function为MIN MAX,源于GAN理论:在GAN中,我们的目标是寻找一个G,去Minimize PG和Pdata的Divergence。但我们卡在不知道如何计算Divergence
我们现在又知道,给定G的情况下,只要训练一个D, 训练完以后,这样一个Objective Function的最大值,它跟Divergence是有关的,可以代表Divergence。
于是我们将红框中的内容,去替换Divergence
我们所做的是要寻找一个G,去Minimize红色框中的内容。而红色框中的内容又是另外一个Optimization problem,它是在给定G的情况下,去寻找一个D,这个D可以让V这个Objective Function越大越好。对应的Function为:
因此GAN的目标函数可以写成:
而只所以让D和G互动(互相欺骗),其实就是想解这一个有Minimize又有Maximize的Min Max问题
如图4©所示,这种方法添加了一个梯度逆转层(Gradient Reversal Layer)在F和A之间,这是实现F和A之间的极小化极大对抗性训练目标(The minimax adversarial training objective)的关键层。
梯度逆转层(Gradient Reversal Layer)没有需要更新的参数,在正向传播中充当恒等变换。A给出了 x S \mathbf{x}^{S} xS 和 x T \mathbf{x}^{T} xT的域预测,并计算了域分类损失 L A L_A LA。在反向传播过程中,来自A的梯度乘以梯度反转层(Gradient Reversal Layer)中某个(certain)的负常数。同时,将标记的 x S \mathbf{x}^{S} xS输入M,计算匹配损耗 L M L_M LM。具体来说,GRL的损失函数为:
max F min A L A ( 1 ) = − E x S ∼ D S log ( A ( F ( x S ) ) ) − E x T ∼ D T log ( 1 − A ( F ( x T ) ) ) ( 9 ) \max _{{F}} \min _{{A}} {L}_{A}^{(1)}=-E_{x^{{S}} \sim {D}^{{S}}} \log \left({A}\left({F}\left(x^{{S}}\right)\right)\right)-E_{x^{T} \sim {D}^{T}} \log \left(1-{A}\left({F}\left(x^{T}\right)\right)\right) \qquad (9) FmaxAminLA(1)=−ExS∼DSlog(A(F(xS)))−ExT∼DTlog(1−A(F(xT)))(9)
理解 L A L_A LA:我们期望 L A L_A LA越小越好,意味着我们期望左边的 A ( F ( x S ) ) A\left(F\left(x^{S}\right)\right) A(F(xS))越大越好(对应的 L A L_A LA越小)右边的 A ( F ( x T ) ) A\left(F\left(x^{T}\right)\right) A(F(xT))越小越好(对应的 L A L_A LA越小)。其实就是为了满足二分类的要求。
Algorithm1也可以应用于GRL,其中第10-12行是专门为基于GRL的方法设计的,即Procedure 2 GRLAdapt
Procedure 2
首先,第1行根据公式(9)计算对齐损失 L L_ LA。
L A = − E x S ∼ D S log ( A ( F ( x S ) ) ) − E x T ∼ D T log ( 1 − A ( F ( x T ) ) ) ( 9 ) {L}_{A}=-E_{x^{{S}} \sim {D}^{{S}}} \log \left({A}\left({F}\left(x^{{S}}\right)\right)\right)-E_{x^{T} \sim {D}^{T}} \log \left(1-{A}\left({F}\left(x^{T}\right)\right)\right) \qquad (9) LA=−ExS∼DSlog(A(F(xS)))−ExT∼DTlog(1−A(F(xT)))(9)
然后,第2行使用反向传播来调整Feature Aligner
最后,第3行使用反向传播来调整Feature Extractor,其中从A到F的梯度,通过乘以参数-β而逆转。
对于Feature Aligner的调整借助损失 L L_ LA;
对于Feature Extractor的调整借助损失 L M − β L A L_M-\beta L_A LM−βLA
为了实现对抗性训练目标,我们采用原始的基于GAN的架构作为一种具有代表性的方法,它使用inverted labels(倒置标签)[28]来学习Feature Extractor
在CV中的ADDA[69]中提出了该体系结构,并被证明是有效的。
原始的GAN由两部分组成:Generator(下文统称G)和Discriminator(下文统称D)。GAN的训练过程是利用G生成“fake data”来模拟“real data”,并训练D来分辨它们。这两部分是交替训练,在我们的场景中,我们将 x S \mathbf x^S xS视为“real data”,将特征提取器(Feature Extractor)视为G,使和 x T \mathbf x^T xT和 x S \mathbf x^S xS尽可能相似(即,这些特征是domain invariant的),并将特征对齐器(Feature Aligner视为D。
为了实现训练过程,如图4(d)所示,对于ER问题有两个训练步骤。
Step1是使用labeled source data来训练特征提取器F和匹配器M。因此,M可以对 x S \mathbf x^S xS给出准确的预测。
注意Step1之后,M不再更新,而且也在接下来的训练过程中,也用不到M。
Step2如下:
因为我们需要使用 x S \mathbf x^S xS作为我们的“real data”,它是由原始的 F F F生成的,所以我们从 F F F中克隆了一个 F ′ F^{\prime} F′。
在接下来的训练过程中,我们训练 F ′ F^{\prime} F′,并保持 F F F不变。我们认为 F ′ F^{\prime} F′作为Generator, A A A作为Discriminator。
首先,将 x S x^S xS输入 F F F,生成“real example” x S \mathbf x^S xS,将 x T x^T xT输入 F ′ F^{\prime} F′生成“fake example” x T {\mathbf x}^T xT。
目标是训练 F ′ F^{\prime} F′和A的参数来生成相似的 x T {\mathbf x}^T xT和 x S \mathbf x^S xS
F ′ F^{\prime} F′和A,作为GAN架构中给定G和D,二者是砥砺前行,相辅相成的
具体来说,A是根据以下损失函数进行训练的:
min A L A ( 2 ) = − E x S ∼ D S log ( A ( F ( x S ) ) ) − E x T ∼ D T log ( 1 − A ( F ′ ( x T ) ) ) ( 10 ) \min _{{A}} {L}_{A}^{(2)}=-E_{x^{{S}} \sim {D}^{{S}}} \log \left({A}\left({F}\left(x^{{S}}\right)\right)\right)-E_{x^{T} \sim {D}^{T}} \log \left(1-{A}\left({F}^{\prime}\left(x^{T}\right)\right)\right) \qquad (10) AminLA(2)=−ExS∼DSlog(A(F(xS)))−ExT∼DTlog(1−A(F′(xT)))(10)
与GRL中A的损失函数一样,我们期望 L A L_A LA越小越好,意味着我们期望左边的 A ( F ( x S ) ) A\left(F\left(x^{S}\right)\right) A(F(xS))越大越好(对应的 L A L_A LA越小)右边的 A ( F ′ ( x T ) ) A\left(F^{\prime}\left(x^{T}\right)\right) A(F′(xT))越小越好(对应的 L A L_A LA越小)。其实就是为了满足二分类的要求。
这符合我们的期待,在GAN中,Discriminator训练的目标是看到Real data就输出比较高的分数,看到Generative data就输出比较低的分数。通过这样一个损失函数,转换成了一个Opitimization problem。
等同于训练一个二分类器。
与GRL不同的是,处理 x T {\mathbf x}^T xT和 x S \mathbf x^S xS的Feature Extractor不共享参数,也就是 F F F处理 x S \mathbf x^S xS, F ′ F^{\prime} F′处理 x T {\mathbf x}^T xT
F ′ F^{\prime} F′用倒置标签进行训练,损失函数为:
min F ′ L F ′ ( 1 ) = − E x T ∼ D T log ( A ( F ′ ( x T ) ) ) ( 11 ) \min _{{F}^{\prime}} {L}_{F^{\prime}}^{(1)}=-E_{x^{T} \sim {D}^{T}} \log \left({A}\left({F}^{\prime}\left(x^{T}\right)\right)\right) \qquad(11) F′minLF′(1)=−ExT∼DTlog(A(F′(xT)))(11)
F ′ F^{\prime} F′损失函数越小,意味着我们期望 A ( F ′ ( x T ) ) A\left(F^{\prime}\left(x^{T}\right)\right) A(F′(xT))越大。与A的优化目标相反,意在迷惑A,使之无法分辨 x T {\mathbf x}^T xT和 x S \mathbf x^S xS,这是对抗的思想所在,二者通过对抗来共同进化。
我们提出了一个针对InvGAN的算法模板。
Line 1首先初始化特征提取器、匹配器和特征对齐器。然后,它就包含了两个步骤:
Step 1是使用labeled source来只训练F和M,这样M就可以收敛于 source feature x S \mathbf x^S xS(Lines 2-7)。Line 8用F的参数初始化 F ′ F^{\prime} F′。
Step 2用于对抗性训练,它调整 F ′ F^{\prime} F′,使尽 x T {\mathbf x}^T xT和 x S \mathbf x^S xS可能相似(Lines 9-16)。
InvGAN的一个问题是 x T {\mathbf x}^T xT可能会丢失所有的判别信息( discriminative information)(例如,生成常数(generating constants)),这导致M的性能下降。AAD[53]提出增加一个Kullback-Leibler divergence loss来避免这个问题。
generating constants的意思可能是说,也许 F ′ F^{\prime} F′会直接复制出 x S \mathbf x^S xS作为 x T {\mathbf x}^T xT,这样也就丢失所有的Discriminative information,无法有效的做出是否匹配的判断。
为了缓解上述可能丢失所有判别性信息(discriminative information)的问题,我们建议使用KD从“教师(teacher)”模型中学习一个新的“学生(student)”模型,并保留教师模型(teacher model)的分类能力。
这适用于我们的场景,因为我们希望 F ′ F^{\prime} F′和M的性能接近于F和M的性能。
KD的意思是说,为了更好更快训练一个小的模型,可以跟着已经训练好的大的模型学习。
F ′ + M F^{\prime}+M F′+M相对于 F + M F+M F+M,的确是一个更小的模型。小体现只专注于共性,忽略了特性。
KD的损失函数为:
L K D = t 2 × E x S ∼ D S ∑ − softmax ( M ( F ( x S ) ) / t ) × log ( softmax ( M ( F ′ ( x S ) ) / t ) ) , ( 12 ) \begin{array}{r} {L}_{{KD}}=t^{2} \times E_{{x^{S}}\sim{D}^{S}} \sum-\operatorname{softmax}\left({M}\left({F}\left(x^{\mathrm{S}}\right)\right) / t\right) \\ \times \log \left(\operatorname{softmax}\left({M}\left({F}^{\prime}\left(x^{{S}}\right)\right) / t\right)\right), \end{array} \qquad (12) LKD=t2×ExS∼DS∑−softmax(M(F(xS))/t)×log(softmax(M(F′(xS))/t)),(12)
其中 t t t是一个超参数,以确定模型软化[32]分布的程度(how much the model softens [32] the distributions)
在KD中,被称为温度T。注意这里的Softmax指的是对Softmax层做处理,可以让学生更好的跟老师学习。
仅仅设置一个简单的温度,就可以蒸馏出暗知识,不仅能告诉神经网络我们要处理的样本属于哪一类,还能蒸馏出暗知识:即还和哪一类比较像。
有老师的帮助,要比没有老师帮助强。这就是学术借助老师实现自我突破的过程。
因为 M ( F ( ⋅ ) ) {M}({F}(\cdot)) M(F(⋅))在训练期间是固定的, L K D L_{KD} LKD可以由 M ( F ( ⋅ ) ) {M}({F}(\cdot)) M(F(⋅))和 M ( F ′ ( ⋅ ) ) {M}\left({F}^{\prime}(\cdot)\right) M(F′(⋅))的预测分布的Kullback Leibler divergence推导出。
注意,Step1之后,F和M不再更新,但是仍然会用到F,但是不会再用到M,因此这也是导致 F ′ F^{\prime} F′和M恶化的原因。
在图4(e)中的适应步骤(adaptation step)(即Step 2)中, F ′ F^{\prime} F′一开始用 F F F初始化,然后将 x S x^S xS输入 F F F和 F ′ F^{\prime} F′,生成 x S \mathbf{x}^{S} xS 和 x S ′ \mathbf{x}^{S^{\prime}} xS′,这些输入进M,根据公式(12)计算 L K D L_{KD} LKD。
L K D = t 2 × E x S ∼ D S ∑ − softmax ( M ( F ( x S ) ) / t ) × log ( softmax ( M ( F ′ ( x S ) ) / t ) ) , ( 12 ) \begin{array}{r} {L}_{{KD}}=t^{2} \times E_{{x^{S}}\sim{D}^{S}} \sum-\operatorname{softmax}\left({M}\left({F}\left(x^{\mathrm{S}}\right)\right) / t\right) \\ \times \log \left(\operatorname{softmax}\left({M}\left({F}^{\prime}\left(x^{{S}}\right)\right) / t\right)\right), \end{array} \qquad (12) LKD=t2×ExS∼DS∑−softmax(M(F(xS))/t)×log(softmax(M(F′(xS))/t)),(12)
注意我们针对 x S \mathbf{x}^{S} xS ,分别输入 F ′ F^{\prime} F′和 F F F,我们期望更新的是 F ′ F^{\prime} F′,使得 F ′ F^{\prime} F′像 F F F学习,而不是针对ground truth学习。
怎样形象理解这个公式:
softmax ( M ( F ( x S ) ) / t ) \operatorname{softmax}\left(M\left(F\left(x^{\mathrm{S}}\right)\right) / t\right) softmax(M(F(xS))/t)和softmax ( M ( F ′ ( x S ) ) / t ) \left(M\left(F^{\prime}\left(x^{S}\right)\right) / t\right) (M(F′(xS))/t)是两个二维向量。所以上述计算公式是相当于两个分布的交叉熵损失:
L K D L_{KD} LKD可以保证 F ′ F^{\prime} F′生成的特征可以通过M来区分,即学习判别性特征(discriminative features),而 F ′ F^{\prime} F′和A之间的对抗可以学习域不变(domain-invariant)特征。
通过优化 L K D L_{KD} LKD来学习判别特征;
通过优化 L A L_A LA来学习域不变特征;
我们使用 F ′ F^{\prime} F′生成的 x S ′ \mathbf{x}^{S^{\prime}} xS′ 和 x T \mathbf{x}^{T} xT来训练A,所以A和 F ′ F^{\prime} F′的损失函数为:
min A L A ( 3 ) = − E x S ∼ D S log ( A ( F ′ ( x S ) ) ) − E x T ∼ D T log ( 1 − A ( F ′ ( x T ) ) ) ( 13 ) min F ′ L F ′ ( 2 ) = − E x T ∼ D T log ( A ( F ′ ( x T ) ) ) + L K D ( 14 ) \min _{{A}} {L}_{A}^{(3)}=-E_{x^{S} \sim {D}^{S}} \log \left({A}\left({F}^{\prime}\left(x^{{S}}\right)\right)\right)-E_{x^{T} \sim {D}^{T}} \log \left(1-{A}\left({F}^{\prime}\left(x^{T}\right)\right)\right) \qquad (13) \\ \min _{{F^{\prime}}} {L}_{F^{\prime}}^{(2)}=-E_{x^{T} \sim {D}^{T}} \log \left({A}\left({F}^{\prime}\left(x^{T}\right)\right)\right)+{L}_{K D} \qquad (14) AminLA(3)=−ExS∼DSlog(A(F′(xS)))−ExT∼DTlog(1−A(F′(xT)))(13)F′minLF′(2)=−ExT∼DTlog(A(F′(xT)))+LKD(14)
Min L A L_A LA,表示期望 A ( F ′ ( x T ) ) {A}\left({F}^{\prime}\left(x^{T}\right)\right) A(F′(xT))越小越好( A ( F ′ ( x S ) ) {A}\left({F}^{\prime}\left(x^{S}\right)\right) A(F′(xS))越大越好),即分类器A的效果越来越好
Min L F ′ L_{F^{\prime}} LF′,表示期望 A ( F ′ ( x T ) ) {A}\left({F}^{\prime}\left(x^{T}\right)\right) A(F′(xT))越大越好,即期望能骗过分类器A,因此在对抗中成长。同时,与InvGAN不同的是加入了 L K D L_{KD} LKD即能骗过A的同时,有期望不影响匹配器M的分类效果。
如图4(f)所示,特征对齐器(FA)被实现为一个Decoder,它重构了输入数据DS和DT。重构任务(Reconstruction task)确保Learn到两个Domain之间共享的隐藏表示空间(Learn a shared hidden representation space between domains)。这是直观的,辅助重构任务可以促进域不变特征(domain-invariant)的学习——重构损失(reconstruction loss) L R E C L_{REC} LREC可以确保共享的F从两个Domain中提取重要的和共享的信息。同时,匹配损失 L M L_{M} LM可以保证M适用于(works for)共享特性(shared feature)。
如何理解这段话?
L R E C = E x ∼ D S ∪ D T [ L C E ( A ( F ( x ) ) , x ) ] {L}_{{REC}}=E_{x \sim {D}^{{S}} \cup {D}^{T}}\left[{L}_{C E}({A}({F}(x)), x)\right] LREC=Ex∼DS∪DT[LCE(A(F(x)),x)]
MIN L R E C L_{REC} LREC,确保共享的F可以从两个Domain中,提取Important and Shared的信息。换句话说,只有F从两个Domain中,提取Important and Shared的信息,才能够保证对 D S ∪ D T {D}^{{S}} \cup {D}^{T} DS∪DT随机抽样,得到较低的 L C E ( A ( F ( x ) ) , x ) L_{C E}(A(F(x)), x) LCE(A(F(x)),x)。只有提取共享信息,才能确保“随机”;只有提取重要信息,才能保证有效恢复,也就是较低的 L C E ( A ( F ( x ) ) , x ) L_{C E}(A(F(x)), x) LCE(A(F(x)),x)
MIN L M L_{M} LM,确保M适用于Shared特征,也就是说,F提取到的Shared特征,对于M而言,是可判别的。
Encoder-Decoder网络适用于基于重构的方法,它以F为Encoder,以A为Decoder。现有的文本编码器-解码器模型包括VAE[56]、Bart[39]、SDA[72]等。
Algorithm 1为此提供了一个模板。对于每个minibatch,将 x S x^{S} xS 和 x T x^{T} xT输入F生成特征 F ( x S ) {F}\left(x^{\mathrm{S}}\right) F(xS) 和 F ( x T ) {F}\left(x^{T}\right) F(xT),将 F ( x S ) {F}\left(x^{\mathrm{S}}\right) F(xS)输入M得到匹配的损失 L M L_M LM
xS和xT是从DS和DT中sample出来的
然后,在Procedure 1中,A对这些特征进行解码,恢复数据 x S x^{\mathrm{S}} xS 和 x T x^{T} xT,然后根据公式(15)计算重建损失 L R E C L_{REC} LREC。然后就可以更新这些参数。
L R E C = E x ∼ D S ∪ D ⊤ [ L C E ( A ( F ( x ) ) , x ) ] ( 15 ) {L}_{{REC}}=E_{x \sim {D}^{{S}} \cup {D}^{\top}}\left[{L}_{C E}({A}({F}(x)), x)\right] \qquad (15) LREC=Ex∼DS∪D⊤[LCE(A(F(x)),x)](15)
L R E C L_{REC} LREC为表示Reconstruction Loss,计算Decoder对数据恢复的效果,若效果差,则损失值大。
L R E C L_{REC} LREC代表Procedure 1中的 L A L_{A} LA,通过反向梯度传播,更新 A A A
L R E C + β L M L_{REC}+\beta L_{M} LREC+βLM代表 L F L_F LF,通过反向梯度传播,更新F
以Bart[39]为例,该体系结构由一个Bidirectional transformer Encoder和一个Auto-regressive transformer Decoder组成。Encoder用作Feature Extractor,为原始输入文本生成Hidden Representation,Decoder输入Hidden Representation,然后输出重构文本。Reconstruction损失LREC可以在生成的文本和原始文本之间进行计算,即Entity pairs。更多的架构细节可以参考Bart[39]的原始论文。
BART的预训练任务是将带噪声的输入还原。如下图所示,输入为ABCDE,在AB中插入一个span长度为0的mask,再将CD替换为mask,最终得到加噪输入的A_B_E。模型的目标是将其还原为ABCDE。
我们在第6.1节中介绍了实验设置,并在第6.2节中报告了ER的DA的总体结果。然后,我们通过评估第6.3节中的特征对齐器和第6.4节中的特征提取器来探索DADER的设计空间。接下来,我们将我们的框架与第6.5节中最先进的基于DL的ER方法进行比较。
6.5中采用的SOTA ER方法是
我们使用了来自DeepMatcher[49]和Magellan[20]的基准数据集,它们涵盖了各种领域,如产品(production)、引文(citation)和餐厅(restaurant)。每个数据集包含来自两个具有多个属性的关系表的实体,以及一组带标记的匹配/非匹配实体对。
以表2中的DBLP-Scholar(DS)数据集为例:从DBLP和Scholar中分别提取了两个表,每个表都有四个对齐的属性(Title, Authors, Venue, Year)。该数据集包含28,707个实体对,其中5,347个实体对被标记为匹配,其余实体对为不匹配。
此外,我们还考虑了四个WDC产品数据集[52],它们也在Ditto[42]中使用。WDC的数据集是从电子商务网站上收集而来的,这些网站包含四个类别:电脑、相机、手表和鞋子,每个类别都有1100个标记的实体对。
WDC的数据集之间其实有相关性,本质上都属于Product domain,往往有相似的属性,例如产品名,生产日期,产品描述
我们还注意到,由于Zomato-Yelp数据集的原始版本很简单,而且所有的方法在这个数据集上都很好,根据现有的DeepMatcher[49]工作,我们使用了Zomato-Yelp数据集的脏版本进行评估。
使用脏版本其实是一种trick,因为original版本很容易达到较高的分数,改进也就不明显。
有关数据集的更多细节,请参见表2。
每个数据集的属性都是对齐的?
为了便于展示,我们使用符号来表示DS→DT,例如,Walmart-Amazon → Abt-Buy,来表示,DS是源,而DT是目标。
Walmart-Amazon → Abt-Buy意思是说,我们在WA这样一个源数据集上训练ER模型,在AB这样一个目标数据集上测试我们的ER模型
我们为ER实现了DA的DADER框架,如图3所示。
为了评估DA在ER中的性能,我们选择一个数据集作为labeled source ( D S , Y S ) \left(\mathcal{D}^{\mathrm{S}}, \mathcal{Y}^{\mathrm{S}}\right) (DS,YS),而选择另一个数据集作为unlabeled target D ⊤ \mathcal{D}^{\top} D⊤
我们将目标数据集 D T D^T DT分割为验证集 D v a l T D_{val}^T DvalT和测试集 D t e s t T D_{test}^T DtestT,比例为1:9。
请注意,测试目标数据集 D test ⊤ \mathcal{D}_{\text {test }}^{\top} Dtest ⊤的标签在DADER中没有用于域自适应。(Note that labels of test target dataset D t e s t T D_{test}^T DtestT are not used in DADER for domain adaptation)
意思是说,验证集 D v a l T D_{v a l}^{T} DvalT的标签用于域适应了?验证集 D v a l T D_{v a l}^{T} DvalT的作用是啥呢?
相反,我们使用这些标签作为评估性能的ground-truth。在此基础上,我们用以下方法评价了ER的DA方法。
首先,我们基于 ( D S , Y S ) \left(\mathcal{D}^{\mathrm{S}}, \mathcal{Y}^{\mathrm{S}}\right) (DS,YS) 和 D T \mathcal{D}^{T} DT来训练我们的框架。
注意这里的 D T \mathcal{D}^{T} DT包括了验证集 D v a l T D_{val}^T DvalT和测试集 D t e s t T D_{test}^T DtestT
为了公平地比较第4节中提出的设计方案,在训练过程中,我们将训练迭代分为40个epoch,并在验证集 D v a l T D_{val}^T DvalT上评估每个epoch的DA模型快照的性能。我们选择了在所有epochs中性能最好的DA模型快照(snapshot),并使用相应的优化了的Feature Extractor F和Matcher M。然后,我们利用得到的Feature Extractor F和Matcher M对目标数据集 D t e s t T D_{test}^T DtestT进行预测,得到匹配/不匹配的结果进行评价。
验证集用于选择模型的方案(确定模型超参数、模型架构)
注意通过这种方式,使用到了少部分验证集的标签。但本质是为了做评估,而不是用这些标签做训练。
遵循在大多数ER工作的[21,42,49],我们使用F1评分来评估上述预测结果,这是匹配对的精度和召回率的调和平均值(Harmonic mean of precision and recall for the matching pairs)。具体来说,TP表示真阳性,即匹配器M正确输出的匹配对。FP表示假阳性,M错误输出的非匹配对。FN表示假阴性,M省略的匹配对。然后,我们可以分别计算精度和召回率为P=TP/(TP+FP)和R=TP/(TP+FN)。在此基础上,我们可以计算F1分数为F1=2·P·R/(P+R)。
我们将介绍在实验中比较的方法(对比实验)的实现细节如下。
我们在表1中实现了特征提取器F、特征对齐器A和匹配器M的设计选择。
对于Feature Extractor F:
**对于Matcher M:**为了实现匹配器M,我们遵循Ditto[42],使用一个完全连接的层和一个Softmax输出层
对于Feature Aligner A:
为了实现基于差异(Discrepancy-based)的特征对齐器A,我们根据方程(5)和(6)直接在特征提取器F的输出层上计算MMD和K阶。(直接计算,没有参数)
为了实现基于对抗(Adversarial-based)的特征对齐器A,我们在GRL中使用一个具有Sigmod激活函数的全连接层,然后是三个以LeakyReLU为激活函数的全连接层,以及一个具有InvGAN和InvGAN+KD的Sigmod层。请注意,超参数是根据验证集来选择的,如上所述。
实现基于重构(Reconstruction-based)的特征对齐器A,我们采用一个具有默认设置的pre-trained model Bart[39]来实现ED中的重构任务。(ED即Encoder-Decoder)
我们使用验证集 D v a l T D_{val}^T DvalT来选择超参数。具体来说,对于选择,我们首先给出一组候选值{0.001,0.01,0.1,1,5},然后对每个值进行实验,然后对不同的数据集选择在 D v a l T D_{val}^T DvalT上F1得分最高的值。类似地,我们在不同数据集上将学习率设置为1e-5或1e-6,Batchsize大小设置为32。
这是一种不为ER应用DA的基线方法。具体来说,它利用了我们的DADER框架,但是没有特征对齐器A,而其中M和F与DA完全相同
消融实验,不设置DA
我们考虑ER[68]的DA的替代方案,为了便于表示,它记为Reweight。与专注于特征学习的DADER不同,它的目标是重新加权Source实体对,以强调与Target相似的对(reweighting source entity pairs to emphasize the ones similar to the target.)为此,Reweight首先使用word embedding技术将实体对转换为特征向量,然后度量该特征空间中源实体对和目标实体对之间的相似度。
Reweight方法指的是样本权重迁移法
然后,根据得到的相似度得分计算源实体对的权值,并通过考虑权值来训练匹配器M。我们使用了从[68]中提供的代码。我们使用fastText将实体对转换为300维向量,性能最好。我们为匹配器运行默认的四个机器学习分类器,并报告最佳结果。
我们在原始代码[1]中使用了具有默认设置的最佳Hybrid方法:默认学习速率为1e-3,批处理大小与DA相同。
我们从[2]中运行它的原始代码,它使用了预训练的Roberta[44]模型和默认的三个优化操作,以及学习率3e-5。
所有的方法都使用PyTorch[51]和Transformers库[75]实现了。所有的实验都是在一台具有4个CPU内核(Intel Xeon Gold 6138 CPU @ 2.00GHz)、4NVIDIA RTX 24GB GPU和1024GB内存的服务器上进行评估的,Python的版本是3.6.5。所有的实验都重复了三次,并报告了平均结果(average results)和标准偏差(standard deviations)。
这部分得出结论:
1、DA在来自相似域的数据集(表3)和来自不同域的数据集(表4)上都适用于ER问题。
2、当源数据集更接近目标数据集时,DA获得了更高的F1分数,这就确定了源数据选择的一个可能的研究方向,例如,为DA选择一个“close”域来提高性能。
由于DA的效果可能取决于源数据集和目标数据集之间的域转移程度,我们考虑以下两种设置,以提供更全面的评估。
(1) Similar Domains:我们从同一领域选择数据集(如表2所示的product和citation),例如,Walmart-Amazon → Abt-Buy。
(2)Different Domains:我们选择跨域的数据集来准备源数据和目标数据集,例如,RottenTomatoes-IMDB (movie) → Abt-Buy (product)
通常而言,当域之间差异过大时,往往DA的效果较差。
请注意,我们使用Pre-trained LMs作为默认的特征提取器(Feature Extractor),并将在第6.4节中讨论其他的设计选择。
NoDA利用了我们的DADER框架,但是没有特征对齐器A,而其中M和F与DA完全相同。
而为了实现A分别用了三种方法:基于差异(MMD、K-order)、对抗(GRL、InvGAN、InvGAN+KD)、重构(ED)
注意: Δ F 1 ΔF1 ΔF1表示最佳DA方法(黑色加粗)与NoDA方法相比获得的F1改进。
从表3可以看出,当源和目标数据集来自相似域时,DA可以得到明显的改进。在此设置中,虽然 D S \mathcal{D}^{\mathrm{S}} DS 和 D T \mathcal{D}^{T} DT描述了相似域中的实体,但这些实体可能具有不同属性或在同一属性中不同的文本样式,这可能会导致域移位效应。由于这种效果,只接受过训练 D S \mathcal{D}^{\mathrm{S}} DS的NoDA可能会关注只对源有用的信息(即属性、值、文本等),从而导致目标数据集DT的性能下降。实验结果表明,DA可以帮助调整模型,利用 D S \mathcal{D}^{\mathrm{S}} DS 和 D T \mathcal{D}^{T} DT共享的信息,从而减少域偏移。
以Abt-Buy和Walmart-Amazon为例。数据集共享两个属性(Title, Price),而Abt-Buy有一个文本属性(textual attribute)Description,Walmart-Amazon有三个结构属性(structural attributes)即(Category, Brand, Modelno)。表3显示,在Walmart-Amazon→ Abt-Buy和Abt-Buy→Walmart-Amazon的NoDA基础上,DA可以分别提高性能6.8和14.2。这是因为DA指导F和M充分利用共享属性(Title, Price),而不是过多地关注源中的特定属性。另一个有趣的例子是DBLP-Scholar和DBLP-ACM,它们具有相同的属性(Title, Authors, Venue, Year),但是属性Authors文本风格不同,即DBLP-Scholar用的是缩写(如“m stonebraker”)和DBLP-ACM的全名(如“michael stonebraker”)。结果表明,在这种情况下,DA也可以帮助F和M从 D S \mathcal{D}^{\mathrm{S}} DS中为获 D T \mathcal{D}^{T} DT得有用的信息。
如表4所示,当源数据集和目标数据集来自不同的领域时,DA可以获得更显著的改进,即在NoDA性能较低的基础上,从11.0提高到43.9。主要原因是,在这个设置下的源数据集和目标数据集有很大的不同,即它们的属性可能完全不同,描述的内容也可能完全不同。因此,域位移的影响比之前的设置更显著,导致NoDA的性能较低。本实验中DA的增益表明,DA对数据分布存在显著差异的数据集是有帮助的。
注意,这里原文其实以偏概全。实际上,当偏移过大时,往往产生没法迁移的情况,即负迁移。
为了帮助我们理解DA是如何减少域移的,我们使用t-SNE[71],这是一种常用的高维特征分布可视化(Visualizing highdimensional feature distributions)的方法 [25, 45],将源和目标数据集的特征映射到二维空间。
t-SNE是一种可视化方法,其实能衡量两个数据集特征时间的相近程度。
由于空间的限制,我们只展示了Abt-Buy→Walmart-Amazon的案例。
我们在图5中显示了它们的分布,其中黄色十字和蓝色点分别代表源和目标实体对。左侧对应NoDA(即特征提取器F仅在源上进行训练),右对应DA(即特征提取器F已采用DA中的InvGAN+KD方法)。我们可以看到,当我们应用DA时,源实体对和目标实体对明显更加混合。结果表明,DA可以引导F,使源和目标的特征分布更加接近,有助于M对目标DT进行正确的预测。
t-SNE将Feature Extractor从实体对中提取到的高维特征,映射到2维。以此来衡量在不同的情境下,Source和Target实体对的相近程度。
Finding 1: DA在来自相似域的数据集(表3)和来自不同域的数据集(表4)上都适用于ER问题。
DA works well for the ER problem both on the datasets from similar domains (Table 3) and the datasets from different domains (Table 4)
我们注意到,DA的改善并不总是显著的。例如,如表3所示,对于DBLP-Scholar → DBLP-ACM,DA获得了与NoDA相同的结果。主要原因是最初在源DS上训练的模型已经能很好地预测了目标DT。为了进一步研究这一点,我们评估了表5中的WDC数据集,结果显示DA的增益并不明显(从−1.5到8.3)。
这是因为这四个WDC数据集,尽管对应于不同的类别(categories),但具有相同的文本属性(textual attribute)(即Title),它遵循相同的单词词汇表( Follows the same word vocabulary)。因此,不同的WDC数据集的数据分布将是非常相似的。这可以通过NoDA对目标DT的一些结果来验证(e.g., computers → watches: 88.6, watches → cameras: 86.1, watches → shoes: 76.3 and cameras → computers: 87.0),优于在他们自己的训练集训练的SOTA的ER模型[42] (computers: 80.8, cameras: 80.9, watches: 85.1, and shoes: 75.9)。结果表明,在这种情况下,域位移可能不显著,因此DA的改进空间很小。
这里所说的SOTA是Ditto,为什么比SOTA模型还要好?
因为Feature Extractor采用了LMs,即BERT,与Ditto相同的设置。
**以上发现启发我们进行深入的分析,以检验源和目标之间的“distance”是否会影响DA性能。**我们通过使用最大平均差异(MMD)[30]来计算源数据集和目标数据集之间的距离,如第5节所述。具体来说,对于源和目标,我们都使用预训练的Bert[19]作为特征提取器来获得一个768维的特征空间。MMD越小,数据集之间的距离就越近。其结果如图6所示。给定相同的目标数据集DT,我们可以清楚地观察到,当源和目标彼此更接近时,DA获得了更高的F1分数。
使用BERT作为特征提取器,提取特征。然后,通过MMD方法,计算出特征之间的差距。
这表明可以利用这种距离为给定的目标选择更好的源数据集,这将在未来的工作中进行研究。
同一条连线代表同一个Target,MMD越大,F1越小,负相关
Finding 2:当源数据集更接近目标数据集时,DA获得了更高的F1分数,这就确定了源数据选择的一个可能的研究方向,例如,为DA选择一个“close”域来提高性能。
DA achieves higher F1 scores when the source dataset is closer to the target dataset, which identifies a possible research direction on source data selection, e.g., choosing a “close” domain for DA to improve the performance.
close翻译为“靠近的”
本节探讨了表1中所示的Feature Aligner A的设计选择的优点和限制。
具体来说,我们分析了A提高ER性能的成功案例,以及A没有提高的失败案例。
关于Feature Aligner A的设计,总共有六种情况:
MMD、K-order、GRL、InvGAN、InvGAN+KD、ED
从表3和表4可以看出,MMD和InvGAN+KD在几乎所有情况下都优于NoDA,而这两种方法似乎有很大的差异性。为了进一步比较它们,我们以Books2为源,以Fodors-Zagats为目标,研究了它们具有不同学习速率的训练epoch。
这里的曲线指的是,以Books2为源,利用 ( D S , Y S ) \left(\mathcal{D}^{\mathrm{S}}, \mathcal{Y}^{\mathrm{S}}\right) (DS,YS),以Fodors-Zagats为目标,利用 D T \mathcal{D}^{\mathrm{T}} DT,训练得到的模型,在 D t e s t T \mathcal{D}_{test}^{\mathrm{T}} DtestT上的表现。其中,可以通过手工或者 D v a l T \mathcal{D}_{val}^{\mathrm{T}} DvalT来确定超参数。
从图7可以看出,MMD在足够的epoch下总是收敛的,而InvGAN+KD是振荡的。
当学习速率为1e-5时,NoDA和MMD分别收敛于F1分25和78,InvGAN+KD首先在第6个epoch达到较高的F1分,然后急剧下降。
如果学习速率较小,如图7©中1e-7,InvGAN+KD不会剧烈振动,并有收敛趋势。然而,最佳F1分数对应的epoch从6变化到12。
学习率小,训练时间长,这是合理的(It is reasonable,smaller learning rate,longer training time.)。
epoch翻译为轮次
Finding 3:基于差异的DA在足够的训练轮次后收敛并取得明显的改进,而基于对抗的DA可能出现振荡。可以通过降低学习速率来减少振荡,这可能会导致更多的训练轮次。
Discrepancy-based DA performs well to be convergent with enough training epochs and achieves obvious improvements, while adversarial-based DA may be oscillate. The oscillation may be reduced by reducing learning rate, which may lead to more training epochs.
以上发现表明,InvGAN+KD对超参数(如学习率)很敏感,因此InvGAN+KD需要一个小的验证集。如果研究人员有较小的带标记的Target验证集(small labeled target validation set),或有足够的经验和时间来调整超参数,我们建议采用一种更有前途的基于对抗性的方法(InvGAN+KD)。相反,建议采用性能稳定的基于差异的方法。
基于对抗的方法可能会得到一个较高的F1分数,但其对超参数敏感,这意味着,我们需要准备一部分带标签的Target数据集作为验证集,并且有足够的经验、时间(因为收敛需要更多的训练轮次)来调整超参数。
我们从表3和表4中观察到,有些方法比NoDA更差。因此,我们提供了一个深入的分析来讨论为什么这些方法在某些情况下会失败。
也就是InvGAN/GRL/ED
其实这种分析特例的方式很没有意义…
我们可以看到,在许多情况下,InvGAN比NoDA更差。例如,对于Fodors-Zagats → Zomato-Yelp,InvGAN的结果是29.7,而NoDA的结果达到47.6。为了探究其原因,我们研究了InvGAN对Fodors-Zagats → Zomato-Yelp的训练轮次。
训练的时候同时用到了S和T,因此可以这么说。
如图8所示,随着训练轮次的增加,源和目标的F1分数都急剧下降,并变得非常振荡。
其主要原因是,如第5.2节所述,InvGAN只调整了特征提取器,使目标特征 x T \mathbf x^T xT尽可能与源特征 x S \mathbf x^S xS相似,而忽略了调整后的特征是否具有区别性。(Ignoring whether the adjusted features are discriminative or not)
Discriminative即所调整得到的特征,是否准确的分辨出是否匹配。
InvGAN训练的时候没有训练M吗:只在第一阶段训练,之后M的分类性能并无法有效保留。
因此,所获得的特征可能会损害M的性能。这可以反映在,在调整后,M甚至在源数据集上变得显著恶化。
InvGAN相比于其他几种方式,采用了分步骤的方式。第一阶段训练好的M(在Source上表现较好),由于第二阶段的Adaption导致恶化。
另一方面,我们也从图8中观察到,InvGAN+KD可以有效地解决这个问题,从而实现更高、更稳定的性能。
这是由于InvGAN+KD中使用的知识蒸馏(knowledge distillation)保留了M的分类能力。
如何做的Knowledge Distillation?
这里说的保留M的分类能力,指的是Step1中的M。
基于重建的ED方法也在几乎所有情况下都表现出较差的性能,这与CV[27,73]的DA情况有很大的不同。这是由于Encoder-Decoder的方法很难捕获和重建原始实体对的文本信息。这一结果表明,基于重建的方法可能不适用于ER。
GRL通常是好的,但在少数情况下并没有超过NoDA,例如Book2→Zomato-Yelp,这是因为GRL训练通常是不稳定的,正如许多现有研究指出的[9,34]。在训练过程中,A和F之间的对抗可能会导致F和M的收敛失败。超参数的选择或模型参数的初始化都可能对最终结果有很大的影响。
应该属于GAN的特色,对抗中的训练往往是比较困难的,而且不稳定。是因为如果其中一方出问题,另一方肯定也出问题。
为什么同样采用了对抗:InvGAN+KD却能达到比较好的效果呢?因为采用了分阶段,先训练出了一个M,然后再在对抗的时候去跟着老师学习,更容易收敛一些(我猜的)
Finding 4: 在CV和NLP中,并非所有成功的DA方法都适用于ER。需要保证学习到的特征同时满足域不变(domain-invariant)特征和判别(discriminative)特征,而这两个因素之间的平衡是ER的DA的关键。
Not all successful DA methods in CV and NLP are applicable to ER. It is necessary to ensure that the learned features satisfy both domain-invariant and discriminative characteristics, while the balance between these two factors is the key for DA for ER.
在前面几节中使用预训练的LMs(即Bert)作为默认F后,我们接下来将探讨使用其他选择的性能。
我们研究了双向RNN,因为正如在DeepMatcher[49]中报道的,使用可分解注意力的双向RNN的混合方法(Hybrid method using bidirectional RNN with decomposable attention)获得了最好的ER性能。
因此,在本文中,我们使用与基于DeepMatcher代码的相同的混合架构,作为特征提取器。
为了处理 D S \mathcal{D}^{\mathrm{S}} DS 和 D T \mathcal{D}^{T} DT具有不同属性的情况,我们学习了一个通用的RNN,而不是根据现有的工作DTAL[35],为每个属性学习一个单独的RNN。
图9显示,Bert在所有三个数据集组(Three dataset groups,总共6种组合)中都优于RNN。以RNN作为特征提取器,F1得分较低,DA的改善不明显。这说明RNN的转移能力较弱,因此用源DS训练的模型严重依赖于自身,不能很好地作用于目标DT。因此,DA很难调整RNN来提取域不变特征。
**Finding 5:**当特征提取器为双向RNN时,DA的增益不明显。ER中DA的改进取决于预训练的LMs的可迁移性。
When Feature Extractor is a bidirectional RNN, the gains of DA are not obvious. The improvement of DA for ER depends on the transferability of Pre-trained LMs
预训练模型本身提取语义特征的作用就很强大。
本节将我们的DADER方法与现有的方法进行了比较。
请注意,我们使用了InvGAN+KD的结果,它在DADER框架下获得了最好的性能。
最好的性能离不开验证集 D v a l T D_{val}^{T} DvalT调整超参数
Alternative Solutions指的是其他替代方法。
我们首先将DADER与ER的替代DA方法Reweight进行比较,这在第6.1节中描述。图10显示,DADER比Reweight要好得多。
这是由于这两种方法中使用的不同的DA策略。Reweight侧重于实例级(instance-level)的方法,该方法对源实体对重新加权,并将它们调整与目标相似。当源和目标之间的相似性难以测量或源数据数量少量时,这种方法可能不会有效。相比之下,DADER采用了一种特征级(feature-level)的方法来学习域不变特征和判别特征,这在许多应用中被证明更有前景,如CV和NLP。
DA方法简单的说,可以分为实例级和特征级,实例级对应的方法是Reweight,特征级对应的方法就是这种特征适应,重新映射到一个新的特征空间。
具体来说,Reweight是怎么做的?选择出那些与目标域相似的样本,给予更高的权重,相反,其他样本给予更低的权重。我们期待说,如果我们筛选得到的源样本与目标越相近,那么自然而然效果更好。
Finding 6:学习域不变特征和鉴别特征的特征级DA方法比基于实例的重新加权源数据的方法更好。
Finding 6: Feature-level DA approaches that learn domaininvariant and discriminative features are better than instance-based approaches that reweight source data.
注意,这部分与前面的DA部分是分开的,这里使用的是前面已经通过DA训练好的模型(Feature Extractor + Matcher),在这个模型的基础上,选择少量target的标注数据来finetune模型,从而在test上进行预测,这个过程不涉及source数据。这个finetune阶段的损失函数就是0/1分类的cross entropy loss(和ditto的finetune类似)
我们利用一些有标记的Target数据,探讨了不同方法的性能。为了公平比较,Target数据集是DeepMatcher提供的原始实验数据集[49],该数据集分为训练、验证和测试,比例为3:1:1。我们从训练集中选择有标记的数据,并在测试集上记录F1分数。由于空间的限制,我们在图11中报告了四个包含大量数据的数据集。
这部分属于有监督域适应。
绿线和红线分别对应NoDA和InvGAN+KD。
为什么NoDA对应的方法要好过Ditto、DeepMatcher?
NoDA是先使用source数据训练了模型,虽然没有使用domain adaptation技术,但也赋予了模型一定的匹配知识,因此在做少量标注的训练时,利用maximum entropy principle选出的数据更能帮助提升模型,而Ditto和DeepMatcher是没有这个能力的。因此即使是NoDA,也可以在早期呈现出比Ditto和DeepMatcher更好的效果。
由于之前已经有了一部分匹配能力,因此可以进一步通过maximum entropy principle选取样本;
但是,Ditto和DeepMatcher并没有先验的匹配知识,因此没法通过最大熵选择样本。
此外,我们将我们的方法与Ditto[42](即蓝线)和DeepMatcher[49](即棕色线)进行了比较。我们根据最大熵(maximum entropy)原理来选择labeled data,这是主动学习(Active Learning)的基本原理。我们标记了每轮200个训练集,总共4轮(rounds)。
最大熵原理是啥,以及如何应用:
在做少量标注的训练时,利用maximum entropy principle选出的数据更能帮助提升模型。只所以优先筛选具有更大熵值的样本,是因为这些样本含有更大的信息量,借助这些样本能够让模型学习的更好。
如果只能选取固定数量的样本,就要选取那些熵值较大,即不确定性更大样本(虽然不准确,可以简单理解为更难分类的样本,比如说(0.5,0.5)比起(0.8,02)来说,熵值就更大一些,也更难分类一些,所选取到的样本越位于分类器的决策边界(超平面)的附件。
假设我们知道真实的概率分布,也就知道真正的熵值。但我们现在不知道真实的概率分布。对于NoDA和InvDA+KD而言,至少相对接近真正分类器,那么计算得到的概率分布也就相对准一些。
下图,(a) 一个由400个实例组成的数据集,从两类高斯分布均匀采用。实例表示为二维特征空间中的点。(b) 从问题域中随机抽取30个标记实例,训练一个逻辑回归模型。这条蓝线代表了分类器的决策边界(70% 的准确率)。© 使用不确定性抽样对30个主动查询实例进行训练的逻辑回归模型(90%)。
由此说明,样本对模型的贡献并不是一样的,选择更有价值的样本具有实际意义。选择靠近决策边界的样本,得到的分类器效果的泛华效果更好。
rounds指的是?指的是更换一批训练数据后,再重新训练一次。
当标记数据数量较小时,InvGAN+KD明显优于其他方法。随着标签数目的增加,Ditto和DeepMacher得到了提高,但DeepMacher的整体性能低于其他方法。结果表明,要达到良好的性能,DeepMacher需要更多的标记数据,Ditto可以用少量(a few)标记数据表现良好。然而,DADER在各种情况下获得的F1得分最高。
**Finding 7:**DA后的模型的性能总是可以通过一些标记的数据保持在一个高水平,同时优于最先进的基于DL的ER方法DeepMatcher[49]和Ditto[42]。
将DA之后的方法,与SOTA方法DeepMatcher和Ditto进行比较。(前几个实验,是将DA之后的方法,与DA之前的方法比较)
这里也有偷懒的意思,虽然与SOTA方法相比较的时候,用了同样的label data,但是DA方法还用了其他Domain的信息,相当于参考了更多的信息。
近年来,基于DL的方法被广泛应用于ER中,并取得了最先进的成果。DeepER[21]设计了两个深度神经网络来提取实体对的特征,并将ER建模为一个二值分类任务。DeepMatcher[49]系统地定义了ER的DL解决方案的体系结构和设计空间。Ditto[42]首先将预训练的语言模型应用于ER,这可以减少所需的训练数据的数量。尽管如此,基于DL的方法仍然需要许多训练实体对。
Domain adaptation (DA)[25,43,45,64,69]是迁移学习[36,80]的一个例子,是一种重用labeled Source数据到(可能的)不同Target数据的有效方法。
Labeled source data是可以重用的
现有的DA解决方案可以大致分为实例级(instance-level)、特征级(feature-level)和其他级别。
(1)实例级:这些方法旨在通过使源数据实例调整到目标分布,来重用它们。为此,传统的研究重新加权源数据实例,以强调与目标[8,16]相似的实例。最近提出了一种DL方法来学习映射函数,使源数据实例与目标[13,33]相似,或为目标数据[26]生成伪标签。
(2)特征级:这些方法侧重于学习领不变特征和判别特征。现有的特征级方法可以分为三类。
(3)其他:还有许多其他的DA研究,如DA处理多任务的元学习[54]和多步(multi-step)DA[14,63]。此外,还提出了许多基于预训练的解决方案,例如选择Source预训练数据以有利于target[18],以及在Target[31]上执行预训练任务。
在上述DA方法中,我们选择了最有效和最成功的特征级方法(见最近的调查[73,74]),并研究哪些DA设计选择对ER有帮助。
由于DA在CV和NLP中具有良好的性能,因此有人尝试将DA应用于ER。Thirumuruganathan等人引入了一种实例级的方法来重新加权源数据实例,并使其适应于目标[68]。Kasai等人将DA应用于具有梯度反向(gradient reverse)[35]的ER,这是我们提出的设计空间中的一个特例。
然而,目前还没有研究ER的DA的系统研究,特别是在同一框架下比较各种DA解决方案。因此,从业者很难理解将DA应用于ER的好处和局限性。
在本文中,我们通过定义DA解决方案的大空间,并开发了六种具有代表性的特征对齐器方法,将DA应用于ER,提高了SOTA
我们进行了广泛的实验,以评估设计空间中不同方法的组合(第6节),并有深刻的实证发现
当在Source上训练的模型在Target上表现不佳时,DA可以显著提高ER
如果为DA选择一个“相近”的源域,可能会更有益。
对于特征对齐器方法,基于差异的方法(例如,MMD)更稳定,但基于对抗的方法InvGAN+KD在仔细调整超参数时效果最好。
此外,并非所有成功的CV和NLP中的DA方法都适用于ER
预训练LM特征提取器比基于RNN的方法效果更好
虽然ER的DA可能有不同的方法,但学习域不变和判别特征的特征级DA方法优于基于实例的方法
最后,当目标数据集的标签可用时,与SOTA 基于DL的方法(使用/没使用 预训练语言模型)相比,使用DA需要更少的Target训练数据来获得较高的精度。
这项研究提出了几个需要进一步研究的问题。例如,DA使用多个标记源数据的数据是否可以进一步帮助ER?如果是这样,我们是全部使用它们还是源数据集的一个子集?如何将DADER框架与ER阻塞相结合来构建一个可伸缩的ER框架?