[논문 연구] Self-Supervised Learning for ASD (260831)

WonTerry·2026년 8월 31일

Deep Learning

목록 보기
30/39

https://arxiv.org/abs/2312.09578
https://github.com/wilkinghoff/ssl4asd

1. 데이터 흐름도 (Technical Data Flow Diagram)

2. 흐름도 상세 매핑 설명

[Stage 1: Input]

  • train_raw: 모델의 첫 입력인 1차원 파형 데이터.
  • y_train_cat: 학습 시 정답 레이블로 사용되나, 모델 내부에서는 label_input이라는 이름으로 전달되어 SCAdaCos의 타겟 또는 참조 데이터로 사용됩니다.

[Stage 2: Augmentation]

  • MixupLayer: train_raw를 받아 x_mix(섞인 파형)와 y_mix(섞인 레이블)를 생성합니다.
  • StatExLayer: Magnitude Branch 내부에서 실행되어, 소리의 통계적 특성을 바꾼 x_ex를 만듭니다.

[Stage 3: Feature Extraction]

  • FFT Branch: x_mix로부터 x_fft를 계산하고, 최종적으로 emb_fft (128차원)를 출력합니다.
  • Magnitude Branch: x_mel (스펙트로그램) \rightarrow x_m (CNN 블록 통과) \rightarrow emb_mel (128차원)를 출력합니다.

[Stage 4: Feature Interaction (AugLayer - FeatEx)]

  • 이 단계가 논문의 핵심인 FeatEx입니다.
  • emb_fftemb_mel을 입력받아, AugLayer를 통해 서로의 특징을 교환한 emb_fft_ssl, emb_mel_ssl 및 교환된 레이블 y_ssl을 생성합니다.

[Stage 5: Final Scoring (SCAdaCos)]

두 개의 독립적인 경로가 병렬로 작동합니다.

  1. Supervised Path (정규 경로):

    • x_final (emb_fft + emb_mel = 256차원)를 SCAdaCos에 입력.
    • 목표(Target)는 y_mix (섞인 원래 레이블).
    • 모델은 이 경로를 통해 정상 데이터의 기본 분포를 학습합니다.
  2. SSL Path (자기지도학습 경로):

    • x_ssl_final (emb_fft_ssl + emb_mel_ssl = 256차원)를 SCAdaCos에 입력.
    • 목표(Target)는 y_ssl (뒤섞인 가짜 레이블).
    • 모델은 이 경로를 통해 데이터 간의 상관관계(Feature Correlation)를 학습합니다.

[SCAdaCos 내부 로직]

  • 모든 SCAdaCos 출력은 l2_normalize \rightarrow matmul \rightarrow acos \rightarrow Adaptive s update \rightarrow softmax \rightarrow reduce_sum의 과정을 거치며, 최종적으로 클래스 개수(NN)만큼의 확률값을 출력합니다.
profile
Hello, I'm Terry! 👋 Enjoy every moment of your life! 🌱 My current interests are Signal processing, Machine learning, Python, Database, LLM & RAG, MCP & ADK, Multi-Agents, Physical AI, ROS2...

0개의 댓글