2. Modeling Variation
Info
화자, 사투리, 노이즈 등 다양한 환경 변화에도 강건한 음성 인식 모델을 구축하는 방법을 살펴본다.
1. Noise
화자가 발성할 때 주변이 조용하면 좋겠지만 잡음(noise)이 있을 수 있다. 자동 음성 인식(Automatic Speech Recognition) 모델을 만들 때는 화자가 잡음이 심한 환경에서도 높은 인식 성능을 유지할 수 있도록 해야 한다. 잡음은 그 종류에 따라 크게 세 가지로 나눠 그 대응 방법을 생각해볼 수 있는데, 차례대로 살펴보자.
additive noise: 엔진이나 바람 소리 같이 상대적으로 큰 변화 없이 지속되는 잡음이 있다면, 이 잡음 신호를 시간(time) 도메인 음성 신호에 불필요하게 상수(constanct)처럼 더해진 additive noise로 간주하고 입력 신호에서 해당 잡음 신호의 평균치만큼을 빼버리는 처리(spectral subtraction)를 할 수 있다. 잡음 신호의 평균치는 음성이 아닌 구간(non-speech regions)에 대해 진폭(amplitude)들을 평균을 취해 계산한다.
Note
이와 관련해 롬바드 효과(Lombard Effect)라는 것이 있다. 화자가 잡음이 있는 환경에서 말을 하게 되면 자신의 뜻을 보다 명백하게 전달하기 위해 말하는 경향을 달리하게 되는데 이 때 나타나는 조음상의 변화를 가리킨다. 화자는 잡음 환경에서 효과적인 의사 전달을 위하여 목소리(intensity)를 키우고 대체로 성도를 좁힌 상태에서 발성하는 경향이 있다. 음향음성학적으로는 롬바드 효과에 의하여 음성신호는 피치(기본 주파수, F0) 증가, 진폭(amplitude) 증가, 모음 길이 증가, spectral tilt 증가, 1차 포만트 주파수(F1) 증가 등 변화가 있으며 화자에 따라 그 효과가 크게 달라진다고 한다. 음성인식기는 이러한 음질 차이에도 민감하여 이에 대한 명시적인 모델링을 하지 않을 경우 인식률이 떨어진다.
convolutional noise: 채널(channel) 특성으로 생기는 잡음을 convolutional noise라고 한다. 전화기, 마이크 따위가 달라지면 음성 신호 역시 바뀌는 것과 관련이 있다. 이러한 잡음에 대해서는 멜 스펙트럼(Mel spectrum) 등을 시간(time) 축에 대해 평균을 취한 뒤 이를 원래 스펙트럼에서 빼주는 처리(cepstral mean normalization)로 대응한다. 모든 음성 피처에 대해 이렇게 정규화를 수행해주면 음성 인식기를 만들 때 채널이 마치 하나로 고정된 것처럼 모델링할 수 있다.
non-verbal sounds: 신호에는 사람 말 소리 말고도 기침, 숨소리, 목 고르기, 전화 소리, 문 여닫는 소리 등 사람 말이 아닌 소리 역시 섞여 있다. 이 역시 음성 인식 모델 성능에 상당한 영향을 미칠 수 있다. 이는 해당 소리를 음소(phoneme) 취급해서 학습 데이터를 구축하고 음성 인식 모델을 학습하는 것으로 대응할 수 있다.
2. Speaker Variation
화자에 따라 발성, 조음 방법이 조금씩 다르므로 가능하다면 개별 화자에 특화된 음성 인식 시스템을 만드는 것이 최선일 것이다. 이같이 화자별로 특화된 시스템을 구축하는 것을 화자 적응(speaker adaption)이라고 한다. 하지만 데이터를 화자별로 수집하기가 쉽지는 않다.
그럼에도 불구하고 뚜렷이 구분되고 데이터를 충분히 확보할 수 있는 그룹이 있다. 바로 성별(性別)이다. 남자, 여자 음성에 대응되는 모델 두 개 정도는 비교적 어렵지 않게 만들 수 있고 음성 인식 성능도 높일 수 있다. 이같이 성별에 대응하는 음성 인식 모델을 구축하는 것을 gender-dependent acoustic modeling이라고 한다.
gender-dependent acoustic modeling과 별개로 기존 음성 인식 시스템에서 화자 적응 모델로 널리 쓰였던 기법이 Maximum Likelihood Linear Regression(MLLR)이다.
기존 음성 인식 시스템은 히든 마코프 모델(Hidden Markov Model)과 가우시안 믹스처 모델(Gaussian Mixture Model) 조합인데, MLLR은 이 가운데 입력 음성 신호와 음소(phoneme) 간의 관계를 추정하는 음향 모델(Acostic Model) 역할을 하는 가우시안 믹스처 모델을 소량의 개별 화자 데이터(문장 세 개 내지 10초 가량의 음성)로 튜닝하는 기법이다.
가우시안 믹스처 모델의 학습 파라미터는 평균(mean)과 공분산(covariance)인데, 이 가운데 평균만 개별 화자 데이터에 맞도록 튜닝해 준다. 가우시안 믹스처 모델의 기존 평균 벡터를 \(\mu\), 새로 튜닝한 평균 벡터를 \(\hat{\mu}\)라고 할 때 MLLR은 수식1과 같다.
수식1 MAXIMUM LIKELIHOOD LINEAR REGRESSION
소량의 개별 화자 데이터의 가능도(likelihood)를 최대화하도록 수식1의 선형변환(linear transformation) 행렬 \(W\)과 bias 벡터 \(\omega\)를 학습하고 학습이 끝나면 \(\hat{\mu}\)을 가우시안 믹스처 모델의 새 평균 벡터로 사용한다. 가능도를 계산할 때는 기존 음성 인식 시스템의 학습 기법인 Baum-Welch Algorithm을 사용한다.
이밖에 화자 적응 기법으로는 MAP adaptation, Speaker Clustering, Vocal Tract Length Normalization 등이 있다.
3. Other Issues
대개 대화 음성을 인식하는 모델을 만드는 것이 낭독 음성 인식기보다 어렵다고 한다. 대화할 때 화자별 발음, 조음 방법 변이가 크기 때문이다. 뿐만 아니라 사전에 없는 단어(unseen word)를 다루는 것도 중요한 이슈가 될 수 있다. 기존 음성 인식 시스템에서는 학습 데이터에 없는 새로운 단어가 추가되었을 경우 처음부터 다시 학습을 시작하는 수밖에 없다. 이에 학습을 처음부터 다시 하지 않더라도 새로운 단어에 대응하는 모델을 만들기 위한 여러 방법이 제시되었다.