PHU LUC TỪ NGỮ TIENG ANHSTT Từ ngữ Dịch nghĩa 1 Batch normalization Binh thường hóa hang loạt 2 Binary Nhị phân 3 Channel Kênh 4 Classification Su phan loai 5 Convolution layer Lớp tích
Trang 1v
=
SLLLHLIG ‘dOT LVGHNVHL LIIA NIAñÐN ‘NAIA HNIS NAL VA OH HỌC VIEN CONG NGHỆ BƯU CHÍNH VIÊN THONG
KHOA CÔNG NGHỆ THÔNG TIN
by
Đề tài: QC-StyleGAN2: Mô hình sinh đối nghịch với
tùy biến chất lượng đầu ra
Giáo viên hướng dẫn:
Hà Nội 2021
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
byt
Đề tài: QC-StyleGAN2: Mô hình sinh đối nghịch với tùy biến chất
lượng đầu ra
Giáo viên hướng dẫn: PGS TS Phạm Văn Cường
Sinh viên: Nguyễn Viết Thành Đạt
Mã sinh viên: B17DCCNI17
Lớp: DI7HTTT5
Niên khóa: 2017-2022
Hệ đào tao: Đại học chính quy
Hà Nội 2021
Trang 3GVHD: PGS TS Phạm Van Cuong
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn tới các thầy cô trong khoa Công nghệ thôngtin 1 tại Học viện Công nghệ Bưu chính Viễn thông đã luôn giúp đỡ dìu dắt chúng emtrong suốt hơn 4 năm đại học Các thầy cô luôn nhiệt tình, tâm huyết và tận tụy chèo lái
chuyến đò đưa chúng em đến những bến bờ tri thức, thông qua rất nhiều hoạt động, cuộc
thi và qua từng bài học của thầy cô trong mỗi tiết giảng
Em xin được bày tỏ biết ơn sâu sắc đến thay PGS TS Pham Văn Cường, ngườithầy đã luôn tận tình hướng dẫn em trong quá trình làm đồ án này Những lời khuyêncủa thầy đã giúp em nhận ra rất nhiều điều thiếu sót, cũng như có thêm kinh nghiệm
trong suốt quá trình làm đồ án
Em xin cảm ơn anh Trần Tuấn Anh — hiện đang là nhà nghiên cứu khoa học tạiVinAI đã luôn tận tình giúp đỡ trang bị giúp em nhiều kiến thức về học máy, thị giácmáy tính cũng như chủ đề nghiên cứu dé em có thé hoàn thành được đồ án này
Em xin cảm ơn đến các anh chị, các bạn, các em trong CLB Lập Trình PTIT, đãluôn nhiệt tình giúp đỡ trang bị giúp em nhiều kiến thức về học máy và đồng thời cũngluôn đồng hành, tạo môi trường sáng tạo để em có thể phát triển như ngày hôm nay
Em xin cảm ơn, gia đình, bạn bè, những người đã luôn ở bên cạnh, quan tâm,
khích lệ và ủng hồ dé em có thé hoàn thành được đồ án này Xin chân thành cảm ơn tất
cả mọi người!
Cuối cùng em kính chúc quý thay, cô đồi dào sức khỏe và thành công trong sựnghiệp trồng người cao quý Đồng kính chúc tất cả mọi người, đất nước sớm vượt qua
và kết thúc dịch Covid-19 (SARS-Co V-2) hiện van đang hoành hành trên khắp thé giới
Hà Nội, ngày 27 tháng 12 năm 2021
Tác giả
Nguyễn Viết Thành Đạt
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 4LỜI GIỚI THIỆU
Gần đây, các mô hình học máy như mô hình sinh đối nghịch đã nhận được sự quantâm đáng ké từ cộng đồng nghiên cứu Trên thực tế, các nhà nghiên cứu đã đưa ranhững cách mới để sử dụng công nghệ này trong không gian thao tác hình ảnh đểchuyền đổi hình ảnh sang hình ảnh trên nhiều miền, thay đổi phong cách và chỉnh sửathuộc tính Tuy nhiên, các nghiên cứu trước đây tập trung vào tái tạo và xử lý ảnh chấtlượng cao Vì vậy, các phương pháp này hoạt động không thực sự hiệu quả trên nhiều
đữ liệu ảnh thực tế với chất lượng thấp do tác động của các yếu tố như nhiễu, mờ, và
bề hạt do nén ảnh
Đồ án sẽ đề xuất một mô hình sinh đối nghịch mới, được gọi là QC-StyleGAN2,giải quyết bài toán khi đầu vào là hình ảnh chất lượng thấp như ảnh có độ phân giảithấp, mờ, nhiễu hay có định dạng JPEG
QC-StyleGAN2 được phát triển dựa trên StyleGAN2 - một mô hình sinh đốinghịch (GAN) được thiết kế đặc thù để sinh ảnh chất lượng cao và độ phân giải lớn.Tuy nhiên, khác với StyleGAN2, QC-StyleGAN2 có thé tùy biến đầu vào dé thu đượcảnh sắc nét hoặc kém chất lượng Đồ án cũng trình bày ứng dụng của QC-StyleGAN2
trong việc tai tao lại ảnh chất lượng cao từ ảnh chất lượng thấp đầu vào, sử dụng một
phép chiếu dé tìm mã hóa tương ứng của ảnh đầu vao và tùy biến lại chất lượng ảnh
Dé làm rõ hơn vấn đề, nhiệm vụ và lợi ích của mô hình QC-StyleGAN2 Trongphạm vi đồ án nội dung đồ án được làm rõ qua các chương sau:
Chương 1: Tổng quan — Trong chương này đồ án tập trung vào trình bày cơ sở
lý thuyết, các nghiên cứu liên quan, đồng thời giới thiệu các thuật toán hiện nay đang
được áp dụng trong các mô hình học sâu.
Chương 2: Mô hình sinh đối nghịch với tùy biến chất lượng đầu ra StyleGAN2 — Trong chương nay đồ án trình bày bài toán, cách xây dựng mô hình đềxuất QC-StyleGAN2 dé giải quyết van đề đặt ra
QC-Chương 3: Thực nghiệm và đánh giá — Trong chương cuối đồ án trình bày kếtquả khi thực nghiệm, phân tích đánh giá kết quả
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 5GVHD: PGS TS Phạm Van Cuong
LOI CAM 0901 h 3
iI9š©)(00920)30005 4
DANH MUC BANG c1 7
DANH MUC ANH 0005 8PHU LUC TỪ NGỮ TIENG ANH - 2-2 22©E2EE+2EE£EEEEEECEEEEEEEEE11211221711271 2212 xe 10
PHU LUC TU VIET 9010157 12CHƯƠNG 1 TONG QUAN oiecescssssssessessesssessesssssussssssessessessusssessessessusssetsessessssssessessessssseeseesess 14
1.1 Tổng quan về bai toán về chủ dé nghiên cứu 2-2 £+2+££+£E£EzE++rsrrxerxee 15
1.1.1 GeneratIV€ mOdẢÌ: G Gv HH HH HH HH 15 1.2 co na a na 19
1.2.1 Hoc tập có giám sát và không giám Sat 5 + 33+ svEesrrserserrss 19
1.2.2 Giới thiệu mạng no-ron (Artificial Neural Network) -. -<cc<<ccex 20
1.2.3 Mô hình mạng nơ-ron tong quát - ¿5£ +s+2E+EE+EE£EE£EE2EEEEEEerkerkerkrreee 21
1.2.4 Mang Perceptron nhiều lớp (Multilayer perceptron) s5 s2 5+: 22
1.2.5 Convolutional neural network - s11 vn nh ng tr 22 1.2.6 Generative Adversarial NGEWOTKS dán HH ngư 28
1.2.7 Minibatch DiscriminafIOn <6 E19 9n krc 30
1.3 Các nghiên cứu liên quan về GANN - 2 s+Sk+EE2+E£+EEEEEEEEEEEEEEEEEEEEEE2EE2Excrkerkee 32
1.3.1 Mang sinh đối nghịch : 2:©2+2222EE2EEEEEEEEEEEECEEEEEEerkrsrkrrrrres 321.3.2 Mạng sinh đối nghịch có điều kiện - CGAN - 2 2+ccEcckezxerersereee 331.3.3 Học không giám sat với mạng sinh đối nghịch sử dụng mạng nơ-ron tích chập -
QC-StyleGAN2 - 5:21 2t 21 2112112212211211211211011211111 211.111.1111 11.1.1011 Eree 53
2.1 Mục tiêu -Scc 2c 2S 2112712212121 211 21111121 T1 1111.111 eerrree 54
5 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 62.2 Ý tưỞng c2 L2 k2 TH 2 E2 2212111211211 21111 eree 54
2.3 Kiến trúc mạng sinh đối ngịch QC-StyleGAN2 - 2-5: SccEcEctEkeEkerkerkerres 55
2.4 Xử lý đữ liệu 2- s22 E221 221211211211211 211.1111111 narree 56
2.4.1 Tập dữ liệu Flickr-Faces-HQ (FFHQ) - - c S2 sirrerresrrerrres 562.4.2 Tiền xử lý dữ liệu: -2-©2-©7<+2k 2k2 2212712121121 crkcrk, 562.4.3 Tạo dữ liệu hình ảnh suy giảm chất lượng - 2 + 5z+s+z++zxsrxcres 57
2.5 Mô hình sinh Œ ¿+2 E+EEESEE22E12E12711271121171171121171111111.1E 1.111 ee 59
2.6 Mô hình phân biệt D - 2 <+SE£+EE£2EE£EE9E127171171127171171111211 21.11 11ctxee 60 2.7 Mô hình phân biệt theo cặp D ĐØGỨIT LH TH HH Hư, 61
"No sẽ 61
2.9 Các chỉ số đánh giá GAN 2 252 2S 2E EE122212211271271211111211211 111.11 crye 642.9.1 Khoảng cách khởi đầu Frechet -+-©2¿2++2++2E++EE++Exrzrxerreerxesrxee 65
2.9.2 PPL - Độ dài đường dẫn cảm nhận ¿2 2 + £+E+EE+E+£E+E££xeEzxerxrreree 65
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIIÁ 2-52 5E2E2EE£EE£EEeEEzErrxerkerkeee 69
3.1 Kết quả thực nghiệm - 2-52 s+SE+EE2EE2EE2EE9712112212717112112112117171.11 1x1 xe 70
3.1.1 _ Công cụ và thiết bi phần mềm dé dao tạo đánh giá mô hình GAN 70
3.12 — Đánh giá Ă 2S 2H TH TT 2122112112121 eerre 70
3.1.3 Kết quả tùy biến chất lượng hình ảnh đầu ra từ mô hình sinh 713.2 Tái tạo hình anh bằng cách đưa hình ảnh về không gian tiềm ân - 753.2.1 _ PTI- Điều chỉnh tong thé cho dựa trên tiềm ân -¿-¿©2s2c+=xczs2 76
3.2.2 Kết quả tái tạo hình ảnh QC-StyleGAN2 -2-©5c©52cStcExeEEerErrkerxerkeres 78
3.3 Kt sẽ .ỒỐ Ẽ.Ố.Ố.Ố 80TAI LIEU THAM KHẢO - 2-2-5 ©5£2SE+SE9EEEEEEEEEEEEEEEEEEEE12E1717112112117171211 1111 x0 81
6 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 7GVHD: PGS TS Phạm Van Cuong
DANH MỤC BANG
Bang | Bảng đánh giá dựa trên độ do FID giữa mang sinh đối nghịch QC-StyleGAN2 được
dé xuat va StyleGAN2-ADA in
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 8DANH MỤC ẢNH
Hình 1 Ví dụ về kiểm soát hình ảnh đầu vào . -cccccrrrrtrrrrrrrirrrrrrirrrrrirrrrri 17Hình 2 Ví dụ về kết quả Single image super-resolutiOn s2 s¿2+z2+£x++zx++zxzzxees 17Hình 3 Vi dụ ứng dụng tương tác được gọi là mạng sinh đối nghịch tương tác (iGAN) 18Hình 4 Ví dụ sử dung mô hình sinh để chuyên đổi ảnh này sang ảnh khác - 19Hình 5 Mô phỏng mạng nơ-ron của con người trong sinh học - s- s55 ss+s*++ss+sssx 20
Hình 6 Mô phỏng mạng nơ-ron của con người trong máy tính - s55 55s ss+<sss+*sex++ 21
Hình 7 Mô hình mạng nơ-ron tổng quát 2- 22 +¿©£++++E++2E++EE+£EE+£EEtEE++EE++Exzrxrrxesree 21Hình 8 Mang Perceptron nhiều lớp với một lớp ẩn eeseessessessessessessesseestessesseesees 22Hình 9 Phương pháp trượt cửa số trong CNN cscsssesssesssssssssesssesssssseessecssecsssssesssecssesseessecssecs 23
Hình 10 Phương pháp nhân tích chập trong CNN S132 1 11 111 1x re 23
Hình 11 Quá trình tích chập mô phỏng mạng NO-TON 5 25522232 £+*‡+sEsexeerxeerrxs 24Hình 12 Đồ thị ham sigtmoid - ¿- 2 ¿+ E‡SE9EE£EE£EE+EE£EEEEEEEEEEEEEEEEEEEEEEEEE2117111 1111 Ee 24Hình 13 Đồ thị hàm ReLU -.-¿ ©52:222vt2E2+v2221122EE 2E tro 25
Hình 14 Gộp cực đại với cửa số trượt có kích thước 2X2 -ss+s*ck+k+xvEeEk+kerererkerererke 27
Hình 15 Ví dụ về lớp fully connected :- 2 + £+E£+E++E£EE£EEEEESEEEEEEEEEEEEEEEEErkerkerkrree 27
Hình 16 Thuật toán batch normal1ZafiOTI - - <2 22 E332 3332211332 111 31 v3 ng ng 28
Hình 17 Cách hoạt động của mô hình sinh - - - ¿5c 2132333211321 EEEkrrrkrre 29
Hình 18 Cách hoạt động của mô hình phân biét - 5-5 22122111331 EEExeerseeeree 30 Hình 19 Cách Mini-batch Discrimination hoạt động . 5 25 + * + +skEseerseessrek 31
Hình 20 Cách hoạt động của một mạng sinh đối nghịch cơ bản -ccs-ccsscsserssereres 32
Hình 21Cách hoạt động của một mang sinh đối nghịch có điều kiện - 2-5-5: 34Hình 22 Kiến trúc DCGAN Mô hình sinh với các lớp tổng hợp được thay thé băng các lớp
phức hợp được sắp xếp theo thứ ty 2-52 5+£+E£+EE2EE£EEEEEE2EE2EEE7121121127111211 211 1xx 36
Hình 23 Kiến trúc mạng sinh đối nghịch GAWWN 2c St 2k 2221121112111 1 tee 37Hình 24 Kiến trúc mang sinh đối nghịch StackGAN 2: 2¿©25¿22+2x+2£xt2zxrzrrrrresree 37Hình 25 Kiến trúc mạng sinh đối nghịch ProGAN ¿- 2: ©2++2++2x+2z+vzxerxesrxrrrsees 38
Hình 26 Các hình ảnh được tạo ra từ Style€GAN - L nt HH H111 111111 kg re 39
Hình 27 Các hoạt động của mạng sinh đối nghịch ProGAN -.- che 40
Hình 28 Mạng ánh xa trong StyleGAN - LH HH HH HH TH HH HH HH, 41
Hình 29 Ví dụ về chuyển phong cách bang AdalN scccscsssesssesssesssessesssesssecsessesssecssesseseseessees 42
8 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 9GVHD: PGS TS Phạm Van Cuong
Hình 30 Kiến trúc của mạng sinh StyleGAN c.cscsssesssesssssssssesssessssesesssecssecsuessecssecssecsesssecssecs 43Hình 31 Ví dụ minh họa với hai yếu tố biến déi trong không gian tiềm ẩn - 44Hình 32 Cách đơn giản hóa khối Style trong mô hình sinh của StyleGAN I - 46Hình 33 Cách đơn giản hóa khối Style trong mô hình sinh của StyleGAN 2 - 47
Hình 34 MSG-GAN và các biến thể 222cc tt reo 49
Hình 35 Kiến trúc mạng sinh đối nghịch MSG-GAN 2-52 2+S2+E+E££EerEerxerxerxrree 50
Hình 36 Cách hoạt động của StyleGAN2-ATDA - - c 1v n1 TH HH ng ng ng 50
Hình 37 Kiến trúc mạng sinh đối nghịch QC-StyleGAN2 -¿- 2-52 2 2+E£Ee£EeExerxerxzree 55Hình 38 Hình anh mẫu về tập dữ liệu FFHQ, - ¿2 2£ ++E+£E++E+£EEerxzxezreerxersees 56
Hình 39 Tăng cường dữ liệu sử dung phương pháp lem mờ hình ảnh - - -« 57
Hình 40 Tăng cường dữ liệu sử dụng phương pháp thay đôi màu sắc trong ảnh 58
Hình 41 Tăng cường dữ liệu sử dụng phương pháp thêm nhiễu vào ảnh -. - 58
Hình 42 Tang cường dữ liệu sử dụng phương pháp vở ảnh - s55 5-<ss++ss++seeeseeeeeess 58
Hình 43 Kiến trúc mô hình sinh trong mạng sinh đối nghịch QC-StyleGAN2 59Hình 44 Kiến trúc mô hình phân biệt trong mạng sinh đối nghịch QC-StyleGAN2 60Hình 45 Kiến trúc mô hình phân biệt theo cặp trong mạng sinh đối nghịch QC-StyleGAN2.61
Hình 46 Mô tả đường dẫn cảm nhận PPL -2- 22252 ©E+EE+E++E++E++E++EEzxerxezxerxerrsrez 66
Hình 47 So sánh khoảng cách PPL giữa các hình ảnh được tạo ra bởi mô hình sinh với hỉnh
ảnh HU - 2 1 221111223111 231112930 11190 vn ng HT HH ng 67Hình 48 Kết qua tùy biến chất lượng hình anh dau ra của QC-StyleGAN2 - 75
Hình 49 Kết quả trước va sau sử dung PTI trong nhiệm vụ tái tạo hình ảnh 77
Hình 50 Kết quả tái tạo hình anh của mô hình sinh đối nghịch QC-StyleGAN2 áp dụng
phurong phap PTI 0011212525 79
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 10PHU LUC TỪ NGỮ TIENG ANH
STT Từ ngữ Dịch nghĩa
1 Batch normalization Binh thường hóa hang loạt
2 Binary Nhị phân
3 Channel Kênh
4 Classification Su phan loai
5 Convolution layer Lớp tích chap
6 Dropout Bỏ
7 Deep learning Học sâu
8 Fully connected layer Lớp kết nối day đủ
19 | Training Huan luyén
20 | Deep belief networks Mang lưới niềm tin sâu
21 | Single image super-resolution Hình ảnh siêu độ phân giải
22 | Artificial Neural Network Mang nơ-ron nhân tao
23 Multilayer perceptron Perceptron nhiều lớp
24 | Sigmoid function Hàm sigmoid
25_ | Rectified linear unit Don vi tuyến tính chỉnh lưu
26_ | Generative Adversarial Networks Mang sinh đối nghịch
27 | Minibatch Discrimination Phân biệt lô nhỏ
28 | Mapping Network Mang anh xa
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
10
Trang 11GVHD: PGS TS Phạm Văn Cường
29_ | Style mixing Xóa trộn phong cách
30_ | Stochastic variation Biến thê ngẫu nhiên
31 | Regularization Chính quy hóa
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
11
Trang 12PHỤ LỤC TỪ VIẾT TAT
STT | Từ viết tắt Từ đầy đủ Giải nghĩa
1 GAN Generative Adversarial Networks | Mang sinh đối nghịch
2 CNN Convolutional neural network Mang no-ron tich chap
3 ProGAN Progressive Growing of Mang sinh déi nghich tang
Generative Adversarial Networks | trưởng liên tục
4 StyleGAN Style Generative Adversarial Mang sinh đôi nghịch phong
Networks cách
5 StyleGAN2_ | Style Generative Adversarial Mang sinh đối nghịch phong
Networks version 2 cách phiên bản 2
6 StyleGAN2- | Style Generative Adversarial Mang sinh đôi nghịch phong
ADA Networks version 2 with adaptive | cách phiên bản 2 với tăng
discriminator augmentation cường thích ứng cho mô hình
phân biệt
7 MLP Multilayer perceptron Mạng perceptron nhiều lớp
8 MSE Mean squared error Lỗi bình phương có nghĩa
9 NN Neural Network Mạng nơ-ron
10 |ReLU Rectified linear unit Don vị tuyến tính chỉnh lưu
11 CGAN Conditional Generative Mang sinh đối nghịch có điều
Adversarial Networks kiện
12 | DCGAN Deep Convolutional Generative Mang sinh đối nghịch sử dung
Adversarial Networks no-ron tich chap
13 |IGAN Interactive Generative Adversarial | Mạng sinh đối nghịch tương
Networks tac
14 ANN Artificial Neural Network Mang no-ron nhan tao
15 AdaIN Adaptive Instance Normalization | Binh thường hóa thích ứng
từng đối tượngl6 |MSG-GAN | Multi-Scale Gradients Generative | Mang sinh đối nghịch với
Adversarial Networks nhiều trọng điểm
17 StackGAN _ | Stack Generative Adversarial Mang sinh đôi nghịch ngăn
Networks xếp
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
12
Trang 13GVHD: PGS TS Phạm Văn Cường
18 |FFHQ Flickr Faces High Quality Dataset | Tập dữ liệu mặt người chất
lượng cao của Flickr
19 | FID Frechet Inception Distance Khoảng cách khởi đầu Frechet
20 | PPL Perceptual Path Length Độ dài đường dẫn cảm nhận
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
13
Trang 14CHƯƠNG 1 TONG QUAN
Trong chương 1, đồ án sẽ trình bay về bài toán chủ đề nghiên cứu, các nghiên
cứu liên quan về mạng sinh đối nghịch Đồng thời đồ án giải thích khái niệm về mô
hình sinh đối nghịch mà đồ án áp dụng, các khái niệm công thức cơ bản trong học sâu
Qua đó đưa ra cái nhìn tổng quan nhất về chủ đề nghiên cứu các mô hình sinh đối
nghịch Trong chương 1 trình bay qua các phan:
e - Tông quan về chu đê nghiên cứu
e Hoc sâu
e Các nghiên cứu liên quan về mô hình sinh đôi nghịch
e Muc tiêu đô án
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
14
Trang 15trong việc phân tích và hiểu dữ liệu không được gắn nhãn Ý tưởng đăng sau các mô
hình tổng hợp là năm bắt phân phối xác suất bên trong dir liệu dé tạo ra dit liệu tương
tự Điều này có thé được sử dụng dé lập chỉ mục và truy xuất dir liệu nhanh chóng và
nhiều tác vụ khác Mô hình sinh đã được sử dụng trong nhiều lĩnh vực va van đề như
nhiệm vụ nhận dạng trực quan, nhận dạng và tạo giọng nói, xử lý ngôn ngữ tự nhiên và
robot.
Tổng quan, các mô hình sinh có thé được chia thành hai thé loại:
e Các mô hình dựa trên hàm chi phí như bộ tự mã hóa autoencoders[24] va
mạng sinh đối nghịch GAN[8].
e_ Các mô hình dựa trên năng lượng trong đó xác suất chung được xác định
bang cách sử dụng một hàm năng lượng Ví du, máy Boltzmann và các
biên thê của nó và mang lưới niêm tin sâu deep belief networks.
Tùy thuộc vào ban chất và độ sâu, một mô hình có thé thực hiện các loại hình
đào tạo khác nhau Nhìn chung, một số chiến lược đào tạo nhanh nhưng không hiệu
quả và những chiến lược khác hiệu quả hơn nhưng khó thực hiện hoặc mat quá nhiều
thời gian Cũng có những kỹ thuật được sử dụng dé tránh sự đánh đổi nay, chang han
như đào tạo hai giai đoạn Ví dụ đáng chú ý nhất là mạng lưới niềm tin sâu thường trải
qua quá trình đảo tạo riêng biệt cho các thành phần của nó trong một giai đoạn được
gọi là đào tạo trước, trước khi đào tạo cuối cùng của toàn bộ mạng cùng một lúc trong
giai đoạn tinh chỉnh.
Đề xây dựng một mô hình sinh sâu bằng cách kết hợp các mô hình khác, chúng
ta cần lưu ý rang phân phối xác suất của mô hình kết quả có thé được tính toán và đánh
giá một cách rõ ràng hoặc ngầm hiểu dé cung cấp cơ sở xác suất cho việc lay mẫu
hoặc cuối cùng thực hiện suy luận trên mô hình Nói chung, các mạng chuyền tiếp dé
xếp chồng và kết hợp hơn, trong khi các mô hình dựa trên năng lượng khó kết hợp hơn
mà không làm mât khả năng kiêm soát của các xác suât chung.
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
15
Trang 16Trong đồ án này sẽ tập trung vào phát triển mô hình dựa trên hàm chỉ phí —
mạng sinh đối nghịch GAN[8].
Vi dụ vê một sô nhiệm vụ đòi hỏi ban chat phải tạo ra các mau tot bao gôm:
e Kiểm soát thuộc tính hình ảnh tao ra: Trong tác vụ nảy, mục tiêu có thể
kiểm soát hình ảnh được tạo bằng cách cài đặt các thuộc tính chính xác
như tuổi, tư thế, biểu cảm, v.v Hầu hết các phương pháp xử lý hình anh
do GAN[8] tạo đều đạt được khả năng kiểm soát một phần băng cách tận
dụng các thuộc tính xáo trộn ở trong không gian tiềm an, co duoc sau khi
dao tạo GAN[8] tiêu chuẩn
e Single image super-resolution: Trong tác vụ này, mục tiêu là chụp ảnh có
độ phân giải thấp và tổng hợp anh có độ phân giải cao tương ứng Bắtbuộc phải tạo mô hình sinh vì tác vụ này yêu cầu mô hình đưa nhiềuthông tin vào hình ảnh hơn so với thông tin đầu vào ban đầu
e Sáng tạo mỹ thuật: Trong tác vụ này GAN[8] có thể được sử dụng để tạo
các chương trình tương tác hỗ trợ người dùng tạo hình ảnh thực tế tươngứng với các cảnh phác thảo trong trí tưởng tượng của người dùng.
e Các ứng dụng chuyền đổi ảnh này sang anh khác: có thé chuyên đổi ảnh
thành bản đồ hoặc chuyển bản phác thảo sang ảnh Có rất nhiều ứngdụng sáng tạo mới lạ nhưng rất hữu ích khi chúng đã được khám phá
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
16
Trang 17GVHD: PGS TS Phạm Văn Cường
Hình 1 Vi dụ về kiểm soát hình ảnh dau vàoHàng 1, 2 thé hiện việc kiểm soát thuộc tính tuổi tác và hang 3,4 thé hiện việckiểm soát thuộc tính tư thé
bicubic SRResNet SRGAN (21.59dB/0.6423) (23.44dB/0.7777) (20.34dB/0.6562)
4 Ps.
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
17
Trang 18Kết qua Single image super-resolution thé hiện lợi ích khi sử dụng mô hình sinh
để tạo ra hình ảnh thực tế chỉ tiết Với hình ảnh ngoài cùng bên trái là ảnh gốc có độ
phân giải cao sau đó được thu nhỏ xuống độ phân giải thấp dé thử nghiệm các phương
pháp Với hình ảnh bên cạnh ảnh gốc sử dụng phương pháp nội suy, tiếp theo là sử
|
Hình 3 Vi dụ ứng dung tương tác được gọi là mang sinh doi
nghịch tương tác (iGAN)
dụng neural network đơn giản và cuối cũng là sử dụng mô hình GAN[8].
Người dùng có thé vẽ một bản phác thảo thô của một hình ảnh và iGAN sử
dụng GAN để tạo ra hình ảnh thực tế tương tự nhất.
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
18
Trang 19GVHD: PGS TS Phạm Văn Cường
Input Ground truth Output
Labels to Street Scene Van
1.2.1 Hoc tập có giám sát va không giám sat
Các thuật toán học máy dựa trên dữ liệu mà chúng học được được phân loại là
học có giám sát và không giám sát Trong trường hợp học tập có giám sát với tập dữ
liệu thuật toán được học, tập dữ liệu có đầu ra mục tiêu (nhãn đích) cho mọi mẫu dữ
liệu và thuật toán cố gang suy ra một ham f phù hợp nhất với tập dữ liệu huyến luyện
Sau đó, chúng tôi sử dụng hàm f nay dé dự đoán dau ra mục tiêu (nhãn đích) cho dit
liệu thử nghiệm được xem xét.
Đối với phương pháp học tập này, sai số bình phương trung bình (MSE) là một
thước đo tốt cho chất lượng mô hình Các giá trị MSE luôn không âm và giá trị càng
thấp thì mô hình càng tốt
1 " z 1 " a (1.1)
MSE =—'(¥- f(xd) ==) (Y,— Ÿ)
i=1 i=1 Trong do:
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
19
Trang 20e —n: số lượng mau dữ liệu.
e X,: mau dữ liệu thứ i.
e - ƒ(X,): ham hypothesis với đầu vào là mẫu dữ liệu thứ i
e Y;: đầu ra mục tiêu (nhãn đích) của mẫu dữ liệu thứ i
e _ ñ: đầu ra dự đoán của ham hypothesis với mẫu dữ liệu thứ i
Học tập có giám sát đi kèm với tập dữ liệu được gắn nhãn, ví dụ như bài toán
phân loại chó / mèo hoặc bài toán hồi quy với các giá trị liên tục như giá nhà, v.v., Trái
ngược, học tập không giám sát không có đầu ra mục tiêu (nhãn đích) mà chỉ có dữ liệu
đầu vào Mô hình học tập không giám sát cố gang tìm các đặc trưng phù hợp nhất, nén
thông tin, truy xuất các đối tượng tương tự (truy xuất hình ảnh) và phân cum dé liệu có
đặc điểm tương tự - điều này giống như ngược lại với phương pháp học tập có giám
sát, chăng hạn như bạn được cung cấp hình ảnh của một con mèo và mô hình học tập
có giám sát cân tìm một nhãn cho hình ảnh đó.
1.2.2 Giới thiệu mạng nơ-ron (Artificial Neural Network)
Mạng nơ-ron nhân tạo (ANN/NN)[1] là mô hình toán hoc xử lý thông tin được
mô phỏng dựa trên hoạt động của hệ thống thần kinh sinh vật Nó bao gồm một lượng
lớn các nơ ron được liên kết với nhau ANN có khả năng lưu trữ những tri thức ( kinh
nghiệm) và sử dụng những tri thức đó cho việc dự đoán các dữ liệu chưa biết thông
qua học tập ( huấn luyện) Noron có 4 phan chính: thân noron (soma), cây thần kinh
(dendrite), trục thần kinh (axon) và khớp thần kinh (synapse)
Trang 21Các cây thần kinh thu thập thông tin từ một nơron bên ngoài được mô hình như
một vectơ đầu vào X Vectơ trọng số ( weights- W) mô tả các khớp thần kinh đặt
trọng số vào thông tin Bộ cộng (Sum) là một sự mô tả của thân nơron sẽ cộng tất cả
các thông tin đầu vào Hàm chuyên đổi thể hiện một giá trị nào đó điều khiển nơron
phát ra, và cuối cùng trục thần kinh có thể được mô tả như là một vectơ đầu ra
1.2.3 Mô hình mạng no-ron tổng quát
Một mô hình noron nhân tạo gồm 3 lớp cơ bản: Lớp đầu vào (Input layer) là lớp
làm việc trực tiếp với đữ liệu bên ngoài, cho nên số lượng nơron ở lớp đầu vào phụ thuộc
vào số chiều của dữ liệu bên ngoài Lớp giữa (lớp 4n- Hidden layer) là lớp xử lý dữ liệu
nhận từ lớp đầu vào, có thé có nhiều lớp noron hơn ở lớp giữa Lớp đầu ra (Output layer)
là lớp xuất ra kết quả, số lượng noron lớp dau ra phụ thuộc vào số lượng kết quả muốn
có Nếu lớp nơron ở giữa mà nhiều hơn 2 người ta gọi đó là mô hình học sâu (Deep
Hình 7 Mô hình mạng nơ-ron tổng quát
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
21
Trang 221.2.4 Mang Perceptron nhiều lớp (Multilayer perceptron)
Perceptron là một thuật toán nhằm phân loại nhị phân, tức là liệu đầu vào thuộc
về một lớp nhất định Y = 0 hay Y = 1 Perceptron nhiều lớp là một lớp của mạng
nơ-ron nhân tạo bao gồm một hoặc nhiều perceptnơ-ron MLP bao gồm một lớp đầu vào, ít
nhất một lớp an tùy ý và một lớp đầu ra MLP sử dụng kỹ thuật lan truyền ngược, một
phương pháp lặp lại trong đó trọng số được tính toán (từ lớp đầu vào qua các lớp an
đến lớp đầu ra) được đo dựa trên lớp thực tế và trọng số được cập nhật để cải thiện
mạng cho đến khi nó có thể đưa ra dự đoán tốt nhất tương tự như nhãn thực tế của nó
Output f(X)
Output Layer
Hidden Layer
Hình 8 Mạng Perceptron nhiêu lớp với một lớp ẩn
1.2.5 Convolutional neural network
Là một trong những mô hình Deep Learning tiên tiến, bằng cách sử dụng nhiềulớp (layer) xử lý cấu trúc phức tạp chồng lên nhau Thường được sử dụng với các bài
toán liên quan xử lý ảnh, giải quyết được vấn đề lượng lớn các tham số mà van lay ra
được các đặc trưng của ảnh và cho độ chính xác tốt hơn nhiều các phương pháp truyền
thống
Lớp tích chập (Convolutional layer)
Lớp này sẽ trích xuất các đặc trưng(đặc tính) từ ảnh đầu vào Thay vì kết nối toàn
bộ điểm ảnh, lớp Convolutional[3] sẽ sử dụng một bộ lọc (filter/kernel) có kích thước
nhỏ so với ảnh ( thường là 3x3 hoặc 5x5) áp vào một vùng trong ảnh và tiến hành nhân
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
22
Trang 23GVHD: PGS TS Phạm Văn Cường
chập giữa bộ lọc và giá trị điểm ảnh trong vùng cục bộ đó Bộ kernel sẽ lần lượt dịch
chuyển theo một giá trị trượt (stride) dé quét toàn bộ ảnh
Việc ta sử dụng nhân tích chập ảnh đầu vào với bộ lọc sau mỗi lần sẽ làm chokích thước của đầu ra nhỏ hơn anh đầu vào, gây mat mát thông tin và hạn chế số lượng
lớp tích chập có thé sử dung, do đó cần bổ sung một số pixel bên ngoài vào hình ảnh
Padding dùng để thêm các pixel bên ngoài hình ảnh giúp đảm bảo kích thước đầu ra
mong muốn, thường là không đổi so với đầu vào, và trong các kỹ thuật padding, phổ
biến nhất là Zero padding, tức mọi giá trị thêm bằng 0
Stride = 1 Padding = 1
(s|elelelelels
Stride = 2
0o Jo Jofolo ofo |o |o|olo
Giả sử đầu vào (input) của lớp convolutional là tenxơ có kích thước
H x WxD (dài x rộng x sâu(chiều)) Kernel có kích thước F x F x Dvới F là kích
thước của kernel, kernel luôn có D bằng D của đầu vào Thực tế D là Dự, chiều sâu của
đầu và trọng số của kernel sẽ phải có cả chiều sâu của đầu ra D„„„ từ đó kernel sẽ có kích
thước F x F x Din X Dour Áp dụng lớp tích chập với K kernel, giá trị trượt ( stride)
S, padding P, đầu ra sẽ là một tensor 3 chiều với kích thước: Gane + 1) x
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
23
Trang 246|9|56|o|o|o° ø|øo|o|o|ol|s solols
2] 0 | =t Kernel Channel #1 Kernel Channel #2 Kernel Channel #3
| | ] Output
308 + —498 + 164 +1=-25
I Bias=1
Hình 11 Quả trình tích chập mô phỏng mang no-ron
Nhân lần lượt dịch kernel từ trái qua phải từ trên xuống, ta sẽ thu được một matrận đặc trưng đầy đủ Và đó cũng chính là nhiệm vụ của CNN, nó sẽ tự động tìm các
kernel, tự do ra các đặc trưng.
Hàm SigmoidHàm Sigmoid[4] là một hàm phi tuyến với đầu vào là một số thực và cho kếtquả là một giá trị trong khoảng từ (0, 1) Đầu vào là một số thực âm rất nhỏ sẽ cho đầu
ra tiệm cận với 0, và ngược lại nếu đầu vào là một số thực dương lớn sẽ cho đầu ra là
một sô tiệm cận với 1 Hàm được mô tả như sau:
1
f(x) = The (1.2)
Hinh 12 Do thi ham sigmoid
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
24
Trang 25GVHD: PGS TS Phạm Van Cuong
Hàm sigmoid có đạo hàm rất đẹp, nó đem lại đầu ra mượt hơn và liên tục hơnsovới đầu vào Tuy nhiên ham sigmoid có các nhược điểm như sau: Một nhược điểm dễ
nhận thấy là khi đầu vào có trị tuyệt đối lớn (rất âm hoặc rất dương), đạo hàm của hàm
số này sẽ rất gần đến 0 Điều này đồng nghĩa với việc sẽ không có sự cập nhật tham số
nào (vấn đề này còn được gọi là vanishing gradient)
Do vậy một neuron có hàm kích hoạt là hàm sigmoid được xem như bão hòa nếu
nó đạt được giá trị lớn nhất hoặc nhỏ nhất Mà điểm bão hòa của hàm số là 1 và 0 nên
có thé dé dàng nhận thấy được trung bình của hàm không phải là 0 Hàm sigmoid nếu
không có trung tâm là 0 sẽ gây khó khăn trong việc hội tụ Đề giải quyết vấn đề trên ta
chuẩn hóa dit liệu về dạng có trung tâm là 0 (zero-centered) thực tế có 1 cách đơn giản
hơn nhiều là dùng hàm tanh thay vì sigmoid
Hàm ReLU — Rectified linear unit
12 10 ca
5 -4 -3 -2 -1 0 1 2 3 4 5
Hình 13 Đồ thị hàm ReLU
Trong mạng nơ-ron, một hàm kích hoạt của nơ-ron xác định đầu ra của nó Một
đơn vị tuyến tính chỉnh lưu (ReLU)[6] là một trong những hàm kích hoạt phô biến
nhất trong các mô hình học sâu Nó được định nghĩa là phần dương của đối số Ví dụ
nếu hàm kích hoạt nhận giá trị âm làm đầu vào, nó sẽ cho 0 làm đầu ra và nếu nó nhận
một giá tri không âm làm đâu vào, nó sẽ trả vê giá trị đó Nó định nghĩa như sau:
f(x) = x* = max(0,x) (1.3)
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
25
Trang 26Trong đó, x là dau vào cho một nơ-ron.
Ưu điểm của ReLU so với các chức năng kích hoạt khác là giảm khả năng
vanishing gradient Khi x > 0, gradient có giá trị không đổi trong khi gradient của các
hàm sigmoid và tanh sẽ ngày càng nhỏ khi giá trị x tăng lên Gradient không đổi giúp
học tập nhanh hơn với ReLU.
Ưu điểm khác của ReLU là sự thưa Khi x = 0, các nơ-ron tương ứng sẽ hoàntoàn không được kích hoạt Điều này làm cho lớp mạng trở nên thưa thớt trong biểu
diễn kết quả Trong khi đó, sigmoid luôn tạo ra một số giá trị khác 0, kích hoạt tất cả
các nơ-ron dẫn đến các biểu diễn mạng dày đặc Mạng thưa thớt có lợi hơn so với các
đại diện mạng dày đặc bằng việc giảm số lượng tính toán trong khi vẫn đảm bảo tính
phi tuyến Hàm này thường được cài đặt ngay sau lớp Convolutional Hàm này có
nhiệm vụ chuyền toàn bộ giá trị âm trong kết qua lấy từ lớp Convolutional thành giá trị
0.
Lớp Pooling — Lớp gộp
Khi xử lý ảnh, ta thường muốn giảm dần độ phân giải không gian của các biểudiễn ấn, tổng hợp thông tin lại để khi càng đi sâu vào mang, vùng tiếp nhận (ở đầu
vào) ảnh hưởng đên mỗi nút ân càng lớn.
Nhiệm vụ cuối cùng thường là trả lời một câu hỏi nào đó về toàn bộ tắm ảnh, ví
dụ như: trong ảnh có chó không? Vậy nên các nút của tầng cuối cùng thường cần phải
chịu ảnh hưởng của toàn bộ đầu vào Bằng cách dan gộp thông tin lại dé tạo ra các ánh
xạ đặc trưng thưa dan, ta sẽ hoc được một biéu dién toàn cục, trong khi vẫn có thể giữ
nguyên toàn bộ lợi thé đến từ các tang tích chập xử lý trung gian
Với hai chức năng là giảm độ nhạy cảm của các tầng tích chập đối với vị trí và
giảm kích thước của các biểu diễn Giống như các tầng tích chập, các toán tử gộp[3]
bao gồm một cửa số có kích thước cố định được trượt trên tất cả các vùng đầu vào với
giá trị sải bước nhất định, tính toán một giá trị đầu ra duy nhất tại mỗi vị trí mà cửa số
(đôi lúc được gọi là cửa số gộp) trượt qua Tuy nhiên, không giống như phép toán
tương quan chéo giữa đầu vào và hạt nhân ở tầng tích chập, tầng gộp không chứa bất
kỳ tham số nào (ở đây không có “bộ lọc”) Thay vào đó, các toán tử gộp được định
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
26
Trang 27GVHD: PGS TS Phạm Văn Cường
san Chúng thường tính giá trị cực đại hoặc trung bình của các phan tử trong cửa số
gộp Các phép tính này lần lượt được gọi là là gộp cực đại (max pooling) và gộp trung
bình (average pooling).
Dau vao Dau ra
Hình 14 Gộp cực đại với cửa sỐ trượt có kích thước 22
Lớp Fully Connected — Lớp kết nối day đủ
Ảnh sau khi được truyền qua nhiều lớp convolutional layer, pooling layer thìmodel đã học được tương đối các đặc trưng nên giờ ta cần đưa ra kết quả dự đoán bằng
cách sử dụng lớp kết nối đầy đủ Các mang từ VGGNet về trước thường dùng 3 lớp
kết nối đầy đủ Các mạng từ ResNet về sau thường dùng một lớp kết nối đầy dủ ( Từ
tenxơ kích thước H x W x D chuyển về thành một vector kích thước (H x W x
D) Còn 1 lớp nữa là đầu ra, số noron của lớp này phụ thuộc vào số đầu ra mà ta muốn
tìm ra, trong bài toán này ta sẽ sử dụng hàm sigmoid.
lei Fattening
HHH ¬
Jojzj+
Pooled Feature MapHình 15 Vi dụ về lop fully connected PIN /|/O]RPIN/|SB/ Ole {Re
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
27
Trang 28Batch normalization
Mục tiêu của batch normalization[5] là chuẩn hóa các đặc trưng (đầu ra của mỗi
layer khi đi qua các activation) về trạng thái zero — centered với độ lệch chuẩn 1 Nó sẽ
điều chỉnh phân phối của dữ liệu cho đồng bộ trên toàn mô hình
Input: Values of x over a mini-batch: B = {z¡ „ } Parameters to be learned: +, 8
Output: {y; = BNy,s (z;)}
Hình 16 Thuật toán batch normalization
Batch normalization là một phương thức chuẩn hóa các hàm kích hoạt trong
mạng qua một mini batch theo kích thước được định nghĩa trước đó Với mỗi đặc
trưng(feature), batch normalization tính toán trung vị và phương sai của feature đó
trong một mini batch Sau đó, nó trừ đi giá trị trung bình và chia cho độ lệch chuan của
mini batch đó.
Batch normalization giúp tránh được hiện tượng giá tri cua x rơi vào khoảng
bão hòa sau khi di qua các hàm kích hoạt phi tuyến Ngoài ra batch normalization còn
có vaitrò giúp giảm thiêu overfitting
1.2.6 Generative Adversarial Networks
Xuất phát từ lĩnh vực của các thuật toán học tập không được giám sát, các mạngsinh đối nghịch (GAN)[8] được thực hiện bằng cách sử dụng hai mô hình mạng nơ-
ron Một mạng sinh G (generator network) và một mạng phân biệt D (discriminator
network) Hai mạng này là đối nghịch của nhau và cạnh tranh thông qua quá trình đào
tạo Mang sinh G như tên gọi cho thấy việc tạo ra dữ liệu giống như thực tế bắt đầu từ
một đầu vào tham số ngẫu nhiên Đầu vào này là phân phối gaussian đa biến và các giá
trị được lấy mẫu từ phân phối này và đưa vào mạng sinh Trong khi mạng phân biệt D
xác định dữ liệu là thật hay giả và đưa ra xác suất của mẫu dữ liệu đó là giả mạo.
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
28
Trang 29GVHD: PGS TS Phạm Văn Cường
Mạng sinh thường được biểu diễn bằng mạng nơ-ron tích chập CNN với các tham số
Ø„ Tương tự, mạng phân biệt D là một mạng tích chập với tham sỐ 6,4, nhận đầu vào
là ảnh x và trả về một số vô hướng đại điện xác suất x là ảnh thật hay giả mạo ký hiệu
D (x, 64) D(x) đại diện cho xác suất x đến từ dữ liệu chứ không phải nhiễu ngẫu
nhiên Mạng sinh sẽ cố gắng đánh lừa mạng phân biệt Đồng thời, mạng phân biệt sẽ
thích nghi với dữ liệu giả vừa mới tạo ra Thông tin thu được sẽ được dùng dé cải thiện
mạng sinh, và cứ tiếp tục như vậy Quá trình huấn luyện kết thúc khi mạng sinh học
được phân phối của dữ liệu và tạo ra ảnh chân thực như thật, khiến mạng phân biệt tốt
nhất cũng không thể phân biệt được
au vào: vector nhiễu Khối Generator Bau ra: ảnh gia
3 la một mang
z~N(p, 0”) Deep CNN G(z)
—
LN 3
Hình 17 Cách hoạt động của mô hình sinh
Hàm mục tiêu: Khi hai mô hình cạnh tranh trong một trò chơi có tổng bằng 0,hàm mục tiêu sẽ là hàm minimax Mục tiêu cho D có thé được hiểu là ước lượng khả
năng cực đại dé tính xác suất có điều kiện P(Y = y|x) trong đó Y cho biết x đến từ
phân phối dữ liệu gốc Paara hoặc từ phân phối dữ liệu giả của G ký hiệu py Do đó, D
sử dụng hàm mục tiêu gia tăng độ đốc (gradient ascent) dé tối đa hóa xác suất gan
nhãn chính xác cho cả các mẫu từ dữ liệu đào tạo và các mẫu được sinh ra từ G Gia
tăng độ dốc (gradient ascent) trên mô hình phân biệt bằng cách:
Trang 30e 6,4: tham số mô hình phân biệt.
© Paata: phân phối dữ liệu thực tế
e z: tham sô ngẫu nhiên.
Anh that
z~ P(x)
Khỏi Discriminator
la mot mang CNN
Hình 18 Cách hoạt động của mô hình phân biệt
Mô hình sinh G có mục tiêu dé thu nhỏ log(1 — D(G(z))) dé làm cho mô hìnhphân biệt D không xác định dữ liệu được tạo là giả mạo hay thật Ban đầu khi huấn
luyện D từ chối các dữ liệu được mô hình sinh G tạo ra với độ tin cậy cao vì chúng rất
khác với dữ liệu huấn luyện Vì vậy, thay vì nhằm mục đích tối thiêu hóa log log(1 —
D(G(z))), mô hình trình tạo G được đào tạo để tối đa hóa log(D(G(z))) Gradient đi
lên trên mô hình sinh G được xác định bởi:
"9X Ev-p„„„ [I9 (Do, (Go, ))| (1.5)
Trong do:
e D: mô hình phân biệt.
e G: mô hình sinh.
e Oy: tham số mô hình sinh
ez: tham số ngẫu nhiên
Trang 31GVHD: PGS TS Phạm Văn Cường
hàng giả Hiện tượng còn được biết đến là Mode Collapse[23] - là hiện tượng sau quá
trình huấn luyện khối Generator có thể học chỉ tạo ra một đầu ra duy nhất với bất kì
nhiễu đầu vào nào Bằng cách này mô hình sinh sẽ không bao giờ có thể tạo ra nhiều
mẫu khác nhau, điều này pha hỏng mục dich của hành vi đối nghịch của mô hình sinh
và mô hình phân biệt phân biệt.
Vấn đề này được giải quyết bằng phân biệt theo lô nhỏ trong đó mô hình phânbiệt lay tất cả đặc trưng dữ liệu từ tất cả các mẫu trong lô thay vì đầu vào đơn lẻ Điều
này sẽ buộc bộ tạo tạo ra các mẫu đầu ra tốt hơn có thé phân biệt được trong lô và tạo
không gian dé tạo ra nhiều khả năng tương tự như dữ liệu thực
Như hình 19 các đặc trưng f (x;) được lấy từ x; được tạo ra bởi một số lớp trung gian
trong mô hình phân biệt được nhân thông qua một ten-xơ T, sau đó tính toán khoảng cách
Manhattan giữa các mẫu được áp dụng một cấp số nhân âm.
;(x„xj) = exp (—||M,; — M;›||,,) (1.6)
Đầu ra o(x;) cho lớp mini-batch discrimination cho một mau x; sau đó được xác định
là tong của c, (xi, x;) cho tat cả các mẫu khác Tiếp theo, nói dau ra o(x;) của lớp mini-batch
discrimination với các đặc trưng trung gian ƒ(z;) là đầu vào và đưa kết quả vào lớp tiếp theo
của mô hình phân biệt.
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 31
Trang 321.3 Cac nghiên cứu liên quan về GAN
1.3.1 Mạng sinh đối nghịch
Trong năm 2014, có một bài báo mang tính đột phá đã giới thiệu Mạng đối sinh[8] một phương pháp khôn khéo tận dụng sức mạnh của các mô hình phân biệt D để có
được các mô hình sinh G tốt thông qua một quá trình đối đầu Về cốt lõi, GAN[8] dựa
trên ý tưởng là một bộ sinh đữ liệu là tốt nếu ta không thé chỉ ra đâu là dữ liệu gia và
đâu là dữ liệu thật Trong thong ké, diéu này được gọi là bai kiểm tra từ hai tập mẫu
-một bài kiểm tra để trả lời câu hỏi liệu tập dit liệu X ={%¡, ,x„} và X'=
{X1, ,X„} có được rút ra từ cùng một phân phối Hai mô hình một mô hình sinh (G)
và một mô hình phân biệt (D) được đào tạo đồng thời Nói cách khác, thay vì chỉ huấn
luyện một mô hình dé nói “này, hai tập đữ liệu này có vẻ như không đến từ cùng một
phân phối”, thì chúng sử dụng phương pháp kiểm tra trên hai tập mẫu dé cung cấp tín
hiệu cho việc huấn luyện cho một mô hình sinh Điều này cho phép ta cải thiện bộ sinh
dữ liệu tới khi nó sinh ra đầu ra giống như dé liệu thực Ở mức tối thiểu nhất, nó cần
đánh lừa được mô hình phân biệt, ké cả nếu mô hình phân loại của ta là một mạng
nơ-ron sâu tân tiên nhât.
-Hình 20 Cách hoạt động cua một mang sinh đối nghịch cơ bản
Mô hình sinh (G) bắt đầu với đầu vào nhiễu ngẫu nhiên nắm bắt phân phối dữ
liệu trong khi mô hình phân biệt (D) ước tính xác suất một mẫu đến từ dir liệu huấn
luyện chứ không phải từ mô hình sinh (G) Quy trình huấn luyện này tương ứng với trò
chơi hai người chơi tối thiểu - tối đa Trong khi G có gang tối đa hóa xác suất D mắc
lỗi và D thì có gang tối thiểu khả năng nhận sai Đào tạo cả hai mô hình chi bang cách
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 32
Trang 33GVHD: PGS TS Phạm Van Cuong
sử dụng thuật toán lan truyền ngược (backpropagation) và dropout (bỏ học) rất thành
công và lấy mẫu từ mô hình tổng hợp chỉ sử dụng lan truyền chuyên tiếp (forward
propagation) Không cần suy luận gần đúng hoặc chuỗi Markov
Cả hai mô hình đều là perceptron nhiều lớp Dg là phan phối tổng hợp trên dữ
liệu x, mô hình sinh bắt đầu bằng việc sử dụng biến phân phối nhiễu p,(Z) sau đó
biểu diễn ánh xa tới không gian dữ liệu dưới dạng G(z; Ø;), trong đó G là một hàm
được đại diện bởi một perceptron nhiều lớp với các tham số 64 Đối với mô hình phân
biệt, cũng là một perceptron đa lớp khác D(z; 04) được xác định có đầu ra là một đại
lượng vô hướng xác suất D(x) đại diện cho x đến từ dữ liệu huấn luyện chứ không
phải từ p, D được huấn luyện để tối đa hóa xác suất gán nhãn chính xác cho dữ liệu
đến từ dữ liệu huấn luyện và các mẫu từ G Đồng thời G cố gang giảm thiểu log (1 —
D(G(z))) Do đó, D va G choi trò choi minimax với ham giá tri là:
min max VOD, G) = Exp gara(x) og DŒX)] + Ez~p,(z) [log(1 — G(z))| (1.7)
Trong đó:
e D: mô hình phân biệt.
e G: mô hình sinh.
¢ Øạ¿: tham số mô hình phân biệt
© Daata phân phối dữ liệu thực tế
ez: tham số ngẫu nhiên
Các nhà nghiên cứu đề xuất trong không gian các hàm bất kỳ của G và D, saumột số bước luyện tập, nếu G và D có đủ năng lực, chúng sẽ đạt đến điểm mà cả hai
đều không thé cải thiện vì py = Paata Mô hình phân biệt không thé phân biệt mẫu đến
từ hai phân phối, tức D(x) = s- Đó là mô hình sinh sẽ bắt đầu tạo ra những hình ảnh
giống như đời thực và mô hình phân biệt sẽ không thê phân biệt đâu là giả với đâu là
thật Loại kiến trúc này được áp dụng cho các bộ dữ liệu hình ảnh tương đối đơn giản
như MNIST (chữ số viết tay), Cơ sở dit liệu khuôn mặt Toronto (TFD) và CIFAR-10
1.3.2 Mạng sinh đối nghịch có điều kiện - CGAN
Vào năm 2014, Mirza.M và Simon.O đã phát triển GAN[13] ban đầu bằng cách
sử dụng nhãn của các điểm dit liệu Mạng sinh đối nghịch cải tiến được thiết kế bang
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 33
Trang 34cách cung cấp dữ liệu nhãn lớp y để tạo điều kiện cho cả mô hình sinh G và mô hình
phân biệt D Việc cung cấp các nhãn cho các mô hình sinh và mô hình phân biệt được
thực hiện bởi một lớp đầu vào bổ sung Trong mô hình sinh, nhiễu đầu vào ban đầu z
và y được kết hợp trong biểu diễn mã tiềm an chung Dé giải thích điều này, gia sử mô
hình sinh tạo ra tất cả các loại hình ảnh hoa và bạn quan tâm đến cụ thé hình anh hoa
"hoa hồng", sau đó dữ liệu nhãn được chuyên cùng với nhiễu được tạo ra Đối với mô
hình phân biệt z và y được trình bày đưới dang đầu vào cho hàm phân biệt
Trong khi điều chỉnh những thay đổi này, mục tiêu chức năng của trò chơiminimax như được đề xuất trong công việc GAN ban đầu Do đó, D và G chơi trò chơi
minimax với ham giá tri là:
mịn max V(D,G) = Fy_p„„,„œ)[ogDŒX|y)] + Ez~p,() [Iog(1 — G(zly))| (1.8)
Trong đó:
D: mô hình phân biệt.
G: mô hình sinh.
Ø„;: tham số mô hình phân biệt
Paata: phân phối dữ liệu thực tế
z: tham số ngẫu nhiên
y: nhãn của dữ liệu.
Dudimensional
Milse Vector
š i 2 =a _ Discriminator
Hình 21Cach hoạt động của một mang sinh đối nghịch có điều kiện
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 34
Trang 35GVHD: PGS TS Phạm Van Cuong
Sử dụng G và D có điều kiện bằng cách sử dụng nhãn lớp, GAN có điều kiện
học cách khai thác dữ liệu bố sung và do đó tạo ra các mẫu tốt hơn
1.3.3 Học không giám sát với mạng sinh đối nghịch sử dụng mạng nơ-ron
tích chập - DCGAN
Tiếp tục từ mô hình sinh đối nghịch, Alec Radford & Luke Metz đã mở rộngcông việc sử dụng mang nơ-ron tích chập (CNN) trong bai bao của một hội nghị -
Unsupervised Representation Learning With Deep Convolutional Generative
Adversarial Network vì chúng rat phù hợp dé làm việc với tông hợp dữ liệu hình ảnh
CNN là mạng nơ-ron nhiều lớp, được dùng dé nhận dạng các mẫu từ hình anh
pixel với quá trình xử lý tối thiểu Về mặt cấu trúc, một kiến trúc CNN bao gồm việc
trích xuất các đặc trưng va kết thúc bằng phân loại Việc trích xuất đặc trưng được
thực hiện với số lượng các lớp tích chập convolution và lớp gộp pooling Lớp tích
chập áp dụng một bộ lọc có trọng số trên đữ liệu đầu vào để tạo ra một bản đồ đặc
trưng Việc gộp chung được thực hiện với mục đích duy nhất là giảm kích thước
không gian của hình ảnh để giảm số lượng các tham số và tính toán trong mạng Việc
phân loại được thực hiện bởi các lớp kết nối day đủ, tiếp theo là lớp SoftMax cuối
cùng Trong ấn phẩm nghiên cứu, các nhà nghiên cứu đã đề xuất một lớp CNNs, Deep
Convolutions GAN (DCGAN)[10] và đóng khung cấu trúc liên kết kiến trúc cho giống
nhau Ba thay đổi cốt lõi đã được điều chỉnh cho phù hợp với kiến trúc CNN tiêu
chuẩn:
I Tất cả các lớp gộp không gian xác định của mạng tích chap[3] được thay
thế bằng các lớp chập có phân đoạn cho mô hình phân biệt và các lớp chập theo phân
số cho mô hình máy phát
2 Loại bỏ các lớp kết nối đầy du[3] trên đầu của các đặc trưng được trích xuất
từ lớp tích chập Đối với mô hình sinh định hình lại kết quả của đầu vào là phân phối
chuẩn nhiễu Z Kết quả này được sử dung làm điểm bắt đầu của ngăn xếp các lớp tích
chập Đối với mô hình phân biệt, lớp chập cuối cùng được làm phăng và sau đó được
đưa vào một đầu ra sigmoid duy nhất
3 Chuẩn hóa hàng loạt Batch normalization[5] của các mô hình sinh và mô
hình biệt (không bao gôm đâu ra của mô hình sinh và các lớp đâu vào của mô hình
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 35
Trang 36phân biệt) để giải quyết việc khởi tạo không tốt và ngăn bộ tạo không thu gọn tất cả
các mẫu về một điểm chính là lỗi phô biến gặp phải trong GAN
Cùng với những cải tiến lớn này, tuân theo các nguyên tắc b6 sung được thêmvào giúp DCGAN[10] ồn định Sử dụng hàm kích hoạt ReLU trong mô hình sinh cho
tất cả các lớp ngoại trừ lớp đầu ra, sử dụng hàm kích hoạt Tanh Đối với mô hình phân
biệt phân biệt sử dụng hàm kích hoạt leaky ReLU hoạt động tốt cho các mô hình có độ
Hình 22 Kiến trúc DCGAN Mô hình sinh với các lớp tổng hop được thay thé bang các lớp
Các công trình nghiên cứu mới dé xuất các cải tiến của GAN có điều kiện
(Conditional GAN) bao gồm bài báo Learning What and Where to Draw: (Reed et al.,
2016) mở rộng việc tông hop hình anh bằng cách dé xuất một mô hình mới, Mạng đối
sinh cdi gì ở đâu Generative Adversarial WhatWhere Network (GAWWN)([14]
-36 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 37GVHD: PGS TS Phạm Văn Cường
các tác giả đào tạo mô hình sinh bằng cách điều chỉnh với các nhãn như vị trí của phần
tử thông qua các hộp / moc giới hạn mô tả nội dung sẽ vẽ ở vi tri nao.
Spatial obn O2
replicate <7 = Deconv
£ spatial Í
1! L la = Conv
Ared bird depth crop to
with a black face
Generator Network Discriminator Network
Hình 23 Kiến trúc mạng sinh đối nghịch GAWWN
Một công trình nghiên cứu khác là StackGAN[15] của Han Zhang và cộng sự
vào năm 2017 (Zhang et al., 2017) sử dụng ý tưởng tương tự và xem xét cải thiện chất
lượng hình ảnh bằng cách sử dung 2 GAN: Giai đoạn I và Giai đoạn II.
! Conditioning | Stage-I Generator Gọ | Saxea
| Augmentation (CA) | for sketch results |
L Stage-Il Generator G for refinement " results | Stage-lI Discriminator D J
Hình 24 Kiến trúc mang sinh đối nghịch StackGAN
Trong khi mạng giai đoạn I được sử dụng dé có được hình ảnh có độ phân giảithấp bằng cách điều chỉnh mô hình với mô tả về hình ảnh, mạng giai đoạn II được sử
dụng dé tinh chỉnh hình ảnh với nhiều chỉ tiết hon và độ phân giải cao hơn
37 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 381.3.5 Sự phát triển liên tục của GAN để cải thiện chất lượng, độ ỗn
định và sự thay đổi - ProGANMặc dù mô hình GAN đơn giản hứa hẹn tạo ra dữ liệu giống như thật Tuynhiên, dữ liệu được tạo có độ phân giải thấp với mức độ nhiễu và biến dạng cao
ProGAN - Progressive GAN[11] đã có thé tao ra hinh anh chat lượng cao Việc dao
tạo của ProGAN đã sử dụng khái niệm mới dé đào tạo mô hình sinh và mô hình phân
biệt với hình ảnh có độ phân giải thấp (4 x 4) và thêm lớp có độ phân giải cao hơn
mỗi lần cho đến khi chúng đạt độ phân giải cao mong muốn(1024 x 1024) Huấn
luyện với ảnh có độ phân giải thấp sé dé dàng hơn, nó cũng giúp dao tạo các đặc trưng
cấp cao hơn, do đó làm cho việc huấn luyện nhan hơn
—
Generator
[Wf ~~ ~~~ - =~ 22 22a ne een eee eee ee Training: -;
Real Sample = ———* Dawnscaling '
Hình 25 Kiến trúc mang sinh đối nghịch ProGAN
“Training
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5 38
Trang 39GVHD: PGS TS Phạm Văn Cường
Hình 26 Các hình anh được tạo ra từ StyleGAN
Trong nghiên cứu năm 2018, các nhà nghiên cứu đề xuất một công trình mởrộng trên GAN băng cách sử dụng mô hình sinh thay thế, lấy cảm hứng từ văn học
chuyên giao phong cách Kiến trúc này dẫn đến sự phân tách không được giám sát của
các thuộc tính cấp cao (các thuộc tính dành riêng cho tập dữ liệu) Style GAN[12] dựa
trên kiến trúc GAN tiêu chuẩn và sử dụng các khái niệm của ProGAN[11] Style
GAN[12] tạo ra các hình ảnh giả từ độ phân giải rất thấp đến độ phân giải cao
(1024 x 1024) Nó cho phép kiểm soát các thuộc tính trực quan ở một cấp độ nhất
định bằng cách sửa đổi đầu vào của từng cấp độ riêng biệt Do đó, nó không ảnh
hưởng đên các câp độ khác.
39 Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
Trang 40Trong kiến trúc GAN đơn giản, đầu vào của mô hình sinh là một vector nhiễu
ngẫu nhiên, vì vậy đầu ra ban đầu cũng là nhiễu Các nhà nghiên cứu nhận thấy nó rất
khó khăn, đặc biệt là khi tạo ra các hình ảnh lớn chất lượng cao Vào năm 2018, Te ro
Karras và cộng sự đã giải quyết van đề này bang cách sử dụng ProGAN[11] đề xuất sử
dụng đầu vào hình ảnh có độ phân giải thấp (ví dụ: 4 x 4) để đào tạo các mô hình sinh
và phân biệt ban đầu, sau đó thêm các lớp có độ phân giải cao hơn liên tục, do đó nó
học ngảy càng nhiều chi tiết hơn theo thời gian Mặc dù việc tạo ra hình ảnh chất
lượng cao là một cải tiến hiệu quả, nhưng kha năng của ProGAN[11] trong việc kiểm
soát các thuộc tính trực quan của hình ảnh đã tạo là rất hạn chế Ngay cả một thay đôi
nhỏ trong đầu vào cũng ảnh hưởng đến nhiều thuộc tính trực quan
G Latent Latent Latent
Hình 27 Các hoạt động của mạng sinh đối nghịch ProGAN
Trong hình trên, chúng bắt đầu với việc tạo hình ảnh 4 x 4, tăng dần độ phângiải và cuối cùng tạo ra hình ảnh có độ phân giải cao 1024 x 1024 Ngay cả khi mạng
cho phép tăng độ phân giải được thêm vào, mô hình phân biệt D và mô hình sinh G
van tiép tục học.
StyleGANs[12] có một mạng ánh xạ (Mapping Network) bổ sung cho các mô
hình sinh của ProGAN[11].
Mapping Network:
Sinh viên: Nguyễn Viết Thành Đạt — MSV: BI7DCCN117 — Khóa: D17 — Lop: DI7HTTT5
40