결측치는 그냥 0으로 채우면 되는 거 아닌가요? (Why Not to Use Zero Imputation?)
결측치, 다들 그냥 0으로 채우지 않나요?
머신러닝을 하다 보면 피할 수 없는 손님이 하나 있습니다. 바로 결측치입니다. 협업 필터링(collaborative filtering)에서는 유저가 아직 평가하지 않은 영화가 대부분이고, 전자의무기록(EMR)에서는 환자마다 받은 검사 항목이 제각각이며, 단일세포 RNA 시퀀싱(single-cell RNA sequencing) 데이터에서는 특정 세포에서 특정 유전자의 발현량이 그냥 관측되지 않는 경우가 흔합니다.
이럴 때 가장 손쉬운 해법은 뭘까요? “그냥 0을 넣지 뭐” — 이른바 제로 임퓨테이션(zero imputation)입니다. 실제로 이 방법은 딥러닝 실무에서 가장 널리 쓰입니다. AutoRec(Sedhain et al., 2015), CF-NADE(Zheng et al., 2016), AutoImpute(Talwar et al., 2018) 같은, 각 분야에서 최고 수준(state-of-the-art) 성능을 낸다고 알려진 모델들도 결측치를 그냥 0으로 채운 뒤 신경망에 그대로 흘려보냅니다. 신경망 구조상으로 보면 나름 합리적인 선택이기도 합니다. 값이 0인 입력 노드는 가중치가 곱해져도 활성화에 기여하는 바가 적으니, 마치 그 피처가 “없는 셈” 치고 넘어가는 것처럼 보이거든요.
그런데 흥미롭게도 몇몇 선행 연구(Hazan et al., 2015; Luo et al., 2018; Śmieja et al., 2018)는 이 제로 임퓨테이션이 모델 성능에 부정적인 영향을 준다고 실험적으로 보고했습니다. 다만 어느 연구도 왜 이런 성능 저하가 생기는지는 설명하지 못했습니다. 저희가 이 논문(Yi et al., ICLR 2020)에서 파고든 지점이 바로 여기입니다.
아무도 설명하지 못했던 현상 — Variable Sparsity Problem
저희가 발견한 문제의 핵심은 이렇습니다. 제로 임퓨테이션을 쓰면, 신경망 출력층의 기댓값이 입력의 결측 비율(sparsity)에 따라 체계적으로 달라진다는 것입니다. 저희는 이 현상에 가변 희소성 문제(Variable Sparsity Problem, VSP)라는 이름을 붙였습니다.
영화 추천 시스템을 예로 들어보겠습니다. 어떤 유저가 평가한 영화 개수가 많고 적음에 따라 모델이 예측하는 평균 평점이 체계적으로 달라진다면 이상하겠죠. “평가를 적게 남긴 사람은 원래 영화를 안 좋아하는 사람일 것”이라는 가설이 어느 정도는 맞을 수도 있지만, 모든 희소성 구간에 걸쳐 일관되게 성립하는 진짜 신호는 아닙니다. 실제로 Movielens 100K 데이터 자체를 봐도, 유저가 평가한 영화 개수와 그 유저의 평균 평점 사이에는 별다른 상관관계가 없습니다. 그런데 제로 임퓨테이션으로 학습한 표준적인 신경망(AutoRec)에 같은 데이터를 넣어보면, 놀랍게도 평가 개수가 늘어날수록 모델의 예측값이 거의 선형적으로 증가합니다. 데이터에는 없는 패턴을 모델이 스스로 만들어낸 것입니다.
저희는 이 현상이 협업 필터링에만 국한된 특이 사례가 아니라는 것을 보이기 위해, 성격이 전혀 다른 세 도메인 — 협업 필터링(Movielens), 전자의무기록(PhysioNet Challenge 2012), 단일세포 RNA 시퀀스 — 에서 각각 테스트 인스턴스 하나를 골라 “관측된 값의 개수 $|\mathbf{m}|_1$”을 가로축으로, “모델의 예측값”을 세로축으로 두고 그려봤습니다.

