[ICLR 2022]A Unified Contrastive Energy-Based Model For Understanding The Generative Ability of Adversarial Training

ma-kjh·2023년 8월 22일
1

EBM

목록 보기
2/7

https://arxiv.org/abs/2203.13455

Contrastive Energy-based Models (CEM)

Adversarial Training (AT)는 딥러닝 네트워크의 robustness를 향상시켜주는 효과적인 방법으로 잘 알려져 있다. 최근 많은 연구자들이 이러한 AT로 훈련된 robust한 모델이 좋은 생성 능력을 가지고 진짜같은 이미지를 생성할 수 있다는 사실을 알았지만, 아직까지 왜 이것이 잘 되는지에 대한 이유는 미지수 였다.

이 논문은 이러한 현상을 Contrastive Energy-based Models(CEM)이라는 통합된 확률적 프레임워크로 해석했다. 한편으로 첫번째로 이러한 통합된 robustness와 생성 능력의 이해를 통해 AT의 probabilistic characterization을 제공한다. 또 한편으로는, 이 논문에서 제안하는 통합된 프레임워크가 unsupervised scenario로 확장됨으로써, unsupervised contrastive learning을 important sampling of CEM으로 해석할 수 있음을 보여준다.

이를 기반으로, 논문의 저자들은 adversarial learning과 sampling method를 발전시킬 수 있는 principled method에 대해 제안한다.

한 줄로 요약하면 다음과 같다.

  • Energy Based modeling을 통해 adversarial training이 왜 잘 작동되는지 해석해보자.

Adversarial Training (AT)는 딥러닝 네트워크의 robustness를 향상시킬 수 있는 가장 효과적인 방법중 하나로 지금까지 발전되어 왔다. AT는 minimax optimization problem을 푸는데, adversarial example을 classification loss를 최대화 함으로써 생성하는 inner maximization 과 maximization으로 만들어진 adversarial example의 classification loss를 최소화하는 model의 parameter를 찾는 outer minimization 두가지의 minimax optimization이다.

최근들어, 연구자들에 의해 AT를 통해 얻어진 robust classifier가 perceptually aligned with human방식으로 features를 추출할 수 있도록 한다고 알려져 있다. 그럼에도, 이러한 AT가 왜 더 의미적으로 의미있는 특징을 뽑고 classifier를 generator로 학습할 수 있는지에 대한 이유는 알지 못해왔다.

게다가 AT의 경우 훈련시에 deep generative model가 {xi}\{\mathbf{x}_i\}만 필요한 것과 다르게 labeled data인 {(xi,yi)}\{(\mathbf{x}_i,\mathbf{y}_i)\}를 필요로 한다. 따라서, robust model을 labeled data없이 훈련시키는 것이 가치 있는 연구일 것이다. 몇몇 최근 연구들이 adversarial attacking InfoNCE loss같은 unsupervised AT에 대해 제안하면서, contrastive encoder의 robustness를 향상시키는 작업을 진행했었다. 그러나 이러한 연구들이 왜 잘되는지에 대해 아직까지 잘 알려지지 않았다.

그럼 이제 왜 잘되는지 파해쳐보자.


CEM : A Unified Probabilistic Framework

이전의 연구중에 discriminative model을 energy-based model로 연결하는 연구들이 있었는데, 이 연구에서 저자는 Contrastive Energy-based Model(CEM)을 제안함으로써 supervised와 unsupervised scenarios를 통합한다.

저자의 제안된 CEM은 특정 Energy-based Model (EBM)이며, joint distribution pθ(u,v)p_\theta(\mathbf{u,v})를 두개의 변수 (u,v)\mathbf{(u,v)}에 대해 similarity function fθ(u,v)f_\theta(\mathbf{u,v})로 모델링 하는 것이다.

pθ(u,v)=exp(fθ(u,v))Z(θ)p_\theta(\mathbf{u,v})={\exp(f_\theta(\mathbf{u,v}))\over{Z(\theta)}}

여기서 Z(θ)=exp(fθ(u,v))dudvZ(\theta)=\int\exp(f_\theta(\mathbf{u,v}))d\mathbf{u}d\mathbf{v}는 partition function이다. 다른말로, CEM에서 (u,v)(\mathbf{u,v}) 페어 샘플은 더 높은 probability를 가진다는 의미이다. 이것은 두개의 다른 시나리오로 instance화 될 수 있음.

Parametric CEM

supervised scenario에서, 논문의 저자는 Parametric CEM (P-CEM)이라는 것으로 joint distribution pθ(x,y)p_\theta(\mathbf{x},y)를 구체화 한다. x\mathbf{x}데이터와 label yy는 다음과 같은 form을 따른다.

