论文理解—— Disentangle-based Continual Graph Representation Learning

EMNLP 2020 Disentangle-based Continual Graph Representation Learning

链接: https://arxiv.org/abs/2010.02565
Github: https://github.com/KXY-PUBLIC/DiCGRL

研究背景:

多关系数据表示真实世界中实体和实体之间的关系,其中的节点表示实体,边代表实体之间的关系,比如常见的知识图谱和信息网络等。利用图表示学习方法对多关系图建模一直是学术界和业界关注的热点。图表示学习目的是将图中的节点和/或边嵌入到一个低维语义空间中,使神经模型能够有效地利用多关系数据,更好的用于问答、对话系统等下游NLP任务中。

然而,大多数现有的图表示学习工作忽略了在真实场景中数据是不断到来的特性。因此,这些模型必须从头再训练以反映数据的变化,这在计算上是很昂贵的。为了解决这一问题,我们在本文中研究“图表示学习的可持续性研究”(CGRL)问题。持续学习的目标是避免在学习新数据时灾难性地忘记旧数据。NLP中有两种主流的连续学习方法:(1)基于正则化的方法,它们在学习新数据时,动态调整旧数据的重要模型参数;(2)基于内存的方法,这些方法记住了一些旧的例子,并和新数据一起学习。尽管这些方法在分类任务上取得了良好的效果,但它们在图表示学习上的有效性尚未得到验证。因为现有的NLP上的方法都是基于分类模型,而分类模型的特点是不同的数据之间是离散的独立的,可以分别进行处理。但是在多关系图中的节点和边是相互关联的,直接在多关系数据上使用现有的连续学习方法效果上并不好。
在这里插入图片描述

在认知心理学中,程序性知识是指一组操作步骤。它的最小单位是产生式,多个产生式可以完成一系列的认知活动。人类在学习新的程序性知识时,只会更新一些相关的结果,而不会对其他的结果进行更新。直观上,可以模仿这样的过程,将每一个新数据都视为一种新的程序性知识,学习不断增长的多关系数据。
如图所示是以用户为节点组成的一种多关系图。我们已知用户节点Barack Obama和Michelle Obama的一些相关三元组主要与三个概念有关:“家庭”,“职业”和“地点”。 如果在对话中出现了一条新的关系三元组信息(Michelle Obama,Daughter, Malia Ann Obama)时,我们只需要更新和Barack Obama中与“家庭”相关的一些信息即可,对于他的“职业”或者“地点”等信息不需要再进行学习和更新。在更新后,我们可以进一步推断出三元组(Barack Obama,Daughter,Malia Ann Obama)也是成立的。

受程序性知识学习的启发,我们提出了一个基于就耦合的持续图表示学习框架DiCGRL。我们提出的DiCGRL由两个模块组成:(1)解耦合模块。它将图中的关系三元组按照语义方面分离成多个独立的组件,并利用已有的知识图嵌入(KGE)和网络嵌入(NE)两种典型方法学习解耦合的图嵌入;(2)更新模块。当新的关系三元组到达时,它选择相关的旧关系三元组,只更新它们的图嵌入的对应组件。与基于记忆的保存固定的旧数据集的连续学习方法相比,我们的模型可以根据新数据动态地选择重要的旧数据来,使我们的模型能够更好地建模复杂的多关系数据流。

相关工作:

