Tải bản đầy đủ (.pdf) (91 trang)

Thiết kế mô hình gan lstm cho tạo sinh âm nhạc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 91 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

ĐỖ QUANG THỊNH

THIẾT KẾ MƠ HÌNH GAN-LSTM CHO TẠO SINH ÂM
NHẠC
Chun ngành: Kĩ thuật Điện tử
Mã số: 8520203

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 1 năm 2023


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : PGS. TS. Hoàng Trang

Cán bộ chấm nhận xét 1 : TS. Huỳnh Hữu Thuận

Cán bộ chấm nhận xét 2 : TS. Nguyễn Minh Sơn

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM
ngày 10 tháng 1 năm 2023.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. Chủ tịch hội đồng: PGS. TS. Trương Quang Vinh
2. Phản biện 1: TS. Huỳnh Hữu Thuận
3. Phản biện 2: TS. Nguyễn Minh Sơn


4. Ủy viên: TS. Trần Hoàng Linh
5. Thư ký: TS. Nguyễn Lý Thiên Trường
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ


i

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐỖ QUANG THỊNH ..................................... MSHV:1970431 .............
Ngày, tháng, năm sinh: 25/03/1997 ........................................... Nơi sinh: Lâm Đồng .......
Chuyên ngành: Kĩ thuật Điện tử ................................................ Mã số : 8520203 ............
I. TÊN ĐỀ TÀI: Thiết kế mơ hình GAN-LSTM cho tạo sinh âm nhạc (GANLSTM model: A design for Music Generation) ..........................................................
.............................................................................................................................................
II. NHIỆM VỤ VÀ NỘI DUNG: Xây dựng mơ hình trí tuệ nhân tạo cho ứng dụng
tạo sinh âm nhạc có tên gọi GAN-LSTM trên cả phần mềm lẫn phần cứng, qua đó đưa
ra những đánh giá, nhận xét cụ thể nhằm làm rõ đóng góp của nghiên cứu và mở ra
những hướng phát triển trong tương lai ..............................................................................
.............................................................................................................................................
III. NGÀY GIAO NHIỆM VỤ: 06/09/2021...................................................................
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 22/05/2022 ..................................................

V. CÁN BỘ HƯỚNG DẪN: PGS. TS. Hoàng Trang ......................................................
.............................................................................................................................................

Tp. HCM, ngày . . . tháng … năm 2023
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ
(Họ tên và chữ ký)


ii

Lời cám ơn
Khơng có ai tự thân một mình mà thành cơng, q trình học tập và nghiên cứu
của tơi khơng thể tiến triển nếu khơng có sự giúp đỡ đến từ phía các thầy cơ cũng như
đồng bạn từ trường Đại học Bách khoa, Đại học Quốc gia TPHCM; trong đó chính
yếu và quan trọng nhất là sự tận tâm chỉ bảo đến từ thầy PGS. TS. Hoàng Trang,
người trực tiếp hướng dẫn tôi thực hiện luận văn này.
Chẳng thể biết được tương lai sẽ ra sao, nhưng quá trình nghiên cứu và thực
hiện luận văn này chắc chắn mang lại cho tôi rất nhiều kiến thức cũng như những kinh
nghiệm bổ ích để tơi sử dụng trong những bước tiến phía trước.
Một lần nữa, xin chân thành cảm ơn.


iii


Tóm tắt luận văn thạc sĩ

Trí tuệ nhân tạo ngày càng được sử dụng rộng rãi trong tất cả các lĩnh vực đời
sống, và hiện đang được sử dụng như một nguồn tạo ra các dữ liệu thay thế cho con
người, với âm nhạc là một loại dữ liệu nổi bật. Các mơ hình hiện tại dùng trong tạo ra
âm nhạc, GAN cùng LSTM, có những ưu điểm cũng như tồn tại nhiều hạn chế riêng.
Cụ thể, mơ hình GAN có khả năng tập trung vào những đạc trưng tồn thể của dữ liệu,
nhưng có những yêu cầu hạn chế về mặt kích thước dữ liệu. Ở chiều ngược lại, LSTM
có khả năng liên kết các nốt theo chuỗi, nhưng liên kết đó sẽ suy yếu khi kích thước dữ
liệu tăng dần lên.
Trên cơ sở các nghiên cứu và nhận định trước đó, luận văn tập trung vào ba
cơng việc chính: a) Kết hợp hai mơ hình AI phổ biến nhất là GAN và LSTM để cấu
thành mơ hình GAN-LSTM có khả năng tận dụng ưu điểm của chúng ; b) Thực thi mơ
hình GAN-LSTM trên phần mềm và phần cứng nhằm đưa ra những nhận định và khả
năng liên quan ; và c) sử dụng mơ hình GAN-LSTM cho xây dựng dữ liệu dưới dạng
bài hát gồm nhiều phần, giữa các phần có sự chuyển điệu hợp lý. Để thực hiện các
công việc này, nhiều phương pháp đã được đưa ra, bao gồm các phương pháp thu thập
dữ liệu, phương pháp xây dựng và tiền xử lý dữ liệu, phương pháp xây dựng và mơ
phỏng mơ hình, và các phương pháp đánh giá định lượng và định tính cũng được đưa
ra, qua đó cung cấp cho người đọc những góc nhìn khác nhau về khả năng của mơ hình
GAN-LSTM.
Những kết quả thu được trong quá trình thực hiện luận văn đã chứng minh được
tính khả thi của nghiên cứu này cùng những ưu điểm của mơ hình trong nghiên cứu,
Đồng thời, những kết quả này cũng đưa ra những hạn chế cần khắc phục, cũng như
nhiều hướng phát triển cho tương lai.


iv

Thesis Abstract

