논문 리뷰

Contrastive learning of heart and lung sounds for label-efficient diagnosis

해파리냉채무침 2024. 8. 11. 18:20

https://www.sciencedirect.com/science/article/pii/S2666389921002671

Introduction

  • 데이터 라벨링은 머신러닝에서 비용이 많이 들고 시간이 소요되는 과정임.
  • 농업, 의료, 언어 번역과 같은 분야에서는 훈련된 전문가가 필요하여 이 문제가 더욱 심각해짐.
  • Supervised learning model은 라벨이 있는 데이터에 의존하여 일반화하며, 대량의 라벨링된 데이터를 얻는 데 한계가 있음.
  • Contrastive learning은 제한된 라벨 데이터 문제를 해결할 수 있는 잠재적 솔루션으로, 라벨이 없는 데이터를 사용해 데이터의 일반 표현을 학습함.
  • 대조 학습은 이미지, 비디오, 오디오 등 다양한 분야에서 효과적인 결과를 보여줌.
  • 긍정 쌍을 생성하는 방법 중 하나는 데이터 증강을 통해 이루어짐. 하지만 컴퓨터 비전용 증강 방법이 심전도와 같은 신호 데이터에서는 잘 작동하지 않을 수 있음.
  • 이 연구에서는 추가적인 정보를 활용하여 대조 쌍을 선택하는 Contrastive learning 프레임워크를 제안함.
  • 심장 및 폐 소리에 대한 연구를 수행하며, 라벨이 없는 심장 및 폐 소리에 오디오 및 spectogram증강을 적용하고, 질병 분류를 위한 ,downstream 작업을 수행함.
  • 임상 정보(연령대, 성별, 녹음 위치)를 활용하여 긍정 및 부정 쌍의 예제를 생성하고, 녹음과 연관된 임상 정보로부터 통찰을 얻음.
  • 연령대(성인 대 아동), 성별, 성능을 활용할 경우 AUROC가 각각 0.854와 0.863으로 증가하며, 이는 라벨링된 훈련 데이터의 10% 및 100%를 사용할 때의 기준 AUC(0.512 및 0.516)보다 크게 향상된 결과임.
  • 이러한 결과는 임상 정보를 활용한 대조 학습의 잠재력을 보여주며, 의료를 포함한 다양한 분야에서의 응용 가능성을 제시함.

Results

Framework for evaluating contrastive schemes

  • contrastive learning 을 통해 encoder backbone (pre-trained model) 을 사전 훈련하여 초기 입력 데이터의 특징 표현을 제공함.
  • 이 결과로 얻어진 특징 표현을 추론에 사용하거나, 추가적인 두 층의 SSL evaluator 를 추가하여 사전 훈련된 모델을 라벨이 있는 데이터로 fine-tune할 수 있음.
  • contrastive learning 성능을 측정하기 위해 두 가지 과제를 고려함: 사전 훈련된 모델이 데이터를 얼마나 잘 표현하는지, fine-tuning전에 사전 훈련된 가중치가 초기화에 얼마나 적합한지.
  • SSL  를 선형적 기준선 및 supervised learning 과 비교하여 표현 및 초기화 성능을 평가함.
  • 연구는 폐 소리를 위한 호흡 소리 데이터베이스심장 소리를 위한 PhysioNet Heart Challenge 데이터베이스의 두 데이터 세트에서 수행됨.
  • 각 데이터베이스는 질병과 인구 통계 정보를 라벨링하고, 각각의 데이터 세트에 대해 10% 및 100%의 라벨링된 훈련 데이터로 모델을 평가함.

Augmentation-based contrastive learning

  • contrastive learning 방법론이 supervised learning  에 비해 제한된 라벨 데이터(10% 또는 100%)를 더 잘 활용할 수 있는지를 세 가지 실험 설정을 통해 조사함.
  • contrastive view  생성을 위해 spectrogram 정보(시간 및 주파수 차원)를 모델로부터 숨기기 위해 증강 기법을 사용함.
  • 고려하는 증강 기법에는 분할, 시간 마스킹, 주파수 마스킹, 스펙트로그램 마스킹, 그리고 스펙트로그램 마스킹이 포함됨.
  • 분할 기법은 샘플의 연속 구간을 원래의 절반 시간 동안 잘라내는 방식임.
  • 시간 및 주파수 마스킹은 샘플의 비영점(non-zero) 부분에서 각각의 차원에 따라 값의 일부를 0으로 만듦.
  • spectrogram 마스킹은 시간 및 주파수 마스킹을 모두 적용하는 방식이며, spectrogram 마스킹 후 분할도 고려됨.

