바이트만으로 다국어 음성 인식·합성 구현
본 논문은 Unicode UTF‑8 바이트 시퀀스를 텍스트 단위로 사용하여, 다국어 음성 인식(A2B)과 음성 합성(B2A) 모델을 설계한다. 바이트 기반 출력은 256개의 고정 vocab 로 언어별 grapheme 수에 관계없이 동일한 softmax를 사용하게 하며, 특히 다국어 및 코드스위칭 상황에서 기존 grapheme 기반 모델보다 4~38% 정도 상대적 오류율 감소를 보였다.
저자: Bo Li, Yu Zhang, Tara Sainath
본 논문은 다국어 음성 인식(A2B)과 음성 합성(B2A) 시스템을 Unicode UTF‑8 바이트 시퀀스를 텍스트 단위로 사용하도록 설계하였다. 기존 연구에서는 grapheme, sub‑word, word‑piece 등 언어마다 다른 문자 집합을 사용했지만, 이들 방식은 특히 문자 수가 많은 언어에서 softmax 차원이 급증하고 라벨 희소성 문제가 발생한다. 또한 다국어 모델을 구축할 때는 모든 언어의 grapheme을 하나의 vocab에 합치게 되며, 이는 긴 tail과 학습 비효율을 초래한다.
이를 해결하기 위해 저자들은 텍스트를 256개의 고정 바이트 vocab 로 표현한다. UTF‑8은 모든 Unicode 문자를 1~4바이트로 인코딩하므로, 언어가 추가되더라도 vocab 크기가 변하지 않는다. 바이트 기반 표현은 언어 독립성을 제공하고, 다국어 모델에서 파라미터 공유를 촉진한다.
A2B 모델은 Listen‑Attend‑Spell(LAS) 구조를 차용한다. 인코더는 5개의 uni‑directional LSTM(각 1400 hidden)으로 구성되고, 디코더는 2개의 uni‑directional LSTM(각 1024 hidden)과 4‑head additive attention을 사용한다. 입력은 80‑dim log‑mel 피처이며, 3‑frame 스택 후 30 ms 프레임으로 다운샘플링한다. 출력 레이어는 256‑dim softmax이며, 1‑hot 언어 ID 벡터를 인코더·디코더 전 층에 concat해 언어별 특성을 보강한다.
B2A 모델은 Tacotron‑2를 기반으로 하며, 바이트 임베딩을 3개의 5×1 Conv(512 filters)와 양방향 LSTM(256)으로 인코딩한다. 위치 민감 attention을 통해 디코더가 바이트 시퀀스로부터 mel 스펙트로그램을 생성하고, 별도 WaveRNN을 이용해 waveform을 복원한다.
실험은 영어, 일본어, 스페인어, 한국어 4개 언어(총 76 k시간)와 일본어‑영어 코드스위칭 데이터를 사용한다. 단일 언어 실험에서 영어·스페인어처럼 1‑byte 문자만 사용하는 경우 A2B와 A2C(그라프heme) 모델의 성능이 동일했으며, 일본어·한국어처럼 멀티‑byte 문자를 갖는 언어에서는 A2B가 각각 4.0%·2.6% 상대적 WER 감소를 보였다.
다국어 실험에서는 먼저 영어‑일본어 A2B 모델을 학습한 뒤, 스페인어와 한국어 데이터를 순차적으로 추가 학습하였다. 데이터 혼합 비율을 조정하고 1‑hot 언어 ID를 도입함으로써, 초기 다국어 모델(B2)보다 더 나은 성능을 달성했고, 최종 모델(D4)은 모든 언어에서 단일 언어 모델에 근접하거나 약간 상회하였다. 특히 코드스위칭 테스트에서는 다국어 바이트 모델이 단일 언어 A2C 대비 38.6% 상대적 TER 감소를 기록했다.
B2A 측면에서도 바이트 입력이 grapheme 입력과 동일하거나 유사한 MOS를 유지하면서, 다국어 TTS 모델을 하나의 256‑dim softmax만으로 구현할 수 있음을 증명했다. 이는 모델 파라미터와 메모리 사용량을 크게 절감하고, 온‑디바이스 적용 가능성을 높인다.
결론적으로, 바이트라는 언어‑독립적 최소 단위를 텍스트 표현으로 채택함으로써 다국어 음성 인식·합성 시스템의 스케일링 문제를 근본적으로 해결하고, 기존 grapheme 기반 접근법 대비 높은 효율성과 정확성을 동시에 달성했다는 점에서 이 논문은 중요한 기여를 한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기