基于深度学习与语义表示的复杂问题解答技术解析
1. 门控循环单元(GRUs)与相关处理流程
门控循环单元(GRUs)是循环神经网络(RNNs)中的一种门控机制。GRU类似于带有遗忘门的长短期记忆网络(LSTM),但由于缺少输出门,其参数比LSTM更少。双向GRU(BiGRU)每次接收一个词向量作为输入,随后在每个隐藏状态$h_t$上应用注意力层,注意力权重通过拼接BiGRU的当前隐藏状态和第二层BiGRU的过去隐藏状态来学习。
对于$m$个标签序列,用$L_i$表示标记$x_i$的标签序列,即$e(L_i)={e(t_1), \ldots, e(t_m)}$。将$m$个标签表示序列拼接后输入全连接层,得到维度为$d$的精炼联合表示$e_t$:
$e^0(L_i) = W_2 [e(t_1), \ldots, e(t_m)] + b_2$
$e_t = [e^0(L_1), \ldots, e^0(L_n)]$
其中$W_2$和$b_2$是可训练参数。
在整合过程中,需要将词法文本嵌入和标签表示进行合并。由于预训练的BERT基于子词序列,而语义表示针对单词,因此需要对齐不同大小的序列。具体做法是将每个单词的子词分组,并使用带有最大池化的卷积神经网络(CNN)来获得词级表示。
以单词$x_i$为例,它由子词序列$[s_1, s_2, \ldots, s_l]$组成,$l$为子词数量。将BERT中第$j$个子词的表示记为$e(s_j)$,首先使用卷积层:
$e_i^0 = W_1 [e(s_i), e(s_{i+1}), \ldots, e(s_{i+k - 1})] + b_1$
其中$W_1$和$b_1$是可训练
超级会员免费看
订阅专栏 解锁全文

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