Evaluating representations via linear evaluation

  • 선형 평가를 통해 확인한 결과, 10% 및 100%의 라벨링된 훈련 데이터를 사용할 때 기준 AUC는 각각 0.664(95% CI: 0.630, 0.694)과 0.803(95% CI: 0.755, 0.841)임.
  • 라벨이 없는 데이터에서 학습된 표현은 사용된 증강 기법에 따라 달라짐.
  • 10% 및 100% 데이터 수준 모두에서 시간 차원에서의 마스킹이 성능을 가장 크게 향상시키며(p < 0.001), AUC는 각각 0.808(95% CI: 0.772, 0.838)과 0.874(95% CI: 0.841, 0.905)에 도달함.
  • 통계적 유의성은 두 번째로 좋은 증강 방법(분할)을 기준으로 쌍체 t-검정을 통해 측정함.
  • 분할 s pectogram 마스킹과 분할도 제한된 데이터 환경에서 성능을 향상시키는 데 효과적이며, 10%에서 AUC는 각각 0.744(95% CI: 0.711, 0.778)과 0.752(95% CI: 0.715, 0.791)임.
  • 반면, spectogram 마스킹과 주파수 마스킹만으로는 유의미한 개선이 나타나지 않음.

Evaluating initializations via end-to-end fine-tuning

  • 초기화 성능 기준선으로 10%에서 0.773 (95% CI: 0.737, 0.806) 및 100%에서 0.930 (95% CI: 0.904, 0.954)을 기록함.
  • 시간 축을 따라 마스킹하는 방법이 10% 수준에서 성능을 크게 향상시킴(p < 0.001), 전체 사전 훈련 분할에서 감독 학습 성능에 가까워짐(0.857 [95% CI: 0.828, 0.885] 대 0.889 [95% CI: 0.865, 0.913]).
  • 나머지 증강 기법들은 감독 학습 성능에 미치지 못함.
  • 100% 훈련 데이터에서는 모든 기법이 비슷한 성능을 보이며, 성능 차이가 없음을 관찰함(예: 주파수 마스킹의 경우 0.925 [95% CI: 0.900, 0.950]).

Contrastive learning for lung sounds

Evaluating representations via linear evaluation

  • Contrastive learning 프레임워크에서 학습된 표현을 평가하기 위해 모든 Contrastive  기법이 10% 및 100% 수준에서 기준선 성능(각각 0.512 [95% CI: 0.484, 0.536] 및 0.516 [95% CI: 0.463, 0.559])과 비슷하거나 개선된 성능을 제공함.
  • 이 중 spectrogram 마스킹이 기준선에 비해 가장 뚜렷한 성능 향상을 보이며, AUC는 각각 0.652 (95% CI: 0.597, 0.704) 및 0.659 (95% CI: 0.600, 0.716)임.
  • 주파수 마스킹과 시간 마스킹은 비슷한 성능을 나타냄.
  • 10% 및 100% 데이터 수준 모두에서, 시간 차원에서의 마스킹만이  spectrogram  마스킹과 분할에 비해 유의미한 향상을 제공함(p < 0.001).
  • AUC는 각각 0.643 (95% CI: 0.598, 0.695) 및 0.654 (95% CI: 0.595, 0.715)이며,  spectrogram  마스킹과 분할의 AUC는 각각 0.533 (95% CI: 0.498, 0.568) 및 0.609 (95% CI: 0.549, 0.668)임.
  • 통계적 유의성은 쌍체 t-검정을 통해 측정됨.

Evaluating initializations via end-to-end fine-tuning

  • 가중치 초기화 측면에서, 증강 전략 중 spectrogram 마스킹이 가장 높은 성능을 제공하며, 10%와 100%에서 각각 AUC가 0.633 (95% CI: 0.582, 0.697) 및 0.691 (95% CI: 0.628, 0.758)임.
  • 이는 supervised training 성능과 비슷하며,  supervised training 의 10% 및 100% AUC는 각각 0.628 (95% CI: 0.585, 0.730) 및 0.690 (95% CI: 0.636, 0.754)임.

 

