SleepLM, OSF 논문 리뷰

Sarah Lee·2026년 3월 19일

전에 포스팅한 SensorLM의 저자 UCLA 연구팀에서 수면 관련된 Foundation Model 2개를 연달아 발표했다. UCLA 연구팀은 최근 SleepLM: Natural-Language Intelligence for Human Sleep 을 발표하며 수면 데이터를 언어로 표현하여 해석할 수 있다는 것을 보여주었고, 더불어 OSF: On Pre-training and Scaling of Sleep Foundation Models 논문을 통해 Sleep Bench라는 오픈 소스 벤치마크를 구축했다. 또한, Foundation Model을 pretraining하는 여러 기법들과, scaling 실험들을 통해 다양한 포멧의 수면 데이터들을 효과적으로 학습할 수 있는 Foundation Model Framework를 제시했다.

SleepLM: Natural-Language Intelligence for Human Sleep (2026)

1. Introduction

  • 기존 수면 분석 모델은 단순히 수면 단계(N1, N2, REM)를 분류하는 'closed label space'였다.
  • SleepLM은 다채널 수면 다원 검사(PSG) 신호를 자연어와 정렬(Alignment)하여, AI가 수면 생리 지표를 언어로 해석하고 사용자와 대화할 수 있는 모델을 목표로 한다.
  • "어젯밤 내 수면 중에 무호흡 증상이 언제 나타났어?"라는 질문에 AI가 직접 답할 수 있게 된 것이다.
  • 최초로 PSG를 활용하여 sleep-text dataset을 구축하였다.

2. Methods

2.1. Multilevel Sleep Captioning Pipeline

수면 신호(PSG)는 텍스트 데이터가 거의 없다. 이를 해결하기 위해 연구진은 3단계 캡션 생성 파이프라인을 구축했다.

  • Channel Captions: 뇌파(EEG)의 주파수 대역별 전력 등 각 채널의 통계적 특징 요약.
  • Local Captions: 무호흡(Apnea), 각성(Arousal) 등 특정 이벤트의 시작과 종료 시점을 자연어로 기술.
  • Global Captions: 전체적인 수면 단계와 자율신경계 상태 등 거시적 맥락 요약.

2.2. ReCoCa Architecture

단순히 텍스트만 생성하는 게 아니라, 생리적 신호의 본질을 놓치지 않기 위해 세 가지 손실 함수를 결합했다.

  • Contrastive Alignment: 신호와 텍스트 임베딩을 가깝게 배치.
  • Caption Generation: 신호를 보고 설명을 생성.
  • Signal Reconstruction: 텍스트가 담지 못하는 미세한 파형 정보를 보존하기 위해 원래 신호를 복구.

2.3. Caption Generation

  1. 채널 캡션 (Channel Captions)
  • 특징 추출: EEG(뇌파), ECG(심전도), 호흡 신호 등에서 표준화된 통계치를 추출합니다.
  • 세부 지표: 예를 들어 뇌파의 경우 델타, 세타, 알파, 베타파의 주파수 대역별 세기(Band Power)를 계산하고, 심박수에서는 최솟값, 최댓값, 평균값을 산출합니다.
  • 템플릿 적용: "중앙 EEG 활동: 델타파 상대 강도가 68.21%입니다"와 같은 자연어 템플릿에 수치 데이터를 넣어 모델이 신호의 물리적 특성을 학습하게 합니다.
  1. 로컬 캡션 (Local Captions)
  • 30초 단위의 한 에포크(Epoch) 내에서 일어나는 미세한 변화와 이벤트의 타이밍에 집중합니다.
  • 이벤트 감지: 수면 중 무호흡(Apnea), 각성(Arousal), 산소 포화도 저하(Oxygen Desaturation) 등의 패턴을 감지 알고리즘으로 찾아냅니다.
  • 타임스탬프 생성: 단순히 "무호흡이 있다"고 말하는 것이 아니라, "무호흡 이벤트가 10.0초부터 30.0초 사이에서 확인되었습니다"와 같이 정확한 시작과 종료 시점을 텍스트로 기록합니다.
  1. 글로벌 캡션 (Global Captions)
  • high-level 상태 요약: 현재 수면 단계(Wake, N1, N2, N3, REM)를 명시하고, 전반적인 자율신경계의 상태를 설명합니다.
  • 추론 기반 지표: 학습 시 의도적으로 일부 신호를 가리고(Masking), 남은 신호들을 통해 유추할 수 있는 평균 심박수나 산소 포화도 기저치 등을 캡션에 포함시켜 모델이 생체 신호 간의 상관관계를 깊이 이해하도록 유도합니다.

