C 언어 강의노트

Similar documents
Software Requirrment Analysis를 위한 정보 검색 기술의 응용

김기남_ATDC2016_160620_[키노트].key

Ch 1 머신러닝 개요.pptx

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 29(7),

사회통계포럼

09권오설_ok.hwp

DIY 챗봇 - LangCon

그룹웨어와 XXXXX 제목 예제

1217 WebTrafMon II

3 Gas Champion : MBB : IBM BCS PO : 2 BBc : : /45

¼º¿øÁø Ãâ·Â-1

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>


THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

02 C h a p t e r Java

SRC PLUS 제어기 MANUAL

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

4 : CNN (Sangwon Suh et al.: Dual CNN Structured Sound Event Detection Algorithm Based on Real Life Acoustic Dataset) (Regular Paper) 23 6, (J

Data Industry White Paper

MAX+plus II Getting Started - 무작정따라하기

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 25(12),

Orcad Capture 9.x

PCServerMgmt7

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

A sudy on realizaion of speech and speaker recogniion sysem based on feedback of recogniion value

R을 이용한 텍스트 감정분석

서현수

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

½Éº´È¿ Ãâ·Â

Microsoft PowerPoint - 30.ppt [호환 모드]

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

4 : (Hyo-Jin Cho et al.: Audio High-Band Coding based on Autoencoder with Side Information) (Special Paper) 24 3, (JBE Vol. 24, No. 3, May 2019

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

DocsPin_Korean.pages


정보기술응용학회 발표

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

을 할 때, 결국 여러 가지 단어를 넣어서 모두 찾아야 한다는 것이다. 그 러나 가능한 모든 용어 표현을 상상하기가 쉽지 않고, 또 모두 찾기도 어 렵다. 용어를 표준화하여 한 가지 표현만 쓰도록 하여야 한다고 하지만, 말은 쉬워도 모든 표준화된 용어를 일일이 외우기는

딥러닝 첫걸음

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion

04_오픈지엘API.key

Voice Portal using Oracle 9i AS Wireless

Lecture12_Bayesian_Decision_Thoery

UML


methods.hwp

DBPIA-NURIMEDIA

종합설계 I (Xcode and Source Control )

ez-shv manual

Probabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ):

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E228C1A63836C8A3292E687770>

고객 카드 현대모비스 제품을 구입해 주셔서 대단히 감사합니다. A/S 마크란? 공업 진흥청이 애프터 서비스가 우수한 업체를 선정, 지정하는 마크로 애프터 서비스 센터 운영관리 등 8개 분야 45개 항목의 까다로운 심사로 결정됩니다. 주의 : 본 제품의 디자인 및 규격은

슬라이드 1

Buy one get one with discount promotional strategy


강의10

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

e-spider_제품표준제안서_160516

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

B-05 Hierarchical Bayesian Model을 이용한 GCMs 의 최적 Multi-Model Ensemble 모형 구축

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

ARMBOOT 1

[한반도]한국의 ICT 현주소(송부)

(, sta*s*cal disclosure control) - (Risk) and (U*lity) (Synthe*c Data) 4. 5.

ecorp-프로젝트제안서작성실무(양식3)

Something that can be seen, touched or otherwise sensed

슬라이드 1

산선생의 집입니다. 환영해요

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

인켈(국문)pdf.pdf

Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft s Bing Search Engine Thore Graepel et al., ICML, 2010 P

Microsoft Word - SRA-Series Manual.doc

2002년 2학기 자료구조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

슬라이드 1

SW_faq2000번역.PDF

OR MS와 응용-03장

UI TASK & KEY EVENT

6.24-9년 6월

PowerPoint 프레젠테이션

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

歯FDA6000COP.PDF

무선데이터_요금제의_가격차별화에_관한_연구v4.hwp

Microsoft Word - USB복사기.doc

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

Chapter4.hwp

슬라이드 1


Preparation of Papers for Thesis in ICU

(JBE Vol. 23, No. 2, March 2018) (Special Paper) 23 2, (JBE Vol. 23, No. 2, March 2018) ISSN

Visual recognition in the real world SKT services

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

PowerPoint Presentation

Microsoft PowerPoint - AC3.pptx

PowerPoint Presentation

Transcription:

대화형사용자인터페이스 (GITA370) 음성인식시스템 구현기술 서강대학교김지환 Sogang University : Graduate School of Information & Technology

강의개요 서비스중인음성인터페이스의예 SIRI, S Voice, Q Voice Page 1/67

강의개요 임베디드기기적용음성인식기술수준의변화 삼성, SCH-370 패턴매칭 (20 단어인식 ) 삼성, SCH-X430 화자독립형음성다이얼링 (200 단어 ) 삼성, SCH-X430 SMS dictation (Nuance 엔진사용 ) LG, LP-5200 연결단어인식 파인디지털, 보이스 100 만단어인식 Google, Voice Search Cloud computing 을이용한음성인식 Apple, Siri 지능형음성비서 Page 서비스 2/71

문제의복잡도 ( 가능한입력의수 ) 알파고 (10 360 ) vs. 1 초의음성입력 (10 211,200 ) Page 3/67

문제의복잡도 ( 알파고 ) 바둑판의상태 : 10 170 가지 바둑판은 19x19 격자로구성되어있음 착수할수있는지점은 361 개 각지점마다 3 가지상태 ( 검은돌, 흰돌, 빈칸 ) 이있음 바둑판상태는 3 361 10 170 가지가존재 바둑판의경로 : 10 360 가지 10 170 가지의바둑판상태가수순에따라중복될수있음 수순을고려한경로를계산해야함 총 361!( 팩토리얼 ) 의경우의대국이존재 빈바둑판에첫수를둘수있는경우의수는 361 개 두번째수는 360 개로마지막 361 번째수까지 361! 의대국이존재 착수금지점등바둑의규칙을고려하면, 평균적으로다음수를둘수있는경우의수가 250 개 바둑게임의평균수 ( 길이 ) 는약 150 수정도임 빈바둑판으로부터시작하여약 250 150 10 360 가지의경우의수가존재 Page 4/67

목차 1. 음성신호저장방법및시스템입력 2. 음성인식의문제정의 3. 음향모델 4. 언어모델 5. 디코더 6. 개발툴및음성코퍼스소개 7. 최근연구이슈 Page 5/67

1. 음성신호저장방법및시스템입력 음성신호의저장방법 (sampling rate: 16K, PCM) silence 여 우 silence 1 2 3 16000 16000 16000 k 16000 Page 6/67

1. 음성신호저장방법및시스템입력 음성신호저장시필요한 parameter (PCM, Pulse-Code Modulation 기준 ) Sampling rate 단위시간당 ( 초당 ) sampling 의횟수 Nyquist theorem Sampling rate 의절반의해당하는주파수대역까지복원가능함 Sampling rate 는음질을결정한다. 음악저장에많이사용되는 sampling rate 은초당 44.1k» 사람의가청주파수대역은일반적으로 20Hz~20kHz 로알려져있음 전화의 sampling rate : 초당 8k 현재음성인식에많이사용되는 sampling rate 는초당 16k 임 Sample 당 byte 수 Sample 당 2byte 사용 (2 16 = 65,536) Page 7/67

1. 음성신호저장방법및시스템입력 음성신호의저장방법 ( 예제 ) 가수가 10 곡을수록한앨범을발매했다. 이를 CD 에담았을때, 전체 CD 중 burning 된부분은 CD 전체면적의몇 % 인가? 한곡의길이는 4 분으로가정 CD 는총 700MB 를저장한다고가정 Sampling rate: 초당 44,100 Sample 당 2byte 사용 Stereo 로녹음되었기때문에채널은 2 개 약 60.48% 44,100(samples/sec) * 2(bytes) * 240(secs) * 10( 곡 ) * 2(channels) = 423,360,000» 답 : 423.36/700 MB, 60.48% Page 8/67

1. 음성신호저장방법및시스템입력 음성인터페이스의가능한입력개수분석 ( 계속 ) 정량적분석 가정 : 입력길이 1초, sampling rate 44.1k, sample당 2B사용 저장에 1 * 44100 * 2 = 88,200B 필요 가능한입력의개수 : 2 88200 8 입력길이의제한이없으므로가능한입력의개수 : 무한대 용량을최대한줄이면서, 음성인식에유용한정보는최대한유지하는 feature추출이필요함 전체음성을 20ms단위의 window로나누고, 각 window별로 13차 MFCC feature를추출하여사용함 Page 9/67

1. 음성신호저장방법및시스템입력 왜 window 별로 feature 를추출하는가? Feature 추출이가능하려면, modeling 과분석이가능해야함 현재까지의발화를바탕으로미래의발화를예측할수있는가? 화자가발화를중지할수도있고, 발화의내용을갑자기바꿀수있음 따라서, 예측가능하지않음 예측가능하지않다면, modeling 과분석이불가능함 사람의성대를하나의발성기관으로본다면, 발성기관의물리적한계로인하여어떠한짧은시간에대하여미래의발화를예측할수있음 음성은 quasi-stationary 함 다양한실험을바탕으로 window 의길이는 20ms 로도출됨 Page 10/67

1. 음성신호저장방법및시스템입력 음성신호를 short integer type 의 2 차원 array 로저장함 O = o 1,, o T (T: window 의개수 ) 20ms O 1 O 2...... O T 하나의 window 에는 320 개의 sample 이들어감 2byte(short integer) 형식의 2 차원 array 로저장 C 언어에서는 short[t][320] 의형태로표현됨 Page 11/67

1. 음성신호저장방법및시스템입력 MFCC feature 추출과정 Input Speech short [T][320] Preemphasis Windowing FFT&Magnitude Spectrum Mel-filterbank Log ( ) IDCT o t =(c t 0,, c t 12 ) float [T][13] Page 12/67

2. 음성인식의문제정의 arg W maxp W O 기호설명 W: w 1...w N N 개의단어들로이루어진문장 O: o 1...o T T 개의윈도우에서각윈도우로부터나온 13 차 vector 의 sequence. 가능한 O 의개수가무한대이기때문에 P(W O) 를직접구할수없음 Page 13/67

2. 음성인식의문제정의 Bayesian rule 을적용하여변환 arg W maxp W O = arg w max P(O W)P(W) P(O) P(O): 13 * T 벡터공간에서의한점의확률 이확률을모두동일하다고가정하면 arg w max 를찾는문제이기때문에 P(O) 를생략할수있음 arg w max P O W P(W) 디코딩 음향모델 언어모델 따라서, 음성인식시스템구성에서의핵심은 음향모델 P(O W) 언어모델 P(W) 디코딩네트워크 (arg w max) 어휘 ( 인식가능한단어 set) 의구현이다. Page 14/67

3. 음향모델 음향모델용 classifier 가가져야할특성 1. 모델의구분단위를정할수있어야함 ( 예 : 음소 ) 2. 모델이주어졌을때인식결과생성이가능해야함 3. 학습자료가주어졌을때모델학습이가능해야함 4. 대용량음성코퍼스로부터모델구분단위별학습자료를자동생성할수있어야함 5. 모델결합을통한문장인식확장성 Page 15/67

3. 음향모델 현재의가장좋은성능을보이는시스템은 DNN-HMM 을기반으로하고있다. 특성 HMM DNN 모델의구분단위를정할수있어야함 모델이주어졌을때인식결과생성이가능해야함 - Total Likelihood - Viterbi - Tri-phone -Multi-layer Feedforward Network 학습자료가주어졌을때모델학습이가능해야함 - Baum Welch - Viterbi training algorithm - Back Propagation 대용량음성코퍼스로부터모델구분단위별학습자료를자동생성할수있어야함 모델결합을통한문장인식확장성 - Viterbi Segmentation Algorithm - HMM 기반음성인식디코딩네트워크사용 Page 16/67

3. 음향모델 HMM 기반음성인식대비, DNN 기반음성인식의성능은 relative improvement 기준약 20% 좋은것으로정리되고있음 [Hinton, 2012] DNN 은추정해야하는파라미터가많아학습시간이많이소요됨 DNN 에서모델의구분단위, 대용량음성코퍼스로부터모델구분단위별학습자료자동생성및모델결합을통한문장인식확장성부분은 HMM 의해결방안을그대로사용함 Page 17/67

3. 음향모델 3.1 Hidden Markov Model (HMM) 3.1.1 HMM 개요 3.1.2 HMM 이론 3.1.3 HMM 의세가지기본문제 3.2 Deep Neural Network (DNN) Page 18/67

3.1.1 HMM 개요 HMM 예제 (Urn-and-Ball Model) 흰색, 노란색, 빨간색, 하얀색공이 3 개의바구니에담겨있다. 각바구니별공들의구성비율은 Bucket 0 Bucket 1 Bucket 2 Observed Ball Sequence 서로다르다. 임의의바구니를선택한다. 바구니에서공을확인한다. 공을다시넣는다. 위와같은과정을반복한다. Ball sequence 를보고바구니를선택한순서를판단한다. Page 19/67

3.1.1 HMM 개요 ( 구성요소 ) 크게 4 개의요소로구성됨 q 1 1. N 개의상태 (State) Q = {q 1, q 2,, q N } q 2 q 3 Page 20/67

3.1.1 HMM 개요 ( 구성요소 ) 0.4 q 1 2. 상태간천이확률 (Transition probability) A = a ij, a ij = Pr q j at t + 1 q i at t) 0.2 0.3 0.1 0.3 0. 4 0. 3 0. 3 0. 2 0. 6 0. 2 0. 1 0. 2 0. 8 0.2 q 2 q 3 0.6 0.1 0.8 Page 21/67