Incorporating sample metadata for lung sounds

  • 메타데이터 기반의 대조 뷰 사용 효과를 추가로 탐색함. 이 설정에서는 증강 기법을 사용하지 않아 메타데이터 선택의 영향을 분리함.
  • 메타데이터에는 환자의 나이(어린이 또는 성인), 성별, 녹음 위치(기관지, 앞쪽 왼쪽, 앞쪽 오른쪽, 뒤쪽 왼쪽, 뒤쪽 오른쪽, 측면 왼쪽, 측면 오른쪽)가 포함됨.
  • 나이를 기준으로 긍정적 및 부정적 쌍 선택을 고려하며, 위치에 대해 동일 위치와 다른 위치의 긍정적 선택을 통해 공간적 연관성을 평가함.
  • 나이 그룹 기준으로 부정적 쌍을 형성하는 것이 성능을 크게 향상시키며(10% AUC 0.788, 100% AUC 0.773), 성별과 나이를 함께 고려할 경우 추가 성능 향상을 보임(10% AUC 0.854, 100% AUC 0.863).
  • 가중치 초기화 성능에서도 유사한 경향을 보이며, 나이 그룹을 기준으로 한 부정적 선택이 다른 인구 통계적 방법에 비해 개선 효과를 나타냄.
  • 긍정적 선택은 일반적으로 부정적 선택보다 효과가 낮으며, 나이를 기준으로 한 긍정적 선택이 여러 샘플을 잘못 매칭할 수 있음.
  • SSL(자기 지도 학습)에서 선형 평가가 미세 조정보다 우수한 성능을 보이며, 이는 fine-tuning이 작은 데이터 세트에서 과적합되었을 가능성이 있음.
  • 나이가 호흡기 질환과 강한 상관관계를 가지므로, 나이를 기준으로 한 선택이 더 어려운 쌍을 제공함.
  • 마지막으로, 나이와 성별 조합이 단독으로 사용할 때보다 더 나은 성능을 나타냄.

Discussion

  •  메타데이터를 활용하여 긍정적 및 부정적 쌍을 선택하는 contrastive learning 프레임워크를 소개함.
  • 심장 소음에는 시간 마스킹, 폐 소음에는 spectrogram 마스킹이 최상의 성능을 보이며, 이는 데이터 유형에 따라 증강 방법이 다르게 작용함을 보여줌.
  • 폐 소음에서 나이에 따른 부정적 쌍 선택이 진단 작업에 가장 큰 개선을 가져오며, 성별도 뒤따름. 이는 폐 질환이 나이와 성별과 관련이 있다는 임상 경험과 일치함.
  • 라벨이 없는 데이터의 제한은  supervised training  의 많은 응용에서 bottleneck 현상이 되며, Self-supervised learning 은 라벨이 없는 데이터를 활용해 의미 있는 표현을 학습할 수 있음.
  •  contrastive learning  은 라벨이 없는 의료 데이터를 활용하여 하위 작업의 성능을 향상시키는 데 사용됨.
  • 우리는 다양한 환자 간의 공통 특성을 사용하여 환자 그룹의 표현을 찾는 데 중점을 둠.
  • 우리의 프레임워크는 불균형 소스 데이터셋에도 불구하고 쌍 선택을 위한 정보를 활용할 수 있음을 보여줌.
  • 모델의 성능은 다른 임상 사이트에서 수집된 심장 및 폐 소음으로 외부 검증 시 감소하며, 이는 훈련 데이터의 제한된 크기 때문일 수 있음.
  • 메타데이터와 증강 기반 대조 방법론의 혼합을 세심하게 조정하는 것이 미래 탐색에 유용할 수 있음.
  • omics 및 의료 이미지를 포함한 다양한 정보가 포함된 데이터베이스의 발전과 함께 대조 학습의 잠재력이 증가할 것으로 기대됨.
  • 그러나 다중 유형 데이터셋의 부족이 이 분야의 추가 연구를 제한하고 있음.

Experimental Procedures

