REMI Lab강의 노트

Radar Signal Processing R18

18장 레이다를 위한 머신러닝 기초

학습과 평가 지표

모델은 어떤 순환으로 학습하고, 학습한 모델의 성능은 어떤 수로 보고하는가?

지도학습의 순환

지도학습(supervised learning)은 입력 xx와 정답 라벨 yy의 쌍으로 된 학습 데이터로 f(x;θ)≈yf(x; \theta) \approx y를 만족하는 파라미터 θ\theta를 찾는 과정이다. 입력이 모델을 지나 예측이 되고, 손실 함수가 정답과의 차이를 계산하고, 역전파로 구한 기울기로 가중치를 갱신하는 순환을 되풀이한다. 신경망 기초 절의 3-4-2 신경망 그림이 샘플 하나로 이 순환을 한 바퀴 돈다.

분류와 회귀의 손실 함수

손실 함수는 예측이 정답에서 얼마나 벗어났는지를 수 하나로 잰다. 분류와 회귀는 출력의 형태가 달라서 쓰는 손실도 다르다.

다중 클래스 분류에서는 출력층에 softmax를 적용해 각 클래스의 확률을 구한다. cross-entropy 손실은 정답 분포와 예측 분포의 차이를 잰다.

LCE=−∑iyilog⁡y^iL_{CE} = -\sum_{i} y_i \log \hat{y}_i

이진 분류(탐지/비탐지)에서는 binary cross-entropy(BCE)를 쓴다.

LBCE=−[ylog⁡y^+(1−y)log⁡(1−y^)]L_{BCE} = -\bigl[y \log \hat{y} + (1-y)\log(1-\hat{y})\bigr]

연속값 예측(거리, 각도, 위상 계수)에는 평균제곱오차(MSE)가 기본이다. 이상값(outlier)에 민감한 문제에는 Huber loss가 더 강건하다.