pθ(x,y)=exp(fθ(x,y))Z(θ)=exp(gθ(x)wy)Z(θ)p_\theta(\mathbf{x},y)={\exp(f_\theta(\mathbf{x},y))\over{Z(\theta)}}={\exp(g_\theta(\mathbf{x})^\top \mathbf{w}_y)\over{Z(\theta)}}

여기서 gθ:RnRmg_\theta:\mathbb{R}^n\rightarrow \mathbb{R}^m은 encoder를 의미하며, g(x)Rmg(\mathbf{x})\in\mathbb{R}^mx\mathbf{x}의 representation을 의미하며, wkRm\mathbf{w}_k\in\mathbb{R}^mkk-th class의 parametric cluster center를 나타낸다.

linear classification weight인 W=[w1,,wK]\mathbf{W}=[\mathbf{w}_1,\cdots,\mathbf{w}_K]와 logit vector as h(x)=g(x)Wh(\mathbf{x})=g(\mathbf{x})^\top\mathbf{W}는 P-CEM과 JEM사이의 동일성을 확인할 수 있다.

fθ(x,y)=gθ(x)wy=hθ(x)[y]f_\theta(\mathbf{x},y)=g_\theta(\mathbf{x})^\top\mathbf{w}_y=h_\theta(\mathbf{x})[y]

Non-Parametric CEM

Unsupervised scenario에서, 논문의 저자는 label에 access하지 않고 joint distribution을 (x,x)(\mathbf{x},\mathbf{x}^\prime) 으로 모델링한다.

pθ(x,x)=exp(fθ(x,x))Z(θ)=exp(gθ(x)gθ(x))Z(θ)p_\theta(\mathbf{x},\mathbf{x}^\prime)={\exp(f_\theta(\mathbf{x},\mathbf{x}^\prime))\over{Z(\theta)}}={\exp(g_\theta(\mathbf{x})^\top g_\theta(\mathbf{x}^\prime))\over{Z(\theta)}}

그러고 나면 이러한 Non-parametric CEM의 likelihood gradient과 상응되는 것은 다음과 같다.
이 논문을 먼저 보면 조금 이해가 편해짐

θEpd(x,x)logpθ(x,x)=Epd(x,x)θfθ(x,x)Epθ(x^,x^)θfθ(x^,x^)\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\log p_\theta(\mathbf{x},\mathbf{x}^\prime)=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime) -\mathbb{E}_{p_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)

P-CEM이 parametric cluster center를 포함(데이터 xx는 특정 yy label에 해당하는 분포를 따를 것이라고 가정(inductive bias))하는 것과는 대조적으로, NP-CEM의 joint distribution은 직접적으로 두 인스턴스 (x,x)(\mathbf{x},\mathbf{x}^\prime)사이의 feature-level similarity를 기준으로 정의된다. 논문에서는 이러한 joint data distribution pd(x,x)=pd(x)pd(xx)p_d(\mathbf{x},\mathbf{x}^\prime)=p_d(\mathbf{x})p_d(\mathbf{x}^\prime|\mathbf{x})로 re-paremeterization을 통해 정의한다.

x=fθ(t(x)),tu.a.r.T,xpd(x)\mathbf{x}^\prime=f_\theta(t(\mathbf{x})),\:\:\:\:\:t\mathop{\sim}\limits^{u.a.r.}\mathcal{T},\:\:\:\mathbf{x}\sim p_d(\mathbf{x})

u.a.ru.a.r → Uniformly At Random

T={t:RnRn}\mathcal{T}=\{t:\mathbb{R}^n\rightarrow\mathbb{R}^n\}인 데이터 어그먼테이션.

논문에서는 empirical data distribution pd(x)p_d(\mathbf{x})는 uniformly distribution over finite (but can be exponentially large) set of natural samples X\mathcal{X}로 가정한다.

Adversarial Training

Adversarial Training의 objective는 다음과 같다.

minθEpd(x,y)[maxx^xpϵCE(x^,y;θ)],whereCE=logpθ(yx^)(7)\min_\theta\mathbb{E}_{p_d(\mathbf{x},y)}[\max_{||\hat{\mathbf{x}}-\mathbf{x}||_p\leq \epsilon}\ell_{\text{CE}}(\hat{\mathbf{x}},y;\theta)],\:\:\:\text{where}\:\:\ell_\text{CE}=-\log p_\theta(y|\hat{\mathbf{x}})\:\:\: (7)

식에서 볼 수 있듯이, pd(x,y)p_d(\mathbf{x},y)로 부터의 샘플 (x,y)(\mathbf{x},y)에 대하여, cross entropy loss CE\ell_\text{CE}를 minimize하는 θ\theta를 찾아줌과 동시에, 이 때 샘플링 되는 x^\hat{\mathbf{x}}는 cross entropy loss CE\ell_\text{CE}를 최대화 하는 샘플이 되어야 한다.

