티스토리 뷰
반응형
Spiking Vocos: An Energy-Efficient Neural Vocoder
- Spiking Neural Network를 사용하면 energy efficiency를 향상할 수 있음
- Spiking Vocos
- Multiply-Accumulate operation을 reduce 하는 Spiking ConvNeXt module을 구성하고 signal dynamics를 preserve 하는 amplitude shortcut path를 incorporate
- Self-architectural distillation strategy를 활용하여 performance gap을 줄이고 temporal dimension에서의 information fusion을 위한 lightweight Temporal Shift Module을 도입
- 논문 (INTERSPEECH 2026) : Paper Link
1. Introduction
- Time-domain vocoder는 computationally-intensive upsampling layer로 인한 한계가 있음
-> 그래서 energy efficient frequency-domain vocoder인 Spiking Vocos를 제안
- Spiking Vocos
- Spiking Neural Network (SNN) 기반의 Spiking ConvNeXt block을 활용하여 energy consumption을 개선
- Self-architectural distillation framework와 Temporal Shift module을 통해 performance gap을 완화
< Overall of Spiking Vocos >
- SNN을 활용한 Vocos 기반의 energy-efficient frequency-domain vocoder
- 결과적으로 기존 성능을 유지하면서 보다 낮은 power consumption을 달성
2. Method
- Spiking ConvNeXt Block
- Spiking Vocos generator는 Spiking ConvNeXt block을 기반으로 구성됨
- Efficiency 측면에서 기존 ConvNeXt의 두 pointwise convolution은 computational load의 대부분을 차지함
- 따라서 논문은 pointwise convolution 앞에 spiking neuron을 insert하여 computationally intensive operation이 sparse, binary spike에서 수행되도록 함 - 구조적으로는 Parametric Leaky Integrated-and-Fire (PLIF) neuron을 사용함
- Standard LIF neuron과 비교하여 PLIF는 time constant $\tau$를 가지고 있으므로 present input과 past memory를 adaptively balance 할 수 있음
- PLIF neuron은 각 timestep $t$에 대해 charging, firing, resetting의 3-stage로 진행됨:
(Eq. 1) $H_{t}=V_{t-1}+\frac{1}{\tau}\left(X_{t}-(V_{t-1}-V^{re})\right)$
(Eq. 2) $S_{t}=\Theta\left(H_{t}-V^{th}\right)$
(Eq. 3) $V_{t}=V^{re}S_{t}+H_{t}(1-S_{t})$ - (Eq. 1)은 charging step으로써 previous timestep의 membrance potential $V_{t-1}$을 input current $X_{t}$로 update 하여 new potential $H_{t}$를 produce 함
- (Eq. 2)는 firing mechanism으로써 Heaviside step function $\Theta(\cdot)$에 대해 $H_{t}$가 firing threshold $V^{th}$를 exceed 할 때 output spike $S_{t}\in\{0,1\}$을 produce 함
- (Eq. 3)은 resetting function으로써 spike가 fire 될 때 membrance potential $V_{t}$를 $V^{re}$로 reset 함
- SNN은 spiking의 all-or-none nature로 인해 information bottleneck이 존재함
- (Eq. 2)와 같이 모든 supra-threshold input은 spike firing으로 mapping 되어 crucial amplitude information을 erase 하는 saturation phenomenon이 발생하기 때문
- 따라서 논문은 bottleneck을 circumvent 하기 위해 amplitude shortcut path를 도입함:
(Eq. 4) $Z_{recover}=|Z_{in}|\odot Z_{out}$
- $\odot$ : element-wise multiplication
- (Eq. 4)는 amplitude information을 data stream에 re-inject 하여 essential signal dynamics를 preserve 함
- Efficiency 측면에서 기존 ConvNeXt의 두 pointwise convolution은 computational load의 대부분을 차지함

