1장 음성인식의 기초

1.1 음성인식의 역사

  • 18세기 말과 19세기 초반에 오스트리아-헝가리 제국의 발명가 볼프강 폰 켐펠렌은 단순한 소리를 낼 수 있는 수동 기계를 설계 및 제작했다.
  • 19세기 말 토머스 에디슨은 축음기를 발명했다.
  • 1952, 벨 연구소에서 10개의 영단어를 인식할 수 있는 Audrey라는 기계를 출시했다.

1.1.1 초기의 음성인식

탬플릿 매칭에 기반한 음성인식 방법은 이 시기에 성공적이었다.

학습 말뭉치에서 오디오의 음향 특징을 추출하고 템플릿으로 저장 -> 새로운 음향이 입력되면 새로 추출한 음향 특징을 저장된 말뭉치와 비교 -> 유사하다면 동일한 단어로 간주 -> 템플릿에 해당하는 텍스트 출력

일부 시나리오 (조용한 환경 등)에서는 괜찮은 성능을 보지지만 복잡한 환경 같은 경우에는 종종 효과가 좋이 않을 때도 있다.

1.1.2 확률 모델

음성 인식에 정보이론을 배경으로 한 확률적 모델을 도입했다. 대표적인 인물로 프레드릭 제리넥이 있다.
이는 음성 인식이 생체 공학적, 언어학적 문제라는 틀에서 벗어나게 하는 계기가 됐고 통계적 문제로 이끌었다.

대표적인 모델로는 히든 마코프 모델(Hidden Markov Model)인데 이 모델은 상태 전이와 관측 샘플링을 사용하여, 음성 데이터의 특징으로부터 단위 발음으로의 변환 과정을 확률 모델로 모델링한다.

또, 매개변수 디코딩 과정에서 입력된 음향 특징을 해당 매개변수를 이용하여 특정 단위 발음 시퀸스로 변환할 확률을 추정한 다음, 특정 음향을 나타낼 가능성이 가장 높은 문자를 선택한다.

1.1.3 신경망의 출현

하이브리드 모델라는 히든 마코프 모델에 신경망을 도입해 사용하는 모델이 출현하기 시작했다.

다른 점으로는 표준 히든 마코프 모델에선느 암묵적 발성 상태에서 관측 가능한 항목을 출력하기 위해 출력 확률 분포를 모델링해야 하는데 이를 가우시안 믹스쳐 모델을 사용했다.

하이브리드 모델에서 가우시안 믹스쳐 모델은 출력의 확률 분포를 모델링하는 신경망으로 대체된다. 당시 컴퓨팅 파워 때문에 주류가 되진 못했다.

2021년경(책 오탈자 일수도) 마이크로소프트에서 문맥의존 트라이폰을 신경망의 모델링 단위로 사용하고, 가장 좋은 성능을 내는 음성인식 시스템으로 생성된 정렬 데이터를 훈련 데이터로 사용하면 성능이 좋아질거라 예상했고 맞았다. 이 또한 하이브리드 모델이라고 불린다.

2014년에는 하이브리드 모델의 히든 마코프 모델을 대체할 수 있다는 것을 알아냈다. 연구원들은 양방향 장단기 기억 네트워크(bidirectional long short-term memory network)를 사용했다. 목적 함수인 연결성 시계열 분류기(Connectionist Temporal Classification, CTC)는 기존의 히든 마코프 모델을 이용한 중간 과정의 모델링 유닉(ex. 문맥 기반 서브워드 트라이폰 모델링)을 거치지 않고 오디오 데이터를 텍스트로 직접 변활할 수 있다.

오디오를 텍스트로 바로 변환할 수 있기 때문에 이를 종단간(end-to-end) 시스템이라고도 한다.

1.2 음성인식 시스템 아키텍처

1.2.1 고전적 방법에 대한 직관적 이해

음성 인식에는 파형(waveform)이라고도 하는 샘플 시퀀스가 여러 과정의 신호처리를 거치도록 하는 작업이 포함된다.

음성인식의 첫 번째 단계는 특징 추출이다. 특징 추출은 입력된 샘플 포인트 시퀀스를 특징 베턱 시퀀스로 변환하는 것으로, 특징 벡터는 음성 세그먼트를 나타내는데 사용되며, 이를 프레임(frame)이라고 한다.

하나의 프레임에는 여러 개의 샘플이 포함되어 있으며, 음성인식에서는 25ms를 프레임 길이(frame length)로 사용한다. 음성 신호의 지속적인 변화를 포착하고 프레임간의 특징 변이를 피하기 위해 10ms마다 한 프레임씩 가져온다. 즉, 프레임 이동(frame shift)이 10ms인 것이다.

