안녕하세요. KDST팀 김유진입니다. 6월 14일에 진행했던 Image Editing에 대한 세미나 내용을 간략하게 요약해보도록 하겠습니다. 이번에 소개해 드릴 논문은 Text-to-Image model 기반의 Image editing 연구로 유명한 "Prompt-to-prompt image editing with cross-attention control", "Plug-and-Play Diffusion Features for Text-Driven Image-to-Image Translation" 입니다.

Diffusion model기반의 Image editing을 수행하기 위한 방법론은 크게 3가지로 나눌 수 있습니다. 

  1. Training-based: 모든 아키텍처를 training하여 target data distribution에 대해서 stable하게 학습할 수 있는 방법
  2. Testing-Time Finetuning-based: pre-trained diffusion model을 target data로 finetuning 하는 방법 또는 특정 identifier token의 embedding만을  optimize하는 방법 
  3. Training and Finetuning Free-based: Source이미지나 target 이미지가 필요 없으며, low-cost로 image editing을 수행하는 방법

Diffusion based Image editing approaches

그 중에서도 오늘 소개해드릴 방법론은 3. Training and Finetuing Free-based Image editing 에 해당하는 연구이며, 그 중에서도 Text-to-Image diffusion model 기반의 image editing으로 유명한 P2P, PnP를 다룹니다. 

(ICLR-2023, notable top-25%) Prompt-to-prompt image editing with cross-attention control


본 논문에서는 기존의 Text-to-Image model (DALLE, Imagen etc) 들은 일반적으로 source 이미지의 semantic information을 유지하며 세밀한 부분을 control하는것에 큰 어려움이 있음을 motivation으로 주장합니다. 

또한 기존의 Image editing 방법론들은 masking 기법으로 수정하길 원하는 range를 heurisitic하게 정하여 원하는 부분만을 control 하는데, 이러한 방법론은 source image에 따라서 hand-craft 방식으로 mask를 지정해줘야하는 limitation이 존재한다고 주장합니다. 
본 논문에서는 번거로운 기법 없이, Prompt상에서의 textual editing 만으로도 원하는 부분만을 수정할 수 있으며, 이는 Diffusion process에서 오직 cross-attention map을 변경해주는 연산만을 통해서 구현할 수 있음을 주장하고 있습니다. 

Prompt-to-Prompt editing capabilities

P2P 논문에서는 위 그림과 같이 3가지의 경우에 대해서 image editing을 수행할 수 있다고 합니다. 

 

1. Word swap: Source prompt의 특정 단어를 원하는 단어로 교체하는 경우
(ex: $P$=“a cat riding a bicycle” to $P^∗$=“a cat riding a car”)

 

Word swap 기법은 Gaussian distribution으로부터 random initalize된 동일한 image latent로부터 각 각 source prompt, target prompt로 이미지를 생성한 후, source prompt로부터 생성한 이미지의 cross-attention map을 target prompt로 생성한 이미지의 cross-attention map에 주입 (injection) 하는 방법입니다. 예를 들어, "A cat riding a bicycle" 이라는 source prompt에서 bicycle을 car로 editing을 수행하고 싶다면, "bicycle" 이라는 text에 해당하는 cross-attention map을 "car"에 해당하는 cross-attention map 으로 변경합니다. cross-attention map을 injection 하는 시점은, Diffusion의 denoising 스텝에서 특정 time step이 $tau$ 이하일 때에만 수행합니다. 

Word swap operation
Word swap operation visualization

특정 $tau$ 를 점차 T시점에서 에서 0 시점으로 옮길 때 editing 되는 이미지의 결과는 아래와 같습니다. 

Attention injection via a varied number of diffusion steps in a word swap operation

 

2. Prompt Refinement: Source prompt에 원하는 스타일의 prompt가 추가되는 경우
(ex: $P$=“a castle” to $P^∗$=“children drawing of a castle”)

 

