当前位置:   article > 正文

图像情感分析标签分布学习_label distribution learning

label distribution learning

现实生活中,有部分分类问题相比起预测单标签,更需要预测多个标签或者样本关于各个标签的概率分布,也就是各标签对该样本的描述程度。
例如,对于图像情感分类任务而言,由于一张图像往往包含多种情感倾向,且不同情感的占比不同,此时就需要使用标签分布学习的方法来更加全面地反映图像情感信息。
标签分布学习(label distribution learning,LDL) 是图像情感分析的方向之一,本文总结了几篇图像情感分析标签分布学习的相关研究,对主要思路和核心模型展开介绍。

1.Introduction

定义

记样本为 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(yjxi)表示模型的预测值。

给定训练集 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(yx)
总而言之,标签分布模型的优化目标为: 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θ  ijdxiyjlnp(yjxi)模型的学习目的就是学出 p ( y ∣ x ) p(y|x) p(yx),令优化目标最大(也就是学到最接近真实标签的概率分布)的模型参数,即最优参数 θ ∗ \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} } θ=θargmaxijdxiyjlnpxiyj

单标签和多标签可以看作标签分布的特殊情况
对于单标签的情况,上式可以写成:
θ ∗ = 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的真实标签 θ=θargmaxilnpxiyxiyxixi
对于多标签:
θ ∗ = 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的真实标签集合 θ=θargmaxiYi1yYilnpxiyYixi

LDL ALGORITHMS

标签分布学习(LDL)可以有以下几种方式

Problem Transformation

将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个样本,直接应用单标签分类算法。

Algorithm Adaptation

扩展现有的学习算法来处理标签分布

例如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(yjx)=k1iNk(x)dxiyj,(j=1,2,c)
其中 N k ( x ) N_k(x) Nk(x)为训练集中x的k个最近邻的索引集

Specialized Algorithms

直接设计解决LLD问题的算法。上文的两种方法在不追求精确度的简单实验中可以采用,而大多更为研究采用的是直接设计LLD算法的方式。
下面将以几篇文章为例具体介绍。


2. Facial Age Estimation by Learning from Label Distributions

这篇文章是最早的LLD研究之一,文章中使用的CPNN方法,为图像情感分析提供了很多借鉴。
作者认为,人脸图像的年龄估计并不是那么精确的,针对人脸图像年龄识别,给出一段年龄范围比给出具体的数值更有说服力
在这里插入图片描述
通过高斯分布或三角分布的方式,将人脸的年龄标签转换成年龄分布。
在这里插入图片描述

作者采用了两种方式(最大熵模型和神经网络模型),通过比较模型输出的 p ( y ∣ x ) p(y | x) p(yx)与真实标签,选择令 p ( y ∣ x ) p(y | x) p(yx)最接近真实标签的参数。 θ ∗ = 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}) } θ=θargmaxijdxiyjlnp(yjxi)

The IIS-LLD Algorithm

设离散随机变量 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(yx)的形式为最大熵模型,通过最大化熵来确定 p ( y ∣ x ) p(y | x) p(yx)的值
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(yx)lnP(yx)
P ~ ( x ) \tilde P(x) P~(x)表示根据样本信息得出的 X X X的经验分布
之后将最大熵模型确定的分布 p p p代入参数优化函数,求出最优参数。

The CPNN Algorithm

IIS-LLD算法中的一个主要假设是 p ( y ∣ x ) p(y | x) p(yx)作为最大熵模型的推导。
虽然这是一个合理的假设,没有额外的信息,但在年龄估计问题上没有特别的证据支持这一假设。
使用神经网络来近似 p ( y ∣ x ) p(y | x) p(yx)是另一种可行方法

网络的输入包括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(yjxi)与真实值 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(yx)
也就是将样本x与各种标签y进行组合,输入到模型中,每次得到样本 x x x关于该标签的概率分布。
如果想要得到年龄分布的预测,则将各标签的概率分布进行组合,若想得到最可能的年龄预测,则按照上式从中挑选概率分布最大的标签。

Experiment

使用 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维。

将提取好的图像特征与标签输入到模型中进行实验。

Result

使用平均绝对误差(MAE)作为度量,衡量模型效果。(是绝对误差的平均值,能更好地反映预测值误差的实际情况)
实验还包括human test(人工预测),进行5%显著性水平的双尾t检验,以查看各种算法与人类A、B的预测结果之间的差异是否具有统计学意义。
(MAE后的括号分别表示与A、B进行检验的结果,"1"表示有显著差异)
在这里插入图片描述
结果表明,IIS-LLD和CPNN的效果比其他模型更好,且性能显著优于人工预测。

