안녕하세요. 안녕하세요. KDST팀 김유진입니다. 9월 27일에 진행했던 Point-based image editing에 대한 세미나 내용을 간략하게 요약해보도록 하겠습니다. 이번에 소개해 드릴 논문은 CVPR 2024에서 Highlight를 받은 "DragDiffusion: Harnessing Diffusion Models for Interactive Point-based Image Editing" 입니다.

 

Point-based image edit이란 사용자가 먼저 주어진 이미지에서 Handling pointTarget point pair를 여러 개 지정 후, 모델이 해당 이미지에서 의미론적으로 일관된 편집을 수행하여 Handling point의 content를 target point로 이동하여 이미지를 수정하는 방식입니다. 아래의 동영상은 DragDiffusion의 official github에서 참고한 Point-based image editing 과정을 보여줍니다.

Point-based image editing에서 반드시 만족해야하는 특징은 첫번째로, 수정이 되길 원하는 부분에 대해서 masking 작업을 수행 후, 해당 region을 제외한 나머지 region의 content는 원본 이미지의 content를 유지해야하 합니다. 두번째로, Handling point 의 content가 Target point에서 유지되도록 이미지를 수정해야합니다. 

 

DragDiffusion


DragDiffusion은 Point-based image editing을 위해 image latent를 직접적을 optimize하며 생성된 이미지의 spatial layout을 결정하는 방법론입니다. DragDiffusion은 아래와 같이 3가지의 과정을 거쳐 Point-based image editing을 수행합니다.

DragDiffusion 전체 프로세스

  • Identity-preserving Fine-tuning

첫번째로, 이미지를 수정하기 전, original image의 content를 유지하면서 원하는 region에서의 수정을 가능하게 하기 위해, Diffusion model의 UNet (denoiser)을 fine-tuning 합니다. 해당 프로세스의 목표는 UNet이 입력 이미지의 특징을 더 정확하게 인코딩하여 편집 과정 전반에 걸쳐 이미지의 동일성을 일관되게 유지하는 것입니다. Cost-efficient한 fine-tuning을 위해서 DragDiffusion은 LoRA 기법을 활용하며, 목적함수로는 input image와 생성된 이미지의 noise reconstruction loss를 최소화하는 방향으로 fine-tuning 됩니다. 

Reconstruction loss for fine-tuning the UNet

논문의 저자들은 ablation study에서 찾아볼수 있듯이, 실험적으로 최적의 LoRA Finetuning epoch을 찾았으며, 80 epoch동안 UNet을 fine-tuning 합니다.

  • Diffusion latent optimization

두번째로, Fine-tuned UNet을 활용하여, point-based image editing을 수행합니다. 저자들은 pixel space에서의 이미지 수정을 제어하기 위해 직접적으로 image latent를 optimization합니다. 이 때 latent optimization은 모든 denoising time step에 해당하는 latent가 아닌 특정 시점 $t$에 해당하는 time step의 latent 만을 optimize한다는 특징이 있습니다. (저자들은 실험을 통해 적절한 time step $t$를 선택하고있으며 $t=35$, 이는 ablation study에서 확인하실 수 있습니다. ) Diffusion latent optimization 과정은 크게 1) Motion Supervision과 2) Point Tracking 과정으로 구성되어있습니다. 

Motion Tracking은 사용자가 지정한 이미지 내에서의 특정 지점의 이동을 감독하여 정확한 편집을 보장하게 하는 방법입니다. 

Motion tracking의 objective function은 아래와 같이 두가지의 term으로 구성되어있습니다. 

Motion Tracking objective function