Source prompt에 원래 존재했던 토큰들에 대한 cross-attention map은 유지한 채로, target prompt에서 새롭게 추가된 text에 대한 cross-attention map 만을 새로 주입하는 방법론입니다. Prompt Refinement를 수행하면, source image의 semantic information은 유지된 채로, 추가된 target prompt의 스타일만이 입혀지게 되는 효과가 나타납니다. 

Prompt Refinement operation
Prompt Refinement operation visualization
Image editing by prompt refinement

 

3. Attention Re-weighting: Source prompt의 특정 단어 영향력을 강화/약화하는 경우

(ex: $P$="The boulevards are crowed today")

Source prompt의 cross attention map에서 영향력을 바꾸고 싶은 text에 해당하는 cross attention map에 곱해지는 scale을 조정하며 image editing을 수행합니다. 이때, scale parameter c는 $c\in[-2,2]$ 제약조건을 따릅니다. 

Attention Re-weighting operation
Attention Re-weighting operation visualization
Text-based editing with fader control

이처럼 prompt-to-prompt 방법론은 모델 아키텍처를 따로 training이나 fine-tuning 시키지 않고도 단순히 text editing과 그에 따른 Cross-attention map injection 연산을 통해, source image의 semantic information을 유지한 채, 원하는 스타일로 editing할 수 있음을 보입니다. 흥미로운 다른 결과들은 논문을 참조해주세요. 

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

진행하였던 논문 세미나 내용 간단하게 전달드리겠습니다.

 

본 논문의 Contribution은 다음과 같습니다

  • LM이 스스로 external tool을 쓰도록 학습할 수 있게 한다.
  • 언제, 어떻게, 어떤 API를 사용할지 스스로 결정할 수 있도록 한다.
  • Self-supervised 방법을 통해 다양한 tool들의 적절한 사용 방법 학습하도록 한다.

논문에서 지적하는 기존의 LLM들의 몇가지 한계들은 다음과 같습니다.

  • 날짜 기반에 대한 최신 정보에 액세스할 수 없음
  • Hallucination
  • 비교적 학습이 덜 된 언어에 대한 어려움
  • 정확한 수학적 계산을 수행할 수 있는 수학적 기술의 부족
  • 현재 시간에 대한 부족한 이해

이러한 한계들을 극복하기 위해 가장 간단한 방법은 검색 엔진, 계산기 또는 달력과 같은 외부 도구를 사용할 수 있는 기능을 제공하는 것입니다. 그러나 기존 접근 방식은 많은 양의 Human Annotation에 의존하거나 task-specific한 설정에만 도구 사용을 제한하여 LM에서 도구 사용을 광범위하게 사용하지 못한다는 단점이 존재합니다. 

 

따라서, 본 논문에서는 Toolformer를 제안함으로써 기존의 LM의 한계와 기존의 접근 방식에 대한 새로운 방향을 제시합니다. 

Toolformer는 크게 3단계로 이루어집니다. 

  1. Sample API Calls : 모델이 텍스트에서 특정 위치를 선택하고 해당 위치에서 가능한 API 호출을 추출하는 과정
  2. Execute API Calls : 샘플링된 API 호출이 실제로 실행되는 과정
  3. Filter API Calls : 실행된 API 호출 중 텍스트 내 다음 토큰 예측에 도움이 되는 호출만 필터링하여 선택

API call에 대한 예시는 위 사진과 같습니다.

 

Sample API calls 단계에서는 

위 식을 통해 입력 시퀀스에서 API가 𝑖 위치에서 호출될 확률을 계산합니다. 이렇게 계산된 모든 위치에 대한 확률 중 일정 Threshold를 넘는 위치만 선택적으로 API call을 수행하게 됩니다. 

 

Filter API calls 단계에서는

각각에 위치에서 호출되었을 때의 loss 값을 계산하여 Filtering을 진행하게 됩니다. 

 

L+ : API 호출과 그에 대한 Response가 모두 제공되는 경우의 손실

L- : API 호출이 이루어지지 않거나 API 호출만 제공되는 경우 중 최솟값 