论文旨在提升多关系图上可持续学习的效果,因此分别从图表示学习技术和可持续学习技术两方面阐述现有技术方案:
(1)图表示学习技术:图的表示学习又叫做图嵌入,这类方法主要是将多关系图中的实体(和关系)用低维向量或矩阵来表示。现实世界中,典型的多关系图主要分为两类:知识图谱(KG)和信息网络。 GE主要包括知识图谱嵌入(KGE)和信息网络嵌入(NE),我们的DiCGRL框架可以同时应用在上述两类典型的GE方法上,这也证明了我们的框架的泛化能力是比较好的。
KGE最近是一个比较活跃的研究领域,在应用到下游的链接预测任务上时可以主要可以分为两类工作。第一类技术利用了重建的方式。他们使用KG三元组中的关系和尾部(或头部)嵌入来重建头部(或尾部)的嵌入,例如,TransE[1],RotatE[2],ConvE[3],ConvKB[4]等模型。第二类技术是基于双线性的模型,他们将知识图谱的链接预测任务视为语义匹配问题。具体方式是将头部,关系和尾部的嵌入作为输入,并使用双线性变换(例如,DistMult[5],ComplEx[6],SimplE[7], CapsE[8],KBGAT[9]等模型)来得到每个三元组的语义匹配分数。
除了KGE,NE在学术界和工业界也得到了广泛的探索。早期的一些方法,例如,致力于学习信息图上的静态节点嵌入。最近,图神经网络(例如,DeepWalk[10],LINE[11]等模型)引起了广泛的关注,并在学习网络嵌入方面取得了显著成功。

(2)持续学习技术:持续学习又叫做终身学习技术,目的是对不断到来的流数据进行增量训练,而且可以有助于减轻灾难性的遗忘之前学过的知识。自然语言处理(NLP)领域中的持续学习方法主要可分为两类:基于正则化的方法(例如EWC[12]等模型),它通过减慢参数更新的速度来保留旧知识;以及基于内存的方法(例如,R-EWC[13],DGR[14],GEM[15],EMR[16]等模型),该方法通过保留旧数据中的一部分示例,并且和新数据一起学习来达到减轻遗忘的效果。
现有的大多数GE模型都假设训练数据是静态的,忽略了真实世界中数据是不断增加的特性,这使得它们在实际应用中不切实际。在论文中,我们研究了多关系图上可持续学习的问题,目的是希望让已有的一些GE方法(包括KGE和NE)能够在不断来的新数据上可以持续的学习,同时尽量不会忘记旧的已学到的知识。
尽管在NLP(例如,LAMAL[17]等模型)和计算机视觉领域(例如EWC[12]等模型)中已经对持续学习进行了广泛的研究,但在多关系图嵌入方面的探索却相对较少。 DySAT[18]方法试图在不断增加的图数据上学习表示。但是,它假定了时间戳信息是事先已知的,这妨碍了将其直接应用于其他任务。论文提出的模型在两个方面与先前的工作不同:(1)DiCGRL不需要预先定义好的时间戳,这使其在各种类型的多关系图中更加可行; (2)DiCGRL利用了解耦合的技术来在图上进行持续学习并可以取得较好的效果。

模型设计:

一、问题的形式化定义

论文所研究的多关系图可以形式化地表示为 G = ( V , E ) G=(V,E) G=(V,E),其中V和E分别表示图上的节点集和边集。给定G中三元组 ( u , r , v ) ⊆ V × E × V {(u,r,v)}⊆V×E×V (u,r,v)V×E×V,我们将它们的嵌入表示为 u , v ∈ R d , r ∈ R l u,v∈R^d,r∈R^l u,vRd,rRl,其中d和l表示向量维度。
论文提出的持续多关系图表示学习是在不断增长的多关系数据上训练图嵌入(GE)的一种模型,其中第i份多关系数据具有自己的训练集 T i T_i Ti,验证集 V i V_i Vi,测试集 Q j Q_j Qj。第i份训练集定义为一组关系三元组,即 T i = { ( u 1 T i , r 1 T i , v 1 T i ) , … , ( u N T i , r N T i , v N T i ) } \mathcal{T}_{i} = \{(u_1^{\mathcal{T}_{i}},r_1^{\mathcal{T}_{i}},v_1^{\mathcal{T}_{i}}),\ldots,(u_N^{\mathcal{T}_{i}},r_N^{\mathcal{T}_{i}}, v_N^{\mathcal{T}_{i}})\} Ti={(u1Ti,r1Ti,v1Ti),,(uNTi,rNTi,vNTi)},其中N是T_i的实例总数。第i份验证集和测试集的定义与训练集类似。通常,在第i份数据集上,GE模型将在 T i T_i Ti上进行训练,以学习新的三元组的表示。随着新的关系三元组的出现,持续的图表示学习要求GE模型在所有先前的验证集上都取得良好的结果。因此,在对第i份训练集 T i T_i Ti进行训练之后,将在 Q ~ i = ⋃ j = 1 i Q j \tilde{\mathcal{Q}}_{i}=\bigcup_{j=1}^{i}\mathcal{Q}_{j} Q~i=j=1iQj来衡量模型是否能够很好地对新的和旧的多关系数据同时进行建模。通过评估指标会发现,随着新的关系三元组的出现,一般来说,模型想要提升效果将是越来越困难的事。