1) 첫번 째 term은 handle point $(h_i)$와 점차 target point $(g_i)$ 를 향해 이동하고 있는 점 $q+d_i (d_i=(g_i-h^k_i) / ||g_i-h^k_i||$ 에 해당하는 content를 handle point의 content로 유지시키는 역할을 수행합니다. 여기에 $sg(F_q(\hat{z}^k_t))$는 $k$ iteration 상에서의 handle point $q$에 해당하는 feature에 대해 "stop gradient" 연산을 취하여, 해당 handle point의 반경 r1 region의 content를 ground truth로 지정하겠다 라는 의미를 가집니다. 따라서 점차 target point를 향해 이동하고 있는 $q+d_i$에 해당하는 반경 r1 region에서의 content 원래 handle point에서의 content와 같도록 유지하도록 규제하는 term임을 알 수 있습니다. 따라서 에폭이 진행될수록, $q+d_i$  는 점진적으로 $g_i$로 움직이게 될텐데, 이렇게 point가 이동하는 동안 original content를 유지하도록 supervision해주게 됩니다. 

 

2) 두번째 term은 masking 되지 않은 부분의 content를 orignal content 와 일치시켜주는 역할을 수행합니다. $(1-M)$ 는 mask를 씌우지 않은 부분 (배경이나 글로벌한 region을 의미) 에 대해서는 orignal image $\hat{z}^0_{t-1}$ 의 content 와 일치시켜주게 됩니다. 

따라서 motion supervision은 handle point에서 점차 target point로 이동하는 부분에 대한 content를 원래의 handle point에서의 content와 일치하도록 감독하며, masking을 하지 않은 부분에 대해서는 input image의 전체적인 content를 유지하도록 latent optimization을 수행합니다.

diffusion latent optimization

Motion supervision 이  한 스텝 이루어지면 그다음에는 point tracking 과정이 한스텝 이루어집니다. 

Point tracking은 각 motion supervision 단계 이후에 포인트 추적을 수행하여 핸들 포인트를 업데이트 하는 과정입니다. 각 핸들 포인트 $ℎ_𝑡^𝑘$을 각 $Ω(ℎ_𝑡^𝑘,r_2)$ 내에서 가장 가까운 이웃 검색으로 업데이트합니다.

 

Point-based image editing 의 목표 중 하나는 handle point가 지속적으로 target point 방향으로 이동하여 target point와 handle point가 중첩되도록 하는 것입니다. 따라서 Motion supervision 후에 handle point가 target point로 향할 수 있도록 지속적으로 tracking을 해주어야합니다. 

Point tracking objective function

point tracking은 input image의 latent $z_t$를 UNet에 흘렸을때 얻은 feature map $F$에서의 초기 handle point $F_{h^0_i}(z_t)$ 와 가장 $L1$ distance가 가장 가까운 포인트로 handle point 를 update해주게 됩니다. 이런식으로 handle point는 점차적으로 target point와 중첩되는 방향으로 이동하게 됩니다. 

 

따라서 Diffusion latent optimization은 Motion tracking 한스텝, Point tracking 한스텝 을 반복적으로 진행하며 이루어지게 됩니다. 

  • Reference-latent control

마지막으로는, original image와 edited image와의 consistency를 개선하기 위해서, self-attention 모듈의 속성을 활용하여 denoising process를 제어하여 원본 이미지와 수정된 결과 간의 일관성을 높입니다. 사실 첫번째 단계에서 LoRA 기반의 UNet fine-tuning을 통해 original image와의 consistency를 유지하는 노력을 했으나, 저자들은 한차례 더 튜닝을 해주는 단계를 거칩니다. 노이즈 제거 프로세스에서 UNet의 self-attention 모듈을 순방향으로 전파하는 동안 $\hat{z}^t$에서 생성된 Key 벡터와 Value 벡터를 $z_t$에서 생성된 벡터로 대체합니다. 해당 프로세스는 original image의 content 보존에 매우 효과적임을 ablaton study에서 확인하실 수 있습니다. 

 

저자들은 다양한 예시를 통해 DragDiffusion의 우수성을 입증하고 있습니다. 아래의 실험결과들은 마스킹 영역에서의 point based image editing이 매우 효과적으로 동작하고 있음을 보입니다. 저자들은 baseline으로 DragGAN를 선택하여 수정된 이미지 성능을 비교하고 있으며, DragDiffusion은 DragGAN에서 나타나는 제한된 capacity 문제를 해결하며, original content를 유지하며 원하는 부분에 대한 point based image editing이 잘 수행됨을 증명하고 있습니다. 

(위) DragGAN과의 성능 비교 (아래) 다양한 Latent Diffusion Model에서의 성능 비교
다양한 이미지에 대해서 DragGAN과의 성능 비교

 

Ablation study에서는 앞서 언급한것과 같이 a) 어떤 time step에서의 latent optimization이 효과적인지  b) LoRA finetuining을 몇 에폭 진행하는것이 효과적인지, 마지막으로 c) UNet의 어떤 블록 feature map에서의 point-based image editing이 효과적인지 에 대한 실험을 진행합니다. 