결론적으로 두 Loss의 뺀 값에 Threshold보다 높으면 해당 위치를 API를 호출하기에 적합한 위치라고 판단하는 과정을 진행하게 됩니다. 

 

실험 결과 파트는 아래와 같습니다. 

사용되는 모델은 기본적으로 GPT-J 모델을 채택하였으며 데이터 셋은 CCNet을 사용하였습니다. 

논문에서는 C로 표기하며 C*는 API call이 포함된 데이터셋을 의미합니다. 

실험 전반적으로 Toolformer 방법론을 통해 학습된 모델이 우수한 성능을 보이고 있으며, 더욱 자세한 실험 결과와 분석에 대한 내용은 논문을 참고해주시면 감사하겠습니다.

 

Text Embeddings Reveal (Almost) As Much As Text (EMNLP 2023)

카테고리 없음 2024. 1. 4. 07:08 Posted by 김치말이삼겹살

안녕하세요. KDST팀에서 학점연계 현장실습 인턴을 하고 있는 성균관대학교 데이터사이언스융합전공 김지환입니다. 제가 이번에 소개드릴 논문은 이번 EMNLP 2023에 억셉된 논문인 'Text Embeddings Reveal (Almost) As Much As Text'입니다. 

 

논문 링크(arxiv): Text Embeddings Reveal (Almost) As Much As Text

github 링크: https://github.com/jxmorris12/vec2text

 

이 논문에서는 기존에는 잘 되지 않았던, text를 embedding한 vector로부터 원본 텍스트로 복원하는 embedding inversion problem을 다루고 있습니다. 본 논문에서는 이 문제를 통제된 생성; 즉 잠재 공간 내에서 고정된 벡터에 가까워지도록 텍스트를 생성하는 문제로 규정하여 해결합니다.

 

이 문제를 해결하기 위해 저자들은 Vec2Text라는 방법론을 제안합니다. 반복적으로 텍스트 임베딩을 교정하고 텍스트로 다시 임베딩하는 방식입니다. 대략적인 컨셉은 아래 그림과 같습니다.

 

 

저자들은 Vec2Text라는 방법을 사용하여 32개의 토큰 텍스트에 대하여 text embedding으로부터 원본 텍스트의 92%까지 복원하는데 성공하였고, clinical note 데이터셋에서 임의처리한 개인 정보를 복원하는 데 성공했다고 주장하며, 의료 분야와 같은 민감한 도메인에서 임베딩 벡터도 원본 텍스트와 동일하게 데이터 프라이버시 보호를 위한 조치가 필요하다고 강조했습니다.

 

추가적으로, 본 논문에서는 위와 같은 텍스트 임베딩으로부터 원본 텍스트를 생성하여 데이터 프라이버시가 침해되는 문제, 즉 inversion attack을 해결하기 위해, 0.1에서 0.01과 같은 낮은 수준의 노이즈를 주입하는 방법을 제안합니다.

 

 

하지만 저자들이 제안한 Vec2Text 방법에는 몇가지 한계가 존재합니다.

 

우선 임베딩으로부터 텍스트를 reconstruct하는 과정에서는 noise를 주입해서 학습하지 않았기 때문에, 만약 noise를 주입하여 텍스트를 생성하도록 학습했을 때는 inversion attack에 어떤 양상이 나올지 모른다는 점입니다.

 

그리고 현재 LLM을 통해서 생성하는 텍스트의 토큰 길이는 수천 토큰 이상으로 긴데, 아직 32개의 토큰에서 128개의 토큰까지의 복원을 하지 못했다는 점, 그리고 저자들은 iteration 수를 50회와, beam search 시 beam의 용량을 8회로 한정했다는 점에서 각각 long text에 대한 scablility, 그리고 search thoroughness에 대한 한계가 있습니다.

 

또한 이 상황의 경우에는 모델과 원본 텍스트, 원본 텍스트에 대한 임베딩 벡터에 대한 접근이 가능하다는 전제가 있기 때문에, 모델 접근이 가능하다는 점을 염두한 상황이라는 점에서 다소 한정적인 상황에서만 사용이 가능하다는 점이 한계입니다.

 

