input : raw waveform
output : 각 악기 소스 별 waveform 생성 (drum/bass/others/vocal)
U-net 구조 : convolution encoder, wide transposed convolution 기반의 decoder
encoder와 decoder 사이에 skip connection → original signal에 직접적인 접근이 가능하게 함, input 상에서 output으로 직접 transfer함
U-net과의 차이점 : 선형 보간이 아닌 convolution of stride of 1 사용 (적은 계산량)
주요 특징
shift trick1 제안MusDB로 학습 (drum/base/others/vocal로 이루어진 150개 곡)

성능 평가는SDR (Signal to Distortion Ratio, 다른 소스나 아티팩트에 의한 오염된 비율)
피치/템포 증강 : 성능 향상 (사유: 오디오 저하시키지만 오히려 과적합 방지가 됨)
인코더 : CL=2048. 양방향 LSTM. LSTM 시간 위치당 2개의 CL채널 output(=4096)을 가짐. 따라서 CL로의 축소를 위해 linear layer 사용.
디코더 : GLU: 커널 크기 3 → 인접 timestep의 context 제공 → transpose된 컨볼루션의 출력이 시간을 일정하게 하고, stride가 4인 경우에 발생할 수 있는 잠재적인 아티팩트를 줄일 수 있음
| encoder | decoder | |
|---|---|---|
| number of layer | 6 | 6 |
| each layer kernel size | 8 | 8 |
| each layer stride | 4 | 4 |
| 특징 | 1x1 convolution kernel size 1, ReLU → 1x1 convolution은 채널을 2배로 늘리고 GLU는 반으로 줄여 일정하게 유지하게 함 | skip connection, 이전 레이어와 합산, 1x1 convolution with GLU → transposed convolution(채널 수 절반으로 줄임) → ReLU |
| encoder 들어오기 전 2배로 upsampling | decoder 나올 때 2배로 downsampling |
단점 : 모델 크기가 너무 큼 → 해결법은 초기 채널 수 줄이기 or DiffQ 양자화 기술을 사용(SDR 손실 없이 줄일 수 있음)
결론 : 베이스, 드럼은 demucs가 우세하나 나머지는 스펙트로그램 기반이 우세
기존 demucs는 vocal 분리 때 crunchy static noise에 영향을 받아 좋지 않았음 ⇒ demucs 아키텍쳐 확장하여
end-to-end hybrid 소스 분리방법 : multi domain 분석 및 예측
Hybrid Demucs는 기존의 U-net 아키텍쳐를 확장하여 두 병렬 branch : time (temporal) & frequency (spectral) domain가 있으며, 각 branch에 skip connection이 있는 이중 U-net 구조
⇒ temporal and spectral representations는 공유된 encoder/decoder layer을 거쳐 time step을 2로 나눔(커널 크기 4) / 이 output은 temporal and spectral decoder 각각의 input으로 사용 / spectral branch의 output은 ISTFT으로 역변환되고 temporal branch output과 합쳐져 최종 model 예측을 제공

ZEncoder3&decoder3 128 freq.인듯함.. 그러면 맞음 !
padding
frequency-wise convolution
compressed residual branch

기존(=hybrid demucs)의 가장 바깥쪽 4개의 레이어는 유지하고 인코더와 디코더의 가장 안쪽 2개의 레이어(로컬 어텐션과 bi-LSTM)를
cross-domain transformer encoder로 대체 → 이는 스펙트럼 branch의 2D 신호와 웨이브폼 branch의 1D 신호를 병렬로 처리Hybrid Demucs는 시간과 주파수 표현을 allign 하기 위해 모델 parameter를 조정해야 했으나, cross-domain transformer encoder는 이질적인 데이터 형태에서 작동할 수 있기 때문에 더 유연함
Transformer encoder layer
Cross-domain encoder layer
Cross-domain transformer encoder
- spectral / temporal domain에서 transformer encoder layer와 cross-attention encoder layer 교차됨(interleave)
- 각 도메인 input에 1D/2D sinusoidal 인코딩 추가 후 spectral domain은 reshape (시퀀스로 처리하기 위해서)

Sparse HT Demucs
train dataset
결론