Artificial Intelligence is becoming widely used in every aspects of human life,
and is currently implemented as a source of generating data in place of human, which
includes the notable music data. Music generation models recently, including GAN and
LSTM, have their own benefits and drawbacks. To be specific, GAN models are able
to look into global characteristics of data, while imposing some restrictions on the data
sizes. On the opposite, LSTM model can create a chain of notes with mutual bonds,
although these links may be weakened when the data created becomes larger and
larger.
Based on the researches conducted in the past and some considerations, this
thesis concentrated on three tasks: a) Task for combining two most popular AI music
models of GAN and LSTM to form GAN-LSTM model where the advantages of each
component model are gained; b) Task for implementing that GAN-LSTM model on
both software and hardware to discuss some thoughts and related probabilities; and c)
Task for using GAN-LSTM model to create data in form of a song with several parts,
between which the transitions are made to be smooth. To tackle these task, various
methods were adopted, including data collecting methods, data preparation and preprocessing methods, constructing and simulating methods of the models, as well as
quantitative and qualitative methods for evaluation, so that readers may look at
different aspects of the abilities of GAN-LSTM model.
Results collected in the process of conducting this thesis have proved the
viability of the research, as well as the beneficial effects of the associated AI model.
Also, those results make some crucial points of the remaining detrimental effects that
are in need of discussion, and promote some gradual developments of the model that
can take place in the near future.


v

Lời cam đoan của tác giả
Tôi xin cam đoan luận văn về đề tài “ THIẾT KẾ MƠ HÌNH GAN-LSTM CHO
TẠO SINH ÂM NHẠC” là cơng trình nghiên cứu cá nhân của tôi trong thời gian qua.

Mọi số liệu sử dụng phân tích trong luận văn và kết quả nghiên cứu là do tơi tự tìm
hiểu, phân tích một cách khách quan, trung thực, có nguồn gốc rõ ràng và chưa được
cơng bố dưới bất kỳ hình thức nào. Tơi xin chịu hồn tồn trách nhiệm nếu có sự
khơng trung thực trong thơng tin sử dụng trong cơng trình nghiên cứu này.


vi

Mục lục
CHƯƠNG 1: MỞ ĐẦU ............................................................................................................ 1
1.1

Lý do chọn đề tài ............................................................................................................ 1

1.2

Mục đích, đối tượng và phạm vi nghiên cứu ............................................................... 2

1.3

Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu ................................................. 3

1.4

Bố cục luận văn .............................................................................................................. 3

CHƯƠNG 2: TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU .................................................. 5
2.1

Tình hình nghiên cứu trong và ngồi nước ................................................................. 5


2.2

Mục tiêu và nhiệm vụ nghiên cứu ................................................................................ 6

CHƯƠNG 3: CƠ SỞ LÝ LUẬN VÀ GIẢ THUYẾT KHOA HỌC ..................................... 7
3.1

Mạng đối nghịch tạo sinh GAN (Generative Adversarial Network)......................... 7

3.1.1

Giới thiệu .................................................................................................................. 7

3.1.2

Các thành phần....................................................................................................... 11

3.1.3

GAN có điều kiện (Conditioning GAN) .................................................................. 16

3.2

Ứng dụng Machine Learning trong âm nhạc ............................................................ 17

3.2.1

Cơ bản về âm nhạc ................................................................................................. 17


3.2.2

Tệp MIDI và cách thức lưu trữ âm nhạc trong máy tính ....................................... 20

3.2.3

Long-Short Term Memory (LSTM) ......................................................................... 22

3.2.4

Cấu trúc bài hát và các mối liên hệ với Machine Learning ................................... 27

3.3

Mơ hình mạng GAN-LSTM cho âm nhạc ................................................................. 27

3.3.1

Những vấn đề tồn đọng cụ thể ................................................................................ 27

3.3.2

Phương pháp .......................................................................................................... 29

CHƯƠNG 4: PHƯƠNG PHÁP NGHIÊN CỨU .................................................................. 34
4.1

Phương pháp xây dựng dữ liệu................................................................................... 34

4.2


Phương pháp thu thập và tiền xử lý dữ liệu .............................................................. 36

4.3

Phương pháp xây dựng mơ hình GAN-LSTM.......................................................... 37

4.3.1

Xây dựng mơ hình học máy trên Python ................................................................ 37

4.3.2

Xây dựng mơ hình thực thi trên Verilog ................................................................. 42

4.4

Phương pháp mô phỏng .............................................................................................. 46

4.4.1

Mô phỏng kiểm chứng khả năng học hỏi của mơ hình trên Python ....................... 46

4.4.2

Mô phỏng chức năng trên phần cứng và synthesis (tổng hợp) .............................. 46


vii


4.5

Phương pháp đánh giá kết quả ................................................................................... 47

4.5.1

Đánh giá định lượng............................................................................................... 47

4.5.2

Đánh giá định tính .................................................................................................. 49

CHƯƠNG 5: KẾT QUẢ NGHIÊN CỨU VÀ CÁC PHÂN TÍCH LIÊN QUAN .............. 54
5.1

Phân tích kết quả theo các đánh giá định lượng ....................................................... 54

5.1.1

Phân tích theo tập dữ liệu gốc ................................................................................ 54

5.1.2

Phân tích theo q trình huấn luyện ...................................................................... 57

5.1.3

Phân tích các qng chuyển Verse-Chorus và điểm kết Chorus............................ 59

5.2


Phân tích phiên bản thực thi phần cứng của mơ hình ............................................. 62

5.2.1

Phân tích kết quả mơ phỏng ................................................................................... 62

5.2.2

Phân tích về mặt thời gian (Timing)....................................................................... 63

5.3

Phân tích kết quả theo các đánh giá định tính .......................................................... 68