3가지 경우에 대한 ablation study 정량적 결과

 

첫번 째로, 저자들은 time step 선정을 위해 정성적, 정량적 평가를 진행했습니다.

저자들은 (a) 그래프와 같이 Mean Distance가 제일 낮고, Image Fidelity score가 comparale 하게 높은 35 time step을 선정하였으며, 정성적인 결과는 아래와 같습니다. time step이 앞쪽에 있을 수록 (denoising이 많이 되었을수록), original data를 보존하려는 경향이 세므로, editing이 쉽지 않으며, time step이 50에 가까울 수록 (denoising이 안될수록) original data와는 상이한 이미지를 생성해내는 결과를 얻었습니다. 

Time step 에 따른 latent optimization 결과

두번째로, (b) 그래프에 보이는 것과 같이 LoRA 기반의 UNet fine-tuning을 수행 할 때, 80 epoch이후로는 Mean distance나 Image fidelity의 성능이 거의 변화가 없으므로, 저자들은 대략적으로 80 epoch정도를 할당하여 UNet을 fine-tuning합니다. 

 

세번째로, (c) 그래프는 UNet의 어떤 block의 feature map을 활용하여 diffusion latent optimization을 수행하면 효과적인지에 대한 실험 결과를 나타냅니다. UNet의 decoder에 해당하는 block의 갯수는 총 4개인데, 그 중 두번째 block의 output feature map을 선택하여 motion supervision이나 point tracking을 수행했을 때, 이미지 editing이 가장 정량적으로 뛰어남을 보였습니다. 따라서 저자들은 2번 째 block의 output feature map을 활용하여 point-based image editing을 수행합니다. 

 

마지막으로, 저자들이 제안하는 componenet들의 영향력을 보여주기위해, 1) LoRA 기반의 Fine-tuning 과정이 없을 때, 2) Reference latent control을 수행하지 않았을 때, 그리고 3) DragDiffusion을 활용하였을 때의 성능을 평가합니다. original image와의 consistency를 개선하기 위해서는 fine-tuning stage와 reference latent control stage가 모두 수행되어야 함을 보였습니다. 

Ablation study

자세한 내용은 DragDiffusion 논문을 통해 확인해주세요:) 

 

Posterior Distillation Sampling

카테고리 없음 2024. 9. 11. 19:23 Posted by 랏츠베리

안녕하세요. KDST 박민철입니다.

 

이번 공유 내용에서는 최근 파라미터 기반의 이미지 생성 모델에서 고려되어야 할 두 가지 핵심 사항 ((1) 텍스트 프롬프트와 생성된 이미지의 일치성 및 파라미터를 터치하는 source content의 identity와 유사한 보존적 특성을 갖는 것)을 효과적으로 달성하기 위해 제안된 Posterior Distillation Sampling, CVPR 2024 논문을 소개드리고자 합니다.

 

논문의 도입에서 기술하는 내용을 잠시 살펴보면, 2D 이미지를 생성하는 diffusion 모델들은 Internet-scale의 이미지와 text 데이터셋에 힘입어 상당히 강력한 generative prior을 갖게 되었지만, 이들의 강력한 2D generative prior는 광범위한 응용력에도 불구하고, 이미지의 pixel 공간에 한하여 매우 제한적으로 이용되고 있습니다. 이와 관련된 연구들 사이에서, SDS (Score Distillation Sampling)는 text-to-image diffusion 모델의 강력한 generative prior를 이용하여 NeRF (파라미터 기반의 이미지 생성)로 표현되는 3D scene을 합성하는데 처음 성공하였고, 나아가 SDS는 NeRF 뿐만 아니라, 이미지를 표현하는 다양한 파라미터 기반 원리에 응용되었습니다.

 

Parameteric 이미지를 생성하는 데 SDS의 분명한 진전이 있었음에도 불구하고, 이러한 이미지들을 editing하는 기술을 구축하는 데 어려움이 있었고, 이러한 어려움들은 크게 두 가지 측면을 요구하였습니다: 첫 째, 텍스트 프롬프트와 이미지의 일치도, 둘 째, parameteric 이미지를 생성하기 위해 사용된 source content의 identity의 보존 정도. 기술한 두 가지 측면을 만족하는 형태로 SDS를 확장하기 위하여, DDS (Delta Denoising Score)가 제안되었지만, identity 보존 방법에 대한 구체적 방법이 부재하였습니다.

 