3.1.1 HMM 개요 ( 구성요소 ) b 1 (O t ) q 1 3. 출력확률분포 (Output probability distribution) A B C D B = {b j (O t )}, b j O t = Pr O t at t q j at t) q 2 q 3 b 2 (O t ) A B C D A B C D b 3 (O t ) Page 22/67

3.1.1 HMM 개요 ( 구성요소 ) Pr q 1 at t = 1 = 1. 0 q 1 4. 초기상태 (Initial state distribution) π = π i, π i = Pr q i at t = 1 q 2 q 3 Page 23/67

3.1.1 HMM 개요 ( 구성요소 ) 적절한상태의수는? Page 24/67

3.1.2 HMM 이론 HMM 의확장적구조의예 여 의음소모델 ㅕ 1 ㅕ 2 ㅕ 3 N=3 여우 의단어모델 ㅕ 1 ㅕ 2 ㅕ 3 ㅜ 1 ㅜ 2 ㅜ 3 N=6 여우가멸종위기의처한이유 의문장모델 N=72 ㅕ 1 ㅕ 2 ㅕ 3 ㅜ 1 ㅜ 2 ㅜ 3 ㅣ 1 ㅣ 2 ㅣ 3 ㅠ 1 ㅠ 2 ㅠ 3 Page 25/67

