Learning Representations For Images With Hierarchical Labels(五)

目录

Chapter 5 方法:基于保序嵌入的模型

5.1 余弦嵌入

5.2 有序嵌入

5.3 Euclidean Cones

5.4 双曲锥

5.5 嵌入标签层次结构

5.6 基于标签层次的图像联合嵌入 


Chapter 5 方法:基于保序嵌入的模型

5.1 余弦嵌入

图5.1.利用改进的逐层模型的潜在空间提取标签嵌入。在原始模型的最后一层之后添加一个附加层。该模型的训练方式与L-Ni-way分类器完全相同。标记为N×Li的层的权重保持了这里标记的N维表示,N=2,但是它可以扩展到任何N维嵌入空间。

  对于余弦嵌入,我们从训练用于图像分类的CNN的潜在空间中提取标签表示。学习到的表示是模型仅为图像分类而明确训练的副产品。需要注意的是,余弦嵌入不一定是保序的,但在本章中与所有其他基于嵌入的模型一起介绍。

  我们通过添加一个线性层来修改每层分类器模型,该线性层将原始模型的最终完全连接层投影到一个被解释为标签嵌入的潜在空间。

  对于每个标签,附加层投影到N维嵌入空间。在图5.1中,标记为2 \times L_{i}的层的权重保持二维表示,第i级的每个标签对应一个。

  在执行图像分类时,层权重和上层图像表示的矩阵乘法产生每个标签的logit。最后一层中的权重表示标签嵌入。表示图像和标签之间相似性的标签logit由图像表示和每个标签表示之间的点积计算。图像表示和特定标签之间的点积的大小越大,相应的logit越大。logit意味着标签属于某个特定图像的可能性更大。 

5.2 有序嵌入

  在这一部分中,我们通过嵌入来介绍概念和图像的学习表示。最近的进展表明,非常规损失函数(而不是广泛使用的普通内积或其p-范数距离)可以模拟概念之间的不对称关系。有向图还模拟了由有向边连接的两个节点之间的不对称关系。 

  我们将标签层次结构视为有向无环图。更具体地说,由于定义分类法的性质以及我们如何创建数据集,它是一个有向树图。数据集X由通过从u到v的有向边连接的蕴涵关系(u,v)组成(遵循[16]中的定义)。这些有向边或超名链接表示v是u的一个子概念。 

  我们使用[39]中提出的最大边际损失来训练我们的模型。与文献[39]中不同的是,我们没有限制嵌入只具有正坐标,并且去掉了文献[39]中使用的绝对函数,赋予嵌入更多的自由。 

5.3 Euclidean Cones

  欧氏锥是阶嵌入方法的推广。如果v\: is-a\: u,那么在理想的顺序中,嵌入f(v)位于其原点为f(u)的正态中。欧几里德锥是顺序嵌入的推广,允许RN中更灵活的体积来定义is-a关系。

   一个比其他概念更抽象,因而包含更多概念的概念可以比它所包含的概念有更大的容量。  

  损失的一般形式与式(2.3)相同。违规处罚E不同于有序嵌入处罚,并采用等式(2.6)定义的更一般形式。 

图5.2:可视化ETHEC数据集经修改的每层模型的潜在2D空间[11]。绘制每个标签的嵌入图。标记为2×Li的层的权重保持标签的二维表示。我们通过添加原始标签层次结构中的边来可视化节点之间的关系。图例=青色:科,品红色:亚科,黄色:属,黑色:属+种。我们看到,对于给定级别的标签,模型对嵌入空间中具有更大范数的标签更有信心。对于较低级别(属、属+种),标签大致形成一个圆形图案,这意味着模型在标签上具有相同的可信度。我们还看到,青色节点向中心折叠,尽管它们每个标签的样本数最多(因为它们是层次结构中的最高级别),但由于它们捕获的图像具有较大的标签内方差,因此它们的范数小于品红节点。  

5.4 双曲锥

  我们可以用非欧几里德空间代替符合欧几里德几何的圆锥体和嵌入空间。双曲几何和球面几何都是非欧几里德几何(非零曲率),分别具有负截面曲率和正截面曲率。

  双曲空间可以用5种不同的方式建模。我们像之前的工作一样使用庞加莱球[32,16]。与其他模型一样,双曲锥在PyTorch[33]中实现。

  我们遵循[15]中的格式,以避免在双曲空间(更具体地说是庞加莱球)中学习参数时出现数值不稳定性。 

