Trong khóa luận tốt nghiệp lần này, tôi sẽ nghiên cứu bài toán Image Captioning này sinh ra câu chú thích caption bằng tiếng Việt — ngôn ngữ có hơn 100 triệu người sử dụng.. ” | Với nhữn
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HỌC - KỸ THUAT THONG TIN
DO GIA BAO
KHOA LUAN TOT NGHIEP
SINH CHU THÍCH TIENG VIET TU DONG CHO HÌNH
ANH TRONG LĨNH VUC CHAM SOC SỨC KHỎE
TREN BO DU LIEU VIECAP4H
Image Captioning for Healthcare domain in Vietnamese VieCap4H
dataset
CU NHAN NGANH CONG NGHE THONG TIN
TP HO CHi MINH, 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HỌC - KY THUAT THONG TIN
DO GIA BẢO - 18520482
KHÓA LUẬN TÓT NGHIỆP
SINH CHU THÍCH TIENG VIET TỰ DONG CHO HÌNH
ANH TRONG LĨNH VUC CHAM SOC SỨC KHỎE
TREN BO DU LIEU VIECAP4H
Image Captioning for Healthcare domain in Vietnamese VieCap4H
dataset
CỬ NHÂN NGANH CONG NGHỆ THONG TIN
GIANG VIEN HUONG DAN THS VO DUY NGUYEN
TS NGUYEN TAN TRAN MINH KHANG
TP HO CHÍ MINH, 2022
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
ce beee eee eeeeeeeeeen ees ngày của Hiệu trưởng Trường Dai hoc Công
nghệ Thông tin.
Trang 4LOI CAM ON
Để hoàn thành khóa luận tốt nghiệp này, tôi đặc biệt gửi lời cảm on sâu sắc
và chân thành đến hai Thầy Th§ Võ Duy Nguyên và Thầy TS Nguyễn Tấn Trần Minh Khang - hai người Thay đã tận tình hướng dẫn tôi trước, trong và sau khoảng thời gian thực hiện đề tài Nhờ có những định hướng rõ ràng và sự giúp đỡ xuyên suốt trong quá trình thực hiện đề tài từ hai Thầy đã giúp tôi hình
thành nhiều ý tưởng đề thực hiện khóa luận tốt nghiệp một cách tốt đẹp.
Tôi chân thành gửi lời cảm ơn đến toàn thể quý Thầy/Cô trong và ngoài trường Đại học Công nghệ Thông tin — Dai học Quốc gia Thành phó Hồ Chí Minh
đã giảng dạy tận tình và giúp đỡ tôi trong suốt 04 năm học tập dưới mái trường này.
Tôi cũng xin cảm ơn nhóm UIT — Together Research Group, đặc biệt là em Bùi Cao
Doanh — sinh viên khóa K14 khoa Khoa học Máy tính đã giúp đỡ và hỗ trợ tôi rất nhiệt tình trong thời gian thực hiện khóa luận tốt nghiệp.
Bên cạnh sự chủ động tìm hiểu rất nhiều kiến thức mới, tôi còn nhận được sự dạy bảo cùng những lời góp ý chuyên môn một cách chân tình đến từ Thầy TS.
Trần Anh Tuấn — giảng viên khoa Toán — Tin trường Dai học Khoa học Tự nhiên (ĐHQG — HCM) Nhờ đó, tôi đã tích lũy được nhiều kinh nghiệm cho bản thân và
lấy đó làm hành trang phục vụ cho công việc sau này.
Dù đã nỗ lực có gắng hoàn thiện khóa luận tốt nghiệp này, song chắc chắn sẽ không tránh khỏi những thiếu sót Tôi kính mong nhận được sự chỉ bảo và góp ý tận
tình từ quý Thầy/Cô dé đề tài được hoàn thiện hơn.
Cuối cùng tôi muốn nói lời cảm ơn đến tất cả mọi người đã giúp đỡ tôi hoàn
thiện mình như ngày hôm nay.
TP.Hồ Chí Minh, tháng 06 năm 2022
Sinh viên thực hiện
Dé Gia Bảo
Trang 5MỤC LỤC
Churong no -::1 2
1.1 Động lực nghiên CU eeesssssssssssssssssssssssssssssssssssssssssessssssssssssssssssssssssssssssssssnssssssssssssssssss 2
1.2 Bài toán Image Captioning -ccccceeeeeeerirrrrrtrtiirrriririririrrsriirii
1⁄2.1 Phát biểu bài toán ccceeirirrrrrrrrre 3
1.2.2 Ứng dụng của bài toán Image Captioning -.-. -cz-52+ 3
1.2.2.1 Hỗ trợ thị giác cho người khiếm thị -x 3
1.2.2.2 Tự động chú thích hình anh trong Mạng Xã hội + 1.2.3 _ Thách thức bài toán - - 5+ Hư 5
1.3 Mục tiêu và phạm vi nghiên CỨu ecveseeeeeereereeseeeersrrririeisrree Ổ, 1.4 Đóng góp của nghiên cứỨu ccccccccveveeereeetrterrtrtrertrreirtrrrirreirrreerrree 7
1.5 Bố cục của báo cáo khóa luận tốt nghiệp . eseeeeseees
Chương 2 CƠ SỞ LÝ THUYÊT 22+22EE+++22EEEE+EEEEEEtrEEEEErrrtrrkrcree 9
2.1 Artificial Neural Network (ANN) eeereseiirirrrrsrve, 2.2 Convolutional Neural Network (CNN) «eo LO
2.2.1 Một số lớp thường xuất hiện trong mang CNN - 0
2.2.1.1 Lớp Input và Output -. -ce-eeeeeeesseeessseesseeeseee.e LO 2.2.1.2 Lớp Convolutional ssssssssssssssssssssssssssssssssssssssssssssssssssesssssssssssssssssssssssssssees LL 2.2.1.3 Lớp Pooling.
2.2.1.4 Lớp Fully — Connected -. -ceceeeeeeeeeeeeeeeeesseeesreeoe LO
2.2.2 Một số mang CNN nổi tiếng.
2.2.2.1 LeNet — 5 (1998) eo LO 2.2.2.2 AlexNet (2012)
Trang 62.2.2.3 GoogLeNet (Inception — V1) (20 14) .e- c-eeeeee L7 2.2.2.4 VGG Net (2014) iu LO) 2.2.2.5 ResNet (2015) iu LO) 2.2.2.6 ResNeXt (2017) iu 2 L
2.3 Các mô hình dịch chuỗi i 2:+eccettieevEEErreeeetrtrreverrrreevrrrroecvee 22
2.3.1 Recurrent Neural Network (RNN) cai 23 2.3.2 Long Short — Term Memory (LS'TM) - ¿55 55+5+<<> 24 2.3.3 Bidirectional Recurrent Neural Network (BRNN) - 25
2.3.4 TramsfOrmer ccsccceececesseseseseecseseseseeescseseeeeneseseseeeeseseseseseeecssssseaees 27
Chương 3 HƯỚNG TIẾP CAN BÀI TOÁN IMAGE CAPTIONING 35
3.1 Các hướng tiếp cận bài toán dựa trên mô hình LSTM 3 5
3.1.2 CNN + LSTM + Cơ chế Attention - -c¿5225scz2225scczzz 38
3.2 Các hướng tiếp cận hiện đại dựa trên kiến trúc Transformer 40
3.2.1 | Meshed— Memory Transformer ( M? Transformer) - 40
3.2.2 RSTNG( TH hư 43
Chương 4 PHƯƠNG PHAP DE XUẤTT 222++z+2222vvvvrrrrrrrrrrrev 47
4.1 Tổng quan phương pháp dé xuất s-.eeeeereereeeeeeeeeeev AT
4.2 TG2F Module eeeeeeeeerrrrrrrrrrrrrrrerrruu 4,
4.3 Adaptive Attention Module sssssssessssssessssssesessssssssssuesssssessnsassesssssssssseeesees 4D)
Chương 5 QUY TRÌNH THUC NGHIỆM -22222cccz+cccvvvsee 51
5.1 Bộ dữ liệu D1 5.2 Độ đo đánh giá tự Ong sssssssssssssssssssssssssssssssssssssssssssssssssssssssesssssssssssssssssssssssssnsssssssss D2 5.3 Cài đặt chỉ tiẾt eereereetrrrrrrrrrrrrrrirrirrirrrrrrroesooov ĐỔI
Trang 75.4 Phân tích kết quả và đánh giá -.-.-sssrerrerrerrrrerrerrrrrrrre
5.5 Trực quan hóa kết quả
Chương 6 KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN
Trang 8DANH MỤC HÌNH Hình 1.1: Mô hình bài toán Image Captioning cho tiếng Việt wed
Hình 1.2: Thiết bi Horus đến từ công ty khởi nghiệp Thụy Si Eyra có nhiệm vụ mô
tả hình ảnh phía trước và chuyền sang giọng nói thông qua tai nghe cho người
khiếm thị -.e S4 Hình 1.3: Ung dung Image Captioning trên Facebook -e<-ee-Ð
Hình 2.1: Sự tương quan giữa mang neural Sinh học va mang neural Nhân tao 10
Hình 2.2: Cấu trúc của một mạng FeedForward Neural Network đơn giản 11
Hình 2.3: Phép tích chập giữa ma trận bức ảnh đầu vào va kernel
Hình 2.4: Ví dụ về Max Pooling và Average Pooling với window size = 2 cùng bước nhảy stride = 2 -cccvvvvirttiriiirirririiiiiiiiiirriiiiiriirirrrrirriieirrrerorrrir LO Hình 2.5: Lớp Fully — Connected -e-c e-ececveeseseeerrerrererrrrrrrrsre LA Hình 2.6: Quá trình phát triển của các mạng CNN e.seee.e LD Hình 2.7: Kiến trúc mạng LeNet — 5 -esceseeeeeeerreereereereeeseeeeree LD Hình 2.8: Kiến trúc mạng AlexNet -s-esrreereeeeeeerrerrereereerseeeeee LO Hình 2.9: Kiến trúc mang Inception — VI
Hình 2.10: Khối Inception module Hình 2.11: Kiến trúc mạng VGG — 16 «-seeeeeeersereereereerseeseeeee LO Hình 2.12: Kiến trúc mạng ResNet -essereeeeeserrererereereresesessuo 20 Hình 2.13: Khối residual block
Hình 2.14: Kiến trúc mạng ResNet (trái) và kiến trúc mạng ResNeXt (phải) 22
Hình 2.15: Cấu trúc của một mạng Recurrent Neural Network đơn giản 23
Hình 2.16: Mô hình kiến trúc LSTM
Hình 2.17: So sánh sự khác nhau giữa RNN (trái) và BRNN (phải)
Hình 2.18: Ví dụ về mạng BRNN ở bài toán NER Đường mũi tên màu cam nằm ngang chính là hướng forward, đường mũi tên màu xanh nằm ngang chính là hướng 0960000 ,
Hình 2.19: Mô hình kiến trúc Transformer «esteem 29
Trang 9Hình 2.20: Scaled Dot — Product Atf€TIfIOH - << << zszkkvEEeeeEeEskrrrrrerrerersre 32 Hình 2.21: Multi - Head Affenfion ‹ -ssersrrketrrirtkirtrriirriiririiriirirree 33
Hình 3.1: Mô hình Neural Image Caption (NIC) ccc-crsexeeexeeerserreee 35
Hình 3.2: Ví dụ về kỹ thuật Beam Search với beam size k = 3 Beam Search hỗ trợ
mô hình tìm k hướng đi tối ưu nhất dé tìm ra câu chú thích tốt nhất 38
Hình 3.3: Mô hình bài báo “Show, Attend and 'TelÏ”” -.-« c c«ecsecsexsersersee 39
Hình 3.4: Ví dụ về “soft” attention (phía trên) và “hard” attention (phía đưới) 40Hình 3.5: Tổng quan kiến trúc M? Transformer cho bài toán Image Captioning 41
Hình 3.6: Tổng quan kiến trúc RSTNet cho bài toán Image Captioning 44
Hình 3.7: Mat thông tin không gian khi flatten đặc trưng bức ảnh 44Hình 3.8: Ví dụ minh họa về visual word (màu đỏ) và non — visual word (màu xanh)
Xin EEEEDTE z2⁄27 HH NT 45
Hình 3.9: Adaptive Attention module - s-©<++++x£+xeEkteererteerketrxettekkrrreerrkee 46
Hình 4.1: Tổng quan phương pháp dé xuắt -s2.+ccseeesrrccetrrcezrree 47Hình 4.2: Chỉ tiết TG2F Module - ri 48
Hình 4.3: Chi tiết Adaptive Attention module -c-s+eceerrcceerrcczrrre 50Hình 5.1: Ví dụ về một bức anh trong bộ dữ liệu VieCap4H - 52
Hình 5.2: Chỉ số Brevity Penalty (BP) -::ceceverrrrreeeetrrrrtrrseerrrrrrrrrerrrrrie 55Hình 5.3: Trực quan hóa kết quả trên tập public — test và private — test của phương
pháp (M2, RSTNet) w/PhoBERT + TG2F với bộ trích xuất đặc trưng ảnh X —
Trang 10DANH MỤC BANG
Bảng 3.1: Kết qua mô hình NIC trên bộ dữ liệu MS COCO -5- 52 38Bảng 3.2: Kết quả mô hình “Show, Attend and Tell ” trên bộ dữ liệu MS COCO 40Bang 3.3: Kết quả mô hình M? Transformer trên bộ dữ liệu MS COCO Trong đó,B-N, M, R, C, S là viết tắt của các độ đo BLEU-N, METEOR, ROUGE - L, CIDEr
i9 43
Bảng 3.4: Kết quả mô hình RSTNet trên bộ dữ liệu MS COCO Trong đó, B@N,
M,R,C, S là viết tắt của các độ đo BLEU@N, METEOR, ROUGE - L, CIDEr va
Trang 11DANH MỤC TU VIET TAT
STT Tên viết tắt Tên đầy đủ
1 ANN Artificial Neural Network
2 BLEU BiLingual Evaluation Understudy
3 BRNN Bidirectional Recurrent Neural Netwok
4 CNN Convolutional Neural Network
5 LSTM Long — Short Term Memory
6 M2? Transformer Meshed — Memory Transformer
7 NIC Neural Image Caption
8 RNN Recurrent Neural Network
9 RSTNet Relationship — Sensitive Transformer
10 VLSP Vietnamese Language and Speech Processing
Trang 12TOM TAT KHÓA LUẬN
Image Captioning — bài toán kết hợp giữa hai chuyên ngành Thị giác Máy tính
(Computer Vision) và Xử lý Ngôn ngữ Tự nhiên (Natural Language Processing) —
nhằm phát triển một mô hình có thé quan sat, hiểu được đặc trưng của thị giác vàgiao tiếp với chúng ta bằng ngôn ngữ tự nhiên Tuy nhiên, phần lớn các công trình
nghiên cứu bài toán này đều là tiếng Anh Sẽ là một thiếu sót cực kỳ lớn khi chúng
ta chỉ giới hạn khả năng của mô hình giao tiếp bằng một ngôn ngữ duy nhất
Trong khóa luận tốt nghiệp lần này, tôi sẽ nghiên cứu bài toán Image
Captioning này sinh ra câu chú thích (caption) bằng tiếng Việt — ngôn ngữ có hơn
100 triệu người sử dụng Trước hết, về vấn đề bộ dữ liệu, chúng ta đã có bộ dữ liệu
VieCap4H từ Ban Té chức cuộc thi VLSP 2021 cung cấp Tiếp theo, tôi sẽ nghiên
cứu tính khả thi và đánh giá mô hình khi áp dụng phương pháp mới được đề xuất dégiải quyết bài toán Image Captioning trên bộ dữ liệu tiếng Việt theo hướng tiếp cận
CNN + Transformer.
Khóa luận tốt nghiệp này tập trung vào việc cải thiện độ chính xác trên bàitoán này dựa trên phương pháp co sở RSTNet Cụ thé, tác giả khóa luận đề xuất
một module cải tiến từ bộ Grid Feature Extractor của mô hình RSTNet có tên là
TG2F giúp tăng cường kha năng biểu diễn anh và làm giàu thông tin đặc trưng bức
ảnh đầu vào Cùng với đó là đề xuất thay đôi mô hình Transformer gốc bằng môhình M? Transformer giúp mô hình khai thác tốt đặc trưng ảnh từ low — level đếnhigh — level Kết quả thu được rất cạnh tranh so với các đội thi trong cuộc thi VLSP
2021.
Trang 13Chương 1 MỞ DAU
1.1 Động lực nghiên cứu
“People can summarize a complex scene in a few words without thinking twice,
It’s much more difficult for computer ” |
Với những tiến bộ trong lĩnh vực Machine Learning, đặc biệt là sự phát triểnbùng nỗ của các Thuật toán Deep Learning đã mở ra nhiều hướng nghiên cứu mới
cho cả hai lĩnh vực Computer Vision (Thị giác Máy tính), Xử lý Ngôn ngữ Tự
nhiên (Natural Language Processing) và thậm chí là kết hợp cả hai chuyên ngànhnày, Image Captioning là một trong số những bài toán đó Image Captioning — mộtbài toán đầy thách thức và hap dẫn trong lĩnh vực Trí tuệ Nhân tao [1] — giúp máy
tính có thê quan sat và “giao tiêp” với chúng ta thông qua câu mô tả.
Con người chỉ cần nhìn vào và diễn giải nội dung bức ảnh một cách nhanh
chóng nhưng đối với máy tính, bức ảnh chỉ đơn giản là ma trận các pixels Mô hình
hệ thống Image Captioning sẽ kết hợp các thông tin đặc trưng của ảnh và thông tinđặc trưng ngôn ngữ để sinh ra được câu chú thích mô tả đầy đủ các khía cạnh trên
bức anh băng ngôn ngữ tự nhiên cua con người.
Phần lớn các công trình nghiên cứu bài toán Image Captioning chủ yếu làquan tâm đến việc sinh ra câu chú thích bằng ngôn ngữ tiếng Anh Điều này vô tìnhlàm giới hạn khả năng sinh ra câu chú thích bằng những ngôn ngữ khác của hệ
thống Image Captioning Trong khóa luận tốt nghiệp lần này, tôi sẽ nỗ lực nghiêncứu dé có thé ứng dụng phương pháp mới nhất vào giải quyết bài toàn này bằng
ngôn ngữ tiếng Việt
Tiếng Việt thì khác rất nhiều và có ưu điểm so với tiếng Anh Một ưu điểmcủa tiếng Việt là van đề chuyển đổi từ Các từ trong tiếng Anh bị chuyên đổi là dongữ cảnh, cu thé ở đây là thì (tense) và đại từ nhân xưng Vi dụ: động từ “do”, tùytheo ngữ cảnh thì sẽ có những biến thể: do/does, did, done, doing, hay danh từ
1 https://ai.googleblog.com/2014/1 1/a-picture-is-worth-thousand-coherent.html
Trang 14“apples” tùy theo ngữ cảnh thì sẽ có dạng số ít/số nhiều như apple/apples Đối vớitiếng Việt thì khác, thay vì phải chuyên đổi từ, chúng ta chỉ cần thêm các trợ từ “đã”(thì quá khứ), “đang” (thì tiếp diễn), “sẽ” (thì tương lai), trước động từ chính của
câu dé bồ trợ thì (tense) cho câu hay biểu diễn danh từ số nhiều bang từ “những”
Để xử lý tốt phần ngôn ngữ tiếng Việt trong bài toán Image Captioning, ngoàinhững đòi hỏi về bộ dit liệu lớn, chúng ta phải nắm rõ tường tận về cách vận dụng
ngôn ngữ đó dé có thê sinh ra câu chú thích có tính mạch lạc, trọn vẹn vê nghĩa.
1.2 Bài toán Image Captioning
1.2.1 Phát biểu bài toán
Image Captioning — hay còn gọi là bài toán sinh câu chú thích (caption) mô tả
nội dung bức ảnh đầu vào Trong phạm vi đề tài khóa luận tốt nghiệp, đầu vào làbức ảnh thuộc lĩnh vực Y tế - Chăm sóc Sức khỏe, đầu ra sẽ là câu chú thích mô tảbức ảnh bằng tiếng Việt
Input của bài toán: một bức ảnh thuộc lĩnh vực Y tế - Chăm sóc Sức khỏe
Output của bài toán: câu mô tả (caption) nội dung bức ảnh bằng tiếng Việt
3 TT TT Các bác sĩ đang chăm sóc
M cho bệnh nhân
Đầu vào Đầu ra
Hình 1.1: Mô hình bài toán Image Captioning cho tiếng Việt
1.2.2 Ung dụng của bài toán Image Captioning
1.2.2.1 Hỗ trợ thị giác cho người khiếm thị
Người khiếm thị đeo một thiết bị trợ thính và chụp hình ảnh và nhúng hệthống Image Captioning vào Hệ thống này sẽ đưa hình ảnh phía trước vào hệ thống
và sinh ra câu chú thích và phát thành giọng nói thông qua tai nghe.
Trang 15Hình 1.2: Thiết bị Horus đến từ công ty khởi nghiệp Thụy Sĩ Eyra có nhiệm vụ mô
tả hình ảnh phía trước và chuyên sang giọng nói thông qua tai nghe cho người
khiếm thị”.
1.2.2.2 Tự động chú thích hình ảnh trong Mạng Xã hội
Tháng 04 năm 2016, Facebook đã công bố hệ thống tự động mô tả ảnh của
người dùng đăng tải lên Mạng xã hội này Cũng giống như thiết bị Horus, hệ thông
của Facebook cũng mô tả bức ảnh và chuyền ngôn ngữ sang giọng nói để giúp đỡ cho người khiếm thính có thể hiéu được bức ảnh như thé nào.
? safely/
Trang 16https://www.zdnet.com/article/its-no-robot-guide-dog-but-this-wearable-aims-to-help-blind-people-move-Hình 1.3: Ứng dụng Image Captioning trên Facebook.
Ngoài những ứng dụng như trên, Image Captioning còn giúp ích rất nhiều
trong việc hỗ trợ hệ thông truy van ảnh bằng nội dung, sinh phụ dé cho video và
phim ảnh.
1.2.3 Thách thức bài toán
Sau đây tôi xin trình bày một số thách thức đối với bài toán Image Captioning
nói chung và bài toán Image Captioning bằng tiếng Việt nói riêng:
© Chất lượng ảnh là thách thức chung đối với các bài toán Thị giác Máy
tính: mờ, biến dang, ánh sáng, che khuất, góc nhìn,
e Viéc xây dựng bộ dữ liệu sẽ tốn rất nhiều thời gian và nhân lực Sẽ cần
rất lớn số lượng hình ảnh và đặc biệt khó khăn ở với gán chú thích vì
mỗi người tham gia gán chú thích sẽ có mỗi cách cảm nhận, lối viết chú
thích khác nhau về cùng một bức ảnh Do đó, cần phải đặt ra những
3 https://www.wired.co.uk/article/facebook-ai-image-recognition-caption-accessibility-blind-users
Trang 17ràng buộc và quy định ban đầu trước khi thực hiện gán chú thích dé có
thể thống nhất, chuẩn hóa các câu chú thích thu được.
¢ Thiếu bộ dữ liệu bài toán dành cho tiếng Việt: Trong tầm hiểu biết của
tác giả khóa luận tốt nghiệp này thì hiện nay có bộ dữ liệu UIT — ViIC
[17] và VieCap4H [20] là hai bộ dữ liệu dành cho tiếng Việt mới được
công bố Chính vì vậy, trước khi hai bộ dữ liệu ra đời, bài toán Image Captioning sinh câu chú thích tiếng Việt phải sử dụng bộ dữ liệu tiếng Anh, tức là trước đó phải dịch các câu chú thích tiếng Anh sang tiếng Việt dé huấn luyện bằng hệ thống dich tự động Điều này ít nhiều có thể sinh ra câu chú thích tiếng Việt không chuẩn về ngữ pháp, câu từ không
trôi chảy.
e Sự khác biệt và đa dạng về mặt ngôn ngữ: tiếng Việt rất khác với tiếng
Anh về các thành phần từ, ngữ pháp và đại từ xưng hô Do đó, việc xử
lý tiếng Việt trong bài toán Image Captioning không những đòi hỏi về
một bộ dữ liệu lớn mà còn phải nam rõ chính xác cách sử dụng từ ngữ của ngôn ngữ đó để có thê tạo ra caption có tính mạch lạc, trôi chảy.
1.3 Mục tiêu và phạm vi nghiên cứu
Trong nội dung đề tài, tác giả khóa luận tốt nghiệp nghiên cứu các nội dung
chính:
e Khao sát và nghiên cứu các phương pháp giải quyết bài toán Image
Captioning bao gồm cách biểu diễn ảnh và các mô hình dịch chuỗi
thường được sử dụng, đặc biệt chú trọng theo các hướng tiếp cận bằng Deep Learning mới nhất hiện nay.
¢ _ Hệ thống kiến thức và giới thiệu một số mạng CNN và RNN nổi tiếng.
Những mô hình mạng này là nền tảng xây dựng các mô hình hệ thống
Image Captioning theo xu hướng mới nhất hiện nay.
Trang 18e Tìm hiểu chỉ tiết các mô hình dịch chuỗi liên quan đến bài toán mô ta
anh: Long Short — Term Memory (LSTM) va Transformer.
e Đề xuất một cách tiếp cận mới trong kiến trúc dự đoán câu mô tả đầu
Ta.
1.4 Đóng góp của nghiên cứu
Nội dung báo cáo khóa luận tốt nghiệp trình bày các công trình tiêu biểu trước
đây của bài toán cũng như các hướng tiếp cận bài toán, đồng thời đề xuất hai sựthay đổi dựa trên phương pháp cơ sở: xây dựng TG2F module dùng dé làm giàu
thông tin đặc trưng bức ảnh va thay đổi kiến trúc Transformer thành kiến trúc M?Transformer giúp mô hình khai thác tốt đặc trưng ảnh từ low — level đến high —level Những đề xuất thay đổi này mang lại kết quả rất cạnh tranh
1.5 Bố cục của báo cáo khóa luận tốt nghiệp
Những phần còn lại của khóa luận tốt nghiệp được trình bày theo bố cục như
sau:
Chuong 2: CO SO LY THUYET
Trinh bày và giới thiệu lý thuyết co ban về một số mang CNN va RNN nỗitiếng
Chương 3: HƯỚNG TIẾP CẬN BÀI TOÁN IMAGE CAPTIONING
Giới thiệu một số phương pháp giải quyết bài toán Image Captioning theo
hướng tiếp cận LSTM và Transformer
Chương 4: PHƯƠNG PHAP DE XUẤT
Trinh bày những cải tiến trong phương pháp đề xuất dựa trên phương pháp cơ
sở RSTNet.
Trang 19Chương 5: QUY TRÌNH THỰC NGHIỆM
Trình bày về bộ đữ liệu VieCap4H, độ đo đánh giá được sử dụng cho bài toánSinh câu mô tả cho ảnh, phân tích các kết quả thực nghiệm khác nhau trong quátrình nghiên cứu và trực quan hóa kết quả
Chương 6: KET LUẬN VÀ HUONG PHÁT TRIEN
Kết luận và đề xuất các hướng phát triển tiếp theo trong tương lai
Trang 20Chương2 CƠ SỞ LÝ THUYET
Ở chương này, tôi xin giới thiệu sơ lược về các mô hình ANN nỗi tiếng hiệnnay Ứng dụng các kỹ thuật Deep Learning vào các bài toán Computer Vision cũng
như Natural Language Processing.
2.1 Artificial Neural Network (ANN)
Artificial Neural Network (ANN) là mạng xử ly thông tin được mô phỏng dựa
trên cơ chế hoạt động của hệ thống neural Sinh học (Biological Neural Network)trong não bộ con người Thanh phan cấu tạo nên ANN bao gồm số lượng lớn các tếbào neural đơn lẻ — còn gọi được gọi là các tế bào tính toán — được xem như đơn vị
xử lý thông tin cơ bản của một mang neural Các tế bào neural sắp xếp liên kề vớinhau tạo thành một lớp (layer), nhiều lớp như vậy kết nối với nhau sẽ tạo thành một
hệ thống mạng có cấu trúc phân tầng của Neural Network Các tầng liên kết với
nhau bang các ma tran trọng sỐ (weights) Quá trình học cua ANN được xem như làquá trình điều chỉnh các bộ trọng số (weights) liên kết giữa các lớp Tóm lại, mạngANN giống như não bộ con người, được học thông qua quá trình huấn luyện, có khả
năng lưu giữ những tri thức và sử dụng những tri thức đó trong việc dự đoán các dữ
liệu mới.
Có hai loại mạng ANN chính: FeedForward Network (Mạng truyền thắng) và
Recurrent Network (Mạng hồi quy)
Trang 21A ossatessiaicras Artificial Neural Network
Biological Neural Network
Hình 2.1: Sự tương quan giữa mang neural Sinh hoc và mang neural Nhân tạo.
2.2 Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN) 1a kiến trúc FeedForward Neural
Network thống trị hầu hết trong các bài toán Computer Vision Một mang CNNthường bao gồm nhiều lớp tích chập (convolution) giữa ma trận nhăm khai thác cácđặc trưng của ảnh Kiến trúc này được sử dụng trong các bài toán Computer Vision,đặc biệt là trong việc nhận dạng và phân loại các đối tượng từ ảnh hoặc video
2.2.1 Một số lớp thường xuất hiện trong mang CNN
2.2.1.1 Lớp Input va Output
Hai thành phần không thể thiếu trong mạng CNN chính là hai lớp: Input và
Output Trong đó, lớp Input sẽ nhận dữ liệu đầu vào và lớp Output sẽ trả về các giá
trị sau khi thực thi toàn bộ mạng neural.
10
Trang 22Input layer Hidden layers Output layer
Hình 2.2: Cấu trúc của một mạng FeedForward Neural Network đơn giản
2.2.1.2 Lớp Convolutional
Đây là lớp cét lõi và cũng là lớp được sử dụng nhiều nhất trong mô hình mang
CNN Khái niệm “convolution” nghe có vẻ là một thuật ngữ phức tạp, hoa mỹ
nhưng thực tế không phải vậy Tích chập (convolution) thực chất là một phép nhân
ma trận cơ bản giúp chúng ta có thể rút trích các đặc trưng bức ảnh trên từng khía
cạnh tùy vào kernel sử dụng Kết quả của phép tích chập giữa ma trận hình ảnh và
kernel được gọi là Features Map.
Có thể hiểu kernel — cũng có thé gọi là filter — là một ma trận vuông lưu trữcác trọng số (weights) và những trọng số này luôn được cập nhật dé đảm bảo rằngvới một bức ảnh bất kì thì sẽ khai thác được đặc trưng tốt nhất Nếu xét về kích
thước không gian thì các kernel này nhỏ nhưng chúng giúp cho chiều sâu của đặctrưng ảnh được tăng lên Khi thực hiện phép tích chập, chúng ta sẽ di chuyền kernelxung quanh ảnh (di chuyển theo kiểu zigzag) để làm nổi bật các vùng trong ảnh
tương đồng với kernel này
11
Trang 23các trọng số không cần thiết và chỉ giữ lại các trọng số có giá trị lớn, ngoài ra còn
giảm được chi phí tính toán trong mạng neural Sau khi Features Map trước đó đi
qua lớp Pooling, số lượng trọng số được giảm cực kì nhiều (chỉ giảm chiều dài vàchiều rộng nhưng chiều sâu không thay đôi)
Hai loại lớp Pooling phổ biến thường dùng là Max Pooling (lấy giá trị lớnnhất), Average Pooling (lay giá trị trung bình)
Có thé thấy với hình bên dưới, áp dụng Max Pooling có thé bỏ đi đến 75%trọng SỐ SẼ giúp mô hình nhẹ đi và tăng tốc độ thực thi
4 Nguồn ảnh: https://pbcquoc.github.io/cnn/
12
Trang 245
Hình 2.4: Ví dụ về Max Pooling va Average Pooling với window size = 2 cùng
bước nhảy stride = 2°.
O vi du trén, dé thuc hién pooling, chting ta dich chuyén cửa số window size
va thực hiện thay thé giá tri cho vùng mà cửa số đi qua bằng một giá trị đại diện duynhất: đối với Max Pooling sẽ lay đại diện vùng bằng trọng số có giá trị cao nhất, đối
với Average Pooling sẽ lấy đại diện vùng bang trung bình cộng các trọng số Sau
khi pooling thì chúng ta đã loại bỏ được 75% các trọng số để tránh hiện tượngOverfitting và tăng tốc độ huấn luyện
2.2.1.4 Lớp Fully — Connected
Sau khi truyền bức ảnh qua nhiều lớp Convolutional và Pooling thì mô hình đã
học được rất nhiều đặc trưng bức ảnh Lay vi dụ về bài toán Classification, lớp
Fully — Connected đóng vai trò như một bộ phân loại nhằm phân loại class: cónhiệm vụ kết hợp với các đặc trưng lại với nhau và cuối cùng áp dụng hàm kích
hoạt softmax đê cho ra xác suât phân loại dau ra.
5 Nguồn ảnh:
https://towardsdatascience.com/beginners-guide-to-understanding-convolutional-neural-networks-ae9ed58bb17d
13
Trang 25VAR YY
Hình 2.5: Lớp Fully — Connected®.
Lớp Fully — Connected nhận đầu vào là các ma trận đặc trưng từ các lớp trước
đó và đầu ra của lớp trước Fully — Connected sẽ được làm phăng (hay còn gọi làflatten) thành vector một chiều trước khi đưa vào lớp Fully — Connected Các mang
thường sử dụng nhiều lớp Fully — Connected trước lớp Output nhăm tăng độ chính
xác cho kêt quả đâu ra.
Nhược điểm của việc sử dụng lớp Fully — Connected đó là vì có qua nhiềutrọng số (weights) nên chi phí tính toán rất lớn, tốc độ thực thi chậm Dù vậy, lớp
Fully — Connected van là lớp chủ đạo trong các mô hình CNN vi tính tiện lợi, cho
phép chúng ta huấn luyện từ đầu đến cuối (end — to — end) mà không cần phải
chuyên đổi sang hay huấn luyện thêm mô hình khác
2.2.2 Một số mạng CNN nỗi tiếng
Mạng CNN ra đời đã thúc đây sự phát triển của Computer Vision Hiện nay córất nhiều kiến trúc mạng CNN và các kiến trúc mới vẫn đang tiếp tục được khámphá và phát triển ngày qua ngày Trong phần này, tôi xin trình bày một số mạng
CNN nỗi tiếng thường được nhắc đến Các mạng CNN này đều từng giành được
giải thưởng lớn trong cuộc thi ImageNet (ImageNet Large Scale Visual Recognition
Challege — ILSVRC) qua từng năm.
6 Nguồn ảnh: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks
14
Trang 262.2.2.1 LeNet —5 (1998)
LeNet — 5 [2] được xem là mang CNN “lá cờ đầu”, ra đời vào năm 1998 bởi
GS.Yann LeCun - cha đẻ của kiến trúc CNN Mô hình này không chạy trên
ImageNet do thời điểm đó chưa có sự phát triển của dữ liệu và khả năng tính toán
nên mạng CNN vẫn chưa có cơ hội bùng nỗ Mô hình này chỉ giải quyết bài toánriêng biệt đó là nhận diện chữ số, kí tự, chữ viết tay (Handwritten Recognition)
LeNet — 5 là nguồn cảm hứng cho sự phát triển các mang CNN mà chúng ta sử
dụng ngày nay.
C3: í maps 16@10x10
INPUT số sesh maps S4: f' maps 16@5x5
32x32 S2: Í maps C5: layer Ƒ6:iayer OUTPUT
420 84 10
|
Full conrlection | Gaussian connections
Convolutions Subsampling Convolutions Subsampling Full connection
Hình 2.7: Kiến trúc mạng LeNet - 5 [2]
15
Trang 27- _ Một số điểm nỗi bật của mạng LeNet — 5:
e Là kiến trúc CNN đơn giản nhất với 2 lớp Convolutional và 3 lớp
Fully — Connected (“5” trong LeNet — 5 là tổng số lớp Convolutional
va Fully — Connected).
e Lớp Subsampling ở mô hình này là tên gọi của lớp Average Pooling
của các kiến trúc CNN hiện đại ngày nay
e - Mô hình có khoảng 60.000 tham số
2.2.2.2 AlexNet (2012)
Được công bố bởi nhóm SuperVision gồm: Alex Krizhevsky, Ilya Sutskever
và Geoffrey Hilton vào năm 2012, AlexNet [3] giành chiến thắng vượt trội vào cuộc
thi ImageNet năm đó.
pooling pooling
Hình 2.8: Kiến trúc mạng AlexNet [3]
- _ Một số điểm nổi bật của mạng AlexNet:
e Là kiến trúc CNN với 8 lớp gồm 5 lớp Convolutional cùng với 3 lớp
Fully — Connected.
e AlexNet được huấn luyện đồng thời trên 2 GPUs nên đó là lý do tại
sao mạng được chia thành 2 pipelines.
e Kích thước các kernels được sử dụng là 11x11 ở lớp Convolutional
đầu tiên và giảm dần thành 5x5, 3x3 ở các lớp sau đó
16
Trang 28e AlexNet sử dụng hàm ReLU (Rectified Linear Unit) làm hàm kích
hoạt ở sau mỗi lớp Convolutional va Fully — Connected dé cải thiệntốc độ huấn luyện
e Để tránh Overfitting và giảm tải mô hình, tác giả mô hình áp dụng
thêm một số kỹ thuật Max — Pooling và Dropout với xác suất 50%
e Mô hình có khoảng 60 triệu tham số
e Đạt kết quả top-5 error rate = 15.3% trên ImageNet test set 2012
2.2.2.3 GoogLeNet (Inception — V1) (2014)
GoogLeNet [4] là mô hình do nhóm tác giả đến từ Google phát triển.GoogLeNet là mạng CNN cho chúng ta thấy không nhất thiết phải là các lớp xếpchồng lên nhau Sự xuất hiện Inception module là điểm nhấn góp phần giúp mô
hình này vô địch trong cuộc thi ImageNet 2014.
Mang Inception cũng thường được cải tiên với các phiên bản mới hơn như:
Inception-v2 và Inception-v3 (năm 2015), Inception-v4 (năm 2016).
Convolution
Pooling
Softmax Other
Hình 2.9: Kiến trúc mang Inception — V1’
7 Nguồn anh:
https://medium.com/analytics-vidhya/cnns-architectures-lenet-alexnet-vgg-googlenet-resnet-and-more-666091488df5
17
Trang 29- Một số điểm nổi bật của mang Inception — V1:
Là kiến trúc CNN với 22 lớp, nhiều gần gap đôi so với VGG - 16
Mô hình sử dụng 9 Inception module để thay thế cho các lớpConvolutional Khối Inception module sẽ bao gồm 4 nhánh song song,
có thể tính toán tích chập song song với các kernels đa kích thước(1x1, 3x3, 5x5) cùng lúc, trong khi các lớp Convolutional truyềnthống phải thực hiện tuần tự Việc kết hợp nhiều kernels đa kích thước
giúp rút trích được đa đặc trưng ảnh trên những vùng có kích thước
khác nhau.
Khối Inception module được lặp lại 7 lần trong kiến trúc GoogLeNet
Nhờ áp dụng tích chập 1x1 giúp tham số trong mô hình chỉ còn 5
triệu, it hon gần 27 lần so với VGG - 16
Đạt kết quả top-5 error rate = 6.67% trên ImageNet test set 2014
18
Trang 302.2.2.4 WGG Net (2014)
Về nhì trong cuộc thi ImageNet năm 2014 là VGG Net [5] (đặt tên theo độithi) được công bố bởi nhóm của Karen Simonyan va Andrew Zisserman đến từ Daihọc Oxford Chúng ta nhận thấy rằng các mô hình CNN ngày càng sâu hơn, VGG
có thé xem là một phiên bản cải tiến của AlexNet về độ sâu Kết quả VGG cải thiện
hơn so với AlexNet chứng tỏ độ sâu của mạng CNN ảnh hưởng lớn đến độ chính
- _ Một số điểm nồi bat của mạng VGG:
e Là kiến trúc CNN có nhiều biến thé tùy theo độ sâu cũng như là số
lượng các lớp như: VGG — 11, VGG - 13, VGG - 16 và biến thé sâu
nhất là VGG - 19.
e Được huấn luyện trên 4 GPUs khoảng 2 - 3 tuần
e Kích thước các kernels được sử dụng là có định 3x3, việc sử dụng
kernel có kích thước nhỏ giúp giảm chi phí về mặt tính toán nhưngvẫn mang kết quả cao
e_ Đạt kết quả top-5 error rate = 7.3% (VGG — 16) trên ImageNet test
set 2014.
2.2.2.5 ResNet (2015)
ResNet [6] (Residual Network) là mang được dé xuất bởi nhóm tác giả đứngđầu là Kaiming He đến từ Miscrosoft Research, đây là mô hình vô dich ở cuộc thiILSVRC năm 2015 Đây là mạng CNN cực kỳ sâu với tối đa 152 lớp Ngoài ra, mô
8 Nguồn ảnh:
https://medium.com/analytics-vidhya/cnns-architectures-lenet-alexnet-vgg-googlenet-resnet-and-more-666091488df5
19
Trang 31hình này còn thông tri trong các bài toán detection, localization, segmentation cua
cả hai cuộc thi ILSVRC và COCO Challenge.
Qua quá trình thực nghiệm, nhóm tác giả nhận thấy rằng với độ sâu ngày càngtăng thì độ chính xác sẽ trở nên bão hòa và giảm dần xuống (degradation problem)
Chính vì vậy, ResNet được giới thiệu với tư cách là mang CNN cực kỳ sâu nhưng
vân đảm bảo được độ chính xác cao.
Image ‘Ta? conv, 64, /2 pool, /2 3x3 conv, 128 fe 1000.
Trang 32connection) đảm bảo rằng hiệu suất của mô hình sẽ không giảm, trái lại, F(x) saukhi di qua hàm ReLU sẽ làm mat đi một phan thông tin Features Map cộng với x(F(x) + x) sẽ giúp làm giàu thông tin đặc trưng hơn, giúp hiệu suất mô hình có thể
tăng lên.
- _ Một số điểm nỗi bật của mạng ResNet:
e Là kiến trúc CNN có nhiều biến thé với da dang số lớp: ResNet — 50,
ResNet — 101 và kiến trúc sâu nhất là ResNet — 152 với 152 lớp
e Là một trong những mô hình tiên phong sử dung Skip connections và
càng tăng va chi phí tính toán ngày càng lớn Do đó, Saining Xie cùng các cộng sự
đến từ Facebook AI Research và UC San Diego dé xuất ResNeXt [7] — kiến trúc
mới đạt giải Á quân trong cuộc thi ILSVRC năm 2016 trong bài toán Classification
— giúp cải thiện độ chính xác đồng thời làm giảm độ phức tạp của mô hình và sốlượng tham số tham gia
ResNeXt là sự kế thừa của ba kiến trúc trước đó ResNet, VGG va Inception:
bao gồm shortcuts từ block trước đến block tiếp theo, các lớp được xếp chồng lên
nhau và thực hiện phương pháp “split — transform — merge” Trong bài báo
“Aggregated Residual Transformations for Deep Neural Networks” [7] nhóm tác
giả có nhắc đến một khái niệm hoàn toàn mới: “cardinality” — có nghĩa là “the size
of the set of transformations” Nhóm tác gia khang định rang qua kết quả thựcnghiệm, việc tăng số lượng cardinality sẽ mang lại kết quả tốt hơn thay vì tăng độ
sâu và độ rộng Kiên trúc này bao gôm 32 block có cùng câu trúc liên kêt với nhau
21
Trang 33nên giá trị cardinality sẽ là 32 Chính vì sử dụng cùng một câu trúc liên kêt nên
giảm được sô lượng tham sô và thỏa mãn điêu kiện nhiêu lớp được thêm vào kiên
Hinh 2.14: Kién trtic mang ResNet (trai) va kiến trúc mạng ResNeXt (phải) [7]
- _ Một số điểm nỗi bật của mạng ResNeXt:
e Là kiến trúc CNN kế thừa những ưu điểm từ ba mô hình trước đó
ResNet, VGG và Inception.
e Là mô hình chứng minh được rằng độ sâu của block và chiều sâu
không phải là hai yếu tổ duy nhất quyết định đến việc làm tăng độ
chính xác.
e Đạt kết quả top-5 error rate = 3.7% trên single model và top-5 error
rate = 3.03% trén ensemble model ImageNet test set 2016.
2.3 Các mô hình dịch chuỗi
Với một mạng FeedForward Network như CNN thì việc lưu trữ những thông
tin đã xử lý trước đó là không thể Ví dụ chúng ta muốn dự đoán từ tại thời điểmtiếp theo thì sẽ không thực hiện được vì không có thông tin của những từ trước đó
Có nhiều dạng bài toán với input và output đều là dạng dữ liệu tuần tự (sequence
data / time — series data) như Machine Translation, Text Generation (many — to —
many) Tuy nhiên các mạng FeedForward Network thông thường chỉ hỗ trợ các bài
22
Trang 34toán theo dạng one — to — one Chính vì vậy Recurrent Neural Network (RNN) ra
đời nhằm khắc phục vấn đề trên
2.3.1 Recurrent Neural Network (RNN)
Cu thé đối với bai toán Image Captioning nay, RNN có thé hiểu là một mangvới các vòng lặp chính nó, dùng các thông tin ở các vòng lặp trước dé dự đoán xácsuất một chuỗi các từ xuất hiện trong câu chú thích đầu ra Do đó, RNN đóng vai
trò cực kỳ quan trọng trong các tác vụ thuộc về lĩnh vực Xử lý Ngôn ngữ Tự nhiên
Các mô hình RNN nỗi tiếng có thé đề cập đến như: Long Short — Term
Memory (LSTM), Bidirectional Recurrent Neural Network (BRNN), Transformer.
Hình 2.15: Cau trúc của một mang Recurrent Neural Network đơn giản
Khối màu xanh dương ở trên được gọi là Hidden states hay còn gọi là cell, có
nhiệm vụ lưu trữ thông tin đã được học qua từng bước.
Một RNN đơn giản được biéu diễn theo công thức:
hy = fWeightsChị—1, Xt) (1)
h, = tanh(Wnh,_+ + W,x;) (2)
v= Wyh, (3)
Trong đó: t la bước hiện tại; h la hidden state lưu trữ các thông tin học được
và được khởi tạo ban đâu với ho bằng 0; x; la one — hot vector dau vào của từng từ;
b là bias; còn Wx va Wh là các trọng số sẽ dan được toi wu qua các bước tiép theo.
23
Trang 352.3.2 Long Short - Term Memory (LSTM)
Một trong những khuyết điểm của mang RNN là Long — Term Dependency,nghĩa là RNN không thé dự đoán ra vi khoảng cách quá xa giữa từ cần dự đoán vàthông tin học được Như vậy khi thực hiện Back Propagation dé tối ưu trọng số chomạng RNN sé gặp hiện tượng suy giảm gradient (vanishing gradient) hay bùng nỗ
gradient (exploding gradient).
Là phiên ban cải tiễn của mang RNN được dé xuất bởi Sepp Hochreiter
và Jiirgen Schmidhuber vào năm 1997, LSTM [8] được thiết kế cho các bài toán xử
lý dữ liệu dạng chuỗi hay tuần tự, gồm nhiều khối nhớ (memory blocks hay LSTMcell) Các khối nhớ này sẽ kết nối với nhau dé lưu thông tin hidden state và truyềncho các khối nhớ tiếp theo Mỗi khối nhớ chứa ba công đặc biệt: input gate, outputgate, forget gate và một đường cell state Các công này có nhiệm vụ kiểm soát các
dòng thông tin LSTM là một trong những mạng RNN được ứng dụng trong các bài
toán như: Image Captioning, Machine Translation, Handwriting Recognition,
9 Nguồn ảnh: https://www.researchgate.net/figure/Long-Short-term-Memory-Neural
Network fig3 324600237
24
Trang 36Chúng ta có thê mô hình hóa quy trình xử lý đầu vào của một LSTM cell bằng
các biêu thức như sau:
Cho một chuỗi đầu vào X = (x;,xạ, ,xụ) và đầu ra là Y = (y,ÿ¿, - ,YN)được dự đoán băng một chuỗi công thức
Một LSTM cell được biểu diễn theo công thức:
Forget Gate: ƒ, = ø(W/ - [h,_,x¿] + by) (4)
Input Gate: i, = o(W; - [h;_+,x¿] + bị) (5)
Output Gate: 0, = o(W, - [h;_+,x;¿] + bạ) (6)
Cell state: C = ƒ, X c¿_¡ + ip X C; (7)
Hidden state: h, = 0, X tanh(C,) (8)
Trong đó: fi, i: và Or mang giá trị năm trong khoảng [0,1]; bự bị và bo là bias;
2.3.3 Bidirectional Recurrent Neural Network (BRNN)
Bidirectional Recurrent Neural Network [9] (BRNN) được giới thiệu vào năm
1997 bởi Mike Schuster và Kuldip K Paliwal Khi nhìn vào chữ “B” trong
“BRNN” thì chúng ta đã biết mô hình này cải tiến hơn so với RNN ở chỗ: BRNN sẽ
đề xuất đi theo cả hai hướng Nghĩa là thay vì chỉ đi hướng từ trái sang phải
(forward) như ở RNN thì BRNN sẽ di từ cả hai hướng: từ trái sang phải (forward)
và từ phải sang trái (backward) Đề có thê đi được hai hướng như vậy, tác giả đã tạothêm một mạng RNN độc lập nữa để lưu trữ các trạng thái (state) của hướng
backward.
25
Trang 37Hình 2.17: So sánh sự khác nhau giữa RNN (trái) và BRNN (phải)!?.
BRNN được biểu diễn theo công thức:
Lấy ví dụ về mạng BRNN, ta có một bài toán Named Entity Recognition (NER) như
sau:
“Bob loves apple, the company produces best electronics”
Nếu chúng ta di theo lỗi của mạng RNN (forward) tức là hoc từ trái sang phải
thì mang sẽ hiểu rằng “apple” chính là “trái táo” thuộc thực thé “fruit”, điều này
sai với ý nghĩa của câu Nhưng khi chúng ta thêm một mạng RNN có nhiệm vụ học
từ phải sang trái (backward), tức là cho mô hình học từ ngữ cảnh tương lai thì mô
10 Nguồn anh: https://en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks
26
Trang 38hình sẽ nhận biết được rằng từ “the company” ở phía sau sẽ bồ sung ngữ nghĩa
“apple” chính là “công ty” thuộc thực thé “company”
Hình 2.18: Ví dụ về mang BRNN ở bài toán NER Đường mũi tên màu camnăm ngang chính là hướng forward, đường mũi tên màu xanh năm ngang chính là
hướng backward.
Như vậy, tác giả đã c6 gang xây dựng một mang Neural có thê hiểu được toàn
bộ ngữ nghĩa (semantic) của đầu vào mà chúng ta có mang này học nhờ vào hai
mạng con RNN độc lập:
e Mang forward: dùng những từ phía trước dự đoán từ tiếp theo (từ
trái sang phải).
e Mang backward: dùng những từ đã hoc từ phía sau dự đoán từ phía trước (từ phải sang trái).
Tóm lại, mạng BRNN được dùng rất nhiều trong những bài toán mang tínhngữ nghĩa cao Tức là muốn cho mô hình nắm được toàn bộ ngữ cảnh đầu vào thì
cần phải hiểu theo hai hướng forward và backward
2.3.4 Transformer
Hầu hết các tác vụ về lĩnh vực Xử lý Ngôn ngữ Tự nhiên, đặc biệt là bài toán
Dịch máy (Machine Translation) đều sử dụng kiến trúc RNN Mô hình này có
nhược điểm là không tận dụng được sức mạnh của GPUs dé tính toán Song song nênphải xử lý đầu vào một cách tuần tự, dẫn đến tốc độ xử lý (performance) rất chậm
27