샘플링 : 음성 신호를 디지털화 하는 방법
프레임 : 신호를 특징으로 변환한 것
프레임화 : 음성 신호가 인간의 발성 기간에 의해 생성되는 느린 변환 과정

25ms 내에서 신호의 특성은 안정적이라고 간주한다.

위에 가설을 기반으로, 음성신호는 천천히 변화는 특징 벡터 시퀸스로 변환할 수 있고, 이는 시계열 모델링 방법으로 설명될 수 있다.

현대의 음성인식 시스템에서는 HMM(Hidden Markov Model)에 기반한 확률 모델이 절대적인 우위를 점하고 있다. 이는, Kaldi 또한 마찬가지이다.

각 음성 프레임은 HMM의 상태에 해당하고 HMM에서 누적 확률이 가장 큰 경로를 검색하는 알고리즘이 Viterbi 알고리즘이다. HMM에서 누적 화률이 가장 큰 경로로 표현되는 발음이 음성인식 결과이다.

이 검색 과정을 디코딩이라고 한다.

경로의 누적 확률은 확률 모델을 통해 구할 수 있다.

1.2.2 확률모델

YY가 입력 음성 신호, ww가 단어 시퀸스, 음성 인식 작업의 결과물인 단어 시퀸스 변환된w변환된 w를 찾는 것을 전제로,

변환된w=argwmax{P(wY)}변환된 w = arg_wmax\{P(w|Y)\}
로 요약할 수 있다.

위에 변환된w변환된 w는 디코딩 결과이다.

수식은 간단하지만 확률 분포 P(wY)P(w|Y)를 모델로 표현하기 어렵다. 이를 Bayes의 정리를 사용하여 공식을 변환할 수 있다:

변환된w=argwmax{P(wY)}=argwmax{변환된 w = arg_wmax\{P(w|Y)\} = arg_wmax\{P(Yw)P(w)P(Y){P(Y|w)P(w)}\over P(Y)}=argwmax{p(Yw)P(w)}\}=arg_wmax\{p(Y|w)P(w)\}

위의 변환에서 우리는 YY를 이미 알고 있기 때문에, 확률 P(Y)P(Y)는 상수로 생각할 수 있으며, 극값을 구하는 과정에서 무시할 수 있다.

  • 확률 P(Yw)P(Y|w)의 의미는 단어 시큊스 ww가 주어졌을 때, 음성 신호 YY를 얻을 확률이며, 음성인식 시스템에서 음향 모델이라고 한다.

  • P(w)P(w)의 의미는 주어진 단어 시퀸스 ww의 확률이며, 음성인식 시스템에서 언어 모델이라고 한다.

음성 신호는 여러 잡음과 불필요한 정보들이 포함되어 있는 경우가 많다. 일반적으로 10ms마다 25ms의 음향 신호 윈도우에서 특징 벡터가 추출한다.

실제 응용에서 입력되는 YY는 일련의 특징 벡터의 시퀸스이다.

일반적으로 사용되는 음성인식 특징에는 MFCC(Mel Frequenct Cepstral Coefficient), PLP(Perceptual Linear Predictoin)

음향 특징 단어는 모델링 단위가 크므로, 음향 모델 P(Yw)P(Y|w)의 단어 시퀸스 ww는 음소 시퀸스로 더 작게 분할할 수 있다. QQ를 음소 시퀸스라고 한다면,

P(Yw)=QP(YQ)P(Qw)P(Y|w) = \displaystyle\sum_QP(Y|Q)P(Q|w) 로 표현할 수 있다.

위에 식에서 합은 단어 시퀸스 ww에 해당하는 모든 가능한 음소 시퀸스 QQ 집합에 대한 한계 분포 확률을 계산하는 것이다. 이렇게 음향 모델은 P(YQ)P(Y|Q)p(Qw)p(Q|w)로 나뉜다.

분포 P(Qw)P(Q|w)는 비교적 계산하기 쉬운 확률 분포이다. 단어 시퀸스 ww가 단어 w1,w2,,wLw_1, w_2, \cdots, w_L의 총 LL개의 단어로 이루어여 있다고 한다면, 각각의 단어 wlw_l에 해당하는 가능한 발음을 q(wl)q^{(w_l)}라고 할 경우, 두 번째 p(Qw)p(Q|w)는 다음과 같이 분할할 수 있다:

P(Qw)=Πl=1LP(qwlwl)P(Q|w) = \displaystyle\Pi^L_{l=1}P(q^{wl}|w_l)

위에 P(qwlwl)P(q^{wl}|w_l)의 의미는 단어 wlw_lrk qwlq^{w_l}로 발음될 확률이다. 사전에서 한 단어가 여러개의 발음을 갖을 수 있지만, 인간 언어에서 한 단어가 여러개의 발음을 갖는 경우는 많지 않기 때문에, 두 번째 p(Qw)p(Q|w)는 발음 사전에서 쉽게 계산할 수 있다.

