답변:
음성 인식은 생각만큼 복잡하지 않습니다.
먼저 텍스트 인식을 수행하는 Markov Chain (MC)을 생성한다고 상상해보십시오. 프로그램은 오류없이 완벽한 텍스트를 읽고 상태 (단어)와 상태 변경 (다음 단어)을 계산합니다. 당신이 이것을 얻은 것처럼 들립니다. 이제 MC의 상태 및 전환 확률을 사용하여 텍스트를 생성하거나 다음 단어를 예측하는 텍스트를 제공 할 수 있습니다.
이제 말과 함께 MC를 사용한다고 가정하십시오. 사람들에게 MC와 비슷한 텍스트를 읽게되면 설정이 완료됩니다. 글쎄 ... 단어가 다르게 발음되는 것을 제외하고는 : "포테이토"라고 쓰여진 텍스트는 실제로 "po-TAY-toh"와 "po-TAH-toh", "pu-TAY -to "등. 그 반대의 경우도 마찬가지입니다. 텍스트"ate "와"eight "는 서로 다른 두 가지 상태를 나타내지 만 (보통) 동일하게 발음됩니다.
알고리즘은 더 이상 기본 상태 (단어)를 보지 못하고 각 단어에 대한 발음의 확률 적 분포를 봅니다. 원래 MC는 발음 뒤에 숨겨져 있으므로 이제 모델을 2 계층으로 만들어야합니다.
따라서 많은 사람들이 원래 훈련에 사용한 텍스트를 소리내어 읽게 할 수 있고, 각 단어의 발음에 대한 분포를 구한 다음 원래 모델을 발음 모델과 결합하면 숨겨진 마르코프 모델 ( HMM).
실제 세계는 시끄러운 경향이 있기 때문에 대부분의 실제 문제는 다음과 같습니다. 실제로 어떤 상태에 있는지 알지 못합니다. 대신 각 상태에 대한 다양한 표시기 (때때로 다른 상태에 대한 동일한 표시기 ( "ate"및 "eight") 및 동일한 상태에 대한 다른 표시기)를 얻을 수 있습니다. ( "pu-TAY-toe"및 "pah-tah-TOE"). 따라서 HMM은 실제 문제에 더 적합합니다.
[두 가지 참고 사항 : 1) 실제 음성 인식은 단어 수준이 아닌 음소 수준에서 작동하며 2) HMM은 음성 인식의 언덕의 왕이라고 생각하지만 최근에는 깊은 신경망에 의해 결정되었습니다.]
기본적으로 HMM은 상태를 완전히 관찰 할 수없는 마르코프 모델이며, 일부 노이즈 관측을 통해 간접적으로 만 관찰됩니다. Markov 모델 부분은 상태에서 시간적 종속성을 부과하는 간단한 방법입니다. 이에 따라 HMM이 유용한 문제는 상태가 Markov 모델을 따르는 문제이지만 상태를 직접 관찰하지는 않습니다.
HMM으로 수행 할 수있는 다양한 작업이 있습니다. 현재까지 시끄러운 관찰 결과가 주어지면 시스템의 현재 상태가 무엇인지 알고 싶을 것입니다. 이렇게하려면 Markov 체인 구조를 관측치와 적절히 결합하여 상태를 유추합니다. 마찬가지로, 관측 순서에서 전체 상태 순서를 추론하기 위해 이것을 확장 할 수 있습니다 ( 이것은 표준입니다).
과학과 공학에서이 모델은 항상 사용됩니다. 예를 들어, 아마도 당신은 c 와 같은 간단한 동물의 비디오를 녹화하고있을 것 입니다. 엘레 간스(웜)이며 일부 별개의 행동 상태 만 있습니다. 비디오에서 각 프레임에 동물의 행동 상태 레이블을 지정하려고합니다. 단일 프레임에서 라벨링 알고리즘에 오류 / 소음이 있습니다. 그러나 Markov 체인으로 모델링 할 수있는 시간적 종속성도 있습니다. 한 프레임에서 동물이 한 상태 인 경우 다음 프레임에 대해 같은 상태 일 가능성이 있습니다 (일부 상태에서는 전환 만 허용 할 수 있음) 다른 특정 주에). 기본적으로 시끄러운 단일 프레임 관측 값과 HMM에 의한 전이의 구조를 결합하면 원활하고 효율적으로 제한적인 상태 추정 시퀀스를 얻을 수 있습니다.
HMM은 혼합 모델입니다. 가우스 모델의 혼합 과 같습니다 . Markov Chain과 함께 사용하는 이유는 데이터 패턴을 캡처하는 것이 더 복잡하기 때문입니다.
단일 가우시안을 사용하여 논쟁적인 변수를 모델링하거나 가우시안 혼합을 사용하여 연속 변수를 모델링하는 경우와 유사합니다.
연속 변수를 사용하여이 아이디어를 시연합니다.이 데이터가 있다고 가정합니다.
2 가우스와 다른 비율로 모델링하는 것이 좋습니다. 별개의 경우에 "동등한"것은 : 우리는 2 개의 숨겨진 상태로 HMM을 구축합니다.