본 연구에서 제안하는 PDS (Posterior Distillation Sampling)는 SDS, DDS와 달리, 최적화 대상이 되는 타겟이 주어질 때, source와 타겟의 latents를 매칭하는 것을 목적으로 합니다. 쉽게 말하면 latent vector를 나란히 하겠다라고 이해할 수 있고, 조금더 구체적으로, source 이미지의 latent가 계산되면, 이를 target 이미지의 generative process의 guideline으로 활용하여 target 이미지가 target 텍스트의 방향으로 변화할 때, source와 구조적인 detail이 유지되도록 관여합니다.

 

아래의 예시는 NeRF기반의 3D scene  생성에서 PDS를 사용하는 경우, source (input scene)의 content 정보를 잘 유지하면서, editing에 효과적일 수 있음을 보여줍니다.

 

본 논문을 이해하기 위하여, 4가지 정도의 prerequisite이 필요한 데, 간략한 설명만 드리고, 직접 문헌과 이해에 도움되는 자료들을 통해 공부하시면 논문 컨셉을 이해하는 데, 많은 도움이 될 것이라 생각합니다.

 

1. Score Matching (SM): 최근 diffusion 모델이 많이 활용되면서, 흔히 접할 수 있는 개념으로, 임의의 데이터 샘플 집단에 대하여 데이터 분포에 대한 log기울기를 score라 하며, 이를 예측하기 위해 minimization 함수를 도입하여 모델의 파라미터를 최적화하는 방법.

모든 데이터 샘플에 접근하여 분포를 알기 어렵기 때문에, 이를 우회하기 위한 전략으로 Gaussian kernel을 x에 적용하고, 이를 denoising하기 위한 모델을 도입함으로써 noise강도가 작을 때에 대한 score를 추정할 수 있습니다 (DSM: Denoising Score Matching).

 

2. Score Distillation Sampling (SDS): Diffusion 모델을 ELBO로 학습시키는 것은 아래와 같은 noise estimator를 유도하는 DSM 목적함수와 같게 됩니다.

따라서, diffusion model의 학습은 latent 변수 모델을 학습하는 것 또는 noise 데이터의 score를 학습하는 것으로 볼 수 있습니다.

SDS의 접근 방식은 diffusion model의 구조를 활용하여 최적화를 통해 tractable한 샘플링을 가능하게 하는 것인데, x=g(θ)가 freeze 된 diffusion model의 샘플처럼 보이도록 파라미터에 대해 최적화해야 합니다.

미분 가능한 generator가 파라미터를 기반으로 이미지를 생성할 때 x=g(θ), 2D pixel space에서 학습된 text-to-image diffusion 모델을 바탕으로 최적의 파라미터를 고민하기 위한 목적함수는 아래와 같고,

최적점을 얻기 위해 gradient를 생각해보면 아래와 같은 복잡한 미분의 관계를 확인할 수 있습니다.

U-Net Jacobian은 계산하는 데 비용이 많고 주변 밀도의 스케일링된 Hessian에 근사하도록 학습되기 때문에 작은 noise level에 대해 컨디셔닝이 좋지 않으며, U-Net Jacobian 항을 생략하면 diffusion model로 x를 최적화하기 위한 효과적인 기울기가 생성됨을 발견하여, 다음과 같이 SDS의 gradient를 정의할 수 있습니다.

 

3. Delta Denoising Score (DDS): SDS의 목적은 source와 target의 명시적인 residual을 정의하고 있지 않는 임의의 noise와 target의 residual을 다루기 때문에, 생성된 이미지의 상당한 차이를 볼 수 있습니다. 따라서 image-prompt를 pair로 하여, 정확한 source와 target에 대한 conditional noise의 residual을 바탕으로 파라미터를 업데이트할 gradient를 정의할 수 있습니다.

하지만, 이 것은 정확한 source와 target의 identity를 유사하게하는 강제성이 부족하기 때문에, 마찬가지로 content의 shift가 존재합니다.

 