첫 번째 부분인 P(YQ)P(Y|Q)은 음향 모델의 핵심이며, 일반적으로, 히든 마코프모델이 모델링에 사용된다.

음소 시퀀스 QQ의 각 음소에 대해 음소 수준의 히든 마코프 모델 유닛이 구성되며, 음소 시퀀스 인에 따라 이러한 히든 마코프 모델 유닛이 문장 수준의 히든 마크포 모델로 연결된다. 특징 시퀀스 YY는 히든 마코프 모델의 관측 가능한 출력이다.

마찬가지로 언어 모델 P(w)P(w)도 분리하여 모델링 할 수 있다.

P(w)=Πl=1LP(wlwl1,,w1)P(w) = \displaystyle\Pi^L_{l=1}P(w_l|w_{l-1}, \cdots, w_1)

위의 식에서 확률 분포 P(wlwl1,,w1)P(w_l|w_{l-1}, \cdots, w_1)는 주어진 단어 시퀸스 wl1,,w1w_{l-1}, \cdots, w_1에 대해 다음에 나올 단어가 wlw_l일 확률이다.

일반적으로 단어 시퀸스의 히스토리를 N1N-1으로 제한하고, 이에 대한 언어 모델을 NgramN-gram 모델이라고 하며 확률로 다음과 같이 표현한다:

P(w)=Πl=1LP(wlwl1,wl2,,wlN+1)P(w) = \displaystyle\Pi^L_{l=1}P(w_l|w_{l-1}, w_{l-2},\cdots, w_{l-N+1})

이러한 확률 분포를 계산하기 위해서는 많은 수의 텍스트를 학습 말뭉치로 수집해야 하며, 이 텍스트에서 단일 어절 또는 다 어절로 이루어진 구절의 NgramN-gram을 세어 발생 횟수에 따른 NgramN-gram의 확률의 계산해야 한다.

희소 확률 또는 0확률 문제를 피하기 위해 실제로는 평활화(smoothing) 및 백오프(back-off)와 같은 기술이 사용된다.

1.2.3 종단간 음성인식

2014년경 구글 연구원들은 만읂 양의 데이터를 기반으로 음향 모델과 언어 모델을 분리할 필요 없이 신경망으로 입력된 음성이나 음성에 대한 특징을 직접 예측할 수 있다는 사실을 밝혀냈다.

Bidirectional LSTM network를 사용해서, 목적 함수인 연결성 시계열 분류기(Connectionist Temporal Classification, CTC)는 HMM 없이 오디오 신호를 텍스트로 변환할 수 있는 것을 보였다.

이렇게 바로 텍스트로 변환할 수 있어서 종단간 시스템이라고 한다.

2016년경, Attention Mechanism을 기반으로 한 종단간 음성 인식 시스템이 연구되고 있고, 기존의 히든 마코프 모델의 기반 모델들의 성능을 넘어서고 있다.

이 종단간 음성인식 시스템은 앞으로의 음성인식 시스템의 지표가 되고 있다.

1.3 기타사항

1.3.1 음성 신호 처리

음성 신호를 수집하는 장치는 마이크이며, 마이크의 종류에 따라 수집되는 음성 신호의 특성도 다르다.

예시

  • 휴대전화 같은 가까이에서 소리를 입력하는 경우 근거리장 (near field)라고 하며, 모노 또는 듀얼 채널로 입력된다.
  • 가정용 스피커 같은 경우 멀리서 소리가 입력되는 경우가 있으니 원거리장 (far field)하고 하며, 4개, 또는 6개의 다중 채널로 수집된다.