Maximization Process

inner maximization problem에서, Projected Gradient Descent (PGD) 는 CE loss를 maximizing함으로써 adversarial example x^\hat{\mathbf{x}}를 생성하는 일반적인 방법이다. (i.e., minimizing the log conditional probability) starting from x^0=x:\hat{\mathbf{x}}_0=\mathbf{x}:

Projected Gradient Descent (PGD)

x^n+1=x^n+αx^n(x^n,y;θ)=x^nαx^nlogpθ(yx^n)=x^n+αx^n[logk=1Kexp(fθ(x^n,k))]αx^nfθ(x^n,y),\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}\ell(\hat{\mathbf{x}}_n,y;\theta)=\hat{\mathbf{x}}_n-\alpha\nabla_{\hat{\mathbf{x}}_n}\log p_\theta(y|\hat{\mathbf{x}}_n)\\ =\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}[\log\sum^K_{k=1}\exp(f_\theta(\hat{\mathbf{x}}_n,k))] -\alpha\nabla_{\hat{\mathbf{x}}_n}f_\theta(\hat{\mathbf{x}}_n,y),

반면에, Langevin dynamics for sampling P-CEM은, random noise x^0=δ\hat{\mathbf{x}}_0=\delta에서 시작되고 업데이트 된다.

Stochastic Gradient Langevin dynamics (SGLD)

x^n+1=x^n+αx^logpθ(x^n)+2αϵ=x^n+αx^n[logk=1Kexp(fθ(x^n,k))]+2αϵ.\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}}\log p_\theta(\hat{\mathbf{x}}_n)+\sqrt{2\alpha} \cdot \epsilon\\=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}[\log\sum^K_{k=1}\exp(f_\theta(\hat{\mathbf{x}}_n,k))]+\sqrt{2\alpha}\cdot\epsilon.

위 두 Equation 모두 positive logsumexp gradient을 가지며(이는 EBM관점에서 E(x^)E(\hat{\mathbf{x}})Energy score가 감소), 이것은 marginal probability pθ(x^)p_\theta(\hat{\mathbf{x}})를 push up하는 sample이다. PGD의 세번째 텀은 original data point로 부터 멀리 떨어진 repulsive gradient를 필요로 하면서 local region을 exploration하는 data point (x,y)(\mathbf{x},y)로 부터 시작된다는 것을 의미한다. Langevin dynamics는 대신, random noise로부터 시작되며, additive noise ϵ\epsilon은 exploration에 주입되는 노이즈다.

JEM에서 보았던 것과의 차이는 아래와 같다.

Comparing PGD and Langevin

위 두 분석을 통해, maximization process in AT는 probabilistic model pθ(x^)p_\theta(\hat{\mathbf{x}})으로부터 샘플을 추출해내는 biased sampling method의 하나로 바라볼 수 있다. Langevin dynamics와 비교했을 때, PGD의 경우 sampling에서 inductive bias를 강요한다.

추가적인 repulsive gradient 그리고 ϵ\epsilon-ball constraint와 함께, 이 방법은 명시적으로 샘플이 오리지널 데이터 포인트 근처에서 misclassified되는 샘플을 뽑도록 만들어준다.(αx^nfθ(x^n,y)-\alpha\nabla_{\hat{\mathbf{x}}_n}f_\theta(\hat{\mathbf{x}}_n,y)이 오리지널 데이터 포인트에서 밀어내도록 만듦) 실제로, 이러한 adversarial example을 사용한 adversarial training은 JEM에서 Langevin sample을 뽑는 것보다 일반적으로 더 stable하며, 이것은 PGD attack이 JEM training을 통한 negative sampling 방법을 대체할 수 있는 경쟁력있는 하나의 수단임을 암시한다.

Minimization process

P-CEM을 위한 joint log likelihood의 gradient를 시작

θEpd(x,y)logpθ(x,y)=Epd(x,y)θfθ(x,y)Epθ(x^,y^)θfθ(x^,y^)=Epd(x,y)θfθ(x,y)Epθ(x^)pθ(y^x^)θfθ(x^,y^),\nabla_\theta \mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(\mathbf{x},y)\\=\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E_{p_\theta(\hat{\mathbf{x}},\hat{y})}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})\\ =\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})p_\theta(\hat{y}|\hat{\mathbf{x}})}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y}),

(x,y)pd(x,y)(\mathbf{x},y)\sim p_d(\mathbf{x},y)는 positive data pair를 의미,