5.3.1

Khảo sát về mức độ chân thực của âm nhạc .......................................................... 69

5.3.2

Khảo sát về tác động cảm xúc của âm nhạc ........................................................... 70

5.3.3

Khảo sát về nhận diện các quãng chuyển Verse-Chorus ....................................... 71

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................................... 73
6.1


Kết luận đề tài .............................................................................................................. 73

6.2

Hướng phát triển ......................................................................................................... 73

Danh mục các cơng trình khoa học ....................................................................................... 75
Danh mục tài liệu tham khảo ................................................................................................. 76


viii

Danh mục hình ảnh
Hình 1 Mơ hình mạng nơ-ron cơ bản. ........................................................................................ 7
Hình 2 Cấu trúc mạng nơ-ron cơ bản ......................................................................................... 8
Hình 3 Các loại mạng nơ-ron ..................................................................................................... 9
Hình 4 Quá trình huấn luyện của GAN .................................................................................... 10
Hình 5 Cấu trúc lớp dense ........................................................................................................ 11
Hình 6 Đồ thị hàm sigmoid và ReLU ....................................................................................... 12
Hình 7 Ví dụ về lan truyền ngược của lớp dense...................................................................... 14
Hình 8 Quy trình thực hiện chuẩn hóa batch ............................................................................ 16
Hình 9 Mơ hình GAN với condition ......................................................................................... 17
Hình 10 Trường độ các nốt trong âm nhạc ............................................................................... 18
Hình 11 Khoảng cách cung và nửa cung giữa các nốt chuẩn. .................................................. 19
Hình 12 Tần số của các nốt nhạc trong âm nhạc. ..................................................................... 20
Hình 13 Cấu trúc của một mạng LSTM. .................................................................................. 23
Hình 14 Cấu trúc và hoạt động của LSTM ............................................................................... 24
Hình 15 Cơ chế có chú ý và hoạt động với LSTM. .................................................................. 26
Hình 16 Cấu trúc mơ hình GAN-LSTM ................................................................................... 31
Hình 17 Cách thức mơ hình nhiều phần của bài hát được tạo nên thơng qua khối chuyển điệu

.................................................................................................................................................. 33
Hình 18 Xây dựng chuỗi dữ liệu theo cao độ và tính liên tục. ................................................. 35
Hình 19 Ví dụ về phần Verse của ca khúc Crazy Little Thing Called Love trên
hooktheory.com ........................................................................................................................ 36
Hình 20 Mơ hình GAN tổng hợp 3 q trình: Verse, kết nối Verse-Chorus và Chorus........... 38
Hình 21 Thơng số các mạng LSTM.......................................................................................... 39
Hình 22 Thơng số mạng nơ-ron cho các generator................................................................... 40
Hình 23 Thơng số mạng nơ-ron cho các discriminator ............................................................ 41
Hình 24 Phương thức chuyển đổi cách tiếp cận trong sử dụng mơ hình GAN-LSTM thơng qua
phần cứng .................................................................................................................................. 44
Hình 25 Bảng khảo sát tính chân thực của âm nhạc ................................................................. 50
Hình 26 Bảng khảo sát đánh giá cảm xúc................................................................................. 51
Hình 27 Bảng khảo sát nhận diện quãng chuyển ...................................................................... 52
Hình 28 So sánh ma trận chuyển đổi cao độ nốt của tập dữ liệu gốc và tập dữ liệu do GANLSTM tạo ra. ............................................................................................................................. 55
Hình 29 So sánh ma trận chuyển đổi trường độ nốt của tập dữ liệu gốc và tập dữ liệu do GANLSTM tạo ra. ............................................................................................................................. 56
Hình 30 Biểu đồ phân bố nốt theo trường độ của tập dữ liệu do GAN-LSTM tạo ra. ............. 57
Hình 31Ma trận chuyển đổi cao độ của nốt trong quãng chuyển Verse-Chorus ...................... 60
Hình 32 Báo cáo về điều kiện thời gian hold của mơ hình phần cứng ..................................... 65
Hình 33 Báo cáo về điều kiện thời gian setup của mơ hình phần cứng .................................... 66


ix

Danh mục bảng số liệu
Bảng 1 Bảng so sánh các thông số về API của tập dữ liệu gốc và tập tạo bởi mơ hình GANLSTM ........................................................................................................................................ 54
Bảng 2 Xu hướng thay đổi API trong quá trình huấn luyện ..................................................... 58
Bảng 3 Xu hướng thay đổi của PE trong quá trình huấn luyện ................................................ 58
Bảng 4 Xu hướng thay đổi của NR trong quá trình huấn luyện ............................................... 59
Bảng 5 Thơng số NR trung bình của các đoạn Verse, Chorus và quãng chuyển Verse-Chorus
.................................................................................................................................................. 60

Bảng 6 Tần suất giá trị của NR trong các mẫu dữ liệu. ............................................................ 61
Bảng 7 Đánh giá thông số các nốt cuối cùng của đoạn Chorus. ............................................... 61
Bảng 8 Bảng tính sai số của hai mơ hình GAN-LSTM trên phần cứng và trên phần mềm. .... 63
Bảng 9 Bảng so sánh các thông số định lượng của kết quả chọn lọc trên phần cứng so với phần
mềm của mơ hình GAN-LSTM ................................................................................................ 63
Bảng 10 Thống kê đối tượng khảo sát theo độ tuổi và nghề nghiệp ........................................ 68
Bảng 11 Kết quả khảo sát về mức độ chân thực của âm nhạc theo độ tuổi .............................. 69
Bảng 12 Kết quả khảo sát về mức độ chân thực của âm nhạc theo nghề nghiệp ..................... 70
Bảng 13 Kết quả khảo sát về mức độ tác động cảm xúc của dữ liệu do GAN-LSTM tạo ra ... 71
Bảng 14 Kết quả khảo sát về nhận diện quãng chuyển Verse-Chorus ..................................... 71


