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

Mô hình gan và ứng dụng tạo mẫu ấn phẩm trò chơi thiếu nhi

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 (2.41 MB, 76 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN

LÊ NHƯ THƯƠNG

MƠ HÌNH GAN VÀ ỨNG DỤNG
TẠO MẪU ẤN PHẨM TRÒ CHƠI THIẾU NHI

ĐỀ ÁN THẠC SĨ KHOA HỌC MÁY TÍNH

Bình Định – Năm 2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN

LÊ NHƯ THƯƠNG

MƠ HÌNH GAN VÀ ỨNG DỤNG
TẠO MẪU ẤN PHẨM TRÒ CHƠI THIẾU NHI

Ngành: KHOA HỌC MÁY TÍNH
Mã số: 8480101

Người hướng dẫn: TS. LÊ XUÂN VINH

i

LỜI CAM ĐOAN

Tôi là học viên cao học khóa 24B, chuyên ngành khoa học máy tính
trường Đại học Quy Nhơn, xin cam đoan rằng đề tài “Mơ hình Gan và ứng


dụng tạo mẫu ấn phẩm trị chơi thiếu nhi” là cơng trình nghiên cứu tự thực
hiện dưới sự hướng dẫn của giảng viên TS. Lê Xuân Vinh.

Tất cả nội dung, kết quả nghiên cứu trong đề tài đều là trung thực và
chính xác. Các thơng tin, số liệu và kết quả nghiên cứu được trích dẫn, tham
khảo đều được ghi rõ nguồn gốc và có sự đồng ý của tác giả. Các cơng trình
nghiên cứu, bài báo, sách, và nguồn trích dẫn khác đều được kính trọng và ghi
công đầy đủ trong phần tài liệu tham khảo.

Tôi xin chịu trách nhiệm trước pháp luật về tính xác thực và trung thực
của cơng trình nghiên cứu của mình, và sẵn sàng nhận mọi hình thức kỷ luật
nếu phát hiện có bất kỳ sự gian lận nào trong cơng trình này.

Tác giả luận văn

Lê Như Thương

ii

LỜI CẢM ƠN

Trước hết, tơi muốn bày tỏ lịng biết ơn sâu sắc và chân thành nhất đến
TS. Lê Xuân Vinh, người đã hướng dẫn, hỗ trợ, và chia sẻ kiến thức quý báu
cho tơi trong q trình thực hiện đề tài “Mơ hình Gan và ứng dụng tạo mẫu
ấn phẩm trị chơi thiếu nhi”.

Lời cảm ơn chân thành cũng được gửi đến các thầy cô giáo là giảng
viên trường Đại học Quy Nhơn và các bạn bè đồng nghiệp, những người đã
không ngừng giúp đỡ, chia sẻ kinh nghiệm và kiến thức, tạo điều kiện thuận
lợi nhất để tơi có thể hồn thành đề án này.


Tôi cũng muốn gửi lời cảm ơn đến gia đình, bạn bè và những người
thân yêu khác, đã luôn ủng hộ, động viên tinh thần và tạo điều kiện tốt nhất về
mọi mặt để tơi có thể tập trung vào cơng việc nghiên cứu của mình.

Cuối cùng, tơi xin bày tỏ lịng kính trọng và biết ơn đến các tác giả của
những tài liệu, sách, bài báo khoa học mà tôi đã tham khảo trong quá trình
nghiên cứu để hồn thiện đề tài này. Tất cả đã góp phần lớn vào việc hồn
thành đề tài, giúp tôi rút ra được nhiều kiến thức và kinh nghiệm quý giá.

Chân thành cảm ơn!

iii

MỤC LỤC

Trang

LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC................................................................................................................. iii
DANH MỤC CÁC HÌNH ......................................................................................... vi
MỞ ĐẦU.....................................................................................................................1

1. Lý do chọn đề tài.................................................................................................1
2. Tổng quan tình hình nghiên cứu đề tài................................................................2
4. Đối tượng và phạm vi nghiên cứu.......................................................................4

4.1 Đối tượng nghiên cứu ...................................................................................4
4.2 Phạm vi nghiên cứu.......................................................................................4

5. Nội dung nghiên cứu ...........................................................................................4
6. Phương pháp nghiên cứu.....................................................................................4
Chương 1. KIẾN THỨC CƠ SỞ CỦA HỌC MÁY VÀ HỌC SÂU..........................5
1.1 Giới thiệu...........................................................................................................5
1.1.1 Khái niệm ...................................................................................................5
1.1.2 Ứng dụng của học máy ..............................................................................5
1.1.3 Phân loại các phương pháp học máy.........................................................6
1.1.4 Các bước tiến hành trong bài toán học máy..............................................7
1.2 Mạng Nơron (Neural)........................................................................................9
1.2.1 Khái niệm ...................................................................................................9
1.2.2 Mơ hình mạng nơron nhân tạo .............................................................11
1.2.3 Quy tắc delta .........................................................................................12
1.2.4 Thuật toán lan truyền ngược....................................................................15
1.3 Học sâu (Deep Learning) ................................................................................19
1.3.1 Giới thiệu về Deep Learning....................................................................19
1.3.2 Cấu trúc mạng CNN.................................................................................20
1.4 Kết luận chương 1 ...........................................................................................34
Chương 2. MƠ HÌNH GAN......................................................................................35
2.1 Giới thiệu chung về GAN ...............................................................................35
2.2 Kiến trúc của GAN..........................................................................................36
2.2.1 Generator .................................................................................................38

iv

2.2.2 Discriminator ...........................................................................................39
2.3 Hàm mất mát ...................................................................................................39
2.4 Quá trình huấn luyện GAN .............................................................................41
2.5 Mơ hình Deep Convolutional GAN (DC GAN) .............................................42

2.5.1 Cấu trúc mạng..........................................................................................42

2.5.2 Hàm mất mát của DC GAN......................................................................47
2.5.3 Một số vấn đề lưu ý khi xây dựng mơ hình và train DC GAN .................47
2.6 Kết luận chương 2 ...........................................................................................47
Chương 3. ỨNG DỤNG GAN TẠO MẪU ẢNH TRÒ CHƠI.................................48
THIẾU NHI...............................................................................................................48
3.1 Giới thiệu và phân tích bài tốn ......................................................................48
3.2 Xây dựng chương trình thử nghiệm ................................................................49
3.2.1 Tập dữ liệu ...............................................................................................49
3.2.2 Chuẩn bị môi trường và thư viện .............................................................49
3.2.3 Xây dựng mơ hình discriminator và generator........................................52
3.2.4 Huấn luyện mô hình discriminator và generator.....................................54
3.2.5 Huấn luyện mơ hình DCGAN...................................................................56
3.3 Kiểm tra và đánh giá kết quả...........................................................................57
3.4 Kết luận chương 3 ...........................................................................................65
KẾT LUẬN ...............................................................................................................66
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................67

QUYẾT ĐỊNH GIAO TÊN ĐỀ TÀI ĐẾ ÁN THẠC SĨ (BẢN SAO)

v
DANH MỤC CÁC CHỮ VIẾT TẮT

AI Artificial Intelligence
ANN Artificial Neural Network
CNN Convolutional Neural Network
DL Deep Learning
GAN Generative Adversarial Networks
ML Machine Learning

vi


DANH MỤC CÁC HÌNH

Trang
Hình 1.1: Cấu trúc mạng CNN........................................................................ 20
Hình 1.2: Ma trận đầu vào/ra .......................................................................... 21
Hình 1.3: Filter phát hiện cạnh........................................................................ 22
Hình 1.4: Feature map trên khơng gian ảnh.................................................... 22
Hình 1.5: Zero Padding ................................................................................... 24
Hình 1.6: Avarage Pooling và Max Pooling ................................................... 25
Hình 1.7: Nguồn: Andrew Ng Machine Learning course (Coursera) ............ 28
Hình 1.8: Nguồn: Andrew Ng Machine Learning course (Coursera) ............ 29
Hình 1.9: Bias và variance .............................................................................. 30
Hình 1.10: Nguồn: Srivastava, Nitish, et al. “Dropout: a simple way to
prevent neural networks from overfitting”, JMLR 2014 ................................ 32
Hình 2.1: Mơ hình Generator và Discriminator.............................................. 36
Hình 2.2: Kiến trúc mạng GAN ...................................................................... 36
Hình 2.3: Sơ đồ kiến trúc của generator ........................................................ 38
Hình 2.4: Sơ đồ kiến trúc của Discriminator .................................................. 39
Hình 2.5: Generator của DCGAN với các lớp tích chập phân đoạn............... 43
Hình 2.6: Discriminator DCGAN với lớp tích chập có bước ......................... 44
Hình 2.7: Một ví dụ về phép tính tích chập .................................................... 44
Hình 2.8: Một ví dụ về tích chập phân đoạn................................................... 46
Hình 3.1: Ảnh sinh ra từ generator ở epchos thứ 10 ....................................... 58
Hình 3.2: Ảnh sinh ra từ generator ở epchos thứ 100 ..................................... 58
Hình 3.3: Ảnh sinh ra từ generator ở epchos thứ 500 ..................................... 59
Hình 3.4: Ảnh sinh ra từ generator ở epchos thứ 1000 ................................... 59
Hình 3.5: Ảnh thật........................................................................................... 60
Hình 3.6: Ảnh giả ............................................................................................ 60
Hình 3.7: Biểu đồ mất mát của bộ sinh (generator) và bộ phân biệt

discriminator.................................................................................................... 61
Hình 3.8: Biểu đồ Score của Real và Fake ..................................................... 61

1

MỞ ĐẦU

1. Lý do chọn đề tài
Ngày nay, thế giới chúng ta đang chứng kiến về tốc độ lan tỏa của cơng

nghệ 4.0 rất mạnh mẽ. Trong đó, phải nói tới lĩnh vực được xã hội quan tâm
chính là AI (trí tuệ nhân tạo). Mơ ước làm cho máy tính có trí thơng minh
giống con người đã có từ lâu. Trí tuệ nhân tạo đang đi vào cuộc sống của mỗi
con người, của mỗi quốc gia. Trí tuệ nhân tạo có thể biến những điều tưởng
chừng như khơng thực hiện được thành hiện thực. Chẳng hạn như những
robot hoạt động trong lĩnh vực quân sự, những căn nhà thông minh,…

Trong những năm gần đây, khả năng tính toán của máy tính đã được nâng
cao đáng kể và việc thu thập lượng dữ liệu khổng lồ trở nên dễ dàng hơn. Kết
quả là, Machine Learning đã phát triển một cách đáng kể và mở ra một lĩnh vực
mới được biết đến với tên gọi là Deep Learning (DL). Nhờ vào học sâu này, trí
tuệ nhân tạo đã được mở rộng và tiến bộ. Học sâu được áp dụng rộng rãi trong
các vấn đề thực tế của học máy và đã mở rộng phạm vi tổng thể của trí tuệ nhân
tạo. Học sâu đã thay đổi cách thức con người làm việc bằng cách cho phép các
thiết bị máy móc có khả năng hoạt động giống hoặc gần giống con người. Ví dụ
như ô tơ khơng người lái, chăm sóc sức khoẻ chất lượng cao hơn và đề xuất
phim hay hơn,... Tất cả điều này chỉ có thể trở thành hiện thực trong thời đại hiện
tại nhờ vào các kỹ thuật của học sâu.

Một trong những kỹ thuật đang được nghiên cứu và ứng dụng rộng rãi

vào đời sống thực tế chính là mơ hình Generative Adversarial Networks
(GAN). Mơ hình GAN được sử dụng để tạo ra rất nhiều sản phẩm hay, ví dụ
làm cho máy tính có thể sáng tác nhạc, vẽ tranh,...sáng tạo trong lĩnh vực
nghệ thuật - điều mà bạn nghĩ chỉ có con người mới có thể làm được.

2

Trò chơi điện tử là một lĩnh vực phát triển mạnh mẽ, đặc biệt là trò chơi
thiếu nhi. Việc tạo ra những trị chơi có hình ảnh sinh động, đa dạng sẽ giúp
thu hút sự chú ý của trẻ em và người chơi, có những trải nghiệm tuyệt vời khi
chơi và đồng thời cũng giúp cho các nhà phát triển trị chơi có thêm cơng cụ
để tạo ra các trò chơi hấp dẫn và độc đáo.

Thay vì chúng ta hay thuê các họa sĩ để vẽ, tạo ra những mẫu ảnh của
các trị chơi thiếu nhi, chúng ta có thể sử dụng mơ hình GAN để sinh ra những
mẫu ảnh trị chơi từ mẫu các họa sĩ vẽ mà khơng vi phạm bản quyền cũng như
việc làm này giúp cho q trình sản xuất trị chơi trở nên nhanh chóng, tiết
kiệm được chi phí rất lớn. Chính vì vậy, tơi chọn tìm hiểu về: “Mơ hình Gan
và ứng dụng tạo mẫu ấn phẩm trò chơi thiếu nhi” làm đề tài nghiên cứu.

2. Tổng quan tình hình nghiên cứu đề tài

Ian Goodfellow và đồng nghiệp của mình đã giới thiệu về GAN qua
một báo cáo khoa học vào năm 2014 [2]. Trong khoảng thời gian này, đa số
mọi người tập trung vào chức năng sinh dữ liệu của GAN. Sau đó, vì những
ứng dụng hữu ích tuyệt vời của GAN, do đó GAN được khai thác nhiều hơn.

Những kết quả nghiên cứu tiêu biểu: Alec Radford [3] giới thiệu vềhọc
đại diện không giám sát với các mạng đối thủ tạo ra tích chập sâu được gọi là
DCGAN đã minh họa cách huấn luyện các GAN ổn định trên quy mơ lớn. Họ

đã trình diễn các mơ hình để tạo ra các ví dụ mới về phịng ngủ. Tero Karras
[4], đã nghiên cứu về sự phát triển tiến bộ của GAN để cải thiện chất lượng,
độ ổn định và sự thay đổi chứng minh việc tạo ra các bức ảnh thực tế hợp lý
về khuôn mặt người. Trên thực tế, chúng trơng rất thật đến mức có thể gọi kết
quả là đáng chú ý. Do đó, kết quả nhận được rất nhiều sự chú ý của giới
truyền thông. Các thế hệ khuôn mặt được đào tạo dựa trên các ví dụ về người
nổi tiếng, nghĩa là có các yếu tố của những người nổi tiếng hiện có trong các
khn mặt được tạo, khiến chúng có vẻ quen thuộc nhưng khơng hồn tồn.

3

Grigory Antipov [5] đã đề xuất một phương pháp mới để dự báo sự lão hóa
khn mặt con người dựa trên điều kiện tuổi tác. Dựa trên khn mặt hiện tại,
mơ hình GAN sẽ sinh ra các biến thể theo từng độ tuổi của con người.
Andrew Brock, và cộng sự [6] đề xuất về đào tạo GAN quy mơ lớn để tổng
hợp hình ảnh tự nhiên có độ trung thực cao chứng minh việc tạo ra các bức
ảnh tổng hợp bằng kỹ thuật BigGAN của họ mà thực tế không thể phân biệt
được với các bức ảnh thực. Yanghua Jin và các cộng sự [7] hướng tới việc tạo
nhân vật anime tự động với GAN, khám phá việc đào tạo các mơ hình GAN
chun về bộ dữ liệu hình ảnh khn mặt anime, giải quyết vấn đề từ cả khía
cạnh dữ liệu và mơ hình, bằng cách thu thập tập dữ liệu rõ ràng, phù hợp hơn
và tận dụng ứng dụng DRAGAN theo kinh nghiệm, phù hợp. Với phân tích
định lượng và nghiên cứu điển hình, chứng minh dẫn đến một mơ hình chất
lượng cao và ổn định. Phillip Isola và cộng sự [8] đã nghiên cứu mơ hình
GAN có điều kiện như một giải pháp cho các vấn đề dịch từ ảnh sang ảnh.
Han Zhang [9] đã tổng hợp hình ảnh từ văn bản thành hình ảnh thực tế với các
mạng đối thủ tạo ra được xếp chồng lên nhau chứng minh việc sử dụng GAN,
cụ thể là StackGAN của họ để tạo ra các bức ảnh trông giống như thật từ các
mô tả bằng văn bản về các đối tượng đơn giản như chim và hoa. Ting-Chun
Wang [10] công bố về tổng hợp hình ảnh độ phân giải cao và thao tác ngữ

nghĩa với các GAN có điều kiện để chứng minh việc sử dụng các GAN có
điều kiện để tạo ra các hình ảnh chân thực được cung cấp một hình ảnh ngữ
nghĩa hoặc bản phác thảo làm đầu vào. Rui Huang [11] đã nghiên cứu việc
tổng hợp các góc nhìn từ một khn mặt và có nhiều ứng dụng trong lĩnh vực
nhận dạng khuôn mặt. Christian Ledig [12] công bố cơng trình nghiên cứu về
aenh siêu phân giải ảnh đơn thực tế bằng cách sử dụng GAN chứng minh việc
sử dụng GAN, cụ thể là mơ hình SRGAN của họ, để tạo ra hình ảnh đầu ra
với độ phân giải pixel cao hơn, đôi khi cao hơn nhiều.

4

3. Mục tiêu nghiên cứu
- Nghiên cứu về ý tưởng, cấu trúc của mô hình, các thuật tốn được sử dụng
trong mơ hình GAN.
- Cài đặt chương trình tạo mẫu ảnh trị chơi thiếu nhi.
4. Đối tượng và phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
- Nghiên cứu cơ sở lý thuyết và thuật toán GAN.
4.2 Phạm vi nghiên cứu
- Ứng dụng GAN trong việc tạo mẫu ảnh trò chơi thiếu nhi.
5. Nội dung nghiên cứu
- Lý thuyết và thuật toán GAN.
- Ứng dụng sinh ảnh mẫu trị chơi thiếu nhi bằng mơ hình GAN.
6. Phương pháp nghiên cứu

Phương pháp nghiên cứu của đề tài là lý thuyết kết hợp với thực
nghiệm. Tiến hành nghiên cứu dựa trên việc tìm hiểu tài liệu, cài đặt thử
nghiệm sau đó đánh giá kết quả thực nghiệm.

5


Chương 1. KIẾN THỨC CƠ SỞ CỦA HỌC MÁY VÀ HỌC SÂU

Trong chương này, chúng tơi trình bày khái niệm tổng qt như học
máy, mạng nơron, học sâu nhằm tạo tiền đề tìm hiểu về mơ hình GAN.
1.1 Giới thiệu
1.1.1 Khái niệm

Học máy (ML), là một lĩnh vực con của trí tuệ nhân tạo (AI) và khoa
học máy tính, chuyên về việc khai thác, xử lý và sử dụng dữ liệu cùng với
thuật tốn để mơ phỏng q trình học hỏi của con người, từ đó nâng cao độ
chính xác trong q trình thực hiện. Đến thời điểm hiện tại, đã xuất hiện nhiều
định nghĩa khác nhau về học máy. Tom Mitchell, một giáo sư nổi bật tại Đại
học Carnegie Mellon, đã đưa ra một định nghĩa rõ ràng và chi tiết về học máy
như sau:

Định nghĩa 1.1. Một chương trình máy tính sẽ được coi là “học” từ dữ
liệu/kinh nghiệm E trong bối cảnh tập nhiệm vụ T và chỉ số đánh giá P, nếu
nó cải thiện khả năng thực hiện nhiệm vụ T, dựa trên chỉ số P, thông qua dữ
liệu hoặc kinh nghiệm E.
1.1.2 Ứng dụng của học máy

Một số ứng dụng tiêu biểu của học máy:
Xử lý hình ảnh: bài tốn xử lý ảnh sẽ giải quyết một số vấn đề phân tích
thơng tin từ hình ảnh hay thực hiện một số phép biến đổi. Một số ví dụ cơ bản
cho lĩnh vực này như ứng dụng gắn thẻ hình ảnh, nhận dạng ký tự, ô tô tự
lái…
Nhận dạng giọng nói: nhận dạng giọng nói là việc chuyển đổi giọng
nói thành văn bản. Nó được biết đến với máy nhận dạng giọng nói hoặc nhận
dạng giọng nói tự động.


6

Khai phá dữ liệu: là quá trình khám phá ra các thơng tin có giá trị hoặc
đưa ra các dự đoán từ dữ liệu. Ứng dụng của khai phá dữ liệu như phát hiện
bất thường, phát hiện các quy luật, gom nhóm, dự đốn,…

Phân tích văn bản: là cơng việc trích xuất hoặc phân lọi thơng tin từ
văn bản. Các văn bản ở đây có thể là các tài liệu, email, …

Chẩn đoán y khoa: Machine Learning có khả năng được áp dụng vào
những phương pháp và cơng cụ chẩn đốn bệnh. Nó có thể khai thác và kết
hợp các dấu hiệu lâm sàng để dự đoán diễn biến của các bệnh tật, cung cấp
thông tin cho bác sĩ nhằm lập ra kế hoạch để điều trị và theo sát tình hình
bệnh nhân cho phù hợp.

Phân tích thị trường chứng khốn: Trong ngành tài chính, phân tích
chứng khốn tập sẽ trung vào thực hiện những giao dịch tự động có thời gian
ngắn hạn với một lượng lớn giao dịch. Người dùng trong những chiến lược
này chú tâm vào việc phát triển các thuật toán giao dịch dành cho mã chứng
khoán dựa trên lượng giao dịch và mối tương quan lịch sử, cũng như các yếu
tố kinh tế khác, để xây dựng các chiến lược khai thác chênh lệch giá.

Dịch vụ ngân hàng tài chính: Machine Learning mang lại nhiều tiềm
năng trong lĩnh vực ngân hàng và tài chính, có vai trò quan trọng rất trong sự
phổ biến của những dịch vụ tài chính. Nó giúp các ngân hàng và tổ chức tài
chính dự đốn và ngăn chặn việc đóng các tài khoản trước khi sự cố xảy ra,
theo dõi hành vi chi tiêu của khách hàng, phân tích xu hướng thị trường, có
thể huấn luyện để giám sát mơ hình chi tiêu của khách hàng.


1.1.3 Phân loại các phương pháp học máy
Có một số phương pháp học máy được sử dụng rộng rãi, bao gồm: học

có giám sát, học khơng giám sát, học bán giám sát và học tăng cường.

Học có giám sát (Supervised Learning): Đây là kỹ thuật dự đoán giá trị

7

hoặc nhãn cho dữ liệu mới dựa trên các quy tắc học được từ các đặc điểm của
tập dữ liệu huấn luyện. Trong phương pháp này, tập dữ liệu huấn luyện phải
có những giá trị đầu ra đã xác định từ trước. Học có giám sát chủ yếu được sử
dụng để giải quyết hai loại bài toán: bài toán hồi quy (regression problem) và
bài toán phân lớp (classification problem).

Học không giám sát (Unsupervised Learning): Phương pháp này áp
dụng các thuật tốn học máy để phân tích và gom nhóm dữ liệu khơng có
nhãn. Những thuật tốn này có khả năng tìm ra các mơ hình hoặc nhóm dữ
liệu tiềm ẩn mà không yêu cầu sự can thiệp từ con người.

Học bán giám sát (Semi-supervised Learning): Kỹ thuật này là sự kết
hợp giữa học có giám sát và học khơng giám sát, nó sử dụng dữ liệu đã được
gán nhãn và dữ liệu chưa được gán nhãn để huấn luyện.

Học tăng cường (Reinforcement Learning): Đây là quá trình học từ
chuỗi các hành động, tiến trình từng bước nhằm đạt được kết quả lý tưởng khi
hoàn thành chuỗi các thao tác. Học tăng cường chủ yếu được áp dụng trong
việc phát triển các ứng dụng game và các hệ thống điều khiển tự động.

1.1.4 Các bước tiến hành trong bài toán học máy

Một bài toán học máy trải qua các bước sau:
Bước 1: Thu thập dữ liệu
Đầu tiên, ta thu thập và tổng hợp dữ liệu để tạo ra tập dữ liệu huấn

luyện. Tập dữ liệu này sẽ được sử dụng để huấn luyện mơ hình học máy.
Bước 2: Tiền xử lý dữ liệu
Sau khi thu thập dữ liệu, ta cần tiền xử lý dữ liệu để loại bỏ các giá trị

thiếu, xử lý nhiễu và chuẩn hóa dữ liệu. Do đó, bước này là một bước quan trọng
để cải thiện chất lượng dữ liệu và giảm thiểu sai sót khi huấn luyện mơ hình.

8

Bước 3: Chọn mơ hình
Lựa chọn một mơ hình phù hợp với bài tốn cần giải quyết. Có
nhiều loại mơ hình khác nhau trong học máy, bao gồm các mơ hình phân
loại, dự đốn và phân cụm. Bước này cần phân tích và đánh giá tính hiệu
quả, độ chính xác, khả năng mở rộng, khả năng tính toán và sử dụng các
thuật toán khác nhau.
Bước 4: Đào tạo mơ hình
Chấp nhận tập dữ liệu đào tạo vào mơ hình và điều chỉnh các tham số của
nó để nó có thể tiên đốn đúng các giá trị đầu ra. Quy trình này được tiến hành
thơng qua các thuật tốn đào tạo mơ hình như Gradient Descent, Random Forest,
Neural Network, Support Vector Machine,…
Thông thường, tập dữ liệu được phân chia thành ba phần như dưới đây:
• Tập đào tạo (Training set): khoảng 60%, sử dụng để học trong quá trình
đào tạo.
• Tập xác thực (Cross validation set): khoảng 20%, sử dụng để xác nhận
mơ hình trong q trình đào tạo.
• Tập thử nghiệm (Test set): khoảng 20%, sử dụng để kiểm tra tính thích

hợp của mơ hình sau khi đã đào tạo.
Bước 5: Đánh giá mơ hình
Sau khi huấn luyện, ta đánh giá hiệu suất của mơ hình bằng cách sử
dụng tập dữ liệu kiểm tra. Nếu mơ hình khơng đạt được hiệu suất mong đợi,
ta có thể quay trở lại bước huấn luyện mơ hình và thay đổi các thơng số để tối
ưu hóa hiệu suất.
Bước 6: Sử dụng mơ hình
Cuối cùng, sau khi đánh giá và chọn ra mơ hình tốt nhất, ta sử dụng mô

9

hình để dự đốn hoặc phân loại các dữ liệu mới.

Tóm lại, q trình thực hiện bài toán học máy bao gồm nhiều bước
phức tạp, bắt đầu từ việc thu thập dữ liệu, tiền xử lý dữ liệu, lựa chọn mơ
hình, huấn luyện mơ hình, đánh giá hiệu suất của mơ hình và triển khai mơ
hình trên các ứng dụng thực tế. Để đảm bảo mơ hình hoạt động hiệu quả và
đáp ứng được các yêu cầu của người dùng, mơ hình cần được cập nhật và điều
chỉnh thường xuyên.

1.2 Mạng Nơron (Neural)

1.2.1 Khái niệm
“Neural” là từ chỉ tính chất của “neuron” (nơ-ron), và “network” ám chỉ

một cấu trúc dạng đồ thị, từ đó “neural network” (NN) được hình thành như
một hệ thống tính tốn bắt chước sự hoạt động của các nơron trong hệ thần
kinh sinh học.

Mạng nơron nhân tạo hoặc Artificial Neural Network (ANN), còn được

gọi là mạng nơron hoặc neural network, là một cấu trúc dùng để xử lý thông
tin, mô phỏng theo cách mà các hệ nơron sinh học xử lý thông tin. Được cấu
thành từ một lượng đáng kể các yếu tố (hay còn gọi là các phần tử xử lý hoặc
nơron) được kết nối với nhau qua các liên kết (được biết đến như là trọng số
liên kết), chúng tập hợp và hoạt động như một hệ thống thống nhất nhằm giải
quyết những vấn đề cụ thể. Trong đó, một nơron đóng vai trị là đơn vị cơ bản
trong việc xử lý thông tin, và là một phần quan trọng của mạng nơron.

Các yếu tố cơ bản tạo nên một nơron nhân tạo gồm có:

Nhóm các đầu vào: Đây chính là các tín hiệu đầu vào (input signals)
cho nơron, thường xuất hiện dưới hình thức của một vector m chiều. Nói cách
khác, nhóm các tín hiệu đầu vào vào x j tương ứng với các trọng số wj , với j
= 1,..., n.

10

n

Tích hợp các tín hiệu vào: Net   wj xj  w, x 

j 1

Hàm tổng hợp, thường được gọi là hàm Summing, thường được dùng
để tính tổng của tích giữa các tín hiệu đầu vào và trọng số kết nối tương ứng.

Ngưỡng, còn được biết đến như độ lệch hoặc bias, thường được thêm
vào như một phần của quá trình truyền.

Hàm truyền đạt, cịn được gọi là hàm kích hoạt (Transfer function),

thường được ký hiệu là f. Hàm này được sử dụng để chuyển đổi giá trị đạt
được từ tổng hợp của tín hiệu đầu vào. Nó giới hạn phạm vi giá trị đầu ra của
mỗi nơron, lấy giá trị đầu vào từ kết quả của hàm tổng hợp và độ lệch đã được
xác định. Thông thường, giá trị đầu ra của mỗi nơron bị hạn chế trong khoảng
[0,1] hoặc [-1, 1]. Có nhiều loại hàm truyền, bao gồm:

- Hàm kích hoạt nhị phân (Binary step): Trong đó, 0 đóng vai trị như
một ngưỡng, đạt đến một mức “kích thích” đủ cao để kích hoạt hoạt động tại
nơron.

1 if x  0
f (x)  

0 if x  0

- Hàm kích hoạt thường được sử dụng: sigmoid (x)  x 1
1 e

x if x  0
- Hàm kích hoạt Rectified linear unit (ReLU): f (x)  

0 if x  0

Lựa chọn hàm truyền phụ thuộc vào đặc thù của bài toán cũng như kinh
nghiệm của người lập trình.

Tín hiệu đầu ra o  f  Net  , là tín hiệu được phát ra từ một nơron,

trong đó mỗi nơron chỉ phát ra tối đa một tín hiệu đầu ra.


11

Mạng perceptron một lớp có khả năng biểu diễn các hàm logic như AND,
OR và NOT, nhưng lại không thể biểu diễn được hàm XOR. Điều này chỉ ra
rằng mơ hình perceptron một lớp khơng phải là phương tiện thích hợp để giải
quyết bài tốn này. Tuy nhiên, khuyết điểm này có thể được khắc phục bằng việc
sử dụng mạng nơron perceptron đa lớp (Multi Layer Perceptron - MLP).
1.2.2 Mơ hình mạng nơron nhân tạo

Có nhiều cấu trúc khác nhau của mạng nơron nhân tạo, ví dụ như mạng
nơron hồi quy một lớp hoặc mạng nơron truyền thẳng một lớp,... Tuy nhiên, ở
đây chúng ta sẽ tập trung vào mạng truyền thẳng nhiều lớp mạng perceptron
nhiều lớp (Multilayer Perceptron – MLP), đây là phiên bản phát triển của mơ
hình perceptron với việc bổ sung một số lớp ẩn và các nơron trong lớp ẩn này
sử dụng hàm hàm kích hoạt (hàm truyền) phi tuyến. Mạng MLP với một lớp
ẩn là loại mạng nơron nhân tạo nó được sử dụng phổ biến, vì có khả năng xấp
xỉ các hàm liên tục đã được định nghĩa trên miền giới hạn cũng như các hàm
rời rạc có số điểm hữu hạn.

Cấu trúc tổng quát của một mạng MLP có thể được mơ tả như sau:
- Đầu vào của mạng là vectơ (x1, x2, ..., xn) trong không gian n chiều,
đầu ra là vectơ (y1, y2, ..., ym) trong không gian có m chiều. Ở các bài tốn
phân loại, thơng thường n là kích thước của mẫu đầu vào và số lớp cần phân
loại là m.

12

- Mỗi nơron trong lớp sau được kết nối với tất cả các nơron trong lớp
trước đó.


- Đầu ra của nơron trong lớp trước được sử dụng làm đầu vào cho các
nơron ở lớp sau.

- Hoạt động của mạng MLP diễn ra như sau: ở lớp đầu vào, các nơron
nhận tín hiệu vào để tiến hành xử lý việc tính tổng trọng số và gửi qua hàm
truyền, sau đó cho ra kết quả là giá trị của hàm truyền; kết quả này được
chuyển tiếp cho các nơron thuộc lớp ẩn thứ nhất; các nơron ở đây tiếp tục
nhận tín hiệu này làm đầu vào, tiếp tục xử lý, gửi kết quả cho lớp ẩn thứ hai;...
Quá trình này tiếp tục cho tới khi các nơron cuối cùng cho ra kết quả.

Đối với kí hiệu, chúng ta có thể hiểu wij được dùng để chỉ trọng số từ
nút thứ j đến nút thứ i. Giả sử có n tín hiệu vào xj ( j  1,..., n) , khi đó giá trị

n

tại nút i sẽ là: oi  f ( x j wij )

j 1

1.2.3 Quy tắc delta

Trong học máy, quy tắc delta là quy tắc học giảm dần độ dốc để cập
nhật trọng số của đầu vào cho nơ-ron nhân tạo trong mạng nơron một lớp.
Đây là trường hợp đặc biệt của thuật toán lan truyền ngược tổng quát hơn.
Một mạng nơron với cấu trúc thích hợp có thể xấp xỉ một hàm liên tục từ Rn
 Rm nếu các trọng số được xác lập phù hợp. Như vậy, quá trình xác định các
trọng số được gọi là “học” hay “đào tạo”. Thông tin được cung cấp cho quá
trình đào tạo là một tập dữ liệu đào tạo bao gồm các cặp giá trị đầu vào – đầu
ra


T  (xq , yq ),k  1, 2,...n

Trong đó: xq  (x1q ,..., xnq )  Rn và yq  ( y1q ,..., ymq )  Rm


×