3.1.2 HMM 이론 연속음성인식네트워크 start 엄마 end 키보드 여우 사랑 Page 26/67

3.1.2 HMM 이론 HMM 을이용한음성특징벡터의생성예 HMM q 1 q 2 q 3 b j (o t ) Features o 1 o 2 o 3 o t Frame shift Frame Page 27/67

3.1.3 HMM 의세가지기본문제 기본문제 1: ( 인식 ) 관측열이발생될확률의계산 인식결과를어떻게결정할것인가? 모델파라미터는주어진상황에서관측열의생성확률을최대로하는모델선정 알고리즘 : Total likelihood method, forward algorithm Page 28/67

3.1.3 HMM 의세가지기본문제 기본문제 2: (Segmentation) 관측열이어떤상태천이를거쳐발생되었는지를추정 전체음성신호중특정단어를찾아주는 segmentation 시필요 전체학습자료에서모델별학습에필요한자료자동추출 알고리즘 : Viterbi algorithm Page 29/67

3.1.3 HMM 의세가지기본문제 기본문제 3: ( 학습 ) HMM 의파라미터추정 모델학습시필요 알고리즘 : Viterbi training algorithm, Baum-Welch algorithm 본자료는 expectation-maximization algorithm 에기초하여작성되어있음 Page 30/67