1

CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Trí tuệ nhân tạo (gọi tắt là AI) là một trong những chủ đề quan trọng hiện nay
trong việc ứng dụng khoa học kĩ thuật vào đời sống. Mục đích của trí tuệ nhân tạo là
những máy móc có thể tự động hóa với các hành vi thơng minh như con người, có khả
năng thay thế con người trong một số trường hợp cụ thể.
Điểm nổi bật của những máy móc này là khả năng học hỏi và cải thiện dần theo
thời gian được huấn luyện. Nói cách khác, máy móc được rèn luyện càng nhiều thì khả
năng thực hiện hiệu quả cơng việc được giao cho nó càng cao. Từ kết quả đó, chúng sẽ
được đưa vào các ứng dụng trong những công việc cụ thể mà không làm giảm hiệu suất.
Một trong những ứng dụng đầu tiên và đã được phổ biến rộng rãi của AI đó là
khả năng nhận diện và dự đoán. Với một tập dữ liệu cụ thể (hình ảnh, âm thanh, …),
máy sẽ có khả năng phân loại hay dự đoán xu hướng của những kiểu dữ liệu này. Các
máy AI với những ứng dụng này thường sẽ dễ kiểm sốt độ chính xác bởi đầu ra
thường đã được chuẩn hóa (chỉ có đúng hoặc sai, tăng hoặc giảm).
Tuy nhiên, trong những năm gần đây, AI còn được ứng dụng trong việc tạo ra

dữ liệu. Một máy AI dạng này có thể chuyển tranh vẽ thành ảnh, hay thay đổi các đặc
trưng của dữ liệu ảnh. Điều đặc biệt của chúng là những dữ liệu mà chúng tạo ra là
khơng có thật trên thực tế, nhưng đem đến cảm giác cho con người chúng ta rằng
những dữ liệu này là được con người tạo ra (được người chụp, người vẽ…).
Trên cơ sở những nghiên cứu và phân tích trước đó của tác giả về lĩnh vực này
của AI, nghiên cứu trong luận văn này sẽ tập trung vào việc xây dựng một mơ hình
máy AI, mang tên gọi GAN-LSTM với khả năng tự viết nhạc, trong đó mục tiêu của nó
khơng chỉ là tạo ra những giai điệu phù hợp với cảm âm của con người, mà còn là tạo
ra những âm nốt tựa như được sáng tác bởi người thật.


2

1.2 Mục đích, đối tượng và phạm vi nghiên cứu
Mục đích nghiên cứu của luận văn này, như đã đề cập ở trên, hướng đến việc
xây dựng một mơ hình máy AI tạo sinh âm nhạc được hiện thực hóa dưới dạng phần
cứng, trong đó phải đảm bảo được tính chân thực và tính sáng tạo của sản phẩm âm
nhạc mà nó tạo ra. Qua đó, mơ hình trên sẽ cung cấp cho người dùng một phương tiện
để rút ngắn khoảng cách về mặt thời gian đưa một sản phẩm âm nhạc từ bước ý tưởng
đến bước phát hành sản phẩm thực tế, đồng thời giảm thiểu những ràng buộc về khả
năng sáng tác của người nhạc sĩ khi mô hình có thể đưa ra những giá trị mới về mặt
giai điệu và tiết tấu.
Đối tượng nghiên cứu trong luận văn này, là các bản nhạc được xây dựng từ
những nốt nhạc, được thực thi, được sáng tác thông qua một mơ hình AI. Trong đó, cao
độ, trường độ cùng thứ tự sắp xếp các nốt nhạc sẽ được xác định rõ bởi mơ hình AI
trên. Và để hiện thực được điều đó, luận văn này sẽ nghiên cứu các giải thuật liên quan
nhằm tập trung vào những khía cạnh khác nhau trong một bản nhạc, qua đó xây dựng
mơ hình AI một cách hợp lý nhất.
Phạm vi nghiên cứu của luận văn này sẽ chịu ràng buộc bởi các đặc trưng của
âm nhạc và các giới hạn hiệu hữu của trí tuệ nhân tạo. Cụ thể:

-

Về loại hình âm nhạc, luận văn này sẽ tập trung vào hai loại hình là pop và
soft rock.

-

Về các đặc tính âm nhạc, luận văn sẽ tập trung vào cao độ, trường độ và liên
kết giữa các nốt nhạc trong một bản nhạc.

-

Về đặc trưng bài hát, luận văn sẽ làm rõ về các phần Verse và Chorus của
một bài hát.

-

Về kết cấu mơ hình AI, luận văn sẽ tập trung vào các phương pháp chính là
GAN và LSTM, cùng một số giải thuật bổ trợ.

-

Về xây dựng phần cứng, luận văn sẽ tập trung vào cách thức thực thi, chức
năng của mô hình phần cứng và các ràng buộc về mặt timing.


3

1.3 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
Luận văn này mang lại những ý nghĩa khoa học sau:

-

Làm sáng tỏ khả năng vận dụng, kết hợp các mơ hình AI hiện có trong việc
sáng tác âm nhạc, cụ thể là GAN và LSTM, trong đó những khuyết điểm cố
hữu của chúng được những ưu điểm bổ khuyết cho nhau.

-

Chỉ ra những hạn chế, thuận lợi của các mơ hình AI trước đó cũng như của
chính mơ hình trong luận văn, qua đó phân tích các giải pháp cụ thể.

-