4. Diffusion Inversion: Diffusion model inversion 중 특히 DDPM inversion은 stochastic latent에 이미지의 구조적인 detail을 encoding한다고 간주하며, 따라서, 아래처럼 정의되는 DDPM의 reverse process 과정 속에서, Tweedie formula를 활용하여 time step t에서 t-1을 예측하기 위해 이용되는 covariate 정보를 담는 latent map z을 추정할 수 있습니다.

 

PDS는 위의 4가지 prerequisite을 모두 종합하여 parametric 이미지를 생성하기 위한 gradient를 아래와 같이 새롭게 정의합니다.

 

식을 살펴보면, diffusion 모델의 time step마다 얻은 stochastic latent를 매칭하도록 유도하는 gradient를 생성하는 데, 이는 구체적으로 source와 target의 image-prompt 페어에 대한 noise residual 뿐만 아니라, target 이미지의 업데이트가 source 이미지의 근방에 놓이도록 regularization을 하는 것을 확인할 수 있습니다. 따라서, posterior 이미지가 크게 divergence하지 않도록 명시적으로 컨트롤이 가능하다는 점이 돋보입니다.

 

Experiment results

다음은 논문에서 제시하는 PDS의 정량 성능에 대한 결과이며, NeRF와 SVG에서 생성하는 이미지들에 관한 editing에서 평가를 수행하였고, 가장 하단의 SVG 기반의 이미지에 대한 정성 결과를 보이기 위해, 텍스트 프롬프트는 수동으로 제작하였으며, SVG-target 텍스트 프롬프트 페어는 총 48가지였다고 합니다.

 

 

 

 

추가적으로 궁금한 부분은 논문을 참조 부탁드리며, 질문을 댓글로 남겨주시면 함께 고민할 좋은 기회가 될 것으로 생각합니다.

 

감사합니다.

안녕하세요. KDST 박민철입니다.

 

이번 공유 내용에서는, 최근 초해상도 영상 특별히 파노라마 영상 등을 생성하기 위해 기존 생성 모델의 표현 범위의 한계로 인하여 다수의 생성 모델을 필요로하는 경우 크기가 제한된 생성된 영상들에 대한 상호간 짜깁기 (Montage)에서 표현 정보의 coherency를 잘 유지하려는 목적을 다루었던 방법론을 소개하고자 합니다.

 

소개드릴 NeuIPS 2023의 SyncDiffusion: Coherent Montage via Synchronized Joint Diffusions는 이 문제를 적극적으로 다루고 있습니다. 구체적으로, 텍스트 prompt가 주어지고, 해당 prompt를 표현하는 파노라마 영상을 생성할 때, 여러 diffusion 모델들을 도입하여 사용하는 경우 생성된 이미지들의 perceptual coherency를 만족시키기에 어려움이 있었다는 동기에서 시작합니다.

 

예를 들어, 위의 그림과 같이, "A photo of a rock concert"에 대한 파노라마 영상을 제작할 때, 1번과 2번 열에 표현된 파노라마 영상은 반복적인 패턴이 나타난다거나, global coherence를 얻는 데 어려움이 있는 반면, 본 연구가 제안하는 3번 열의 SyncDiffusion은 여러 diffusion 모델의 reverse process에서 step마다 denoised 이미지를 조정하는 방법을 고민하여 문제를 적극적으로 풀고자 노력한 것을 확인할 수 있습니다.

 

직관적으로, global coherency를 위한 이미지들 간 조정은 특정 perceptural similarity loss를 바탕으로 합니다. 그동안 컴퓨터 비전 분야에서 널리 활용된 LPIPS (Learned Perceptual Image Patch Similarity) 손실은 기계적인 관점에의 인지 유사도를 상당히 잘 표현한다고 이해되어 왔습니다. 이와 같은 맥락에서 본 연구는 여러 diffusion 모델에서 생성된 이미지를 LPIPS 기반으로 perceptual similarity를 적극적으로 minimization하기 위해 노력했다고 이해할 수 있습니다.

 

Diffusion 동작 방식에 대한 preliminary context는 문헌과 정리된 글들이 많기 때문에 생략하도록 하겠습니다. 더 구체적으로, DDIM 동작 방식을 이해하고 있다는 전제하에, 파노라마 이미지 한 장을 생성한다고 생각해 봅시다.

 

