파이썬으로 배우는 음성인식

파이썬으로 배우는 음성인식
파이썬으로 배우는 음성인식 - 예스24
음성인식의 기초부터 파이토치를 활용한 딥러닝 실습까지,파이썬으로 배우는 음성인식 도서 출간!음성인식이란 음성 신호로부터 발화 내용을 인식하는 기술, 즉 컴퓨터가 사람의 음성을 신호로 인식하여 처리하는 기술이다. AI 스피커와 스마트폰 음성 어시스턴트 등 음성인…

My Quotes before Read

음성인식 원리에 대해 더 깊이 이해하고 싶다. 어떤 기술들이 숨겨져 있을까? 또 파이썬으로 어떻게 구현을 하면 될까? 다른 신경망 AI(이미지 분류)와 다른 점이 있을까?

Key Topics to Remember

제 1 장 음성인식이란?
4 소리
4 지각 단계, 특징 추출, 푸리에 변환
6 인식 단계, 음성인식모델
7 음향 모델, 발음 사전, 언어 모델, End-to-End 모델, 은닉 마코프 모델, 혼합 정규분포 모델, 딥러닝 모델, End-to-End 모델
9 스펙트럼 분석 방법, Log Mel Filter Bank 특징, Mel 주파수 켑스트럼, DP
10 Connectionist temporal classification, Attention encoder-decoder

제 2 장 음성인식 기초 지식
12 사전 확률
13 사후 확률, 동시 확률, 연쇄 법칙
14 확률의 주변화, 베이즈 정리
18 음소
21 고립단어 인식, 연속 음성인식
23 학습 데이터, 평가 데이터, 개발 데이터, 하이퍼 파라미터, 과적합
24 학습 단계, 평가 단계

제 3 장 음성 처리 기초와 특징 추출
27 샘플링 주파수, 다움 샘플링 처리
30 채널 수, 샘플링 주기, 샘플링 주파수, 샘플링 사이즈
35 푸리에 변환(연속, 이산 시간, 이산)
36 파장, 진폭, 초기 위상, 오일러 정리
38 편각, 복소수 스펙트럼, 진폭 스펙트럼, 위상 스펙트럼, 파워 스펙트럼
40 고속 푸리에 변환, 플로어링 처리, 샘플링 정리, 나이퀴스트 주파구
43 단시간 푸리에 변환, 프레임, 오버랩, 프레임 사이즈, 프레임 시프트, 창 함수, 해밍 창 함수
49 스펙트로그램
51 무음 구간, 디더링 처리, 직류 성분 제거, 고역 강조
54 다변량 데이터, 차원, 차원 수, 필터 뱅크 분석, 필터 뱅크 특징, 밴드 패스 필터
56 Mel 필터 뱅크 분석, Mel 척도
58 로그 Mel 필터 뱅크 특징값, FBANK
65 Mel 주파수 켑스트럼(MFCC)
58 성대, 기본 주파수, 성도, 포르만트, 켑스트럼 분석, 큐프렌시, 포락 성분, 리프터링, 리프터
74 애어그램, 큐프렌시,이산 코사인 변황
77 기저행렬, 로그 파워, 지수부, 나이키스트 주파수, 이산 코사인 변환 처리

제 4 장 음성인식 첫걸음 DP Matching
86 DP, 탬플릿 매칭, 유클리드 거리, 시간적 흔들림, 얼라인먼트
89 최단경로 문제, 동적 계획법, 정규화 처리, DTW
92 Back Track
100 K-최근접 이웃 알고리즘

제 5 장 GMM - HMM 기반 음성인식
104 subword, 분포, 빈도
109 확률 밀도 함수, 행렬 변환, 최빈 추정법, 분산-공분산 행렬
114 단봉선 분포, 혼합 정규분포, 다변량, 혼합 요소, 혼합 수, EM 알고리즘, Q함수
120 은닉 마코프 모델
121 상태 전이도, 상태, 전이, 상태 전이 모델, 출력 확률, 천이 확률
128 전향 후향 알고리즘
134 바움-웰치 알고리즘, 전향 알고리즘
136 비터비 알고리즘
138 HTK
147 대각 행렬
149 Flat Start
167 Underflow
168 accumulators