Đưa ra những gợi ý, những hướng phát triển trong tương lai cho các nghiên
cứu phía sau, bao gồm việc mở rộng, đào sâu phạm vi nghiên cứu, cũng như
việc quan sát, phân tích những khía cạnh khác nhau của âm nhạc.

Về mặt thực tiễn, luận văn này mang lại những ý nghĩa sau:
-

Mơ hình AI tồn tại như một giải pháp cho việc tăng tốc độ sáng tác âm nhạc,
khi mà tốc độ sáng tác của nó nhanh hơn con người rất nhiều. Phần việc cịn
lại của người làm nhạc là hiệu chỉnh, thêm phần lời và các hình thức phối
khí. Việc rút ngắn thời gian đưa ra sản phẩm giúp cho người làm nhạc tăng
lượng sản phẩm đưa ra cho cơng chúng, qua đó giảm thiểu khả năng bị trùng
ý tưởng, trùng giai điệu với những sản phẩm cạnh tranh.

-

Mơ hình AI cung cấp các sản phẩm âm nhạc với chất lượng như do con

người tạo ra, do đó góp phần làm đa dạng hóa, sáng tạo những nội dung âm
nhạc trên thị trường, vốn rất nặng tính cạnh tranh. Dù vậy, mơ hình này
khơng địi hỏi chi phí cao, cũng như chất xám của người sử dụng, qua đó
giải quyết được những hạn chế về mặt kinh tế, tạo điều kiện cho người sử
dụng tập trung vào những mặt khác của quá trình sản xuất âm nhạc.

1.4 Bố cục luận văn
Các phần còn lại của bài luận văn này sẽ được trình bày theo bố cục các
chương như sau:


4

-

Tổng quan tình hình nghiên cứu: Chương này sẽ trình bày những bối cảnh
cùng các nghiên cứu liên quan đến đề tài luận văn, qua đó chỉ ra được lý do,
mục tiêu và nhiệm vụ của việc thực hiện nghiên cứu.

-

Cơ sở lý luận và giả thuyết khoa học: Chương này sẽ giải trình những khái
niệm lý thuyết nền tảng liên quan trực tiếp đến nghiên cứu, qua đó cụ thể
hóa những vấn đề cịn tồn đọng của các cơng trình nghiên cứu trước đó,
nhằm đưa ra phương pháp giải quyết phù hợp.

-

Phương pháp nghiên cứu: Nội dung chương này tập trung làm rõ các phương
pháp liên quan đến nghiên cứu, bao gồm các phương pháp chuẩn bị dữ liệu,

xây dựng nghiên cứu cũng như cách thức đánh giá, phân tích kết quả sau khi
thực hiện nghiên cứu.

-

Kết quả nghiên cứu và các phân tích liên quan: Chương này cụ thể các kết
quả đo đạc, mô phỏng cùng số liệu của các quá trình nổi bật được thực hiện
trong khi nghiên cứu, qua đó có những phân tích, so sánh liên quan nhằm
làm nổi bật lên những thành quả có được.

-

Kết luận và hướng phát triển: Chương cuối có mục đích tóm tắt, đưa ra
những kết luận chung nhất của quá trình thực hiện nghiên cứu, làm cơ sở cho
việc thực hiện những nghiên cứu trong tương lai.


5

CHƯƠNG 2: TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU
Chương này sẽ trình bày những bối cảnh cùng các nghiên cứu liên quan đến đề
tài luận văn, qua đó chỉ ra được các khe hở nghiên cứu, qua đó làm rõ lý do thực hiện
nghiên cứu, từ đó đề ra mục tiêu và nhiệm vụ của việc thực hiện nghiên cứu.
2.1 Tình hình nghiên cứu trong và ngồi nước
Các máy AI nhằm mục đích tạo ra dữ liệu mới như trình bày ở mục trước
thường được gọi rộng rãi là GAN (Generative Adversarial Network), theo tiếng Việt
gọi là mạng đối nghịch tạo sinh. Thuật ngữ này lần đầu xuất hiện trong buổi hội thảo
NIPS tại Barcelona, và được đề xuất bởi Ian Goodfellow của Google Brain [1]. Ở đó,
GAN được mơ tả bằng cấu trúc, cách huấn luyện, đặt nền móng cho các nghiên cứu
phía sau.

Từ sự kiện này, nhiều nghiên cứu đã được công bố trong việc sử dụng GAN cho
nhiều ứng dụng khác nhau[2-5]. Ví dụ, P. Isola và các cộng sự đã thực hiện một GAN
cho việc biến đổi hình ảnh (Image2Image Transalation) với độ chính xác được tối ưu
bằng hàm mất mát của riêng họ [6]. Tương tự, nhóm của T. Wang cũng dùng GAN
trong việc tự tạo ra những bộ các câu hỏi và câu trả lời thông qua đọc một đoạn văn
bản cho trước [7].
Tuy đã có nhiều nghiên cứu ứng dụng GAN trên thực tế, phần lớn các nghiên
cứu tập trung vào dữ liệu hình ảnh [8][9]. Ở chiều ngược lại, dữ liệu như văn bản hay
âm thanh có tỉ lệ nghiên cứu thấp hơn, do chúng có đặc điểm riêng biệt so với hình ảnh
và khó kiểm sốt hơn[10]. Dù vậy, âm nhạc, một bộ phận của âm thanh, vẫn thu hút
được các nhà nghiên cứu với những kết quả đáng nể. Chẳng hạn, H. Dong đã xây dựng
một GAN gọi là MuseGAN với khả năng chơi nhiều nhạc cụ cùng một lúc mà khơng
làm mất đi sự hài hịa [11].
Bên cạnh GAN, Long-Short Term Memory (LSTM) cũng là một loại hình AI
được ứng dụng nhiều trong sáng tác âm nhạc [12-14]. Trong đó, đặc tính về chuỗi nốt,