图5.3:顺序嵌入空间的图示。在理想情况下,如果(u,v)是一条正边,即v是u的一个子概念,那么,所有这些子概念都位于源于u的嵌入的嵌入空间(R2中的一个象限)中的一个平移正切内。(父概念的)直系子代和非直系子代都应位于属于父概念的已翻译象限中。

  

图5.4:欧几里德锥的图示。在理想情况下,如果(u,v)是一条正边,即v是u的子概念,那么所有这些子概念都位于嵌入空间中的圆锥体内,起源于嵌入空间中u的位置。(父概念的)直接子代和非直接子代都应位于属于父概念的圆锥体内。欧氏锥是阶嵌入的推广。就像按顺序嵌入的正方体一样,这里的圆锥体无限延伸。  

标签嵌入:对于双曲锥的实现,标签嵌入位于双曲空间Dn中,并根据等式(2.14)和等式(2.13)使用RSGD,借助等式(2.15)中的指数映射进行优化。RSGD是通过修改PyTorch中的SGD梯度来实现的,因为它不是标准库的一部分 

图像嵌入:对于图像,将使用性能最佳的基于CNN的模型主干的最后一层的特征(∈ R^{2048})。为了将它们映射到Dn,我们使用线性变换W∈ R2048×n,然后通过等于exp0(x)的指数映射将投影应用于Dn。这使得图像嵌入到具有欧氏参数的双曲空间。这允许使用众所周知的优化方案(如Adam[20])优化参数。 

5.5 嵌入标签层次结构

  首先,我们学习用这个模型单独表示层次结构。只考虑标签层次,不考虑图像(暂时),我们将这个问题建模为超级名称预测,其中超级名称对表示两个概念(x,y),例如y\: is-a\: x

  超级名称自然出现在我们的ETHEC数据集中[11],其中通过标签层次结构中不同级别的边表示is-a关系,从节点x到节点y的定向边表示y\: is-a\: x。 

数据分割

  我们以与[16]类似的方式将数据分为train、val和test。他们首先计算有向无环图的传递约简。然而,由于它是一棵树,它已经是最简单的形式,我们使用树来形成“基本”边,可以完全恢复传递闭包。如果训练集中不存在这些边缘,则有关它们的信息是不可恢复的,因此它们始终包含在列训练集中。现在,我们从传递闭包(=1974边)减去“基本”边(=723边)随机选取边,形成一组“非基本”边(=1257边)。我们使用“非基本”边创建val(5%)(=62条边)和测试(5%)(=62条边)拆分,其余部分保留用于训练(请参见训练详细信息)。 

训练细节

  我们遵循[16]中的训练细节。我们通过为(x,y)和(x,y)类型的(x,y)和(x,y0)分别生成5个负对来扩充验证集和测试集,其中随机选择的边不存在于图的完全传递闭包中。为每一个正片生成10个负片。对于训练集,以相同的方式动态生成负对。我们报告不同训练集大小的性能。我们改变了训练集,以包括随机选择的0%、10%、25%、50%的“非基本”边。我们训练了500个阶段,批量为10,学习率为0.01。我们进行了两组实验:一组,如[39]所述,我们确定α=1.0,另一组,根据val集合[16]上的F1分数调整α。 

按层次选择策略

  在实验中,我们发现了一种更好的方法来对负边缘进行采样。我们从层次结构中的不同级别选取每个x0,而不是从x0是使(x0,y)成为负边的任何节点的候选节点中采样负边(x0,y)。这有双重目的。由于层次结构是一棵树,78.24%的节点属于层次结构中的最后一级,如果不应用逐级拾取策略,则始终会对边缘进行采样,其中损坏的端在大多数情况下来自最后一级。这使得培训和融合速度极其缓慢。其次,通过这种逐层拾取策略,我们能够从与未损坏的节点y相同的层中对提供硬负边的节点进行采样,帮助嵌入分离并在空间中展开。 

优化细节

  我们使用Adam optimizer[20]进行订单嵌入和欧氏锥。对于双曲锥,我们使用黎曼SGD[16]。 

5.6 基于标签层次的图像联合嵌入 

  在order embeddings论文[39]中,作者提出了一个两级层次的图像标题检索任务。在他们的公式中,使用两级层次结构,图像放在较低的层次上,标题放在较高的层次上;原因是:图像更详细,而字幕代表的概念比图像本身更抽象。他们还使用了不同于hypernym prediction任务中提出的损失。 

  为了将图像与标签一起嵌入,我们使用了等式(2.3)中相同的超名损失。唯一的变化是,现在除了标签,G(代表层次结构的图形)还包含作为节点的图像,作为最低级别的叶子。 

  G由两类边组成:一条边(u,v)可以是u,v∈ 标签还是u∈ 标签,v∈ 图像。这并不重要,因为唯一的区别是计算图像和标签嵌入的方式。最后,fi和fl都将各自的输入映射到同一个空间。 

