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

train_raw: 모델의 첫 입력인 1차원 파형 데이터.y_train_cat: 학습 시 정답 레이블로 사용되나, 모델 내부에서는 label_input이라는 이름으로 전달되어 SCAdaCos의 타겟 또는 참조 데이터로 사용됩니다.MixupLayer: train_raw를 받아 x_mix(섞인 파형)와 y_mix(섞인 레이블)를 생성합니다.StatExLayer: Magnitude Branch 내부에서 실행되어, 소리의 통계적 특성을 바꾼 x_ex를 만듭니다.x_mix로부터 x_fft를 계산하고, 최종적으로 emb_fft (128차원)를 출력합니다.x_mel (스펙트로그램) x_m (CNN 블록 통과) emb_mel (128차원)를 출력합니다.AugLayer - FeatEx)]emb_fft와 emb_mel을 입력받아, AugLayer를 통해 서로의 특징을 교환한 emb_fft_ssl, emb_mel_ssl 및 교환된 레이블 y_ssl을 생성합니다.SCAdaCos)]두 개의 독립적인 경로가 병렬로 작동합니다.
Supervised Path (정규 경로):
x_final (emb_fft + emb_mel = 256차원)를 SCAdaCos에 입력.y_mix (섞인 원래 레이블).SSL Path (자기지도학습 경로):
x_ssl_final (emb_fft_ssl + emb_mel_ssl = 256차원)를 SCAdaCos에 입력.y_ssl (뒤섞인 가짜 레이블).SCAdaCos 출력은 l2_normalize matmul acos Adaptive s update softmax reduce_sum의 과정을 거치며, 최종적으로 클래스 개수()만큼의 확률값을 출력합니다.