3.1.3 HMM 의세가지기본문제 ( 인식 : 관측열생성확률계산예제 ) 조건 : 상태이동경로가주어진경우 o 1 o 2 o 3 o 4 o 5 o 6 o 7 o 8 q 1 q 2 q 3 q 4 q 5 State 1 으로이동후 o 1 을생성하고, state 2 로이동후 o 2 를생성하고, state 2 로이동후 o 3 생성.. Pr O, S M = 1 b 1 (o 1 )a 12 b 2 (o 2 )a 22 b 2 (o 3 )a 23 b 3 (o 4 )a 33 b 3 (o 5 )a 33 b 3 (o 6 )a 34 b 4 (o 7 )a 45 b 5 (o 8 ) T Pr O, S M = s(1) b s(1) (o 1 ) t=2 a s(t-1),s(t) b s(t) (o) Page 31/67

3.1.3 HMM 의세가지기본문제 ( 인식 : Total Likelihood Method) HMM 에서상태열 (state sequence) 은 hidden 되어있음 따라서, Pr(O M) 은가능한모든상태열에대해, 각각의 Pr(O, S M) 을누적함으로써구할수있음 Pr O M = Pr(O, S M) S 가능한모든상태열의개수가 N T 가되어, 시간복잡도가 O(2TN T ) 가됨 입력음성의길이에따른시스템의반응속도가예측되지않음 1 초의음성에대해서 0.5 초에인식결과를한경우, 2 초의음성에대해필요한시간은? Page 32/67

