写在前面
paper -> 链接
code -> 链接(只有inference代码)

一、HSE发展背景

1. 基于深度学习的方法本质上都有两个缺点

(1)模型性能的保证依赖于大量带标注的训练数据;
(2)这些方法往往缺乏对能起指导作用的先验知识加以利用。

2. 精细化识别技术的主要难点

(1)难以区分的类间差别:对于从相似类别得到的物体,很多情况下他们的视觉差别是非常微小的,有些甚至是人都难以区分;
(2)明显的类内差异:对于从同一类别得到的物体,由于尺度、视角、遮挡以及多样化的背景,这些物体呈现出非常大的视觉差异。

3. 两种神经网络

一种是全连接神经网络,如受限玻尔兹曼机、深度置信网络等,另一种是卷积神经网络。

二、HSE模型创新点

1. 利用了层次化的语义知识

(1)在特征表达时,在神经网络中嵌入上级预测的得分向量,以之指导下级模型表达出更细致特征;
(2)在模型训练时,将上级的得分向量作为一种软目标,对下级预测的语义空间进行约束。
(3)首创性地将数据集划分为不同的类别。
在框架中主要体现在:特征表达时的语义知识的嵌入和模型训练时利用语义知识引导正则化预测结果。

2. 需要的训练集数目少

HSE 框架在训练样本越少的情况下,起到的作用越明显,说明 HSE 框架可以有效地减少模型训练时对数据的依赖,在小样本学习问题中
有潜在的应用价值。

三、HSE算法原理和实验

1. 算法理论原理

(1)图像浅层特征的提取(主干网络实现)

主要利用的就是resnet50的前41层作为主枝,提取图像的深度特征提取。
注意,如果是深层特征的提取的话是由分支网络实现的。

(2)语义知识嵌入表达学习(分支网络实现)

语义知识的嵌入表达体现在分支网络中:分支网络采用一种由语义知识引导
的注意力机制,分支网络首先会对来自于主干网络的特征图进行二次特征化表达,
产生一张新的分支特征图,通过结合上级预测的得分向量及其下级的分支特征图,
学习得到一张注意力权重图。这张权重图所表示的意思为,分支网络所生产的新
特征图每一个空间位置对于识别目标类别的重要程度
,判别性越高的位置,吸引
更多的注意力,在权重图相应位置对应的权重也越大。这张权重图作用在分支特
征图之上,最终产生一张加权的分支特征图,以此预测该层级类型的标签分布。

(3)语义知识对预测结果语义空间的约束(分支网络实现)

语义知识对预测结果语义空间的正则化体现在 HSE 框架的训练过程:本文将上级预测的得分向量作为软目标,强制约束其下级的预测结果符合分类树的语义规则,从而正则化其下级预测结果的语义空间。

2. 算法对应的网络实现流程细节

(1)主干网络
如下图所示就是主干网络(trunk net)跟resnet50的区别。ResNet50的介绍可以看我上一篇blog零基础入门ResNet,在Cub200数据集上复现Resnet50。

(2)分支网络
一定要参照这张图来读下文

1)语义知识嵌入表达学习框架中的关键参数的解释
ϕi(⋅)\phi_i(\cdot)ϕi() : 经过主干网络之后,提取出的特征图fIf_IfI,然后对fIf_IfI进行进一步的特征图进行提取。即fi^=ϕi(fI)\hat{f_i}=\phi_i(f_I)fi^=ϕi(fI),这个主要是用来跟上一等级的输出结果Si−1S_{i-1}Si1进行结合处理的,具体处理后面会解释。在本篇论文中所说的就是通过resnet50中的layer5,即第四个残差层。

ψi(⋅)\psi_i(\cdot)ψi() : 作用跟ϕi(⋅)\phi_i(\cdot)ϕi()是一样的,之所以要做这次是因为要保持原来的全局特征,避免丢失。在本篇论文中所说的就是通过resnet50中的layer5,即第四个残差层。

φi(⋅)\varphi_i(\cdot)φi() : 这是个全连接层,将Si−1S_{i-1}Si1映射成一个1024维的语义知识表达向量。

repeat : 广播,将Si−1S_{i-1}Si1经过φi(⋅)\varphi_i(\cdot)φi() 再次拓展成一个跟fi^\hat{f_i}fi^具有相同维度(n,c,w,h)的向量fi′f_i'fi

⊕\oplus : 将fi^\hat{f_i}fi^fi′f_i'fi的每个位点的拼接。

ai(⋅)a_i(\cdot)ai(): 注意力训练模型,将凭借后的特征图连续用两个全连接层fc逐步将其映射为1024维和2048维,最后得到一个注意力系数(下图最右边蓝色部分)。

⊙\odot : 将注意力系数向量与ϕi(⋅)\phi_i(\cdot)ϕi() 输出的特征图每个位置的图进行相乘,随后得到了加权的特征图fif_ifi