- Self-Architectural Distillation
- Surrogate gradient method로 SNN을 directly training 할 수 있지만, 여전히 training instability와 performance gap 문제가 남아있음
- 따라서 논문은 Self-Architectural Knowledge Distillation (KD) framework를 도입하여 intermediate feature representation과 final spectral output에 대한 guidance를 제공함
- 먼저 두 model의 internal representation을 align 하기 위해 layer-wise distillation을 수행함
- 특히 linear layer, activation function으로 구성된 lightweight adpater를 사용하여 각 layer를 student intermediate feature $z_{stu}$를 teacher feature space로 project 함
- 해당 alignment는 projected student feature와 teacher feature $z_{tea}$ 간의 $N$ distilled block에 대해 Mean Squared Error (MSE)를 minimize 하여 수행됨:
(Eq. 5) $\mathcal{L}_{feat}=\sum_{n=1}^{N}\left|\left| F(z_{stu})-z_{tea}\right|\right|_{2}^{2}$
- $z$ : intermediate representation, $F$ : projection function
- 이를 통해 student SNN은 teacher의 layer-wise behavior를 mimic 할 수 있음
- Final layer에서는 magnitude, phase spectra에 대해 distinct distillation objective를 적용함
- Magnitude loss $\mathcal{L}_{M}$은 student, teacher model 간의 log-magnitude에 대한 $L1$ distance와 같음:
(Eq. 6) $\mathcal{L}_{M}=\left|\left| \log (A_{stu})-\log (A_{tea})\right|\right|_{1}$ - Phase spectrum의 경우, $\pm\pi$에 대한 periodic nature로 인해 anti-wrapping function $f_{AW}$를 적용하여 error를 principal value로 mapping 함:
(Eq. 7) $f_{AW}(x)=\left|x-2\pi\cdot \text{round}\left(\frac{x}{2\pi}\right)\right|$ - 결과적으로 total phase loss $\mathcal{L}_{P}$는 instantaneous phase loss $\mathcal{L}_{IP}$, group delay loss $\mathcal{L}_{GD}$, phase time difference loss $\mathcal{L}_{PTD}$를 combine 하여 얻어짐:
(Eq. 8) $\mathcal{L}_{IP}=\text{mean}\left[f_{AW}(\phi_{tea}-\phi_{stu})\right]$
(Eq. 9) $\mathcal{L}_{GD}=\text{mean}\left[f_{AW}(\nabla_{\omega}\phi_{tea}-\nabla_{\omega}\phi_{stu})\right]$
(Eq. 10) $\mathcal{L}_{PTD}=\text{mean}\left[f_{AW}(\nabla_{t}\phi_{tea}-\nabla_{t}\phi_{stu})\right]$
(Eq. 11) $\mathcal{L}_{P}=\mathcal{L}_{IP}+\mathcal{L}_{GD}+\mathcal{L}_{PTD}$
- $\nabla_{\omega}, \nabla_{t}$ : frequency, time에 대한 derivatives
- Magnitude loss $\mathcal{L}_{M}$은 student, teacher model 간의 log-magnitude에 대한 $L1$ distance와 같음:
- 그러면 total KD loss는:
(Eq. 12) $\mathcal{L}_{KD}=\lambda_{feat}\mathcal{L}_{feat}+\lambda_{P}\mathcal{L}_{P}+\lambda_{M}\mathcal{L}_{M}$
- Temporal Shift Module Integration
- 논문은 Temporal Shift Module을 도입하여 모든 block이 past, future information을 explicitly see 하도록 구성함
- 먼저 intermediate feature tensor $Z_{org}$를 channel index를 따라 $C_{-1},C_{0},C_{1}$로 split 함
- $C_{-1}<C_{0}<C_{1}$ - 세 channel group은 $-1, 0,1$ timestep만큼 shift 되고 consistent shape를 위해 padding, truncation 됨:
(Eq. 13) $Z_{shift}[t,c,...]=\left\{\begin{matrix} Z_{org}[t+1,c,...], & 0\leq c<C_{-1} \\ Z_{org}[t,c,...], & C_{-1}\leq c<C_{0} \\ Z_{org}[t-1,c,...], & C_{0}\leq c\leq C_{1} \end{matrix}\right.$ - 이때 channel shifting으로 인해 original timestep의 information이 diluting 될 수 있으므로, original feature와 shifted feature를 combine 하는 residual connection을 도입함:
(Eq. 14) $Z=\alpha\odot Z_{shift}+Z_{org}$
- $\alpha$ : hyperparameter
- 먼저 intermediate feature tensor $Z_{org}$를 channel index를 따라 $C_{-1},C_{0},C_{1}$로 split 함
3. Experiments
- Settings
- Results
- Spiking Vocos는 Vocos와 유사한 성능을 보임

- MOS 측면에서는 HiFi-GAN 수준의 성능을 보임

- Energy Consumption
- Spiking Vocos는 SNN의 event-driven nature로 인해 superior energy efficiency를 가짐

- 추가적으로 network depth가 증가할수록 spike firing rate도 증가함

반응형
'Paper > Vocoder' 카테고리의 다른 글
댓글