(x^,y^)pθ(x^,y^)(\hat{\mathbf{x}},\hat{y})\sim p_\theta(\hat{\mathbf{x}},\hat{y})는 negative pair를 의미. 위에서 언급했듯이, adversarial examples x^\hat{\mathbf{x}}는 maximization process에서 negative sample로 간주되면서 생성된다. 그리고 y^pθ(y^x^)\hat{y}\sim p_\theta(\hat{y}|\hat{\mathbf{x}})x^\hat{\mathbf{x}}를 예측한 label을 의미한다.

Minimization process에서는 P-CEM의 likelihood를 maximum하는 것이 AT의 minimization과 어떤 관련이 있는지 볼 것이다.

논문에서는 interpolated adversarial pair (x^,y)(\hat{\mathbf{x}},y)를 추가한다. 이를 통해 위 gradient를 두가지 텀으로 decompose하는데, 하나는 consistency gradient와 contrastive gradient이다.

θEpd(x,y)logpθ(x,y)=Epd(x,y)pθ(x^,y^)[θfθ(x,y)θfθ(x^,y^)]=Epd(x,y)pθ(x^,y^)[θfθ(x,y)θfθ(x^,y)+θfθ(x^,y)θfθ(x^,y^).]\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(\mathbf{x},y)=\mathbb{E}_{p_d(\mathbf{x},y)\otimes p_\theta(\hat{\mathbf{x}},\hat{y})}[\nabla_\theta f_\theta(\mathbf{x},y)-\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})]\\=\mathbb{E_{p_d(\mathbf{x},y)\otimes p_\theta(\hat{\mathbf{x}},\hat{y})}}[\nabla_\theta f_\theta(\mathbf{x},y)-\nabla_\theta f_\theta(\hat{\mathbf{x}},y)+\nabla_\theta f_\theta(\hat{\mathbf{x}},y)-\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y}).]

앞에 있는 텀이 consistency gradient, 뒤에 텀이 contrastive gradient.

그리고 나서, 이 두 파트가 두가지 효과적인 메커니즘을 adversarial training에서 상응한다는걸 보여준다.

AT loss

contrastive gradient(뒤에 텀)에서 두가지 샘플 페어는 같은 입력인 x^\hat{\mathbf{x}}를 공유한다. 저자들은 contrastive gradient를 다음과 같이 본다.

minθEpd(x,y)[maxx^xpϵCE(x^,y;θ)],whereCE=logpθ(yx^)(7)\min_\theta\mathbb{E}_{p_d(\mathbf{x},y)}[\max_{||\hat{\mathbf{x}}-\mathbf{x}||_p\leq \epsilon}\ell_{\text{CE}}(\hat{\mathbf{x}},y;\theta)],\:\:\:\text{where}\:\:\ell_\text{CE}=-\log p_\theta(y|\hat{\mathbf{x}})\:\:\: (7)
Epd(x,y)pθ(x^,y^)[θfθ(x^,y)θfθ(x^,y^)]=Epd(x,y)pθ(x^)[θfθ(x^,y)Epθ(y^x^)θfθ(x^,y^)]=Epd(x,y)pθ(x^)θlogpθ(yx^)\mathbb{E}_{p_d(\mathbf{x},y)\otimes p_\theta(\hat{\mathbf{x}},\hat{y})}[\nabla_\theta f_\theta(\hat{\mathbf{x}},y)-\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})]\\=\mathbb{E}_{p_d(\mathbf{x},y)\otimes p_\theta(\hat{\mathbf{x}})}[\nabla_\theta f_\theta(\hat{\mathbf{x}},y)-\mathbb{E}_{p_\theta(\hat{y}|\hat{\mathbf{x}})}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})]\\=\mathbb{E}_{p_d(\mathbf{x},y)\otimes p_\theta(\hat{\mathbf{x}})}\nabla_\theta \log p_\theta(y|\hat{\mathbf{x}})

이는 정확하게 negative gradient robust CE loss (AT loss) in EQ 7와 동일하다. 다른말로, gradient ascent with the contrastive gradient is equivalent to gradient descent w.r.t. the AT loss.

즉, logpθ(yx^)\log p_\theta(y|\hat{\mathbf{x}})을 최소화 시키는 term은, logpθ(yx^)-\log p_\theta(y|\hat{\mathbf{x}})을 최대화 시키는 term과 정확히 일치.

Regularization. (?)

consistency gradient에서, original AT는 간단하게 무시된다. 변화된 버전인 TRADES는 대신에 KL regularization인 KL(p(x^)p(x))\text{KL}(p(\cdot|\hat{\mathbf{x}})||p(\cdot|\mathbf{x}))를 모든 클래스에서의 predicted probability의 consistency를 regularize해준다. whose optimum implies p(x^)=p(x)fθ(x,y)=fθ(x^,y)p(\cdot|\hat{\mathbf{x}})=p(\cdot|\mathbf{x})\rightarrow f_\theta(\mathbf{x},y)=f_\theta(\hat{\mathbf{x}},y).