有嵌入的分类

  因为我们的问题不涉及超名预测,而是为一幅图像指定多个标签;我们使用嵌入来进行分类,而不是执行边缘预测(在超名称预测任务中就是这样)。 

  为了对图像进行分类,我们计算公式(2.2)中给定图像和每个标签之间的顺序冲突,并选择对应于最小冲突的标签。 

图像和标签嵌入 

  为了生成图像嵌入,我们使用在ETHEC数据集[11]上训练的性能最好的CNN模型,并使用它从倒数第二层提取fc7特征。我们在fc7特征之上使用可学习的线性变换,即矩阵W,以便能够调整fc7特征,并将其映射到欧几里德模型的RN和双曲模型的DN中的联合嵌入空间(Poincarédisk)。

  

  其中,CNN(i)代表我们表现最好的CNN模型的fc7函数,W是一个矩阵。CNN的权重被冻结,以计算fc7特征,其中只有W可以学习。对于标签,fl(l)只是一个查找表,用于在RN中存储向量。  

数据分割

  在这些实验中,我们仅根据图像将数据分为训练(80%)、val(10%)和测试(10%),就像对基于CNN的模型所做的那样。因为,现在我们将图像和标签一起嵌入,我们创建了一个组合图G来表示这两个。该图包含从每个“描述”图像的标签到图像本身的定向边,以及相关标签之间的边。 

训练细节

  设G表示要嵌入的图。Gtc中的所有边,即G的传递闭包,都被认为是正边。为了获得负边,通过从与G节点相同的全连通di图中移除Gtc中的边来构造Gneg。 

  训练时,对于每个正边缘(x,y)10个负采样,通过随机腐蚀正边缘的任意一侧(5×(x0,y)+5×(x,y0)各5个负采样。我们通过使用包括图像(最低级别)在内的层次结构中每个级别的节点破坏边缘来生成负片,因为图像的数量超过标签,我们希望在图像之外嵌入标签层次结构。我们使用上一节所述的按级别选择策略。 

  我们确保不对负边缘进行采样,这样边缘的任意一侧都是图像。这是为了确保两个图像不会被强制分开,除非它们的标签要求它们这样做,因为图像是最终级别的,并且没有与图像嵌入形成的圆锥体嵌套的圆锥体(因为它是图G中的最后一个级别)。 

  对于验证和测试集,我们分别为(x,y)(一个正对)和(x,y)类型的(x,y)和(x,y0)生成5个负对,其中随机选择的边在图Gneg中不存在。验证和测试集在开始时生成,并在培训期间固定。我们遵循[16]中的训练细节。 

  负片仅针对训练集进行采样,并动态生成。该模型的性能取决于其正确分类图像的能力。由于测量分类性能不需要负边缘,因此仅在训练期间对负边缘进行采样。为了验证和测试,我们分别通过val和测试集图像测量模型的分类 

图像重建任务

  除了分类任务外,我们还检查标签层次结构本身的重建质量。这里,G中与标签之间的边相对应的所有边都被视为正边,而G中与标签之间的边相对应的边被视为负边。我们计算E(u,v)∀E∈ P∪ N其中e=(u,v)并选择一个阈值来将边分类为正和负,使用该阈值可在该标签层次结构重建任务中获得最佳F1分数。此任务不使用任何边上有图像的任何边来检查重建质量。对于W,我们使用线性变换,矩阵R2048×N。非线性不适用于映射到嵌入空间的输出。 

优化细节

  对于联合嵌入标签和图像,我们根据经验发现使用vanilla Adam[20]优化器而不是Riemannian SGD。缺点是标签嵌入是在欧几里德空间中参数化的,我们使用等式(2.15)中0处的指数映射将其映射到双曲空间。观察到这更稳定,有助于收敛关节嵌入。此外,对于双曲线锥的这种实现,对于标签和关节嵌入,没有必要像[16]中建议的那样,用庞加莱嵌入[32]初始化嵌入。

  我们甚至注意到,当联合训练时,不需要使用单独的标签来初始化标签。当标签嵌入被随机初始化时,该模型仍然能够获得良好的图像分类性能。但是,当使用仅嵌入标签层次结构的值进行初始化时,可以获得性能提升。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值