澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手( 四 )


澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手我们对两部分的输出进行不同的正则:
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手其中语义相关部分会被关联至该图片原本标签的语义特征 , 而非语义部分则保持原有Flow的设计 。 这两个先验概率在最终计算的时候都会化为2范数的形式 , 因此使用起来非常方便 。 当然 , 这样的设计非常经验主义 , 但已经足够好用 。
整个生成过程和常见的模型类似 , 唯一的区别在于IZF不需要使用额外的Decoder网络 , 而只需要Encoder的逆变换:
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手这个过程和CVAE的Decoder以及GAN的Generator过程类似 。
2、修正Seen-Unseen偏差:扩大MMD大部分模型都有可能有将输出结果“聚拢”在一起的倾向 , 对于ZSL而言这可能导致生成的Unseen样本或特征长得和Seen样本过于接近 , 这将直接影响整个模型的判别能力 , 而这一直以来也是ZSL的一个核心问题 。 已经有相关研究证明Generative Flow本身对于这种现象并没有什么抵抗力 。 为了让我们的模型更好地服务于ZSL , 我们决定人为地略微扩大(生成的)Unseen样本的概率分布与Seen样本的概率分布之间的距离:
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手我们选择使用MMD来衡量两个概率分布之间的差异 。 这种做法在很多模型中已经被证明是一种行之有效的手段 , 例如Wasserstein Auto-Encoder以及MMD-GAN 。 不同点在于 , 已有的研究工作中往往通过最小化MMD来对齐两个不同的概率分布 , 而我们考虑略微增大Seen与Generated Unseen分布之间的MMD以达到更好的ZSL效果 。 所提出的损失函数如下:
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手这个思路对于难以参数化的分布来说应该是再合适不过了 。 当然 , 这个正则项会带来一些负面效果 , 例如会驱使模型生成一些不合理的样本 , 这个特性在我们的实验中也完整地体现了 。
3、训练IZF的训练完全依赖于梯度下降 , 因此十分方便快捷 。 我们使用三项目标函数的组合作为最终的损失函数:
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手其中
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手即单个样本的负对数似元(Negative Log-Likelihood) , 由本文章节三.1确定 , 是Generative Flow的常规训练目标函数 。 在只需要Encoding输出的情况下合理化模型的生成结果 。 这也是Flow的一大便捷特性 。
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手由本文章节3.2确定 。
澄澈的眼|GAN/VAE地位难保?Flow在零样本识别任务上大显身手是常见的规范Classification Prototype的正则项 , 在此就不赘述了 。


推荐阅读