每当出现多关系数据的时,本模型就会学习新的图嵌入,同时通过两个过程来防止灾难性地忘记旧的知识:(1)解耦模块:本模型根据语义将图中的关系三元组解耦为多个部分,并在每个部分下学习解耦的图嵌入。该图嵌入会将节点嵌入划分为多个独立的组件,其中每个组件都描述了节点的语义方面。(2)更新模块:当新的关系三元组到达时,论文首先**和新关系三元组具有相关语义的图的旧关系三元组,然后更新他们的图嵌入的相应部分。

二、解耦模块

当第i份训练集T_i出现时,论文需要根据这些新的关系三元组更新图嵌入表示。因此,对于每个节点 u ∈ V u∈V uV,我们想学习一个解耦合的节点向量表示u,该节点表示由K个独立分量组成,即 u = [ u 1 , u 2 , . . . , u k , . . . , u K ] ( 0 ≤ k ≤ K ) u=[u^1,u^2,...,u^k,...,u^K] (0≤k≤K) u=[u1,u2,...,uk,...,uK](0kK) u k \bm{u}^k uk用于表示节点u的第k个语义方面。如下图所示,论文的解耦模块的关键问题是如何根据其语义将关系三元组解耦为多个组件,以及如何独立学习不同组件中的图嵌入。
在这里插入图片描述

形式上,给定 T i T_i Ti中的关系三元组(u,r,v),本模块的目标是提取与关系r最相关的u和 v中的语义成分。具体来说,我们使用注意力机制对这个过程进行建模,其中给(u,r,v)分配K个注意力值 ( α r 1 , α r 2 , … , α r K ) (α_r^1,α_r^2,…,α_r^K) (αr1,αr2,,αrK),分别代表分配给第k个语义成分的概率。之后,本模型会选择出注意力权重最高的n个语义部分。然后,我们利用现有的GE方法学习出所选的前n个最相关的嵌入组件中的具体特征,并将特征学习过程表示为f。在这里,f可以是任何的图嵌入操作,目的是将节点u和v的特征融合到所选的前n相关组件中。在论文中,我们主要使用了两类典型的图嵌入技术包括:

(1)知识图谱嵌入:直观上,KG中的三元组最相关的语义成分与关系r直接相关。 因此,我们可以直接为每个显式关系r设置K个注意力值,第k个注意力值 a r k   ( 0 ≤ k ≤ K ) a^{k}_r\ (0 \leq k \leq K) ark (0kK)是可训练的参数,表明此边与第k个嵌入组件的相关度。注意力权重的归一化的计算公式为:

α r k = exp ⁡ ( a r k ) ∑ j = 1 K exp ⁡ ( a r j ) . \alpha^{k}_r = \frac{\exp(a^{k}_r)}{\sum_{j=1}^{K}\exp(a^{j}_r)}. αrk=j=1Kexp(arj)exp(ark).