Figure 1 (출처: Yi et al., 2020). 첫 번째 행은 실제 정답(target)의 평균으로, 세 도메인 모두 관측된 값 개수와 뚜렷한 상관관계가 없습니다. 두 번째 행은 SN 없이 학습한 모델의 예측값으로, 세 도메인 전부에서 관측된 값이 많아질수록 예측값이 체계적으로 변합니다 — 데이터에 없던 패턴을 모델이 만들어낸 것입니다. 세 번째 행은 SN을 적용한 모델의 예측값으로, 첫 번째 행처럼 다시 평평해집니다.
첫 번째 행(실제 정답의 평균)은 세 도메인 모두 평평한 데 반해, 두 번째 행(SN 없이 학습한 모델의 예측)은 하나같이 관측된 값 개수에 따라 기울어져 있습니다. 그리고 세 번째 행(SN을 적용한 모델의 예측)은 다시 첫 번째 행과 비슷하게 평평해집니다. 즉 VSP는 협업 필터링 하나의 데이터셋에서 우연히 나온 결과가 아니라, 제로 임퓨테이션을 쓰는 모델 전반에 공통적으로 나타나는 현상이라는 뜻입니다.
이건 단순히 불편한 정도가 아니라 위험할 수도 있는 문제입니다. 의료 도메인을 생각해보면, 어떤 환자가 특정 질병에 걸릴 확률이 그 환자가 받은 검사 개수에 비례해서 높게 나온다면 곤란합니다 (검사를 많이 받았다고 실제로 더 아픈 건 아니니까요). 저희가 확인해보니 이 경향은 학습이 끝난 뒤에만 나타나는 게 아니라 학습을 시작하기도 전, 초기화된 네트워크에서부터 이미 일관되게 나타나는 현상이었습니다. 즉 데이터를 더 학습시킨다고 저절로 사라지는 문제가 아니라, 제로 임퓨테이션이라는 입력 처리 방식 자체에 내재된 구조적인 편향(bias)이라는 뜻입니다.
왜 이런 일이 생기는가 — 이론으로 파고들기
저희는 이 현상을 감으로 넘기지 않고 수식으로 직접 증명했습니다. 먼저 표기법을 정리하겠습니다. $L$개 층을 가진 신경망에서 $i$번째 층의 가중치 행렬을 $W^i \in \mathbb{R}^{n_i \times n_{i-1}}$, 편향(bias)을 $\mathbf{b}^i \in \mathbb{R}^{n_i}$, 활성화 벡터를 $\mathbf{h}^i \in \mathbb{R}^{n_i}$라 하면, 입력층 $\mathbf{h}^0 \in \mathbb{R}^{n_0}$과 출력층 $\mathbf{h}^L \in \mathbb{R}^{n_L}$에 대해 다음이 성립합니다.
\[\mathbf{h}^i = \sigma(W^i \mathbf{h}^{i-1} + \mathbf{b}^i), \quad i = 1, \cdots, L\]이제 이 네트워크의 출력 $\mathbf{h}^L$이 입력 $\mathbf{h}^0$의 희소성에 따라 어떻게 달라지는지를 분석하기 위해, 논문은 다음 가정(Assumption 1)을 둡니다.
- (i) 입력 벡터의 각 좌표 $h^0_l$은 실제 값 $\tilde{h}^0_l$과 결측 여부를 나타내는 이진 마스크 $m_l$의 곱으로 생성됩니다. 마스크 $m_l$은 완전 무작위 결측(MCAR, missing completely at random)이며 다른 마스크 변수나 값들과 독립이고, 모든 $m_l$은 평균이 $\mu_m$인 동일한 분포를 따릅니다.
- (ii) 가중치 행렬 $W^i$의 원소들은 서로 독립이며 평균 $\mu_w^i$인 동일한 분포를 따릅니다. $\mathbf{b}^i$와 $\tilde{\mathbf{h}}^0$ 역시 각각 평균 $\mu_b^i$, $\mu_x$인 독립동일분포(i.i.d.) 원소로 구성됩니다.
- (iii) $\mu_w^i$는 모든 층 $i$에 걸쳐 균일하게 0이 아닙니다.
이 설정 아래에서 활성화 함수의 종류를 조금씩 일반화해가며 세 개의 정리를 증명했습니다.

