Với sự phát triển của học sâu, các mô hình sinh ảnh chữ viết tay đã được áp dụng nhằm thu thập anh chữ viết tay một cách tự động, giảm chi phí thu thập.Tương tự như bài toán nhận dạng ch
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHÔ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
LE CONG MINH - 18521099
KHOA LUAN TOT NGHIEP
TAO SINH ANH CHU VIET TAY THEO MOT
PHONG CACH CHO TRUGC
HANDWRITING IMAGE GENERATION WITH A GIVEN
STYLE
CỬ NHÂN NGANH KHOA HOC MAY TÍNH
GIẢNG VIÊN HƯỚNG DAN
TS NGUYỄN VINH TIỆP
TP HO CHÍ MINH, 2022
Trang 2DANH 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ố
¬ ngày của Hiệu trưởng Trường Dai học
Công nghệ Thông tin.
ne - Chi tich.
Qe cessscseessessee PME - Thu ky.
re a ae, ty - Uy vién.
Ae eee ae GA a8 - Uy vién.
Trang 3LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn TS Nguyễn Vinh Tiệp cũng nhưcác anh trong Multi Media Laboratory (MMLAb-UIT), thầy và các
anh là những người tận tình hướng dẫn giúp đỡ em trong những khó
khăn của khóa luận, nếu không nhờ thầy và các anh thì việc thực hiệnluận văn sẽ khó khăn hơn rất nhiều, thầy đã cho em các kinh nghiệm
quí báu không những trong khóa luận mà còn cho công việc sau này.
Đồng thời, em cũng muốn gửi lời cảm ơn tới toàn thể thầy cô giáo
trong Khoa Khoa học Máy tính cũng như các thầy cô khác ở trường
Đại Học Công Nghệ Thông Tin, các thầy cô đã giảng dạy em trong
thời gian học tập và rèn luyện tại trường Đại Hoc Công nghệ Thông
Tin Nhờ kiến thức các thầy cô truyền dạy đã giúp cho em có thể thực
hiện được luận văn lần này
Cuối cùng,em xin gửi lời cảm ơn đến bố mẹ, người anh của em, các
người bạn trên giảng đường đại học đã luôn bên cạnh động viên, ủng
hộ và là chỗ dựa tinh thần vững chãi trong suốt thời gian học tập ở
trường Dai học Công nghệ Thông tin.
TP Hồ Chí Minh, tháng 1 năm 2022
Sinh viên thực hiện
Trang 414 Dong góp của khóaluận
1.5 Cấu trúc khóa luận
2 CÁC KIÊN THỨC LIEN QUAN CHO BÀI TOÁN SINH ANH CHỮ
Trang 5MỤC LỤC
2.2.2 Mạng nơrontíchchập 9
2.2.3 VanishngGradien 14
2.2.4 Kiến rúc mạng ResNet 14
2.3 Mạng đối nghịch tạosinh 16
2.3.1 Tổngquan QC 16 2.3.2 Một sốmạngGAN 18
2.3.2.1 Condition Generative AdversarialNetwork 18
2.3.2.2 Pix2Pix 2.2.2.2000.4 19 2.3.2.3 Cycle Genartive Adversarial Network 19
2.4 Coché attention S724 NA ÖỀ ỀỒÖ`Ð — 21 2.4.1 Tổng gđ⁄.sứP éX À 21
2.4.2 Mô hình sequence to sequence 22
24.43 Cochéattention 23
2.5 Mô hình transfOrmer 27
25.1 Tổng quanmôhình 27
252 Kiếntrúemôhình 27
2.5.3 Chitiếtcáchhoạtđộng 29
2.5.3.1 Xửlíchuỗiđầuvào 29
2.5.3.2 Self-attention 30
2.5.3.3 Multihead attention 33
2.5.3.4 Positional Encoding 35
2.5.3.5 Decoder 000 35 3 CÁC HƯƠNG TIẾP CAN CHO BÀI TOÁN SINH ANH CHU VIET TAY 37 3.1 Tongquan 2 2 ee 37 3.2 Cac phương pháp trước đây 37
3.2.1 Tổngquan Ặ ẶẶ QC 37
iv
Trang 6MỤC LỤC
3.2.2 MôhìnhhGANwriing 39
3.2.2.1 Tổngquanmôhìnhh 39
3.222 Kiéntricmang 41
3.2.2.3 Hàmđộlỗi 44
3.2.2.4 Thuật toán huấn luyện môhình 46
3.2.2.5 Nhược đểmmôhìnhh 47
3.3 Mô hình handwriting transformer 47
3.3.1 Tổng quanmôhình - 47
3.3.2 Kiếntrúcmôhình 48
3.3.2.1 Xácđnhvấnđề 48
3.3.2.2 Tổng quankiếntrúc 49
33.23 Mạng Generator 50
3.3249 Hàm domo .) f 52
3.4 Cải tiến mô hình handwriting transformer 54
3.4.1 Nhược điểm mô hình handwriting transformer 54
3.4.2 Multihead Attention Transformer 54
3.4.3 Deformable Transformer 57
3.4.3.1 Deformable Convolution Network 57
3.4.3.2 Deformable Attention , 60
3.4.3.3 Multi-scale Deformable Attention 62
4 THỰC NGHIEM VA ĐÁNH GIA 66 4.1 Tongquan 2 2 en 66 42 Bộdữliệu Ặ Q 0000022 66 4.3 Cài đặtthựcnghiệm 67
4.3.1 Độđođánhgiá 67
4.3.2 Caidatthucnghiém 70
4.4 Kếtquảthựenghệm 72
Trang 7MỤC LỤC
44.1 MôhìinhGANwriing 72 44.2 Mô hình handwriting transformer 74
4.4.3 Mô hình handwriting transformer không ham độ lỗi cycle 76
4.4.4 Mô hình áp dụng deformable transformer không hàm độ
lỗi cycle Quy 79
Trang 8Danh sách hình ve
1.1 1.2
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 2.18
Kết qua so sánh giữa mô hình transformer va GANwriting
Khả năng bắt chước chữ viết tay của con người
Đồ thị hàm
sigmoid -Đồ thị hàm ReLU
Ví dụ về max pooling
Kết nối tat trong mang ResNet
Dịch từ ảnh sanganh
-Mang tạo sinh cho ảnh người
Kiến trúc cơ bản củaGAN
Mô hình sequence to sequence
Ví dụ về encoder-decoder dich từ tiếng Anh sang tiếng Trung Mô hình sử dụng cơ chế attention của tác giả Bahdanau
Ma trận alignment giữa các từ dịch từ tiếng Anh sang tiếng Pháp Ví dụ bài toán dịchmáy
Kiến tric enecoder
Kiến trúc decoder
Biến chuỗi thành
vector -Các hoạt động transformer encoder
Self-atenHon cà 2 Tính điểm cho
từngtừ -vil
11 12 13 15
16
17
18
22 23
24
26
Trang 9DANH SÁCH HÌNH VẼ
2.19
2.20
2.21
2.22
2.23
2.24
2.25
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.6
3.9
3.10
3.11
4.1
4.2
4.3
4A
4.5
4.6
4.7
4.8
Chuẩn hóa đểm - 32
Đầu ra lớp self-attention 33
Ví dụ về multihead attention - 34
Đầu ra multihead attention - 34
Nối các ma trận con của multihead attention 35
Positional Encoding 35
Cách hoạt động củadecoder - 36
Dữ liệu cho phương pháp sinh ảnh chữ viết tay offline và online 38 Cách mô hình ScrabbleGAN sinh anh 40
Kiến trúc mô hình GANwriting 41
Kiến trúc mạng nhận dạng chữ viếttay 45
Thuật toán huấn luyện mô hình GANwriting 46
Kiến trúc mô hình handwriting transformer 48
Cách hoạt động của deformable convolution 58
Convolution thông thường va deformable convolution 59
PS Rol pooling 2 2 02.0000 60 Deformable Attention 61
Multi-scale ban đồ đặc trưng qua các stage 64
Một số ảnh trong bộ dữ liệu IAM 67
Từ các điểm dif liệu (3d) thi ta sé tim được 2d multivariate gaus-sian distribution 2 2 ee ee ee 68 Anh minh hoa FID trong bài báo gốc 69
Số lượng ảnh bộ dữ liệu [AM dùng cho huấn luyện và đánh giá 70
IV-U ee ee ee xxx và 72
OOV-U ee 72
Viil
Trang 10Ảnh do mô hình GANwriting tạo ra với 50 ảnh đầu vào 72
Ảnh với phong cách đầu vào không có trong tập huấn luyện Từ
trái qua phải ứng với các từ "fantastic", "powerful", "arrange",
"dictionary", "fabulous” .Ặ Ặ Ặ ee 73
Ảnh với phong cách đầu vào có trong tập huấn luyện Từ trái qua
won wom wom
phải ứng với các từ "ubiquity", "tabarets", "sramble",
Ảnh của mô hình GANwriting khi sinh ra với nội dung
"Back-street Boys are an American vocal group consisting of Nick
Howie AJ and cousins Brian and Kevin" 74
IV-S Ay a Af ee 75 IV-U | ‘i et — 3 75 OOV-S NEO - - 75 OOV-U 0 ee 75
Ảnh do mô hình handwriting transformers sinh ra với nội dung
"International vocabulary earthbound fabricates" 75
Ảnh phong cách đầu vào 76
Anh do mô hình handwriting transformers sinhra 76
Ảnh của mô hình handwriting transformers khi sinh ra với nội
dung "Doctor Stephen Vincent Strange M.D., Ph.D is the former
1X
Trang 11Anh do mô hình handwriting transformers không hàm độ lỗi
cycle tạo ra với 50 ảnh đầu vào 77
Ảnh do mô hình handwriting transformers không hàm độ lỗi
cycle sinh ra với nội dung "International vocabulary earthbound fabriCAf@S” ee ee 78
Ảnh phong cách đầu vào 78 Ảnh do mô hình handwriting transformers không hàm độ lỗi
snhra GAA gp \` À 78
Ảnh của mô hình handwriting transformers khi sinh ra với nội
dung "Adam Noah Levine is an American singer, musician, and the lead vocalist of the pop rock band MaroonFive" 78
IVS Ẩ W›àề @UỔÔ VÔ ỐỔÔŠỐỐŠỀŠ 79
IV-U | ‘i et — 3 79 OOV-S NEO ee 79 OOV-U 0 ee 79
Anh do mô hình cải tiền deformable transformers không ham độ
lỗi cycle tạo ra với 50 ảnh đầu vào 79
Ảnh do mô hình cải tiền deformable transformers sinh ra với nội
dung "international vocabulary earthbound fabricates" 80
Ảnh phong cách du vào 80
Ảnh do mô hình cải tiến deformable transformers không hàm độ
lỗi cyclesinhra ẶẶS QS c 80
Trang 12DANH SÁCH HÌNH VẼ
4.42
4.43
4.44
4.45
4.46
4.47
4.48
4.49
4.50
4.51
4.52
4.53
4.54
4.55
Anh của mô hình handwriting transformers khi sinh ra với nội
dung "Anthony Edward Stark more commonly known as Tony Stark is a fictional character primarily portrayed by Robert Downey
Jr in the Marvel Cinematic Ủniverse” 80
Ảnh phong cách đầu vào 83
Handwriting Transformers 83
GANwriting 2 ee ee 83 Ảnh do mô hình handwriting transformers và GANwriting tao ra với cùng nội dung "Peter Parker is a fictional character primarily portrayed by Tom Holland in the Marvel Cinematic Universe media franchise based on the Marvel Comics character of the same name created by Stan Lee and Steve Ditko" 83
Ảnh phong cách đầu vào 84
Handwriting TransfOrmers 84
Handwriting Transformers không hàm độ lỗi cycle 84
Anh do mô hình handwriting transformers va handwriting trans-formers không ham độ lỗi cycle tao ra, cả hai mô hình không dùng hàm độ lỗi cycle với cùng nội dung "I found the way to let you leave I never really had it coming I can’t believe the sigh of youn 84 Anh phong cách đầu vào 85
Handwriting Transformers không hàm độ lỗi cycle 85
Deformable Transformers không hàm độ lỗi cycle 85
Ảnh do mô hình handwriting transformer và deformable trans-former tạo ra, cả hai mô hình không dùng hàm độ lỗi cycle với cùng nội dung "No two people can write precisely the same way just like no two people can have the same fingerprints" 85
Ảnh phong cách đầu vào 86
XI
Trang 13DANH SÁCH HÌNH VẼ
4.56 Deformable Transformers không hàm độ lỗi cycle 86
4.57 GANwriting ee 86
4.58 Anh do mô hình deformable transformes và mô hình
GANwrit-ing tạo ra với cùng nội dung "League of Legends commonly referred to as League is a multiplayer online battle arena video game developed and published by RiotGames" 86
xI
Trang 14Danh sách bảng
4.
4.2
4.3
44
4.5
4.6
4.7
4.8
Bảng chia dữ liệu IAM 70
Độ đo FID ứng v6ihinhtrén 72
Độ do FID ứng với hìnhtrên 75
Độ do FID ứng với hìnhtrên 77
Độ do FID ứng V6ihinhtrén 79
Thông số giữa các mô hình trên bộ dữ lệuIAM 81
Độ do FID trên bộ dữ liệu IAM giữa các môhình 81
Thời gian thực thi các môhình 82
xiil
Trang 15Danh mục từ viết tắt
Từ viết tắt | Nội dungCNN(s) Convolutional Neural Networks RNN Recurrent Neural Network
LSTM Long Short Term Memory Conv Convolution
ANN(s) Artificial Neural Networks
GAN Generative Adversarial Networks FID Frechet Inception Distance
DCN Deformable Convolutional Network
XIV
Trang 16TÓM TẮT KHÓA LUẬN
Với sự bùng nổ của công nghệ thông tin, mỗi giây có hàng triệu tam
ảnh được đăng tải Mỗi hình ảnh lại mang một ý nghĩa riêng và ảnh
chữ viết tay cũng vậy Ngày nay, các hệ thống nhận dạng kí tự chữviết trong hình ảnh đóng một vai trò quan trọng trong lĩnh vực họcsâu Đặc biệt là đối với hình ảnh chữ viết tay, vì mỗi người có mỗi
kiểu chữ khác nhau nên chữ viết tay rất đa dạng và đa dạng hơn rất
nhiều so với ảnh chữ in Tuy nhiên, cho tới hiện tại các mô hình hoc
sâu dùng cho bài toán nhận dang chữ viết tay vẫn còn những hạn chế,
cụ thể là về dữ liệu Dữ liệu chữ viết tay rất đa dạng đòi hỏi phải thu
thập một lượng lớn dữ liệu, nhưng việc thu thập và gán nhãn không
phải là một điều dé dàng do chi phí rất tốn kém Với sự phát triển của
học sâu, các mô hình sinh ảnh chữ viết tay đã được áp dụng nhằm
thu thập anh chữ viết tay một cách tự động, giảm chi phí thu thập.Tương tự như bài toán nhận dạng chữ viết tay, bài toán sinh ảnh chữviết tay vẫn đòi hỏi một lượng lớn dữ liệu ảnh chữ viết tay phục vụ
cho việc huấn luyện Dé khắc phục nhược điểm về dữ liệu, gần đây
các hướng tiếp cận few-shot đã được đề xuất, luận văn lần này nhóm
sẽ tập trung tìm hiểu các hướng tiếp cận few-shot
Tóm lại, khóa luận này đã thực hiện những nội dung sau:
* Tìm hiểu tổng quan về máy học, học sâu.
» Khao sát các mô hình tiên tiến nhất hiện nay cho bài toán sinh
ảnh chữ viết tay.
Trang 17¢ Huấn luyện, đánh giá hai mô hình GANwriting[ 1] và
handwrit-ing transformers[2] trên bộ dữ liệu tiếng Anh IAM[3]
s_ Đề xuất giải pháp khắc phục mô hình handwriting transformers[2]
» Xây dung ứng dụng web minh họa cho việc sinh ảnh chữ viết
tay.
Trang 18Chương 1
TỔNG QUAN BÀI TOÁN SINH ẢNH
CHU VIET TAY
1.1 Đặt van đề
Với sự phát triển của khoa học và công nghệ, đời sống của con người đã được
cải thiện Những công việc trước đây do chính con người làm nay đã được robot thay thế Ví dụ như một số công việc nhà như rửa chén, lau nhà đều đã được
xử lí tự động bằng máy Về mặt giao thông, việc ùn tắc đường hay gặp những
vật thể can trở giao thông là vấn dé bat kỳ ai tham gia giao thông cũng phải đốimặt, hiện nay đã có một số camera với sự hỗ trợ của trí tuệ nhân tạo hỗ trợ conngười phát hiện những vật thể cản trở giao thông hoặc chỉ ra những tuyến đường
không bị kẹt xe Một trong những ứng dụng luận văn hướng tới là việc máy tính
có thể bắt chước được chữ viết con người dựa trên các ảnh mẫu chữ viết người
đó Ngoài ra, việc máy tính có thể sinh ra những ảnh chữ viết tay cũng là tiền để
giúp phát triển các mô hình nhận dạng chữ viết tay Bài toán nhận dạng chữ viết
là một vấn đề lớn trong lĩnh vực thị giác máy tính đang được các nhà nghiên cứuquan tâm Đối với bài toán nhận dạng chữ in thì các mô hình hiện nay đều chonhững kết quả rất tốt phần lớn là vì dữ liệu chữ in rat đa dạng, hiện nay đã có một
Trang 191 TONG QUAN
số công cụ hỗ trợ việc gan nhãn tự động cho chữ in ở mức độ kí tu, từ hoặc cảcâu Nhưng đối với nhận dạng chữ viết tay thì lại là một vấn đề lớn, tuy mô hìnhnhận dang chữ viết tay đã cho những kết quả kha quan nhưng nó vẫn tổn tại một
số nhược điểm Một trong những nhược điểm chính của mô hình nhận dạng chữviết tay đó là vấn đề về dữ liệu Tương tự như chữ in, chữ người viết rất đa dạng,thậm chí đa dạng hơn nhiều so với chữ in Mỗi người đều có một phong cách
viết riêng hay thậm chí một người còn có nhiều phong cách viết Vì sự đa dạng
của chữ viết tay, bài toán yêu cầu một lượng lớn dữ liệu chữ viết tay Khác vớichữ in, chữ viết tay hiện nay vẫn chưa có công cụ gán nhãn tự động nào, muốn
thu thập dữ liệu chữ viết tay thì ta phải thu thập và gán nhãn một cách thủ công,
việc thu thập thủ công như vậy rất tốn kém Với sự phát triển của học sâu, một số
mô hình sinh ảnh đã được áp dụng để tạo ra dữ liệu giả nhưng giống dữ liệu thật
để phục vụ cho việc huấn luyện mô hình, đặc biệt dữ liệu về ảnh đã cho nhữngkết quả khả quan không những cho ảnh chữ viết tay mà còn một số ảnh khác
như ảnh người, động vật, Mô hình tạo sinh ảnh chữ viết tay theo phong cách
cho trước giúp việc thu thập ảnh chữ viết tay đơn giản hơn Các phương pháp
trước đây vẫn còn gặp một số hạn chế như vẫn chưa bắt chước được phong cách
viết hoặc là không thể sinh ảnh với những chữ dài Với động lực là sự phát triểncủa transformer trong những năm gần đây, mô hình handwriting transformer đã
áp dụng transformer giúp mô hình có thể giải quyết những vấn đề trên, dựa trênnhững kiến thức đã thu thập thì đây là mô hình sinh ảnh chữ viết tay đầu tiên sửdụng transformer Kết quả đã cho thấy mô hình handwriting transformer[2] chohiệu suất cao hơn các phương pháp trước
Trang 201 TONG QUAN
Style examples _HWT (Ours) GANwriting
Thụ PROCESS hạs I0, TOd slow @C | No two @9op Con weike Precisely No two Per Gn worile plecise
Herc Sirauss and last monly 6C W0 SA Way? jest ike NO tho Same Wey just Uke no two pepe
atlacked Brita @c being Bf People (0n Nave +he TAM fingerprints Gr bave the Same (òt
Thee MW Loud crier F shame’ fom | Á two rR com GHẾ AEG Ne dro pore Gay ốle precise |
all p—% J2 He Congerpahue tide | the tame “22t 2224 Lhe no two same Hay jut Whe no two per§,
tự; Yl appecrel by he w rR com have Ue tom 722092 San have Me Same {sgrp
veld bee em Oe coc A| HỆ ¿.x we ÿ ote Ñ jot Uke no tuo pep’
Mr: /a«keaL wenk 0W with the No two Perle can weibe pre—sel4y Úc fy Pople Gan borile precise
conference gk Lanaster House the Íaue wort )“#F dike no two Same Way Just ike no two per despite Hee Crisif which had blown | people tau have the awe farsecprints Can have fhe Same Fiacery
B Rea and A Ra so b AS Vs Rico PAPE Com vu la “pracsseRy Ne two peer ca» wre Precis
BDIGHGDA yn Moga Ác LAL Ba Kawa word eG & X ume “y jua# Uke no two †enk
ee a souk ÑV 9È PASE com rove ha Sawa Ñ« sọc Gy bave the Same uae
Hình 1.1: Kết quả so sánh giữa mô hình transformer và GANwriting
1.2 Thách thức
Các phương pháp trước đây sinh ảnh chữ viết tay dựa trên việc sử dụng các
đặc trưng hữu ích đã được rút trích như là độ nghiêng, độ dày của chữ Một trong những phương pháp đầu tiên sinh ảnh chữ viết tay dựa trên chuỗi đầu vào thông
qua mô hình RNN như là LSTM hoặc GRU Tuy nhiên, phương pháp của họ
có xu hướng trung bình hóa phong cách viết của mọi người dẫn tới việc khôngthể sinh ảnh theo phong cách cụ thể của một người Gần đây, các hướng tiếpcận dựa trên GAN[4] đã được ra đời để sinh ảnh chữ viết tay ScrabbleGAN[5]
có thể sinh ra ảnh chữ viết tay mà con người có thể đọc được nhưng không thể
bắt chước cụ thể phong cách của ai Davis et al.[6] đề xuất giải pháp dựa trên
StyleGAN[7], sinh ảnh chữ viết tay dựa trên phong cách ảnh và chuỗi nội dungđầu vào nhưng van đòi hỏi dữ liệu lớn Phương pháp GANwriting[1] cũng sinh
Trang 211 TONG QUAN
anh dựa trờn phong cỏch ảnh va chuỗi nội dung đầu vào nhưng với hướng tiếp
cận few-shot Nhược điểm chung của cỏc hướng tiếp cận trước đõy vẫn chưa bắt
chước được phong cỏch một cỏch chớnh xỏc, đõy cũng là thỏch thức chớnh của
bài toỏn Ngoài ra, vấn đề về dữ liệu cũng ảnh hưởng tới chất lượng của cỏc mụhỡnh trước đõy vỡ dữ liệu ảnh chữ viết tay rất đa dạng đũi hỏi một lượng lớn dữ
liệu.
Madeod " vy L tatent” Roden} "behina” Yelrvd
"brilliantly" lỳn ~‹ H (b) Imagining OOV words |
Le 0Qc petenti : the long text is abcdefghijklmnopq
brilliantly k dhe Song text AS abcole {g-ô)kđơơep
(a) Imitating sớylesgE { (ce) Hallucinating long texts |
Hỡnh 1.2: Khả năng bắt chước chữ viết tay của con người
Khỏc với mỏy tớnh, con người cú thể nhanh chúng học được cỏch bắt chước
chữ viết tay dựa trờn một số mẫu Núi cỏch khỏc, sau khi con người học chữ viếttay một cỏch hạn chế, một người cú thể hỡnh dung cỏc từ viết tay này sẽ trụng
như thộ nào khi ỏp dụng phong cỏch viết này lờn một nội dung bat ky Hơn nữa, khi cung cấp hỡnh ảnh chữ viết tay mà họ chưa từng nhỡn thấy trước đõy thỡ con
người vẫn cú thể hỡnh dung ra được phong cỏch viết tương tự với nội dung hoàntoàn khỏc Việc con người cú thể hỡnh dung được như vậy là vỡ cú thể tỡm thấyđược mối liờn hệ giữa nội dung và phong cỏch viết từ những mẫu được cung cấp
Trang 221 TONG QUAN
Nếu chúng ta có thể day máy tính bắt chước quá trình nay, chúng có thể có khảnăng bắt chước chữ viết tay cũng như con người Đây cũng là động lực để phát
triển bài toán sinh ảnh chữ viết tay cho một số mô hình gần đây
Nhìn chung các phương pháp trước đây có thể bắt chước được phong cách toàn
cục, nhưng về cục bộ thì vẫn chưa thể áp dụng được Với sự phát triển của
transformer[8] cho các bài toán về ngôn ngữ, mô hình đã áp dụng phương pháp
transformer[8] với tên gọi handwriting transformer[2] đã ra đời để giải quyết
về vấn đề bắt chước phong cách ảnh Ngoài ra, để đối phó với dữ liệu hạn
chế, phương pháp đã sử dụng hướng tiếp cận few-shot tương tự như mô hình
GANwriting[1].
1.3 Pham vi và mục tiêu
1.3.1 Mục tiêu
Nhóm tập trung giải quyết bài toán nhận sinh ảnh chữ viết tay theo phong
cách như ảnh đầu vào Để hoàn thành công việc, nhóm đã đề ra mục tiêu cụ thể
* Cài đặt, hiện thực, đánh giá kết quả của một số phương pháp trên tập dữ
liệu tiếng Anh là IAM[3]
Trang 231 TONG QUAN
1.3.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ìm hiểu và so sánh kiến trúc của hai mô hình GANwriting[1] và
hand-writing transformer[2].
« Tập trung sinh ảnh chữ viết tay với ngôn ngữ tiếng Anh.
s Thực hiện cài đặt giải pháp khắc phục cho mô hình handwriting transformer[2]
« Tập trung thực hiện việc đánh giá các mô hình qua tập dữ liệu tiếng Anh
1.4 Đóng 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:
« Tìm hiểu các hướng tiếp cận đối với bài toán sinh ảnh chữ viết tay theo
phong cách cho trước.
* Trình bày những kiến thức nền tảng về học sâu và áp dụng vào bài toán
sinh ảnh chữ viết tay.
¢ Huấn luyện lại từ đầu hai mô hình GANwriting[1] và handwriting transformer[2]
* Cai đặt lai module transformer[8] trong mô hình handwriting transformer[2]
nhắm cải tiên thời gian huân luyện của mô hình.
1.5 Cấu trúc khóa luận
Chương 1: Giới thiệu tổng quan đề tài.
Trang 25Chương 2
CÁC KIÊN THỨC LIÊN QUAN CHO
BÀI TOÁN SINH ANH CHU VIET
TAY
2.1 Tổng quan
Phần này sẽ tổng hợp những kiến thức liên quan được áp dụng trong bài toán.Gồm 4 phần chính: residual network[9], GAN[4], cơ chế attention và mô hìnhtransformer[8] Đầu tiên, residual network[9] sẽ được trình bày tổng quan về
mô hình và giải pháp khắc phục vanishing gradient Tiếp theo, GAN[4] cũng séđược giới thiệu tổng quan về lịch sử hình thành, các ứng dụng và một số mạngGAN[4] phổ biến Cuối cùng, là về cơ chế attention[ 10], sẽ được trình bày chitiết để hiểu rõ hơn về mô hình transformer[S] cho bài toán về lĩnh vực ngôn ngữ
tự nhiên cũng như thị giác máy tính, đặc biệt là cho bài toán sinh ảnh chữ viếttay, đây cũng chính là điểm khác biệt chính của mô hình sinh ảnh chữ viết tay
handwriting transformer[2] so với các phương pháp trước đó.
Trang 262 Các kiến thức cơ bản về Deep Learning
2.2 Residual network
2.2.1 Tong quan
Kể từ khi mang nơ ron tích chập (Convolutional Neural Network hay còn gọi
là CNN) được giới thiệu, các bài toán về phân loại ảnh và nhận diện ảnh đã đượccải thiện khá đáng kể Để giải quyết các bài toán phức tạp thì các nhà khoa học
đã tăng số lượng lớp tích chập nhiều hơn nhằm đạt hiểu quả cao Kể từ AlexNet,
các kiến trúc mang nơ ron tích chập ngày càng sâu hơn Trong khi AlexNet chỉ
có 5 lớp tích chập, mạng VGG và GoogleNet có đến 19 và 22 lớp tương ứng Tuy
nhiên, việc tăng số lượng lớp tích chập sẽ xảy ra hiện tượng vanishing gradient
dẫn đến việc học không hiệu quả và mạng ResNet[9] ra đời để giải quyết van
dé đó Mạng ResNet[9] viết tắt của Residual Network được giới thiệu vào năm
2015 trong bài báo mang tên "Deep Residual Learning for Image Recognition".
Mô hình ResNet[9] đã đạt được một số kết quả đáng kể như:
¢ Dat top | cuộc thi ILSVRC 2015 cho bài toán phân loại ảnh
« Đạt top 1 cuộc thi ILSVRC va COCO 2015 cho bài toán phát hiện đối
tượng trên tập ImageNet, định vị đối tượng trên tập ImageNet, phát hiệnđối tượng trên tập COCO và phân đoạn ảnh trên tập COCO
« Thay thé các lớp của mô hình VGG16 trong mô hình Faster R-CNN bằng
ResNet101 giúp mô hình cải thiện độ chính xác hơn 28%
« Có thể huấn luyện mô hình rất hiệu quả với 100 lớp cũng như 1000 lớp
Trang 272 Các kiến thức cơ bản về Deep Learning
chập ra đời, đối với các bài toán phân loại đơn giải, thường được giải quyết bằng
mạng nơ ron nhân tao (Artificial Neural Network) Tuy nhiên, đối với một số bài
toán cần một lượng lớn dữ liệu thì mạng nơ ron nhân tạo không thể giải quyếtđược vì số lượng lớn tham số dẫn tới chi phí tính toán lớn nên phụ thuộc rấtnhiều vào phần cứng Để giảm chi phí tính toán, ta phải giảm số lượng tham số.Thay vì, tính toán toàn bộ pixel thì ta chỉ cần tính toán các pixel lân cận nhau
Đây cũng chính là động lực ra đời của mạng nơ ron tích chập, chi phí tính toán
đã giảm đi đáng kể Kiến trúc của một mạng nơ ron tích chập đơn giản gồm các
lớp sau đây:
Convolution layer
Convolution layer hay còn gọi là lớp tích chập, mỗi lớp tích chập chứa các kernel
hay còn gọi là filer đã được học để điều chỉnh và lấy ra các thông tin chính xác
mà không cần phải chọn đặc trưng Các kernel đều nhỏ thường có kích cỡ hai
chiều đầu tiên khoảng 3x3, 5x5, và có độ sâu bằng với độ sâu đầu vào Sự kết
hợp với các filter có thể thực hiện một số hoạt động như phát hiện cạnh, làm mờ,
làm nét, Dau ra của lớp tích chập chứa các đặc trưng gọi là feature map
Activation layer
Ly do chính mà các mô hình học sâu nổi trội hơn các mô hình máy học là nhờ
khả năng giải quyết các vẫn đề phi tuyến tính của dữ liệu Để giải quyết các vẫn
dé phi tuyến phức tạp của dữ liệu chính là nhờ các activation function hay còngọi là hàm kích hoạt Nếu như không áp dụng các hàm kích hoạt này thì mạng
nơ ron sẽ trở thành một hàm tuyến tính như logistic regression Một số loại hàm
kích hoạt điển hình như:
Trang 282 Các kiến thức cơ bản về Deep Learning
* Đối với hầu hết các đầu vào dương, sigmoid sẽ chuyển đầu vào thành một
số rất gần với 1
« Đối với các đầu vào tương đối gần 0, sigmoid sẽ chuyển đầu vào thành một
số nào đó từ 0 đến 1
1.0 0.9 0.8 0.7
* Công thức: ReLU (x) = max(0,x)
« Đầu vào nhỏ hon hoặc bằng 0, thì relu sẽ xuất ra 0 Nếu đầu vào lớn hơn
0, thì relu sẽ chỉ xuât đầu vào đã cho.
11
Trang 292 Các kiến thức cơ bản về Deep Learning
Ham ReLU dang được sử dung khá nhiều thời gian gan đây khi huấn luyện các
mạng nơ ron Nhìn vào công thức ta dễ dàng hiểu được cách hoạt động của nó.
Một số ưu điểm vượt trội so với các hàm kích hoạt sigmoid:
* Tốc độ hội tụ nhanh hơn han.
¢ Tinh toán nhanh hơn.
Tuy nhiên, ReLU cũng có một số nhược điểm:
* Khi đầu vào có giá trị nhỏ hơn 0, qua hàm relu sẽ thành 0, hiện tượng đấy
gọi là “Dying ReLU“ Nếu các giá trị bị chuyển thành 0 thi sẽ không có
ý nghĩa với bước linear activation ở lớp tiếp theo và các hệ số tương ứng
không được cập nhật với gradient descent.
s Khi learning rate lớn, các trọng số có thể thay đổi theo cách làm tat cả nơ
ron dừng việc cập nhật.
Pooling Layer
Tương tự như lớp tích chập, lớp pooling có tác dụng giảm chiều kết quả, thường
12
Trang 302 Các kiến thức cơ bản về Deep Learning
được sử dụng sau lớp tích chập Mục đích là để giảm chi phí tính toán bằng cách
giảm kích thước đầu vào Ngoài ra, lớp pooling giúp giữ lại các đặc trưng cốt lõi,tăng tính bất biến trong không gian Có hai loại lớp pooling thường được dùng
là max pooling, average pooling và sum pooling Max pooling cho phép chọn ra
giá trị lớn nhất trong khu vực nó đang áp dụng, đây cũng chính là lớp poolingđược sử dụng nhiều nhất Average pooling thì trả về kết quả trung bình các điểmtrong khu vực đang áp dụng Sum pooling thì trả về tổng các giá trị trong khu
vực đang áp dụng.
Max Pool
—————-Filter - (2 x 2) Stride - (2, 2)
Hình 2.3: Ví dụ về max pooling
Normalization
Trọng số của các đặc trưng sẽ khác nhau rất nhiều vì giá trị đầu vào của các đặctrưng khác nhau rất lớn Để thích nghỉ với sự khác biệt giữa các đặc trưng thìmột số trọng số sẽ lớn và một số trọng số lại nhỏ Nếu ta có trọng số lớn thì sẽảnh hưởng đến việc cập nhật nó trong quá trình lan truyền ngược cũng sẽ lớn
và ngược lại Vì sự phân bố không đồng đều của các trọng số nên dẫn tới việcthuật toán sẽ bị dao động trong vùng tối ưu trước khi nó tìm đến vị trí cực tiểutoàn cục Để tránh việc thuật toán học dành quá nhiều thời gian dao động khi tối
ưu, ta normalize (hay còn gọi là chuẩn hóa) các đặc trưng đầu vào về cùng tỉ lệ,phân phối Từ đó thì dữ liệu đầu vào sẽ có cùng tỉ lệ và trọng số liên quan đếnchúng cũng sẽ cùng tỉ lệ Điều này giúp mô hình có thể học nhanh hơn
Một số phương pháp normalization
13
Trang 312 Các kiến thức cơ bản về Deep Learning
¢ Batch Normalization
¢ Weight Normalization
¢ Adaptive Instance Normalization
Fully Connected Layer
Sau khi anh được truyền qua nhiều lớp tích chập và lớp pooling, model lúc này
đã học được tương đối các đặc điểm của ảnh thì tensor cuối cùng của lớp cuối
sẽ được làm phẳng thành vector và đưa vào một lớp fully connected (lớp kết nối
đầy đủ) Cuối cùng sử dụng softmax hoặc sigmoid để phân loại đầu ra
2.2.3 Vanishing Gradient
Lan truyền ngược là một kỹ thuật thường được dùng trong quá trình huấnluyện các mạng nơ ron Thuật toán sẽ đi từ lớp cuối cùng đến lớp đầu tiên vàtính toán gradient của hàm độ lỗi cho từng trọng số của mạng nơ ron Sau đó, sẽđược dùng để cập nhật lại trọng số Quá trình trên lặp đi lặp lại cho đến khi mạng
nơ ron hội tụ Thường ta định nghĩa một hyperparemeter cho số lượng vòng lặp
thực hiện quá trình trên, hyperparameter này còn gọi là epoch Nếu epoch quá nhỏ, sẽ dẫn tới mô hình không được huấn luyện tốt do chưa hội tụ Ngược lại,
khi số epoch quá lớn sẽ dẫn tới thời gian huấn luyện mô hình lâu hơn Thực tế,khi càng về các lớp đầu tiên, gradient có xu hướng nhỏ dần dẫn tới việc cập nhậttrọng số không hiệu quả, hậu quả là không thể hội tụ và mô hình sẽ không cho
ra kết quả tốt Hiện tượng này gọi là vanishing gradient
2.2.4 Kiến trúc mạng ResNet
Những kiến trúc trước đây thường cải tiến độ chính xác nhờ tăng chiều sâu
của mạng nơ ron tích chập Thực nghiệm cho thấy tới một ngưỡng sâu nào đó thì
14
Trang 322 Các kiến thức cơ bản về Deep Learning
mô hình sẽ bão hòa hay thậm chí là phản tác dụng làm mô hình kém chính xác.
Việc đi qua quá nhiều lớp như vậy sé làm mất đi thông tin gốc Để giải quyết
van dé này mô hình ResNet[9] đã được giới thiệu Ý tưởng chính của ResNet[9]
là sử dụng kết nối tat đồng nhất để xuyên qua một hay nhiều lớp Các kết nối tắtgiúp giữ thông tin bằng cách kết nối các lớp trước đó tới các lớp sau và bỏ qua
một vài lớp trung gian Một khối như vậy được gọi là một residual block như
trong hình sau:
weight layer
x
identity
Hình 2.4: Kết nối tat trong mang ResNet
Mô hình ResNet[9] gần như tương tự các mạng nơ ron tích chập gồm lớptích chập, pooling, activation và lớp kết nối đầy đủ Việc xếp chồng các lớp sẽkhông làm giảm hiệu suất của mạng Với kiến trúc này, các lớp phía sau sẽ cóđược thông tin các lớp trước dẫn nên việc điều chỉnh trọng số sẽ hiệu quả hơn
Thực tế, ResNet[9] không phải là mô hình đầu tiên sử dụng kết nối tắt Mô hìnhtrước đây sử dụng kết nối tắt là mạng Highway, có thể coi ResNet[9] là trường
hợp đặc biệt của mạng Highway Sau ResNet, hàng loạt những biến thể của mô
hình đã được giới thiệu Việc ResNet[9] ra đời giúp cho các mô hình sau này có
thể huấn luyện với độ sâu hàng nghìn lớp Đây cũng là lý khiến ResNet[9] trở
thành một trong những kiến trúc phổ biến nhất trong lĩnh vực thị giác máy tính
15
Trang 332 Các kiến thức cơ bản về Deep Learning
2.3 Mạng doi nghịch tạo sinh
2.3.1 Tổng quan
Mạng đối nghịch tạo sinh (Generative Adversarial Network gọi tắt là GAN[4])
là một nhánh nhỏ của máy học được giới thiệu vào năm 2014 bởi lan Goodfellow
et al GAN[4] ra đời đã tác động rất lớn trong lĩnh vực học sâu, đặc biệt là thị
giác máy tính GAN[4] là mô hình có thé sinh ra dữ liệu mới Thực chất GAN[4]
là mạng tạo sinh sử dụng phương pháp đối nghịch, nghĩa là đối với những dữ
liệu do mạng tạo sinh tạo ra, thì mạng đối nghịch sẽ phân biệt ảnh đó là thật hay
giả Mục đích chính là mạng tạo sinh có thể tạo ra những dữ liệu có thể lừa được
mạng đối nghịch
GAN[4] có thé được dùng cho nhiều mục đích khác nhau như dịch từ ảnh sang
ảnh, chẳng hạn như ảnh ban ngày sang ban đêm, ảnh đời thật thành ảnh tranh vẽ,
ảnh từ mùa hè sang mùa đông,
summer —> winter
Photograph Van Gogh Cezanne
Hình 2.5: Dịch từ anh sang anh
GAN[4] có thể sinh ra những ảnh mà ngay cả con người không thể phân biệt
16
Trang 342 Các kiến thức cơ bản về Deep Learning
được that hay giả như là ảnh số viết tay, ảnh người,
Kiến trúc của GAN[4] gồm hai phan: mang tạo sinh (generator network) vàmạng đối nghịch (discriminator network)
¢ Generator mục đích của mang tạo sinh là tạo ra những dữ liệu giả như thật
¢ Discriminator mục đích của mạng đối nghịch là phân biệt được đâu là ảnh
giả hay ảnh thật nhằm giúp mạng tạo sinh có thể tạo ra những dữ liệu tốt
hơn
17
Trang 352 Các kiến thức cơ bản về Deep Learning
Generated Data
Hình 2.7: Kiến trúc cơ bản của GAN
2.3.2 Một số mạng GAN
2.3.2.1 Condition Generative Adversarial Network
Conditional GAN hay gọi tat là cGAN day là cải tiến của GAN[4] thông
thường Tuy các mang GAN[4] trước đây có thể tao ra các mẫu ngẫu nhiên,
nhưng nó lại không thể sinh ra mẫu theo ý muốn Việc điều khiển mẫu ảnh theo
mong muốn cũng là động lực cGAN ra đời Mô hình cGAN có thể sinh ảnhdựa trên các thông tin phụ trợ như nhãn của ảnh Nhờ việc thêm một số thôngtin giúp kiểm soát được đầu ra của mô hình Có hai động lực cho việc sử dụngthông tin nhãn cho mô hình Thứ nhất, quá trình huấn luyện cải thiện hơn nhờ
việc thêm nhãn Thứ hai, ảnh mục tiêu sẽ được điều khiển theo mong muốn dựa
trên thông tin thêm vào.
Thông tin thêm vào không chỉ cải thiện mô hình mà còn giúp quá trình huấn
luyện ổn định hơn và hình ảnh tạo ra có chất lượng tốt hơn Ngoài ra, việc thêm
nhãn giúp ảnh tạo ra sẽ có vật thể tương ứng với nhãn.
18
Trang 362 Các kiến thức cơ bản về Deep Learning
2.3.2.2 Pix2Pix
Pix2Pix là một loại mô hình đối nghịch tạo sinh dùng cho bài toán dịch từ ảnh sang ảnh dựa vào ảnh đầu vào Một số ví dụ dịch từ ảnh sang ảnh:
« Chuyển từ ảnh mùa đông sang mùa hè
« Chuyển từ ảnh đời thật sang ảnh tranh vẽ
* Chuyển từ ảnh ngựa sang ngựa van
Mang Pix2Pix lần đầu được giới thiệu vào năm 2016 bởi Phillip Isola Mô hình
cGAN là một phiên bản mở rộng của GAN[4] có thể sinh ảnh dựa vào ảnh đầu vào Mô hình Pix2Pix là một phiên bản nâng cấp mô hình cGAN, ảnh sinh ra
được điều khiển bởi ảnh đầu vào
Mang generator sinh ảnh dựa trên ảnh đầu vào, mạng discriminator đầu vào là
cặp ảnh, ảnh đầu vào và ảnh mục tiêu hay ảnh do mô hình sinh ra và xác định
xem là ảnh thật hay giả Tóm lại, mạng generator được huấn luyện sao cho có
thé lừa được discriminator và có thể tối thiểu độ lỗi giữa ảnh sinh ra và ảnh mục
tiêu.
Ngoài ra, mạng generator sẽ được cập nhật thông qua hàm độ lỗi adversarial,
nhằm giúp mô hình sinh ra ảnh chân thật hơn Hàm độ lỗi LI sẽ được sử dụng
để tính toán giữa hai ảnh sinh ra và ảnh mục tiêu Hàm độ lỗi L1 giúp mô hình
có thể sinh ra ảnh hợp lý hơn dựa vào ảnh đầu vào.
2.3.2.3 Cycle Genartive Adversarial Network
Bai toán chuyển từ ảnh sang ảnh là bài toán tổng hợp hình anh sao cho ảnh
mới sinh ra có thể sửa đổi theo ảnh đầu vào
Thông thường, bài toán chuyển từ ảnh sang ảnh đòi hỏi dữ liệu phải đi theo từng cặp như mô hình Pix2Pix Việc dữ liệu phải đi theo cặp như vậy dẫn tới một
lượng lớn dif liệu để mô hình có thể học và sinh ra ảnh theo mong muốn Việc
19
Trang 372 Các kiến thức cơ bản về Deep Learning
đòi hỏi một lượng lớn như vậy là bat khả thi vì những dữ liệu đi theo cặp nhưvậy rất khó khăn trong việc thu thập Vì vậy ta mong muốn có thể huấn luyện
mô hình mà không đòi hỏi việc dữ liệu phải đi theo cặp, CycleGAN được phát
triển để giải quyết van đề về dữ liệu theo cặp
CycleGAN 1a mô hình dựa trên GAN[4], nhưng không đòi hỏi dữ liệu phải đi
theo từng cặp, đây là một lợi thế lớn của mô hình CycleGAN Vi dụ, ta muốnchuyển ảnh từ mùa hè sang mùa đông, mô hình sẽ dùng 2 tập dữ liệu về mùa hè
và mùa đông, với từng dữ liệu sẽ rút trích đặc trưng và phong cách để áp dụng
cho việc chuyển đổi ảnh Cụ thể mô hình CycleGAN sẽ dùng 2 mô hình GANI4]
gôm:
¢ Generator A va Discriminator A
¢ Generator B va Discriminator B
Mang generator được dùng cho việc chuyển đổi ảnh dựa vào ảnh dau vào B va
chuyển thành ảnh đầu ra A, mang generator còn lại thì chuyển đổi ngược lại từ
ảnh đầu vào A sang ảnh B Lấy ví dụ chuyển ảnh từ mùa hè sang mùa đông,mang generator A sẽ nhận đầu vào là ảnh mùa hè trong khi mang generator B sẽnhận đầu vào là ảnh mùa đông:
¢ Ảnh B > Generator A -> Ảnh A
¢ Anh A — Generator B > Ảnh B
Tương tự như kiến trúc GAN thông thường, mỗi mang generator sẽ đi kèm theo
mang discriminator Mang discriminator sẽ nhận đầu vào là ảnh thật và ảnh do
mô hình generator sinh ra sau đó dự đoán ảnh là thật hay giả.
° Anh A - Discriminator A > Thật hay giả
¢ Anh B — Discriminator B — Thật hay giả
20
Trang 382 Các kiến thức cơ bản về Deep Learning
Tổng hợp lại ta có CycleGAN hoạt động như sau:
¢ Ảnh B > Generator A — Discriminator A > Thật hay gia
¢ Anh A - Generator B — Discriminator B + Thật hay gia
Điểm khác biệt của mô hình CycleGAN đó là mang generator không chi tạo ra
ảnh mới theo mong muốn mà còn dùng để làm đầu vào cho mang generator còn
lại và ngược lại.
° Ảnh B — Generator A —› Ảnh A — Generator B —› Ảnh B
° Ảnh A — Generator B + Ảnh B > Generator A > Ảnh A
Cả hai mô hình đối nghịch tao sinh trong mô hình CycleGAN đều sử dung hàm
độ lỗi cycle Việc sử dụng hàm độ lỗi cycle nhằm giúp mô hình có thể sinh ra
ảnh giống thực tế hơn.
Hàm độ lỗi cycle so sánh giữa ảnh đầu vào của generator A và ảnh sinh ra của
generator B và ngược lại thông qua độ do LI.
là bài toán dịch máy Cho tới hiện tại, cơ chế attention[10] đã có những biến thể
để giải quyết các bài toán ngoài lĩnh vực xử lí ngôn ngữ tự nhiên như là thị giác
máy tính, xử lí giọng nói.
21
Trang 392 Các kiến thức cơ bản về Deep Learning
2.4.2 Mô hình sequence to sequence
Trước khi cơ chế attention[10] đầu tiên ra đời vào năm 2015, bài toán dịch
máy được giải quyết bằng mô hình sequence to sequence Mô hình sequence to
sequence lần đầu tiên được giới thiệu vào năm 2014 bởi Sutskever Mục đíchcủa mô hình là biến đổi chuỗi đầu vào thành một chuỗi mới và cả hai chuỗi có
độ dài tùy ý.
10]929A 19po2u3
Một số ví dụ của bài toán dịch máy như chuyển đổi qua lại giữa các ngônngữ cho văn bản, âm thanh Kiến trúc của mô hình sequence to sequence thườnggồm encoder và decoder Encoder xử lí chuỗi đầu vào, mã hoá các từ đầu vào
bằng một chuỗi các lớp RNN, LSTM nhằm đưa ra vector state cuối cùng có độ
dài cố định Sau đó, decoder sẽ dùng vector này để giãi mã, tạo ra các từ trong
một câu, lần lượt từng từ mot
22
Trang 402 Các kiến thức cơ bản về Deep Learning
Encoder
Context vector (length: 5)
[0.1, -0.2, 0.8, 1.5, -0.3]
Hình 2.9: Ví dụ về encoder-decoder dịch từ tiếng Anh sang tiếng Trung
Có thể thấy trong bài toán dịch máy, mô hình sequence to sequence dùngencoder để tóm tắt chuỗi đầu vào thành vector ngữ cảnh, sau đó decoder dựa
vào vector tóm tắt này để tạo ra một câu hoàn chỉnh Nếu bản tóm tắt không
được tốt sé dẫn tới chuỗi đầu ra không tốt theo Và kết quả đã cho thay, encoderkhông thể giải quyết được những chuỗi đầu vào dài và đây cũng chính là nhược
điểm chính của mô hình sequence to sequence Thường thì mô hình sẽ quên đi
các từ đầu tiên sau khi đã xử lí xong toàn bộ chuỗi Lý do mô hình không thể ghi
nhớ những chuỗi dai vi vanishing hay exploding gradient Mặc dù LSTM được
cho là có thể xử lí những chuỗi dài tốt hơn RNN, nhưng trong một vài trườnghợp LSTM vẫn quên đi một số từ Một van dé khác là không có cách nào đểđánh giá tầm quan trọng của một số từ đầu vào so với những từ đầu ra Câu hỏiđặt ra là có cách nào có thể giữ nguyên ven tat cả thông tin liên quan trong câuđầu vào trong khi tạo ra vector ngữ cảnh hay không? Cơ chế attention[ 10] ra đời
để giải quyết van dé này.
2.4.3 Cơ chế attention
Để hiểu được ý tưởng của attention[ 10], lấy ví dụ khi dịch "What are you
do-ing?" từ tiếng Anh sang tiếng Việt là "Bạn dang làm gì thế?" Từ "bạn" là nghĩa
23