3. Learning Visual Sentiment Distributions via Augmented Conditional Probability Neural Network

这篇文章延续了上一篇的思路,将CPNN用在情感图像标签分布学习,并进行改进。

Dataset在这里插入图片描述

作者展示了比较常用的图像情感公开数据集,其中最后两个是由作者在本篇文章的研究中构建的。

  • Flickr_LDL
    首先从Flickr数据集中提取一个子集。与其他使用情绪名称搜索图像的数据集不同,Flickr数据集收集了1200对形容词-名词对,达到50万张图像。用八种常用的情绪来标记子集,其中每个类的数量大致相等。
  • Twitter LDL
    现有的Twitter数据集只包含数百张图像,并用二进制情感标记。为了从Twitter上建立一个大规模的LDL数据集,通过搜索各种情绪关键词收集了大约30000张图片。为了避免重复,在标记该数据集之前,通过几轮手动操作过滤具有高度相似性的图像。

在这两个数据集中,不同标注者的vote(投票)被整合,为每幅图像生成ground-truth标签分布。

Methods

作者提出改进后的两种模型:
1)首先提出了BCPNN,它将图像标签编码为二进制表示,以取代CPNN中使用的无符号整数。(因为图像情感标签是离散的类别,而非年龄标签那样的有序整数型,因此用one-hot编码表示情感类别)
2)然后通过向ground-truth标签添加噪声和增加情感分布来训练ACPNN模型。
在这里插入图片描述

Experiment

实验表明,本篇文章提出的方法具有更好的效果
在这里插入图片描述


4. Joint Image Emotion Classification and Distribution Learning via Deep Convolutional Neural Network

在这里插入图片描述

Multi-task prediction

本篇文章将单分类与标签分布任务进行结合:主标签预测loss+分布预测loss
通过高斯分布相关理论,可以将单标签数据集也转变成概率分布,因此在两类数据集上均可以进行LLD学习。
标签分布数据集:将概率最高的标签作为主标签
单标签数据集:根据高斯分布构建标签分布,可以考虑对所有类别给定分布,或只给定与主导标签有相同valence的情绪

  • 所有类别:
    f ( x , μ , σ ) = 1 2 π e x p ( − ∣ i − μ ∣ 2 2 σ 2 ) + ϵ C f(x,\mu ,\sigma ) =\frac{1}{\sqrt{2\pi} } exp(-\frac{|i-\mu|^2}{2\sigma^2} ) + \frac{\epsilon}{C} f(x,μ,σ)=2π 1exp(2σ2iμ2)+Cϵ

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。

  • 或部分情感类别:
    f ( x , μ , σ ) = { 1 2 π e x p ( − ∣ i − μ ∣ 2 2 σ 2 ) , i ∈ Y μ 0 , i ∉ Y μ f(x,\mu ,\sigma ) =\left\{
    12πexp(|iμ|22σ2),iYμ0,iYμ
    \right.
    f(x,μ,σ)=2π 1exp(2σ2iμ2),iYμ0,i/Yμ

其中, 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个输出的求导:
在这里插入图片描述
上式可知,作者通过巧妙地将两种分类任务进行结合,可以令梯度下降的导数具有较为简单的表达式。

Experiment

在三个标签分布数据集上进行实验(Emotion6 (E), Flickr LDL (F), 以及 Twitter LDL (T)),结果显示本文提出的方法达到了SOTA。
在这里插入图片描述
在单标签数据集上进行实验,结果同样有所提升,与以往方法相比提高了约3%。


5. 总结

总结一下,目前图像情感分析领域已经出现了不少LLD的研究,主要方法为两类:
1)先将图像的特征抽取好,分别将图像特征与每个标签表示进行拼接,再输入概率网络,输出是单个数值:样本关于该标签的概率 p ( y ∣ x ) p(y|x) p(yx),比如上文第2、3部分介绍的文章。
2)经典的图像分类结构,直接将图像输入神经网络提取特征并分类,输出为表示标签分布的c维向量(c代表类的数量,向量第j维即 p ( y j ∣ x ) p(y_j|x) p(yjx)),比如上文第4部分介绍的文章。
目前再多模态领域,LLD的研究还未进行系统的开展,原因是对于文字而言,进行标签分布的标注很有难度且缺乏说服力。
这也显示出LLD存在的弊端:标注具有主观性,在实际应用中,数据集难以获得耗时耗力,且标注过程可能由于主观性等因素引入噪声,可能效果相比单标签并没有提升。
因此对于实际问题,应用LLD是否可行,是否有必要,能否带来效果的提升,还需要根据具体的问题界定。


声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号