Theorem 1–3 (출처: Yi et al., 2020). 활성화 함수를 항등함수 → 아핀함수 → 비감소 볼록함수로 점점 일반화하면서도, 출력의 기댓값이 마스크 평균 $\mu_m$에 얽혀 있다는 결론은 그대로 유지됩니다.
정리 1 (Case 1: 활성화 함수가 항등함수, 편향 없음). 활성화 $\sigma$가 항등함수이고 $b_l^i$가 균일하게 0으로 고정된 가장 단순한 경우, $E[h_l^L] = \prod_{i=1}^{L} n_{i-1} \mu_w^i \mu_x \mu_m$이 성립합니다. 즉 출력층의 기댓값이 마스크 평균 $\mu_m$에 정비례합니다. 결측이 많을수록(=$\mu_m$이 작을수록) 출력의 기댓값도 그만큼 작아지도록 구조적으로 정해져 있는 것입니다.
정리 2 (Case 2: 활성화 함수가 아핀함수, 편향 있음). $f_i(x) = \sigma(n_{i-1}\mu_w^i x + \mu_b^i)$라 두면, $E[h_l^L] = f_L \circ \cdots \circ f_1(\mu_x \mu_m)$입니다. 편향 항이 있어도 $E[h_l^L]$은 여전히 $\mu_m$을 입력으로 받는 합성함수 형태로 표현되어, $\mu_m$이 달라지면 출력의 기댓값도 함께 달라집니다.
정리 3 (Case 3: 활성화 함수가 ReLU, Leaky ReLU, ELU, Softplus 같은 비감소 볼록함수, $\mu_w^i > 0$). 이 경우 $E[h_l^L]$을 정확히 구하기는 어렵지만, 옌센 부등식(Jensen’s inequality)을 활용해 $E[h_l^L] \geq f_L \circ \cdots \circ f_1(\mu_x \mu_m)$이라는 하한(lower bound)을 증명했습니다. 즉 실무에서 가장 흔히 쓰이는 비선형 활성화 함수들에서도, 출력의 기댓값이 최소한 이 정도는 $\mu_m$의 영향을 받는다는 것이 보장됩니다.
세 정리를 종합하면, 활성화 함수를 무엇으로 고르든 — 심지어 요즘 실무에서 가장 흔히 쓰는 ReLU 계열이라 해도 — 신경망의 평균 출력이 결측 비율과 구조적으로 얽혀버린다는 결론에 도달합니다. 이건 특정 데이터셋이나 특정 아키텍처의 우연이 아니라, “결측값을 0으로 채운다”는 선택 자체에서 비롯되는 일반적인 현상입니다. 실제로 논문은 위 가정들이 다소 이상적이라는 점도 인정합니다. (i)은 가장 단순한 결측 메커니즘을 가정한 것이고, (iii)은 학습 초기에는 성립하지 않을 수 있지만 학습이 진행될수록 실제로 성립하는 경향이 있다고 설명합니다. 그리고 Figure 1의 두 번째 행에서 봤듯, 이런 이상적인 가정이 정확히 성립하지 않는 실제 상황에서도 VSP는 뚜렷하게 관찰됩니다.
해법은 허무할 정도로 간단합니다 — Sparsity Normalization
이론적으로 문제의 원인을 정확히 짚어내고 나니, 해법은 오히려 단순했습니다. 정리 2(아핀함수 케이스)를 다시 보면, $\mu_m$에 대한 의존성이 선형적인 형태로 나타납니다. 그렇다면 입력 단계에서 그 의존성을 미리 상쇄해주면 되지 않을까요?
저희가 제안한 Sparsity Normalization (SN)의 알고리즘은 이렇습니다. 각 데이터 인스턴스마다 알려진(결측이 아닌) 값의 개수, 즉 $|\mathbf{m}|_1$을 세어서, 입력값을 그 개수에 반비례하도록 다시 스케일링합니다.
\[\mathbf{h}^0_{\text{SN}} = K \cdot \frac{\mathbf{h}^0}{\|\mathbf{m}\|_1}\]여기서 $K$는 전체 학습 데이터에 대한 $|\mathbf{m}|1$의 평균, 즉 $K = E{(\mathbf{h}^0, \mathbf{m}) \in \mathcal{D}}[|\mathbf{m}|_1]$으로 잡는 것을 권장합니다. 이렇게 하면 정규화 전후로 데이터셋 전체의 평균 스케일이 그대로 유지되어, SN이 불필요하게 다른 부작용(예: 다잉 렐루)을 일으키는 것을 최소화할 수 있습니다.
알고리즘으로 정리하면 아래와 같이, 데이터셋을 한 번 순회하면서 각 인스턴스를 $|\mathbf{m}|_1$로 나누고 $K$를 곱해주는 것이 전부입니다.