Data

  •  폐 소음과 심장 소음에 대해 두 개의 데이터셋을 사용하여 훈련 및 내부 테스트를 진행함.
  • 폐 소음을 위해 호흡 소리 데이터베이스를, 심장 소음을 위해 PhysioNet heart challenge를 사용함.
  • 외부 검증을 위해 다른 임상 사이트에서 수집된 폐 소음 데이터셋을 사용함.
  • PhysioNet 심장 챌린지에서는 정상 소음과 비정상 소음을 분류하는 작업을 고려하며, 데이터셋은 3,240개의 샘플로 구성됨(정상 2,575개, 비정상 665개).
  • 400개의 샘플이 테스트 및 검증을 위해 사용되며, 나머지 2,440개는 pre-train 세트로 사용됨.
  • 호흡 소리 데이터베이스에서는 다중 클래스 진단 작업을 비정상과 정상 신호의 이진 분류 문제로 수정함.
  • 원래 클래스는 건강, COPD, URTI, 기관지 확장증, 기관지염, 폐렴, 하부 호흡기 감염 및 천식이었으나, 데이터의 독립성 제한으로 이진 분류로 전환함.
  • 사전 훈련된 모델이 원래 클래스 간의 특징을 추출할 수 있는지 테스트하며, PCA 및 t-SNE를 사용하여 시각화함.
  • 호흡 소리 데이터베이스에는 불완전한 인구 통계 정보와 메타데이터가 포함되어 있으며, 결측값은 최빈값 처리 으로 처리함.
  • 외부 검증 데이터셋은 112개의 녹음으로 구성되며, 원래 클래스는 정상, 천식, 폐렴, COPD, 기관지염, 심부전, 폐섬유증 및 흉수였으나, 이진 분류로 수정함.

Tasks

  • 표현 및 초기화의 downstream task을 사용하여 사전 훈련 방안을 테스트함.
  • 표현 비교를 위해 입력을 encoder 모델에 통과시켜 lower-dimensional latent (저차원 잠재)공간을 생성하고, 변환된 데이터를 사용하여 선형 평가기( linear evaluator )를 훈련하는 작업을 고려함.
  • 이를 통해 평면화된 spectrogram 을 직접 입력으로 사용하는 선형 모델과 결과를 비교하여 encoder backbone 과 pre-training 방법론의 효과를 평가함.
  • 초기화 비교를 위해 사전 훈련된 가중치를 사용하여 2층 SSL 평가기를 추가한 분류 모델을 초기화하고, 라벨이 있는 데이터로 모든 모델 매개변수를 미세 조정하는 작업을 고려함.
  • 임의로 초기화된 가중치를 사용하는 동등한 모델과 비교하여, 사전 훈련 데이터가 감독 학습을 시작하는 데 얼마나 효과적인지를 보여줌.

Contrastive learning

  • contrastive learning 을 통해 라벨이 없는 데이터 또는 약하게 라벨이 지정된 데이터를 사용하여 robust vector 표현을 구축함.
  • 학습된 벡터들이 유사한 입력에는 가까이, 유사하지 않 입력에는 멀리 위치하도록 하는 것이 목표임.
  • 이러한 벡터를 얻기 위해 SimCLRv2에서 사용된 self-supervised 방법론을 적용하고 확장함.
  • 입력으로는 랜덤 증강을 적용하거나 동일 샘플의 녹음을 선택하여 생성된 뷰 xi와 xj를 사용함.
  • 쌍은 Resnet-18 backbone을 사용하여 벡터 표현 hi와 hj로 인코딩됨.
  • 이 표현은 차원 축소를 위해 linear projection head 를 통과하여 zi와 zj를 생성하며, 이 쌍의 유사성을 극대화하는 것이 목표임.
  • 유사성을 극대화함으로써 라벨이 없는 데이터의 복잡성을 캡슐화하고, 인코더의 사전 훈련을 추가 미세 조정의 초기화 지점으로 사용함.
  • 단일 긍정적 쌍(zi와 zj)의 일치를 측정하기 위해 정규화된 온도 조정 교차 엔트로피(NT-Xent) 손실을 사용함

Models

  •  ResNet-18 backbone을 사용하여 길이 N의 잠재 공간에서 인코딩을 생성함.
  • 사전 훈련 시, 이러한 잠재 인코딩은 256 차원으로 축소하기 위해 projection head를 통과함.
  • 하위 평가에서는 이 projection head 를 제거하고, 인코더 가중치를 고정한 단일 선형 레이어와 SSL online evaluator 로 대체함.
  • 선형 평가에서 선형 레이어는 길이 N의 특징 벡터를 입력받아 시그모이드 활성화를 통과한 단일 출력을 생성함.
  • SSL 평가기에서는 길이 N의 특징 벡터가 선형 레이어를 통과한 후, 배치 정규화를 적용하고 ReLU 활성화를 거친 뒤, 다시 선형 레이어를 통해 시그모이드 활성화를 통과한 단일 출력을 제공함.