STATE 3.1.3 HMM 의세가지기본문제 ( 인식 : Forward algorithm) Dynamic programming 기법을이용해서 total likelihood method 의시간복잡도를 O(N 2 T) 로줄이는방법 기본 idea : 2 차원상에서의 N*T 개의격자점의각격자점의 α i t 값을저장 α i t = Pr(o 1 o 2 o t, s t = i M) Algorithm 초기화 α 1 1 = 1 N. α i (t) α 1 t = 0 t > 0 α i 1 = 0 1 < i N 2 1 1 2 3 Time Page 33/67

3.1.3 HMM 의세가지기본문제 ( 인식 : Forward algorithm) Recursion α j t = N i=1 α i t 1 a ij b j (O t ) q i=1 q i=2 q j α Nj q i=n t α t (i) t+1 α t+1 (j) Page 34/67

3.1.3 HMM 의세가지기본문제 (Segmentation: Viterbi Algorithm) Page 35/67

3.1.3 HMM 의세가지기본문제 (Segmentation: Viterbi Algorithm) 교차로에서좌회전할때 좌회전신호가 sil ㄱㅛㅊㅏㄹㅗㅇㅔㅅㅓㅈㅘㅎㅚㅈㅓㄴㅎㅏㄹㄸㅐ sil ㄱ ㅛ ㅊ...... ㅅ ㅣ ㄴ ㅎ ㅗ... Page 36/67

3.1.3 HMM 의세가지기본문제 (Segmentation: Viterbi Algorithm) ㅅㅣㄴㅎㅗ 신호 의발생구간 Page 37/67

3.1.3 HMM 의세가지기본문제 ( 학습 ) Expectation maximization algorithm 은아래의생성확률을최대가되도록파라미터값을수정함 R: 전체학습자료에서모델 M 에대응되는데이터의수 학습자료로부터모델파라미터의업데이트는자동으로진행 알고리즘 R r=1 Pr(O r M) Viterbi training algorithm: 근사치로학습진행. 속도가빨라실무에서많이사용됨 Baum-Welch algorithm: 정확한방법이지만, 수식이복잡하고, 시간이많이소요됨 Page 38/67

