2.1 도메인 적응(Domain Adaptation)
데이터의 특징을 $X = \{x^1, ..., x^n\} \in \chi$라고 하면, 데이터를 획득한 도메인 $\overline{D}$는 특징 공간
$\chi$와 주변 확률 분포 $P(X)$로 구성되며 $\overline{D} = \{\chi, P(X)\}$로 표현된다. 분할의 결과(출력값)를
$Y = \{y^1, ..., y^n\} \in \upsilon$라고 하고, 이때 $\upsilon$는 출력 공간이다. 지도학습은 $x^i \in
\chi$, $y^i \in \upsilon$일 때 라벨링된 데이터 $\{x^i, y^i\}$를 활용하여 조건부 확률 분포 $P(Y \mid X)$를
얻는 과정이다.
두 개의 도메인이 있을 때, 충분한 라벨 데이터 $\{x^{i_s}, y^{i_s}\}$를 가진 기존 도메인이 원천 도메인 $\overline{D}_s
= \{\chi_s, P(X_s)\}$이며, 불충분한 라벨 데이터 $\{x^{i_{tl}}, y^{i_{tl}}\}$ 또는 라벨이 전혀 없는 데이터
$\{x^{i_{tu}}\}$만을 갖는 새로운 도메인을 목표 도메인 $\overline{D}_t = \{\chi_t, P(X_t)\}$으로 정의한다.
$\overline{D}_s$와 $\overline{D}_t$의 출력값은 각각 $Y_s, Y_t$이며, 원천 도메인의 학습은 $\{x^{i_s},
y^{i_s}\}$를 이용하여 $P(Y_s \mid X_s)$를 얻는 것이고 목표 도메인의 학습은 $\{x^{i_{tl}}, y^{i_{tl}}\}$
또는 $\{x^{i_{tu}}\}$를 이용하여 $P(Y_t \mid X_t)$를 얻는 것이다.
도메인 적응은 특징 공간 또는 데이터의 분포의 차이에 의한 도메인 차이($\overline{D}_s \neq \overline{D}_t$)가 존재할
때, 이미 원천 도메인에서 계산된 $P(Y_s \mid X_s)$를 기반으로 $P(Y_t \mid X_t)$를 얻는 기술이다. 이때 목표 도메인 라벨
$\{y_{tl}^i\}$의 존재 여부에 따라 지도 도메인 적응, 비지도 도메인 적응, 반지도 도메인 적응으로 구분할 수 있다. 당연히 지도 도메인
적응이 가장 성능이 좋지만, 다시 목표 도메인에 대한 라벨링을 수행해야 하기 때문에 다양한 도메인에 학습 모델을 적용하는 데 어려움이 따른다. 비지도
도메인 적응은 목표 도메인 내 학습 데이터의 라벨링 작업이 불필요한 반면, 도메인 차이가 큰 경우 성능이 떨어질 수 있다. 반지도 도메인 적응은 지도
도메인 적응과 비지도 도메인 적응의 중간 형태로, 소수의 데이터만을 라벨링하여 학습에 활용하는 방법이다. 본 연구에서 사용하는 약한 라벨을 이용한
도메인 적응은 모든 목표 도메인 데이터를 라벨링하지만, 불완전한 라벨링을 수행한다는 점에서 지도 도메인 적응과 비지도 도메인 적응의 또다른 중간 형태이다.
최근에는 도메인 적응을 위한 모델로 GAN(Goodfellow et al., 2014)의 메커니즘을 활용한 적대적 학습 기반의 딥러닝 모델이 가장 많이 연구된다. 적대적 학습 기반의 모델은 일반적으로 특징 추출기와 도메인 판별자로 구성된다.
특징 추출기가 추출한 특징이 어떤 도메인에 속하는지 분류하는 도메인 판별자를 속이는 것을 목표로 학습을 수행함으로써 도메인 불변의 특징을 학습하는
방식이다.
2.2 약한 라벨을 이용한 도메인 적응 분할
본 절에서는 본 연구에 기반이 되는 Paul et al.(2020)이 제안한 선행연구를 설명한다. 원천 도메인 $\overline{D}_s$는 이미지와 픽셀 단위의 상세한 라벨 $\{X_s, Y_s\}$을 학습데이터로
가지며, 목표 도메인 $\overline{D}_t$는 이미지와 약한 라벨 $\{X_t, y_t\}$을 학습데이터로 갖는다. 여기에서, 이미지의 가로,
세로 픽셀 수를 각각 $H, W$, 탐지 대상 카테고리(클래스)의 수를 $C$라고 할 때 $X_s, X_t \in \mathbb{R}^{H \times
W \times 3}$, $Y_s \in \mathbb{B}^{H \times W \times C}$ 이며, $y_t$는 약한 라벨의 종류에 따라
형태가 다르다. 약한 라벨을 이용한 도메인 적응이란 각 도메인의 학습데이터 $\{X_s, Y_s\}$와 $\{X_t, y_t\}$를 활용하여 분할
네트워크 $G$를 목표 도메인 $\overline{D}_t$에 적응시키는 것을 말한다.
약한 라벨은 제작이 수월한 대신 낮은 신뢰도 또는 부족한 정보력을 갖는 라벨을 말한다. 약한 라벨은 그 취득 방법에 따라 의사(Pseudo) 라벨과
수동(Oracle) 라벨로 나눌 수 있다. 의사 라벨은 기 학습된 모델의 추론의 결과로 자동으로 생성되는 라벨로서, 다음의 식 (1)을 활용하여 목표 도메인 이미지에 대한 이미지 수준의 약한 라벨을 생성할 수 있다.
여기서, $p_t^c$는 특정한 카테고리 $c$의 존재 확률로 나중에 설명할 식 (3)을 통해 계산되며, $T$는 임계값으로 여기에서는 0.2를 사용한다. 수동 라벨은 사람이 직접 제작하는 라벨로서, Fig. 1(a)과 같이 이미지 내 각 카테고리의 존재 여부만을 표기하여 사용하는 이미지 수준 라벨과 Fig. 1(b)와 같이 각 카테고리에 속하는 픽셀 중 한 픽셀의 좌표를 찍어 사용하는 포인트 수준 라벨로 나눌 수 있다. 이미지 수준 라벨 $y_t \in \mathbb{B}^C$는
이미지에 존재하는 카테고리의 유무를 1과 0으로 나타내는 멀티-핫(multi-hot) 벡터이며, 포인트 수준 라벨 $y_t \in \{(h^c, w^c,
c) \mid \forall y_t^c = 1\}$는 존재하는 카테고리별로 하나씩의 좌표를 가지는 튜플(tuple) 집합이다. 포인트 수준 라벨은
이미지 수준 라벨에 비해 약간의 노동력이 더 요구되지만, 더 세부적인 정보를 제공한다. 이에 따라 일반적으로 포인트 약한 라벨을 활용한 도메인 적응
성능이 이미지 수준 라벨을 활용한 경우보다 더 우수할 것으로 기대된다.
약한 라벨을 이용한 도메인 적응 기반 분할 아키텍처는 Fig. 2와 같다. 먼저, $\overline{D}_s$와 $\overline{D}_t$의 이미지를 분할 네트워크 $G$에 통과시켜 각각의 특징 $F_s,
F_t \in \mathbb{R}^{H' \times W' \times 2048}$와 그에 따른 픽셀 단위의 분할 예측 $A_s, A_t \in \mathbb{R}^{H'
\times W' \times C}$, 그리고 업샘플된 픽셀 단위의 분할 예측 $O_s, O_t \in \mathbb{R}^{H \times W \times
C}$를 얻는다. 여기서 $H'(< H), W'(< W)$는 이미지가 분할 네트워크를 거치면서 다운샘플된 공간 차원을 의미한다. $\overline{D}_s$의
픽셀 단위 라벨 $Y_s$를 바탕으로 $G$를 학습시키면서 동시에 $\overline{D}_t$의 약한 라벨 $y_t$를 활용하여 도메인 적응을 수행한다.
분할을 위한 손실함수로는 식 (2)와 같은 이진 교차 엔트로피(binary cross entropy) 손실함수를 활용한다.
여기서, $N$은 이미지 내 총 픽셀 수(=$H \times W$), $O_s$와 $Y_s$는 각각 $\overline{D}_s$ 데이터에 대한 픽셀
단위의 예측과 라벨이다. 약한 라벨은 $G$를 업데이트하는 데 있어 두 가지 방법으로 활용된다. 첫 번째로, 약한 라벨을 예측하는 모듈을 도입하여
$G$를 제약한다. 두 번째로, $\overline{D}_s$와 $\overline{D}_t$의 특징을 카테고리별로 정렬하는 모듈을 구현하며, 이
과정에서 카테고리별 도메인 판별자 $D^C$를 활용한다. 또한, Tsai et al.(2018)의 제안에 따라 출력 공간을 정렬하는 모듈을 구현하며, 이를 위해 $O_s$와 $O_t$를 입력으로 받는 도메인 판별자 $D$를 활용한다.
약한 라벨 예측 모듈은 $y_t$를 활용하여 $G$를 제약하는 역할을 한다. 이미지 수준의 라벨이 주어진 경우 이미지 분류 모듈이 사용되며, $y_t$를
바탕으로 $X_t$에 존재하는 카테고리를 예측하도록 학습된다. 먼저, $X_t$를 $G$에 통과시켜 얻은 예측 $A_t$에 글로벌 풀링(global
pooling)을 적용하여 각 카테고리 별 존재 확률 $p_t^c$을 아래 식 (3)과 같이 얻는다.
여기서, $\sigma_s$는 시그모이드(sigmoid) 함수, $p_t^c$는 카테고리 $c$가 이미지에 존재할 확률로서 0과 1사이의 값이다.
$k$는 크기 계수(scale factor)로서, $k$ 값이 커질수록 식 (3)은 최대(max) 함수에 가까워진다. 여기에서는 $G$가 예측의 최댓값뿐만 아니라 다른 값들도 고려하여 평균적인 확률을 산정하도록 $k = 1$로
설정한다. 이렇게 구한 $p_t^c$와 $y_t$를 이용하여 이미지 분류 손실을 식 (4)와 같이 계산할 수 있다.
포인트 수준의 라벨이 주어지는 경우, 카테고리 별 포인트의 유무가 이미지 수준의 라벨과 동일한 의미를 가지므로, 포인트 예측 모듈과 이미지 분류 모듈이
같이 사용된다. 포인트 예측 모듈은 포인트 수준의 약한 라벨 $y_t$와 해당 픽셀에 대한 $G$의 예측값 $O_t$을 이용하여 다음의 식 (5)과 같이 포인트 예측 손실을 계산한다.
여기서, $M$은 $y_t^c = 1$을 만족하는 (즉, 포인트가 존재하는) 카테고리의 수를 의미한다.
카테고리별 특징 정렬 모듈은 이미지 수준의 약한 라벨을 이용하여 카테고리별 정렬을 수행한다. 예측을 기반으로 한 어텐션 맵(attention map)을
활용하여 카테고리별 특징을 얻고, 이렇게 얻은 특징을 정렬한다. 먼저 카테고리별 특징을 얻는 과정은 분할 네트워크 $G$를 통해 얻은 특징 $F$와
분할 예측 $A$을 바탕으로, $A$를 $F$에 대한 어텐션으로 사용하여 카테고리별 특징을 추출한다. 구체적으로, 각 카테고리에 대해 2048차원
벡터 형태의 카테고리별 특징 $F^c$를 다음의 식 (6)과 같이 계산한다.
여기서, $\sigma(A)$는 $A$에 소프트맥스를 적용하여 얻은 $H' \times W' \times C$차원의 텐서로, C개의 카테고리에 대한
어텐션 정보를 의미한다. $\sigma(A)^{(h', w', c)}$는 스칼라이고 $F^{(h', w')}$는 2048차원의 벡터로, $F^c$는
$\sigma(A)^{(h', w', c)}$에 의해 가중된 $F^{(h', w')}$가 $H' \times W'$차원의 공간 맵에 걸쳐 합산된 특징이다.
식 (6)은 $\overline{D}_s$와 $\overline{D}_t$에 동일하게 적용되어 각각의 $F^c$를 추출한다. $F^c$를 정렬하기 위해 카테고리별
도메인 판별자 $D^C = \{D^c\}_{c=1}^C$를 활용한다. 각 카테고리에 특화된 $D^C$를 사용함으로써 카테고리에 따라 독립적으로 특징
분포를 정렬할 수 있도록 한다. $D^C$를 학습하기 위한 손실함수는 다음의 식 (7)과 같다.
여기서, $K, M$은 각각 $y_s^c = 1, y_t^c = 1$을 만족하는 카테고리의 수를 의미한다. $D^C$는 입력받은 $F^c$가 어느
도메인에서 온 것인지 맞추도록 학습된다. $y_s^c$는 원천 도메인의 라벨 $\{Y_s\}$로부터 제작하며, $y_t^c$는 모델을 통해 생성(의사라벨)하거나
직접 제작(수동라벨)한다. 반대로 분할 네트워크 $G$를 학습하기 위해서는 다음의 식 (8)과 같은 카테고리별 정렬 손실함수를 활용한다.
본 손실함수는 $D^C$의 학습 과정과 유사하게, $\overline{D}_t$의 약한 라벨 $y_t$을 이용하여 $X_t$ 내에 존재하는 카테고리에
대해서만 정렬을 수행한다. $L_{adv}^C$를 최소화함으로써 $G$는 도메인과 무관한 카테고리 별 특징을 추출하게 된다.
출력 정렬 모듈은 $\overline{D}_s$와 $\overline{D}_t$의 출력 공간 분포를 유사하게 만드는 것을 목표로 한다. 이를 위해
$G$를 통해 얻은 픽셀 단위 예측 $O_s$와 $O_t$를 입력으로 받는 도메인 판별자 $D$를 활용한다. $D$는 입력받은 예측이 어느 도메인에서
온 것인지 올바르게 분류하도록 식 (9)의 손실함수를 사용하여 학습되며, 반대로 분할 네트워크 $G$는 판별자를 속이기 위해 식 (10)과 같은 출력 정렬 손실함수를 활용하여 학습된다.
이와 같은 적대적 학습을 통해 분할 네트워크 $G$는 두 도메인의 픽셀 단위 예측 $O_s$와 $O_t$의 분포를 유사하게 만든다.
최종적으로 약한 라벨을 이용한 도메인 적응 분할은 앞서 설명한 모듈을 통합하여 다음 식 (11)과 같은 목적함수를 최소화하도록 학습된다.
여기서, $L_s$는 의미론적 분할, $L_c$는 이미지 분류 모듈, $L_p$는 포인트 예측 모듈, $L_{adv}^C$는 카테고리별 특징 정렬
모듈, $L_o$는 출력 정렬 모듈의 도메인 적응 손실함수이다. 이 중 포인트 예측 손실함수 $L_p$는 포인트 수준의 라벨이 있을 때만 활용된다.
$\lambda_c, \lambda_{adv}, \lambda_o$는 각 손실의 가중치이다.
참고로, 약한 의사 라벨은 자동으로 생성되기 때문에 비지도 도메인 적응 방법(Unsupervised Domain Adaptation, UDA)으로
지칭되며, 약한 수동 라벨은 사람이 직접 제작하기 때문에 약한 지도 도메인 적응 방법(Weakly-supervised Domain Adaptation,
WDA)으로 지칭할 수 있다.
Fig. 1. Examples of Oracle weak labels
Fig. 2. Architecture of domain adaptive semantic segmentation using weak labels