6

cũng như liên kết giữa các nốt là mối quan tâm chính. Ví dụ, dự án Magenta của
Google cũng đã xây dựng được một Melody RNN với khả năng tạo nhạc theo chuỗi
mang phong cách của những nghệ sĩ nổi tiếng [9->15].
Theo hiểu biết của tác giả, các nghiên cứu hiện tại chưa làm rõ được những vấn
đề sau. Thứ nhất, chưa có nghiên cứu nào đi vào việc kết hợp hai mơ hình GAN và
LSTM nhằm tận dụng các ưu điểm của chúng và giảm thiểu các bất lợi tương ứng. Thứ
hai, tồn tại rất ít các nghiên cứu tập trung vào cấu trúc, thành phần của một bài hát, đặc
biệt là giai đoạn chuyển điệu giữa các phần trong cùng một bài hát. Nhận thấy khe hở
này, luận văn này sẽ xây dựng một mơ hình AI giải quyết các vấn đề trên.
2.2 Mục tiêu và nhiệm vụ nghiên cứu
Đề tài luận văn này sẽ hướng đến những mục tiêu sau:

-

Xây dựng và hồn thiện một mơ hình AI kết hợp giữa GAN và LSTM cho việc
sáng tạo âm nhạc, trong đó sản phẩm được định hình bởi số lượng các nốt, cùng
các cao độ và trường độ tương ứng.

-

Mơ hình được kiểm định về khả năng học trên phần mềm thông qua ngôn ngữ
Python. Cụ thể, các đánh giá về thời gian huấn luyện và kết quả huấn luyện
được tập trung làm rõ.

-

Bên cạnh đó, mơ hình AI sẽ được xây dựng và kiểm định trên phần cứng sử
dụng ngôn ngữ mô tả phần cứng (Verilog), mô phỏng bằng phần mềm chuyên
dụng (VCS/Questa). Cụ thể, các kiểm định về mặt chức năng và tốc độ của mơ
hình sẽ được quan tâm.

-

Âm nhạc do máy tạo ra hướng đến những bài hát với nhiều phần, cụ thể là một
Verse và một Chorus, trong đó khoảnh khắc chuyển đổi giữa các phần sẽ được
làm cho mượt mà, đồng thời các phần phải thể hiện được âm sắc phù hợp cho
người nghe.


7

CHƯƠNG 3: CƠ SỞ LÝ LUẬN VÀ GIẢ THUYẾT KHOA HỌC

Chương này sẽ giải trình những khái niệm lý thuyết nền tảng liên quan trực tiếp
đến nghiên cứu, trong đó mơ tả hai dạng mơ hình chính trong tạo sinh âm nhạc là GAN
và LSTM, qua đó cụ thể những vấn đề cịn tồn đọng của hai dạng mơ hình, qua đó đưa
ra phương pháp giải quyết phù hợp.
3.1 Mạng đối nghịch tạo sinh GAN (Generative Adversarial Network)
3.1.1 Giới thiệu
Để hiểu rõ GAN, trước hết ta cần làm rõ một mơ hình mạng nơ-ron cơ bản. Một
mạng nơ-ron thường gồm nhiều lớp, mỗi lớp gồm nhiều nút, với các kết nối giữa
những nút ở lớp trước với lớp sau [16] như trong hình 1. Mơ hình mạng này chính là
mơ phỏng của não người với các kết nối phúc tạp giữa các nơ-ron, điều giúp thực hiện
được các suy nghĩ hay hành động tinh vi.

Hình 1 Mơ hình mạng nơ-ron cơ bản.

Các kết nối giữa các nút trong mạng nơ-ron thường được thơng số hóa bởi các
weight. Nói cách khác, từ một dữ liệu đưa vào mạng nơ-ron, nó sẽ được tính tốn bởi


8

một hàm số (đại diện cho mạng nơ-ron) thông qua các weight, và đưa ra kết quả là dữ
liệu ra. Điều này được thể hiện trong hình 2, trong đó các weight đóng vai trị quan
trọng trong việc định hình dữ liệu đầu ra dựa trên dữ liệu đầu vào. Thông qua cập nhật
và điều chỉnh các hệ số trên, máy sẽ hướng đến việc tạo dữ liệu ra phù hợp với dữ liệu
vào.

Hình 2 Cấu trúc mạng nơ-ron cơ bản

Cụ thể hơn, máy sẽ trải qua hai quá trình sau:
-


Rèn luyện (Training): máy tính sẽ được cung cấp một tập dữ liệu vào có dữ liệu
ra đã biết trước (tập này gọi là training set). Dựa vào đầu vào và đầu ra từ
training set, máy tính sẽ tự điều chỉnh các weight của chính nó sao cho dữ liệu
ra của nó sai lệch so với đầu ra đã biết trước của training set ít nhất có thể. Sau
q trình này, máy được coi là đã “học”.

-

Kiểm tra (Test): máy tính được cung cấp ngõ vào là một tập dữ liệu mới khác
với training set(gọi là test set), sau đó tự tính tốn ra ngõ ra tương ứng. Ngõ ra
này sẽ được so sánh, đánh giá với ngõ ra thực tế của test set. Nếu kết quả đánh
giá không tốt, nghĩa là máy chưa đủ đáp ứng về độ chính xác, cần điều chỉnh lại
hoặc cần “học” nhiều hơn; ngược lại, nếu kết quả đánh giá tốt, máy có thể đưa
vào ứng dụng.
Mạng nơ-ron khơng giới hạn kích thước hay số chiều của cả dữ liệu vào lẫn dữ