相关工作中提到,KGE模型主要可分为两类:基于重构的模型和基于双线性的模型。论文分别探索了这两类技术在做特征提取时的有效性。具体来说,我们使用了两个经典的KGE模型作为f来提取特征,包括TransE(基于重构):

f = ∣ ∣ u ^ + r − v ^ ∣ ∣ p \bm{f} = ||\hat{\bm{u}} + \bm{r} - \hat{\bm{v}}||_p f=u^+rv^p

和ConvKB(基于双线性):

f = W 1 ( ReLU ( Conv ( [ u ^ ; r ; v ^ ] ) ) ) \bm{f} = \bm{W}_1 \left( \text{ReLU}\big(\text{Conv}([\hat{\bm{u}}; \bm{r}; \hat{\bm{v}}])\big) \right) f=W1(ReLU(Conv([u^;r;v^])))

其中 u ^ , v ^ \hat{\bm{u}}, \hat{\bm{v}} u^,v^是节点u和节点v选出的前n个最相关嵌入组件的串联; ∣ ∣ ⋅ ∣ ∣ p ||⋅||_p p表示p-norm归一化运算;[⋅;⋅]表示拼接操作;“Conv”(⋅)表示具有M个过滤器的卷积层,以及 W 1 ∈ R 1 × M d n K \bm{W}_1 \in \mathbb{R}^{1 \times \frac{Mdn}{K}} W1R1×KMdn是一个可训练的矩阵。
总而言之,f是三元组(u,r,v)的得分函数,它倾向于给有效的三元组打分更高。

(2)信息网络嵌入:由于NE通常不提供显式的关系,因此我们首先根据节点u和节点v的表示来确定 α r k α_r^k αrk。 具体来说,首先将u和v的整体嵌入表示的拼接起来,然后执行一个非线性变换来计算 α r k α_r^k αrk

α r k = exp ⁡ ( ReLU ( W 2 [ u k ; v k ] ) ) ∑ j = 1 K exp ⁡ ( ReLU ( W 2 [ u j ; v j ] ) ) \alpha^{k}_r = \frac{\exp\left(\text{ReLU}(\bm{W}_2[\bm{u}^k;\bm{v}^k])\right)}{\sum_{j=1}^{K}\exp\left(\text{ReLU}(\bm{W}_2[\bm{u}^j;\bm{v}^j])\right)} αrk=j=1Kexp(ReLU(W2[uj;vj]))exp(ReLU(W2[uk;vk]))

图注意力网络(GAT)是在信息网络中广泛使用的一种学习嵌入的方法,它从节点的邻域收集信息,并会为不同的邻居节点分配不同的重要性权重,从而学习到较好的节点表示。因此,本模型利用GAT作为f来提取NE的潜在特征。给定目标节点u及其邻居节点 v ∣ v ∈ N u {v|v∈N_u} vvNu,首先根据注意力权重 α r k α_r^k αrk来确定每对节点(u,v)的前n个最相关的组件部分。当要更新u的第k个部分的嵌入表示时,只需要考虑u的和第k部分语义相关的那些邻居节点v,具体的选择方法就是看(u,v)的前n个最相关的语义是否包括第k块。这样,我们可以就可以将目标节点的邻居彻底分解为不同的部分,以分别发挥他们的作用,然后用 GAT用于更新每个部分,如下所示:

u k = ∑ v ∈ N u σ ( W 3 v k ) W 4 k v k \bm{u}^k = \sum_{v \in N_u} \sigma (\bm{W}_3\bm{v}^k) \bm{W}_4^k \bm{v}^k uk=vNuσ(W3vk)W4kvk

W 3 ∈ R 1 × d \bm{W}_3 \in \mathbb{R}^{1 \times d} W3R1×d W 4 ∈ R h × d \bm{W}_4 \in \mathbb{R}^{h \times d} W4Rh×d是两个可训练的矩阵,h是GAT中的隐层大小,而σ是归一化函数,用于计算第k个分量中每个邻居的相对注意力权重值。

