笔记
旷视研究院的研究员提出了如下模型,用于图像的多标签分类.
该模型与一般模型不一样的一点是,它的分类器是生成的,因此它有一个专门生成分类器的子网络.
网络主要由两部分构成
- 特征表示子网络,该网络由ResNet-101构成,即蓝色框圈出的部分.
- 分类器生成子网络,该网络由3个GCN层串联组合而成,即红色框组成部分.
动机
- 基于标签的共现模式,旷视研究员设计了一个全新的标签相关系数矩阵,可显式地用 GCN建模标签相关性,让节点的特征在更新时也能从相关联的节点(标签)吸收信息。
- 由于从词嵌入向量到分类器的映射参数在所有类别中是共享的,所以习得的分类器能够在词嵌入空间中(语义相关的概念在词嵌入空间中彼此临近)保留较弱的语义结构。与此同时,对于可以对标签依赖性进行隐式建模的分类器函数,所有分类器的梯度都会对它产生影响。
GCN层
每个标签可以看做是一个特征向量.
在第一层的时候,标签的特征向量是ddd维度的,刚好是一个词嵌入向量.
在第二层的时候,标签的特征向量是d′d'd′维度的,是经过了一个转换矩阵W2W^2W2的映射.
在第三层的时候,标签的特征向量是DDD维度的,也是经过了一个转换矩阵W3W^3W3的映射,映射完之后,每个标签的特征向量维度刚好和ResNet101抽取到的特征维度相同了,因此可以作为该标签的分类器了.
这对应第2个动机.
至此还未用到标签间的拓扑图结构,也就没有用到标签间的共现关系,因此他们设计了一个共现矩阵AAA,用于引导信息在标签间的传递.
A∈Rn∗nA \in R^{n*n}A∈Rn∗n,其中nnn是标签的数量.
矩阵是一个先验矩阵,不需要被学习.
这就对应了第1个动机
因此得到了GCN变换公式:
Hl∈Rn∗d,Wl∈Rd∗d′,A∈Rn∗nH^l \in R^{n*d},W^l\in R^{d*d'},A\in R^{n*n}Hl∈Rn∗d,Wl∈Rd∗d′,A∈Rn∗n
Hl+1=h(AHlWl)H^{l+1}=h(AH^{l}W^{l})Hl+1=h(AHlWl)
AAA的设计
如图所示,一个很朴素的想法,就是计算一对标签的条件概率作为他们的相关系数.
这样有两个坏处
- 测试和训练过程中的条件概率可能会不一样.
- 存在噪音问题导,致长尾分布.
作如下改进: 将矩阵进行二值化,设置一个阈值τ∈[0,1]\tau \in [0,1]τ∈[0,1]
Aij=[Pij≥τ]A_{ij}=[P_{ij} \ge \tau]Aij=[Pij≥τ]
二值化之后解决了上述两个问题,然而也会引入新的问题,即过度平滑问题.
因此他们提出了二次加权的方法:
ppp是一个预设的超参数.
当p→1p \rightarrow 1p→1的时候,节点自身的特征往往不会被考虑.
当p→0p \rightarrow 0p→0的时候,节点相邻点的特征往往不会被考虑.
细节
当一个标签包含多个单词的时候,将所有单词的embedding取平均.
实验结果
可视化
通过对分类器的可视化,我们可以发现,确实使用GCN可以学习到吧标间之间的内在关联性.