持续学习 论文解读 Sentiment Classification by Leveraging the Shared Knowledge from a Sequence of Domains

持续学习 论文解读 Sentiment Classification by Leveraging the Shared Knowledge from a Sequence of Domains

SRK

论文题目 Sentiment Classification by Leveraging the Shared Knowledge from a Sequence of Domains

期刊 DASFAA

任务

一个一个地学习情感分类task,学的时候不知道之前的数据,对标KAN

baseline选的是feature learning network,很基础很简单的一个预训练后套GRU的网络,讲了一堆FLN现存问题

模型结构

整体结构

Feature Learning Network

蓝框里面是特征学习网络,首先,每个句子以词为单位one-hot编码,随后将这些编码通过预训练词嵌入模型生成dense representations,然后定义一个状态大小为500的GRU来处理这些representations

Knowledge Retention Network

大部分和Feature Learning Network差不多,但是通过部分更新机制达到了lifelong的效果,最终层​作为知识嵌入(knowledge embedding),部分更新机制在下面会着重解释

Network Fusion Component

图上黑框简而言之就是三个公式:

g=\sigma(W_kv_{feature}+U_kv_{knowledge}),\\ v=(1-g)\cdot v_{feature} + g\cdot v_{knowledge},\\ P(y|x)=\sigma(Wv+b)

特征嵌入与知识嵌入的融合是为了得到与当前任务相关的信息

重新定义损失函数:

L_F=MSE(y,\sigma(Wv_{feature}+b)),\\ L_K=MSE(y,\sigma(Wv_{knowledge}+b)),\\ L_=MSE(y,P(y|x)))+L_F+L_K

L_F、L_K 的目的是让特征学习网络、知识保留网络都能学到好的representation

部分更新机制

Partial Updating Mechanism

作者发现GRU在一些领域上面只能记住一些普遍的知识,只有很小一部分节点能被高度激活(activation),大部分节点几乎没有激活。

这里作者画了一个统计柱状图,说明那一小部分节点存储着重要的信息,同时根据公式​也可以证明。所以,作者在训练的时候希望保持一些重要的节点不被改变,只更新一些不重要的节点。

随后作者通过两个部分来介绍部分更新机制

Free Neuron Detection

如何表示这些节点的重要程度?通过一个向量表示隐层节点的激活程度,并且这个程度会随着任务的推进不断更新,其中​是控制矩阵的绝对值

s_t^i=s_{t-1}^i+|h_t^i|, \quad t=1,2,..., \quad s^i_0=0

但是这样会有一个问题,随着t的增长,s可能会溢出,所以作者通过如下线性变换来避免这一现象,其中d是​的维度

\hat{s_j^i}=\frac{s^i_j-min(s^i)}{max(s^i)-min(s^i)} \quad j=1,2,...,d,

计算好之后,将所有的神经元以​升序排列,那么靠前的神经元就是free neurons

Gradient Mask

作者计算mask,取s的前百分之几作为需要更新的,后面那些重要的节点直接mask掉。

m^i_j=\begin{cases} 1-\hat{s^i_j} \quad \hat{s^i_j}在前\epsilon\% \\ 0 \quad 否则\\ \end{cases}

然后这样更新权重,​是学习率

W^i=W^i-\eta(m^i⊙\frac{\partial L}{\partial W^i})

参数​的选取也很重要,作者使用一种自适应的方法来修改​,因为如果不这样的话,可能会导致网络冷启动,这对效果不好

\epsilon=(1-\tau)e^{-\lambda n}+\tau

最后,为了增大high activation degrees和low的,作者提出了一种激活函数,0.9为常数,k经常设置为0.001,这样可以有效防止梯度爆炸

f(x)=\begin{cases} 0.9+kx \quad x \ge 0.9,\\ x \quad 0 < x < 0.9,\\ kx \quad x \le 0, \end{cases}

发布于 2021-05-28 15:09