굉장히 방대한 크기의 파노라마 이미지가 채널을 무시하고 (H x W)와 같을 때, 해당 이미지의 subarea의 크기가 (h x w)라 한다면, 우리는 쉽게 (h x w) 크기의 window를 가진 이미지들의 합집합이 파노라마 이미지 (H x W)가 된다고 생각할 수 있습니다.

 

이 때, S(x_t, t, denoisor)가 diffusion time t 시점의 이미지 x와 diffusion time t 그리고, denoisor를 input으로 받아, t-1 시점의 이미지 x_{t-1}를 추정하는 함수라고 한다면, SyncDiffusion의 알고리즘은 아래와 같이 정리할 수 있습니다.

 

 

DenoisingOneStep을 직관적으로 순서대로 살펴보면,

1. diffusion의 t번째 reverse process에서  N개의 receptive field를 갖는 이미지의 집합 그러니까, 위에서 언급한 i개의 (h x w)크기의 파편화된 이미지의 묶음이 인풋으로 주어질 때, SyncDiffusion 함수를 통해 집합 내 이미지들 간 LPIPS를 측정하여 (이 때, default로 0번 째 이미지가 anchoring (target)되어 사용되었다고 합니다.) 각각의 파편화된 이미지의 perceptuality를 가깝게 update하여 돌려줍니다.

1.1. 여기에서 중요한 특징은 t시점의 이미지는 noisy하기 때문에, t=0 시점의 이미지를 예측하여 추정된 이미지들 간의 LPIPS를 이용했다고 합니다 (DDIM sampling 참고).

2. 반환된 묶음 내 N개의 이미지들에 대해 각각 S를 처리 (t-1의 이미지 추정)합니다.

3. MultiDiffusion 의 inverse 함수 T를 통해 (h x w)를 (H x W)로 scale 확장 (자기 자신의 바깥 영역에 대한 inverse 함수 처리)을 처리하며, N개의 이미지들에 대한 파노라마 영상의 expectation을 얻습니다. (이 때, normalization을 m이라는 마스크의 합으로 볼 수 있는데, 각 이미지가 바라보는 영역은 1 그 바깥의 영역은 0 입니다.)

 

위와 같이 동작하는 DenoisingOneStep을 diffusion time step t=0,...,T만큼 반복합니다.

 

Experiment results

논문은 T=45를 적용하였으며, window size (subarea size)는 (h x w x c)=(512x512x3)를 고려하였고, stable diffusion 2.0을 사용했기 때문에 이는 latent space에서 (64x64x4)였다고 합니다. 추가적인 1채널은 encoded diffusion time이라고 볼 수 있습니다.

파노라마 영상은 512x3072를 제작하였으며 이는 latent space에서 (64x384)에 해당하기 때문에 21개의 winodw를 고려했습니다.

 

양적 평가로는 아래의 다양한 메트릭을 사용하였으며,

1. Intra-LPIPS, Intra-Style-L (Coherence)

2. Mean-GIQA (Fidelity)

3. FID, KID (Fidelity & Diversity)

4. Mean-CLIP-S (Compatibility with the Input Prompt)

 

수행한 태스크는 다음과 같습니다

1. Layout-Guided Image Generation

2. Conditional Image Generation

3. 360-degree Panorama Generation

 

 

파노라마 이미지를 생성하는 데 있어서, 현존하는 정량 측정 도구와 질적 평가간의 차이가 있는 것으로 보입니다.

 

Gradient descent 계수 w에 대한 정량 평가는 아래와 같고 (정량 평가에서는 w=10, 20을 사용하였습니다.)

 

Gradient descent 계수 w에 대한 질적 평가는 아래와 같습니다. (질적 평가에서는 w=20을 채택하였습니다.)

 

Perceptual similarity loss 변화에 따른 질적 평가는 아래와 같습니다.

 

정량 평가의 괴리 때문인지 유저 스터디도 포함하였습니다.

 

수행한 3가지 태스크의 예시 피겨가 되겠습니다.

 

Prompt에 따라 realistic 파노라마를 생성할 때 limitation도 존재한다고 설명하고 있습니다.

 

 

상당히 많은 질적 결과를 첨부하였는데, 잠깐 살펴보겠습니다.

 

 

눈이 참 즐거웠던 연구 결과인데요. 다수 생성 모델을 도입하여 하나의 global conherent 이미지를 생성할 때, 참고할만한 쉽고 간단한 방법론이라고 생각합니다.

