TÓM TẮT KHÓA LUẬNImage Inpainting tam dịch: lấp đầy phần khuyết của ảnh là bài toán có nhiều ứng dụng trong thực tiễn, nó giúp loại bỏ nội dung không mong muốn trên ảnh, cũng như phục ch
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHÔ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY
ỨNG DỤNG KỸ THUẬT DENOISING DIFFUSION
PROBABILISTIC MODELS GIẢI QUYÊT BÀI TOÁN IMAGE
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHÔ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY
ỨNG DỤNG KỸ THUẬT DENOISING DIFFUSION
PROBABILISTIC MODEL GIẢI QUYET BÀI TOÁN IMAGE
TRAN CONG MINH - 19521855
TRAN QUOC THANG - 19520951
TP H6 Chi Minh, Thang 1 nam 2023
Trang 3DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo quyết định số
36/QD-DHCNTT ngày 17/01/2022 của Hiệu trưởng Trường Dai hoc
Công nghệ Thông tin.
1 <A EE - Chủ tịch.
2 P: GP <6 - Thư ký.
3 P mm Me, - Uỷ viên.
Trang 4LỜI CẢM ƠN
Thực hiện đề tài Khóa luận tốt nghiệp không phải là quá trình đơn
giản với chúng em nếu thiếu đi sự giúp đỡ, chỉ dẫn và cộng tác từ mọi
người Với tất cả sự biết ơn, chúng em xin gửi lời cảm ơn sâu sắc đến
TS Ngô Đức Thành và Ths Đỗ Văn Tiến, người trực tiếp theo dõi
và đưa ra những lời khuyên bổ ích cũng như sẵn sàng hỗ trợ chúng
em những lúc khó khăn trong suốt quá trình thực hiện đề tài.
Bên cạnh đó, chúng mình cũng xin cảm ơn những bạn thuộc câu lạc
bộ CS-UIT AI Club đã cùng đồng hành, cũng như đưa ra những quanđiểm, ý kiến nhằm hỗ trợ nhóm hoàn thiện đề tài tốt hơn
Sau cùng, chúng em xin phép gửi lời cảm ơn tới toàn thể giảng viên
tại trường Đại học Công nghệ Thông Tin, đặc biệt những thầy cô đã trực tiếp giảng dạy chúng em trong thời gian học tập và rèn luyện tại
trường.
TP Hồ Chí Minh, tháng 12 năm 2022
Sinh viên thực hiện
Trang 5TÓM TẮT KHÓA LUẬN
Image Inpainting (tam dịch: lấp đầy phần khuyết của ảnh) là bài toán
có nhiều ứng dụng trong thực tiễn, nó giúp loại bỏ nội dung không
mong muốn trên ảnh, cũng như phục chế phần ảnh bị hư hại, khuyết
thiếu một cách chân thật nhằm tăng giá trị sử dụng cho nguồn ảnhhiện có Bài toán có đầu vào là ảnh cần chỉnh sửa, và mặt nạ ảnh
(mask) của phần cần loại bỏ; đầu ra là ảnh với phần nội dung trong
vùng mask được sinh mới phù hợp và chân thực.
Trong nỗ lực tạo ra tam ảnh được chỉnh sửa chân thực nhất, bài toán
gap những thách thức như: nội dung ảnh quá đa dạng, phần khuyết
có thể rất lớn hay dau ra của ảnh là không có định và rất khó đánh giá
ảnh như thế nào mới là chân thực nhất Các phương pháp không sinh
ảnh trước đây đạt được những thành tựu nhất định trong việc khôi
phục phần ảnh thiếu, chúng lại chưa thể đạt được tính chân thực cao
đặc biệt là với vùng mắt mát lớn Gần đây, những phương pháp dựa
trên kỹ thuật sinh ảnh như Generative adversarial network (GAN),
Variational autoencoder (VAE) hay gần đây nhất là Denoising fusion Probabilistic Models (DDPM) cho các kết quả khả quan hơn
Dif-Vì vậy, khóa luận này đã tập trung nghiên cứu tổng quan về bài toán
image inpainting, khảo sát và đánh giá các phương pháp sử dụng mô
hình sinh trong giải bài toán image inpainting nhằm làm rõ ưu nhược
điểm của các hướng tiếp cận sinh ảnh khác nhau trong giải bài toán
Trang 6image inpainting Cuối cùng, trong quá trình thực hiện khóa luận này,tôi đã thu được các kết quả sau đây:
¢ Hệ thống lại kiến thức về bài toán image inpainting và các
hướng tiếp cận phổ biến hiện nay
* Tìm hiểu và khảo sát hướng áp dung kỹ thuật DDPM vào bài
toán image inpainting.
¢ Đánh giá, phân tích va so sánh với LAMA [1] va DSI [2] là đại
diện cho hai phương pháp sinh anh khác thuộc hướng tiếp cận
GAN và VAE Sau khi đánh giá, các kết quả từ việc sử dụngDDPM trong bài toán image inpainting cho kết quả vượt trộihơn trong đa số trường hợp so với phương pháp khác trên các
thang đo nhận thức trên ảnh FID, IS, LPIPS và trên các khảo sát
thực tế với người thật
* Xây dựng ứng dụng web minh họa lấp day phần khuyết của ảnh.
Từ khóa: Khôi phục anh, Image Inpainting, Denoising Diffusion Probabilistic Models, DDPM, Image Generation
Trang 713 Dong góp của khóaluận
14 Cấutrúckhóaluận
2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN
2.1 Bài toán imageInpainting
Trang 8MỤC LỤC
2213 LópPoolng 12
2.2.1.4 Lớp chuẩn hóa (Normalizaton) 13
2.2.2 U-Net: Convolutional Networks for Biomedical Image Segmentation 2 0.000000 0G e 14 2.2.3 ResNet (Residual Network) 16
2.2.4 Autoencoder 002 0005 17 224.1 Kién tric Autoencoder 18
2.2.4.2 Cach hoạt động của Autoencoder 19
2.2.4.3 Một số siêu tham số quan tronng trong Au-toencoder 19
2.2.5 Variational Autoencoders 20
2.2.5.1 Một số thuậtngữ 21
2.2.5.2 Hạnchếcủaautoencoder 21
2T: ÑTmoa AI /./ 22
2.2.6 Generative Adversarial Networks 24
2.2.6.1 Cachhoatd6ng 24
2.2.6.2 Backpropagation 26
2.3 Các hướng tiếp cận phổ biến cho bài toán image inpainting 27
2.3.1 Phương pháp không sử dụng mạng sinh 28
2.3.1.1 Thuật toán dựa trên khuếchtán 28
2.3.1.2 Kithuật dựa trên lấy mẫu 30
2.3.2 Phương pháp sử dụng mạng sinh 31
3 ÁP DUNG DENOISING DIFFUSION PROBABILISTIC MODELS CHO BAI TOAN IMAGE INPAINTING 35 3.1 Tổng quan về Denoising Diffusion Probabilistic Models 35
3.1.1 Kiến trúctổngquan 36
312 Quátìnhlàmnhiu 37
VI
Trang 9MỤC LỤC
313 Quátìinhkhửnhiu 38
3.1.4 Cách huấn luyện môhình 39
3.1.5 Cácsiêuthamsố 42
3.1.5.1 ThamsốhóafỠ, 42
3.1.5.2 Tham số hóa phương sai quá trình khử nhiễu Lp 44 3.1.5.3 Quatrinhsample anh 45
3.16 Kiến rúcmạngnơron 45
3.1.7 Áp dung Denoising Diffusion Probabilistic Models cho bài toán Image Inpainting 47
3.1.7.1 Diéu kiện hóa những phần không bimask 48
3.1.7.2 Resampling 49
4 THỰC NGHIEM VA ĐÁNH GIÁ 51 4.1 Médiu 4 TT ` sằ j./ -—— 51
4.2 Tập dữ liệu đánh giá 52
4.3 Caécdédoduccstdung 0.000 ee eee 53 4.3.1 InceptionScore(S) 54
4.3.2 Frechet Inception Distance (FID) 57
4.3.3 Learned Perceptual Image Patch Similarity (LPIPS) 57
4.3.4 Sử dung đánh giá của conngười 58
4.4 Phantichdinhlugng 59
441 Độchânthật 59
44.2 Độđadạng ẶẶ 0.2.2 So 61 44.3 Thdigiansinhanh 62
4.5 Phantichdinhtinh 63
4.6 Các trường hợp thấtbại 67
vii
Trang 1062 Hướng pháttriển 2 eee 75
Tài liệu tham khảo 76
Viil
Trang 11Danh sách hình ve
1.1
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
Đầu vào va dau ra của bài toán Image Inpainting 3
Minh họa tích chập của một anh RGB và matrankernel 7
Mô phỏng quá trình tích chập tong CNN 9
Vi dụ kết quả tính toán tích chập trong hình ảnh 10
Mô phỏng phép tính ReLU 11
Mô phỏng quá trình tính Max-pooling 12
Minh họa áp dung Pooling từ lớp tíchchập 13
Tổng quan về mạng U-Net_ - 14
Minh họa về transposed convolution 15
Minh họa residual block 16
Kiến trúc Autoencoder - 18
Ý tưởng AutoencodervàVAE 22
Sự khác biệt giữa latent space được chính quy và không được chinhquy QẶ Q Q HQ ee 23 Sự so sánh về phân phối dữ liệu được chính quy và không được chínhquy Q Q Q Q HQ HQ ka 24 Mô phỏng cách tạo ra ảnh mới của GAN 25
Biểu diễn sơ đồ cách hoạt động củaGAN 25
Phân loại bài toán image Inpainting 28
Trường hợp kĩ thuật inpaint dựa trên khuếch tán cho kết quả t6t 29
1X
Trang 12DANH SÁCH HÌNH VẼ
2.18
2.19
2.20
2.21
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
4.1
4.2
4.3
4.4
4.5
4.6
Trường hop ki thuật inpaint dựa trên khuếch tán cho kết qua khong t6t ẶẶQQẶQo 30
Ảnh được inpainting bởi ki thuật dựa trên lấy mẫu 31
Biểu diễn cấu trúc của GAN-based, VAE-based và diffuon model-based 2 ee 32 Bộ ba bat khả thi trong mang sinh 34
Minh họa về quá trình khếch tán và đảo ngược khuếch tan của giọt nước màu trong lynưÓóc 36
Minh hoa quá trình nhiễu và khử nhiễu củaDDPM_ 39
Thuật toán mô phỏng quá trình huấn luyện và sample Anh 41
Quá trình ảnh bị làm nhiễu bởi hàm lập lịch phương sai tuyến tính và hàm có dạng hìnhcos 42
ỡ, thông qua lập lịch phương sai theo hàm tuyến tính và hàm có danghamcos 0 Ặ Q Q Q ee ee es 43 Biểu diễn mối liên hệ giữa độ loss VLB với số bước làm nhiễu 44 Kiến trúc mạng U-net 47
Tổng quan về cách sử dụng mô hình DDPM được huấn luyện trước cho bài toán Image Inpainting 48
Ảnh hưởng của số bước resample trên sự hài hoà của bức anh 49
Thuật toán mô phỏng quá trình resampling 50
Ảnh mask và ảnh từ tập test sau khi áp dụng mask ở 2 cấu hình thn vàmedium 53
Mang inception dự đoán ảnh con chó 54
Mang inception dự đoán anh giá sách 55
Đánh giá độ đa dang cuaanhsinhra 55
Phân phối label và phân phối marginal 56
Một ảnh trong phiếu khảo sát - 59
Trang 13Một số ảnh được sinh ra của các phương pháp dùng trong đánh giá 61
Nhóm ảnh với vùng mask nhỏ, chỉ bị mất một phần nội dung
mang ngữnghĩa Ặ 64
Nhóm ảnh với vùng mask lớn, mất nhiều nội dung mang ngữ nghĩa 64
Nhóm ảnh với vùng bi mask chứa các họa tiết đã có trong hình 65
Phần nội dung được tái tạo của LAMA và DSI không đồng nhất
với màu sắc xung quanh - 66
Các trường hợp DDPM kết hợp nội dung không liên quan 67
Minh họa kết quả chạythỬ 72
XI
Trang 14quả khảo sát trên 3 tập dữ liệu CelebA HQ, Paris StreetView và
Mini-Places Với 2 cầu hình mask Thin mask (ở trên) và Medium
mask (ở dưới)
Kết quả phân tích định lượng dùng độ đo LPIPS trong đánh giá
độ đa dạng của ảnh sinh
Thời gian trung bình để sample một ảnh ở các phương pháp khác
nhau trên RTX 20801
xI
Trang 15DDPM denoising diffusion probabilistic models
IS Inception Score FID Fréchet Inception Distance LPIPS Learned Perceptual Image Patch Similarity
xiil
Trang 16Chương 1
TỔNG QUAN
1.1 Đặt van đề
Ảnh xuất hiện ở khắp mọi nơi, chiếm lượng lớn thông tin được lưu trữ trên
Internet, đây là nguồn dif liệu tiềm năng vì tính giàu ngữ nghĩa và thân thiện
với người xem Trong quá trình sử dụng ảnh, dù là ảnh chụp hay tái sử dụng từ
Internet, chúng ta thường không hoàn toàn ưng ý với chúng, thử tưởng tượng,
ta cần chụp ảnh trường Đại học Công nghệ Thông Tin để làm ảnh bìa trường
nhưng có vài cột đèn đường che mat tòa, không còn cách nào khác, ảnh vẫn phải
chụp và cần hậu kỳ để loại bỏ vật cản nhằm đảm bảo tính thẩm mỹ Bài toán
điền vào phan ảnh bị xóa (image inpainting), được mong đợi sẽ giúp người dùngchọn loại bỏ một phần trên ảnh và thay thế bằng nội dung phù hợp, vẫn đang làmột thách thức với những nhà nghiên cứu, mà một khi giải quyết tốt sẽ giảm đi
rất nhiều gánh nặng cho người hậu kì ảnh cũng như góp phần tận dụng nguồn
ảnh hiện có.
Mục tiêu của bài toán image inpainting là bằng cách nào tạo ra tam ảnh với
phần khuyết được lấp đầy chân thật nhất, điều này đòi hỏi phần ảnh sinh ra phảihài hòa với nội dung xung quanh va phù hợp với ngữ cảnh của cả tam ảnh [3]
Nó cũng đặt ra các thách thức sau [4]:
Trang 171 TONG QUAN
¢ Anh đầu vào phức tap: ngoại trừ ảnh chụp trong tự nhiên vốn đã phức tap,
tranh vẽ hay bản phác thảo với nhiều đường nét, họa tiết, chữ viết hay ảnhkhông gian (depth image) đều là những đầu vào phổ biến và quan trọng.Những loại đầu vào khác nhau đòi hỏi chiến lược và thuật toán khác nhau
¢ Phan cần khôi phục có thể rất lớn: điều này thường dẫn đến kết quả không
đáp ứng được với các thuật toán dựa trên patch (patch-based), các thuật
toán dựa trên phương trình vi phan (partial differential equations-based)
hoặc các thuật toán nội suy.
* Image inpainting là bài toán không có nghiệm cu thé: đầu ra của bài toán
này không phải là duy nhất điều này dẫn đến việc khó đánh giá và so sánh
với các phương pháp và kỹ thuật khác.
Các hướng tiếp cận truyền thong thường dùng các kỹ thuật diffusion-based,
texture systhesis và examplar-based, Các kĩ thuật này có thể được sử dụng đểtìm ra nội dung của hình ảnh bị hư hại hoặc thiếu một phan bằng cách sử dụng
các thông tin từ các vùng xung quanh vùng bị hư hại hoặc thiếu, và (hoặc) các
vùng khác trong ảnh Trong khi các kĩ thuật này có thể đem lại kết quả tốt chomột số trường hợp, chúng còn có những hạn chế như không có khả năng xử lýđược các vùng bị hư hại hoặc thiếu một cách chính xác và tự nhiên đặc biệt vớivùng mat mát lớn Vì vậy, các mô hình tổng hợp ảnh như Generative Adversarial
Networks (GANs), Variational Autoencoders (VAEs) hay Denoising Diffusion
Probabilistic Models (DDPM) đã được sử dung để giải quyết bài toán image
inpainting với hiệu quả tốt hơn so với các kĩ thuật truyền thống Mô hình này
có thể học được các đặc trưng và tính chất của hình ảnh bị hư hại hoặc thiếumột phần và dự đoán nội dung của chúng một cách chính xác và tự nhiên hơn
Nội dung khóa luận này tập trung nghiên cứu, đánh giá việc áp dụng kỹ thuật
DDPM trong giải quyết bài toán image inpainting, đồng thời so sánh với LAMA
[1] (một hướng tiếp cận dựa trên GAN) và DSI [2] (hướng tiếp cận dựa trên
Trang 181 TONG QUAN
VAE) đồng thời chỉ ra ưu nhược điểm của từng hướng tiếp cận Đầu vào và đầu
ra bài toán này là:
* Đầu vào (Input): Ảnh có nội dung cần loại bỏ và mặt nạ ảnh (mask) phần
can loại bỏ va lap day lại.
* Đầu ra (Output): Ảnh với phan nội dung được mask đã được thay thé phù
Đầu vào Đầu ra
Hình 1.1: Đầu vào và đầu ra của bài toán Image Inpainting
1.2 Mục tiêu và phạm vi
1.21 Mục tiêu
Nhóm tập trung giải quyết bài toán image inpainting áp dụng kĩ thuật DDPM[5] Để hoàn thành công việc, nhóm đã dé ra mục tiêu cụ thể sau:
« Tìm hiểu tổng quan bài toán và một số hướng tiếp cận phổ biến hiện nay
* Tim hiểu hướng áp dung kỹ thuật DDPM [5] vào giải quyết bài toán image
inpainting.
Trang 191 TONG QUAN
* Tìm hiểu các cải tiến liên quan đối với kỹ thuật DDPM dé cải thiện chất
lượng ảnh đầu ra của bài toán image inpainting
« Cài đặt, hiện thực, đánh giá và so sánh kết quả của việc sử dung DDPM
[5], LAMA [1]va DSI [2] trong giải bài toán image inpainting trên các tập
dữ liệu khác nhau.
« Xây dung ứng dung web hỗ trợ khôi phục phần ảnh bị xóa.
1.2.2 Pham vi
Trong khuôn khổ giới hạn của khóa luận, nhóm thực hiện tập trung hoàn
thành các công việc sau:
« Tập trung giải quyết bài toán image inpainting
* Thực hiện đánh giá phương pháp DDPM [5] và so sánh điểm vượt trội và
hạn chế so với hướng tiếp cận khác
1.3 Dong góp của khóa luận
Sau đây là một số đóng góp mà nhóm thực hiện có được sau quá trình thực
hiện khóa luận:
« Hệ thống lại cơ sở lý thuyết va tổng quan về các hướng tiếp cận của bài
toán Image Inpainting phổ biến hiện nay
¢ Đánh giá và so sánh kỹ thuật DDPM [5] và LAMA [1], DSI [2] trong giải
quyết bài toán image inpainting
« Xây dựng ứng dụng web cho phép người dùng xóa và khôi phục lại phần
ảnh được chọn.
Trang 201 TONG QUAN
1.4 Cấu trúc khóa luận
Chương 1: Giới thiệu tổng quan đề tài
Chương 2: Trình bày cơ sở lý thuyết và tổng quan về bài toán image
inpaint-ing.
Chương 3: Trinh bày tổng quan về kỹ thuật và hướng áp dụng vào bai toán
image inpainting.
Chương 4: Trinh bay kết quả so sánh với phương pháp LAMA [1] va DSI
[2] trên bộ dữ liệu CelebA-HQ [6], Places [7] và Paris-Street View.
Chương 5: Trình bày cách xây dựng ứng dụng và tổng quan về ứng dụng
minh họa.
Chương 6: Trình bày kết luận và hướng phát triển của đề tài.
Trang 21Chương 2
CƠ SỞ LÝ THUYÊT VÀ CÁC
NGHIÊN CỨU LIÊN QUAN
Để hiểu rõ bài toán image inpainting, ta cần làm rõ các khái niệm liên quan,
đồng thời tìm hiểu một số phương pháp tiếp cận hiện nay Vì vậy, trong chươngnày, tôi sẽ giới thiệu một số khái niệm cơ bản đồng thời khảo sát các hướng tiếp
cận để giải quyết bài toán.
2.1 Bài toán image inpainting
Image inpainting là quá trình lấp day, tái tạo lại những vùng bi mất trong
một tắm ảnh Mục tiêu của quá trình này là tạo ra những hình ảnh được lấp
đầy hoàn toàn mà có thể đánh lừa thị giác con người Image inpainting được
ứng dụng nhiều trong những lĩnh vực khác, có thể kể đến như: khôi phục ảnh, chỉnh sửa ảnh, xóa những vật thể không mong muốn trong ảnh, khử nhiễu ảnh,
Thử tưởng tượng, một viện bảo tàng muốn khôi phục lại những bức trang đã bị
xuống cấp nhưng không đủ kinh phí để thuê được những nghệ sĩ có kĩ thuật tốt
hay khi bạn có bức ảnh của những người bạn yêu quý vì một lý do nào đó đã
bị hư hại Từ đó ta thấy được nhu cầu của bài toán image inpainting trong đời
Trang 222 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
sống hằng ngày là rất cần thiết Hiện nay, có hai hướng tiếp cận phổ biến cho bài
toán image inpainting: phương pháp không sử dụng mang sinh và phương pháp
sử dụng mạng sinh Chúng tôi sẽ thảo luận về hai hướng tiếp cận này ở mục tiếp
theo.
2.2 Các kiến thức cơ sở
2.2.1 Mạng nơ-ron tích chap (Convolutional Neural Network)
M6 hinh mang no-ron tich chap (Convolutional Neural Network hay CNN) 1a
một mô hình mang của Deep Learning cho kết quả tốt nhất trong việc giải quyết
các bài toán của thị giác máy tính Nhìn chung CNN là một mô hình mạng ANN
truyền thang với kiến trúc chính gồm nhiều thành phan được ghép nối với nhautheo cấu trúc các lớp cơ bản sau: Convolution, Pooling (Subsampling), ReLU.Bên cạnh đó còn có các lớp phụ như Batch Normalization, Drop out Phần tiếptheo sẽ trình bày chỉ tiết về các thành phần của CNN
'https://aivietnam.ai/wp-content/uploads/2019/07/chap9_zz_3.png
Trang 232 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Lớp Convolution là lớp quan trọng nhất trong mô hình mạng CNN LớpConvolution dựa trên việc tính các giá trị tích chập để trích xuất ra các feature từ
dữ liệu Với một ảnh đầu vào kích thước mxm, ta sẽ chọn ra một ma trận kernel
nxn (thường nhỏ hơn ma trận input) Ta cho ma trận kernel trượt trên ma trận
input, mỗi lần trượt ta thực hiện việc tính tích chập ta thu được một kết quả Kếtquả này là giá trị của một pixel trong ma trận output Khi trượt hết ma trận kernel
trên ma trận input ta được ma trận output có kích thước nhỏ hơn hoặc bằng kích
thước của ma tran input.
Khi áp dụng phép tính Conv cho xử lý hình ảnh, Người ta nhận thấy rằngConv sẽ giúp biến đổi các thông tin đầu vào thành các yếu tố đặc trưng (nó
tương tự như bộ phát hiện nhằm phát hiện ra các đặc trưng như cạnh, hướng, )
Cu thể hon, Conv sẽ trích xuất đặc trưng của ảnh đầu vào qua các vùng ảnh nhỏ.
Các vùng này được gọi là Local Receptive Field (LRF) Tích chập sẽ tính toán
trên các LRF chồng lấp lên nhau Độ chồng lắp này phụ thuộc vào hệ số trượt S(stride) của từng kiến trúc mang cụ thể Nếu sử dụng với hệ số trượt S = a, thì
tương ứng LRF (bằng kích thước với kernel) sẽ dịch chuyển œ đơn vị pixel sau
mỗi lần tích chập.
Ảnh đầu vào sau khi thực hiện quá trình tích chập sẽ thu được feature map,
số LRF ở ảnh đầu vào sẽ tương ứng với số nơ-ron ở feature map và kernel sẽ là
trong số liên kết mỗi LRF với một no-ron ở feature map Lớp conv có thể chứa
một hoặc nhiều feature map Nếu lớp conv có K feature map, thì ta nói lớp convnày có độ sâu là k Để hình dung rõ hơn về quá trình này, sau đây sẽ minh họaquá trình trích xuất đặc trưng từ ảnh đầu vào cụ thể như sau: thực hiện xử lý tínhgiá trị đầu ra của một ảnh có kích thước W\ x H x Dy (W, và Hạ lần lượt là chiều
rộng và chiều cao của ảnh và D là chiều sâu hay thực chất là giá trị tại 3 kênh
màu tương ứng của ảnh RGB) khi đó, một Conv như một cửa sổ trượt (sliding
window, còn được gọi là kernel, filter hay feature detector) với kích thước F x F
- giả sử trong trường ta sử dung K filter Trong quá trình xử ly, mỗi filter sé được
Trang 242 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
tính toán với tất cả các LRF trong hình và S = œ Trong một số trường hợp để
cân bằng giữa số bước di chuyển và kích thước của ảnh, người ta đã chèn thêm P
pixel với một giá tri màu được gán (thông thường là 0) xung quanh viền của ảnh.sau cùng ta thu được ma trận dau ra (feature map) với kích thước W2 x Hạ x D2
với giá trị cụ thể như sau:
Hình 2.2: Mô phỏng quá trình tích chập trong CNN (nguồn: miro.medium.com!).
Giá trị tại mỗi 6 trong ma tran filter có kích thước là (F x F x D,) + I (cộng
một ở đây là tham số ngưỡng của filter) sẽ tương ứng là trọng số của filter Cácgiá trị này sẽ không đổi trong suốt quá trình dịch chuyển tính toán trên toàn bộ
hình ảnh Đây là một đặc tính quan trọng cua CNN, bởi nó làm giảm thêm trọng
số cần học cho quá trình huấn luyện mạng Qua đó, ta có thể ước tính tổng sốtham số cần học trong quá trình sử dung Conv là (F x F x DỊ) x K+K (6 đâycộng thêm k tham số ngưỡng của k filter)
!https://miro.medium.com/max/3900/1*p-_47puSuVNmRJnOXYPQCg.png
Trang 252 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Áp dụng vào ví dụ cụ thể ở hình 2.3, đầu vào là một ảnh màu với kích thước
(32 x 32 x3) (W, = Hìị = 32 và Dị = 3 chỉ giá tri của các kênh màu RGB) Với
số lượng filter K = 6, trong đó mỗi filter có kích thước (5 x 5 x 3) E = 3 với
bước di chuyển S = 1 và P = 0 Tương ứng với mỗi filter, ta thu được 6 feature
map khác nhau ở đầu ra Trong đó:
°Wa=3 4 #+1=28
-WMq=*“®+1=28
° Dị=6
Mỗi nơ-ron trong một feature map sẽ có số tham số là (F x F x Dị) = 5 x
5 x3 + 1 nếu không sử dụng tính chat shared weights thì tổng số tham số trong
mang cần phải học cho tat cả các feature map là (28 x 28 x 6) x (5x5 x 3+1) =
357504 (tham số) Mặc dù con số đó đã nhỏ hơn nhiều so với việc không sử dụng
Conv nhưng con số trên van lơn hơn rất nhiều so với (F x F x D}) x K+ K =
(5x5 x 3) x 6+6 = 456 (tham số) khi sử dung shared weights
Trang 262 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
« Giảm số lượng tham số: trong mang ANN truyền, mỗi nơ-ron ở lớp trước
sẽ liên kết tới tất cả các neural ở lớp kế tiếp (fully connected) khiến cho sốlượng các tham số trong mạng rất lớn Đây là nguyên nhân chính gây việcthời gian huấn luyện mạng rất lâu Với việc sử dung Conv, cho phép chia
sẻ trọng số liên kết (shared weights), cũng như sử dụng LRF giúp cho sốlượng các tham số trong mạng giảm đi đáng kể
* Các tham số trong quá trình sử dung Conv hay các giá tri trong các filter
sẽ được học trong quá trình huấn luyện mạng Sau quá trình tính toán, ta
sẽ thu được các thông tin đặc trưng như góc, cạnh, đốm mau trong ảnh,
Chính vì thế, Conv còn có vai trò xây dựng mô hình tự học cho các đặc
trưng.
2.2.1.2 Lớp kích hoạt (Activation)
Hình 2.4: Mô phỏng phép tính ReLU (Nguồn: deep-learning-stm-6').
Là lớp tiếp theo sau lớp convolution, nhiệm vụ chính của lớp này là biến đổi
các giá trị âm của feature map từ lớp trước thành các giá trị không Việc này giúp
'https://www.slideshare.net/Tricode/deep-learning-stm-6
11
Trang 272 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
cho quá trình học các trọng số bị mắc kẹt tại giá trị không hoặc vô cực Khi gặp
phải van dé này, việc huấn luyện mạng sẽ bị chậm hơn thông thường Bên cạnh
đó, còn góp phần vào việc tránh tình trạng overfitting ở quá trình huấn luyện
Có các hàm số khác được sử dụng để đánh giá hiệu năng so với hàm ReLUnhư hàm Sigmoid, Tanh, Tuy nhiên, các ham số tính toán chậm hơn so với
ReLU và độ chính xác khi sử dụng các hàm số này không khác biệt lắm so với
hàm ReLU Chính vì vậy, hàm ReLU được sử dụng chính cho việc tính toán
tham sô thay vì chọn các hàm sô kia.
Hình 2.5: Max-pooling lấy giá trị lớn nhất trên vùng [2 x 2] trên kích thước [4 x 4] và
thu được đầu ra kích thước [2 x 2] (Nguồn: text-information-extraction-2!).
'https://blog.imaginea.com/text-information-extraction-2/
12
Trang 282 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Ngoài ra, Max-pooling còn giúp tạo ra tính bất biến dịch chuyển (translation
invariance) cho đặc trưng, nghĩa là dù đối tượng trong hình ảnh đầu vào có sự
dịch chuyển nhỏ thì mạng vẫn có khả năng phân lớp chính xác được đối tượng
Đó là bởi vì max-pooling chọn ra nơ-ron có giá trị đầu ra tối đa tại mỗi vùng
nơ-ron của lớp trước và tổng hợp thành lớp sau Việc chọn nơ-ron có giá trị tín
hiệu lớn nhất được xem như chọn ra đặc trưng tốt nhất để xử lý Chính vì thế,
khả năng phân lớp chính xác đối tượng dựa trên đặc trưng này vẫn không thay
đổi và giúp cho CNN đạt được tính ổn định khi đối tượng di chuyển
Trong lớp Cony, có thể có nhiều feature map, tương ứng với mỗi feature map
sẽ có một lớp max-pooling Hình 2.6 là một ví dụ minh họa, với lớp đầu vào
kích thước [28 x 28] giả sử ta thu được ba feature map kích thước [24 x 24] và
ba lớp max-pooling kích thước {12 x 12], ta sử dụng kernel kích thước [5 x 5] và
max-pooling lấy giá trị lớn nhất tại mỗi vùng [2 x 2] nơ-ron
Tích chập + ReLU MaxPooling
Hình 2.6: Minh họa áp dụng Pooling từ lớp tích chập (Nguồn: Internet! ).
2.2.1.4 Lớp chuẩn hóa (Normalization)
Lớp chuẩn hóa (Normalization hay Norm) là lớp giúp chuẩn hóa dữ liệu đầu
ra cho các lớp trong CNN trước khi được truyền đi tiếp Trong những kiến trúc
!https://zhuanlan.zhihu.com/p/32213237
13
Trang 292 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
CNN lớn và phức tạp, lớp Norm sẽ chuẩn hóa các giá trị no-ron trước khi chúng
được truyền đến hàm ReLU Ham ReLU tuy giúp rút ngắn thời gian huấn luyện,
nhưng nếu không điều chỉnh trọng số phù hợp, hàm ReLU sẽ rất dé gặp phải van
dé "dying ReLU" khiến cho mạng trở nên chậm hơn khi huấn luyện Lớp Norm
lúc này sẽ chuẩn hóa và tạo ra các giá trị tích chập phù hợp để tránh cho ReLU
rơi vào giá tri 0.
2.2.2 U-Net: Convolutional Networks for Biomedical Image
Seg-mentation
U-Net được phat triển bởi Olaf Ronneberger et al dé dùng cho image
seg-mentation trong y hoc Mang được phat triển dựa trên mang Fully Convolutional
Network Thoạt nhìn, kiến trúc U-net có hình dang giống với chữ U U-net có
Hình 2.7: Tổng quan về mang U-Net (Nguồn: U-Net: Convolutional Networks for
Biomedical Image Segmentation[8]).
kiến trúc đối xứng va bao gồm hai phan chính: encoder va decoder.Trong đó,
14
Trang 302 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
encoder có chức năng trích xuất đặc trưng ảnh Bởi ở đây sử dụng các lớp volutions và các lớp pooling để giảm số chiều của ảnh Decoder có nhiệm vụkhôi phục lại kích thước ảnh Tổng quan, encoder có cấu trúc như một mạng
con-CNN thông thường nhưng không có lớp fully connected, chúng ta có thể sử
dụng những mang đã có sẵn như: VGG16, VGG19, Decoder tùy vào kiến trúcmạng mà có các cài đặt khác nhau Tuy nhiên một thành phần đáng chú ý trongdecoder phải kể đến là lớp transposed convolution Transposed convolution haythường bị nhầm lẫn với deconvolution Deconvolution có chức năng đảo ngược
lại quá trình convolution, tức là néu ta thực hiện convolution sinh ra một output
thì khi ta deconvolution output này ta sẽ thu được input ban đầu Transposedconvolution và deconvolution chỉ tương tự nhau về mặt không gian chiều, trans-posed convolution không đảo ngược lại giá trị của convolution ban đầu Để hiểu
rõ hơn về transposed convolution ta xét ví dụ sau: Qua ví dụ trên ta đã hiểu được
Hình 2.8: Minh họa về transposed convolution(Nguôn: Internet! ).
quá trình transposed convolution hoạt động khi biến đổi input có kích thước 2 x
2 va kernel kích thước 2 x 2 (stride = 1, padding = 0) thành output có kích thước
3 x 3 Đặc điểm quan trọng nhất của transposed convolution là giúp cho mô hình
có thể huấn luyện quá trình upsample, điều này giúp cải thiện kết quả mô hình.Trong decoder ngoài việc thực hiện upsample ta con thực hiện kết nối giữa các
'https://d21.ai/chapter.omputer — vision
15
Trang 312 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
lớp tương xứng Điều này giúp cho mô hình khôi phục được những thông tin đãmat qua các lớp pooling
2.2.3 ResNet (Residual Network)
ResNet được giới thiệu lần đầu vào năm 2015 va đã giành giải nhất trongILSVRC 2015 với ti lệ lỗi top 5 chi 3.57% ResNet được sinh ra để giải quyếtvan dé thường gặp phải khi huấn luyện mô hình CNN với nhiều lớp convolution:
Vanishing Gradient Hiện tượng này dẫn đến việc gradient chạy về 0 Vì vậy, khi ta tăng số lớp, độ lỗi khi train và test cũng sẽ tăng ResNet đã giới thiệu
một ý tưởng mới để giải quyết hiện tượng trên: Residual Blocks Ở đây, chúng
ta sử dụng skip connections để kết nối đồng nhất xuyên qua một hay nhiều lớp.Một khối như vậy được gọi là residual block ResNet được tạo bởi nhiều residualblock xếp chồng lên nhau
Gia sử ta có một mạng nơ-ron có input là x, output là phân phối xác suất
H(x), gọi R(x) là phần khác nhau giữa input và outpput.
16
Trang 322 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
khí đó ResNet cho mô hình hoc R(x), đó là lý do vì sao gọi đây là residual block
(phan dư) Từ quan sát ta thấy việc học sự khác nhau giữa input và output (phandư) cho kết quả tốt hơn việc chỉ học từ input Ngoài ra, skip connections giúpcho việc truyền ngược đạo hàm các giá trị đạo hàm lớn hơn đến những lớp đầutiên, do đó những lớp này có thể học nhanh như những lớp cuối, vì thế giúp cho
mô hình có thể học sâu hơn mà không gặp phải hiện tượng vanishing gradient.
Như vậy, nhờ việc sử dụng nhiều residual block xếp chồng lên nhau khiến cho
mô hình có thể học sâu hơn đồng nghĩa với việc học được nhiều đặc trưng hơn
ma không gặp hiện tượng vanishing gradient.
2.2.4 Autoencoder
Autoencoder là một mạng nơ-ron nhân tạo học không giám sát nói cách khác,
giả sử ta có thể tạo một tắm ảnh liên quan chặt chẽ với tam anh input Mục đíchcủa Autoencoder là học cách biểu diễn chiều nhỏ hơn cho những dữ liệu có chiềulớn hơn Do đó, Autoencoder thường được dùng cho các bài toán giảm chiều dữliệu hay trích xuất đặc trưng
17
Trang 332 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.2.4.1 Kiến trúc Autoencoder
Input layer Hidden layer Output layer
“bottleneck”
Hình 2.10: Kiến trúc Autoencoder( Nguén: Introduction to autoencoders! ).
Autoencoder bao gồm 3 phan chính:
* Encoder (bộ mã hóa): Có chức năng nén dữ liệu đầu vào thành một biểu
diễn được mã hóa (coding) Thông thường nó sẽ nhỏ hơn một vài bậc so
với dữ liệu đầu vào.
* Bottleneck: Chứa các biểu diễn tri thức được nén (output của Encoder),
đây là phần quan trọng nhất của mạng bới nó mang đặc trưng của đầu vào,
có thé dùng để tái tạo ảnh, lay đặc trưng của ảnh,
* Decoder: Giúp mạng giải nén các biểu diễn tri thức và tái cấu trúc lại dữ
liệu từ dạng mã hóa của nó Sau đó đầu ra của Decoder được dùng để so
'https://www.jeremyjordan.me/autoencoders/
18
Trang 342 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
sánh với đầu vào ban đầu (Input của Encoder) cho quá trình học
2.2.4.2 Cách hoạt động của Autoencoder
¢ Encoder
Encoder có vai trò nén dữ liệu thành những biểu diễn có chiều nhỏ hơn
Trong mạng nơ-ron, chúng ta có thể cai đặt những lớp convolution, pooling
để giảm số chiều của dữ liệu Bằng cách này ta có thể giữ lại những đặc
trưng cần thiết của dữ liệu
* Bottleneck
Đây là phan quan trọng nhất của Autoencoder, cũng là phần mang kíchthước nhỏ nhất Bởi Bottleneck được thiết kế từ việc mã hóa tối đa thông
tin của ảnh đầu vào, vậy nên có thể nói rằng bottleneck mang đặc trưng,
chi thức của ảnh đầu vào Với cấu trúc mã hóa — giải mã, mô hình tríchxuất được đặc trưng của ảnh dưới dạng dữ liệu và thiết lập được mối tương
quan giữa input và output của mạng Với việc Bottleneck có kích thước
nhỏ hơn ảnh đầu vào cũng như mang nhiều thông tin đặc trưng giúp ngăn
cản mạng ghi nhớ quá nhiều Bottleneck càng nhỏ, rủi ro overfitting càng
thấp, tuy nhiên nếu kích thước Bottleneck quá nhỏ sẽ hạn chế khả nănglưu trữ thông tin của ảnh đầu vào, gây khó khăn cho việc giải mã ở khối
Decoder.
¢ Decoder
Sau khi dữ liệu được nén lại bang encoder va được đưa vào bottleneck,
decoder sẽ sử dụng ouput của bottleneck để cấu trúc lại dữ liệu
2.2.4.3 Một số siêu tham số quan trọnng trong Autoencoder
Có 4 siêu tham số chúng ta cần quan tâm trước khi training một mô hình
Autoencoder:
19
Trang 352 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
* Kích thước bottleneck: Kích thước của bottleneck là một siêu tham số rat
quan trọng được sử dụng mà chúng ta cần lưu ý Kích thước Bottleneckquyết định lượng thông tin được nén
¢ Sô lớp: Giông với hau hêt các mạng nơ-ron, một siêu tham sô quan trọng
để điều chỉnh độ sâu của encoder và decoder trong Autoencoder, càng sâu
thì mô hình càng phức tạp, nhưng càng nông thì mô hình chạy càng nhanh.
* Số node của mỗi lớp: Số lượng node trên một lớp quyết định số trọng số
(weight) sẽ sử dụng trên từng lớp Thông thường, số lượng node này giảmdần theo mỗi lớp tiếp theo bởi đầu vào của lớp này là đầu ra của lớp trước
đó, và đầu vào này thì dần trở nên nhỏ hơn trên các lớp
* Reconstruction Loss: Loss function là một thứ không thể thiếu trong mạng
no-ron Ham loss này sẽ phụ thuộc vào kiểu input va output của mô hình
chúng ta muốn đáp ứng Ví dụ với việc xử lý ảnh, các hàm loss thông
thường được ưa chuộng là Mean Square Error (MSE) và LI Loss.
2.2.5 Variational Autoencoders
Autoencoder mặc dù đã có thé tao ra những tam anh mới tuy nhiên kết qua
mà autoencoder cho ra không thật sự tốt và cũng không có đặc điểm mới toencoder chỉ đơn thuần tái hiện lại nội dung cũ với những giá trị pixel mới Bởi
Au-vì autoencoder là một tập hợp các đặc trưng hay ràng buộc phải tìm hiểu cách biểu diễn trong không gian giảm chiều mà không làm mất đi nội dung của nó.
Trước tiền chúng ta sẽ đến với một vài thuật ngữ để có thể hiểu hơn về những
đặc tính của autoencoder.
20
Trang 362 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.2.5.1 Một số thuật ngữ
* Latent space (không gian ẩn): chính là phan bottleneck trong autoencoder,
nơi chứa thông tin đặc trưng đã được mã hóa
« Tính liên tục: hai điểm gần nhau trong không gian ẩn không được cung
cấp hai nội dung hoàn toàn khác nhau sau khi được giải mã
« Tính day đủ: đối với một phân phối đã chọn , một điểm được lấy mẫu từ
không gian tiềm ẩn sẽ sinh ra nội dung "có ý nghĩa" sau khi được giải ma
2.2.5.2 Han chế của autoencoder
Khi autoencoder được huấn luyện, chúng ta có cả encoder và decoder nhưng
vẫn không có cách nào để tạo ra ảnh mới Một cách nhanh nhất chúng ta có thể
nghĩ ngay đó là néu latent space có tổ chức (được cau trúc bởi encoder trong quá
trình huấn luyện) chúng ta có thể lấy một điểm bắt kì trong latent space để có
thể sinh ra "nội dung mới".
Tuy nhiên tổ chức latent space là một việc khó khăn bởi nó phụ thuộc vào không
gian phân phối dữ liệu huấn luyện, số chiều của latent space và kiến trúc của
encoder Vì vậy rất khó để đảm bảo rằng có thể cấu trúc latent space đủ tốt như
đã mô tả Trong thực tế, autoencoder không huấn luyện gì liên quan đến việc
tổ chức latent space Autoencoder chỉ đơn giản huấn luyện encoder va decodersao cho ít lỗi nhất có thể và không quan tâm đến tổ chức latent space như nào
Do đó nếu ta không quan tâm đến kiến trúc, khi huấn luyện mạng nơ-ron sé lấy
bất cứ khả năng phù hợp nhất có thể để cho ra kết quả tốt nhất có thể Khi đólatent space trở lên rất bất thường Việc này dẫn đến việc mất tính liên tục (cácđiểm gần trong không gian tiềm ẩn có thể cung cấp dữ liệu được giải mã rất khácnhau) và tính đầy đủ (một số điểm của latent space có thể cung cấp nội dung vô
nghĩa sau khi được giải ma).
21
Trang 372 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.2.5.3 Ý tưởng
Cũng như autoencoder, VAE cũng bao gồm hai thành phần chính là encoder
và decoder Tuy nhiên thay vì mã hóa dữ liệu như một điểm, chúng ta sẽ mã hóa
chúng dưới dạng phân phối xác suất trong không gian ẩn Chúng ta có thể hiểu
quá trình huấn luyện như sau:
« Bước 1: Mã hóa dữ liệu đầu vào như một phân phối xác suất
* Bước 2: Chon một điểm ngẫu nhiên trong latent space thuộc phân phối để
sample.
* Bước 3: Decoder giải mã điểm được sample, tiếp đó tinh ham
reconstruc-tion error (hàm lỗi tái tạo).
« Bước 4: Thực hiện backpropagated (truyền ngược) cho mạng học
latent input
h input representation reconstruction
simple
autoencoders x z=e(x) d(z)
latent sampled latent input
sang, input distribution representation reconstruction variational
Trang 382 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
SPACE meaning les
once decoded >
- ie › A
ose poinks inthe °
Oatent space that
are not similar @ °
once decoded
= points tat are close
oO 4 ¬ inthe latent space are
Similar once decoded
irregular latent space x v? regular latent space
Hình 2.12: Su khác biệt giữa latent space được chính quy và không được chính quy
(Nguồn: Understanding Variational Autoencoders (VAEs)!)
Nếu VAE chi thay đổi việc mã hóa dữ liệu đầu vào như một phân phối xácsuất thì vẫn không thể đảm bảo được tính liên tục và đầy đủ Bởi nếu không đượcchính quy hóa tốt, mô hình vẫn chỉ ưu tiền việc tối ưu hàm tái tạo mà bỏ quaphân phối thu được, việc này khiến cho VAE cũng như bao mạng autoencoderkhác Quá trình mã hóa có thể cho ra những phân phối có phương sai quá nhỏ(phân phối bị "co" lại) hoặc có trung bình quá khác nhau (khiến cho cách phân
phối trong không gian cách xa nhau) Do đó không đảm bảo được tính liên tục
và tình đầy đủ Vì thế, để tránh hiện tượng trên chúng ta sẽ chính qua hóa cho cảphương sai và trung bình của phân phối được mã hóa Trong thực tế, việc chínhquy hóa chỉ đơn giản là đưa phân phối thu được càng gần với phân phối chuẩn
tắc (standard normal distribution) càng tốt Điều này yêu cầu ma trận phương
sai ngày càng gần với ma trận đơn vị (giảm tình trạng "co" lại của phân phối),
trung bình tiến về 0 (giảm tình trạng các phân phối nằm cách xa nhau)
'https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f705 109 19f73
23
Trang 392 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
LH
A > củ
L]
what can happen without regularisation x v2 what we want to obtain with regularisation
Hình 2.13: Sự so sánh về phân phối dữ liệu được chính quy và không được chính quy
(Nguồn: Understanding Variational Autoencoders (VAEs)!).
Nhu vậy, với việc chính quy hóa latent space như trên các phân phối không
nằm cách xa nhau trong không gian mà được khuyến khích càng "xếp chồng"
lên nhau càng tốt Điều này làm thỏa mãn cả hai tính chất liên tục và đầy đủ
2.2.6 Generative Adversarial Networks
Generative Adversarial Networks hay còn được viết tắt GAN lần đầu được
giới thiệu vào 2014 bởi Ian Goodfellow, với tiêu dé “Generative AdversarialNetworks” GAN là một kiến trúc cho mạng sinh, thông thường sử dụng mạng
học sâu cho kiên trúc này.
2.2.6.1 Cách hoạt động
GAN gồm hai mạng nơ-ron: mạng sinh và mạng phân biệt Trước tiên chúng
ta hãy xem cách mà GAN tạo ra ảnh mới Giả sử chúng ta tạo ảnh từ một phân
phối ngãu nhiên cho trước z Với input là z, ta sử dụng mang sinh G để tao ra
ảnh mới x=G(z).
!https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f705 109 19f73
24
Trang 402 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
ơ@)
z= (0.3, 0.2, -0.6, ) ———> S| a blue round cup
£= (0.1, 0.1,0.2, ) => Byellow fell say
z~ N(O, 1)
or
zm UCI, 1)
Hình 2.14: Mô phỏng cách tạo ra ảnh mới của GAN (Nguồn: Understanding Generative
Adversarial Networks (GANs)!).
Về mặt lý thuyết, z như là một một không gian "ẩn" chứa các đặc trưng của
input, vi dụ như hình dáng, màu sắc, Trong mang GAN chúng ta không kiểm
soát những đặc trưng mà chúng ta cho GAN học nó Tuy nhiên nếu chỉ sinh ảnh
đơn thuần như vậy thì không thể cho ra kết quả tốt được, vì thế ta cần một cách
đánh giá lại kêt quả output để có thể cải thiện kết quả, đó là lý do vì sao chúng
ta có mạng phân biệt Mạng phân biệt là một mạng phân loại thông thường, có
chức năng đánh giá ảnh sinh ra sau đó báo lại cho mạng sinh học cách cải thiện
những điểm chưa tốt mạng phân biệt quan sát những tam ảnh thật (dữ liệu huấnluyện) và ảnh được sinh ra, sau đó đưa ra kết luận đâu là ảnh thật, đâu là ảnh giả.Output D(x) là là xác suất mà x là ảnh thật
Real image ———>O x
Hình 2.15: Biểu diễn sơ dé cách hoạt động của GAN (Nguồn: Understanding
Genera-tive Adversarial Networks (GANs)!).
'https://towardsdatascience.com/understanding-generative-adversarial-networks-gans-cd6e4651a29
25