LMSE=1N∑i=1N(yi−y^i)2,LHuber={12(y−y^)2∣y−y^∣≤δδ∣y−y^∣−δ22otherwiseL_{MSE} = \frac{1}{N}\sum_{i=1}^{N}(y_i - \hat{y}_i)^2, \qquad L_{Huber} = \begin{cases} \frac{1}{2}(y-\hat{y})^2 & |y-\hat{y}| \le \delta \\ \delta|y-\hat{y}| - \frac{\delta^2}{2} & \text{otherwise}\end{cases}

클래스 불균형과 focal loss

레이다 탐지에서는 RD 맵의 전체 픽셀 가운데 표적 픽셀이 0.1 % 미만인 심한 클래스 불균형이 생긴다. 보통의 BCE 손실에서는 배경(0) 픽셀의 기여가 압도적으로 커서, 모델이 모든 픽셀을 0으로 예측하는 all-zero collapse에 빠진다.

focal loss는 쉽게 맞히는 배경 샘플의 기여를 줄여, 학습이 어려운 표적 샘플에 집중하게 한다.

LFL=−αt(1−pt)γlog⁡(pt)L_{FL} = -\alpha_t (1 - p_t)^\gamma \log(p_t)

γ>0\gamma > 0이면 (1−pt)γ(1-p_t)^\gamma가 쉬운 샘플(pt≈1p_t \approx 1)의 가중치를 0에 가깝게 만든다. γ=2\gamma = 2가 흔하고, αt\alpha_t는 클래스 빈도에 맞춰 조정한다. 원래의 RetinaNet은 양성에 αt=0.25\alpha_t = 0.25를 썼지만, 레이다 탐지처럼 표적 픽셀이 극히 드물 때는 양성을 강조하는 αt=0.75\alpha_t = 0.75가 알맞다.

픽셀 단위 분할(segmentation)에서는 표적 영역의 겹침(overlap)을 직접 최적화하는 Dice loss를 쓰며, 이 손실은 클래스 불균형에 자연히 강건하다.

LDice=1−2∣A∩B∣∣A∣+∣B∣L_{Dice} = 1 - \frac{2|A \cap B|}{|A| + |B|}

실제로는 DiceBCE(Dice와 BCE의 합)나 FocalDice(focal과 Dice의 합)를 자주 쓴다. 다만 정답이 모두 0이면 분모 ∣A∣+∣B∣=0|A|+|B|=0이 되어 값이 정의되지 않으므로, 작은 ϵ\epsilon을 더해 수치 안정성을 지킨다.

최적화: Adam과 학습률

Adam(adaptive moment estimation)은 파라미터마다 학습률을 따로 조정하며, 이를 위해 1차 모멘트(기울기의 평균)와 2차 모멘트(기울기 제곱의 평균)를 함께 추적한다.

mt=β1mt−1+(1−β1)gt,vt=β2vt−1+(1−β2)gt2,θt=θt−1−ηv^t+ϵm^tm_t = \beta_1 m_{t-1} + (1-\beta_1)g_t, \quad v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2, \quad \theta_t = \theta_{t-1} - \frac{\eta}{\sqrt{\hat{v}_t}+\epsilon}\hat{m}_t

기본값 β1=0.9\beta_1=0.9, β2=0.999\beta_2=0.999, η=10−3\eta=10^{-3}이 대부분의 문제에서 잘 동작한다. weight decay를 정확히 적용하려면 AdamW를 쓴다.

과적합과 그 방지

학습 손실은 계속 줄어드는데 검증 손실이 어느 epoch부터 다시 오르면, 모델이 학습 세트에 지나치게 맞춘 과적합(overfitting)이다. 두 손실이 모두 높은 값에 머물면 과소적합(underfitting)이다. 두 꼴의 학습 곡선은 24장의 학습 곡선 그림에서 정상 수렴과 나란히 비교한다.

과적합을 막는 주요 방법은 다음과 같다.

  • dropout: 학습할 때 뉴런을 무작위로 끈다. 탐지 문제에서는 0.1~0.2의 낮은 비율이 알맞다.
  • weight decay(L2 정규화): 파라미터 크기에 비례하는 벌점을 준다. 10−410^{-4}~10−510^{-5} 범위가 흔하다.
  • early stopping: 검증 손실이 patience 에폭 넘게 나아지지 않으면 학습을 멈춘다. 24장 그림의 과적합 곡선에서는 검증 손실이 가장 낮은 epoch이 이 기준이다.
  • 데이터 증강(augmentation): 시뮬레이터 파라미터를 무작위로 바꿔 다양성을 얻는다.
  • batch normalization(BN): 미니배치마다 출력을 정규화해 학습을 안정시킨다. dropout과 함께 쓰면 효과가 충돌할 수 있으므로 주의한다.

평가 지표

모델을 학습했으면 얼마나 잘 하는지를 수치로 보고해야 한다. 손실 함수는 학습에 쓰고, 보고에는 사람이 해석하기 쉬운 지표를 쓴다. 분류 문제의 지표는 다음과 같다.

지표 식 뜻
accuracy 맞은 수전체 수\frac{\text{맞은 수}}{\text{전체 수}} 전체 정확도. 클래스 불균형에 약하다
precision TPTP+FP\frac{TP}{TP + FP} "탐지했다고 한 것 가운데 진짜의 비율". false alarm(FP)에 민감하다
recall(PDP_D) TPTP+FN\frac{TP}{TP + FN} "진짜 표적 가운데 탐지한 비율". 놓친 표적(FN)에 민감하다
F1 score 2⋅P⋅RP+R\frac{2 \cdot P \cdot R}{P + R} precision과 recall의 조화 평균
ROC-AUC ROC 곡선 아래 면적 임계값과 무관한 전체 탐지 성능. 1.0이면 완벽하다

혼동 행렬(confusion matrix)이 이 모든 지표의 바탕이다.

예측: 표적 예측: 비표적
실제: 표적 TP(true positive) FN(미탐지)
실제: 비표적 FP(false alarm) TN(true negative)

레이다 탐지에서는 특히 고정한 false alarm 확률 PFAP_{FA}에서의 탐지 확률 PDP_D로 성능을 말한다(13장). 예를 들어 "PFA=10−3P_{FA} = 10^{-3}에서 PD=0.85P_D = 0.85"는 1000번에 1번 false alarm을 허용하면서 표적의 85 %를 탐지한다는 뜻이다.

회귀 문제의 지표는 다음과 같다.

지표 식 뜻
MAE 1N∑∣y−y^∣\frac{1}{N}\sum|y - \hat{y}| 평균 절대 오차. 이상치에 강건하다
RMSE 1N∑(y−y^)2\sqrt{\frac{1}{N}\sum(y - \hat{y})^2} 제곱 평균의 제곱근 오차. 큰 오차에 민감하다
NMSE ∑(y−y^)2∑y2\frac{\sum(y - \hat{y})^2}{\sum y^2} (dB) 정규화 MSE. 신호 복원 품질 평가에 쓴다
PSNR 10log⁡10max⁡2MSE10\log_{10}\frac{\max^2}{\text{MSE}} dB 단위의 재구성 품질. SAR despeckling(23장)의 핵심 지표