三、更新模块

现在,论文剩下的问题是当出现新的关系三元组时模型应该如何更新解耦合的图嵌入,同时还要防止灾难性的遗忘旧的数据。如下图所示,此过程主要包括两个步骤:
在这里插入图片描述

(1)邻居**:首先该模块需要确定 T 1 , . . . , T ( i − 1 ) T_1,...,T_(i-1) T1...T(i1)中的哪些关系三元组需要更新。由于在多关系图中,大部分节点都不是独立的,因此新出现的关系三元组很可能会对和它们有边相连的旧的邻居节点的嵌入产生影响。受此启发,对于每个关系三元组(u,r,v),我们**了它们的直接和间接邻居三元组(即一度邻居和二度邻居)。具体来说, ( u , r , v ) ∈ T i (u,r,v)∈T_i (u,r,v)Ti的邻居是指所有在之前的图上和节点u或者节点v有边相连的三元组。实际上,由于某些节点的度数比较大,将所有邻居都加到 T i T_i Ti中一起训练的话在计算资源上是昂贵的。因此,我们利用了一种选择机制,仅更新一部分相关的邻居:即对于每个邻居三元组来说,当且仅当它和新来的目标三元组共享最关注的前n个语义成分,才会被**。

(2)部分语义更新:论文不必更新已**邻居的所有语义嵌入。例如,如果关系三元组 ( u ′ , r ′ , t ′ ) ∈ ( T 1 , ⋯   , T i − 1 ) (u', r', t') \in (\mathcal{T}_1, \cdots, \mathcal{T}_{i-1}) (u,r,t)(T1,,Ti1),我们只需要更新最关注的前n个语义成分即可,因为其他的语义成分不会受到影响,也就不需要改变。我们使用在解耦模块提到的GE嵌入方法来更新相应的节点和边的嵌入表示。在训练过程中,本模型会迭代训练新的关系三元组和被**的邻居关系三元组的相关语义成分。通过这种训练过程,我们的模型不仅可以学习新数据的嵌入表示,而且可以有效地防止灾难性遗忘问题。

四、训练策略

如前所述,对于新来的多关系图数据 T i T_i Ti,我们在 T i T_i Ti及其**的相邻关系三元组上迭代训练模型。我们将这两部分的损失函数分别表示为 L n e w L_{new} Lnew L o l d L_{old} Lold。对于KGE,我们利用软间隔距离损失函数来训练模型。

L n e w = − ∑ ( u , r , v ) ∈ T i ∪ T i ∗ log ⁡ ( 1 + exp ⁡ ( y ⋅ f ( u , r , v ) ) ) \mathcal{L}_{new} = - \sum_{{(u,r,v)}\in \mathcal{T}_i\cup\mathcal{T}_i^*} \log\left(1+ \exp\left(y \cdot \bm{f}(u, r, v)\right)\right) Lnew=(u,r,v)TiTilog(1+exp(yf(u,r,v)))

其中 T i ∗ \mathcal{T}_i^* Ti表示在第i份数据上通过负采样得到的一些无效的三元组,如果 ( u , r , t ) ∈ T i (u,r,t)∈T_i (u,r,t)Ti,则y=1,否则,y=-1。对于NE,我们类似于GAT使用标准的交叉熵损失,并在节点分类任务上训练我们的模型。 L n e w L_{new} Lnew可以表示如下:

L n e w = − ∑ u ∈ N ( T i ) 1 ∣ C ∣ ∑ c = 1 ∣ C ∣ y ( c ) ⋅ log ⁡ ( σ ( W 5 u ) ) \mathcal{L}_{new} = - \sum_{u\in N(\mathcal{T}_i) }\frac{1}{|C|} \sum_{c=1}^{|C|} y(c) \cdot \log\left(\sigma(\bm{W_5} \bm{u})\right) Lnew=uN(Ti)C1c=1Cy(c)log(σ(W5u))

其中c是指节点的类别,如果节点标签为c,则 y ( c ) = 1 y(c)=1 y(c)=1,否则 y ( c ) = 0 y(c)=0 y(c)=0; N ( T i ) N(T_i) N(Ti) T i T_i Ti的节点集, ∣ C ∣ |C| C表示类别总数,而 W 5 ∈ R ∣ C ∣ × d \bm{W_5} \in \mathbb{R}^{|C| \times d} W5RC×d是可训练的矩阵。对于KGE和NE来说, L o l d L_{old} Lold就是在选定的旧的关系三元组上使用和 L n e w L_{new} Lnew相同的方式来训练。

直观上,我们会发现当关系关注的语义成分数目越少,解耦合的效果就越好。 因此,我们添加了约束损失的正则化项 L n o r m L_{norm} Lnorm,鼓励前n个所选的最相关部分的注意力权重总和达到1 :

L n o r m = ∑ ( u , r , v ) ∈ T i ( 1 − ∑ k n α r k ) \mathcal{L}_{norm} = \sum_{(u, r, v) \in \mathcal{T}_i} (1 - \sum_{k}^{n}{\alpha}^k_r) Lnorm=(u,r,v)Ti(1knαrk)

因此,模型的最终损失函数为 L = L o l d + L n e w + β ⋅ L n o r m \mathcal{L} = \mathcal{L}_{old} + \mathcal{L}_{new} + \beta \cdot \mathcal{L}_{norm} L=Lold+Lnew+βLnorm,其中“β”表示正则化项的权重超参数。

实验:

为了验证论文的效果,我们分别在实际场景的知识图谱(FB15k-237[19], WN18RR[20])和信息网络(论文引用Cora, CiteSeer, PubMed[21])数据集上进行了实验分析。在持续的学习完所有部分的图数据之后,我们使用两种设置来评估论文的整体性能:(1)整体性能:计算在整个测试集的评估指标; (2)平均性能:将所有测试集的评估结果求平均值。由于平均性能突出了处理灾难性遗忘问题的性能,因此它是评估模型的主要指标。

我们将论文与几种基线模型进行比较:(1)Lower Bound:它不断地在新的多关系数据集上微调模型,而无需记住任何历史实例; (2)Upper Bound,它使用所有历史和新加入数据不断地重新训练模型。实际上,该模型是进行持续学习的理想上限。(3)EWC[12],它采用弹性权重的方式为参数的更改添加正则化限制。它使用Fisher信息来测量相对于旧数据的参数重要性,并在学习新数据时减慢那些重要参数的更新;(4)EMR[16],这是一种基于内存的方法,它可以存储一些历史实例并进行内存重播。每次输入新数据时,EMR都会将存储的实例与新实例进行混合以微调模型。(5)GEM[15],它存储了一些历史实例,并在模型参数改变的方向上添加了约束,以确保优化方向与旧数据不冲突。结果如下:
在这里插入图片描述
在这里插入图片描述

从表中可以看到:(1)论文的效果大大优于其他模型,并且几乎在所有设置和数据集中均达到了最好的性能。它验证了本模型在持续学习中的有效性。(2)本模型与上限之间仍然存在巨大差距。这表明尽管我们已经提出了一种用于连续图表示学习的有效方法,但它仍然是一个开放的问题,值得进一步探讨。(3)尽管本模型在三个信息网络基准中的几乎所有设置中均优于其他基准模型,但是性能增益却不如在知识图谱数据集上高。原因是这三个引用信息网络数据集都提供了丰富的节点特征,这会减少拓扑更改的影响。可以看出,即使最弱的“下界”模型效果也可以接近于“上界”的结果。
为了进一步研究评估指标如何在学习新的关系三元组时发生变化,我们在下面的图中展示了在KG和信息网络数据集上随着数据的增加,效果的变化情况。
在这里插入图片描述

从图中可以看出:(1)随着新的三元组的数量增加,所有模型的性能都有一定程度的下降。这表明灾难性地遗忘旧数据是不可避免的,并且这确实是连续图表示学习的主要困难之一。(2)基于内存的方法EMR优于基于正则化的方法,这表明基于内存的方法在某种程度上可能更适合于减轻多关系数据中的灾难性遗忘。(3)与其他基准模型相比,论文取得了明显更好的结果。它表明,对关系三元组的解耦和动态更新在处理持续的多关系图数据学习是合理的。

参考文献

[1] Bordes, Antoine, et al. “Translating embeddings for modeling multi-relational data.” Advances in neural information processing systems. 2013. [2] Sun, Zhiqing, et al. “Rotate: Knowledge graph embedding by relational rotation in complex space.” arXiv preprint arXiv:1902.10197 (2019). [3] Dettmers, Tim, et al. “Convolutional 2d knowledge graph embeddings.” Thirty-Second AAAI Conference on Artificial Intelligence. 2018. [4] Nguyen, Dai Quoc, et al. “A novel embedding model for knowledge base completion based on convolutional neural network.” arXiv preprint arXiv:1712.02121 (2017). [5] Yang, Bishan, et al. “Embedding entities and relations for learning and inference in knowledge bases.” arXiv preprint arXiv:1412.6575 (2014). [6] Trouillon, Théo, et al. “Complex embeddings for simple link prediction.” International Conference on Machine Learning (ICML), 2016. [7] Kazemi, Seyed Mehran, and David Poole. “Simple embedding for link prediction in knowledge graphs.” Advances in neural information processing systems. 2018. [8] Vu, Thanh, et al. “A capsule network-based embedding model for knowledge graph completion and search personalization.” Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). 2019. [9] Nathani, Deepak, et al. “Learning attention-based embeddings for relation prediction in knowledge graphs.” arXiv preprint arXiv:1906.01195 (2019). [10] Perozzi, Bryan, Rami Al-Rfou, and Steven Skiena. “Deepwalk: Online learning of social representations.” Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. 2014. [11] Tang, Jian, et al. “Line: Large-scale information network embedding.” Proceedings of the 24th international conference on world wide web. 2015. [12] Kirkpatrick, James, et al. “Overcoming catastrophic forgetting in neural networks.” Proceedings of the national academy of sciences 114.13 (2017): 3521-3526. [13] Liu, Xialei, et al. “Rotate your networks: Better weight consolidation and less catastrophic forgetting.” 2018 24th International Conference on Pattern Recognition (ICPR). IEEE, 2018. [14] Shin, Hanul, et al. “Continual learning with deep generative replay.” Advances in Neural Information Processing Systems. 2017. [15] Lopez-Paz, David, and Marc’Aurelio Ranzato. “Gradient episodic memory for continual learning.” Advances in neural information processing systems. 2017. [16] Parisi, German I., et al. “Continual lifelong learning with neural networks: A review.” Neural Networks 113 (2019): 54-71. [17] Sun, Fan-Keng, Cheng-Hao Ho, and Hung-Yi Lee. “LAMAL: LAnguage Modeling Is All You Need for Lifelong Language Learning.” arXiv preprint arXiv:1909.03329 (2019). [18] Sankar, Aravind, et al. “Dynamic graph representation learning via self-attention networks.” arXiv preprint arXiv:1812.09430 (2018). [19] Toutanova, Kristina, and Danqi Chen. “Observed versus latent features for knowledge base and text inference.” Proceedings of the 3rd Workshop on Continuous Vector Space Models and their Compositionality. 2015. [20] Dettmers, Tim, et al. “Convolutional 2d knowledge graph embeddings.” Thirty-Second AAAI Conference on Artificial Intelligence. 2018. [21] Sen, Prithviraj, et al. “Collective classification in network data.” AI magazine 29.3 (2008): 93-93.