正在加载图片...
张德政等:基于ALBERT与双向GRU的中医脏腑定位模型 1185 对词嵌入参数进行了因式分解,将它们分解为两 按照流程,可将图3中的GRU分成4部分:更 个小矩阵.不再将One-hot向量直接映射到大小 新门、重置门、产生新记忆,和产生新隐藏层状态 为H的隐藏空间,而是先将它们映射到一个低维 h,下面将具体说明 词嵌入空间E,再映射到隐藏空间.通过这种分 更新门:用过去的隐藏层状态与当前输入决 解,将词嵌入参数从o(VxH)降低到o(V×E+E×H, 定如何产生新记忆 在隐层大小H远大于E时,会有非常明显的参数 重置门:用过去的隐藏层状态与当前输入决 量减少.第2种方法通过跨层参数共享,有效降低 定要有多少之前的记忆被遗忘 了参数量,并且通过参数共享,提升了模型的鲁棒性 产生新记忆五,:用过去的隐藏层状态与当前输 此外,对于BERT中的NSP任务,ALBERT进 入决定当前产生的新记忆,并用重置门控制过去 行了改进.由于BERT中NSP任务是预测两个句子 的隐藏层状态信息流入新记忆中 在原文本中是否连续出现的二分类任务,其正例为文 产生新隐藏层状态:用更新门从新记忆h,与 章中连续出现的两个句子,负例由两篇文档中各选 之前的隐藏层状态-1中得到新的隐藏层状态. 一句构造而成.由于负例的构造使得模型可能更 上述流程描述,可以得到如下4个公式,其中 多倾向于预测句子主题关系而非句子连续性,这将 包括重置门向量、更新门向量、新记忆和经过门 NSP任务简单化.所以ALBERT提出了句子顺序预 控处理后的新的记忆(新的隐藏层状态,): 测任务(SOP),即正例选择方式不变,与NSP任务中 r:=(Wr.[hr-1,x]+br) (1) 的正例选择方式相同,负例选择一篇文档中两个连续 z=σ(Wz[h-l,x]+bz) (2) 的句子并将它们顺序交换后构造得到.在NSP和 SOP有效性对比实验中,NSP在解决SOP问题时精 h:=tanh(Wh[r*1x]+bn) (3) 度仅为52%,而SOP在NSP任务上精度为78.9%, h,=(1-z)*h1-1+z1*h, (4) 且SOP任务在几乎所有下游任务中都相比NSP有 式中,,为1时刻的重置门,z表示1时刻的更新门, 提升,基于此证明了SOP相比于NSP的有效性 h,表示t时刻的候选激活状态,h,表示t时刻的激活 经过上述处理,在大规模语料上训练得到的 状态,h-表示(t-1)时刻的隐藏层状态,[W,WW) ALBERT预训练模型可以凭借较少的模型参数表 表示各部分对应的权重系数矩阵,(b,bz,bh)为偏 达丰富的语义信息,有效缩减了模型体积 移向量,c表示sigmoid激活函数,*表示哈达玛积 2.3Bi-GRU层 (Hadamard product).相较于RNN模型,GRU能够 门控循环单元是LSTM的变种,是相比于LSTM 较好地解决梯度消失问题.而与LSTM相比,GRU 网络更简单的循环神经网络2 模型更为简单,需要的参数更少,而且不容易产生 GU网络通过引入门控机制来进行信息的更 过拟合现象 新.在LSTM网络中,输入门和遗忘门是互补关 GRU作为RNN的变种同RNN一样,均具有 系,直接使用两个门比较冗余.GU将输人门与 遗忘性.通常来说,在训练过程中,最后一个状态 和遗忘门合并成更新门(Update gate),并引入了重 所包含的信息是有损失的,而且越靠前,损失越严 置门(Reset gate).同时,GRU也不引入额外的记 重.对于包含很多序列的训练任务而言,获取前后 忆单元,直接在当前状态h,和历史状态h,-之间引 背景信息对增加模型准确度来说有重要意义.因 入线性依赖关系 此,本文通过训练正向学习和反向学习两个GU GRU模型更新方式如图3所示 神经网络,能够把正向和反向学习过程中最后状 态对应的向量进行连接,将连接后得到的向量作 为最后的结果,这个网络就可以利用前后所有信 息.本文中使用的双向GU模型如图4所示 2.4输出层 tanh 依据中医一个症状涉及多个脏腑的特点,该 模型的输出为多标签分类输出而非多分类输出 多标签分类与多分类的区别在于,多标签分类中 图3GRU单元 一个样本可以同时属于多个类别,而多分类中,一 Fig.3 GRU unit 个样本属于且只属于一个类别.如症状“胸闷,气o(V × H) o(V × E + E × H) 对词嵌入参数进行了因式分解,将它们分解为两 个小矩阵. 不再将 One-hot 向量直接映射到大小 为 H 的隐藏空间,而是先将它们映射到一个低维 词嵌入空间 E,再映射到隐藏空间. 通过这种分 解,将词嵌入参数从 降低到 , 在隐层大小 H 远大于 E 时,会有非常明显的参数 量减少. 第 2 种方法通过跨层参数共享,有效降低 了参数量,并且通过参数共享,提升了模型的鲁棒性. 此外,对于 BERT 中的 NSP 任务,ALBERT 进 行了改进. 由于 BERT 中 NSP 任务是预测两个句子 在原文本中是否连续出现的二分类任务,其正例为文 章中连续出现的两个句子,负例由两篇文档中各选 一句构造而成. 由于负例的构造使得模型可能更 多倾向于预测句子主题关系而非句子连续性,这将 NSP 任务简单化. 所以 ALBERT 提出了句子顺序预 测任务(SOP),即正例选择方式不变,与 NSP 任务中 的正例选择方式相同,负例选择一篇文档中两个连续 的句子并将它们顺序交换后构造得到. 在 NSP 和 SOP 有效性对比实验中,NSP 在解决 SOP 问题时精 度仅为 52%,而 SOP 在 NSP 任务上精度为 78.9%, 且 SOP 任务在几乎所有下游任务中都相比 NSP 有 提升[25] ,基于此证明了 SOP 相比于 NSP 的有效性. 经过上述处理,在大规模语料上训练得到的 ALBERT 预训练模型可以凭借较少的模型参数表 达丰富的语义信息,有效缩减了模型体积. 2.3    Bi-GRU 层 门控循环单元是 LSTM 的变种,是相比于 LSTM 网络更简单的循环神经网络[26] . ht ht−1 GRU 网络通过引入门控机制来进行信息的更 新. 在 LSTM 网络中,输入门和遗忘门是互补关 系,直接使用两个门比较冗余. GRU 将输入门与 和遗忘门合并成更新门(Update gate),并引入了重 置门(Reset gate). 同时,GRU 也不引入额外的记 忆单元,直接在当前状态 和历史状态 之间引 入线性依赖关系. GRU 模型更新方式如图 3 所示. ht−1 1− xt rt zt ht ~ ht σ σ tanh 图 3    GRU 单元 Fig.3    GRU unit eht ht 按照流程,可将图 3 中的 GRU 分成 4 部分:更 新门、重置门、产生新记忆 和产生新隐藏层状态 ,下面将具体说明. 更新门:用过去的隐藏层状态与当前输入决 定如何产生新记忆. 重置门:用过去的隐藏层状态与当前输入决 定要有多少之前的记忆被遗忘. 产生新记忆eht:用过去的隐藏层状态与当前输 入决定当前产生的新记忆,并用重置门控制过去 的隐藏层状态信息流入新记忆中. ht eht ht−1 产生新隐藏层状态 :用更新门从新记忆 与 之前的隐藏层状态 中得到新的隐藏层状态. eht 上述流程描述,可以得到如下 4 个公式,其中 包括重置门向量、更新门向量、新记忆和经过门 控处理后的新的记忆(新的隐藏层状态 ): rt = σ(Wr ·[hr−1, xt]+ br) (1) zt = σ(Wz ·[ht−1, xt]+ bz) (2) eht = tanh(Wh ·[rt ∗ ht−1, xt]+ bh) (3) ht = (1− zt) ∗ ht−1 + zt ∗eht (4) rt zt eht ht ht−1 (t−1) Wr Wz Wh br bz bh σ 式中, 为 t 时刻的重置门, 表示 t 时刻的更新门, 表示 t 时刻的候选激活状态, 表示 t 时刻的激活 状态, 表示 时刻的隐藏层状态,[ , , ] 表示各部分对应的权重系数矩阵,( , , )为偏 移向量, 表示 sigmoid 激活函数,*表示哈达玛积 (Hadamard product). 相较于 RNN 模型,GRU 能够 较好地解决梯度消失问题. 而与 LSTM 相比,GRU 模型更为简单,需要的参数更少,而且不容易产生 过拟合现象. GRU 作为 RNN 的变种同 RNN 一样,均具有 遗忘性. 通常来说,在训练过程中,最后一个状态 所包含的信息是有损失的,而且越靠前,损失越严 重. 对于包含很多序列的训练任务而言,获取前后 背景信息对增加模型准确度来说有重要意义. 因 此,本文通过训练正向学习和反向学习两个 GRU 神经网络,能够把正向和反向学习过程中最后状 态对应的向量进行连接,将连接后得到的向量作 为最后的结果,这个网络就可以利用前后所有信 息. 本文中使用的双向 GRU 模型如图 4 所示. 2.4    输出层 依据中医一个症状涉及多个脏腑的特点,该 模型的输出为多标签分类输出而非多分类输出. 多标签分类与多分类的区别在于,多标签分类中 一个样本可以同时属于多个类别,而多分类中,一 个样本属于且只属于一个类别. 如症状“胸闷,气 张德政等: 基于 ALBERT 与双向 GRU 的中医脏腑定位模型 · 1185 ·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有