티스토리 뷰
Paper/Vocoder
[Paper 리뷰] iSTFTNet2: Faster and More Lightweight iSTFT-based Neural Vocoder Using 1D-2D CNN
feVeRin 2024. 6. 26. 09:23반응형
iSTFTNet2: Faster and More Lightweight iSTFT-based Neural Vocoder Using 1D-2D CNN
- iSTFTNet은 1D CNN을 backbone으로 사용하고 일부를 iSTFT로 대체해 빠르고 고품질의 음성 합성을 지원함
- BUT, 1D CNN은 high-dimensional spectrogram을 모델링하기 어렵고, temporal upsampling에 대한 추가적인 속도 개선의 여지가 남아있음 - iSTFTNet2
- Temporal, spectral structure를 각각 모델링하기 위해 1D-2D CNN을 활용해 iSTFTNet을 개선
- Few-frequency space에서 conversion 이후 frequency upsampling을 수행하는 2D CNN을 도입해 속도 저하 없이 high-dimensional spectrogram을 효과적으로 모델링
- 논문 (INTERSPEECH 2023) : Paper Link
1. Introduction
- Text-to-Speech (TTS)는 일반적으로 two-stage로 구성됨
- Acoustic model은 text input data로부터 intermediate representation인 mel-spectrogram을 예측하고 neural vocoder는 해당 intermediate representation에서 speech waveform을 합성함
- 이때 autoregressive neural vocoder를 활용하면 high-fidelity의 합성이 가능하지만 sample-by-sample processing으로 인해 추론 속도가 상당히 느림 - 따라서 추론 속도와 parallelization을 향상하기 위해 non-autoregressive model이 도입됨
- 대표적으로 flow-based, diffusion-based, Generative Adversarial Network (GAN)-based model 등
- 특히 GAN-based model은 architectural flexibility와 빠른 추론 속도를 제공함
- 대표적으로 flow-based, diffusion-based, Generative Adversarial Network (GAN)-based model 등
- GAN-based neural vocoder 중에서 iSTFTNet은 가장 빠른 속도와 lightweight model을 제공함
- 구조적으로는 HiFi-GAN과 같은 lightweight 1D CNN을 backbone으로 사용하여 output-side neural process를 inverse STFT (iSTFT)로 대체하는 방식을 사용함
- 특히 iSTFTNet은 1D CNN이 처리하기 어려운 high-dimensional spectrogram 모델링을 위해 large temporal upsampling을 적용하여 frequency dimension을 reduce한 다음 iSTFT를 적용함
- 이를 통해 빠른 합성 속도를 달성했지만, temporal upsampling 측면에서 속도 향상의 여지가 남아있음
- 이때 2D CNN을 활용하여 spectrogram 변환을 수행하는 방식을 고려할 수 있음
- BUT, 2D CNN을 단순히 적용하면 frequency dimension에 따라 compuation cost가 linearly increse 하므로, Fre-GAN과 같이 1D-2D CNN을 결합하는 방식을 활용해야함
- Acoustic model은 text input data로부터 intermediate representation인 mel-spectrogram을 예측하고 neural vocoder는 해당 intermediate representation에서 speech waveform을 합성함
-> 그래서 1D-2D CNN을 통해 iSTFTNet의 속도를 개선한 iSTFTNet2를 제안
- iSTFTNet2
- 1D-2D CNN을 활용한 iSTFTNet의 변형으로써, 각각의 1D, 2D CNN은 global temporal과 spectrogram structure를 모델링하는데 사용됨
- 특히 1D CNN과 few-frequency 2D CNN을 활용하여 few-frequency space에서 변환을 수행한 다음, frequency upsampling을 적용
- 이를 통해 속도 저하 없이 기존 1D CNN-based iSTFTNet의 high-dimensional spectrogram 모델링 성능을 향상
< Overall of iSTFTNet2 >
- Temporal, spectral structure를 각각 모델링하는 1D-2D CNN을 활용해 iSTFTNet을 개선
- 결과적으로 성능 저하 없이 기존보다 더 적은 parameter 수와 빠른 추론 속도를 달성
2. Preliminary: Conventional iSTFTNet
- iSTFTNet은 fully neural vocoder의 output-side layer를 lightweight iSTFT로 대체해 빠른 합성을 지원함
- 이때 lightweight 1D CNN vocoder인 HiFi-GAN을 backbone으로 사용해 구성됨
- BUT, 1D CNN은 frequency direction의 local structure를 capture 하기 어렵기 때문에 high-dimensional spectrogram을 모델링하기 어려움 - 따라서 iSTFTNet은 다음의 temporal upsampling을 사용하여 frequency dimension을 reduce 함:
(Eq. 1) $\mathrm{iSTFT}(f_{s},h_{s},w_{s})=\mathrm{iSTFT}\left(\frac{f_{1}}{s},\frac{h_{1}}{s},\frac{w_{1}}{s}\right)$
- $f_{s}, h_{s}, w_{s}$ : 각각 $\times s$ temporal upsampling 이후 iSTFT에 필요한 FFT size, hop length, window length
- (Eq. 1)은 time-frequency tradeoff인 $f_{1}\cdot 1=f_{s}\cdot s=\mathrm{constant}$를 기반으로 하고, $\times s$ temporal upsampling을 수행하면 frequency dimension을 $s$배 줄일 수 있음을 의미 - iSTFTNet의 전체 architecture는 아래 그림의 (a)와 같음
- 이때 음성 품질과 속도에 대한 최적 tradeoff 모델은 iSTFTNet-$\text{C8C8I4}$로 얻어짐
- $\text{C}x$ : $\times x$ temporal upsampling을 갖춘 1D CNN block, $\text{I}y$ : $\times y$ upsampling을 갖춘 iSTFT - 속도를 우선하는 경우, temporal upsampling을 더 적게 수행하는 iSTFTNet-$\text{C8C1I32}$를 사용할 수 있음
- BUT, 해당 모델의 경우 1D CNN으로 인해 high-dimensional spectrogram을 모델링하는데 한계가 있어 합성 품질이 떨어짐
- 이때 음성 품질과 속도에 대한 최적 tradeoff 모델은 iSTFTNet-$\text{C8C8I4}$로 얻어짐
- 이때 lightweight 1D CNN vocoder인 HiFi-GAN을 backbone으로 사용해 구성됨
3. iSTFTNet2
- iSTFTNet2는 fewer temporal sampling을 통해 iSTFTNet의 속도를 향상하면서 음성 품질을 유지하는 것을 목표로 함
- 이를 위해 spectrogram의 local structure를 capture 하는 fully 2D CNN을 사용할 수 있지만, frequency-dimension에 따라 computational cost가 linearly increase 하는 문제가 있음
- 따라서 아래 그림의 (b)와 같이 단순 2D CNN 대신 1D-2D CNN을 활용해 iSTFTNet2를 구성함
- 구조적으로는 먼저 기존 iSTFTNet과 동일하게 처음 3개 module에 대해 1D CNN을 사용
- 이때 subsequent 2D CNN에 더 많은 information을 전달하기 위해 1D ResBlock에서 multi-receptive fusion output을 integrating 할 때, addition 대신 channel concatenation을 사용함 - 이후 1D-to-2D conversion을 수행하고 2D CNN을 적용하여 spectrogram의 local structure를 capture 함
- 구조적으로는 먼저 기존 iSTFTNet과 동일하게 처음 3개 module에 대해 1D CNN을 사용
- 이때 2D CNN의 도입으로 인한 compuational cost의 증가를 방지하기 위해, few-frequency space에서 main conversion을 수행한 다음, transposed convolution을 통해 last phase에서 frequency upsampling을 수행함
- 즉, frequency dimension이 8번 downsample 된 space에 대해 2D block이 적용됨
- 한편으로 2D block은 아래 그림과 같이 구성됨
- 먼저 2D ResidualBlock은 information propagate를 위해 residual connection을 활용함
- 이때 기존의 iSTFTNet-$\text{C8C8I4}$보다 더 빠르고 lightweight 하도록 kernel size와 channel 수에 대한 model parameter를 adjust 함 - 추가적으로 더 효율적인 구성을 위해 ShuffleNet에 기반한 2D ShuffleBlock을 도입함
- 해당 block에서는 2D convolutional layer에 사용되는 parameter 수가 2D ResBlock의 절반이 되도록 adjust 됨
- 여기서 half channel은 residual connection과 달리 model capacity를 preserve 하기 위해 directly propagate 됨 - Channel shuffle은 skip과 non-skip branch 간의 interaction을 제공하기 위해 사용됨
- 해당 channel shuffle, channel split, channel concatenation은 weight-free operation이므로 2D ResBlock 보다 빠르게 동작가능함
- 해당 block에서는 2D convolutional layer에 사용되는 parameter 수가 2D ResBlock의 절반이 되도록 adjust 됨
- 결과적으로 논문에서는 2D ResBlock을 사용한 모델을 iSTFTNet2-Base, 2D ShuffleBlock을 사용한 모델을 iSTFTNet2-Small이라고 함
- 먼저 2D ResidualBlock은 information propagate를 위해 residual connection을 활용함
4. Experiments
- Settings
- Results
- Result on Single Speaker Dataset
- LJSpeech dataset에 대해 iSTFTNet2가 가장 좋은 성능을 달성함
- RTF와 Parameter 수 측면에서도 iSTFTNet2는 가장 효율적인 것으로 나타남
- Result on Multiple Speaker Dataset
- VCTK dataset에 대해서도 iSTFTNet2는 빠른 추론과 합리적인 품질을 제공함
- Application to Multi-band Modeling
- Multi-band Modeling으로 iSTFTNet2를 확장해 보아도, 기존 iSTFTNet보다 뛰어난 성능을 달성함
반응형
'Paper > Vocoder' 카테고리의 다른 글
댓글