Algorithm 1 (출처: Yi et al., 2020). Sparsity Normalization의 전체 절차. 데이터셋 $\mathcal{D}$와 상수 $K$를 입력받아, 각 인스턴스의 입력 $\mathbf{h}^0$를 그 인스턴스의 관측된 값 개수 $|\mathbf{m}|_1$로 나누고 $K$를 곱한 뒤 새로운 데이터셋 $\mathcal{D}_{\text{SN}}$을 구성합니다.
직관적으로 풀어보면, “결측치가 많아서 값이 몇 개 없는 샘플”일수록 남아있는 값들을 더 크게 부풀려주는 겁니다. 결측이 90%인 샘플과 10%인 샘플이 있다면, 전자의 살아남은 값들에 훨씬 더 큰 가중치를 실어주는 셈이죠. 이렇게 하면 정확히 어떤 일이 벌어지는지를 다음 정리로 증명했습니다.

Theorem 4 (출처: Yi et al., 2020). SN을 적용하면 아핀함수 케이스에서 출력의 기댓값이 더 이상 $\mu_m$에 의존하지 않고, 오직 $\mu_x \cdot K_1$에만 의존하게 됩니다.
정리 2와 정리 4를 나란히 놓고 비교하면 차이가 명확합니다. 정리 2에서는 $E[h_l^L] = f_L \circ \cdots \circ f_1(\mu_x \mu_m)$으로 마스크 평균 $\mu_m$이 그대로 남아 있었는데, SN을 적용한 정리 4에서는 $E[h_l^L] = f_L \circ \cdots \circ f_1(\mu_x \cdot K_1)$로 $\mu_m$이 완전히 사라지고 우리가 직접 고를 수 있는 상수 $K_1$만 남습니다. VSP를 일으키던 항이 정확히 상쇄된 것입니다.
아래 그림은 이 상쇄 효과를 네트워크 다이어그램으로 직접 보여줍니다. (a)는 SN이 없을 때로, 결측이 적을수록(왼쪽) 활성화 값(색이 진할수록 절댓값이 큼)이 크고, 결측이 많을수록(오른쪽) 활성화 값이 작아지며 출력의 스케일이 흔들립니다. (b)는 SN을 적용했을 때로, 결측 수준이 달라져도 활성화 값의 스케일이 비교적 안정적으로 유지되는 것을 볼 수 있습니다.

Figure 2 (출처: Yi et al., 2020). SN 적용 전(a)과 후(b)의 네트워크 활성화 값 변화. 점선 원은 결측(0으로 채워진) 노드를 나타냅니다.
기존에 흔히 쓰이던 Batch Normalization이나 Layer Normalization은 이 문제를 해결해주지 못합니다. 이들은 “피처(feature)의 분포”를 배치나 레이어 단위로 정규화할 뿐, “샘플마다 다른 결측 비율” 자체를 교정해주는 장치가 없기 때문입니다. SN은 정확히 이 빈틈을 겨냥합니다.
다만 실제로 적용할 때는 두 가지를 유의해야 합니다. 첫째, 정리 4는 아핀함수 케이스(Case 2)에서만 엄밀하게 증명됩니다. 정리 3의 비선형 케이스(Case 3)에 대한 SN의 효과를 이론적으로 증명하는 것은 $E[\sigma(x)] = \sigma(E[x])$가 일반적으로 성립하지 않기 때문에 간단하지 않습니다 — 논문도 이 점을 솔직하게 밝히고 있습니다. 다만 뒤에서 볼 실험 결과들이 보여주듯 실무에서는 ReLU 계열을 포함해 훨씬 더 폭넓게 효과가 있었습니다. 둘째, $K$를 너무 작게 잡으면 스케일링 값이 과도하게 커져서 다잉 렐루(dying ReLU) 현상을 유발할 수 있어 주의가 필요합니다.
한 가지 더 실무적으로 유용한 팁이 있습니다. 위 정리들은 $\mu_m$이 모든 인스턴스에 걸쳐 고정되어 있다고 가정하지만, 실제로는 인스턴스마다 결측 비율이 다릅니다. 논문은 최대우도(maximum likelihood) 원리에 따라 인스턴스별로 $\mu_m$을 $|\mathbf{h}^0|0 / n_0 = |\mathbf{m}|_1 / n_0$로 추정할 것을 제안하고, 그 결과 $\mathbf{h}^0{\text{SN}} = K \cdot \mathbf{h}^0 / |\mathbf{m}|_1$ (여기서 $K = n_0 \cdot K_1$) 형태로 정리됩니다. 이게 바로 위 Algorithm 1에서 실제로 쓰인 식입니다.
그래서 얼마나 좋아졌나요 — 실험으로 확인하기
이론만으로 끝내지 않고, 성격이 전혀 다른 다섯 종류의 태스크에서 SN을 검증했습니다.
협업 필터링. Movielens 100K/1M/10M 데이터셋에 AutoRec, CF-NADE를 학습시켜보니, SN을 적용했을 때 테스트 RMSE(root mean squared error)가 예외 없이 개선됐습니다.

