Hierarchical Multi-Label Classification Networks
何为HMC
常见的文本分类任务中类目之间通常是正交的,即不存在包含关系。而层次分类则是一类特殊的文本分类任务,即类目之间存在层次结构关系,一般可以表示为树形或者无向图。在这类任务中,一条样本的标签会同时包括层次结构中的父类和子类目。更复杂的情况下,一条样本会同时包含层次结构中多条路径,这类任务则称为层次多标签任务(HMC,Hierarchical Multi-Classification)。
HMC常用方法
Local
- Local方法通过学习不同层类目和文本之间的关系,并聚合不同层的预测结果来得到最终的预测结果。这类方法通常由多个分类模块组成,例如自顶向下的层次分类,在每个非叶子节点都有一个局部分类器,在预测时根据父类目的预测结果来预测最终的子类目;基于Local的方法能够利用更细粒度的层级信息,但往往需要构建多个分类模块,同时也容易受到误差传播的影响。
- 局部方法的计算成本要高得多,因为它们依赖于级联的分类器,但它们更适合从类层次结构的区域中提取信息,最终导致过度拟合
Global
- Global方法通常由一个分类模块构成,直接利用层级结构信息来建模。例如利用层次结构来构造递归正则化损失项来对分类参数进行约束。基于Global方法更简单,但往往无法在学习文本语义表示中利用到细粒度的层级信息,导致模型学习效果交叉,容易欠拟合。
- 全局方法通常比局部方法计算成本低,而且它们不会出现众所周知的错误传播问题,尽管它们不太可能从层次结构中捕获局部信息,最终导致拟合不足。
HMCN
概述
- HMCN,实现了循环和非循环神经网络体系结构。在这两个版本中,它包含多个输出,每个分层的多标签分类网络的一个输出层加上一个用于整个网络的全局输出层。其原理是,每个局部损失函数加强了梯度的传播,从而导致相应层次级别的类之间适当的局部信息编码。同时,在全局输出层中优化的损耗函数将跟踪整个层次结构中的标签依赖关系。此外,我们还引入了一个层次违例惩罚来鼓励服从层次结构的预测。我们表明,HMCN轻松地将自己确立为解决HMC问题的最新技术。
- 分层多标签分类网络(HMCN),它是一种多输出深度神经网络,专门用于HMC问题的局部和全局优化。为此,HMCN从多个网络输出传播梯度。它包含每个层次层的一个局部输出,一个局部损耗函数用于从对应层次的类反向传播梯度。全局输出捕获在整个网络上转发的累积关系,并从层次结构的所有类反向传播梯度。
具体模型
-
HMCN-F
-
-
global
-
对应全部的信息传输
-
原始数据传输到第一层
-
input:x
-
信息传输:
-
output:A1G
-
-
从第 i 层到第 i+1 层
-
input:上一层的输出与最初的输入的拼接向量
-
信息传输:
-
output:AhG
-
-
最终输出PG
-
其中PG的每一维都代表一个类目的概率
-
-
-
local
-
对应各个中间层的信息信息传输,通过局部的分类层得到每一层的隐层表示
-
层的映射到对应层
-
input:每一层的输出
-
-
output:AhL
-
-
本层具体的local概率
- input:AhL
-
-
结合local与global的最终输出
-
最终的预测输出:
-
其中β为超参数,可以去调节整局部信息和全局信息的重要性,默认设为0.5,表示相同的重要性。
-
-
缺点
- HMCN-F的模型参数随着层次结构增加而增加,当层次结构较深时,会导致模型参数量剧增
-
-
HMCN-R
-
-
思路
- 每次迭代的输出表示一个层级的输出,即Ah
-
global
- 一次迭代
-
input:x和上一个迭代的输出
-
这里和LSTM原理类似,状态向量Ch(Ch-1包含前一层的信息)由遗忘门和输入门决定。
-
最终输出由状态向量Ch和输出门共同决定
-
-
- 一次迭代
-
local
- 和HMCN-F类似
-
结合Local和global得到最终输出,还是和HMCF类似。
-
Loss function
-
我们不能保证网络能够预测出一致的分层路径。为了避免这个问题,我们建议用层次违背来惩罚预测,并执行一个后处理步骤来确保所有预测都遵守层次约束。
-
Global
- 计算二进制交叉熵
- 计算二进制交叉熵
-
Local
-
惩罚函数
-
最终loss