赞
踩
现实生活中,有部分分类问题相比起预测单标签,更需要预测多个标签或者样本关于各个标签的概率分布,也就是各标签对该样本的描述程度。
例如,对于图像情感分类任务而言,由于一张图像往往包含多种情感倾向,且不同情感的占比不同,此时就需要使用标签分布学习的方法来更加全面地反映图像情感信息。
标签分布学习(label distribution learning,LDL) 是图像情感分析的方向之一,本文总结了几篇图像情感分析标签分布学习的相关研究,对主要思路和核心模型展开介绍。
记样本为
x
x
x,第
i
i
i个记作
x
i
x_i
xi;标签为
y
y
y,对应第
j
j
j类的标签记作
y
j
y_j
yj;
y对x的描述程度(概率分布)记为
d
x
y
d_x^y
dxy,
x
i
x_i
xi的标签记作
D
=
{
d
x
i
y
1
,
d
x
i
y
2
,
…
d
x
i
y
c
}
D=\{ d_{x_i}^{y_1},d_{x_i}^{y_2},…d_{x_i}^{y_c} \}
D={dxiy1,dxiy2,…dxiyc},
c
c
c表示类别的数量。
需要满足的条件是:
d
x
y
∈
[
0
,
1
]
,
∑
y
d
x
y
=
1
d_x^y \in [0,1],\sum_y d_x^y =1
dxy∈[0,1],∑ydxy=1
p
x
i
y
j
=
p
(
y
j
∣
x
i
)
p_{x_i}^{y_j}=p(y_j|x_i)
pxiyj=p(yj∣xi)表示模型的预测值。
给定训练集
S
=
{
(
x
1
,
D
1
)
,
(
x
2
,
D
2
)
,
…
,
(
x
n
,
D
n
)
}
S=\{(x_1,D_1),(x_2,D_2),…,(x_n,D_n)\}
S={(x1,D1),(x2,D2),…,(xn,Dn)},LLD的目标就是通过
S
S
S学习条件概率质量函数
p
(
y
∣
x
)
p(y|x)
p(y∣x)
总而言之,标签分布模型的优化目标为:
m
a
x
θ
∑
i
∑
j
d
x
i
y
j
ln
p
(
y
j
∣
x
i
)
max_\theta \ \ \sum_i \sum_j d_{x_i}^{y_j} \ln {p({y_j}|{x_i}) }
maxθ i∑j∑dxiyjlnp(yj∣xi)模型的学习目的就是学出
p
(
y
∣
x
)
p(y|x)
p(y∣x),令优化目标最大(也就是学到最接近真实标签的概率分布)的模型参数,即最优参数
θ
∗
\theta^*
θ∗
θ
∗
=
arg max
θ
∑
i
∑
j
d
x
i
y
j
ln
p
x
i
y
j
\theta^* = \argmax_\theta \sum_i \sum_j d_{x_i}^{y_j} \ln {p_{x_i}^{y_j} }
θ∗=θargmax∑i∑jdxiyjlnpxiyj
单标签和多标签可以看作标签分布的特殊情况
对于单标签的情况,上式可以写成:
θ ∗ = arg max θ ∑ i ln p x i y x i , y x i 代 表 x i 的 真 实 标 签 \theta^* = \argmax_\theta \sum_i \ln {p_{x_i}^{y_{x_i}} } ,y_{x_i}代表x_i的真实标签 θ∗=θargmax∑ilnpxiyxi,yxi代表xi的真实标签
对于多标签:
θ ∗ = arg max θ ∑ i 1 ∣ Y i ∣ ∑ y ∈ Y i ln p x i y , ∣ Y i ∣ 表 示 x i 的 真 实 标 签 集 合 \theta^* = \argmax_\theta \sum_i \frac{1}{|Y_i|} \sum_{y\in Y_i} \ln {p_{x_i}^{y} },|Yi|表示x_i的真实标签集合 θ∗=θargmax∑i∣Yi∣1∑y∈Yilnpxiy,∣Yi∣表示xi的真实标签集合
标签分布学习(LDL)可以有以下几种方式
将LDL问题转化为现有的学习模式
例如:将每个训练样本 ( x i , D i ) (x_i, D_i) (xi,Di)转换成 c c c个单标签样本 ( x i , y j ) (x_i, y_j) (xi,yj)。每个单标签样本的权重是 d x i y j d_{x_i}^{y_j} dxiyj,根据该权重将训练集重新采样。
重采样训练集成为标准的单标签训练集,包括 c × n c \times n c×n个样本,直接应用单标签分类算法。
扩展现有的学习算法来处理标签分布
例如KNN,给定一个新实例x,首先在训练集中找到它的k个最近邻。然后,所有k个最近邻的标签分布的平均值被计算为x的标签分布:
p ( y j ∣ x ) = 1 k ∑ i ∈ N k ( x ) d x i y j , ( j = 1 , 2 , … c ) p(y_j|x)=\frac{1}{k} \sum_{i \in N_k(x)} d_{x_i}^{y_j} , (j=1,2,…c) p(yj∣x)=k1∑i∈Nk(x)dxiyj,(j=1,2,…c)
其中 N k ( x ) N_k(x) Nk(x)为训练集中x的k个最近邻的索引集
直接设计解决LLD问题的算法。上文的两种方法在不追求精确度的简单实验中可以采用,而大多更为研究采用的是直接设计LLD算法的方式。
下面将以几篇文章为例具体介绍。
这篇文章是最早的LLD研究之一,文章中使用的CPNN方法,为图像情感分析提供了很多借鉴。
作者认为,人脸图像的年龄估计并不是那么精确的,针对人脸图像年龄识别,给出一段年龄范围比给出具体的数值更有说服力
通过高斯分布或三角分布的方式,将人脸的年龄标签转换成年龄分布。
作者采用了两种方式(最大熵模型和神经网络模型),通过比较模型输出的 p ( y ∣ x ) p(y | x) p(y∣x)与真实标签,选择令 p ( y ∣ x ) p(y | x) p(y∣x)最接近真实标签的参数。 θ ∗ = arg max θ ∑ i ∑ j d x i y j ln p ( y j ∣ x i ) \theta^* = \argmax_\theta \sum_i \sum_j d_{x_i}^{y_j} \ln {p({y_j}|{x_i}) } θ∗=θargmax∑i∑jdxiyjlnp(yj∣xi)
设离散随机变量 X X X 的概率分布是 P ( X ) P(X) P(X),则其熵是:
H ( P ) = − ∑ x P ( x ) ln P ( x ) H(P)=−∑_xP(x) \ln P(x) H(P)=−∑xP(x)lnP(x)
假设
p
(
y
∣
x
)
p(y | x)
p(y∣x)的形式为最大熵模型,通过最大化熵来确定
p
(
y
∣
x
)
p(y | x)
p(y∣x)的值
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
ln
P
(
y
∣
x
)
H(P)=−∑_{x,y} \tilde P(x)P(y|x)\ln P(y|x)
H(P)=−∑x,yP~(x)P(y∣x)lnP(y∣x)
P
~
(
x
)
\tilde P(x)
P~(x)表示根据样本信息得出的
X
X
X的经验分布
之后将最大熵模型确定的分布
p
p
p代入参数优化函数,求出最优参数。
IIS-LLD算法中的一个主要假设是
p
(
y
∣
x
)
p(y | x)
p(y∣x)作为最大熵模型的推导。
虽然这是一个合理的假设,没有额外的信息,但在年龄估计问题上没有特别的证据支持这一假设。
使用神经网络来近似
p
(
y
∣
x
)
p(y | x)
p(y∣x)是另一种可行方法
网络的输入包括x和y,网络的输出是一个单一值,预计为p(y | x)。
分别将样本
x
i
x_i
xi与该样本对应的标签分布中每一个标签
y
j
y_j
yj拼接作为输入,输出的概率
p
(
y
j
∣
x
i
)
p(y_j | x_i)
p(yj∣xi)与真实值
d
x
i
y
j
d_{x_i}^{y_j}
dxiyj进行比较。
(由于年龄是一个完全有序的标签(即非负整数),它可以被视为神经网络的一个特殊数值输入)
该网络被称为条件概率神经网络(CPNN)
对于测试集,测试图像
x
x
x的最佳预测年龄由以下公式确定:
Y
∗
=
arg max
y
p
(
y
∣
x
)
Y^∗ = \argmax_y p(y | x)
Y∗=yargmaxp(y∣x)
也就是将样本x与各种标签y进行组合,输入到模型中,每次得到样本
x
x
x关于该标签的概率分布。
如果想要得到年龄分布的预测,则将各标签的概率分布进行组合,若想得到最可能的年龄预测,则按照上式从中挑选概率分布最大的标签。
使用 FG-NET Aging Database和 MORPH database作为数据集
FG-NET Aging: 该数据库中有82名受试者的1002张人脸图像,每个受试者在不同年龄段有6-18张面部图像。每幅图像都按其实际年龄进行标记。
MORPH:该数据库中有来自13000多个受试者的55132张人脸图像。这些面孔来自不同种族,其中非洲面孔约占77%,欧洲面孔约占19%。
FG-NET数据库使用的特征提取器是外观模型(Appearance Model)。该模型的主要优点是提取的特征结合了人脸图像的形状和强度,这两个特征在老化过程中都很重要
外观模型用于抽取有鉴别力的特征。
1)手工抽取。eg. KLT算法(Kanade-Lucas-Tomasi),认为一个好的特征点的定义就是能更容易被跟踪,因此寻找一些适合用来跟踪的特征点(检查每个2乘2梯度矩阵的最小特征值来定位好的特征),并根据这些特征点进行下一步的跟踪(使用Newton-Raphson方法跟踪特征), 以最小化两个窗口之间的差异。
2)基于CNN提取特征。eg. ReID的网络,是一种基于ResNet进行改进的网络
用于MORPH据库的特征是生物灵感特征(BIF)。通过模拟灵长类动物的视觉系统,BIF在面部年龄估计方面表现出了良好的性能。使用边际Fisher分析(MFA)将BIF向量的维数进一步降低至200维。
将提取好的图像特征与标签输入到模型中进行实验。
使用平均绝对误差(MAE)作为度量,衡量模型效果。(是绝对误差的平均值,能更好地反映预测值误差的实际情况)
实验还包括human test(人工预测),进行5%显著性水平的双尾t检验,以查看各种算法与人类A、B的预测结果之间的差异是否具有统计学意义。
(MAE后的括号分别表示与A、B进行检验的结果,"1"表示有显著差异)
结果表明,IIS-LLD和CPNN的效果比其他模型更好,且性能显著优于人工预测。
这篇文章延续了上一篇的思路,将CPNN用在情感图像标签分布学习,并进行改进。
作者展示了比较常用的图像情感公开数据集,其中最后两个是由作者在本篇文章的研究中构建的。
在这两个数据集中,不同标注者的vote(投票)被整合,为每幅图像生成ground-truth标签分布。
作者提出改进后的两种模型:
1)首先提出了BCPNN,它将图像标签编码为二进制表示,以取代CPNN中使用的无符号整数。(因为图像情感标签是离散的类别,而非年龄标签那样的有序整数型,因此用one-hot编码表示情感类别)
2)然后通过向ground-truth标签添加噪声和增加情感分布来训练ACPNN模型。
实验表明,本篇文章提出的方法具有更好的效果
本篇文章将单分类与标签分布任务进行结合:主标签预测loss+分布预测loss
通过高斯分布相关理论,可以将单标签数据集也转变成概率分布,因此在两类数据集上均可以进行LLD学习。
标签分布数据集:将概率最高的标签作为主标签
单标签数据集:根据高斯分布构建标签分布,可以考虑对所有类别给定分布,或只给定与主导标签有相同valence的情绪
C
C
C表示类别数量,
μ
\mu
μ表示主导情绪,
σ
\sigma
σ表示每个情绪的影响程度,由标签注释的可信度决定。
固定参数
ϵ
\epsilon
ϵ确保考虑整体情绪和概率,此处固定为0.1。
令
l
j
l_j
lj代表
j
j
j标签的分布概率,
l
j
=
f
(
j
,
μ
,
σ
)
∑
k
f
(
k
,
μ
,
σ
)
l_j= {f(j,\mu ,\sigma ) \over \sum_k f(k,\mu ,\sigma )}
lj=∑kf(k,μ,σ)f(j,μ,σ),各标签的分布数值加和为1。
其中, Y μ Y_{\mu} Yμ表示与主导标签 μ \mu μ相同valence(效价)的所有情绪
对于样本
i
i
i,令
a
a
a表示最后一层全连接层的输出值,
p
i
=
s
o
f
t
m
a
x
(
a
i
)
p^{i}=softmax(a^{i})
pi=softmax(ai)
主标签预测(真实标签为
j
j
j):
L
o
s
s
c
l
s
i
(
x
,
y
)
=
ln
(
p
j
i
)
Loss_{cls}^{i}(x,y)=\ln(p_j^{i})
Lossclsi(x,y)=ln(pji)
标签分布预测(
l
j
l_j
lj代表j标签的分布概率):
L
o
s
s
s
d
l
i
(
x
,
l
)
=
∑
j
=
1
C
l
j
i
ln
(
p
j
i
)
Loss_{sdl}^{i}(x,l)=\sum_{j=1}^{C}l_j^{i}\ln(p_j^{i})
Losssdli(x,l)=∑j=1Cljiln(pji)
(⬆KL散度)
总体损失函数为两种损失的加权:
L
=
(
1
−
λ
)
L
c
l
s
(
x
,
y
)
+
λ
L
s
d
l
(
x
,
l
)
L=(1-\lambda)L_{cls}(x,y)+\lambda L_{sdl}(x,l)
L=(1−λ)Lcls(x,y)+λLsdl(x,l)
对样本
i
i
i最后一层全连接层第
j
j
j个输出的求导:
上式可知,作者通过巧妙地将两种分类任务进行结合,可以令梯度下降的导数具有较为简单的表达式。
在三个标签分布数据集上进行实验(Emotion6 (E), Flickr LDL (F), 以及 Twitter LDL (T)),结果显示本文提出的方法达到了SOTA。
在单标签数据集上进行实验,结果同样有所提升,与以往方法相比提高了约3%。
总结一下,目前图像情感分析领域已经出现了不少LLD的研究,主要方法为两类:
1)先将图像的特征抽取好,分别将图像特征与每个标签表示进行拼接,再输入概率网络,输出是单个数值:样本关于该标签的概率
p
(
y
∣
x
)
p(y|x)
p(y∣x),比如上文第2、3部分介绍的文章。
2)经典的图像分类结构,直接将图像输入神经网络提取特征并分类,输出为表示标签分布的c维向量(c代表类的数量,向量第j维即
p
(
y
j
∣
x
)
p(y_j|x)
p(yj∣x)),比如上文第4部分介绍的文章。
目前再多模态领域,LLD的研究还未进行系统的开展,原因是对于文字而言,进行标签分布的标注很有难度且缺乏说服力。
这也显示出LLD存在的弊端:标注具有主观性,在实际应用中,数据集难以获得耗时耗力,且标注过程可能由于主观性等因素引入噪声,可能效果相比单标签并没有提升。
因此对于实际问题,应用LLD是否可行,是否有必要,能否带来效果的提升,还需要根据具体的问题界定。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。