2)上级语义约束预测结果的过程体现
来自上层的Si−1S_{i-1}Si1除了参与其分支结构中的上层语义嵌入学习框架中,还要参与上层语义框架最后输出的初始SiS_{i}Si的学习演变中。具体的参与过程就是:
Si−1S_{i-1}Si1得将自己先拓展成跟SiS_{i}Si具有相同维度的Si−1′S_{i-1}'Si1
然后找到在通过在i-1层最后通过softmax函数输出的Si−1S_{i-1}Si1中值最大的那一类c,并且通过从属关系找到c类对应的第i层中的k个子类
Si−1S_{i-1}Si1中c类的概率复制到Si−1′S_{i-1}'Si1中的c的k个子类中

然后将Si−1′S_{i-1}'Si1SiS_{i}Si都进行温度为T=4的softmax函数计算,得出下面两个分布

然后通过KL散射定义上层语义的正则化约束项

然后要求出针对整个训练集(实际训练的时候其实就是一个batch size的量)的正则项,然后就可以通过这个正则项去训练了。

3. 训练方法

(1) 需要优化的目标函数
以类别标签作为优化目标,采用交叉熵损损失函数作为目标优化函数。
1)首先,我们将第

Fine-Grained Representation Learning and Recognition by Exploiting Hierarchical Semantic Embedding相关推荐

  1. Zhou21Network Representation Learning: From Preprocessing, Feature Extraction to Node Embedding

    Zhou21Network Representation Learning: From Preprocessing, Feature Extraction to Node Embedding 参考:h ...

  2. CVPR2020 步态论文:Gait Recognition via Semi-supervised Disentangled Representation Learning to Identit

    论文题目:Gait Recognition via Semi-supervised Disentangled Representation Learning to Identity and Covar ...

  3. 【HRNet2019】Deep High-Resolution Representation Learning for Visual Recognition

    Deep High-Resolution Representation Learning for Visual Recognition 用于视觉识别的深度高分辨率表示学习 文章地址:https://a ...

  4. (转)Predictive learning vs. representation learning 预测学习 与 表示学习

    Predictive learning vs. representation learning  预测学习 与 表示学习 When you take a machine learning class, ...

  5. Metapath2vec:Scalable Representation Learning for Heterogeneous Networks(结构化深度网络特征表示)

    目录 1.图嵌入背景介绍 1.1 什么是图嵌入 1.2 为什么要使用图嵌入 2.论文背景介绍 2.1 同质网络 & 异质网络 2.2 异质网络与Metapath2vec 3.Metapath2 ...

  6. Local Generic Representation for Face Recognition with Single Sample per Person (ACCV, 2014)

    (1)Abstract: 1. 每个类别单个样本的人脸识别(face recognition with single sample per person, SSPP)是一个非常有挑战性的任务,因为在这 ...

  7. 【论文翻译|2021】A survey on heterogeneous network representation learning 异构网络表示学习综述

    文章目录 摘要 1引言 2 相关工作 3 相关概念 4 分类 4.1 异构信息网络表示方法概览 4.2 异构信息网络嵌入算法的分类 4.3 基于路径的算法 4.3.1 传统的机器学习 5 讨论 5.1 ...

  8. 《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou

    留个笔记自用 Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clo ...

  9. [生成对抗网络GAN入门指南](10)InfoGAN: Interpretable Representation Learning by Information Maximizing GAN

    本篇blog的内容基于原始论文InfoGAN: Interpretable Representation Learning by Information Maximizing Generative A ...

最新文章

  1. 图十字链表并求度c语言,利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现...
  2. 李德毅:“反用驾驶脑”测认知能力,谁说酒驾一定违规?
  3. HDU - 1556 Color the ball(树状数组)
  4. python培训学校-如何找到靠谱的Python培训学校?
  5. 计算机系统集成项目的管理及应用
  6. mybatis 构造查询和联合子查询问题
  7. 行千里,看山城轻轨穿楼越林;致广大,望重庆交通桥上桥下
  8. ORACLE数据库在导入导出时序列不一致的问题
  9. CentOS7使用firewalld打开关闭防火墙与端口(转载)
  10. 滴滴顺风车上线新功能,特殊时期便捷出行
  11. [MySQL] InnoDB三大特性之 - 插入缓冲
  12. linux 下的igv软件,Linux IGV 自动画图 -- for 自动化报告
  13. 伟大的程序员是怎样炼成的?
  14. Matlab求整数规划
  15. kindle的xray怎么用_kindle的x-ray有什么用
  16. celeste实用技巧(第2弹)
  17. Learn Git Branching 学习笔记(关于origin和它的周边——Git远程仓库高级操作篇)
  18. mac系统学python_升级mac自带的python,学python拿mac还是win,使用系统自带Pyth
  19. for in 循环(遍历循环)
  20. Unity减少安装包的大小总结

热门文章

  1. 前端上传视频至阿里云
  2. 什么叫克隆人_【语文阅读理解】到底什么是克隆人
  3. 创业很难,有没有人愿意分享自己一些创业的点子,想法,尽量详细一点?
  4. 题目: 输入某年某月某日,判断这一天是这一年的第几天
  5. MySQL关系型数据库
  6. 利用Python暴力破解邻居家WiFi密码
  7. js 去掉字符串的空格回车换行
  8. 收藏张老三的NHibernate 博客园专题之一
  9. CSS3理解position属性
  10. 时间序列分析教程(二):移动平均与指数平滑