1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt

100 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
Tác giả Nguyễn Trường Lau
Người hướng dẫn TS. Lương Ngọc Hoàng
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 49,38 MB

Nội dung

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 3

DANH 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 4

LỜ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 5

132.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 6

2.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 7

5.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 8

7.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 9

Danh 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 10

3.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 11

7.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 12

Danh 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 13

Danh 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 14

TÓ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 15

hó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 16

Chươ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 17

Chươ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 18

Chươ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 19

Chươ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 20

Chươ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 21

Chươ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 22

Chươ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 23

Chươ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 24

Chươ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 25

Chươ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 26

Chươ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 27

Chươ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 28

Chươ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 29

Chươ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 30

Chươ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 31

Chươ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 32

Chươ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 33

Chươ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 34

Chươ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 35

Chươ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 36

Chươ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 37

Chươ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 38

Chươ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 39

Chươ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 40

Chươ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

Ngày đăng: 02/10/2024, 03:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bo Chen Dmitry Kalenichenko-Weijun Wang Tobias Weyand Marco An- dreetto Hartwig Adam Andrew G. Howard Menglong Zhu. MobileNets: Ef- ficient Convolutional Neural Networks for Mobile Vision Applications. In, 2017 Khác
[2] Grace Chu Liang-Chieh Chen-Bo Chen Mingxing Tan Weijun Wang Yukun Zhu Ruoming Pang Vijay Vasudevan Quoc V. Le Hartwig Adam Andrew Howard Mark Sandler. Searching for MobileNetV3. ICCV, 2019, pp. 51-57 Khác
[3] Istvan Kollar Bernard Widrow. Quantization noise in Digital Computation, Signal Processing, and Control. URL: http: // www. mit . bme . hu/ books /(accessed: 10.09.2020) Khác
[4] Mel Chua. Digital signal processing through speech, hearing, and Python. URL:https : //www.slideshare . net /mchua/ sigproc - selfstudy - 17323823(accessed: 10.09.2020) Khác
[5] Dive into Deep Learning. Residual Networks. URL: https: //d21.ai/chapter(accessed 10.09.2020) Khác
[6] Jean Baptiste Joseph Fourier. Discrete Fourier Transform. URL:wikipedia. org/wiki/Discrete_Fourier_transform, (accessed: 10.09.2020) Khác
[7] lan Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. http :|//wiw.deeplearningbook. org, MIT Press, 2016 Khác

HÌNH ẢNH LIÊN QUAN

Bảng so sánh các kiến trúc được tìm kiếm bởi Genetic Algorithm Bảng so sánh các kiến trúc được tìm kiếm bởi NSGA-II - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
Bảng so sánh các kiến trúc được tìm kiếm bởi Genetic Algorithm Bảng so sánh các kiến trúc được tìm kiếm bởi NSGA-II (Trang 12)
HÌNH 1.2: Nhiều nguồn âm tạo nên sự phức tạp, nhiễu trong việc - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 1.2 Nhiều nguồn âm tạo nên sự phức tạp, nhiễu trong việc (Trang 18)
HÌNH 2.5: Minh họa tín hiệu âm thanh - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.5 Minh họa tín hiệu âm thanh (Trang 30)
HÌNH 2.7: Bộ lọc SincNet, ảnh từ - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.7 Bộ lọc SincNet, ảnh từ (Trang 32)
HÌNH 2.11: Kỹ thuật Windowing, ảnh từ - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.11 Kỹ thuật Windowing, ảnh từ (Trang 35)
HÌNH 210: Bộ lọc Pre-Emphasis dùng trong việc kích hoạt các tín - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 210 Bộ lọc Pre-Emphasis dùng trong việc kích hoạt các tín (Trang 35)
HÌNH 2.12: Một số loại Window. (a) Khi sử dụng Rectangular Win- Win-dow tín hiệu âm thanh giảm xuống nhanh chóng, (b)-(c) tín hiệu âm - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.12 Một số loại Window. (a) Khi sử dụng Rectangular Win- Win-dow tín hiệu âm thanh giảm xuống nhanh chóng, (b)-(c) tín hiệu âm (Trang 36)
HÌNH 2.14: Quang phổ của âm thanh, anh từ (9) - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.14 Quang phổ của âm thanh, anh từ (9) (Trang 38)
HÌNH 2.18: Dong xử ly của MFCC, ảnh từ - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.18 Dong xử ly của MFCC, ảnh từ (Trang 42)
HÌNH 2.19: Quá trình biến đổi của âm thanh khi được trích xuất đặc trưng bằng MECC, (1) là tín hiệu âm thanh ban dau, (2) là tín hiệu - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 2.19 Quá trình biến đổi của âm thanh khi được trích xuất đặc trưng bằng MECC, (1) là tín hiệu âm thanh ban dau, (2) là tín hiệu (Trang 43)
HÌNH 3.1: Depthwise Convolution (bên phải) so với Convolution - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 3.1 Depthwise Convolution (bên phải) so với Convolution (Trang 45)
HÌNH 3.8: Mô hình mã hóa tổng thé - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 3.8 Mô hình mã hóa tổng thé (Trang 51)
Hình là kiến trúc mô hình mô tả cho đoạn mã trên. - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
Hình l à kiến trúc mô hình mô tả cho đoạn mã trên (Trang 54)
BANG 4.2: Bảng thống kê số liệu trên bộ đữ liệu VietNam Voice - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
4.2 Bảng thống kê số liệu trên bộ đữ liệu VietNam Voice (Trang 56)
HÌNH 4.1: Cấu trúc tổ chức bộ dữ liệu Famous Voice. Quy tac đặt tên: tên thư mục = &lt;tên nghệ sĩ&gt;, tên file = &lt;tên nghệ sĩ&gt;-&lt;số thứ - Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt
HÌNH 4.1 Cấu trúc tổ chức bộ dữ liệu Famous Voice. Quy tac đặt tên: tên thư mục = &lt;tên nghệ sĩ&gt;, tên file = &lt;tên nghệ sĩ&gt;-&lt;số thứ (Trang 56)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w