无监督跨模态分类及其整理

一,通过raw feature学习到S,然后固定不动指导哈希码学习

  • JDSH:

Motivation

1,学习到简单的 S,这个 S 不单单是 S_I + S_T,这样把模态割裂的方式是不好的,应该把模态互相融合,你中有我,我中有你,一个I与所有I的相似度乘以对应的pair中的一个T与所有T的相似度然后相加。构成一个S_fusion(这与DGCPN相似,DGCPN只是进行相乘的时候做了一个KNN.)

              

                              

2,接下来就是精炼S,离最大sim近的那些就拉近一些,离最小sim近的那些就推远一些。这就有两个问题:如何设置界限和如何拉近和推远?

先讲界限,     

根据分布,可以发现实际分布左边近似于高斯分布左边,实际分布右边近似于拉普拉斯分布右边,所以就可以把这两个分布的均值当做界限,这里要加上方差,把范围限制地更小一些:

                              

再讲拉近和推远,

通过赋予权重的方式进行拉近和推远:

                         

                            

3,然后就可以利用新学到的S指导哈希码的学习

            

二,S在哈希码迭代学习的时候不停变动

  • SRCH

对无监督学习的精彩总结:

1,利用raw data的几何特征,然后学习到的S固定不动。

缺点:这个解决方案显然是次优的,因为原始特征通常不是为最近邻搜索而设计的,它们之间的距离可能有很大的偏差。

2,学习到的S,保持跨模态一致性,而不是将不同模态割裂开来。

为什么要跨模态一致性:两个样本在不同的模态下会出现相似度的不一致,从而混淆了训练过程,所以学习到一个模态融合的 S 便显得重要。

3,训练的时候保持数据语义连接的稀疏性

为什么要保持图的稀疏性:稀疏相似图节省了训练时间,而紧密连接的相似图可能会引入不必要的噪声。在这个意义上,我们需要在训练时简化相似图,只保留显式连接。

motivation

1,我们这个算法就是解决第一个问题,同时优化第三个问题,尽量保持稀疏性。

2,如何不断更新S:

初始化:通过KNN算法,构造初始的S矩阵(貌似是这样)

                                 

取最相近的 k 个节点。

                      

                                                 

                                                   

解释一下,C指的是权重,是通过度来计算,a指的是KNN初始化时候的度。度越大,权重C越小(参考GCN里面的原理,度越大,为边提供的信息越少)。

这里把Z和B都弄成模态统一的。

这里的g可以取V和T,分成两部分一模一样的公式形式,但是输入不同模态的数据来求。

3,如何保持稀疏性:

                               

(详细原因不甚了解)

4,为了更好地提高我们的模型的鲁棒性,加入了自编码模块:

                

 为了学习互相独立的哈希码B.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值