3.Experiments & Results

  • Sleep Event Localization: GT와 generated caption의 start - end timestamp를 가지고 (IoU)로 겹친 부분으로 평가.
  • Zero-shot 성능: 한 번도 학습하지 않은 새로운 수면 장애(예: Mixed Apnea, Obstructive Apnea)도 생리적 유사성을 바탕으로 찾아냄. 이는 SleepLM이 text-physiology latent space를 학습했다는 것을 보여준다.

  • Caption Generation: high-level stage와 localized event를 잘 설명함.

OSF: On Pre-training and Scaling of Sleep Foundation Models (2026)

1. Introduction

  • 수면 파운데이션 모델 연구는 많지만, 어떻게 학습시켜야 가장 똑똑해지는지(Scaling Law)에 대한 연구는 부족했다.
  • 특히 실제 환경에서는 뇌파 센서가 떨어지거나 신호가 누락되는 경우가 많은데, OSF(Open Sleep Foundation Model)는 이러한 channel missing 이 있는 데이터에서도 강력한 성능을 내는 데 집중했다.

2. Core Contributions

2.1. SleepBench 구축

  • 9개의 공공 데이터셋을 통합하여 16.6만 시간, 2.1만 명의 수면 데이터를 포함한 최대 규모의 오픈 소스 벤치마크를 만들었다.

2.2. Channel-Invariant Learning

  • 기존 모델들은 뇌파(EEG) 센서가 하나만 빠져도 성능이 급락한다.
  • OSF는 학습 과정에서 의도적으로 특정 채널을 가리는 'Channel Masking' 기법을 사용하여, 일부 센서 데이터가 없어도 남은 데이터(심박수, 호흡 등)를 통해 수면 상태를 추론하는 능력을 극대화했다.
  • 실제로 missing-channel 상황에서 SleepFM과 비교했을 때 더 높은 성능을 달성했다.

2.3. Pre-training

  • Contrastive Learning: SimCLR
  • Reconstruction-based Method: MAE and VQ-MAE
  • Autoregressive Modeling: Autoregression
  • Self-Distillation: DINO
  • Transformer (85M) 구조 차용.
  • OSF: DINO + Channel Masking + Time Masking
  • 결과: Linear-Probing과 Full Fine-tuning 모두 진행.

2.4. Scaling Law

  • 연구 결과, 데이터 양과 모델 파라미터를 키울수록 성능이 일정하게 향상되는 스케일링 법칙을 확인했다.
  • 특히 단일 데이터셋보다 여러 병원의 데이터를 섞어 학습할 때 일반화 능력이 비약적으로 상승했다.

결론

이전 연구들이 "이 epoch은 깊은 수면 단계입니다"라고 정답을 맞히는 데 급급했다면, SleepLM과 OSF는 "당신의 뇌파와 심박수를 보니 새벽 3시경에 호흡 불안정으로 잠시 깨셨네요. 이는 초기 무호흡 증상일 수 있습니다"라고 설명해 주는 수준에 도달했다.

이제 AI는 비언어적인 생체 신호를 언어의 맥락으로 완벽히 번역해내고 있으며, 이는 곧 병원에 가지 않아도 웨어러블 기기만으로 정밀 진단이 가능한 시대를 앞당기고 있다.

웨어러블 및 폰으로 수집할 수 있는 다양한 센서 데이터를 가지고 위와 같은 텍스트를 생성할 수 있는 파운데이션 모델을 만들어 보고 싶다!

References

SleepLM: https://arxiv.org/abs/2602.23605
OSF: https://arxiv.org/abs/2603.00190

profile
AI 세상에서 개발자로 살아남기

0개의 댓글