Comparing AT and JEM training paradigms.

위 분석을 토대로, AT의 minimization objective는 JEM의 maximum likelihood training과 관련이 되어있다.

joint likelihood를 pθ(x)p_\theta(\mathbf{x})pθ(yx)p_\theta(y|\mathbf{x})로 decompose하는 JEM과 비교하였을 때, positive pair (x,y)(\mathbf{x},y)와 negative pair (x^,y^)(\hat{\mathbf{x}},\hat{y}) 사이의 연결해주는 intermediate adversarial pair (x^,y)(\hat{\mathbf{x}},y)를 도입하는 것은 AT의 훈련을 stabilize해주는 요소로 작용한다.

게다가 이것은 consistency gradient를 regularization함으로써 adversarial robustness bias를 주입할 수 있게된다. 이와 함께 maximization process에서의 논문의 분석에서, AT가 더 안정적인 JEM training을 위한 경쟁적인 대안이 될 수 있다. 이는 AT로 훈련된 robust model이 왜 generative 한지에 대해서도 설명된다.

Proposed Supervised Adversarial sampling algoritms

본 논문의 해석은 또한 robust classifier를 위한 sampling algorithm의 중요한 디자인에 영감을 줄 수 있다.

Targeted Attack (TA)

이전의 robust classifier의 경우 sample을 추출하기 위해서, JEM같은 경우 targeted attack을 이용했다. 이 targeted attack은 random initialized input x^0\hat{\mathbf{x}}_0을 특정 클래스인 y^\hat{y}로 최적화하는 방법이다:

x^n+1=x^n+αxnlogpθ(y^x^n)=x^n+αxf(x^n,y^)αx^n[logk=1Kexp(fθ(x^n,k))].\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha \nabla_{\mathbf{x}_n}\log p_\theta(\hat{y}|\hat{\mathbf{x}}_n)=\hat{\mathbf{x}}_n+\alpha\nabla_\mathbf{x}f(\hat{\mathbf{x}}_n,\hat{y})-\alpha\nabla_{\hat{\mathbf{x}}_n}[\log\sum^K_{k=1}\exp(f_\theta(\hat{\mathbf{x}}_n,k))].
x^n+1=x^n+αx^n(x^n,y;θ)=x^nαx^nlogpθ(yx^n)=x^n+αx^n[logk=1Kexp(fθ(x^n,k))]αx^nfθ(x^n,y),(8)\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}\ell(\hat{\mathbf{x}}_n,y;\theta)=\hat{\mathbf{x}}_n-\alpha\nabla_{\hat{\mathbf{x}}_n}\log p_\theta(y|\hat{\mathbf{x}}_n)\\ =\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}[\log\sum^K_{k=1}\exp(f_\theta(\hat{\mathbf{x}}_n,k))] -\alpha\nabla_{\hat{\mathbf{x}}_n}f_\theta(\hat{\mathbf{x}}_n,y), \:\:\: (8)

EQ 8에서의 PGD와 비교했을 때, x^\hat{\mathbf{x}}y^\hat{y}로 미는 동안 TA는 negative logsumexp\text{logsumexp} gradient는 marginal probability pθ(x^)p_\theta(\hat{\mathbf{x}})를 감소하도록 가진다. 이것이 왜 TA가 less powerful for adversarial attack 인지 설명하고 또, rarely used for adversarial training.

즉, marginal probability가 감소하는 sample을 생성(energy score가 높아지는 샘플)하는 것인데, 이는 adversarial attack이 less powerful함 (당연한 얘기), 근데 그러면서 y^\hat{y}(target attack label)에 대해서는 가까워지는 x^\hat{\mathbf{x}}를 뽑아냄.

Conditional Sampling (CS)

targeted attack의 문제를 극복하기 위해서, negative logexp\log\sum\exp를 낮출 수 있는 아이디어를 도임.

pθ(xy^)=exp(fθ(x,y^))Zxy^(θ),Zxy^(θ)=xexp(fθ(x,y^))dx,p_\theta(\mathbf{x}|\hat{y})={\exp(f_\theta(\mathbf{x},\hat{y}))\over{Z_{\mathbf{x}|\hat{y}}(\theta)}},\:\:Z_{\mathbf{x}|\hat{y}}(\theta)=\int_\mathbf{x}\exp (f_\theta(\mathbf{x},\hat{y}))d\mathbf{x},