제 6 장 DNN-HMM 기반 음성인식
188 생성 모델, 식별 모델
191 순전달, 바이어스, 선형층, 활성화 함수
192 선형 식별 함수, 비선형 식별 함수, 구분적 선형 식별 함수, 역치, step 함수
193 시그모이드 함수, tanh 함수, ReLu 함수
194 손실함수, 크로스(교차) 엔트로피
195 one-hot 인코딩, 경사 하강법, 학습률
196 연쇄 법칙
199 오차 역전달파, 경사 강하법, Mini-Batch, 확률적 경사 강하법, 국소해, 전역 최솟값, 국소 최솟값
200 에포크, optimizer, 모멘텀, AdaDelta, LeCun 초기화 방법, 배치 정규화
206 스프라이싱, 기저 모델
222 패딩, softmax 활성화 함수
242 N그램 모델, 유니그램 모델, 바이그램 모델, 트라이그램 모델, Back-off 평활화, 가중치 기반 유한 상태 변환기

제 7 장 End-to-End 모델 기반 연속 음성인식
248 End-to-End 모델, CTC, Attention encoder-decoder 모델, 순환 신경망
250 선형층 DNN, 단방향 RNN, 양방향 RNN
251 오차 역전달법, BPTT, 기울기 폭주, 기울기 소실, LSTM, GRU, 메모리 셀, 아다마르 곱, Constant error carousel
253 망각 게이트, 장단기 기억, 갱신 게이트, Reset 게이트, Gradient cipping, threshold
256 블랭크, 토큰, 편미분
267 언노운 토큰
268 사영층, 서브 샘플링
281 치환 오류, 삭제 오류, 삽입 오류, 문자 오류율
282 레벤슈타인 거리, 편집 거리
286 정답 라벨, 음성인식 결과, 최종 평가 지표
288 eos, Location aware attention, Teacher forcing, Scheduled sampling
297 zero-padding
305 Cross-Entropy Loss
308 Multi Task학습, Hybrid CTC-Attention 모델, ESPnet
309 Transfer Learning, Fine Tuning, Transformer, Conformer, wav2vec

How the Book Changed me?

음성인식 시스템을 직접 개발해 보는 것이 책의 목표라고 한다. 하지만 이론적인 내용은 바로 와닿기에는 어려움이 있어보인다. 물론 나의 능력 부족이겠지만 좀 더 공부해서 이해되는 과정을 별도로 포스트해야겠다. 또 다른 문제는 코드 설명이다. 코드가 나오고 설명이 뒤에 나오는데 어느 라인에 있는 코드인지 알 수 가 없어서 독자가 일일이 위치를 찾아내야한다. 책 글머리에 언급된 내용이지만 일본어에 기반한 음성인식 예제가 그대로 출판되었다. 옮긴이는 카네기멜론 대학교를 졸업하고 영어, 일본어, 한국어에 능통하다고 자랑을 했지만 한국 독자를 위해 일본어 예제를 한국어 기반으로 변경하지 않았다. 예제뿐만아니라 용어나 문장표현에서도 일본식 어조가 남아있다.  뭔가 어색함.  나만 그런가? 아무튼 책을 번역하면서 조금만 더 노력했다면... 아쉬운 부분이다.(아마 시간싸움일꺼라 생각된다.) 최대한 최식 기술을 다룬다고 했지만 정작 최신 기술은 마지막에 이런게 있으니 알아서 찾아봐라이다. 근데 그것고 이책이 나왔을 때 그리 신기술은 아니였을 것 같다.

그래도 이런 주제를 다루는 책을 한국에서 찾기란 하늘의 별따기이다. 다행히 일본에서 출간됐고 이를 번역해주신 출판사와 옮긴이에게 감사를 드린다.

이책을 통해 음성인식의 전체적인 발전 과정을 알 수 있었고 여러가지 힌트를 얻을 수 있었다. 고등학교때 배운 수학이라도 기억이 나면 훨씬 이해가 많이 됬을텐데.. 나의 기억력의 한계를 한탄할 뿐이다. 그러나 포기하지 않고 나의 도전 과정을 꼭 블로그에 남기겠다.