Learning framework modifications for incorporation of metadata

  • SSL 방법의 메타데이터 선택 기준은 사용 가능한 메타데이터(나이, 성별, 위치)만 사용하고, 데이터 포인트와 관련된 주석(진단)은 사용하지 않음.
  • 우리는 특정 조건에 따라 긍정적 쌍의 두 개 독립 샘플을 선택하여 대조적 뷰를 생성함.
  • 기본 SimCLR 설정은 부정적 쌍 선택을 지원하지 않음. 
  • 배치 생성 방식을 수정하여 모든 샘플이 부정적 선택 특성을 공유하도록 함: 긍정적 같은 위치/부정적 같은 위치, 부정적 유사 나이, 부정적 유사 성별, 부정적 유사 나이 + 성별.
  • 긍정적 유사 나이에 대해서는 supervised contrastive learning 방법론을 적용하여 나이 범위를 week label로 사용함.
  • 심장 및 폐 소음 데이터셋은 다른 유형의 메타데이터를 제공하지 않음. 나이는 긍정적 및 부정적 쌍 선택에 매우 일반화 가능한 메타데이터임.
  • 환자 및 오디오 메타데이터에 의한 부정적 쌍 선택이 더 강력한 사전 훈련 작업을 제공한다고 가정함.
  • 부정적 쌍이 주어진 예제와 더 유사할 경우, 분모의 합이 증가하여 샘플 오류가 증가하며, 모델이 긍정적 쌍과 구별하기 위해 더 노력하게 되어 하위 성능이 향상됨.

Supervised contrastive learning

  • Supervised contrastive learning 은 레이블을 활용하여 더 나은 대조 전략을 제공함.
  • 본 연구에서는 실제 레이블 대신 메타데이터에서 얻은 soft label을 사용함.
  • 이 설정에서는 동일 클래스의 모델을 긍정적 쌍으로, 서로 다른 클래스의 모델을 부정적 쌍으로 간주함.
  • 이 방법은 추가적인 긍정적 쌍을 도입함.
  • 손실 함수를 NT-Xent에서 수정하여 이러한 추가 쌍을 포함하도록 함.
  • 수정된 설정에서는 각 긍정적 쌍 P(i)의 유사성과 모든 쌍(긍정적 및 부정적)의 유사성 합계 간의 비율을 취하고, 이 점수를 평균한 후 음의 로그를 취함.

Model training and hyperparameters

  • 모든 모델은 배치 크기 16과 학습률 1E-5로 훈련함.
  • 사전 훈련 시 L2 패널티 계수는 1E-6을 사용하고, 하위 훈련 시 L2 패널티는 1E-2를 사용함.
  • 별도로 언급하지 않는 한, linearly evaluated 모델(representations)은 5,000 에폭 동안 훈련하고, fine-tuned models (initializations )은 25 에폭 동안 훈련함.
  • 선형 기준 모델은 심장 데이터에 대해 500 에폭, 폐 데이터에 대해 1,000 에폭 동안 훈련하며, 이 시점에서 수렴에 도달함.
  • 10% 데이터 레벨에서는 20개의 모델을 병렬로 훈련하고, 100% 데이터 레벨에서는 5개의 모델을 병렬로 훈련함.
  • 테스트 성능은 AUROC를 사용하여 평가하고, 각 모델에 대해 1,000개의 복제본을 사용한 bootstrap 신뢰 구간(CI)을 적용함.

Data processing

  • 폐 및 심장 데이터셋은 길이가 매우 다양한 샘플을 포함하고 있음.
  • 표준화를 위해 샘플은 녹음 길이의 75번째 백분위수에서 cropping/padding 됨.
  • cropping/padding 은 녹음의 중앙에 맞춰 이루어지며, spectogram의 중앙이 녹음의 중앙이 됨.
  • 데이터 마스킹 시, 시간 차원에서 5개 밴드와 주파수 차원에서 2개 밴드가 있는 데이터 영역에만 변환을 적용함.
  • 평균 50% 데이터 마스킹을 목표로 하며, 관심 있는 특징이 손실되지 않도록 샘플을 수동으로 확인함.