基于改进损失函数的多阶段行人属性识别方法
基于改进损失函数的多阶段行人属性识别方法
一、 摘要
文中基于深度学习理论提出多阶段行人属性识别方法,同时探索属性间的正、负相关性。
二、网络结构
三、算法流程
第一阶段
第一阶段将网络最后一个全连接层的输出神经元个数修改为行人属性的数目,网络的其它层仍然保持原有结构,将最后一层全连接层的输出作为sigmoid **函数的输入,经此**函数输出每个属性的预测值。
每个小批次中的每个属性产生的平均损失值:
每个属性的分类精度:
平均损失值:
平均精度:
平均损失值和平均精度作为第一阶段每个属性学习状态的两个指标,并为2个指标设置对应的阈t
c
_c
c和t
a
_a
a 。然后把属性分成两组,平均损失值小于tc 且平均精度大于t
a
_a
a的属性为一组,记为:
其余的属性共同组成另一组。符号g表示属性集合, 集合G
1
_1
1和G
2
_2
2内部元素具有正相关性的属性,在分类学习中能够相互促进,而G
1
_1
1和G
2
_2
2之间的属性具有抑制关系的属性,抑制对方分类性能的提升。第一阶段的学习任务完成。
第二阶段:分组训练
第二阶段在共享层(全连接之前的网络层) 后新建立一个网络分支,如分支2所示, 两分支的结构如下:
1)分支1全连接层FC8(1)输出神经元数目等于G
1
_1
1中的属性个数,用于学习G
1
_1
1中属性的预测。
2)分支2全连接层FC8(2)输出神经元数目等于G
2
_2
2中的属性个数,用于学习G
2
_2
2中属性的预测。
3)两个分支的全连接层FC6(2)和FC7(2)的结构相同。
将两个分支最后的全连接层进行连接操作,然后进行多属性的联合学习。使用第一阶段得到的模型微调第二阶段的共享层和两分支的前两个全连接层,全连接层FC8(1)和FC8(2)的参数初始化为满足均值为0、标准差为0. 001 的截断正态分布的随机值。第二阶段的模型具有如下特点:
1)两分支协同训练,削弱多属性联合学习中属性的抑制性。
2)同一分支探索属性间的正相关性,不同分支抑制负相关性的影响。
3)全连接层之外的浅层网络作为共享层,用于捕获两组属性间的共享信息,减少过拟合的风险。
第三阶段
第三阶段在共享层后连接两个大分支:总分支1 和总分支2。两个总分支结构如下:
1)总分支1连接总分支1-1、总分支1-2;总分支2连接总分支2-1、总分支2-2。
2)总分支1-1和总分支2-1的结构与第二阶段的分支1相同,总分支1-2 和总分支2-2 的结构与第二阶段的分支2相同。
使用第二阶段训练得到的模型微调第三阶段的所有网络参数,初始时候保证总分支1和总分支2最初的预测能力一致。
此阶段的目的在于微调第二阶段训练得到的全连接层参数,强化网络的预测能力。 采用的竞争训练方式为:在保证共享层和总分支1 的网络参数不变的基础上,训练总分支2 的网络参数,使用分支竞争损失函数使总分支2 的预测结果优于总分支1,使总分支2 的预测性能强于第二阶段。
四、损失函数
loss:
改进的损失函数:
若第i个样本第j个属性为正例,式(4)表示该属性的预测值与0 的距离,否则,式(4)表示该属性的预测值与1的距离。使用该距离构造式(3)所示的矩阵,称为正负样本差异值矩阵。该矩阵均值越大(小),则模型对属性的预测值越接近(远离)真值。
第一、二阶段的损失函数包括两个损失成分:
竞争学习的损失函数:
其中,p
i
j
1
_{ij}^{1}
ij1和p
i
j
2
_{ij}^{2}
ij2表示总分支1和总分支2对第i个样本的第j个属性的预测值。若梦
β
i
j
\beta_{ij}
βij > 0,表示总分支2对该属性的判别力弱于总分支1,若茁
β
i
j
\beta_{ij}
βij > 0,表示总分支2对该属性的判别力强于总分支1。将
β
\beta
β的均值作为损失函数值,(5)为分支竞争损失函数。
第三阶段使用的损失函数具有三个成分: