728x90
음성인식 문제 정의
- 음성인식이란? 마이크를 통해 입력 받은 음성(Speech)이 주어졌을 때, 확률이 가장 높은 문장(단어의 열)을 출력
- ArgMaxP(W|X)
- W = {W1, W2, … , Wu} : U개의 단어 시퀀스
- X = {x1, x2, …, xt} : 음성시퀀스
- ArgMaxP(W|X)의 문제점
- X가 고정되어 있다고 가정. 실제는 고정되어 있지 않음.
- 출력의 확률 분포를 고려하지 않음.
- 단어의 의존성을 고려하지 않음.
- ArgMaxP(W|X)
- E2E의 장점과 단점
- 장점
- SOTA를 보임
- 음성파일과 이에 대응되는 Transcription만으로 학습
- 전혀 모르는 언어에 대해서도 음성인식기 제장 가능
- 단점
- 외부지식을 실시간 반영할 수 없음
- 대용량 텍스트 코퍼스를 음성인식기에 직접 반영할 수 없음
- 구조 복잡. 파라미터 많음. Computation Power 많이 사용. ML 기반 학습
- 재현 실험 X
- 장점
음성 신호 저장 방법 및 시스템 입력
- 음성 신호의 저장 시 필요한 파라미터
- 샘플레이트 : 보통(16K) [ex.음악(44.1K), 가청 (20~20K), 전화(8k)]
- Sample 당 2byte 사용 [ex. 보통 2^16 = 65,536]
- 음성인터페이스 저장
- 배경 : 입력 길이의 제한이 없으므로 용량을 줄이면서 유용한 정보는 최대한 유지하는 Feature 추출이 필요. [ex. 음성을 20ms 단위의 window로 나누고 각 windows마다 13차 MFCC Feature를 추출]
- Window별 feature 추출 이유 : windowing을 통해 시간적인 연속성을 보존하기 위해서. [겹치는 구간을 ‘hop size’ 이라고 한다.]
- 배경 : 입력 길이의 제한이 없으므로 용량을 줄이면서 유용한 정보는 최대한 유지하는 Feature 추출이 필요. [ex. 음성을 20ms 단위의 window로 나누고 각 windows마다 13차 MFCC Feature를 추출]
- MFCC feature 추출 과정
- Input Speech (short[T][320])
- Windowing
- FFT(Fast Fourier Transform)&Magnitude
- FFT(Fast Fourier Transform):시간 도메인의 신호를 주파수 도메인으로 변환하는 것 ex : 16khz 샘플링 레이트의 FFT 분석을 위해 8kHz를 2^9로 분리 2^10에서 실수와 허수의 벡터 성분이 대칭을 이루기 때문에 중복값을 제거하여
2^9로 사용.
최종 Frequency는 15.625(계산방법 : 8000/512)
- FFT(Fast Fourier Transform):시간 도메인의 신호를 주파수 도메인으로 변환하는 것 ex : 16khz 샘플링 레이트의 FFT 분석을 위해 8kHz를 2^9로 분리 2^10에서 실수와 허수의 벡터 성분이 대칭을 이루기 때문에 중복값을 제거하여
- mel-filterbank & Log
- x(n) = v(n)*e(n)
- v(n) = 구강구조(음성에 대한 정보, 내가 없는 것)
- e(n) = 성대에서 울리는 소리(화자에 대한 정보)
- x(n) = v(n)*e(n)
- DCT
Tokenization
- BPE(byte-pair encoding)
- 모든 단어들을 글자 단위로 분리
- 가장 빈도수가 높은 유니그램의 쌍을 하나의 유니그램으로 통합
- K번 동안 2를 반복함
- 결과적으로 Vocabulary에 K개의 새로운 Unigram이 추가됨
728x90
'Data > ML&DL' 카테고리의 다른 글
CNN을 활용해서 주식차트를 학습해서 예측하자. 1부. 서론~데이터수집 (0) | 2023.05.29 |
---|---|
Attention(Seq2Seq와 Attention) (0) | 2023.04.23 |
RNN(Recurrent Neural Network) (0) | 2023.04.23 |
FFNN(Feed Forward Neural Net) (0) | 2023.04.22 |
-1- 머신러닝과 수학 (최적화) (0) | 2022.05.08 |