liệu ra. Một mạng nơ-ron với kích thước dữ liệu vào lớn trong khi dữ liệu ra nhỏ
thường là các mạng nơ-ron dùng trong nhận định hay phân loại, ở đó, từ dữ liệu vào,
các đặc trưng đáng chú ý được trích xuất ra và chỉ giữ lại những gì quan trọng nhất (dữ
liệu ra) để sử dụng. Ở chiều ngược lại, mạng nơ-ron có kích thước dữ liệu ra vượt trội


9

so với dữ liệu vào thường là những mạng nơ-ron cho việc hồi phục hay tạo dữ liệu mới,
trong đó, dữ liệu vào thường là các đặc điểm, các yêu cầu vể dữ liệu ra, sau đó chúng
sẽ được sử dụng bởi mạng nơ-ron để tạo ra dữ liệu mới. Hai loại mạng nơ-ron này
được mơ tả trong hình 3.


Hình 3 Các loại mạng nơ-ron

GAN là mơ hình sử dụng cả hai loại mạng nơ-ron nêu trên. Trong đó, mạng nơron có dữ liệu vào lớn được gọi là discriminator, với nhiệm vụ nhận định dữ liệu vào
mà nó nhận được là thật hay giả. Discriminator trong luận văn này sẽ có nhiệm vụ
phán đốn âm thanh mà nó nhận được có hợp lý, có đúng là nhạc thật hay khơng. Ở
phía ngược lại sẽ là mạng nơ-ron được gọi là generator, với mục đích tạo ra dữ liệu
mới dựa trên những dữ liệu vào ít ỏi. Trong luận văn này, generator sẽ tạo ra nhạc chỉ
từ các nhiễu (dữ liệu random).
GAN được mơ tả là mơ hình dựng nên dựa trên một “cuộc chiến” giữa generator
và discriminator. Generator sẽ cố gắng tạo ra dữ liệu “như thật” nhằm qua mặt
discriminator và discriminator thì phải cố gắng đốn chính xác rằng dữ liệu nó nhận
được là thật hay giả. Ở khởi điểm của việc huấn luyện GAN, tất nhiên generator chỉ tạo
ra những dữ liệu đầy nhiễu cũng như discriminator chỉ dự đoán một cách ngẫu nhiên.


10

Để tận dụng khả năng học hỏi của cả hai, cần có một q trình huấn luyện phù hợp,
như được thể hiện trong hình 4.

Hình 4 Quá trình huấn luyện của GAN

Q trình trên được mơ tả như sau:
-

Bước 1: Huấn luyện cho discriminator
o Dữ liệu từ generator (dữ liệu máy tạo) được đưa cho discriminator nhận
định với nhãn 0 (giả). Sai số giữa dự đoán và thực tế sẽ dùng để cập nhật
weight của discriminator.
o Dữ liệu thật từ tập dữ liệu (thu thập trước đó) được đưa cho discriminator

nhận định với nhãn 1 (thật). Sai số giữa dự đoán và thực tế sẽ dùng để
cập nhật weight của discriminator.

-

Bước 2: Huấn luyện cho generator
o Dữ liệu từ generator (dữ liệu máy tạo) được đưa cho discriminator nhận
định với nhãn 1 (thật). Sai số giữa dự đoán và thực tế sẽ dùng để cập nhật


11

weight của generator. Khi này, các weight của discriminator sẽ được giữ
cố định, sai số sẽ chỉ được dùng cho cập nhật weight của generator.

3.1.2 Các thành phần
3.1.2.1 Lớp dense (Dense layer)
Đây là lớp cơ bản nhất trong một mạng nơ-ron. Các kết nối giữa các nút sẽ
mang theo một giá trị weight. Từng nút sẽ lấy tổng các tích giữa dữ liệu từ lớp trước
cùng với weight tương ứng. Kết quả tổng sẽ được đưa qua một hàm kích hoạt (sẽ được
mơ tả ở phần sau) và có thể đưa đến lớp tiếp theo. Ví dụ về lớp dense được thể hiện
trong hình 5.

Hình 5 Cấu trúc lớp dense

Bằng cách thu thập dữ liệu từ tất cả các nút thuộc lớp trước, mỗi nút thuộc lớp
sau có thể lấy được thơng tin hữu ích từ lớp trước. Số nút của hai lớp kế cận có thể
khác nhau. Trường hợp số nút của lớp sau nhiều hơn lớp trước thường được dùng trong
generator (tạo ra dữ liệu lớn hơn) trong khi trường hợp ngược lại thường được dùng
trong discrmininator.

3.1.2.2 Hàm kích hoạt (Activation function)
Các phép tốn như ta đã thấy trong các nút đều là các phép tốn tuyến tính. Do
đó, hàm kích hoạt được thêm vào như một nhân tố phi tuyến. Trên thực tế, dữ liệu rất


12

hiếm khi phân bố tuyến tính, do đó hàm kích hoạt đối với mạng nơ-ron có tác dụng
“uốn cong” những “suy nghĩ” tuyến tính, một chiều, làm tăng khả năng học hỏi và
thích nghi của mạng nơ-ron.
Trong các máy AI thường gặp, hai hàm số sau đây được dùng nhiều nhất cho
hàm kích hoạt: hàm sigmoid và hàm ReLU [17]. Mơ tả của các hàm này được thể hiện
trong hình 6. Trong đó:
𝑒𝑥
𝑒𝑥 + 1
1 𝑖𝑓 𝑥 > 0
𝑅𝑒𝐿𝑈(𝑥) = {
0 𝑖𝑓 𝑥 ≤ 0
𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑥) =

Hình 6 Đồ thị hàm sigmoid và ReLU