Table 1 (출처: Yi et al., 2020). Movielens 100K/1M/10M에서 AutoRec, CF-NADE, CF-UIcA에 SN을 적용했을 때의 테스트 RMSE 비교 (5회 실행, 95% 신뢰구간). 굵게 표시된 값이 더 낮은(더 좋은) RMSE입니다.
예를 들어 AutoRec(유저 벡터 기반)의 100K 데이터셋 RMSE는 SN 없이 $0.9346 \pm 0.0007$이었던 것이 SN을 적용하자 $0.9208 \pm 0.0023$으로 낮아졌습니다. CF-NADE의 경우 10M 데이터셋에서는 개선폭이 더 극적이어서, 유저 벡터 기준 $0.8113 \pm 0.0058$에서 $0.7854 \pm 0.0006$로 낮아졌을 뿐 아니라 신뢰구간도 훨씬 좁아졌습니다. 신뢰구간이 좁아졌다는 것은 SN이 단순히 평균 성능만 올린 게 아니라, 학습 자체를 더 안정적으로 만들었다는 뜻이기도 합니다.
더 흥미로운 건 Table 2의 비교인데요, 단순히 기존 AutoRec·CF-UIcA에 SN 한 줄만 추가했을 뿐인데 앙상블을 포함한 여러 최신 협업 필터링 방법들과 견줄 만한, 혹은 더 나은 성능을 냈습니다.

Table 2 (출처: Yi et al., 2020). SN을 적용한 AutoRec·CF-UIcA와, 신경망 기반 여부에 관계없이 각 데이터셋에서 보고된 여러 최신 협업 필터링 방법들의 비교. 굵은 글씨는 신경망 기반 모델을 뜻합니다.
특히 Movielens 100K와 1M에서는 SN을 적용한 단일 모델이 앙상블을 포함한 다른 최신 기법들과 대등하거나 더 나은 RMSE를 기록했습니다. 10M에서 SN 버전보다 좋은 성능을 낸 방법들은 전부 여러 모델을 결합한 앙상블이었다는 점을 감안하면, 단일 모델로서 SN을 적용한 AutoRec의 결과는 꽤 인상적입니다.
전자의무기록(EMR). 미국 국립보건통계센터(NHIS) 데이터셋으로 심혈관 질환, 지방간, 고혈압, 심부전, 당뇨병 5개 질병을 예측하는 태스크에서, SN을 적용한 단순 제로 임퓨테이션이 SN 없는 버전보다 모든 질병에서 더 높은 AUROC(area under the ROC curve)를 기록했습니다.