개인적으로는 텍스트 임베딩으로부터 원본 텍스트 토큰을 복원하는, 새로운 패러다임을 제시한 논문이라는 생각이 듭니다.

 

자세한 내용은 논문을 참조해보시면 좋을 것 같습니다. 읽어주셔서 감사합니다.

 

 

 

Two papers accepted at AAAI 2024

카테고리 없음 2023. 12. 31. 13:15 Posted by KDST

내년 2월에 밴쿠버에서 열리는 AAAI 2024 학회에 작년에 이어 또 다시 2편의 논문을 발표하게 되었습니다. 

올 한해도 모두들 수고하셨고 저희 블로그 방문해 주시는 분들도 새해 복 많이 받으세요~!

"REPrune: Channel Pruning via Kernel Representative Selection"

"Catch-up Mix: Catch-up Class for Struggling Filters in CNN"

 

 

 

안녕하세요 KDST 학부연구생 구미진입니다.

 

오늘 소개해드릴 논문은 CVPR 2023 Highlight 논문인 Feature Separation and Recalibration for Adversarial Robustness 입니다.

 

본 논문에서는 적대적 공격에 대한 방어 방법 중 Adversarial Training 방법과 결합해서 사용할 수 있는 FSR 모듈을 제안했습니다.

 

Motivation

딥러닝 모델은 위 그림처럼 이미지의 Feature representation을 학습하여 의사 결정을 내립니다. 적대적 공격은 이미지에 미세한 노이즈를 추가하여 모델의 오분류를 유도하는데, 기존의 방어 방법은 변화가 생긴 활성화를 그냥 무시함으로써 공격에 대응하고자 했습니다. 그러나 이 방법은 중요한 정보의 손실을 초래할 우려가 있어, 이 논문에서는 더 어댑티브한 방법을 제안합니다.

 

적대적 공격으로 인한 활성화의 변화를 무시하는 대신, 해당 변화에서 유용한 정보를 추출하여 모델이 올바른 예측을 할 수 있도록 재보정하는 새로운 방식을 도입했습니다.

 

본 논문의 contribution은 다음과 같습니다.

1. 중요한 정보가 소실되는 기존의 방법에 대한 새로운 접근 방식을 제안함

2. easy-to-plugin, 다른 adversarial training method와 결합해서 사용 가능함

3. White box attack과 Black box attack 모두에 대한 효과적인 방어 성능을 실험적으로 입증함

 

Proposed Approach

레이어 간에 FSR 모듈을 추가하여 Feature를 robust feature와 non-robust feature로 분리하고, non-robust feature를 재보정하여 모델 예측에 사용합니다.

 

모듈은 크게 separation stage와 recalibration stage로 나뉩니다. Separation network S는 robustness map과 dot product 연산을 통해 robust, non-robust feature를 분리하며, Separation loss를 활용해 학습됩니다. Recalibration network R은 non-robust feature에서 중요한 정보를 추출하고, recalibration loss를 통해 학습됩니다.

 

각각을 어떻게 구현한 건지 살펴보면 다음과 같습니다.

Separation Stage
Recalibration Stage

 

FSR module은 다른 네트워크와 결합되어 end-to-end로 학습되어 사용할 수 있으므로 다른 Adversarial training framework에도 같이 사용할 수 있습니다. 이때 사용하는 Loss function은 classification, feature separation, recalibration loss를 모두 합쳐 놓은 형태입니다.

 

Limitation

Adversarial defense의 고질적인 문제이기도 한데, 바로 natural image에 대한 성능 저하가 있다는 것이 이 연구의 한계로 언급됩니다. FSR 모듈은 모든 이미지에 adversarial perturbation이 있다는 가정 하에 동작하므로, natural image의 정확도는 감소합니다. 하지만 occasionally하게 데이터셋과 adversarial training method에 따라 오히려 정확도가 증가하는 경우도 있긴 했습니다.