Trong khi hàm sigmoid cố định ngõ ra của nó trong khoảng [0;1] thì hàm ReLU
khơng có giới hạn chặn trên. Tuy nhiên, hàm ReLU dễ tính tốn hơn rất nhiều so với
hàm sigmoid. Trong từng trường hợp cụ thể, người ta sẽ lựa chọn loại hàm kích hoạt
phù hợp [18].
3.1.2.3 Hàm mất mát (Loss function) và gradient descent
Để đánh giá sai số của mạng nơ-ron, người ta sử dụng nhiều hàm mất mát để
đánh giá độ sai lệch giữa ngõ ra thực tế của mạng với ngõ ra mong muốn. Có 3 loại
hàm mất mát phổ biến: sai số trung bình bình phương (mean squared error), crossentropy phân loại (categorical cross-entropy) và cross-entropy nhị phân (binary crossentropy). Trong khi sai số trung bình bình phương dùng nhiều trong các bài toán nhấn



13

mạnh chênh lệch, các hàm sai số cross-entropy dùng nhiều trong các bài tốn phân loại
[19]. Cơng thức của các hàm này như sau, với 𝑛 là tổng số đơn vị ngõ ra, 𝑦𝑖 và 𝑝𝑖 là
ngõ ra do mạng nơ-ron tương ứng với đơn vị ngõ ra thứ 𝑖:
𝑛

1
𝑀𝑒𝑎𝑛 𝑆𝑞𝑢𝑎𝑟𝑒𝑑 𝐸𝑟𝑟𝑜𝑟 = ∑(𝑦𝑖 − 𝑝𝑖 )2
𝑛
𝑖=1

𝑛

𝐶𝑎𝑡𝑒𝑔𝑜𝑟𝑖𝑐𝑎𝑙 𝐶𝑟𝑜𝑠𝑠 − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = − ∑ 𝑦𝑖 log(𝑝𝑖 )
𝑖=1

1
𝐵𝑖𝑛𝑎𝑟𝑦 𝐶𝑟𝑜𝑠𝑠 − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = − (𝑦𝑖 log(𝑝𝑖 ) + (1 − 𝑦𝑖 )log (1 − 𝑝𝑖 ))
𝑛

Sử dụng những hàm mất mát này, mạng nơ-ron sẽ dùng nó để cập nhật lại các
weight của nó dựa trên một giải thuật tốn học cơ bản, gradient descent. Gradient
descent vốn là giải thuật giúp tìm cực tiểu của một hàm số, và trong trường hợp của
mạng nơ-ron đây chính là tìm cực tiểu của hàm mất mát, hay sai số là nhỏ nhất.
Gradient descent dựa trên một đặc điểm tự nhiên của hàm số về dấu của đạo
hàm. Ở đó, dấu của đạo hàm tại một điểm bên phải điểm cực trị sẽ có dấu dương và
ngược lại. Giải thuật gradient descent dựa vào điều này để tiến dần về điểm cực trị của

hàm mất mát, thông qua từng bước nhảy (learning rate). Như vậy, gradient descent
thành công hay không phụ thuộc nhiều vào learning rate và điểm khởi tạo. Learning
rate thấp và điểm khởi tạo ở xa cực tiểu sẽ khiến cho giài thuật lâu hội tụ. Ngược lại,
learning rate cao có thể dẫn đến trường hợp điểm cần chọn chạy qua chạy lại hai bên
của điểm cực tiểu mà không hội tụ được [20].
Quay lại với mạng nơ-ron, dựa trên gradient descent, các weight sẽ như trên
được điều chỉnh tăng giảm một lượng phụ thuộc vào tốc độ học và đạo hàm của hàm
mất mát theo weight tương ứng:
𝑤 =𝑤−𝜂

𝜕𝐿𝑜𝑠𝑠
𝜕𝑤

3.1.2.4 Lan truyền ngược (Back-propagation)


14

Để tính được đạo hàm của hàm mất mát theo từng weight, một quá trình lan
truyền ngược đạo hàm từ ngõ ra trở về trước sẽ được thực hiện (back-propagation). Ở
đó, đạo hàm của hàm mất mát theo weight của một lớp sẽ phụ thuộc và tính tốn được
dựa trên các giá trị đạo hàm của lớp phía sau nó. Q trình này có thể được mơ tả ví dụ
trong hình 7.

Hình 7 Ví dụ về lan truyền ngược của lớp dense.

Như vậy, quá trình huấn luyện mạng nơ-ron sẽ gồm hai q trình có chiều
ngược nhau. Dữ liệu vào được đưa vào mạng nơ-ron để lấy dữ liệu ra, đó là chiều
thuận. Sai số từ hàm mất mát sẽ được lan truyền đạo hàm theo chiều ngược lại để cập
nhật lại giá trị các weight. Điều này có nghĩa là nếu cùng dữ liệu vào cũ sẽ cho ra kết

quả có sai số thấp hơn, theo nguyên lý của gradient descent.
Q trình lan truyền ngược tính tốn dựa nhiều trên đạo hàm, do đó hàm mất
mát và hàm kích hoạt cần thuận tiện cho tính đạo hàm. Các hàm như đã trình bày ở
trên đều có thể dễ dàng tính được đạo hàm, giúp cho q trình lan truyền ngược diễn ra
dễ dàng hơn.
3.1.2.5 Chuẩn hóa batch (Batch normalization)
Trong q trình huấn luyện, ngồi tốc độ học, cịn có 2 thông số đáng chú ý
khác là batch và epoch. Q trình cập nhật trọng số khơng nhất thiết phải thực hiện sau
mỗi lần xử lý một dữ liệu vào và có thể chờ sau một lượng nhất định mới cập nhật một
lần. Lượng này được gọi là batch. Batch lớn đồng nghĩa với máy phải cập nhật ít hơn,


×