
SIGNATE: 목재 함수율 예측을 하려 했을 뿐인데, 미지 수종 일반화에 대해 너무 깊게 고민해 버린 건에 대하여
요약
SIGNATE의 목재 함수율 예측 챌린지 참여 경험과 해법을 공유합니다. 미지 수종에 대한 일반화 성능을 높이기 위해 Leave-One-Species-Out CV와 TCN 모델링, 데이터 증강 기법을 활용한 전략을 다룹니다.
핵심 포인트
- OOD(Out-of-Distribution) 문제 해결을 위한 일반화 중심 설계
- Leave-One-Species-Out CV를 통한 미지 수종 대응 전략
- TCN 모델링 및 스펙트럼 특성을 고려한 데이터 증강 활용
- Public LB의 불확실성에 대응하는 Local CV 신뢰의 중요성
SIGNATE 참가 기록: 근적외선 연구회 스펙트럼 분석 챌린지
SIGNATE에 처음 참전했기에, 그 소감과 해법을 정리해 보고자 합니다.
SIGNATE에서는 기본적으로 해법이 공유되지 않기 때문에, 다른 참가자가 어떤 방침으로 임하고 있는지 알 기회가 제한적입니다. 자신의 가설과 검증을 바탕으로 집중해서 임할 수 있는 반면, 해법 공유가 없다는 점은 외롭기도 하고 타인으로부터 배울 기회가 적다는 점은 조금 아쉽습니다. 그렇기에 스스로 공개함으로써 조금이라도 환원할 수 있기를 바라는 마음으로 이 글을 썼습니다.
먼저, 이번 내용은 목재의 근적외선 (NIR) 스펙트럼으로부터 함수율을 예측하는 것이었습니다. train과 test에서 수종이 완전히 중복되지 않기 때문에, 상당히 까다로운 OOD (Out-of-Distribution) 예측 문제였습니다. 또한, 스펙트럼만으로는 함수율이 일의적으로 결정되지 않는 케이스도 있어, 근본적으로 고정밀 예측이 어려운 성질을 가진 문제였다고 생각합니다. 한편으로 문제 자체는 「스펙트럼 → 함수율 예측」이라는 심플한 구조였기에 진입 장벽은 낮았지만, 깊게 파고들수록 어려워지는 매우 흥미로운 컴피티션이었다고 느꼈습니다. 아쉬운 점은 Public LB의 거동이 상당히 부자연스러웠다는 것입니다. 머리로는 Trust your CV[1]의 중요성을 이해하고 있었지만, 실제로 Public LB를 거의 신뢰할 수 없게 되니 마치 어둠 속에서 돌을 계속 던지고 있는 듯한 감각이 들어 개선의 방향성을 잃기 쉬웠음을 통감했습니다. 자신의 CV만을 믿고 개선을 쌓아가는 것은 상상 이상으로 어려웠습니다.
결과 (RMSE)는 Public: 17.16 | Private: 13.75로, 167위라는 뭐라 말하기 애매한 결과였습니다.
Public을 거의 신뢰할 수 없었기에 Local CV를 철저히 신뢰하며 개선을 진행했지만, 역시 로컬만으로는 한계가 있어 과감한 시도를 하지 못한 채 방어적인 설계로 끝난 점이 아쉽습니다. 미지 수종에 대한 일반화를 의식하려고 노력했지만, 결과적으로 기능했는지는 솔직히 잘 모르겠습니다 (Private 수치가 미지 수종의 일반화 성능을 나타내고 있는지 불분명함).
다만, 제5장에서 자세히 다루겠지만, 미지 수종으로의 일반화를 전제로 설계한 Local CV의 RMSE는 13.71이었으며, 최종 Private 스코어 13.75와 상당히 가까운 값이었습니다.
이 점만 보면, Private 스코어도 미지 수종에 대한 일반화 성능을 어느 정도는 반영하고 있었던 것으로 보입니다 (의문은 남지만...).
그럼, 소회는 여기까지 하고 해법을 소개하겠습니다.
또한, 정보 공개 정책에 따라 실행 단위의 소스 코드나 학습 완료 모델, GitHub 등에 대해서는 공개하지 않습니다.
이 글에서 소개할 내용
본 글은 목재의 NIR 스펙트럼으로부터 함수율을 예측하기 위해, 제가 「일반화를 중시하여」 구축한 해법을 소개합니다.
방침으로는 Public LB의 스코어를 쫓는 것이 아니라, 미지 수종에 대한 일반화 성능을 중시하여 Leave-One-Species-Out CV를 중심으로 모델 선택을 수행했습니다. 방법론 측면에서는 SNV 처리 후 스펙트럼의 기하학적 제약을 고려한 데이터 증강 (Data Augmentation), TCN을 이용한 모델링, fold 간의 편차를 고려한 하이퍼파라미터 탐색, EMA와 seed ensemble을 통한 예측의 안정화를 조합했습니다.
참고로, 본 해법에서는 각 구성 요소에 대해 엄격한 ablation study는 수행하지 않았습니다. 경합 기간 자체는 충분했으나, Public과 Private의 관계나 일반화를 중시한 설계가 최종 평가에 어느 정도 반영되는지에 대해서는 다 읽어내기 어려운 부분이 있었습니다. 따라서 세세한 요소별 개선량을 쫓기보다는 문제 설정에 대해 타당하다고 생각되는 가설을 세우고, 그 가설에 따라 설계를 세련되게 다듬는 방침을 취했습니다.
따라서 본 글은 「각 기법이 단독으로 몇 점을 개선했는가」를 보여주는 실험 리포트가 아니라, NIR 스펙트럼을 이용한 미지 수종 일반화 문제를 어떻게 파악하고, 어떤 가설 아래에서 해법을 설계했는지를 정리합니다.
1. 전처리
1.1 SNV 처리
스펙트럼의 전처리에는 Standard Normal Variate (SNV)를 채택했습니다.
NIR 스펙트럼에서는 시료 표면의 상태, 산란, 측정 조건의 차이 등으로 인해 스펙트럼 전체의 오프셋이나 스케일이 변동하기 쉽기 때문에, 이러한 시료별 강도 차이를 보정하고 형상 정보를 보다 안정적으로 다루기 위한 전처리가 중요하다고 생각합니다.
전처리 후보로는 MSC나 SG 법을 이용한 2차 미분(second derivative) 등도 고려할 수 있으나, 본 경진대회에서는 다음과 같은 이유로 이를 채택하지 않았습니다.
MSC
MSC는 보정의 기준이 되는 참조 스펙트럼(reference spectrum)을 사용하기 때문에, 학습 데이터와 평가 데이터의 취급을 엄격하게 관리하지 않으면 데이터 누수(leakage)의 원인이 될 수 있습니다.
특히, 전체 데이터로부터 평균 스펙트럼을 생성하여 보정에 사용하는 방식은 평가 데이터의 정보를 전처리 단계에서 혼입시킬 위험이 있습니다 (번거롭습니다).
SG 법 2차 미분
베이스라인 변동 제거 및 피크 형상 강조에 유효한 경우가 있는 반면, 노이즈를 증폭시키기 쉽습니다. 또한, window size나 polynomial order와 같은 하이퍼파라미터(hyperparameter)가 추가되므로, 모델 본체나 데이터 증강(data augmentation)과는 별개로 전처리 탐색 공간이 늘어나게 됩니다. 게다가 2차 미분 후의 스펙트럼에 대해 자연스러운 데이터 증강을 설계하는 것도 어렵습니다.
이와 대조적으로, SNV는 각 스펙트럼을 샘플 단위(sample-wise)로 표준화하는 전처리이며, 다른 샘플의 정보를 필요로 하지 않습니다. 따라서 leakage 리스크를 억제하면서도 구현과 관리가 단순하다는 장점이 있습니다. 그러므로 본 경진대회에서는 SNV 처리를 전처리로 채택했습니다.
다만, SNV 처리에는 다소 까다로운 성질이 있습니다. 우선, SNV 처리에 대해 생각해 봅시다.
SNV 처리는 각 스펙트럼 $x$에 대해,
여기서,
SNV 후의 스펙트럼 $ ilde{x}$는 다음과 같이 정의됩니다.
$$\tilde{x} = \frac{x - \mu}{\sigma}$$
이 연산을 통해 SNV 후의 스펙트럼에는 두 가지 제약이 가해집니다.
첫째, 평균은 0이 됩니다 (정의에 의해 자명함).
둘째, 노름(norm)은 일정하게 됩니다.
여기서,
$$|\tilde{x}| = \sqrt{\sum \left(\frac{x_i - \mu}{\sigma}\right)^2} = \sqrt{\frac{1}{\sigma^2} \sum (x_i - \mu)^2} = \sqrt{\frac{1}{\sigma^2} \cdot \sigma^2} = 1$$
이므로,
$$|\tilde{x}| = 1$$
따라서,
$$|\tilde{x}| = 1$$
이상이므로, SNV 후의 스펙트럼은
$$\sum \tilde{x}_i = 0, \quad |\tilde{x}| = 1$$
을 만족합니다.
즉, SNV 후의 스펙트럼은 평균이 0인 초평면(hyperplane)과, 원점 중심이며 반지름이 1인 구(sphere) 위에 제약됩니다.
SNV 처리에 의해 스펙트럼이 받는 이 제약은 Fearn 등[2]의 관찰과도 일치합니다.
이 성질은 특히 SNV 후의 스펙트럼에 대해 데이터 증강을 설계한다면 무시할 수 없습니다 (제3장에서 상세히 설명합니다).
분모를 $\sqrt{n-1}$로 하는 불편 표준 편차(unbiased standard deviation)를 사용하는 경우, SNV 후 스펙트럼의 노름은 $\sqrt{\frac{n-1}{n}}$이 됩니다.
1.2 이상치 샘플에 대한 대응
EDA 결과, 베이스기(베이마츠)의 스펙트럼은 다른 수종과 비교하여 명확히 다른 거동을 보였기 때문에 학습 데이터에서 제외했습니다.
이상한 스펙트럼이 관찰된 것은 베이스기의 저함수율 측이었으나, 계산 비용(CV)을 고려하여 베이스기를 통째로 DROP 했습니다. 메타적인 관점에서 말하자면, test 데이터의 침엽수는 스기(삼나무)뿐이었고, train 데이터에는 베이스기 외에도 스프루스, 히노키, 베이마츠, 미히바가 존재했기 때문에 제거해도 문제가 없다고 판단했습니다.
test 데이터를 보고 판단하는 시점에서 "그레이 존(gray area)이 아닌가?"라고 생각하실 수도 있겠지만, 실제로 이상한 거동을 하고 있다는 것을 Fig. 1을 통해 확인할 수 있습니다. 적어도 근거 없이 test의 분포에 맞추기 위해 수종을 깎아낸 것은 아닙니다.
아래에 SNV 처리 후의 스펙트럼을 PCA로 2차원 시각화한 예를 보여드립니다.
| [IMG:1] | [IMG:2] |
|---|---|
| Fig. 1 베이스기를 제외하지 않은 경우 | Fig. 2 베이스기를 제외한 경우 |
NIR 스펙트럼 관찰
NIR 스펙트럼의 관찰 결과를 보여드립니다. 참고로 test 데이터는 못 본 척해 주세요.
| [IMG:3] | [IMG:4] |
|---|---|
| train | test |
| [IMG:5] | [IMG:6] |
|---|---|
| 함수율 변화에 따른 스펙트럼의 변화 (train) | 베이스기의 이상한 스펙트럼 |
2. 모델 선택
본 해법에서는 회귀 모델로 TCN(Temporal Convolutional Network)[3]을 채택했습니다.
NIR 스펙트럼은 국소적으로 날카로운 피크가 독립적으로 나타나기보다는, 여러 개의 브로드한(broad) 흡수대가 중첩된 신호로 관측됩니다. 특히 함수율 추정에서는 OH 결합에서 유래하는 흡수나 그 배음(overtone)·결합음(combination band)이 여러 파수(wavenumber) 영역에 나타나기 때문에, 어느 한 점의 파수만으로 목적 변수가 결정되는 것이 아닙니다. 따라서, 국소적인 스펙트럼 형상을 포착하면서도 장거리 의존성(long-range dependency)을 동시에 다룰 수 있는 모델이 바람직하다고 판단됩니다.
이러한 관점에서, TCN은 NIR 스펙트럼에 대해 적절한 귀납적 편향 (inductive bias)을 가진다고 판단했습니다. TCN은 합성곱 (convolution) 기반의 모델이기 때문에, 인접한 파수(wavenumber) 사이의 국소적인 연속성을 자연스럽게 다룰 수 있습니다.
한편, 확장 합성곱 (dilated convolution)을 쌓음으로써 파라미터 수를 과도하게 늘리지 않고도 넓은 수용 영역 (receptive field)을 확보할 수 있어, 국소적인 피크 형상과 중·장거리 의존성을 동시에 다루기 쉽습니다.
본 구현에서는 시계열 예측처럼 과거 방향만을 바라보는 인과적 TCN (causal TCN)이 아니라, 입력 스펙트럼 전체를 대상으로 하는 비인과적 TCN (non-causal TCN)을 사용했습니다. 스펙트럼 회귀에서는 파수 축 상의 좌우 양방향 정보를 모두 추정에 이용할 수 있으므로, 미래 방향을 숨기는 인과적 제약은 불필요합니다. 따라서 각 위치의 특징 추출에 있어 전후 양방향의 파수 정보를 이용할 수 있는 non-causal 합성곱을 채택하고 있습니다.
또한, 스펙트럼이 파장 방향으로 1555개의 점을 가진다는 점을 고려하여, 계산상으로는 거의 전역에 가까운 1525개 점 분량의 수용 영역을 확보했습니다. 이를 통해 모델은 국소적인 스펙트럼 형상뿐만 아니라, 파수 축 상에서 떨어진 영역에 나타나는 흡수대(absorption band) 사이의 관계도 표현할 수 있습니다.
한편, Transformer와 같은 전결합적 (fully connected) 어텐션 (attention) 구조와 비교하면, TCN은 합성곱에 기반하기 때문에 상대적으로 파라미터 효율이 좋습니다. 이번 사례와 같이 샘플 수가 제한적이고 수종 차이에 따른 분포 변화 (distribution shift)가 존재하는 소규모 데이터 조건에서는, 과도하게 자유도가 높은 모델보다 국소성과 계층성을 가정하는 합성곱 기반 모델이 더 안정적일 것이라고 생각했습니다.
이상의 이유로, 본 해법에서는 NIR 스펙트럼에 대해 국소적 구조와 장거리 의존성 모두를 다룰 수 있는 non-causal TCN을 채택하고 있습니다.
2. 수용 영역 (Receptive Field) 계산
TCN의 중요한 설계 요소는 수용 영역입니다. 수용 영역이란 출력 특징의 특정 위치가 입력 스펙트럼 상의 어느 범위를 참조할 수 있는지를 나타냅니다. 1차원 합성곱을 stride 1로 쌓는 경우,
[수식 생략]
여기서,
[수식 생략]
본 구현에서는 각 TCN block에 2개의 합성곱 층을 갖게 하고, block마다 dilation을
[수식 생략]
과 같이 지수적으로 증가시키는 구성을 사용했습니다. block 수를
[수식 생략]
등비수열의 합에 의해,
[수식 생략]
이므로,
[수식 생략]
이 됩니다.
본 실험에서는 스펙트럼이 파장 방향으로 1555개의 점을 가진다는 점을 고려하여, kernel size를
[수식 생략]
로 설정했습니다.
또한, 소규모 데이터에 딥러닝 (DL)을 적용하는 데에는 특유의 어려움이 있어 주의가 필요합니다.
한편, 설계의 자유도가 높고, 획득하고자 하는 불변성 (invariance)을 명시적으로組み込み(組み込み, 포함시켜) 일반화 성능 향상을 노릴 수 있다는 점은 비 딥러닝 (non-DL) 기법에는 없는 매력이라고 생각합니다.
또한, 케모메트릭스 (chemometrics)에서는 해석 가능성 (interpretability) 이 중요하다고 알려져 있지만, 딥러닝 (DL)은 PLS처럼 회귀 계수나 로딩 (loading)을 직접 해석할 수 있는 모델은 아닙니다. 하지만 Captum을 이용한 Occlusion이나 Grad-CAM을 통해 예측에 기여한 파장 영역을 사후적으로 시각화하는 것은 가능합니다 [4].
이런 의미에서, 딥러닝 (DL)은 직접 해석 가능한 모델은 아니지만, GBDT에서의 특성 중요도 (feature importance)나 SHAP과 마찬가지로, 사후 설명 기법을 통한 실용적인 설명 가능성을 가진다고 볼 수 있습니다.
3. 데이터 증강 (Data Augmentation)
본 실험에서는 5가지의 데이터 증강을 검토했습니다. 모든 증강은 SNV 처리 후의 스펙트럼이 만족하는 기하학적 제약을 유지하도록 설계했습니다. 이는 데이터 증강을 통해 가하는 섭동 (perturbation)을 '어떤 공간에서의 변화'로 정의할 것인지를 명확히 하기 위함입니다.
데이터 증강은 단순히 입력을 변형하기만 하면 되는 것이 아닙니다. 중요한 것은 변형된 샘플이 모델에 입력되는 데이터로서 타당한 범위 내에 머물러 있어야 한다는 점입니다. 예를 들어, RGB 이미지에 대해 픽셀 값으로 256과 같은 값을 생성해 버리는 증강을 생각해 보겠습니다. 이러한 조작이 정규화 (regularization)로서 우연히 기능할 가능성은 부정할 수 없습니다. 하지만 RGB 이미지로서 통상적으로 가질 수 없는 값을 생성하고 있는 이상, 데이터 증강 설계로서는 미흡하다고 할 수 있습니다. 미지의 데이터로서 그러한 픽셀 값을 가진 이미지가 입력될 것이라고는 기본적으로 상정하지 않기 때문입니다.
SNV 후의 스펙트럼에 대해서도 마찬가지입니다. 본 실험에서는 미지의 데이터도 SNV 처리를 거친 후 모델에 입력합니다. 따라서 데이터 증강 또한 SNV 이후의 공간
이는 Vicinal Risk Minimization (VRM)의 관점에서도 중요합니다. VRM은 학습 샘플 그 자체뿐만 아니라, 그 근방에도 학습 신호를 확장함으로써 섭동 (Perturbation)에 대한 리스크를 억제하는 개념입니다. 하지만 이때의 '근방'은 임의로 정해서는 안 됩니다. 근방을 설정하는 방식이 데이터의 기하학적 제약과 일치하지 않으면, 모델은 본래 상정되는 미지 데이터에 대한 강건성(Robustness)이 아니라, 입력 공간 외곽에 만들어진 인위적인 샘플에 적응해 버릴 가능성이 있습니다.
따라서 본 실험에서는, **데이터 증강 후의 스펙트럼이 ** 이를 통해 증강 샘플을 단순한 노이즈가 섞인 입력이 아니라, SNV 후 스펙트럼 공간에서의 타당한 근방 샘플로 취급하는 것을 의도하고 있습니다.
당초에는 이러한 제약을 다루는 것을 피하기 위해, raw absorbance에 대해 데이터 증강을 적용한 후 SNV 처리를 수행하는 흐름도 검토했습니다. 하지만 이 방법으로는 증강 강도를 제어하기가 어렵습니다. 특히, 동일한 raw 공간상의 섭동이라 하더라도, SNV 후에 어느 정도의 각도 변화나 형상 변화로 나타날지가 샘플마다 달라질 수 있으므로, raw absorbance 상이 아니라 SNV 후의 공간 상에서 기하학적 제약을 유지한 채 데이터 증강을 수행하는 방침을 채택했습니다.
이후에는 각 데이터 증강에 대해 중요도가 높은 순서대로 설명하겠습니다. 참고로 중요도는 후단의 HPO (Hyperparameter Optimization) 결과에 따라 판단하였습니다 (제5장).
3.1 SLERP Mixup
여기서는 NIR 회귀용으로 커스텀한 Mixup [5]를 도입했습니다. 소규모 데이터 조건에서 딥러닝 (Deep Learning)을 사용할 경우, 모델은 훈련 샘플에 과적합 (Overfitting)되기 쉽습니다. 이에 따라 훈련점 그 자체뿐만 아니라, 훈련 샘플 간의 가상점에서도 예측이 일관되도록 제약을 주었습니다. 이는 샘플 간의 과도하게 부자연스러운 비선형 거동을 억제하는 정규화 (Regularization) 로서 기능합니다.
여기서 각 샘플을
기본적인 개념은 Zhang 등이 제안한 Mixup을 따릅니다. 즉, 입력 공간에서 샘플을 혼합하고, 입력뿐만 아니라 레이블 (Label)도 동일한 계수로 보간 (Interpolation)합니다.
통상적인 Mixup에서는 혼합 계수
로부터 샘플링합니다. 여기서
두 개의 입력 스펙트럼을
이라고 합시다.
이때 선형 Mixup에 의해 얻어지는 점은 일반적으로
이 됩니다. 따라서
이 되며, 선형 Mixup은 구면 위의 두 점을 직선으로 잇기 때문에, 보간점이 구면 안쪽으로 떨어지게 됩니다.
이에 본 기법에서는 선형 보간 대신 SLERP [6]를 사용합니다. 먼저,
와 정규화하여
라고 합니다. 이때 구면 위의 보간을
으로 정의합니다.
본 기법에서는 혼합 스펙트럼을
이라 하고, 레이블은 통상적인 Mixup과 마찬가지로
으로 보간했습니다.
이를 통해 입력 스펙트럼은 SNV 후의 기하학적 제약을 유지한 채 혼합됩니다. 반면, 목적 변수인 함수율은 통상적인 연속값으로서 선형 보간됩니다. 즉, 입력은 구면 위에서 보간하고, 레이블은 회귀값으로서 보간하는 점이 본 기법의 특징입니다.
또한, 쌍 선택 (Pair selection)에도 NIR 회귀 태스크에 맞춘 제약을 넣었습니다. 샘플
이라고 정의했습니다.
즉, 서로 다른 수종이면서 함수율이 가까운 샘플을 혼합 대상으로 랜덤하게 선택합니다. 이는 함수율 레이블의 보간이 부자연스러워지는 것을 방지하기 위함입니다. 동시에, 서로 다른 수종 간에 혼합함으로써, 모델이 수종 고유의 스펙트럼 차이에 과도하게 적합되는 것을 억제하고, 함수율에 공통적인 스펙트럼 변동을 학습하기 쉽게 만드는 목적이 있습니다.
후보가 존재하지 않는 경우에는, 이종 수종 샘플이면서 함수율이 가까운 상위 5건 중에서 랜덤 선택하는 방식으로 fallback 합니다. 이를 통해 엄격하게
이상과 같이, SLERP Mixup은 통상적인 Mixup이 가진 샘플 간 정규화 효과를 유지하면서, SNV 후 NIR 스펙트럼의 기하학적 제약을 깨뜨리지 않도록 설계된 혼합 증강입니다. 훈련점뿐만 아니라 그 주변의 가상점에 대해서도 일관된 예측을 요구함으로써, 모델의 과도하게 자유로운 비선형 거동을 억제합니다. 또한, 혼합 대상을 '이종 수종 및 함수율 근방'의 샘플로 제한함으로써, 함수율에 대응하는 스펙트럼 구조를 크게 해치지 않으면서 수종 고유의 스펙트럼 차이를 흔드는 것을 목표로 했습니다. 이를 통해 모델이 수종 의존적인 특징에 과도하게 적합되는 것을 막고, 함수율에 대해 보다 수종을 관통하는 표현을 학습하기를 기대하고 있습니다.
SLERP에 의한 보간이 제약 집합 위에서 닫혀 있음을 보임
여기서 SLERP에 의해 얻어지는
SNV 후 스펙트르의 제약 집합은
이었습니다.
지금, 두 개의 SNV 후 스펙트르를
만족한다고 가정합니다. 이때,
입니다.
먼저, 단위 벡터 $\mathbf{u}$를 정의합니다. 그러면,
이 성립합니다.
$\mathbf{v}$라고 둡니다. 여기서,
로 정의합니다.
보여주고 싶은 것은,
가 다시
을 보이면 충분합니다.
먼저, 평균 0 제약을 확인합니다.
입니다. 따라서,
이 됩니다.
다음으로, 노름(Norm) 제약을 확인합니다. 계수를
이라고 두면,
입니다. 따라서,
이 됩니다. 여기서,
입니다.
여기서,
이라고 두면,
가 성립합니다. 따라서, 분자는
입니다. 그러므로,
이 됩니다.
따라서,
이 성립합니다.
이상으로,
이기 때문에,
이므로,
끝점을 초과하는 경우에는 참조 위치를 유효한 채널 범위 내로 제한합니다. 구현상으로는 왼쪽·오른쪽 참조 index를 각각 유효 범위로 clamp 함으로써, 범위 외에서는 가장 가까운 끝점 값을 사용하는 border padding으로서 취급하고 있습니다.
이 조작을 통해, 정수 채널 단위가 아니라 연속적인 채널 축 방향의 위치 어긋남(shift)을 모사할 수 있습니다. 한편, fractional shift는 선형 보간 (linear interpolation)을 포함하기 때문에, 그대로 두면 SNV 이후의 제약 조건인 평균 0 또는 일정 노름 (norm)을 엄밀하게 보존하지 않습니다. 따라서, shift 이후의 후보 스펙트럼을 재중심화 (re-centering)하고, 원래의 노름으로 재정규화 (re-normalization)합니다.
먼저, shift 이후의 평균을
$\mu_{shift}$\n
이라 하고, 재중심화된 스펙트럼을
$\tilde{x}_{shift}$\n
이라 합니다.
$\mu_{shift}$를 이용하여,
$\hat{x}{shift} = \tilde{x}{shift} / |\tilde{x}_{shift}|$
로 합니다. 이를 통해, 확장된 스펙트럼
$\hat{x}_{shift}$\n
은
$|\hat{x}_{shift}| = 1$
을 만족합니다.
이 설계에서는, 섭동 (perturbation)의 강도는 코사인 유사도 (cosine similarity)가 아니라, 샘플링된 shift 양
$\Delta$\n
에 의해 결정됩니다.
3.4 Tilt, Quadratic Baseline
여기서는, 스펙트럼 전체에 걸쳐 나타나는 완만한 베이스라인 변동을 모사하기 위해, Tilt와 Quadratic Baseline을 도입했습니다.
NIR 스펙트럼에서는 산란, 샘플 표면 상태, 측정 조건 등의 영향으로 인해, 스펙트럼 전체에 완만한 기울기나 곡률이 생길 수 있습니다. SNV는 스케일 차이나 오프셋 차이를 어느 정도 보정하지만, 모든 베이스라인 변동을 완전히 제거할 수 있다고 단정할 수는 없습니다. 따라서, 선형 및 이차 기저 (basis) 방향을 따라 미세한 섭동을 줌으로써, 모델이 특정 전역적인 베이스라인 형태에 과적합 (overfitting)되는 것을 억제합니다.
Tilt는 스펙트럼 전체에 걸쳐 나타나는 일차적인 기울기에 대한 로버스트성 (robustness)을 부여하기 위한 확장입니다. 반면, Quadratic Baseline은 선형 Tilt만으로는 표현하기 어려운, 보다 완만한 곡선 형태의 베이스라인 변동을 모사하기 위한 확장입니다. 부호를 무작위화함으로써, 위로 볼록하거나 아래로 볼록한 양방향의 변동을 모두 다룰 수 있도록 했습니다.
다만, 본 태스크에서는 SNV 처리 이후의 스펙트럼에 데이터 증강 (data augmentation)을 적용하고 있기 때문에, 베이스라인 변동의 상당 부분은 전처리 단계에서 이미 완화되었을 가능성이 있습니다. 따라서 이러한 확장들은 잔존하는 완만한 베이스라인 차이에 대한 **보조적인 정규화 (auxiliary regularization)**로서 위치하고 있습니다. 또한, 섭동 후에는 재중심화와 재정규화를 수행함으로써, SNV 이후 스펙트럼이 만족해야 하는 제약 집합에서 벗어나지 않도록 설계했습니다.
SNV 이후의 스펙트럼에 일차적인 기울기를 주는 Tilt는 의미가 희박한 느낌이 듭니다. 무의미하다고 단정할 수는 없지만, 효과는 상당히 제한적이지 않을까요.
실제로 HPO 결과에서는 tilt의 적용 확률이 0으로 나타나 있습니다.
Tilt, Quadratic Baseline
모델이 완만한 베이스라인 형태에 과적합되지 않도록, 선형 및 이차 기저 방향을 따라 미세한 섭동을 줍니다.
먼저, 채널 방향의 정규화 좌표를
$\theta$\n
이라 정의합니다. 여기서,
$\theta \in [0, 1]$
입니다. Tilt에서는 선형 기저
$b_{tilt}(\theta) = \theta$\n
를 사용합니다. 이는 스펙트럼 전체에 일차적인 기울기를 주는 방향입니다. 나아가, 이 기저 방향의 부호를 샘플마다 무작위로 반전시킴으로써, 저파수(low wavenumber) 측에서 고파수(high wavenumber) 측으로 증가하는 방향과 반대로 감소하는 방향을 모두 표현할 수 있게 합니다.
한편, Quadratic Baseline에서는 이차 기저
$b_{quad}(\theta) = \theta^2 - \int_0^1 heta^2 d\theta$\n
를 사용합니다. 평균을 빼줌으로써 이차 기저 자체가 평균 0이 되도록 합니다. 이 기저는 스펙트럼 전체에 완만한 곡률을 주는 방향입니다. 이 역시 기저 방향의 부호를 샘플마다 무작위로 반전시켜, 위로 볼록한 변화와 아래로 볼록한 변화를 모두 표현할 수 있도록 합니다.
이하에서는 Tilt 또는 Quadratic Baseline의 기저를 통칭하여
$b(\theta)$\n
이라 합니다. 이때,
$\int_0^1 b(\theta) d\theta = 0$
입니다. 따라서,
$|b(\theta)| \neq 1$\n
이며, 추가로
$\hat{b}(\theta) = b(\theta) / |b(\theta)|$
로서 단위 접선 방향 (unit tangent direction)을 정의합니다.
여기서 Tilt 및 Quadratic Baseline에서는 기저 방향의 부호를 명시적으로 무작위화합니다. 구체적으로는,
$s \in {-1, 1]$
을 만족하는
$s$\n
을 실제 섭동 방향으로 사용합니다. 여기서,
$s$\n
은 각 샘플에 대해 독립적으로 샘플링됩니다. 이를 통해 Tilt에서는 증가 방향·감소 방향 모두를, Quadratic Baseline에서는 위로 볼록한 방향·아래로 볼록한 방향 모두를 명시적으로 취할 수 있게 됩니다.
섭동의 강도는 입력
$\epsilon$\n
에 비례합니다. 구체적으로는,
$\epsilon \sim \mathcal{N}(0, \sigma^2)$\n
를 샘플링하고,
$\epsilon$\n
이라 하면, 회전 후 스펙트럼을
$\hat{x}$\n
으로 정의합니다. 이 식은 Tangent Gaussian Noise의 식 (1)과 동일하므로,
성립합니다. 따라서 Tilt(기울기)나 Quadratic Baseline(이차 기저선)에 의한 변형은, SNV 이후의 기하학적 제약(geometric constraint)을 유지하면서 입력 스펙트럼으로부터의 각도 변화로서 제어할 수 있습니다.
3.5 Tips
여기서는 본 구현에서의 데이터 증강 (Data Augmentation) 적용 시의 노하우를 보충합니다.
각 데이터 증강에서는 조작의 성질에 따라 섭동 강도(perturbation intensity)를 제어하고 있습니다. Tangent Gaussian Noise, Tilt, Quadratic Baseline에서는 목표 cos 유사도를 사용하며, Fractional Shift에서는 채널 방향의 변위량을 사용합니다.
Tangent Gaussian Noise, Tilt, Quadratic Baseline에서는 접선 방향으로의 사영(projection)과 고정 노름 구면(fixed norm sphere) 상의 회전이 엄격하게 이루어진다면, 이론상으로는 평균 0 제약과 노름 제약이 유지됩니다. 다만 구현상으로는 부동 소수점 오차나 여러 데이터 증강을 연속적으로 적용함으로써, 제약에서
약간 벗어날 가능성이 있습니다.
따라서 본 구현에서는 각 데이터 증강 후에 재중심화(re-centering)와 원래 노름으로의 재정규화(re-normalization)를 수행하여, 최종 출력을 다시 SNV 이후의 제약 집합 $\mathcal{M}_{\mathrm{SNV}}$ 위로 되돌리도록 하고 있습니다.
데이터 증강은 배치(batch) 단위로 적용하고 있습니다. 따라서 Mixup의 쌍 선택은 사전에 고정된 전체 데이터 집합으로부터가 아니라, 각 step에서 DataLoader에 의해 구성된 미니 배치(mini-batch) 내에서 이루어집니다. 그러므로 Mixup의 조합에는 DataLoader의 셔플(shuffle)에 의한 랜덤성도 반영됩니다.
또한, Mixup를
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기