3.1.3 HMM 의세가지기본문제 ( 학습 ) 학습자료구성의예 ( 예 : 음성인식학습용 SiTEC CleanWord01 코퍼스 ) 화자수 500 명 화자당평균 417 단어발성 Speaker001 Speaker001_001.pcm Speaker001_001.txt 엄마 Speaker001_002.pcm Speaker001_002.txt 키보드 Speaker500 Speaker500_001.pcm Speaker500_001.txt 여우 Speaker500_002.pcm Speaker500_002.txt 사랑 Page 39/67

3.1.3 HMM 의세가지기본문제 ( 학습 ) 단어당평균음소의수를 10 개로가정할경우 코퍼스전체에서나타난음소의수 500명 x 417단어 x 10개 = 2,085,000 개 인식단위가음소이고, 전체음소수가 40 개이면, 평균 R = 2,085,000 / 40 = 52,125 Page 40/67

3.1.3 HMM 의세가지기본문제 ( 학습 ) Viterbi training algorithm 현재의모델로 Viterbi algorithm 에따라전체학습자료에대해 segmentation 을수행 Segmentation 결과를바탕으로다음장과같이모델파라미터를업데이트함 R r=1 Pr(O r M) 이더증가하지않을때까지위의과정을반복 Page 41/67

3.2 Deep Neural Network (DNN) 을이용한음향모델학습연구동향 Page 42/67

3.2 Deep Neural Network (DNN) 을이용한음향모델학습연구동향 DNN 기반음향모델시스템구성 [Hinton 2010] 입력 layer unit 의개수 : 600 개 (= 15frames X 40 filterbank outputs) Hidden layer 의개수 : 5~8 개 (Layer 당 unit 의개수 : 2,048 units) 출력 layer unit 의개수 : 6,000 ~ 10,000 개 (Tied state 수 ) Feedfoward neural net 의노드별 output 값생성방법 y= f( i x i w ij + b) y: output x i : i-th input w ij : weight b: bias f: activation function 입력 layer Hidden layer 출력 layer Page 43/67

3.2 Deep Neural Network (DNN) 을이용한음향모델학습연구동향 학습은 back propagation 알고리즘으로수행됨 y= f( i x i w ij + b) Forward 알고리즘 f(k): Logistic sigmoid function 입력 layer Hidden layer 출력 layer f(k) = 1 1 + e k Back propagation 알고리즘 w ij = w ij η E w ij Page 44/67

3.2 Deep Neural Network (DNN) 을이용한음향모델학습연구동향 DNN 이 HMM 에적용되는방법 [Dahl, 2012] DNN 이기존음향모델인 Gaussian Mixture Model (GMM) 을대체 Page 45/67

3.2 Deep Neural Network (DNN) 을이용한음향모델학습연구동향 DNN 기반음향모델학습시간감소방법 DNN 학습으로모델링을정교하게하기위해서는많은파라미터들이필요 많은파라미터들을 overfitting 없이훈련하려면대용량의데이터가필요 대용량의데이터를이용하여 DNN 기반음향모델학습을위해 GPU 를활용한학습가능 DNN 학습은대부분 matrix operation 으로 GPU 를활용하여학습시간감소가가능 CPU 대비최소약 8~10 배더빠른학습시간을보임 GPU: GeForce GTX Titan CUDA core: 2,688 개 GPU 메모리 : 6GB Page 46/67

4. 언어모델 언어모델학습과정 언어모델 특정단어열이주어졌을때다음에나올단어들의확률을추정하는모델 예 ) 내일오후 3 시에 ( ) 가자 학습과정 ( ): 학교, 강남, 서점, 공원, n-gram 모델 Unigram : 현재한단어만반영 Bigram : 바로앞단어까지반영 Trigram : 바로앞두단어까지반영» 예 ) ( 오후, 3 시에, 학교 ), ( 오후, 3 시에, 강남 ), ( 오후, 3 시에, 서점 ), 대용량의학습코퍼스로부터통계적자료추출하여생성 Page 47/67