Table 3 (출처: Yi et al., 2020). NHIS 데이터셋의 5개 질병 식별 태스크에서 SN과 다른 결측치 처리 기법들의 테스트 AUROC 비교 (5회 실행, 95% 신뢰구간).
표를 보면 SN을 적용한 제로 임퓨테이션(굵게 표시된 두 번째 행)이 SN 없는 제로 임퓨테이션은 물론, Batch Normalization·Layer Normalization을 붙인 버전, 드롭아웃, 평균/중앙값 임퓨테이션까지 모두 앞섭니다. 심지어 $k$-최근접이웃(k-NN), MICE, SoftImpute, GAIN처럼 훨씬 더 복잡하고 계산 비용이 큰 결측치 처리 기법들과 비교해도 대등하거나 더 나은 성능을 보였습니다. 정교한 임퓨테이션 모델을 새로 설계하는 대신, 제로 임퓨테이션에 한 줄짜리 정규화만 더한 것으로 그만한 성능을 낸 셈입니다.
단일세포 RNA 시퀀싱. blakeley, kolodziejczyk, zeisel, usoskin, quake, jurkat 여섯 개 데이터셋에서 AutoImpute를 재현해 실험한 결과, 학습 데이터 비율을 줄여갈수록(=결측이 많아질수록) SN 없는 모델의 RMSE는 가파르게 치솟았지만, SN을 적용한 모델은 거의 평평한 곡선을 유지했습니다. 학습 데이터가 적을수록 SN의 효과가 더 두드러졌다는 점도 인상적이었습니다.
드롭아웃을 적용한 UCI 회귀 데이터셋. Boston Housing, Diabetes, California Housing 데이터셋에 드롭아웃을 걸어 인위적으로 은닉층에 희소성을 만들어봤는데, 드롭 확률이 높아질수록 SN 없는 모델과 있는 모델의 RMSE 격차가 뚜렷하게 벌어졌습니다.
밀도 추정(density estimation). 이진화된 MNIST에 대해 MADE 모델을 학습시켜본 결과에서도, SN을 적용하자 음의 로그 우도(negative log-likelihood)가 개선됐습니다. MADE는 은닉층 내부에서 자기회귀(autoregressive) 마스크를 쓰는 구조라 입력층뿐 아니라 은닉층에도 SN을 확장 적용해봤는데, 이 경우에도 효과가 있었습니다.
뜻밖의 발견 — 사실 다들 무의식중에 쓰고 있었다
관련 연구를 정리하다가 재미있는 사실을 하나 발견했습니다. 이미 잘 알려진 여러 기법들이, “가변 희소성 문제를 해결한다”는 자각 없이 이미 SN과 매우 비슷한 연산을 하고 있었다는 것입니다.
- DropBlock(Ghiasi et al., 2018)은 드롭된 피처만큼 활성화를 보상해주는데, 이때 실제로 마스크의 개수를 정확히 세어 보정하는 방식이 SN과 거의 동일합니다.
- CBOW(Mikolov et al., 2013)는 문맥 단어 임베딩을 평균 낼 때, 문장 내 위치에 따라 사용되는 단어 개수가 달라지는데, 이걸 개수로 나눠주는 연산이 실무적으로 성능 향상을 가져다준다는 게 나중에 밝혀졌습니다.
- 그래프 합성곱 신경망(GCN)(Kipf & Welling, 2017)에서 표준적으로 쓰이는 라플라시안 정규화(Laplacian normalization)는, 그래프의 노드마다 차수(degree)가 다른 것을 자연스럽게 보정해주는데, 이 연산이 SN과 정확히 맞아떨어집니다.
세 사례 모두 “왜 이게 도움이 되는지”를 명시적으로 설명하지 않은 채 경험적으로 자리 잡은 기법들이었습니다. 저희 논문은 이런 개별 사례들을 하나로 묶어, “결측/희소성이 있는 입력을 다룰 때는 일반적으로 SN 같은 보정이 필요하다”는 모델에 무관한(model-agnostic) 원리로 정리한 셈입니다.
실전에서 고려할 점
드롭아웃과 SN의 관계도 짚어볼 만합니다. 베르누이 드롭아웃은 은닉층에서 유닛을 확률 $p$로 꺼버리는 방식인데, 이건 은닉층에서의 가변 희소성 문제라고 볼 수 있습니다. 딥러닝 프레임워크들이 기본으로 쓰는 인버티드 드롭아웃(inverted dropout)의 $1/(1-p)$ 스케일링은, 사실 SN을 “평균적인 의미에서”만 적용한 것과 같습니다($E[|\mathbf{m}|_1] = n(1-p)$, $K=n$인 경우). 반면 SN은 샘플마다 실제로 살아남은 유닛 개수를 세어 정확히 보정하기 때문에, 평균으로 뭉뚱그리지 않고 인스턴스 단위로 정밀하게 VSP를 없앨 수 있습니다. 드롭 확률이 높을수록 이 차이(신호 대 잡음비의 역수로 정의한 VSP 심각도, $\sqrt{p/(n(1-p))}$)가 커진다는 것도 실험으로 확인했습니다.
모든 실험에서 SN이 극적인 효과를 낸 건 아니라는 점도 솔직히 밝혀야겠습니다. PhysioNet Challenge 2012 EMR 데이터셋에서는 SN이 VSP 자체는 확실히 교정했지만, 실제 예측 성능(AUROC)에는 NHIS만큼 뚜렷한 개선을 주지 못했습니다. PhysioNet 데이터셋은 완전 무작위 결측(MCAR) 가정이 잘 들어맞지 않는 데다, 실험에 쓴 모델이 시그모이드 기반 구조라 정리들의 전제 조건과는 다소 거리가 있었기 때문으로 보입니다. 다만 성능이 그대로였다는 것 자체도 나름의 의미가 있습니다. 의료처럼 안전이 중요한 도메인에서는, 모델이 편향 없이 “공정하게” 예측한다는 것 자체가 성능 지표 하나만큼이나 중요한 가치니까요.
마치며
정리하면, 딥러닝에서 관행처럼 써온 제로 임퓨테이션에는 가변 희소성 문제라는, 여태 아무도 명시적으로 설명하지 않았던 구조적인 편향이 숨어 있었습니다. 저희는 이 현상을 이론적으로 증명하고, Sparsity Normalization이라는 한 줄짜리 정규화로 이를 해소할 수 있음을 보였습니다. 화려한 아키텍처 변경 없이, “왜 문제가 생기는지”를 정확히 짚어내고 그 원인만 정밀하게 제거한 결과였습니다. 이 연구는 Juhyuk Lee, Kwang Joon Kim, Sung Ju Hwang, Eunho Yang 선생님들과 함께 KAIST와 연세대학교 의과대학, AITRICS에서 진행했고 ICLR 2020에 출판되었습니다.
이 연구는 KAIST 기계학습 연구실 세미나에서도 발표했었는데, 그때 썼던 슬라이드를 이 글 맨 아래에 그대로 함께 담아두었습니다. 글을 다 읽고 나서 슬라이드로 한 번 더 훑어보고 싶으시다면 아래에서 바로 넘겨보실 수 있습니다. 논문 원문은 arXiv(1906.00150)에서 확인하실 수 있습니다.
Reference
-
(Yi et al., 2020) Yi, J., Lee, J., Kim, K. J., Hwang, S. J., & Yang, E. (2020). Why not to use zero imputation? correcting sparsity bias in training neural networks. In International Conference on Learning Representations (ICLR).
-
(Sedhain et al., 2015) Sedhain, S., Menon, A. K., Sanner, S., & Xie, L. (2015, May). Autorec: Autoencoders meet collaborative filtering. In Proceedings of the 24th international conference on World Wide Web (pp. 111-112).
-
(Zheng et al., 2016) Zheng, Y., Tang, B., Ding, W., & Zhou, H. (2016, June). A neural autoregressive approach to collaborative filtering. In International Conference on Machine Learning (pp. 764-773). PMLR.
-
(Talwar et al., 2018) Talwar, D., Mongia, A., Sengupta, D., & Majumdar, A. (2018). AutoImpute: Autoencoder based imputation of single-cell RNA-seq data. Scientific reports, 8(1), 16329.
-
(Germain et al., 2015) Germain, M., Gregor, K., Murray, I., & Larochelle, H. (2015, June). Made: Masked autoencoder for distribution estimation. In International Conference on Machine Learning (pp. 881-889). PMLR.
-
(Srivastava et al., 2014) Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: a simple way to prevent neural networks from overfitting. The journal of machine learning research, 15(1), 1929-1958.
-
(Ghiasi et al., 2018) Ghiasi, G., Lin, T. Y., & Le, Q. V. (2018). Dropblock: A regularization method for convolutional networks. Advances in neural information processing systems, 31.
-
(Mikolov et al., 2013) Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781.
-
(Kipf & Welling, 2017) Kipf, T. N., & Welling, M. (2017). Semi-supervised classification with graph convolutional networks. In International Conference on Learning Representations (ICLR).
슬라이드를 불러오지 못했습니다.
PDF 새 탭으로 열기