마이크를 구동하는 오디오 칩은 (근거리든 원거리든) 공통적으로 수행하는 처리 기능이 있다. 다음이 그 기능들이다.

  • 샘플링 : 공기 중에 전파되는 음파를 컴퓨터에서 처리할 수 있는 디지털 신호로 변화하는 것

    • 마이크의 진동 소자는 음파의 진동에 의해 지속적으로 진동하여 마이크 회로의 전류를 지속적으로 변화시키게 되는데, 샘플링 과정은 일정 간격으로 전류값을 기록하고 이를 다음 샘플링까지 유지하는 것을 반복하는 것이다.

    • 각 샘플링에 대해 하나의 샘플 포인트를 얻을 수 있고, 샘플 포인트 사이의 시간 간격은 샘플링 주기이고, 샘플링 주기의 역수는 샘플링 주파수이다. ex) 1/16000초 마다 샘플링하는 경우, 샘플링 주파수는 16000Hz이다.

  • 양자화 : 샘플의 형식 변환 과정이다.

    • 마이크의 물리적 특성 한계로 인해 진동 소자의 최대 진폭이 고정되어 있으며, 샘플 포인트의 전류는 양의 최대값과 음의 최댓값 사이에서 지속적으로 변화한다.

    • 연속적인 값의 보존은 상대적으로 높은 정밀도를 요구하므로, 16 비트 또는 8 비트 정수를 사용하여 샘플을 나타내는 경우가 많다.

  • 반향 제거 : 출력 음성이 마이크에 입력되어 반향을 생성하는데 이것을 제거하는 기능이다. 특히 원거리장 음성 상호 작용에 필수적인 기능이다.

  • 잡음 억제 : 일반적으로 사용되는 잡음 억제 기술에는 주파수 영역 억제와 공간 영역 억제가 있다.

    • 공간 억제 : 마이크 어레이 기술, 음원 위치 파악 및 빔포밍(Beamforming) 그리고 기타 알고리즘을 사용하여 특정 방향에 대한 음성 신호를 향상시킬 수 있다.

    • 주파수 영역 억제 : 통신 분야에서 널리 사용되고 있음, 대부분의 기술적 수단은 사람이 더 잘 들을 수 있도록 하는 것을 목적으로 하지만, 사람의 귀 특성과 음성인식 시스템의 특성은 다르기 때문에 성능 개선을 위한 주파수 소음 억제 기술 개발에도 노력이 필요하다.

  • 동적 크기 제어 : 거리 및 시타 실제 환경 요인으로 인한 소리의 변동을 효과적으로 개선할 수 있다.

  • 오디오 코덱 : 음성을 인코딩하여 전송비용을 줄이고 속도를 높여 전송하고 인코딩된 비트 패킷을 디코딩하여 오디오 신호를 복원한다. (coder-decoder)

1.3.2 발음 및 언어학

언어 학자들이 여러 언어에서 인간의 말소리를 대략적으로 제한된 수의 기본 요소로 나눌수 있음을 발견했는데, 이것을 음소(Phoneme)라고 한다.

각 언어에서 의미의 기본 단위를 음소로 결합하여 구성할 수 있다. 이는 다양한 언어의 표기 체계와 발음 체계로 이어지며, 발음 사전(pronounciation dictionary)의 매핑을 통해 서로 연결된다.

각 언어에는 음소 집합(phone set)이라고 하는ㄴ 다양한 음소 정의가 있고 그에 따라 발음 사전도 다양하다.

물론, 다중 발음과 동음이의어 현상으로 발음 사전이 일대일 매핑되지 않을 수 있다. 음성에 대한 음소 외에도 음성인식 모델이 비음성을 처리할 수 있도록 하기 위해 일반적으로 묵음 음소, 잡음 음소 등과 같은 비음성 음소가 추가된다.

음소는 특정 언어의 발음에 대한 일반적인 분류일 뿐이며, 실제 적용에서는 문맥의 영향으로 인한 동화 발음 현상도 고려해야 한다.

음성인식에는 동화 발음을 위한 많은 기법들이 있는데, 예를 들어 각 음소를 서로 다른 발음 단계에 해당하는 여러 상태로 분할하는 방법이다.

또 다른 예로, 각 음소를 모델링 할 때, 실제 모델링 객체는 앞뒤 음소를 고려하여 구성된 트라이폰(triphone)을 이용하는 것이다.

1.3.3 음성인식 시스템 평가

음성인식에서 가장 일반적으로 사용되는 평가 지표는 WER(Word Error Rate)이다.

  • 저자는 중국어에서 사용되는 지표도 설명하는데 언어적 특성마다 특별화된 평가 지표가 필요한 듯 하다.

WER : 음성에 대한 레이블링된 텍스트(Reference)와 음성인식 결과(Hypothesis)를 가지고, 오류로 나타난 단어의 누적 개수를 전체 단어 수로 나눈 백분율이다.

오류로 표현되는 단어에는 세 가지 정의가 있다.

  • 삽입오류(Insertion) : 인식된 단어가 정답의 해당 위치에 없는, 오인식한 경우.

  • 삭제오류(Deletion) : 정답에 단어가 존재하지만, 인식결과에서 누락되었음 의미.

  • 대체오규(Substitute) : 단어가 다은 단어로 잘못 인식되었음을 의미.

이를 오류율 수식으로 표현하면
WER=WER = Insertion+Deletion+SubstituderWordsInsertion + Deletion + Substituder \over Words 로 나타내고

정확도는
Acc=Acc= CorrectWordsCorrect \over Words 로 나타낸다.

실제 데이터에는 여러가지 오류가 중복으로 나타날수 있어서 오류율이 100%100\%를 넘을수도 있다.

인식 품질 뿐 아니라 인식 속도 또한 평가 지표가 있다. 이는 RTF(Real Time Factor) 즉, 인식 시간을 문장 길이로 나누는 것이다.

profile
Learning bunch, mostly computer and language

0개의 댓글