4. 언어모델 언어모델학습과정 n-gram 언어모델수식 (n = 3) P w i w i 2, w i 1 = C(w i 2, w i 1, w i ) C(w i 2, w i 1 ) n-gram 언어모델의장점 통계적모델로써계산의간편함 대용량학습자료를이용하여쉽게모델생성이가능함 n-gram 언어모델의단점 Unseen word sequence 에대한확률추정정확도가낮음 N 의제약으로인하여 longer history 에대한정보를표현하지못함 Page 48/67

4. 언어모델 n-gram 언어모델 ARPA format The number of unigram The number of bigram The number of N-gram Log probability with 10 base Back-off weight <an example of 3-gram ARPA format> Page 49/67

5. 디코더 디코더의주요 component Token passing 기반의 beam search 알고리즘 Beam search 알고리즘 인식네트워크상에서이전시점의 active 된 state 중다음시점의 active 된 state 결정시, threshold 범위내에해당하는 state 만을결정하는알고리즘 Page 50/67

5. 디코더 Token passing 기반의 beam search 알고리즘 Beam search 알고리즘 인식네트워크상에서이전시점의 active 된 state 중다음시점의 active 된 state 결정시, threshold 범위내에해당하는 state 만을결정하는알고리즘 Page 51/67

6. 개발툴및음성코퍼스소개 6.1 휴대폰용음성인식앱 - 현음성인식기술의수준을알수있음 6.2 음성인식기 I/O 라이브러리 - 개발된음향모델 / 언어모델에대한 I/O 라이브러리. 모델을학습하지않음 6.3 음성인식기개발용툴및음성코퍼스 6.3.1 음성인식기개발툴 6.3.2 언어모델개발툴 6.3.3 음성코퍼스 Page 52/67

6.1 휴대폰용음성인식앱 SIRI, 네이버음성검색, S voice, Q voice 등 Page 53/67

6.1 휴대폰용음성인식앱 서강대학교한국어음성인식기 SG Recognizer Beta 다운로드링크 : https://play.google.com/store/apps/details?id=kr.ac.sogang.speech.recognizerclientsample Beta Test 진행중 Page 54/67

6.1 휴대폰용음성인식앱 서강대한국어무제한어휘음성인식시스템 음향모델 640 시간낭독체자료를사용 Clean speech 320 시간, Noisy speech 320 시간 Kaldi 를이용하여 DNN-HMM 기반모델학습수행 언어모델 아마존 EC2 상에서 Sun Grid Engine 을이용하여분산학습수행 2 억 5 천만텍스트자료를사용 뉴스, 영화자막, 국립국어원, 블로그 crawling 을통해자료확보 Maximum-Likelihood (ML) 기반자동어휘생성방법을이용하여 20 만단어급어휘사전생성 SRILM 을이용하여언어모델학습수행 시스템성능평가 IPA 주요도메인 (ex. 환율, 교통, 날씨, 일정관리 ) 에서문장인식률기준 53% 의성능을보임 ( 동일한테스트자료에대해서 Google 은 58%) Page 55/67

6.2 음성인식기 I/O 라이브러리 Google speech API Google 에서제공하는 STT(Speech-to-Text) android API Android.speech.RecognitionListener 를 import 하여사용함 http://developer.android.com/intl/ko/reference/android/speech/package-summary.html Page 56/67

6.2 음성인식기 I/O 라이브러리 Daum Newtone API TTS(Text-to-Speech), STT(Speech-to-Text) 제공 API LINK: http://developers.daum.net/services/apis/newtone/ Page 57/67

6.3.1 음성인식기개발툴 HTK (Hidden Markov Toolkit) [Young, 2002] 출처웹주소 : htk.eng.cam.ac.uk Page 58/67

6.3.1 음성인식기개발툴 Sphinx4 [Lamere, 2003] 출처웹주소 : http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4 Page 59/67

