Speech2text with RNN - RNN 을 사용한 Speech2text (음성인식)

     음성인식 기술은 음성 번역, 음성의 텍스트 변환 분야에 관련된 모든 것을 일컫는다. 영화 Iron man 을 보면 JARVIS 라는 인공지능 비서가 나온다. JARVIS 는 'Just a Rather Very Intelligent System' 의 약자인데, 그냥 똑똑하다고 하기에는 이 인공지능이 구현할 수 있는 기능들이 너무나 다양하다. 사람의 음성을 알아 듣는 것은 기본이고 번역, 검색, 녹음, 문서화 등 불과 몇 년 전까지만 해도 사람이 일일이 타자를 쳐가면서 했던 일들을 훨씬 빠른 속도로 척척 해낸다. 이 모든 것들은 Speech2text (음성인식, STT 라고도 한다) 기술이 비약적으로 발전하면서 가능해진 일들이다. 기계번역(NMT), 음성 변환, 생성 및 문서화 기술들은 음성 인식에 기반한 자연어처리(NLP) 기술들이기 때문에 음성 인식 기술의 발전 없이는 이러한 기능들의 구현을 상상하기 힘들다.



간략히 요약을 하자면, Speech2text 는 sound frequency 상태의 음성 데이터를 acoustic modeling 을 사용하여 음소(phoneme) 단위로 classification 을 한 후, language modeling 을 사용하여 각 단어간의 통계적 분포를 계산하여 문장의 어느 부분에 어느 단어가 올지 확률적으로 계산하는 기술이다. 이번 주제인 Speech2text with RNN 은 이러한 modeling 기법들을 RNN 을 적용한 neural network 를 활용하여 음성인식을 하는 것에 대한 내용이다.

현재 음성인식 분야에서 이루어 지는 연구들은 그 종류와 크기에 있어서 굉장히 다양하다. 소규모 대학의 연구실에서부터 구글이나 아마존 같은 거대 기업들의 연구소에서도 활발한 연구들이 이루어지고 있다. 예를 들어 Google 의 Cloud Speech API 는 머신러닝을 적용한 Speech API 를 개발자들에게 제공하여 이들이 더욱 더 정확하고 정교한 Speech2text 모델을 적용한 어플리케이션과 서비스를 제공할 수 있도록 장려하고 있다. 혹시라도 Google 의 기술력이 궁금한 사람이 있다면 Citation 부분의 링크를 참조하길 바란다.


음성인식의 활용 사례 또한 굉장히 많다. 당장 지금 당신이 들고 있는 핸드폰만 해도 보이스 어시스턴트를 활용한 번역, 녹음, 문서화 기능이 가능하다. 구글 어시스턴트나 삼성의 빅스비, 애플의 시리는 현재 스마트폰 환경에서 가장 커다란 부분을 차지하고 있는 인공지능 비서들이다. 이들은 음성인식 기반 기술을 활용하여 사용자의 말을 알아듣고 텍스트로 변환할 뿐만 아니라, 사용자가 말한 바를 이해하고 알맞은 정보를 곧바로 제공해준다. "지미한테 전화해줘" 라는 말을 할 경우 당신의 친구 지미한테 전화를 걸어주고, "근처에 내가 좋아할 만한 레스토랑 찾아줘" 라고 하면 당신 취향에 딱 맞는 메뉴를 제공하는 식당을 추천해 준다.


     앞서 작성했던 블로그들의 내용을 참고하면, NMT 나 NLP 기술들이 딥러닝이 적용되기 전에는 통계적 기법을 적용한 Statistical model 들이 해당 분야들을 지배했다. 하지만, 딥러닝이 그 이름을 알리기 시작하면서 Hidden Markov Model 과 같은 통계 모델들은 딥러닝에 흡수되거나 성능을 높이기 위하여 딥러닝과 함께 사용되기 시작했다. 음성인식 또한 비슷한 길을 걸었다. 딥러닝 시대 이전의 음성인식 모델들은 HMM (Hidden Markov Model) 과 같은 통계 모델을 적용하여 Phoneme classification 과 language modeling 을 해냈다. 하지만, 통계 모델이 줄 수 있는 성능에는 분명한 한계가 존재했고, 이 한계는 딥러닝을 적용함으로써 해결이 됐다.

음성인식이 더 이상 미래의 기술이 아닌 우리의 삶 한가운데 들어와버린 지금, 음성인식의 발전 방향은 상당히 명확해 보인다. 사람들이 더 이상 버튼이나 터치로 조작하지 않아도 되는 기기들이 출시 될 것이고, 워드나 한글이 아닌 그저 컴퓨터에게 말하는 것 만으로도 완벽하게 소설과 블로그를 작성할 수 있게 될 것이다 (정말 좋을 것 같다. 손목 터널 신드롬이 있는 사람한테는 말이다). 좋은 면이 있으면 그 반대가 존재할만도 하지만, 기술의 효용성만 생각을 했을 때는 실보다 득이 더 많은 기술이 바로 음성인식 기술 같다.

음성인식 기술은 구글과 아마존, 페이스북과 같은 거대기업들에 의해서 빠르게 발전하고 있다. 스타트업이 못할 만한 분야는 아니지만, 연구인력과 데이터 싸움에서 대기업이 넘보지 못할만큼의 우위를 차지하고 있는 점을 생각해본다면 관련 스타트업들이 그렇게 많지 않다는 점도 이해가 된다.

음성인식과 관련된 특허나 논문 자료들은 아래의 Citations 를 확인하면 된다.

<Citations>

1) https://www.cs.toronto.edu/~graves/preprint.pdf

2) https://www.tensorflow.org/tutorials/audio_recognition

3) https://www.svds.com/tensorflow-rnn-tutorial/

4) https://hackaday.com/2017/03/24/ten-minute-tensorflow-speech-recognition/

5) https://research.mozilla.org/machine-learning/

6) https://medium.com/@ageitgey/machine-learning-is-fun-part-6-how-to-do-speech-recognition-with-deep-learning-28293c162f7a

7) https://github.com/mozilla/DeepSpeech

8) https://cloud.google.com/speech/?hl=ko

9) https://ratsgo.github.io/machine%20learning/2017/03/18/HMMs/

10) https://arxiv.org/pdf/1707.01090.pdf

11) https://patents.google.com/patent/US5068900

12) https://patents.google.com/patent/US6173259B1/en

13) https://patents.google.com/patent/US20140337023A1/en

Comments

Popular Posts