Các nghiên cứu trong bài toán gặp cản trở rất lớn từ chi phí tính toáncũng như dữ liệu giọng nói Tiếng Việt được chuẩn hóa, công khai và hợp pháphóa là không có sẵn, từ đó yêu cầu những
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
NGUYÊN TRƯỜNG LÂU
KHÓA LUẬN TÓT NGHIỆP
TÌM KIEM KIÊN TRÚC MẠNG NEURAL VỚI THUẬT
TOÁN TIEN HOA CHO BÀI TOÁN NHAN DIỆN GIỌNG
CỨ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
TP HÒ CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
NGUYEN TRUONG LAU
KHOA LUAN TOT NGHIEP
TIM KIEM KIEN TRUC MANG NEURAL VOI THUAT TOAN TIEN HOA CHO BAI TOAN NHAN DIEN GIONG
NGƯỜI NÓI TIENG VIET
CU NHÂN NGANH KHOA HỌC MAY TÍNH
GIANG VIEN HUONG DAN
TS LUONG NGỌC HOANG
TP HO CHI MINH, 2021
Trang 3DANH SÁCH HOI DONG BAO VỆ KHÓA LUẬN
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
nầy c.e«- của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
An —= - Chủ tịch.
”— Ô - Thư ký.
iiiiiiiaa4.ẮẮẮẦ - Uy vién.
— - Ủy viên.
Trang 4LỜI CẢM ƠN
Trước tiên, em xin chân thành cảm ơn thầy Lương Ngọc Hoàng đã tận tình giúp
đỡ, hướng dẫn và định hướng em để có thể hoàn thành khóa luận một cách tốtnhất Sau, em xin gửi lời cảm ơn đến thầy Nguyễn Đình Hiển, giáo viên phảnbiện đã có những góp ý vô cùng quý giá để khóa luận của em được hoàn thiệnhơn Bên cạnh đó, em cũng không quên gửi lời cảm ơn đến bạn Bùi Đức Cường,người bạn đã cùng với em chuẩn bị dữ liệu cho khóa luận, và các anh chị đồngnghiệp tại đơn vị QAI của FPT Software đã hỗ trợ em về trang thiết bị cũng như
đã giành thời gian quý giá của mọi người để em có thể thu thập dữ liệu giọng nói
một cách trọn vẹn.
Em xin chân thành cảm ơn!
Trang 5132.3 Dong gop] 2 eee 5
1.4 Cấu trúc khóa luận tốt nghiệp 6
2 CÔNG TRÌNH LIÊN QUAN VÀ KIÊN THUC NEN TANG 8
Trang 62.3.3 incNet}
2.3.4 Mel frequency cepstral coefficient}
Analog to digital conversion va pre-emphasis}
Mel filterbankÌ]
, Logarit) .
Inverse discrete fourier transform)
Mel frequency cepstral coefficlents|
3_ CƠ CHE MA HOA, GIẢI MÃ MÔ HÌNH 3.1 Depthwise Separable Convolution|
3.2 Inverted
ResidualBlockl -3.3 Bottleneck Blockl
3.4 Identity block va Convolutionalblockl
3.5 Cơchếmãhóal
351 Kiến trúc mô
hìnhmãhóal -Njã Z —
3.6 Cơchê giả
mãmôhình -4 BỘ DU LIỆU FAMOUS VOICE, VIETNAM VOICE 4.1 Thông tincoban| 4.1.1 Famous voice 4.1.2 Vietnamvoice) - 0.0000 0005 4.2 Cachthuthap) 2.0 0.0.00 0000000000088
4.3 Trích xuất đặc trung) 2 Q Q Q HQ HH Ho ¬ 4.5 Các độ đo được sử dụng| Ặ 4.9.1 ACCUFACV| ee 4.5.2 Cross-Entropy Lossl Ặ ee o 5_ GENETIC CONVOLUTION NEURAL NETWORK 5.1 Tổng quan phương pháp|
5.2_ Giải thuật tiên hóa
VI
16 18
19
20 23
24
24 24
25
29
29 30 32
33
35 35
37
38
40 40
40 41
42
43 43
45
45 45
Trang 75.2.1 Tốiưuhóal -.- ee 475.2.2 Tiénhdal 2 ee 475.2.3 Gidithuatditruyen) cà 48
Khởi tạo quan thểJ 49Chọn lọc tranh đấu| 49
6.2.1 Một so định nghĩa trong tôi ưu da mục tiêu 60
6.2.2 | Nondominated Sorting Genetic Algorithm HÏ| 63
7.1.3 KiénTriicMang} 0 00000 eee eee 76
7.1.4 Phương Phap| 2.2 00.006 ee eee ee 77
Trang 87.1.5 Thời gian đào tao
7.1.6 Chương trình ứng dụng|
Giao diện chương trình|
Minh họa kết quả dự đoán|
Trang 9Danh sách hình ve
11 Minh họa bài toán Speaker Recopgnition| 2
1.2 Thách thức bài toán Speaker Recogniion| 3
21_ Kiến trúc mô hình SincNetl 9
22_ Kiến trúcmôhìnhhVGGVoxl - 10
2.3 Lấy mẫu tín hiệu số| co 13 2.4 Lượng tử hóa tín hiệu số| cà 14 2.5 Minh họa tín hiệu âm thanh| - 15
2.6 Lay mẫu và lượng tử hóa tín hiệu âm thanh 15 2.7 BộlọcSincnetl Ặ Ặ Q Q Q Q HH ee 17 j ˆ co 18 2.9 Chuyển đổi tín hiệu tương tự sang tín hiệu số 19 ¬ 20 2.11 Kỹ thuật Windowing|l Ặ 20 xã ẮmẮ HH 21 2.13 Minh họa hiệu quả khi sử dụng kỹ thuật Windowing 22 2.14 Quang phổ của âm thanh| 23
2.15 Phổ công suất của âm thanh| - 24
¬ 25 2.17 Quá trình tạo Cepstrum cho tín hiệu âm thanh| 26
2.18 Dòng xử lý của MECC| 27
bằng MFCC| ẶẶ.Ặ Q2 So 28 3.1 Depthwise Convolution trong MobileNetl 30
3.2 Residual Block trong MobileNetV2| 31
3.3 Inverted Residual Block trong MobileNetV2| 31
Trang 103.4 SElResnetBlock| - ẶẶ SỐ QQỒ ee 32
3.5 Residual Block MobilenetV2 và Squeeze and Excitation (Bottleneck
Block) trong MobileNet VðÌ 33
3.6 Identity Block trong ResNetl 34
Lee 35
ẢíiaaaáaáaáaŸỶÝ 36
3.9 Minh họa mã hóa mô hình| 37
3.10 Minh họa giải mã mô hình| 38
4.1 Cấu trúc tổ chức bộ dữ liệu Famous Voice
4.2_ Cấu trúc tổ chức bộ dữ liệu Vietnam Voice
6.6 Nondominated Sorting Genetic Algorithm I] 65
6.7 Trao đổi chéo một điểm trong NSGA-II VoiceNetl 666.8 Quá trình đột biến trong NSGA-II VoiceNet| 67
Trang 117.1 Minh hoa quá trình training thong thuong) 78
7.2 Minh hoa qua trình training với Prefetched|_ 79
7.3 Minh họa kết quả chạy chương trình ứng dụng| 80
Trang 12Danh sach bang
Bang thong kê số liệu trên bộ dữ liệu Famous VoiceBang thong kê số liệu trên bộ dữ liệu VietNam Voice
Bảng so sánh các kiến trúc được tìm kiếm bởi Genetic AlgorithmBảng so sánh các kiến trúc được tìm kiếm bởi NSGA-II
Bang so sánh với các kiến trúc hiện đại của bai toán Speaker
Trang 13Danh mục từ viết tat
NAS Neural Architecture Search
sGA simple Genetic Algorithm NSGA-II_ Non Dominated Sorting Genetic Algorithm - II
EA Evolution Algorithm
MFCC Mel Frequency Cepstral Coefficients
SE Squeeze and Excitation
DFT Discrete Fourier Transform
IDFT Inverse Discrete Fourier Transform
FFT Fast Fourier Transform
SOTA State Of The Art
CNN Convolution Neural Network
DNN Deep Neural Network
IoT Internet of Thing
Al Artificial Intelligence
MOGA Multi Objective Genetic Algorithm NoTP Number of Trainable Parameter
Trang 14TÓM TẮT KHOÁ LUẬN
Khóa luận tốt nghiệp này là một nghiên cứu mới của tôi trong việc tìm kiếmmột kiến trúc mạng nơ-ron tích chập tối ưu cho bài toán nhận diện giọng ngườinói Tiếng Việt Đầu vào là âm thanh giọng nói của một người, đầu ra xác địnhtên của người đã nói Đây là bài toán có rất nhiều ứng dụng trong đời sống thực
tế, nhất là khi IoT cũng như AI đang phát triển mạnh mẽ Hiện tại, ta có thể điềukhiển các thiết bị trong gia đình bằng giọng nói, ở đó thiết bị đóng vai trò nhận
lệnh từ người dùng sẽ thực hiện phân biệt giọng nói của chủ, các thành viên trong
gia đình và người lạ để từ đó có những phân quyền điều khiển chúng một cáchthích hợp Các nghiên cứu trong bài toán gặp cản trở rất lớn từ chi phí tính toáncũng như dữ liệu giọng nói Tiếng Việt được chuẩn hóa, công khai và hợp pháphóa là không có sẵn, từ đó yêu cầu những người nghiên cứu như tôi phải thựchiện tự thu thập dữ liệu và chuẩn hóa nó với số lượng lớn.
Tại hội nghị CVPR 2017, với bai bao Genetic CNN Lingxi Xie va Alan Yuille
đã dé xuất một phương pháp tìm kiếm kiến trúc mang nơ-ron tích chập cho baitoán Image Classification (phân loại hình ảnh) với giải thuật tiến hóa đơn giản
(sGA - Simple Genetic Algorithm) Ở đó, hai ông đã thực hiện mã hóa các kiến
trúc mạng nơ-ron tích chập thành một chuỗi nhị phân có định và sử dụng sGAvượt qua không gian tìm kiếm rộng lớn để tìm ra các kiến trúc mạng tối ưu Tham
khảo ý tưởng của Lingxi Xie va Alan Yuille, tôi thực hiện khóa luận này trên dữ
liệu hoàn toàn khác biệt với dữ liệu mà hai ông đã trình bày trong bài báo là
dữ liệu về âm thanh giọng nói và ở khóa luận này là giọng nói Tiếng Việt Haithuật toán tiến hóa chính được tôi nghiên cứu và sử dụng trong luận văn củamình là: Simple Genetic Algorithm (sGA, thuật toán đi truyền đơn giản), và NonDominated Sorting Genetic Algorithm (NSGA-H, thuật toán di truyền sắp xếpmiễn không thống trị ii) Trong đó, sGA sẽ sử dụng một số phép biến đổi nhưchọn lọc, trao đổi chéo và đột biến để tìm kiếm kiến trúc mạng tối ưu; NSGA-
II qua các bước biến đổi (trao đổi chéo, đột biến), sắp xếp miền không thống trị(nondomiate sorting), sắp xếp khoảng cách đông đúc (crowding distance sorting)
để tìm kiếm ra kiến trúc mạng tối ưu về cả độ chính xác và độ phức tạp tính toán
Mục tiêu của khóa luận là nghiên cứu, tìm kiếm một kiến trúc mạng nơ-rontích chập tối ưu cho bài toán nhận diện giọng nói Tiếng Việt bằng giải thuật tiến
Trang 15hóa Bên cạnh đó, tôi cũng không quên thực hiện so sánh kiến trúc mạng mà tôitìm kiếm được với những kiến trúc mạng hiện có hay những phương pháp hiệnđại đương thời cho bài toán nhận diện giọng người nói và đồng thời tôi cũng đưa
ra bộ dữ liệu Famous Voice do tôi cùng Bùi Đức Cường thu thập và xử lý Có thểnói khóa luận là sự công bồ của tôi về một kiến trúc mạng nơ-ron tích chập mới
- VoiceNet, kiến trúc mạng tối ưu cho bài toán nhận diện giọng người nói TiếngViệt Cuối cùng, tôi có xây dựng một ứng dụng mang tên VoiceNet-App với mụcđích trực quan hóa kết quả dự đoán của mô hình VoiceNet
Trang 16Chương 1
TỔNG QUAN
Trong chương này tôi giới thiệu tổng quan về một số phương pháp tìm kiếmkiến trúc mạng nơ-ron tích chập với thuật toán tiến hóa cho bài toán nhận diệngiọng người nói Tiếng Việt, các ứng dụng thực tế và một số thách thức của bàitoán Đồng thời tôi cũng trình bày về mục tiêu, phương pháp thực hiện và những
đóng góp của tôi trong khóa luận này.
11 Giới thiệu bài toán
NAS (Neural Architecture Search, tìm kiếm kiến trúc thần kinh) là một kỹthuật tự động hóa thiết kế mạng thần kinh nhân tạo, một mô hình được sử dụngrộng rãi trong lĩnh vực học máy NAS đã được sử dụng để thiết kế các mạngngang tầm hoặc vượt trội so với các kiến trúc được thiết kế bằng tay Các phươngpháp cho NAS có thể được phân loại theo không gian tìm kiếm, chiến lược tìmkiếm và chiến lược ước tính hiệu suất Một số phương pháp có thể kể tên như:
Reinforcement Learning, Evolution, Hill-Climbing, Multi-Objective Search,
Su-pernetwork Seach, Trong khóa luận này, tôi sử dụng hai phương pháp chính
đó là Evolution và Multi-Objective Search để tìm kiếm kiến trúc mạng nơ-rontích chập tối ưu cho bài toán nhận diện giọng người nói Tiếng Việt Tuy nhiên,việc vượt qua không gian tìm kiếm rộng lớn tốn rất nhiều thời gian và chi phítính toán, đó là sự can trở lớn đối với tôi
Nhận diện người nói (Speaker Recognition) là nhận diện một người từ các đặc
điểm giọng nói của họ Được trả lời cho câu hỏi "Ai đang nói?" Ta có thể hiểu rõ
Trang 17Chương 1 TỔNG QUAN 2
hon qua hinh{1.1]
đà —
VOICE SIGNAL
HINH 1.1: Minh họa bài toán Speaker Recognition
¢ Dau vào: voice signal, tín hiệu âm thanh giọng nói.
© Đầu ra: name, tên người nói
12 Thách thức
Hiện nay, với sự phát triển của khoa học công nghệ, khả năng tính toán củamáy tính đã cải thiện đáng kể, từ đó thúc đẩy sự phát triển của các bài toán vềNAS, sự phát triển này đã cho ra các kiến trúc mạng mới mà hiệu quả chúng làngang bằng hoặc hơn so với các kiến trúc SOTA hiện nay Có thể kể đến như NS-
GANetV2 [23] được Zhichao Lu va cộng sự đã giới thiệu tại hội nghị ECCV 2020.
NSGANetV2 [23] đã thể hiện sự vượt trội của mình khi đạt được độ chính xác
93.5% trên bộ dữ liệu ImageNet trong khi đó MobileNet V2 chỉ đạt được độchính xác 91% Ở đó, Zhichao Lu và cộng sự đã mắt hai ngày cho 8-GPU Server để
thực hiện tìm kiếm kiến trúc mạng nơ-ron trên bộ dữ liệu ImageNet Tuy nhiên,đối với những người thực hiện nghiên cứu như tôi, để tiếp cận với các cầu hìnhmáy tính như Zhichao Lu là điều khó khăn Như vậy, thách thức lớn nhất của tôi
là chỉ phí tính toán trong nghiên cứu là khá lớn, ở đó tôi cần vượt qua không giantìm kiếm khoảng 4096 kiến trúc mạng nơ-ron tích chập để tìm ra kiến trúc mạngnơ-ron tích chập phù hợp cho dé liệu giọng nói Tiếng Việt
Trang 18Chương 1 TỔNG QUAN 3
HÌNH 1.2: Nhiều nguồn âm tạo nên sự phức tạp, nhiễu trong việc
thu thập dữ liệu âm thanh giọng nói của một người
Bên cạnh chỉ phí tính toán là dữ liệu cho nghiên cứu Tôi cần một bộ dữ liệuchuẩn (âm thanh chuẩn, được công khai và giọng nói là giọng của người ViệtNam - bởi vì nghiên cứu của tôi hướng đến giọng nói của người Việt Nam) Tuynhiên, tại thời điểm tôi thực hiện nghiên cứu là không có sẵn, điều đó buộc tôiphải tự thu thập dữ liệu trên Internet Như ta biết, âm thanh rat dé có nhiễu và
đa số là hợp âm, vì thé để thu thập được dit liệu đơn âm của một người là việc rấtkhó khăn Khi dữ liệu không tốt thì nghiên cứu sẽ thất bại vì thế tôi đặt ưu tiên
hàng đầu cho việc thu thập và xt lý dit liệu
1.3 Mục tiêu, nội dung thực hiện và đóng góp
1.3.1 Mục tiêu
® IơT cùng với AI phát triển không ngừng, những thiết bị Internet of Thing
đã xuất hiện nhiều hơn và ngày càng được biết đến rộng rãi, bây giờ chúng
ta có thể điều khiển các thiết bị trong gia đình bằng giọng nói, tuy nhiênkhi bất cứ ai ra lệnh thì chúng đều thực thi, điều đó sẽ không tốt khi đượcyêu cầu vì mục đích xấu Như vậy, yêu cầu đặt ra là các thiết bị trung gian
đó như Google Home hay Alexa phải nhận diện được giọng nói của từng
Trang 19Chương 1 TỔNG QUAN 4
người, và có những phân quyền điều khiển thích hợp Tuy nhiên, hiện tại,các quản gia ảo kể trên vẫn chưa tích hợp nhận diện giọng nói và bỏ ngỏviệc phân quyền điều khiển Tìm kiếm một giải pháp tối ưu, khả thi trêncác thiết bị IoT để phục vụ cho mục đích phân quyền điều khiển là mục tiêuđầu tiên mà tôi hướng tới
® Mỗi chúng ta đều có một giọng nói khác nhau, tùy thuộc vào độ dai và
sức căng của dây thanh đới sẽ quyết định âm điệu tiếng nói Tuy nhiên, đểchúng ta nhận diện được giọng nói của một ai đó là điều rất khó khăn (cầnthời gian tiếp xúc lâu, giao tiếp nhiều và trí nhớ tốt) Bên cạnh đó, mạng nơ-ron tích chập (CNN) là một giải pháp tiên tiến để nhận dạng hình ảnh, cáckiến trúc mạng như LeNet, AlexNet, GoogleNet, ResNet, DenseNet, rađời và đã chứng tỏ sự hiệu quả của chúng, thực tế cho thấy chúng ta cũng
áp dụng Convolutional Neural Network cho dt liệu giọng nói tuy nhiên chúng ta đã sử dụng chúng theo cách áp dụng và thủ công - dựa trên kinh
nghiệm và kiến thức của con người, như vậy, mục tiêu thứ hai mà tôi hướngtới đó chính là khả năng học tự động các kiến trúc mạng nơ-ron tích chậptối ưu cho bài toán nhận diện giọng người nói mà trong khóa luận của tôi
là giọng người nói tiếng Việt
Theo đó, nghiên cứu này của tôi hướng đến mục tiêu là tìm ra kiến trúc mạng
nơ-ron tích chập thích hợp cho toán nhận diện giọng người nói, và trong nghiên
cứu này là giọng nói Tiếng Việt chuẩn (đơn âm, không bị biến đổi - thay đổi giọngnói) sao cho việc tích hợp vào các thiết bị IoT là khả thi cho mục đích phân quyền
người dùng.
1.3.2 Nội dung thực hiện
© Thu thập, chuẩn hóa hai bộ dữ liệu về âm thanh, một về giọng nói của các
nghệ sĩ, ca sĩ và vloger nổi tiếng thời điểm hiện tại (2020) của Việt Nam vàmột về giọng nói thông thường của người dân Việt Nam
© Tìm hiểu về NAS (neural architecture search, tìm kiếm kiến trúc mang) sử
dụng GA (Genetic Algorithm, thuật toán đi truyền) và thuật toán tìm kiếm
đa mục tiêu (Multi-Objective Search Algorithm) trên dữ liệu hình ảnh, từ
Trang 20Chương 1 TỔNG QUAN 5
đó học hỏi cách thức nghiên cứu của tác giả để áp dụng trên dữ liệu âm
thanh giọng nói.
© Tìm hiểu về các kiến thức toán học được dùng cho quá trình xử lý tín hiệu
âm thanh, cách xử lý tín hiệu âm thanh giọng nói, tìm hiểu về các phươngpháp trích xuất đặc trưng âm thanh tốt nhất hiện nay như SincNet hay
MECC (Mel Frequency Cepstral Coefficients).
e Xây dung mô hình chung để thực hiện tìm kiếm kiến trúc mang nơ-ron tích
chập, tôi gọi là Model2Model, việc thiết kế Model2Model sẽ bao gồm haiquá trình encoder (mã hóa) thực hiện việc mã hóa kiến trúc mạng nơ-ronthành chuỗi số nhị phân, quá trình decoder (giải mã) từ chuỗi số xây dungkiến trúc mạng nơ-ron tích chập
¢ Đánh giá, so sánh mô hình tìm được với các mô hình, phương pháp hiện tại
được sử cho việc nhận diện giọng người nói.
° Xây dựng một ứng dụng đơn giản nhằm mục đích trực quan hóa kết qua
dự đoán của mô hình VoiceNet-App.
1.3.3 Dong góp
Từ mục tiêu mà tôi dé ra va những kết quả trong quá trình thực nghiệm, tôi
đã có những đóng góp sau:
s Xây dựng hai bộ dữ liệu: Famous Voice bộ dữ liệu chứa giọng nói của bốn
mươi nghệ sĩ, ca sĩ và vloger nổi tiếng thời điểm hiện tại (2020) Bộ dữ liệu
VietNam Voice chứa giọng nói của hai mươi người Việt Nam Các bộ dữ
liệu hoàn toàn có thể được áp dụng cho các bài toán khác nhau nhất là bàitoán Speech Recognition (nhận dang tiếng nới) nếu được tinh chỉnh lại một
cách hợp lý và thực hiện thêm nhãn cho bộ dữ liệu.
¢ Khóa luận không những cung cấp một cách nhìn chi tiết về cách xử lý trên
dit liệu âm thanh, mà còn đưa ra các hướng dẫn về phương pháp trích xuấtđặc trưng về dir liệu âm thanh
Trang 21Chương 1 TỔNG QUAN 6
* Qua việc tìm hiểu các phương pháp NAS trên dữ liệu là hình ảnh, tôi đã xây
dựng một mô hình chung cho việc tìm kiếm kiến trúc mạng trên dữ liệu âm
thanh là giọng nói của người Việt Nam.
* Cung cấp cách áp dung các thuật toán tiến hóa: genetic và nsga-ii vào việc
tìm kiếm các kiến trúc mạng neural tích chập tối ưu
© Tìm kiếm một kiến trúc mạng tối ưu về độ chính xác và chi phí tính toán
cho bài toán nhận diện giọng người nói Tiếng Việt VoiceNet là tên tôi đặtcho kiến trúc mạng nơ-ron mà tôi tìm được
¢ Xây dựng được một chương trình ứng dụng đơn giản, thực hiện được một
số tác vụ cơ bản như: nhận điện giọng người nói, cho ta biết giọng ta nói gầngiống với giọng nói của nhân vật nổi tiếng nào nhất và một số chức năng
khác.
® Cung cấp hoàn chỉnh kiến trúc mô hình, pre-train mô hình VoiceNet mà tôi
tìm kiếm được trên bộ dữ liệu VietNam Voice Public bộ dữ liệu VietNam
Voice và source code của chương trình ứng dụng.
Link source:|https: / /github.com/nguyentruonglau
1.4 Cấu trúc khóa luận tốt nghiệp
Phần còn lại của khóa luận được tôi tổ chức như sau: Chương [2] tdi trinh bay
các kiến thức toán hoc can thiết trong xử ly tín hiệu âm thanh, từ đó giúp ta có cáinhìn sâu hơn về mặt toán học đối với dir liệu của chúng ta, bên cạnh đó, tôi cũngtrình bày các công trình liên quan đến bài toán Speaker Recognition cũng như
một số kiến thức nền tảng về các kĩ thuật trích xuất đặc trưng âm thanh giọng
nói được áp dụng Chương || tôi đề cập về cơ chế mã hóa mô hình, đây là một
trong những phần quan trọng và mang yếu tố quyết định đến việc thành công
của khóa luận Chương || tôi giới thiệu về bộ dữ liệu Famous Voice và VietNam
Voice, đây là hai bộ dữ liệu về âm thanh giọng nói của người Việt Nam do tôi
cùng Bùi Đức Cường thu thập được Chương [5 tôi trình bày về giải thuật tiến
hóa cũng như cách áp dụng, thực nghiệm giải thuật tiến hóa trong việc tìm kiếm
kiến trúc mạng nơ-ron tích chập mạng tối ưu Tương tự, Chuong (6] tdi trinh bay
Trang 22Chương 1 TỔNG QUAN 7
về giải thuật NSGA-II và cách áp dụng, thực nghiệm giải thuật NSGA-II trong
việc tìm kiếm kiến trúc mạng nơ-ron tích chập mạng tối ưu về cả độ chính xác và
chi phí tính toán Chuong|7| tôi đưa ra những so sánh, đánh giá trên nhiều khía
cạnh đối với những kiến trúc mang mà tôi tìm kiếm được so với những kiến trúcmạng hiện đại đương thời, và cuối cùng tôi nêu kết luận và những hạn chế để từ
đó đề ra hướng phát triển sắp tới
Trang 23Chương 2
CÔNG TRÌNH LIÊN QUAN VÀ
KIÊN THUC NEN TANG
Trong chương nay, tôi trình bay một số công trình liên quan đến bài toánSpeaker Recognition, bên cạnh đó tôi cũng trình bày về cách xử lý tín hiệu âmthanh giọng nói cũng như các kiến thức toán học liên quan Tôi cũng trìn bày mộtcách chỉ tiết về các phương pháp trích xuất đặc trưng hiện đại hiện nay trên dữliệu âm thanh giọng nói phục vụ cho quá trình nghiên cứu về sau của khóa luận
2.1 Công trinh liên quan
Trong nội dung này, tôi trình bày một số công trình liên quan đến bài toánnhận diện giọng người nói (speaker recognition) Các công trình chủ yếu tậptrung vào việc nâng cao kỹ thuật trích xuất đặc trưng âm thanh cùng với việckết hợp các kiến trúc về mạng thần kinh học sâu (deep neural network) hay mạngthần kinh tích chập (convolutional neural network) để đưa ra một mô hình dựđoán hiệu quả Da phan, việc thiết kế các kiến trúc mạng thần kinh tích chập là
thủ công.
2.1.1 SincNet
Xử lý trực tiếp tín hiệu âm thanh thô hay nói cách khác là có thể áp dụng trực
tiếp các phương pháp học sâu vào tín hiệu âm thanh ban đầu mà không qua bắt
cứ phương pháp trích xuất đặc trưng nào khác là điều mà chúng ta mong muốn.Trên tư tưởng đó, Mirco Ravanelli và Yoshua Bengio đã đưa ra được một kiến
Trang 24Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 9
trúc mô hình mới, gọi la SincNet [19], mô hình có thể nhận diện giọng người nói
HINH 2.1: Kiến trúc mô hình SincNet
Trong hình [2.1] phần SincNet Filters là các bộ lọc SincNet, được mô tả theo
công thức:
gin, fi, fo] = 2fosinc(27 fon) — 2fisinc(27 fin) (2.1)
Nhu vậy, bộ loc SincNet chỉ học duy nhất hai giá trị la f, va fo trong suốt quátrình đào tạo thay vì học tất cả các tham số như bộ lọc CNN thông thường
Theo sau các bộ lọc SincNet là các layer phổ biến trong học sâu như: Pooling,Norm, Leadky ReLU, Dropout, điều khác biệt là các lớp này là 1D thay vì 2D nhưtrong xử lý hình ảnh Các layer này sẽ được kết nối với các bộ lọc CNN hoặc bộlọc DNN và cuối cùng là lớp Softmax, dự đoán với đoạn tín hiệu âm thanh thôban đầu
2.1.2 VGGVox
Trong nhận diện giọng người nói, điều khó khăn nhất là âm thanh giọng nói
mà chúng ta thu được luôn luôn tổn tại nhiễu Nguồn nhiễu rất đa dạng có thể
kể đến như: nhiễu từ mic thu (tùy thuộc vào mic tốt hay không tốt thì nhiễu thu
được sẽ ít hay nhiều), âm thanh xung quanh môi trường thu âm, Tuy nhiên,
trong bài báo "VoxCeleb2: Deep Speaker Recognition (12', Joon Son Chung và
cộng sự đã đưa ra một kiến trúc mới có thể nhận diện tốt giọng người nói từ dữ
Trang 25Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 10
liệu nhiễu và không bị han chế (Voxceleb2 là bộ dữ liệu chứa hơn một triệu câu
nói của trên 6000 người được Joon Son Chung và cộng sự thu thập được từ các
phương tiện truyền thông, giọng nói thu thập được chứa cả các âm thanh tiếngcười, tiếng nói chuyện, âm nhạc và các âm thanh khác, đa ngôn ngữ và đa lứatuổi)
layer name res-34 res-50
conv] 7 x 7,64, stride 2 7 x 7, 64, stride 2
pooll 3 x 3, max pool, stride 2 3 x 3, max pool, stride 2
fel 9 x 1,512, stride | 9 x 1, 2048, stride 1
pool_time 1 x N, avg pool, stride 1 | 1 x N, avg pool, stride 1
fc2 1x1,5994 1 x 1,5994
HINH 2.2: Thay đổi kiến trúc mô hình ResNet-34 và ResNet-50 với
average pool được đặt ở cuối Lớp kích hoạt ReLu và lớp Chuẩn hóa
theo khối (Batchnorm) không được biểu diễn, ảnh từ [12].
Kiến trúc được Joon Son Chung giới thiệu được gọi là VGGVox 2l, đây là
một hệ thống nhúng thần kinh (neural embedding system) Hệ thống được đàotạo trên các phổ cường độ ngắn được trích xuất trực tiếp từ các đoạn âm thanhthô, không có tiền xử lý khác Một kiến trúc mạng thần kinh sâu được sử dụng
để trích xuất các đặc trưng ở mức frame (khung) Quá trình đào tạo mô hình sử
dụng hàm lỗi tương phản (contrastive loss) trong khi mô hình được đào tạo trước
(pre-train model) sử dụng lớp softmax và hàm lỗi là cross-entropy qua một danhsách có định gồm nhiều giọng người nói để nâng cao hiệu suất
Trang 26Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 11
VGG-M là kiến trúc mang nơ-ron tích chập co sở trong kiến trúc mô hình GVox, tuy nhiên, ở VGGVox có một sự điều chỉnh: thay thé 6 lớp kết nối day đủ(fully connected) bằng 2 lớp kết nối day đủ (hỗ trợ trong miễn tần số) và một lớpaverage pool Lợi ích của sửa đổi này là mạng trở nên bắt biến đối với thời gianđiều thích hợp cho giọng nói, đồng thời giúp giảm số lượng tham số mô hình.Bên cạnh VGG-M, tác giả cũng sử dụng ResNet-34 và ResNet-50 làm kiến trúc
VG-cơ sở cho mô hình của ông, cũng giống như VGG-M, Joon Son Chung và cộng
sự của ông đã có những sự thay đổi như hình |2.2| để thích ứng với đầu vào làquang phổ Kết quả, kiến trúc dựa trên ResNet50 đạt hiệu quả cao nhất với độ lỗi
là 0.429 thấp nhất trên bộ dữ liệu VoxCeleb trong các kiến trúc mô hình dựa vào
ResNet-34 hay VGG-M.
2.2 Kiến thức nên tang toán học
2.2.1 Biên doi Fourier
Biến đổi Fourier rời rac
Trong xử lý tín hiệu, biến đổi Fourier rời rạc (ol la su chuyén đổi tin hiệu
thời gian rời rạc thành các thành phần biên độ và tần số Dãy của N số phức:
#0, „XN_1 được biến đổi thành chuỗi của N số phức Xọ, ,XN_1 bởi công thức:
N-1
X(k) = Vo xn exp (kn) (2.2)
=0
n
Với k = 0,1,2,3, ,N — 1, e là cơ số của logarit tự nhiên, i là đơn vị ảo
Việc tính trực tiếp biểu thức [2.2.1] theo định nghĩa trên đòi hỏi O(N?) phép
tính: có N số X; cần tính, để tính mỗi số cần tính tổng N số hạng Do đó, biếnđổi Fourier nhanh (Fast Fourier Transform - FFT) ra đời FFT là một thuật toán rấthiệu quả để tính toán DFT, có nhiều loại thuật toán FFT khác nhau sử dụng cáckiến thức từ nhiều mảng khác nhau của toán học, từ số phức tới lý thuyết nhóm
Trang 27Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 12
va lý thuyết số
Thuật toán FFT phổ biến nhất là thuật toán FFT Cooley-Tukey (11) Day là một
thuật toán chia để trị dùng đệ quy để chia bài toán tính DET có kích thước hợp
số N = N¡N; (hợp số là một số tự nhiên có thể biểu diễn thành tích của hai số tựnhiên khác nhỏ hơn nó) thành nhiều bài toán tính DFT nhỏ hơn có kích thước Nj
và Na FFT cho độ phức tạp tính toán là O(Nlog(N)) nhanh hơn khá nhiều so với
DFT.
Biến đổi Fourier rời rac ngược
Thực hiện phép biến đổi Fourier ngược (Inverse Discrete Fourier Transform
-TDET) được cho bởi công thức sau:
x(n) = — )_ X, exp (——kn) (2.3)
Với n = 0,1,2,3, ,N — 1
Nhu vậy, phép biến đổi FDT và IDET có thể được mô tả đơn giản như sau: các
số phức X; đại diện cho biên độ va pha ở các bước sóng khác nhau của tín hiệu
vào +x„ Phép biến đổi DFT tính các giá trị Xự từ các giá trị x, trong khi IDFT tính
x, bằng tổng của các sóng thành phần 4X; exp (2k) với tần số &.
2.2.2 Lay mẫu dữ liệu và định lý lay mau Nyquist
Lay mau dữ liệu
Trong xử lý tín hiệu, lay mẫu dữ liệu là quá trình chuyển đổi một tín hiệu liên
tục thành một tín hiệu rời rạc Một mẫu chứa một giá trị tương ứng với cường độ
của tín hiệu tại thời điểm đó trên trục thời gian tương ứng.
Theo hình s(t) là một tín hiệu liên tục được lay mẫu, việc lay mẫu đượcthực hiện bằng cách đo các giá trị của tín hiệu liên tục ở thời điểm mỗi giây T, Tđược gọi là thời gian lấy mẫu Nhu vậy, tín hiệu sau khi được lay mẫu s[n] được
cho bởi công thức sau:
s[r] = s(mT) (24)
Trang 28Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 13
S(t) 5)
19 11 1 13
HINH 2.3: Lay mẫu tín hiệu, các tín hiệu liên tục có màu xanh lục.
Các châm màu xanh lam là các giá trị rời rạc của mẫu tín hiệu, (ảnh
từ (41)
Dinh ly lay mau Nyquist
Định lý lay mẫu được Nyquist-Shanno được phát biểu như sau: "Mộthàm số tín hiệu x(t) không chứa bat kỳ thành phần tan số nào lớn hơn hoặc bangmột giá trị ƒ„ có thể biểu diễn chính xác bằng tập các giá trị của nó với chu kỳ lay
lượng tử của nguyên tử.
Lượng tử hóa (quantization) [3] có thể hiểu một cách đơn giản rằng: đó là quátrình xấp xỉ một tập đại lượng có giá trị tương đối lớn hoặc thay đổi liên tục (hoặcthay đổi một cách rời rạc trong một khoảng rất nhiều giá trị) Trong việc lượng tửtín hiệu âm thanh, chúng ta thực hiện biến tín hiệu tương tự thành tín hiệu sé,với mục đích biểu diễn lại một cách chính xác nhất các tín hiệu tương tự bằng tínhiệu số
Trang 29Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 14
HÌNH 2.4: Tín hiệu được lượng tử hóa, ảnh tử
2.2.4 Kỹ thuật chuẩn hóa min-max
Trong kỹ thuật chuẩn hóa min-max (sh, ĐỌI ming, Và max, lần lượt là giá trị
nhỏ nhất và lớn nhất của thuộc tinh A Giá trị sau khi chuẩn hóa min-max có giátrị v của thuộc tinh A vào miền giá trị mới new — ming, new — 11a A là:
[ Ö — ming
v= ——(new — max, — new — min,) + new — min, (2.5)
max, — mina
Trong đó, v’ là giá tri mới của v trong miễn giá trị mới
2.3 Kiến thức nên tảng xử lý tín hiệu âm thanh
Trong chương này, tôi trình bày một số kiến thức nền tảng đóng vai trò quantrọng trong việc tìm kiếm kiến trúc mạng nơ-ron tích chập cho bài toán nhận diệngiọng người nói Tiếng Việt Cụ thể, tôi trình bày về các kiến thức liên quan đếntín hiểu âm thanh từ đó làm cơ sở để áp dụng các kỹ thuật trích chọn đặc trưng
trên dữ liệu âm thanh một cách thích hợp.
2.3.1 Tín hiệu âm thanh
Audio Signal (tín hiệu âm thanh) là một đại diện của âm thanh, thường sử
dụng mức điện áp cho tín hiệu tương tự hoặc một chuỗi số nhị phân cho tín hiệu
kỹ thuật số Tín hiệu âm thanh có tần số trong dải từ 20 đến 20.000 Hz, tương
Trang 30Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 15
ứng với giới hạn dưới va trên của thính giác con người Tin hiệu âm thanh có thé
được tổng hợp trực tiếp hoặc có thể bắt nguồn từ một bộ chuyển đổi như micrô,đầu băng Loa hoặc tai nghe chuyển đổi tín audio signal trở lại thành âm thanh
Thời gian (giây)
HÌNH 2.5: Minh họa tín hiệu âm thanh
Trong hình|2.5Ìhoành độ tương ứng với miễn thời gian (time, đơn vi second
-giây) và trung độ là giá trị biên độ của âm thanh (amplitude) Tùy vào sự to nhỏ của âm thanh mà giá trị biên độ là khác nhau.
Original Analog Signal Sampled Digital Signal
HÌNH 2.6: Lay mẫu và lượng tử hóa tín hiệu âm thanh
Hình|2.6]biểu diễn quá trình lay mẫu|2.2.2|và lượng tử hóa|2.2.3|đồi với tín hiệu
âm thanh theo trục thời gian t Giả sử, tần số của đoạn âm thanh gốc fn = 40 thì
tần số lấy mẫu sẽ là ƒ; = 80 theo định lý lấy mẫu Nyquist|2.2.2| Điều đó đồng
nghĩa là cứ một giây ta sẽ thực hiện lay mẫu 80 lần Tại mỗi lần lay mẫu tín hiệu,
ta sẽ thực hiện lượng tử hóa|2.2.3|tín hiệu đó
Trang 31Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 16
Nhu vậy, giả sử chúng ta can 4 bits dữ liệu dé biểu diễn cho cường độ tin hiệucủa quá trình lay mẫu, thì số mức cường độ tương ứng sẽ là 2 = 16 mức, việc sử
dụng nhiều bits dữ liệu để biểu thị cho cường độ của âm thanh sẽ giúp làm trơn
tín hiệu âm thanh sau quá trình lượng tử Hình {2.6} ta thấy, ở trên mức cường
độ 0 (trục hoành), hai đỉnh đồ thị đều được biểu diễn là 8 tuy hai đỉnh này ở tínhiệu gốc có sự chênh lệch nhau về mặt biên độ, quá trình này tương ứng với quátrình làm tròn về mức cường độ gần nhất mà giá trị cường độ của tín hiệu analog(tương tự) thuộc vẻ
Một số thông số có thể được dé cập đến khi nhắc vẻ tín hiệu số âm thanh nhưsau: bit depth (độ sâu bit) là số bits dữ liệu dùng cho biểu diễn số mức tương ứngkhi chuyển dữ liệu tương tự sang dữ liệu số; channels - được hiểu là số kênh âmthanh, nếu âm thanh một kênh thì channels sẽ là Mono, âm thanh hai kênh thì
channels sẽ là Stereo,
2.3.2 Kỹ thuật trích xuất đặc trưng
2.3.3 SincNet
Nam 2019, Mirco Ravanelli va Yoshua Bengio với bai bao Speaker recognition
from raw waveform with sincnet đã đưa ra một kỹ thuật trích xuất đặc trưng âm
thanh mới mang tên SincNet.
SincNet là một kiến trúc thần kinh để xử lý các mẫu âm thanh thô Đó là mạngnơ-ron tích chập (convolutional neural network) mới khuyến khích lớp tích chậpđầu tiên khám phá các bộ lọc có ý nghĩa hơn SincNet dựa trên các hàm Sinc đượctham số hóa, triển khai các bộ lọc băng thông (band-pass filter)
Ngược lại với CNNs tiêu chuẩn, tìm hiểu tất cả các yếu tố của mỗi bộ lọc, chỉ
có tan số cắt thấp và cao được học trực tiếp từ dữ liệu với phương pháp được déxuất Điều này cung cấp một cách rất nhỏ gọn và hiệu quả để tạo ra một nhóm bộlọc tùy chỉnh được điều chỉnh cụ thể cho ứng dụng mong muốn
Một số cải tiến của SincNet với các mang CNN chuẩn:
Trang 32Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 17
BANG 2.1: Cải tiến của SincNet so với CNN chuẩn
Theo đó, mạng CNN chuẩn sẽ học trên tất cả các phần tử cho mỗi bộ lọc, trongkhi đó SincNet chỉ hoc 6 tham số của bộ lọc xác định trước (predefined kernel)
Để có thể xác định được số lượng tham số cần học, ta cần chọn hàm số g[n, 6] đểthực hiện một nhóm các băng thông bộ lọc (band-pass filter) trong đó các tần số
cắt giảm (cutoff frequence) thấp và cao là các tham s6 duy nhất được học
glx, fi, fo] = 2fosince(27 fox) — 2hsinc(2xfnx) (2.6)
Ham gị[x, fi, fo] trong miễn thời gian, trong đó hàm Sinc được định nghĩa là:sinc(x) = sin(x) /x, tần số cắt (cut-off frequencies) được chọn ngẫu nhiên trongkhoảng |0, f;/2], fs đại diện cho tần số lay mẫu của tín hiệu đầu vào
Như vậy, nếu số lượng filter được sử dụng là F và chiều dai cho mỗi filter là
L thi CNN chuẩn sẽ có F.L tham số cần tối ưu, trong khi đó, SincNet chỉ cần 2.Ftham số (tương ứng với ƒ¡ và fz) Số lượng tham số của SincNet là ít di đáng kể
Trang 33Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 18
HINH 2.8: Mô hình chung của công đoạn trích xuất đặc trưng
Mel-Frequency Cepstral Coefficients, ảnh từ
2.3.4 Mel frequency cepstral coefficient
MECC - Mel-Frequency Cepstral Coefficients là phương pháp trích xuấtđặc trưng âm thanh được dùng phổ biến nhất trong hầu hết các bài toán liên quanđến giọng nói như Speaker Recognition (nhận diện giọng người nói), SpeechRecognition (nhận dạng tiếng nói),
Một cách tổng quát, việc tính MECC có thể được xử lý như sau: cắt chuỗi tínhiệu âm thanh thành các đoạn ngắn bằng nhau (25ms) và chồng lên nhau (10m8).Mỗi đoạn âm thành này được biến đổi, tính toán để thu được 39 đặc trưng có tínhđộc lập cao, ít nhiễu, đủ nhỏ để đảm bảo tính toán, đủ thông tin để đảm bảo chất
lượng cho các thuật toán nhận diện.
Trang 34Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 19
Analog to digital conversion va pre-emphasis
Analog to digital conversion
Âm thanh là dạng tín hiệu liên tục, trong khi đó máy tính làm việc với các con
số rời rạc Ta cần lấy mẫu tại các khoảng thời gian cách đều nhau với một tần sốlấy mẫu (sample rate) xác định để chuyển tín hiệu liên tục về dạng rời rạc Giả sửtần số lay mẫu của ta sample — rate = 8000 tức trong một giây ta lay 8000 giá trị
Analog _.
% [ je Gro =
HINH 2.9: Minh họa quá trình chuyển đổi tín hiệu tương tự sang tín
hiệu số, ảnh từ
Tai người nghe được âm thanh trong khoảng 20Hz -> 20.000Hz Theo đỉnh lý
lay mẫu Nyquist-Shannon nhu vay, dé dam bao viéc khéng mat mat thongtin, tan số lay mẫu của tôi là ƒ; = 44.100Hz
Bộ lọc pre-emphasis được áp dung cho tín hiệu âm thanh x theo công thức
sau:
x'(tq) = x(ta) — ax(ta — 1) (2.7)
Trang 35Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 20
x'[ta] = x[ta] — œx[ta—1] 0.95 < œ< 0.99
20) 204
-404 404
° Frequency (Hz) 22080 ° Frequency (Hz) 5
HÌNH 210: Bộ lọc Pre-Emphasis dùng trong việc kích hoạt các tín
hiệu âm thanh ở tần số cao, ảnh từ 10|
Với x(t) là thể hiện giá trị biên độ âm thanh theo thời gian, hệ số bộ loc ø cógiá trị trong khoảng 0.95 đến 0.99 Hình thể hiện, các tín hiệu ở tần số cao đã
được kích hoạt sau khi áp dụng pre-phasis.
Trang 36Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 21
Do tốc độ nói của con người trung bình khoảng 3 đến 4 từ mỗi giây nên độ rộngmỗi frame khoảng 20 - 25ms là vừa đủ rộng Các frame được overlap lên nhaukhoảng 10ms ghi nhận lại sự thay đổi nội dung của phần trước đó
Tuy nhiên, việc cắt frame sẽ làm các giá trị ở hai biên của frame giảm đột ngột(về giá trị 0), sẽ dẫn tới hiện tượng: khi biến đổi Fourier rời rạc sang miễn tần số
sẽ có rất nhiều nhiễu ở tần số cao Để khắc phục điều này, ta cần làm mượt bằng
cách nhân chập frame với một vài loại window Một số loại window phổ biến là
Hamming window, Hanning window, có tác dụng làm giá trị biên của frame
giảm xuống một cách đều đặng
Hình|2.13|cho thấy, hình số số (4) là frame được cắt ra từ âm thanh gốc, hình số
(1) là biểu diễn của tín hiệu âm thanh trong miễn tan số, cho ta biết âm thanh gốc
là sự kết hợp của hai sóng Nếu sử dụng rectangle window (tức là cắt trực tiếp),tín hiệu miễn tần số tướng ứng là hình số (2), ta có thể thấy tín hiệu này chứa rất
Trang 37Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 22
nhiều nhiễu Nếu áp dụng các window như Hanning, Hamming, Blackman tínhiệu miễn tần số thu được khá mượt và gần giống sóng gốc ở hình số (2)
kẻ 1X (we) | ——— “Thal a4 aly
Normalised fregency [f/pi] Normalised freqency [f/pi]
HINH 2.13: Hamming Window (3), Hanning Window (5), Blackman
Window (6), anh từ
Trong khóa luận, tôi sử dung Hamming Window Hamming Window được
cho bởi công thức sau:
271n N-1
to[n] = 0.54 — 0.46 cos (2.8)
Trong đó, 0 < n < N — 1,N là chiều dài của cửa sổ (window)
Discrete Fourier Transform
Trên từng frame, ta áp dung DFT - Discrete Fourier Transform theo công thức:
N-1
X[k] = }_ x[n] exp _ (2.9)
=0
Trang 38Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 23
Mỗi frame ta thu được một list các giá trị độ lớn (magnitude) tương ứng với
từng tần số từ 0->N Áp dụng trên tat cả các frame, ta đã thu được một
Spectro-gram (quang phổ) như hình |2.14| Trục x là trục thời gian (tương ứng với thứ tự
các frame), trục y là trục giá trị magnitude (độ lớn) tại từng tan số được thể hiệnbằng màu sắc Qua quan sát spectrogram này, ta nhận thấy tại các tần số thấpthường có magnitude cao, tần số cao thường có magnitude thấp
Cách cảm nhận của tai người là phi tuyến, không giống với các thiết bi do Tai
ta có thể cảm nhận tốt các âm ở tần số thấp và kém nhạy cảm với các tần số cao
Vì thé ta cần có một cơ chế mapping tương tự như vậy
Đầu tiên, ta bình phương các giá trị trong spectrogram thu được phổ côngsuất (DET power spectrum) Sau đó, ta áp dụng một tập các bộ lọc thông đải Mel-Scale filter trên từng khoảng tan số (mỗi filter áp dụng trên một dải tần xác định).Giá trị đầu ra của từng filter là năng lượng dải tần số mà filter đó bao phủ được
Ta thu được phổ công suất Mel-Scale (Mel-Scale Power Spectrum) Ngoài ra, cácfilter dùng cho dai tần thấp thường hẹp hơn các filter dùng cho dải tần cao
Tín hiệu trong miễn thời gian (time domain signal) x;(nø) với 0 = 0,1,2, ,L —
1 với L là độ dài của tín hiệu Sau khi được biến đổi Fourier rời rạc ta thu được tín
hiệu trong miễn tần số (w) X;(k) với k = 0,1,2, , 5 — 1 Sau đó, ta áp dụng một
tập các bộ lọc thông dai Mel-Scale Filter lên từng khoảng tan số, việc này sẽ cho
ra một tập các tín hiệu mới Cuối cùng, ta tính tổng tập các tín hiệu mới đó lại và
Trang 39Chương 2 CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 24
Mel~scale power spectrum Y[m]
HINH 2.15: Phổ công suất - Power Spectrum, anh từ
cho ta Y;(i) với i = 1,2, ,M, M là số tập bộ lọc thông dải, chính phổ công suất
Inverse discrete fourier transform
Giọng nói của chúng ta, tùy thời điểm mà có lúc ta có thể nói nhanh hoặcchậm khác nhau, do đó, tồn tại các tan số khác nhau trong giọng nói Người ta
ký hiệu F0 là tần số cơ bản và các formant (tần số định hình) F1, F2, F3 Tần số
F0 ở nam giới khoảng 125Hz trong khi đó ở nữ sẽ là 210Hz, đặc trưng cho độ cao
giọng nói của từng người, điều này lý giải đơn giản vì sao giọng nữ thường caohơn giọng nam Tuy nhiên, trong nghiên cứu để xác định giọng người nói haynhận diện giọng nói (speech recognition) thì các thông tin về cao độ này không
Trang 40Chương 2 CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 25
Time domain signal spectrum
HINH 2.16: Minh hoa qua trinh ap dung Mel-Scale Filter cho cac dai
tần khác nhau Kết quả thu được là Mel-Scale Power Spectrum, ảnh
từ [10]
giúp ích nhiều, nên ta cần tìm cách loại bỏ thông tin về F0 đi, giúp cho mô hình
nhận điện giọng người nói không phụ thuộc vào cao độ của từng người.
Trong hình [2.17] tín hiệu ta thu được là (3), (3) được tạo bởi (1) và (2), tuy
nhiên thông tin quan trọng chúng ta cần là (2) và thông tin cần loại bỏ là (1) Để
loại bỏ thông tin về F0, ta làm một bước biến đổi Fourier ngược (IDET - được tôi
trình bày trong phân [2.2.1] trong chương toán học cho xử lý tín hiệu âm thanh,
quá trình biến đổi IDFT tương ứng với quá trình chuyển đổi từ (3) sang (4) trong
hinh|2.17) về miền thời gian, ta thu được Cepstrum.
Khi đó, với Cepstrum thu được, phần thông tin liên quan tới F0 và phần thôngtin liên quan tới F1, F2, F3, nằm tách biệt nhau được trỏ bởi related to FO vàphone informations như (4) Ta chỉ đơn giản là lấy thông tin trong đoạn đầu củacepstrum (phần được đóng khung đỏ trong (4) Để tính MECC, ta chỉ cần lấy 12giá trị đầu tiên
Mel frequency cepstral coefficients
Nhu vậy, mỗi frame ta đã trích xuất ra được 12 đặc trưng cepstral là 12 đặctrưng đầu tiên của MFCC (Mel frequency cepstral coefficients), đặc trưng thứ 13