그리고 이것의 Langevin dynamics는

x^n+1=x^n+αx^nlogpθ(x^ny^)+2αϵ=x^n+αx^nfθ(x^n,y^)+2αϵ.\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}\log p_\theta(\hat{\mathbf{x}}_n|\hat{y})+\sqrt{2\alpha}\cdot\epsilon=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}f_\theta(\hat{\mathbf{x}}_n,\hat{y})+\sqrt{2\alpha}\cdot\epsilon.

샘플은 pθ(x^,y^)pd(y^)pθ(x^y^)p_\theta(\hat{\mathbf{x}},\hat{y})\approx p_d(\hat{y})p_\theta(\hat{\mathbf{x}}|\hat{y})로 부터 위 방식으로 추출된다. 따라서, CS는 debiased targeted attack algorithm으로 해석될 수 있다.

Reinforced Conditional Sampling (RCS)

위 방법에 착안하여, biased된 샘플링 방법으로 positive logsumexp gradient를 추가할 수 있다.

x^n+1=x^n+αx^nfθ(x^n,y^)+αx^n[logk=1Kexp(fθ(x^,k))]+2αϵ.\hat{\mathbf{x}}_{n+1}=\hat{\mathbf{x}}_n+\alpha\nabla_{\hat{\mathbf{x}}_n}f_\theta(\hat{\mathbf{x}}_n,\hat{y})+\alpha\nabla_{\hat{\mathbf{x}}_n}[\log\sum_{k=1}^K\exp(f_\theta(\hat{\mathbf{x}},k))]+\sqrt{2\alpha}\cdot\epsilon.

RCS는 target class y^\hat{y}에 대해 pθ(x^y^)p_\theta(\hat{\mathbf{x}}|\hat{y})를 maximizing함과 동시에 marginal probability pθ(x^)p_\theta(\hat{\mathbf{x}})를 향상시킬 수 있다.

Discussion On Standard Training (!! 중요)

결국 위 내용들을 바탕으로, 왜 adversarial training이 CEM관점에서 generative 한지 설명할 수 있을 것이다. 그리고 왜 Standard Training이 not generative (poor sample quality)한지도 특징짓는데 도움이 될 수 있다. 중요한 통찰점은 바로, 우리가 model distribution에 해당하는 pθ(x^)p_\theta(\hat{\mathbf{x}})를 data distribution pd(x)p_d(\mathbf{x})로 대체한다는 것이다.

θEpd(x,y)logpθ(x,y)=Epd(x,y)θfθ(x,y)Epθ(x^)pθ(y^x^)θfθ(x^,y^)Epd(x,y)θfθ(x,y)Epd(x)pθ(y^x^)θfθ(x,y^)=θEpd(x,y)logpθ(yx)\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(\mathbf{x},y)=\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})p_\theta(\hat{y}|\hat{\mathbf{x}})}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})\\\approx\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E}_{p_d(\mathbf{x})p_\theta(\hat{y}|\hat{\mathbf{x}})}\nabla_\theta f_\theta(\mathbf{x},\hat{y})=\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(y|\mathbf{x})
  • θEpd(x,y)logpθ(x,y)θEpd(x,y)logpθ(yx)\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(\mathbf{x},y)\approx\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(y|\mathbf{x}) 유도
    θEpd(x,y)logpθ(x,y)=Epd(x,y)θfθ(x,y)Epθ(x^)pθ(y^x^)θfθ(x^,y^)Epd(x,y)θfθ(x,y)Epd(x)pθ(y^x)θfθ(x,y^)=Epd(x,y)[θfθ(x,y)Epθ(y^,x)θfθ(x,y^)]=Epd(x,y)[θfθ(x,y)k=1Kpθ(kx)θfθ(x,k)]=Epd(x,y)[θfθ(x,y)k=1Kexp(fθ(x,k))θfθ(x,k)j=1Kexp(fθ(x,j))]=Epd(x,y)[θfθ(x,y)k=1Kθexp(fθ(x,k))j=1Kexp(fθ(x,j))]Epd(x,y)[θfθ(x,y)θk=1Kexp(fθ(x,k))j=1Kexp(fθ(x,j))]Epd(x,y)[θfθ(x,y)θlogk=1Kexp(fθ(x,k))]=Epd(x,y)θlogexp(fθ(x,y))k=1Kexp(fθ(x,k))=θEpd(x,y)logpθ(yx)\nabla_\theta\mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(\mathbf{x},y)\\=\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})p_\theta(\hat{y}|\hat{\mathbf{x}})}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{y})\\\approx\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E}_{p_d(\mathbf{x})p_\theta(\hat{y}|\mathbf{x})}\nabla_\theta f_\theta(\mathbf{x},\hat{y})\\=\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y)-\mathbb{E_{p_\theta(\hat{y},\mathbf{x})}\nabla_\theta f_\theta(\mathbf{x},\hat{y})}]\\=\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y)-\sum^K_{k=1}p_\theta(k|\mathbf{x})\nabla_\theta f_\theta(\mathbf{x},k)]\\=\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y) - \sum^K_{k=1}{\exp(f_\theta(\mathbf{x},k))\nabla_\theta f_\theta(\mathbf{x},k) \over{\sum^K_{j=1}\exp(f_\theta(\mathbf{x},j))}}]\\=\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y)-\sum^K_{k=1}{\nabla_\theta\exp(f_\theta(\mathbf{x},k))\over{\sum^K_{j=1}\exp(f_\theta(\mathbf{x},j))}}]\\\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y)-{\nabla_\theta\sum^K_{k=1}\exp(f_\theta(\mathbf{x},k)) \over{\sum^K_{j=1}\exp(f_\theta(\mathbf{x},j))}}]\\\mathbb{E}_{p_d(\mathbf{x},y)}[\nabla_\theta f_\theta(\mathbf{x},y)-\nabla_\theta\log\sum^K_{k=1}\exp(f_\theta(\mathbf{x},k))]\\=\mathbb{E}_{p_d(\mathbf{x},y)}\nabla_\theta \log{\exp(f_\theta(\mathbf{x},y))\over{\sum^K_{k=1}\exp(f_\theta(\mathbf{x},k))}}\\=\nabla_\theta \mathbb{E}_{p_d(\mathbf{x},y)}\log p_\theta(y|\mathbf{x})

