Trong nội dung bài khóa luận này, chúng tôi huấn luyện và đánh giá các mô hình YOLOv4 và DETR - các mô hình phát hiện vật thể đã được kiểm chứng hiệu năng trên dữ liệu thông thường - trê
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TÍNH
VŨ ĐÌNH VI NGHIEM
LE HOANG AN
KHOA LUAN TOT NGHIEP
ĐÁNH GIÁ CÁC PHƯƠNG PHÁP HOC SAU VE PHAT
HIỆN ĐÓI TƯỢNG TRÊN KHÔNG ẢNH
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TÍNH
VU ĐÌNH VI NGHIEM - 17520805
LE HOANG ÂN - 17520208
KHOA LUAN TOT NGHIEP
ĐÁNH GIÁ CÁC PHƯƠNG PHAP HỌC SAU VE PHÁT
HIỆN ĐÓI TƯỢNG TRÊN KHÔNG ẢNH
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYÊN TÁN TRÀN MINH KHANG
TP HO CHÍ MINH, 2021
Trang 3LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn đến thầy Nguyễn Tan Tran Minh Khang đã làm
giáo viên hướng dẫn chúng em trong suốt thời gian qua Bài khóa luận này sẽ không thé hoàn thành nếu như không có sự giúp đỡ tận tinh và nhiệt huyết của thay.
Chúng em xin cảm ơn thầy Võ Duy Nguyên, anh Vũ, anh Khoa, anh Duy và tập thể
phòng thí nghiệm MMLab Môi trường nghiên cứu hiện đại cùng những kinh nghiệm,
kiến thức của các anh đã giúp chúng em mở mang được tầm mắt và là nguồn động lực mau chốt cho biết bao ý tưởng trong khóa luận này.
Sau cùng, chúng em xin cảm ơn thầy chủ nhiệm Nguyễn Vinh Tiệp cùng tập thể lớp
KHTN2017 Những giờ phút hoang mang, lo lắng nhất đều được xua tan bởi tỉnh thần lạc quan, không khí đầy ấp tiếng cười của thầy và các bạn Tất cả mọi người đã giúp cho khoảng thời gian này trở nên đáng nhớ nhất trong cuộc đời sinh viên của chúng mình.
Trang 4Phát hiện đối tượng — giới thiệu, thách thức, tiêu chí
Phát hiện đối tượng trên không ảnh - ¿2++z¿+tz+
Công trình liên quan.
Các mô hình máy học liên quan
Mạng nơ-ron tích chập (Convolutional Neural Network — CNN) 7
1.3 GoogLelet Ăn.
LA, ResÌNet HH rước
W co o .2.I.- Positional encoding ¿-+- + c+csct+ksxekerrrrkrksrerrre
.2.2 Encoder và DecOd€r 5-55 5+2+t‡t‡Ekekekekekrrrkrkerer
Các độ đo đánh giá và độ lỗi . 5cc 5ccScvrrtrkrrrrrrrrrrrrrer
Mean Absolute Error — MAI - ¿c5 + Scscekseeecee Intersection over Union — IoU ¿+ + s2 ++x+++s£+£exsee Generalized Intersection over Union — GIoU -
Trang 52.2.4 Distance-loU — Dio - 5-55 5+S++c+cexersrrksrererrreree 15
2.2.5 | Complete-IoU — CioU.
Chương 3 PHƯƠNG PHAP THUC NGHIỆM -+ 19
3.1 You Only Look Once — YOLO
3.1.1 Backbone của YOLOV4 0.0.0 cceceeecceeceeeeeeseseseeeneseseseenessseseeeeeneee 20
3.1.2 Neck cua YOLOV4
3.1.2.1 Tổng hop đặc tung cccccccsssescsssssesssssseessssseessssssseesssseeseeesseeesessees 23 3.1.2.2 Mô dun cải thiện vùng tiếp nhận (receptive field)
3.1.3 Head của YOLOv4 - - cước 26
3.1.4 Hàm mục tiêu của YOIOv4 ¿55c +c xe s+ese+eseeeeeeeeseee 27
3.1.5 Các cải tiến khác -.222cccccrirerrrrrtrrrrrrrrrrrree 27
3.1.5.1 Hàm kích hoạt Mish - - ¿65+ Sx*vxsvEeerxerrrrrrreeree 27
3.1.5.2 Tăng cường dit liệu kham - mosaic augmentation 28
3.2 DEtection TRansformer — DETR -< -< -<-« OO
3.2.1 Sơ lược kiến trúc eecseeeceeeersreeoooo30)
3.2.2 Backbone của DETR - - -56S++c+cetererkrkekererrrree 31 3.2.3 TransfOrmeT - -Ă: St 32
3.2.4 Khái quát hóa positional encoding cho dữ liệu ảnh 33
3.2.5 Mạng truyền thang (Feed Forward Network — FEN) 33
3.2.6 Độ lỗi dự đoán bộ/tập (set prediction loss) cho bài toán phát hiện
đối trợng 33
3.2.6.1 Thuật toán Hungary (Hungarian algorithm) 34
3.2.6.2 Hàm chi phí cho thuật toán Hungary ¿+ =+ 35
3.2.6.3 Hàm độ lỗi 2222 2222 2222111222111 xe 36
Trang 63.2.7 Chỉ tiết quá trình truyền thang của dữ liệu - 37
Chương5 KÉTLUẬN -52cccccccccverccrreccrrrreg 60 5.1 Kết quả dat được cccccccrccrccrrkrerrrrrrrrrkrrrreerrre 60 5.2 Hướng phát triển -cccccc+ccccvvvvvrrrrrrrrrrrrrrrerrrrei 60
Trang 7DANH MỤC HÌNH VE
Hình 1.1: Ví dụ về phương pháp cắt ảnh dé phát hiện (nguồn: [29)) 5 Hình 2.1: Kiến trúc mạng AlexNet (nguồn: [15]) - -¿ 5¿z2255scc+2 9
Hình 2.3: Biểu diễn một khối bình thường và khối residual (nguồn: [34)) 10
Hình 2.4: Biểu diễn một skip connection trong mạng ResNet (nguồn: [14J) 11
Hình 2.5: Biểu diễn phần phạt của độ đo GIOU cccc5555cczcc5s+ l§
Hình 2.6: Biểu diễn phần phạt của độ đo DIoU -ccccccczcccccsse+ 17
Hình 3.1: Tổng quan kiến trúc của YOLOv4, với backbone là CSPDarknet-53,
neck gồm PAN và mô đun SPP
Hình 3.2: Ví dụ về các giá trị của một anchor (nguôn: [39])
Hình 3.3: Đồ thị của hàm kích hoạt Mish và các hàm khác (nguồn: [40]) 28
Hình 3.4: Ví dụ về mosaie augmentation trên dữ liệu COCO [33] 29 Hình 3.5: Kiến trúc mạng DETR DETR sử dụng một CNN thông thường đề học biểu diễn hai chiều của một ảnh Sau đó nó được thu lại thành biểu diễn một chiều
và được bổ sung thêm một positional encoding trước khi truyền vào encoder của
transformer Decoder của transformer sử dụng đầu ra của encoder và một số lượng
cố định các positional embedding, gọi là object queries dé đưa ra các embedding
đầu ra Cac embedding đầu ra này được đưa vào FEN dé dự đoán hộp giới hạn và
Hình 3.6: Kiến trúc transformer trong DETR Mỗi lớp trong encoder va decoder
có cơ chế attention và một FFN cùng với kết nối residual, dropout và layer normalization Encoder với cơ chế self-attention và decoder với hai cơ chế self-
attention và encoder-decoder attention Đầu vào của encoder được học bởi một CNN còn đầu vào của decoder gồm có dau ra của encoder và các object query được
học chung với transformer đại diện cho các đối tượng dự đoán Dự đoán bằng một
Trang 8Hình 3.8: Phân bố của các lớp trong tập validation của VisDrone DET 40
Hình 3.9: Phân bố của các lớp trong tap test-dev của VisDrone DET Al
Hình 3.10: Một vài ví du mô phỏng sự da dang của dữ liệu Mỗi hàng gồm hai hình ảnh về sự khác biệt về các đặc điểm có trong bộ VisDrone DET: vị trí, môi
trường (hàng 1); nhiều loại đối tượng (hàng 2); độ dày đặc (hàng 3); điều kiện ánh
Hình 4.3: Đồ thị mAP@50 của các mô hình DETR ResNet101 khi sử dụng 1000
và 500 object query Kết quả mAP@50 cao nhất của các mô hình lần lượt 0,3095 và 0.3354 „40 Hình 4.4: Dé thị mAP@50 của hai mô hình DETR với khi sử dụng hai backbone ResNet-50 và ResNet-101 vào quá trình huấn luyện Kết quả mAP@50 cao nhất của các mô hình lần lượt 0,1225 và 0,1613 cccccccrrrttttrtttrrrrrcree 50
Hình 4.5: Đồ thị mAP@50 của mô hình DETR ResNet-101 trong quá trình huấn luyện đài với 500 epoch Kết quả mAP@50 cao nhất của các mô hình lần lượt
01613; 0,2947 và 0,30095 LH HH HH HT HH HH 50
Hình 4.6: Kết quả dự đoán của YOLO: trắng (lớp ignored region va others), xanh
lá (hộp dự đoán của mô hình), đỏ (hộp xác thực) .-¿-¿ ++s+scveereeerexex 55
Hình 4.7: Kết quả dự đoán của DETR: trắng (lớp ignored region và others), xanh
lá (hộp dự đoán của mô hình), đỏ (hộp xác thực) - -¿¿+5+c+<+<cccrexecee 58
Trang 9DANH MỤC BANG
Bang 1.1: Thống kê sơ bộ so sánh các bộ dữ liệu -ccccz++ccccvvvce2 4 Bảng 4.1: Kết quả mô hình YOLOV4 trên tap test 2:©225ccccccxz 44 Bảng 4.2: Kết quả của phương pháp được chọn và các phương pháp hướng cắt
ảnh [28], [29] trên validatiOII 6 << kề 1E HH it 52
Bảng 4.3: Kết quả của phương pháp được chọn và phương pháp tốt nhất từ [9]
Trang 10DANH MỤC TU VIET TAT
UAV Unmanned Aerial Vehicle
NLP Natural Language Processing
TTA Test Time Augmentation
NNL Negative Log-Likelihood
NMS Non-Maximum Suppression
mAP Mean Average Precision
AR Average Recall
FPS Frames Per Second
FPN Feature Pyramid Network
R-CNN Region based Convolutional Neural Network
RNN Recurrent Neural Network
LSTM Long Short-Term Memory
Trang 11TÓM TÁT KHÓA LUẬN
Phát hiện đối tượng là bài toán định vị và phân loại các vật thể có trong ảnh, mang nhiều ứng dụng trong thực tế Các mô hình phát hiện đối tượng thường được xây dựng và kiểm chứng dựa trên dữ liệu ảnh thông thường Trong khi đó, các ứng dụng thực tế như giám sát giao thông cần phải xử lí dữ liệu ảnh với nhiều thách thức hơn, ví dụ như ảnh chụp từ các thiết bị bay không người lái, vật thể có kích thước nhỏ và tỉ lệ vùng nền lớn Các phương pháp phát hiện đối tượng trên không ảnh
hiện nay gặp phải vấn đề về tốc độ xử lí Trong nội dung bài khóa luận này, chúng tôi huấn luyện và đánh giá các mô hình YOLOv4 và DETR - các mô hình phát hiện
vật thể đã được kiểm chứng hiệu năng trên dữ liệu thông thường - trên dữ liệu ngữ cảnh không ảnh, cụ thé là bộ dữ liệu VisDrone Kết qua đạt được của YOLOv4 cho
độ chính xác cạnh tranh cùng tốc độ vượt trội so với các phương pháp hiện có, gia tăng khả năng ứng dụng và mở rộng các hướng phát triển về sau.
Trang 12Chuong1 | TONG QUAN
1.1 Giới thiệu đề tài
May bay không người lái (drone hay UAV) trang bi camera ngày càng được phổ biến do giá thành rẻ dần và có khả năng ứng dụng trong nhiều lĩnh vực, ví dụ như
nông nghiệp, chuyển phát nhanh và đặc biệt là giám sát Việc sử dụng drone cho khả năng giám sát linh hoạt hơn, tiếp cận được những vùng không có camera cố
định hay gặp nhiều giới hạn tầm nhìn từ dưới đất Cũng vì thế, nhu cầu tự động xử
lí hình ảnh thu nhập được từ drone dan gia tăng, trong đó bước xử lí nền tảng là phát hiện đối tượng trong ảnh.
1.1.1 Phát hiện đối tượng - giới thiệu, thách thức, tiêu chí
Phát hiện đối tượng (object detection) là một trong những bài toán tiêu biểu của
thị giác máy tính: cho đầu vào là một ảnh cùng với tập các lớp đối tượng được định
nghĩa sẵn (ví dụ như người, xe hơi, xe máy ) đầu ra của bài toán là xác định được tất cả các đối tượng có lớp thuộc tập ở trong ảnh Việc xác định các đối tượng được
cụ thê hóa bằng việc tìm hộp giới hạn (bounding box) của từng đối tượng cùng với lớp mà đối tượng thuộc về.
Phát hiện đối tượng là bài toán nền tang, làm tiền đề cho những bài toán phức tạp
ơn như theo dõi đối tượng (object tracking), phân đoạn hình anh (image
segmentation), chú thích hóa hình ảnh (image captioning) với nhiều ứng dụng thực tế, ví du như trong các hệ thống giám sát, lái xe tự động, thị giác robot, truy
6i ảnh và thực tế tăng cường (augmented reality)
Với con người, việc xác định được vật thé trong một khung cảnh là một tác vụ
đơn giản, dễ dàng thực hiện được bởi một đứa trẻ Tuy nhiên, để máy tính có thể phát hiện được như con người gặp nhiều khó khăn và thách thức Với máy tính một
bức ảnh chỉ là một tập hợp của nhiều con SỐ, các điểm ảnh trong nó đều được biểu
thị và hiểu với một vai trò như nhau Các hướng tiếp cận của các nhà nghiên cứu, từ dùng kiến thức con người tạo ra các đặc trưng thủ công (handcrafted feature) hay
Trang 13cho máy tính tự tạo ra đặc trưng dựa trên xác suất và thống kê thông tin của các bộ
dữ liệu, nhằm mục đích tăng khả năng hiểu biết của máy tính gần với khả năng hiểu ngữ nghĩa (semantic understanding) của con người, đều gặp những thách thức như
sau:
- Sự khác biệt của vật thé trong cùng một lớp: xe hơi có thé có nhiều mau son,
hình dáng, xuất hiện trong ảnh với nhiều góc chụp (nhìn trực diện, bên hông hay đằng sau ), nhiều kích cỡ so với toàn ảnh tùy theo khoảng cách Con
người có thể xuất hiện với nhiều dáng đứng, nằm, ngồi khác nhau Ngoài
ra, vật thé bị che khuất cũng gây ra nhiều khó khăn.
- Môi trường, cảnh nền đa dang: ảnh có thể được chụp với nhiều góc nhìn, tại
những môi trường ngoại cảnh khác biệt (ở trong nhà, sa mạc, đồng cỏ ), với ánh sáng đa dang (sáng, chiều, đêm) hay trong nhiều thời tiết (mưa, nắng )
- Nhiều lớp vật thê khác nhau, ké cả loại có câu trúc có định hay không (như
mây, lửa).
- Mat mát trong tao anh va thé hiện dữ liệu: chất lượng camera, ảnh bị mờ
nhòe, nhiễu anh, mat mát thông tin sau khi nén anh
Hướng đến máy tính đạt được khả năng phát hiện như con người, một thuật toán phát hiện đối tượng lí tưởng được đánh giá trên hai mục tiêu: độ chính xác và hiệu năng Phương pháp phải phân lớp và định vị chính xác các đối tượng trong ảnh, xác
định qua độ đo AP (Average Precision) Phương pháp cũng phải có hiệu năng cao,
cho tốc độ nhanh và tiêu tốn ít chỉ phí tính toán nhằm phục vụ cho các bài toán kế
thừa hay đáp ứng hoạt động dưới thời gian thực, xác định qua số ảnh xử lí được
trong một giây (FPS).
1.1.2 Phát hiện đối tượng trên không ảnh
Các bộ dữ liệu ảnh thông thường (PASCAL-VOC [12], MS-COCO [13]) thường
được sử dụng dé đánh giá các phương pháp phát hiện đối tượng Tuy nhiên, với một
Trang 14số bài toán thực tế, ngữ cảnh ảnh có sự khác biệt lớn Với ảnh chụp từ thiết bị bay
không người lái (drone hay UAV), sự khác nhau như sau:
- Độ phân giải cao: trong tập dữ liệu anh VisDrone ảnh có độ phân giải cao
nhất lên đến 2000*1500, trong khi ảnh trong tập dữ liệu COCO dao động tại
600480.
- Cảnh chụp ngoài trời, góc quay rộng: các vật thể cần phát hiện có kích thước
tỉ lệ nhỏ so với toàn cảnh, phần nền phức tạp và che khuất đối tượng được
quan tâm.
- Chat lượng ảnh giới hạn: điều kiện ánh sáng, thời tiết da dang, chuyển động
liên tục của drone và các vật thé tạo ra ảnh mờ nhoe.
Các khác biệt trên cũng chính là những thách thức của phát hiện đối tượng trên
không ảnh.
1.1.3 Công trình liên quan
Dé thúc day quá trình nghiên cứu về phát hiện đối tượng trên không ảnh, các bộ
dữ liệu ảnh từ drone được tạo ra như CARPK [20] và VisDrone [8], [9] Cho tới
thời điểm thực hiện khóa luận này VisDrone là bộ dữ liệu ảnh từ drone có quy mô lớn nhất nên chúng tôi tập trung tìm hiểu xung quanh bộ dữ liệu này.
Bộ dữ liệu Ngữ cảnh Số ảnh Số lớp
PASCAL VOC Thông thường ~11000 20
MS COCO Thông thường ~120000 §0
CARPK Drone ~1500 1
VisDrone Drone ~10000 10
Bang 1.1: Thống kê sơ bộ so sánh các bộ dữ liệu
Trong hai cuộc thi Visdrone-DET 2018 [18] và 2019 [19], các phương pháp tốt
nhất được xây dựng dựa trên các phương pháp SOTA trên phát hiện đối tượng
Trang 15thông thường tại thời điểm, như RetinaNet [25], FPN [26] và Cascade R-CNN [27] Tuy nhiên, các phương pháp được xây dựng bằng ensemble learning, kết hợp kết
quả từ nhiều mô hình Một số phương pháp được phát triển sau đó như ClusDet
[28] DMNet [29] tập trung vào cách cắt ảnh ra thành từng vùng nhỏ và tiến hành phát hiện trên từng vùng Tùy theo cách chia nhỏ, tỉ lệ phần nền trong mỗi vùng
giảm giúp mô hình phát hiện hiệu quả hơn Tuy nhiên việc cần thêm mô đun chia và
chạy mô hình phát hiện trên từng vùng ảnh hưởng nhiều đến tốc độ xử lí Cuối cùng, các mô hình không đáp ứng được tiêu chí thời gian và dẫn đến khó khăn trong việc áp dụng vào thực tế.
Uniform Cropping
RE ]
Hình 1.1: Ví dụ về phương pháp cắt anh dé phát hiện (nguồn: [29]) Trong lúc đó nghiên cứu tại phát hiện đối tượng thông thường (generic) diễn ra
sôi nồi, xuất hiện những kiến trúc mới như TSD [30], DetectoRS [31], EfficientDet
[32], YOLOv4 [33] và DETR [1] đạt được độ chính xác cao trên tập dữ liệu thông
thường COCO Trong đó, một số phương pháp còn tập trung vào tối ưu về mặt kiến
trúc, giảm số lượng tính toán như YOLOv4, EfficientDet đáp ứng được nhu cầu
thời gian thực Một hướng đi mới là hướng phát hiện thưa (sparse prediction) — giải
quyết việc không phát hiện kết quả trùng lắp, nhắm đến tạo ra mô hình một bước,
Trang 16đầu-cuối (end-to-end) thật sự khi không cần đến các bước hậu xử lí kết quả như non-maximum suppression — đang được chú ý gần đây DETR là phương pháp mới của hướng này với việc sử dụng transformer [3] cho phát hiện đối tượng, không cần
đên anchor và các bước hậu xử lí.
1.2 Mục tiêu và đóng góp
1.2.1 Mục tiêu
Với những tìm hiéu như trên, chúng tôi quyết định tìm hiểu và đánh giá khả năng khái quát hóa (generalize) của các phương pháp phát hiện đối tượng mới khi được
đánh giá trên ngữ cảnh không ảnh, cụ thể:
- Chúng tôi chọn YOLOv4 làm đại diện cho các phương pháp dùng anchor,
với độ chính xác và tốc độ cao hơn các phương pháp ding anchor khác.
- Chúng tôi chon DETR làm đại diện cho phương pháp phát hiện thưa, không
cần anchor với kiến trúc transformer mới.
1.2.2 Đóng góp
Trong khuôn khổ khóa luận này, đóng góp của chúng tôi bao gồm:
- _ Tài liệu tổng hợp, phân tích đánh giá kết quả của hai phương pháp được chọn
ở trên.
- Bộ trong số đã được huấn luyện trên bộ dữ liệu không ảnh của các phương
pháp nhằm phục vụ cho các bài toán sau.
1.3 Cấu trúc khóa luận
Chúng tôi tổ chức khóa luận như sau:
-_ Chương 2: Trình bày các cơ sở lí thuyết liên quan.
- _ Chương 3: Trình bày chỉ tiết về các phương pháp được chọn.
- _ Chương 4: Trình bày thực nghiệm và phân tích đánh giá kết quả.
- _ Chương 5: Tổng kết và kiến nghị hướng phát triển.
Trang 17Chương 2 CƠ SỞ LÝ THUYET
2.1 Các mô hình máy học liên quan
2.1.1 Mạng nơ-ron tích chập (Convolutional Neural Network — CNN)
CNN là một thành phần phổ biến và vô cùng quan trọng trong các mô hình mạng nơ-ron sâu (deep neural network) Được sử dụng rộng rãi trong những bài toán về máy học, đặc biệt là những bài toán sử dụng dữ liệu ảnh Tên của nó được bắt
nguồn từ một phép toán giữa hai hàm số gọi là phép tích chập (mặc dù trong thực tế
nó lại sử dụng một phép toán khác có tính chất tương tự gọi là phép tương quan chéo — cross correlation) Cũng như những mạng nơ-ron nhân tạo (ANN) khác, cấu
trúc của CNN được lấy cảm hứng dựa trên qua trình sinh học, cụ thể là mô hình kết nối giữa các no-ron giống như tổ chức của vỏ não thị giác (visual cortex) Cùng với
việc dữ liệu hiện tại ngày càng nhiều do sự thịnh hành và phát triển của internet cộng thêm những đột phá về công nghệ phần cứng của bộ xử lý đồ họa (Graphics
Processing Unit - GPU) hay bộ xử lý ten-xơ (TPU — Tensor Processing Unit) đặc
biệt độc quyền của Google hỗ trợ thư viện TensforFlow trong những năm gan đây nên nhiều mô hình học sâu được phát triển mới với kết quả ấn tượng trong nhiều
lĩnh vực như phân lớp hình ảnh, phát hiện đối tượng, phân đoạn hình ảnh hay truy vết đối tượng.
Một CNN có đầu vào, đầu ra và nhiều lớp trung gian/an (hidden layers) ở giữa.
Thường các lớp này là một dãy các lớp tích chập (convolutional layers — Conv),
theo sau một vài lớp tích chập thường là các lớp chuẩn hóa (normalization — Norm),
lớp chiết suất (pooling), hàm kích hoạt và lớp kết nối đầy đủ (fully connected —
FC):
- Lớp Conv: với các thành phần như cửa số trượt (kernel/filter, số lượng và
kích thước), bước nhảy (stride), đệm (padding, tăng kích thước đầu vào để
điều khiển kích thước đầu ra) dùng dé sử dụng cho phép tích chập (hay cross-correlation), số lượng tham số dùng để huấn luyện phụ thuộc vào
kích thước và số lượng cửa số trượt của một lớp.
Trang 18- Lớp pooling: thường đi ngay sau lớp Conv đã qua hàm kích hoạt, dùng dé
giảm kích thước của một bản đồ đặc trưng Cách hoạt động tương tự như phép tích chập nhưng cửa số trượt không có tham số học và thay vì dùng
tích vô hướng như Conv thì lấy giá trị lớn nhất (max pooling) hoặc giá trị
trung bình (average pooling) trong cửa số trượt.
- Lớp Norm: chuẩn hóa đầu ra các đặc trưng của một lớp với bình phương 0
và độ lệch chuẩn 1 Chuẩn hóa để mạng không nghiêng về một số đặc trưng này hơn một số đặc trưng thấp hơn vì giá trị chênh lệch lớn cũng như giúp cho mạng hội tụ nhanh hơn Hai loại chuẩn hóa thường được nhắc tới
là theo batch (batch normalization [10]) và chuẩn hóa theo lớp (layer
normalization [11])
- Lớp FC: kết nối tat cả các đặc trưng ở lớp trước đó với từng đặc trưng ở
lớp hiện tại Thường được sử dụng ở cuối các CNN phục vụ một bài toán hôi quy nhất định (ví dụ: phân lớp hình ảnh thì số đặc trưng sẽ bằng với số lớp muốn phân loại, localization thì dùng bốn giá trị thể hiện hộp giới hạn
- Hàm kích hoạt: được sử dụng ngay sau lớp Conv, có thể coi hàm kích hoạt
như là công tắc trạng thái 0 và 1 trong vi mạch, định nghĩa đầu ra của toàn
bộ lớp trước đó Thường chỉ có hàm kích hoạt phi tuyến tính mới giúp mạng nơ-ron học được cách giải quyết những bài toán phức tạp Hàm
thường được dùng ở đây là ReLU (Rectified Linear Unit)
2.1.1.1 AlexNet
Năm 2012, AlexNet [15] ra đời và luôn được coi là tiền đề tiên phong cho sự phát triển của các mạng nơ-ron sâu sau này cũng như bước ngoặt của học sâu Việc sử
dụng các kernel lớn trong lớp Conv (11 x 11) và mạng có số lượng lớp chưa đủ sâu
được coi là những điểm yếu của mạng so với ngày nay Tuy vậy, kết quả đạt được vượt trội hơn hẳn so với các cách rút trích đặc trưng truyền thong nhu HOG [21]
hay SIFT [22].
Trang 192.1.1.3 GoogLeNet
GoogLeNet [17] giành giải nhất ILSVRC2014 với mô-đun Inception với nhiềukernel có kích thước khác nhau thay vì bị giới hạn bởi một kích thước dé rút tríchđược nhiều vùng quan sát (receptive field) khác nhau Cùng với đó là đề xuất kiếntrúc giảm kích thước của mô-đun dé giảm chi phí tính toán
Filter concatenation
3x3 convolutions 5x5 convolutions 1x1 convolutions
Trang 20Đầu phân lớp phụ tro (auxiliary classifier) cũng được tác giả giới thiệu để tránh
tiêu biến gradient (vanishing gradient)
Trang 21Transformer [3] là một mô hình xử lý chuỗi Tương tự như những mô hình dịch
máy khác như các biến thể của RNN và LSTM [4], transformer có hai thành phầnchính là encoder va decoder Transformer nối tiếng trong lĩnh vực xử lý ngôn ngữ
tự nhiên (Natural Language Processing — NLP) va là nguồn gốc khởi xướng cho các
mô hình hiện đại như BERT [41] của Google hay GTP-3 [42] Kiến trúc củatransformer phù hợp hơn cho việc tính toán khi sử dụng phần cứng hiện đại, tậndụng được khả năng tính toán song song Nhưng dé đồng thời xử lý song songchuỗi mà vẫn giữ được thông tin về vị trí (không gian) của từng phần tử trong chuỗithì cần đến một thành phần gọi là mã hóa vi trí (positional encoding)
2.1.2.1 Positional encoding
Các mạng xử lý chuỗi trước đó như RNN hay LSTM [4] ban chat đã xử ly thôngtin về thứ tự của các phần tử trong chuỗi Băng cách phân tích chuỗi tuần tự theo
từng phần tử một, thành phần theo sau luôn được xử lý cùng với phần tử theo ngay
trước đó Do bản chất của transformer không biết được thông tin nào nằm ở đâu, tacần cho mô hình thông tin về quan hệ không gian giữa các phần tử trong chuỗi Mộttrong những cách đó là thêm trực tiếp vào từng phần tử của chuỗi thông tin vị trícủa nó Trong trường hợp nay, thông tin trên được gọi là positional encoding.
Phương pháp được đề xuất trong [3] tạo một vec-tơ dmoge: chiều tương ứng với
mỗi vị trí cụ thé trong chuỗi với mục đích bổ trợ thông tin này cho phan tử cũng
11
Trang 22được biéu diễn dưới dạng vec-tơ dmoqe chiều có vi trí trong ứng Một vec-to biểu
diễn vi trí nói trên được tạo nên từ hai công thức:
p0S
PE(pos,2i) = Sin (08n02mnar) 0
pos
PE (pos,zi+1) = COS (spo00n7inoxr) @
Với mỗi vị trí pos trong chuỗi mà ta muốn mã hóa, một vec-tơ đ„sa¿¡ chiều đượctạo ra từ hai công thức trên xen kẽ lẫn nhau Trong đ„oae¡ chiều của positionalencoding này, những chiều có vị tri chăn được mã hóa bang ham sin, những chiều
có vị trí lẻ sẽ được mã hóa băng hàm cos Như vậy nếu một chuỗi có n phan tử thì
sẽ có m vị trí được mã hóa với mỗi vị trí pos được mã hóa bằng dmogei/2 cặp cos xen kẽ nhau:
sin-sin(pos X w,) cos(pos X w,) sin(pos X w;)
2.1.2.2 Encoder và Decoder
Giống như những mô hình trước đó, Transformer sử dụng kiến trúc mạngencoder-decoder Với encoder bao gồm các lớp mã hóa (encoding layers) nối tiếpnhau xử lý đầu vào từng lớp một Kèm theo đó là decoder cũng bao gồm các lớpgiải mã (decoding layers) xử ly đầu ra của encoder từng lớp một
Nhiệm vụ của từng lớp encoder là xử lý dau vào đê tạo ra encoding chứa thông
tin của đâu vào quan hệ giữa các thành phân của nó Nhiệm vụ của từng lớp decoder cũng có nhiệm vụ dùng thông tin được mã hóa của encoder (encoding) như là ngữ
12
Trang 23cảnh (context) cùng với thông tin đầu ra của decoder trước đó dé tạo ra chuỗi từng
phần tử một (trong ngữ cảnh xử lý ngôn ngữ tự nhiên)
2.2 Các độ đo đánh giá và độ lỗi
2.2.1 Mean Absolute Error — MAE
MAE hay còn được gọi là độ lỗi ?;-norm, (hay nhóm #„-norm) là một độ lỗi
thường được sử dụng trong các bài toán hồi quy hộp giới hạn
1 N
MEA = Dl — Bill, (5)
L=
Tuy nhiên những bài toán về phát hiện đối tượng sử dụng hộp giới hạn thường
dùng độ đo đánh giá trong PASCAL VOC [12] hay COCO [13] tức là IoU, một độ
đo đánh giá độ trùng lặp giữa hai hộp giới hạn thay vì sử dụng tính chất tọa độ điểm
mà độ lỗi #„-norm sử dụng.
2.2.2 Intersection over Union — IoU
IoU hay còn được gọi là Jaccard index, là độ đo dùng trong các bài toán đánh gia
sự tương đồng giữa hai hình bat kỳ JoU có công thức như tên gọi của nó, tỉ lệ giữaphần giao và phần hợp của hai hình đang xét:
|an BỊ
Với |-| là ký hiệu biéu diễn cho diện tích Ta thấy răng độ đo này thay vì sử dụng
thuộc tính tọa độ của hình thì sử dụng thuộc tính về diện tích và độ đo dựa trênthuộc tính này luôn được chuẩn hóa (0 < IoU < 1) Điều này khiến cho IoU bấtbiến với vấn đề kích thước của bài toán Do đó các bài toán liên quan tới việc đánhgiá độ tương đồng giữa hai hình dạng như phát hiện, phân đoạn hay truy vết đối
tượng luôn dùng độ đo nay dé đánh giá kết quả
Về việc sử dụng IoU làm hàm độ lỗi, tức là khoảng cách Jaccard:
13
Trang 24Lioy(A, B) = 1— IoU(A,B) (7)
nó chi tốt trong trường hợp hai hình có phan trùng lặp (tức |4n B| > 0) Khi haihình không có phan nào trùng lặp (tức |4 n B| = 0), độ đo này không thé phản ánh
được hai hình này cách nhau bao xa.
2.2.3 Generalized Intersection over Union — GIoU
Đề giải quyết van đề trên , độ đo JoU được mở rộng dé cân nhắc cả diện tích của
hình C, một hình cùng loại và được tạo bởi hai hình A và (trong trường hợp pháthiện đối tượng, là hình chữ nhật), bao quanh hai hình trên nhỏ nhất (xem Hình 2.5)
Độ đo này được gọi là @IoU [5], được định nghĩa:
và B được chuẩn hóa
GIoU có nhiều tính chất giống như IoU: một là tính không gian metric, tức giữ
được các bản chất như tính không âm, tính đối xứng và bất đăng thức tam giác; hai
là tính bất biến với kích thước Và thêm một vài tính chat khác như: GJoU là cận
với khoảng giá trị đối xứng —1 < GIoU < 1
14
Trang 25Hình 2.5: Biểu diễn phần phạt của độ đo GIoU
Tóm lại, việc khái quát hóa (generalization) này vẫn giữ được các tính chất chínhcủa JoU đồng thời cải thiện điểm yếu mà độ đo ban dau Vì thế GloU có thé được
áp dụng vào bài toán phát hiện đối tượng làm một hàm mất mát, cụ thể đưới dạng
tương tự như JoU:
Loiou(A, B) = 1— GIoU(A, B) (9)
Độ lỗi này cũng giải quyết được van dé về sự tương quan chặt chẽ giữa việc tối
ưu hóa độ lỗi khi huấn luyện với việc cải thiện kết quả đánh giá (tức IoU và ®giou
có mối tương quan chặt chẽ ) mà độ lỗi #„ (cụ thé là 2, và £2) gặp phải
2.2.4 Distance-loU — DioU
Từ độ lỗi GIoU, ta có thé tổng quát hóa được định nghĩa của một hàm lỗi dựa trên
độ đo IoU:
L(B,B) = 1— IoU(B,B) + ®(B,B) = Lio, (B,B)+R(B,B) — q0)
trong đó R(B, B) là phần phạt thêm của độ lỗi khi hai hộp giới hạn B và B không
có phan trùng lặp, tức độ lỗi JoU bang không Trong trường hộp của GJoU thì
IC\(BUB)|
R(B,B) =F
15
Trang 26Theo như kết quả thí nghiệm mơ phỏng trong [6], mặc dù G/oU giải quyết đượcvan đề tiêu biến gradient (vanishing gradient) cho những trường hợp khơng cĩ phantrùng lặp giữa hai hộp B và B, độ lỗi này vẫn cĩ vài hạn chế: GloU cĩ xu hướngtăng kích thước của một hình (hộp dự đốn) để làm trùng lặp với hình cịn lại (hộpxác thực) dé phan độ lỗi JoU cĩ thê tiếp tục hoạt động dé tối ưu hĩa vùng trùng lặp;
trường hợp một hình nằm trong hình cịn lại hoặc cả hai hình được đặt theo hướng
ngang hoặc dọc, độ lỗi GIoU quay trở lại thành độ lỗi IoU nên cũng gift lại tính chất
hội tụ chậm của nĩ.
Độ lỗi DIoU [6] được tạo ra để thực hiện nhiệm vụ hồi quy hộp giới hạn Thay vì
sử dụng khu vực trống được tạo ra bởi hai hộp B và B (C\(B U B)) như trong
GIoU, độ lỗi này sử dụng phan phạt thêm của JoU dé trực tiếp làm giảm khoảngcách giữa tâm hai hình được chuẩn hĩa nhằm tăng tốc độ hội tụ:
2
b—b
£àu(B,B) = Liou(B.B) — a
với b va b là tâm của hộp giới hạn B va B tương ứng Ký hiệu c tương ứng cho độ
dài đường chéo của hộp giới hạn chứa cả B và B nhỏ nhất (xem Hình 2.6) Tương
tự như việc độ lỗi GloU được đề xuất dé cải thiện từ JoU, độ lỗi DIoU cũng kế thừa
được những tính chat từ cả JoU va GIoU: tính bat biến với kích thước bài tốn hồi
quy; định hướng cho độ lỗi hội tụ trong trường hợp hai hình khơng trùng lặp nhau;
trường hop hai hộp trùng khớp nhau và cách nhau rất xa thì độ lỗi GloU và DIoU
tương tự nhau Và kèm theo đĩ là các cải thiện mà G!loU khơng cĩ, được chứng
minh trong [6]: trực tiếp tối ưu hĩa khoảng cách giữa hai hộp giới hạn dẫn đến hội
tụ nhanh hơn GIoU; trong trường hợp độ lỗi GloU bị giảm xuống thành IoU đã
được đề cập, DIoU vẫn cĩ thể hội tụ nhanh
16
Trang 27YN
Hình 2.6: Biểu diễn phan phạt của độ do DIoU
2.2.5 Complete-IoU — CioU
Cùng với độ lỗi DIoU, tác giả đã đề xuất ra thêm một độ do cải tiến để trả lời
được cả hai câu hỏi đặt ra trong [6]: mort là liệu có thể trực tiếp giảm khoảng cách(được chuẩn hóa) giữa hai hộp giới hạn (và câu trả lời là độ lỗi DIoU); hai là làm
cách nào dé hồi quy hộp giới hạn nhanh và chính xác hơn không chỉ khi hai hộp
trùng lặp mà cả khi một hộp chứa hộp còn lại.
Dé trả lời câu hỏi hai, tác gia đề xuất định nghĩa: một độ lỗi cho bài toán sử dụng
hộp giới hạn được đề xuất rằng nên xem xét ba yếu tố hình học quan trọng: diệntích trùng lặp, khoảng cách giữa hai tâm và tỉ lệ giữa bề rộng và bề cao Do đó,
CIoU [6], [7] được đề xuất nhằm áp đặt tính nhất quán về tỉ lệ giữa hai hộp giới han
vào trong độ lỗi DIoU.
cciou = Laiou(B, B) + av (12)
Với v thé tính nhất quán giữa tỉ lệ hai hình được xét va ø là tham số thé hiện việcđánh đổi trong quá trình hồi quy hộp giới hạn được định nghĩa như sau:
Trang 28được chuân hóa bởi arctan(-) va tham sô a Con nhiệm vụ của tham sô đánh đôi
là luôn ưu tiên quá trình hồi quy phan trùng lặp do tính nhất quán của hai hộp giớihạn ít quan trọng hơn lúc hai hộp chưa khớp nhau [7].
18
Trang 29Chuong3 PHƯƠNG PHÁP THỰC NGHIỆM
3.1 You Only Look Once - YOLO
Mô hình phát hiện vat thé một bước đầu tiên của thoi ki học sâu Là viết tắt của
cụm từ “You Only Look Once” — “Bạn chỉ Nhìn Một Lần”, YOLO mang hướng
tiếp cận khác với các mô hình hai bước trước như Faster R-CNN [43] (tạo các vùng
đề xuất và kiểm tra vật thể bên trong): áp dụng một mạng CNN duy nhất lên toànảnh, đưa phát hiện vật thé về bài toán hồi quy YOLO dự đoán ra hộp giới hạn vàxác suất phân lớp của các hộp này cùng một lúc, cho tốc độ rất nhanh Qua cácphiên bản cải tiến, tích hợp nhiều kĩ thuật, YOLO phiên bản thứ tư (YOLOv4) là
phương pháp tốt nhất trong các phương pháp phát hiện đối tượng thời gian thực với
kiểu phát hiện dày đặc (dense prediction)
Trong các hệ thống phát hiện đối tượng được phát triển thời gian gần đây, môhình thường được chia ra làm ba phần:
- _ Xương (backbone): đảm nhiệm việc rút trích đặc trưng từ ảnh thô, thường
là các mạng đạt được kết quả tốt trên bài toán phân lớp ảnh, ví dụ như
VGG [16], ResNet [14]
- Cổ (neck): đảm nhiệm việc hợp nhất đặc trưng (feature fusion) từ
backbone, đảm nhiệm việc kết hợp các đặc trưng dé tạo ra đặc trưng tốthon, ví dụ như kiến trúc của FPN [26], PAN [37], BiFPN [32]
- Đầu (head): đảm nhiệm vai trò dự đoán đầu ra của mô hình từ các đặc
trưng cua neck hay backbone, vi dụ như Faster R-CNN [43], SSD [44],
YOLO [33]
YOLOv4 cũng theo khuôn mẫu nay va nhắm đến sử dung các kiến trúc, mô dun
cho hiệu năng, kết quả tốt cho từng phần Dưới đây chúng tôi nói cụ thé về từngphần của YOLOv4
19
Trang 30Hình 3.1: Tổng quan kiến trúc của YOLOv4, với backbone là CSPDarknet-53, neck
gom PAN và mô đun SPP.
3.1.1 Backbone của YOLOV4
Dựa trên các khối residual trong ResNet [14], tác giả YOLOv3 xây dựngDarknet-53 làm backbone của mô hình, gồm 53 lớp tích chập và 23 khối residual
So với backbone cùng thời điểm, Darknet-53 cho kết quả tương đương với
ResNet-152 (ResNet-152 lớp) nhưng đòi hỏi ít phép tính toán hơn và cho tốc độ xử lí nhanh hơn gấp
Trang 31feature map được chia làm hai theo chiều channel Một nửa số channel được đi qua
khối residual và nối với một nửa còn lại, tạo thêm đường đi gradient, giảm chi phí
tính toán và bộ nhớ sử dụng So với Darknet-53, CSPDarknet-53 cho độ chính xác
tương đương nhưng với số tham số ít hơn 34% và giảm đi 30% số phép tính
21
Trang 333.1.2 Neck của YOLOv4
3.1.2.1 Tổng hợp đặc trưng
Nhận diện vật thé ở các kích cỡ khác nhau là một thách thức cơ bản trong thị giácmáy tính Một phương pháp thường được sử dụng để cải thiện kết quả là chạy hệthống nhận diện qua tam anh ở nhiều kích cỡ khác nhau (tạo ra một Image
pyramid), giờ hay được gọi là test time augmentation (TTA — tạm dịch tăng cường
lúc kiểm tra) Dù đem lại kết quả tốt hơn về độ chính xác, TTA mang nhiều giới hạn
về thời gian xử lí và bộ nhớ sử dụng, khiến việc áp dụng vào thực tế khó khả thi
Các layer tính toán trong mạng CNN bản thân nó có thể hiểu là một image
pyramid, cho ra các feature map ở những độ phân giải khác nhau Tuy nhiên, ở các
layer cao hon du mang nhiều thông tin ngữ nghĩa hơn nhưng độ phân giải thấp vàchi tiết hình học bi mat, có ích trong việc xác định lớp vật thé, đặc biệt các vật thé
lớn Ngược lại, các layer dưới có độ phân giải cao và nhiều chi tiết hình học, có ích
trong việc định vị chính xác hộp giới hạn và giữ được thông tin của các vật thê nhỏnhưng lại không có được thông tin ngữ nghĩa của layer cấp trên Từ các quan sáttrên, các hệ thông phát hiện vật thê hiện đại được thiết kế để vừa phát hiện vật thê ởnhiều lớp, vừa phát hiện trên đặc trưng được kết hợp ở nhiều lớp khác nhau
YOLOv3 ngoài layer cuối của backbone ra còn lấy thêm layer thứ 27 và layer thứ
44 dé kết hợp đặc trưng và đưa vào phan đầu dé dự đoán Cơ chế kết hợp củaYOLOv3 dựa trên FPN [26]:
23
Trang 34predict
predict
Hình 3.3: Kiến trúc và cách kết hợp đặc trưng hai tầng của FPN [26]
Feature map của layer phía trên được upsample dé có chung kích thước với
feature map của layer dưới và sau đó được kết hợp lại Khác với FPN, YOLOv3 và
YOLOv4 sử dụng phép concatenate ghép hai tầng feature lại thay vì dùng phép
cộng.
24
Trang 35Hình 3.4: Kiến trac PANet, mũi tên xanh và đỏ thé hiện đường đi của đặc trưng
cấp thấp lên layer phía trên (nguồn: [37])
Trang 363.1.2.2 Mô đun cải thiện vùng tiếp nhận (receptive field)
Layer cuối của backbone được gắn thêm mô đun Spatial Pyramid Pooling (SPP)
[38] Khác với mô đun gốc cho đầu ra là vector đặc trưng một chiều, không áp dụng
được cho mang CNN, YOLOv3 và YOLOv4 cải tiến mô đun SPP, sử dụng các
kernel maxpool với kích thước 1, 5, 9, 13, stride = 1 và ghép tat cả dau ra lại Sửdụng SPP giúp tăng vùng tiếp nhận của đặc trưng backbone với số lượng tính toánthêm không đáng kể
3.1.3 Head của YOLOv4
Tại mỗi điểm của feature map (tương ứng với một ô trên ảnh gốc), YOLOv4 dựđoán vật thé với số lượng theo số anchor được xác định trước Một anchor (hayprior) là một hộp giới hạn mẫu, mang những kích thước thường thấy của các vật thê
trong tập dữ liệu Với mỗi anchor, YOLOv4 dự đoán ra 5 giá tri: ty, ty, tw, th, to —
tọa độ trung tâm x, y của hộp giới hạn, chiều rộng và cao w, h của hộp giới han vađiểm có tồn tại vật thé (objectness); và C giá tri tương ứng với xác suất hộp giới hạn
thuộc về từng lớp trong C lớp của tập dữ liệu Với cy, c, là khoảng cách từ 6 đến
góc trái trên của ảnh và py, Pp là kích thước của anchor, kết qua dự đoán được đưa
về giá trị thực như sau:
by, = œơ(¿) + cy (15)
by = ao(ty) + cy (16)
by = Pye (17)
bn = Pre“ (18)
Pr(obj) * IoU(b, obj) = o(t,) (19)
Với o(-) là ham sigmoid, giá tri a > 1 dùng dé phát hiện các vật thé nam giữacác 6, do ham sigmoid cần giá tri rất lớn dé đạt về hai cận, tương ứng với biên của
6 Pr(obj) là xác suất ma anchor có vật thé ở trong đó
26
Trang 37Hình 3.6: Ví dụ về các giá trị của một anchor (nguồn: [39])
Như vậy, với một feature map có size NxN (không tính số channel), YOLOv4
cho đầu ra NxNx(B*(5 + C)), với B là số prior và C là số lớp
3.1.4 Hàm mục tiêu của YOLOV4
Hàm mục tiêu của YOLOv4 được chia ra làm ba phần tương ứng với các bộ phậndau ra: độ lỗi vật thé (objectness) của giá trị t, , độ lỗi phân lớp (classification) của
các giá trị C, độ lỗi định vị (localization) của giá trl Cy, Cy, Cy, Cn Objectness và
classification loss tính trên squared error, con localization loss được tính băng CIoU.
Trong quá trình huấn luyện, mỗi anchor sé được tính JoU dé gán với một groundtruth Nếu IoU lớn hơn một ngưỡng cho trước anchor được gán với ground truth vàđược tính đầy đủ các độ lỗi Ngược lại, các anchor không được gán chỉ tính độ lỗivật thê Như thế, các anchor đều được huấn luyện kể cả khi có vật thé hay không
Trang 38Hình 3.7: Đồ thi của hàm kích hoạt Mish và các hàm khác (nguén: [40])Ngoài đặc tính không bị chặn trên và giới hạn miễn giá trị âm, Mish là hàm khôngđơn điệu, giữ lại một lượng nhỏ thông tin giá trị âm, giải quyết được van đề ReLUChết (dying ReLU) mà hàm ReLU mắc phải Ngoài ra, thực nghiệm [40] cho thấyMish huấn luyện các mô hình sâu hơn dé hon và cho kết quả tốt hơn.
3.1.5.2 Tang cường dữ liệu kham - mosaic augmentation
Với mosaic augmentation, bốn bức ảnh được ghép lại với nhau, đặt các vật thể rakhỏi ngữ cảnh thường gặp của nó Sự đa dạng của ảnh đầu vào được gia tăng, giúp
mô hình phát hiện vật thể phát hiện tốt hơn với ảnh năm ngoài đữ liệu sẵn có Ngoài
ra, việc ghép nhiều ngữ cảnh vào một ảnh huấn luyện giúp gia tăng sự đa dạng
thông tin trong mỗi batch, một phần nào đó đem khả năng huấn luyện với phần
cứng giới hạn (kích cỡ batch nhỏ) gần hơn với phần cứng cao cấp hơn
28