추가적으로 궁금한 부분은 논문을 참조 부탁드리며, 질문을 댓글로 남겨주시면 함께 고민할 좋은 기회가 될 것으로 생각합니다.

 

감사합니다.

지난 7월 1일 베트남 팜민찐 총리의 방한 공식 행사로 열린 한국의 반도체와 인공지능 분야 전문가 15명과의 간담회에 김수현 박사가 인공지능 전문가로서 참석하였습니다. 자세한 내용은 아래 링크에서 확인하실 수 있습니다.
(로그인 문제로 늦게 포스팅하였습니다)

http://www.goodmorningvietnam.co.kr/news/article.html?no=73633

 

[굿모닝베트남미디어] [한국방문6] 팜민찐 총리, 한국의 반도체 및 AI 전문가와 과학자와 오찬

한국 15명의 한국 전문가와 과학자들은 팜민찐 총리와의 토론에서 베트남이 반도체와 인공지능 분야를 발전시킬 수 있도록 돕겠다고 약속했다. 7월 1일 팜민찐 총리는 공식 방한의 틀 안에서 반

www.goodmorningvietnam.co.kr

 

안녕하세요, KDST팀 이원준입니다.

금일 진행한 세미나에 대해서 공유드리도록 하겠습니다. 

 

CVPR 2024에서 Oral + Best Student Paper runner-up을 받은 논문입니다.

 

논문에서 지적하는 포인트는 아래와 같습니다.

  • Transformer와 CNN의 근본적으로 어떤 차이로 인해 달라지는가?
  • 흔히 Transformer의 장점 중 하나인 self-attention이 그러한 원인이라면, attention이 없음에도 더 좋은 성능을 보이는 ConvNeXt 모델은 무엇인가?
  • attention이 원인이 아니라면, 내부 아키텍쳐가 원인인가?
  • 그렇다면, 내부 아키텍쳐의 어떤 부분이 원인인가?

본 논문에서는 이러한 차이를 밝히기 위해, 아래와 같은 Method를 제안합니다.

  • Sub-explanation counting
  • Cross-Testing

Sub-explanation counting

  • "One explanation is not enough: structured attention graphs for image classification.", NeurIPS 2021에서 소개되었던 Minimally Sufficient Explanations (MSEs)를 이용합니다. 
  • MSE : 네트워크가 높은 신뢰도로 예측을 수행하는 데 필요한 최소한의 입력 패치 집합을 의미
  • 이 논문에서는 최소한의 입력 패치 집합인 MSE에서 더 나아가, 네트워크마다 필요로하는 패치들이 어떤 차이가 존재하는가를 알아보기위해 MSE보다 더 하위 집합의 패치들까지 조사하는 방식을 제안합니다.

여기에서 크게 모델들은 두 가지의 특징을 가집니다.

  1. Compositional behavior : Compositionality가 높은 모델은 이미지의 여러 부분을 종합적으로 고려하여 의사결정을 내릴 수 있습니다
  2. Disjuctive behavior : Disjuctive한 특징이 강한 모델은 이미지의 적은 수의 특징만으로도 확신을 갖고 의사결정을 내릴 수 있습니다

결과적으로, ConvNeXt와 non-distillated Transformer가 Compositional함을 나타내고, 반대로 CNNs과 Distilled Transformer(CNN으로 부터 distillation)는 Disjuctive한 특징이 강하게 나타났습니다. 

 

자세한 원인은 실험 파트에서 설명드리도록 하겠습니다.

 

Cross Testing

  • 한 네트워크를 기반으로 이미지에 대한 attribution map을 생성한 다음 마스크된 영역을 두 번째 네트워크에 입력하는 방식 
  • 이를 통해서 첫 번째 네트워크에 크게 기여하는 영역이 두 번째 네트워크와 관련이 있는지 여부를 이해할 수 있다. 
  • 두 모델이 유사한 시각적 특징에 의존하는 경우 교차 테스트에서 높은 점수를 받아야 합니다. 반면에 한 모델이 다른 모델에 중요한 것으로 간주되는 시각적 특징에 반응하지 않으면 다른 부분에 의존하고 있음을 의미합니다.

 

Experiments