이는 결국

minθEpd(x,y)[maxx^xpϵCE(x^,y;θ)],whereCE=logpθ(yx^)(7)\min_\theta\mathbb{E}_{p_d(\mathbf{x},y)}[\max_{||\hat{\mathbf{x}}-\mathbf{x}||_p\leq \epsilon}\ell_{\text{CE}}(\hat{\mathbf{x}},y;\theta)],\:\:\:\text{where}\:\:\ell_\text{CE}=-\log p_\theta(y|\hat{\mathbf{x}})\:\:\: (7)

에서 negative gradient를 가지는 CE loss를 의미한다. 따라서, Standard training은 CEM에서 model based negative sample x^pθ(x)\hat{\mathbf{x}}\sim p_\theta(\mathbf{x})를 data sample xpd(x)\mathbf{x}\sim p_d(\mathbf{x})로 대체한 것과 동일하다고 볼 수 있다. 이것은 ST를 계산적으로 효율적이게 만들면서 좋은 accuracy를 natural data에서 보유할 수 있는 것을 의미하지만, robustness와 adversarial example측면에서 제한되는 approximation으로 해석할 수 있다. 비슷하게, ST는 exploring negative sample을 훈련하는 동안 무시하기 때문에, standard classifier는 또한 generate realistic sample에 실패할 수 밖에 없다.

Extension of Adversarial Training to unsupervised scenario

결국 이 장에서 CEM을 Unsupervised scenario로 확장하면 다음과 같다.

NCE(x,x,{x^j}j=1K;θ)=logexp(fθ(x,x))i=jKexp(fθ(x,x^j))\ell_\text{NCE}(\mathbf{x},\mathbf{x}^\prime,\{\hat{\mathbf{x}}_j\}^K_{j=1};\theta)=-\log{\exp(f_\theta(\mathbf{x},\mathbf{x}^\prime))\over{\sum^K_{i=j}\exp(f_\theta(\mathbf{x},\hat{\mathbf{x}}_j))}}

놀랍게도, InfoNCE loss는 negative sample을 data sample로 approximating함으로써 importance sampling estimation과 동일하다는 것을 확인할 수 있다.

