【Open Set Recognition】Open Set Learning with Counterfactual Images in ECCV 2018 个人理解

一、简介

题目: Open Set Learning with Counterfactual Images
会议: ECCV 2018
任务: 开放集识别(Open Set Recognition, OSR),要求模型能够正确识别训练期间见过的类(已知类),同时能检测或拒绝没见过的类(未知类)。换句话说就是将测试集中属于已知类的样本正确分类,将属于未知类的样本(可能来自多个未知类)统一归为一个额外的类。
Idea:
(1)使用编解码生成对抗网络(Encoder-Decoder Generative Adversarial Network, Encoder-Decoder GAN)生成一些反事实样本(Counterfactual Images)使它们处于已知类和未知类的边界之间,这些反事实样本根据已知类生成,与已知类相似,但不属于已知类;
(2)使用训练集样本(来自K个已知类)和这些反事实样本(作为第K+1类)训练分类器,使分类器具有OSR能力。

摘要图
图中, ∙ \color{green}\bullet 为已知类样本, × \color{red}\bm\times ×为反事实样本, + \color{blue}\bm+ +为未知类样本。

二、详情

1. 分类器训练

传统的分类器训练操作,以交叉熵(Cross-Entropy, CE)损失在训练集上拟合卷积神经网络(Convolutional Neural Network, CNN)分类器,记为 C K C_K CK,其中 K K K是已知类的类别数量。

2. 生成模型训练

Encoder-Decoder GAN模型主要包括三个组件:编码器 E ( x ) E(x) E(x)、生成器 G ( z ) G(z) G(z)、判别器 D D D

判别器 D D D的目的是将真样本和生成的假样本区分开来,以如下带梯度惩罚的Wasserstein critic为损失:

其中, D D D识别出 G ( E ( x ) ) G(E(x)) G(E(x))为假时 D ( G ( E ( x ) ) ) = 0 D(G(E(x)))=0 D(G(E(x)))=0,所以希望 D ( G ( E ( x ) ) ) D(G(E(x))) D(G(E(x)))尽可能小;D识别出 x x x为真时 D ( x ) = 1 D(x)=1 D(x)=1,所以希望 − D ( x ) -D(x) D(x)尽可能小; P ( D ) = λ ( ∥ ∇ x ^ D ( x ^ ) ∥ 2 − 1 ) P(D)=\lambda(\|\nabla_{\hat{x}}D(\hat{x})\|_2-1) P(D)=λ(x^D(x^)21),即希望 ∥ ∇ x ^ D ( x ^ ) ∥ 2 \|\nabla_{\hat{x}}D(\hat{x})\|_2 x^D(x^)2尽可能接近1,它被用来解决GAN中的参数二值化和训练难调节两大问题。

编码器和生成器(或称解码器)的目的是使生成的假样本尽可能接近真实样本, E ( x ) E(x) E(x) G ( z ) G(z) G(z)被联合训练,损失如下:

其中, ∥ x − G ( E ( x ) ) ∥ 1 \|x-G(E(x))\|_1 xG(E(x))1表示生成样本 G ( E ( x ) ) G(E(x)) G(E(x))和真实样本 x x x的接近程度,希望其尽可能小; D D D识别出 G ( E ( x ) ) G(E(x)) G(E(x))为假时 D ( G ( E ( x ) ) ) = 0 D(G(E(x)))=0 D(G(E(x)))=0,否则为 1 1 1,为让 D D D信以为真,则希望 − D ( G ( E ( x ) ) ) -D(G(E(x))) D(G(E(x)))尽可能小。

3. 反事实样本生成

该部分的目的是生成反事实样本,使其与真实(已知类)样本相似却不属于已知类。

在介绍其方法之前需明确一个假设:如果一个样本喂入分类器后,其SoftMax输出中最大的概率值(或称置信度)越低,则该样本越可能属于未知类

于是,在使用训练好的Encoder-Decoder GAN模型生成反事实样本时,可优化如下目标函数:

需要注意的是,这是优化 z z z的过程, E ( x ) E(x) E(x) G ( z ) G(z) G(z)保持不变。其中,第一项的目的是使 z z z不要发生过大的变化,由此保证所生成的反事实样本与真实样本相似;第二项的目的是使训练好的分类器 C K C_K CK的SoftMax输出中最高的概率值尽可能低,即希望在已知类上训练好的分类器 C K C_K CK对生成的反事实样本 G ( z ) G(z) G(z)的置信尽可能低,由此保证所生成的反事实样本不属于已知类。

4. 新的分类器训练

传统的分类器训练操作,与1. 分类器训练不同的是,这里使用原训练集样本(来自K个已知类)和在3. 反事实样本生成中生成的反事实样本(作为第K+1类)训练分类器。仍以CE为损失,拟合出的新的分类器记为 C K + 1 C_{K+1} CK+1

这样当测试集中出现训练期间没见过的类的样本时, C K + 1 C_{K+1} CK+1会分配更大的值给SoftMax中第 K  ⁣ +  ⁣ 1 K\!+\!1 K+1个值,由此实现OSR。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fulin_Gao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值