본 논문에서 사용되는 메트릭은 Insertion metric입니다.

  • Insertion Metric : attribution map에서 중요한 픽셀이나 특징을 기본 이미지에 순차적으로 삽입하면서 모델의 예측 신뢰도를 평가하는 방법입니다. 이때 삽입된 픽셀이나 특징은 원본 이미지에서 가져옵니다. 기본적으로 흐려진 이미지에서 샘플링됩니다.
  • Insertion Metric에서 점수가 높다는 것은 흐려진 이미지에 중요한 영역이 기본 이미지에 들어갔다는 뜻

실험 파트를 통해 ConvNeXt 모델과 Trasnformer 모델이 다른 CNN들과 Distillated Transformer에 비해 높은 subexplanation의 수를 보입니다. 즉, 높은 subexplanation이라는 뜻은 네트워크가 여러 서로 다른 패치 집합을 통해 자신 있는 분류를 형성할 수 있음을 의미합니다(Compositionality가 강함).

 

예를 들어, 모델은 고양이라는 클래스에서 눈, 코, 입 중 3가지 모두를 봐야 가장 정확하게 예측할 수 있다라는 것입니다. 

 

반대로, Disjuctive한 모델은 눈, 코, 입 중 눈에 대한 패치만 있어도 높은 confidence로 예측을 수행할 수 있습니다. Disjuctive하다는 것은 눈에 대한 패치가 없으면 confidence가 많이 떨어지기 때문에 눈에 대한 패치가 포함되어 있어야만 제대로된 예측을 수행할 수 있습니다. 따라서 subexplanations의 수가 적습니다. 

 

Compositionality가 강한 모델의 경우에는, 이미지의 여러 부분을 고려해서 예측을 수행하기 때문에, 다양한 조합의 패치들의 하위 집합이 만들어질 수 있으므로 subexplanation의 수가 많음을 나타냅니다. 

 

 

위 사진을 통해 Transformer 모델들과 CNN 기반 모델들의 하위 집합체의 수가 많이 다르다는 것을 확인 할 수 있습니다. 

 

그렇다면, 이러한 원인이 무엇인가 논문에서 분석한 결과

모델의 Normalization의 방법에 따라 이러한 점이 극명하게 갈린다는 것입니다. 

ConvNeXt-T-3 : 모든 ConvNeXt 블럭에서 3x3 kernel을 사용한 모델 

ConvNeXt-T-3 - GN : 모든 ConvNeXt 블럭에서 3x3 kernel을 사용한 모델  + Layer Norm을 Group Norm으로 변경

ConvNeXt-T-3 - BN : 모든 ConvNeXt 블럭에서 3x3 kernel을 사용한 모델 + Layer Norm을 Batch Norm으로 변경

 

마찬가지로

 

Swin-T-4 : swin의 1,2 스테이지에서만 4x4 window size로 변경 

Swin-T-4 - GN : swin의 1,2 스테이지에서만 4x4 window size로 변경 + Layer Norm을 Group Norm으로 변경

Swin-T-4 - BN: swin의 1,2 스테이지에서만 4x4 window size로 변경 +  Layer Norm을 Batch Norm으로 변경

 

실험 결과를 보면, LN을 BN으로 대체했을때 Sub-explanation의 수가 확실하게 떨어짐을 관찰할 수 있습니다. 

즉, Batch Normalization이 모델을 덜 compositional하게 만든다는 것입니다. 

 

 

Sub-explanation의 실험 이후로 Cross Testing에 대한 실험도 진행하였습니다.

 

위 실험 결과에서 가장 두드러지게 보이는 점은 세 번째 열의 Spoonbill 이미지에서 VGG에 의해 생성된 경우, 대부분의 다른 네트워크도 자신 있는 분류를 얻을 수 있었습니다. 그러나 VGG는 다른 네트워크가 생성한 가려진 이미지에서 매우 낮은 성능을 보였으며, 이는 특정 특징에 과도하게 의존하여 이러한 마스크 아래에서 그 특징이 존재하지 않을 수 있음을 보여줍니다. (Bold 글씨체가 생성된 모델을 뜻합니다.) 

 

간단하게 논문 소개를 드렸는데, 더욱 자세한 내용은 논문을 참고하시면, 여러가지 결과와 분석을 확인하실 수 있습니다.

 

읽어주셔서 감사합니다.