6.3.1 음성인식기개발툴 Kaldi [Povey, 2011] DNN-HMM 방식지원 C++ 기반의객체지향형태로구현되어있어, 새로운입력및내부구조변경에대해확장가능성있도록구현함 디코딩과정에서 WFST 활용 Code-level integration with Finite State Transducers (FSTs) LDC 에서제공하는음성코퍼스를이용한 Recipe 를제공 대표적영어연속음성인식 Recipe : WSJ, RM 새로운 SW 개발시소스코드공개의무없으며, 상업적이용에제한이없음 Page 60/67

6.3.1 음성인식기개발툴 Kaldi 출처웹주소 : http://kaldi.sourceforge.net/about.html Page 61/67

6.3.2 언어모델개발툴 SRILM [Stolcke, 2002] 출처웹주소 : http://www.speech.sri.com/projects/srilm/ 활용범위 : 음성인식및기계번역, 등 단어기반의 back-off 언어모델생성 (entropy 기반의 pruning 제공 ) Class-based 언어모델생성가능및 dynamic 또는 static interpolation 방법제시 Page 62/67

6.3.3 음성코퍼스 영어음성 corpus 관련사이트 LDC (Linguistic Data Consortium. www.ldc.upenn.edu) SpeechOcean (www.speechocean.com) LDC SpeechOcean Page 63/67

6.3.3 음성코퍼스 한국어음성 corpus 관련사이트 원광대학교 SiTEC (www.sitec.or.kr) ETRI (https://itec.etri.re.kr/itec/sub02/sub02_01.do) 원광대학교 SiTEC ETRI Page 64/67

7. 현재연구방향 LSTM, Long Short Term Memory 1 개이상의 memory cell 과 gate 로구성된 hidden node architecture 기존 RNN 방식은 back-propagation 수행시, long context 에서 time t 가증가함에따라 error rate 가 0 으로수렴하여 weight update 가제대로수행되지않음 Long context 에서도일정한 error rate 를유지할수있음 Page 65/67

7. 현재연구방향 CTC, Connectionist Temporal Classification 기존 DNN-HMM 기반음향모델에서는 phone 단위의 alignment 된정답 label 이요구되었음 CTC 는발성 script 를정답 label 로사용함으로써, 정답 label 이없는학습자료를실시간으로사용하여학습가능 기존 DNN-HMM 기반음향모델에서는 HMM 의각 state 에대한 observation probability 를얻기위해, GMM-HMM 모델에대한학습을먼저진행했음 CTC 는 HMM 의각 state 에대한 observation probability 를사용하지않기때문에, GMM-HMM 모델에대한학습을진행하지않아 DNN- HMM 모델과비교하여학습을위한과정이단축됨 Page 66/67

참고문헌 [Schuster, 2012] M. Schuster and K. Nakajima, Japanese and Korean Voice Search, Proc. ICASSP 2012, pp. 5149-5152, 2012. [Hinton, 2012] G. Hinton et al., Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups, IEEE Signal Processing Magazine, Vol. 29, No. 6, pp. 82-97, 2012 [Dahl, 2010] G. Dahl et al., Phone Recognition with the Mean- Covariance Restricted Boltzmann Machine, Proc. Advances in Neural Information Processing Systems, pp. 469-477, 2010. [Dahl, 2012] G. Dahl, et al., Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition, Proc. IEEE Audio, Speech, and Language Processing, pp. 30-42, 2012. [Young, 2002] S. Young, et al., The HTK Book (for HTK version 3.2), Cambridge University Engineering Department, 2002.

참고문헌 [Lamere, 2003] P. Lamere, et al., The CMU Sphinx-4 Speech Recognition System, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 745-753, 2003. [Povey, 2011] D. Povey, et al., The Kaldi Speech Recognition Toolkit, Proc. IEEE Automatic Speech Recognition and Understanding Workshop, 2011. [Rabiner, 1986] L. Rabiner and B. Juang, An Introduction to Hidden Markov Models, Proc. IEEE ASSP Magazine, 1986. [Stolcke, 2002] A. Stolcke, SRILM An Extensible Language Modeling Toolkit, Proc. the 7th International Conference on Spoken Language Processing, pp. 901-904, 2002.