=Epd(x,x)θfθ(x,x)Epθ(x^,x^)θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epθ(x^)pd(x^)exp(fθ(x^,x^))Epd(x~)exp(fθ(x^,x~))θfθ(x^,x^)Epd(x,x)θfθ(x,x)Epd(x^)pd(x^)exp(fθ(x^,x^))Epd(x~)exp(fθ(x^,x~))θfθ(x^,x^)=Epd(x,x)θlogexp(fθ(x,x))Epd(x^)exp(fθ(x,x^))1Ni=1Nθlogexp(fθ(xi,xi))k=1Kexp(fθ(xi,x^ik))=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})p_d(\hat{\mathbf{x}}^\prime)}{\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\mathbb{E}_{p_d(\tilde{\mathbf{x}})}}\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\\approx \mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_d(\hat{\mathbf{x}})p_d(\hat{\mathbf{x}}^\prime)}{\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\mathbb{E}_{p_d(\tilde{\mathbf{x}})}\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta\log{\exp(f_\theta(\mathbf{x},\mathbf{x}^\prime))\over\mathbb{E}_{p_d(\hat{\mathbf{x}}^\prime)}\exp(f_\theta(\mathbf{x},\hat{\mathbf{x}}^\prime))}\approx{1\over{N}}\sum^N_{i=1}\nabla_\theta\log{\exp(f_\theta(\mathbf{x}_i,\mathbf{x}^\prime_i))\over{\sum^K_{k=1}\exp(f_\theta(\mathbf{x}_i,\hat{\mathbf{x}}_{ik}^\prime))}}
  • 유도
    Epd(x,x)θfθ(x,x)Epθ(x^,x^)θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epθ(x)pθ(x^x^)θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epθ(x)pθ(x^,x^)pθ(x^)θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epθ(x^)x^exp(fθ(x^,x^))x~exp(fθ(x^,x~))θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epθ(x^)x^pd(x^)exp(fθ(x^,x^))x~pd(x~)exp(fθ(x^,x~))θfθ(x^,x^)(aspd(x^)=pd(x~)=1X)=Epd(x,x)θfθ(x,x)Epθ(x^)pd(x^)exp(fθ(x^,x^))Epd(x~)exp(fθ(x^,x~))θfθ(x^,x^)Epd(x,x)θfθ(x,x)Epd(x^)pd(x^)exp(fθ(x^,x^))Epd(x~)exp(fθ(x^,x~))θfθ(x^,x^)=Epd(x,x)θfθ(x,x)Epd(x^)θlogEpd(x^)exp(fθ(x^,x^))=Epd(x,x)[θfθ(x,x)θlogEpd(x^)exp(fθ(x^,x^))](mergepd(xwithpd(x^)))=Epd(x,x)θlogexp(fθ(x,x))Epd(x^)exp(fθ(x,x^))1Ni=1Nθlogexp(fθ(xi,xi))k=1Kexp(fθ(xi,x^ik))\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\mathbf{x})}p_\theta(\hat{\mathbf{x}}|\hat{\mathbf{x}}^\prime)\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\mathbf{x})}{p_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\over{p_\theta(\hat{\mathbf{x}}^\prime)}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})}\int_{\hat{\mathbf{x}}}{\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\int_{\tilde{\mathbf{x}}}\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})}\int_{\hat{\mathbf{x}}}{p_d(\hat{\mathbf{x}})\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\int_{\tilde{\mathbf{x}}}p_d(\tilde{\mathbf{x}})\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\:\:(\text{as}\:p_d(\hat{\mathbf{x}})=p_d(\tilde{\mathbf{x}})={1\over{|\mathcal{X}|}})\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_\theta(\hat{\mathbf{x}})p_d(\hat{\mathbf{x}}^\prime)}{\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\mathbb{E}_{p_d(\tilde{\mathbf{x}})}\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\\approx \mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_d(\hat{\mathbf{x}})p_d(\hat{\mathbf{x}}^\prime)}{\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\over{\mathbb{E}_{p_d(\tilde{\mathbf{x}})}\exp(f_\theta(\hat{\mathbf{x}},\tilde{\mathbf{x}}))}}\nabla_\theta f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime)\\ =\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\mathbb{E}_{p_d(\hat{\mathbf{x}})}\nabla_\theta\log\mathbb{E}_{p_d(\hat{\mathbf{x}})}\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}[\nabla_\theta f_\theta(\mathbf{x},\mathbf{x}^\prime)-\nabla_\theta\log\mathbb{E}_{p_d(\hat{\mathbf{x}})}\exp(f_\theta(\hat{\mathbf{x}},\hat{\mathbf{x}}^\prime))]\:\:(\text{merge}\:p_d(\mathbf{x}\:\text{with}\:p_d(\hat{\mathbf{x}})))\\=\mathbb{E}_{p_d(\mathbf{x},\mathbf{x}^\prime)}\nabla_\theta\log{\exp(f_\theta(\mathbf{x},\mathbf{x}^\prime))\over\mathbb{E}_{p_d(\hat{\mathbf{x}}^\prime)}\exp(f_\theta(\mathbf{x},\hat{\mathbf{x}}^\prime))}\approx{1\over{N}}\sum^N_{i=1}\nabla_\theta\log{\exp(f_\theta(\mathbf{x}_i,\mathbf{x}^\prime_i))\over{\sum^K_{k=1}\exp(f_\theta(\mathbf{x}_i,\hat{\mathbf{x}}_{ik}^\prime))}}

Experiments

profile
거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴

0개의 댓글