cf. 연합 학습(Federated Learning)
-
연합 학습 환경에서 도메인 간 차이(각 클라이언트가 가진 데이터의 특성, 스타일이 다름)가 있다고 가정하며 이를 효과적으로 처리하기 위해 제안
-
CLIP 모델 기반 학습을 통해 성능을 향상시키고자 하며 도메인 인식 프롬프트 학습을 통해 이미지가 어떤 도메인에 속하는지 확인하고, 그에 맞는 예측을 수행함
-
visual prompt와 textual prompt를 이용해 CLIP의 image encoder, text encoder에 도메인 정보를 제공해 학습 진행
- visual prompt:
- 각 도메인마다 1개의 학습가능한 토큰을 사용하여 이 토큰을 패치 임베딩 된 이미지 토큰에 추가하고 도메인 간 시각적 차이를 감지하고 분류하는데에 사용
- textual prompt:
- 여러 학습가능한 토큰($PT = [t]_1[t]_2...[t]_m \in R^{m \times de}$)으로 구성되어 있으며, 각 도메인의 스타일을 반영하는 텍스트 설명 제공 (ex. a painting/sketch of)
-
Local Training Step

- Data: 다양한 도메인의 데이터를 포함한 DomainNet 데이터셋의 6개 도메인(클립아트, 인포그래프, 페인팅, 퀵드로우, 실제 이미지, 스케치) 사용

- pre-trained CLIP 모델 로드 및 이미지 인코더$F_V$와 텍스트 인코더$F_T$ 파라미터 고정. 이때 학습 가능한 부분은 visual prompt와 textual prompt 뿐임
- 각 클라이언트는 자신이 속한 도메인의 데이터를 사용해 시각적 프롬프트와 텍스트 프롬프트를 학습함. 텍스트 프롬프트는 도메인 정보를 텍스트 임베딩 공간에서 나타내며, 시각적 프롬프트는 이미지 토큰에 도메인 정보를 추가하여 도메인 정보 반영함
- $f_T^i = F_T(P_T^i, [classname])$
- $f_V = F_V([cls], [v]^1, [v]^2, ..., [v]^n, [image])$
- 인코더에서 얻은 시각적 프롬프트의 출력과 텍스트 프롬프트의 출력을 cross attention을 이용해 결합하며 최종 이미지 분류에 사용
-
$w_i = \frac{\exp(\langle q_{cls}, k_i \rangle / \tau_d)}{\sum_j \exp(\langle q_{cls}, k_j \rangle / \tau_d)}$
-
최종 텍스트 출력 계산: $f_T = \sum_{i=1}^{n} w_i f_T^i$
-
loss function
- 객체 분류 손실: f_V와 f_T 사이 cross entropy
- 도메인 간 상관성 손실: 시각적 및 텍스트 출력 쌍 사이 cross entropy