Trong khóa luận này, chúngtôi khảo sát các phương pháp mô hình hóa cho bài toán Tìm kiếm kiến trúc mạngneural đa mục tiêu multi-objective NAS, trong đó mỗi bài toán liên quan đếnmột chỉ
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HỌC MAY TÍNH
VÕ KHANH AN
KHOA LUAN TOT NGHIEP
TÌM KIEM KIÊN TRÚC MẠNG NEURAL
NHIÊU MỤC TIÊU BẰNG THUẬT TOÁN TIEN HÓA
VỚI CÁC PHƯƠNG PHÁP DỰ ĐOÁN HIỆU NĂNG
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
TP HO CHÍ MINH, NĂM 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HỌC MAY TÍNH
VO KHANH AN - 19520007
KHOA LUAN TOT NGHIEP
TÌM KIEM KIÊN TRÚC MẠNG NEURAL NHIÊU MỤC TIEU BẰNG THUẬT TOÁN TIEN HOA
VỚI CÁC PHƯƠNG PHÁP DỰ ĐOÁN HIỆU NĂNG
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
GIẢNG VIÊN HƯỚNG DẪN
TS LƯƠNG NGỌC HOÀNG
TP HO CHÍ MINH, NĂM 2022
Trang 3DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ngây của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
¬ e eee ececeeeeeee esses ee neeeeeeeeeeeee — Chủ tịch.
Qe eee cece eect ee eect eeeeeeeeaaeeeeeeeeeeeeeneee — Thu ký.
~— Ủy viên
— ~ Ủy viên
Trang 4LOI CAM ON
Lời đầu tiên, tôi xin được gửi lời cam ơn sâu sắc đến TS.Lương Ngọc Hoang đãtận tình giúp đỡ, động viên, định hướng và cung cấp những kiến thức nền tảngtrong xuyên suốt quá trình thực hiện khóa luận này
Tiếp theo, tôi xin chân thành cảm ơn sự đồng hành, hỗ trợ từ phía thầy cô Khoa
Khoa học máy tính nói riêng và Trường Đại học Công nghệ Thông tin,
ĐHQG-HCM nói chung vì đã tận tình giảng dạy, cung cấp nhũng kiến thức, kỹ năng, bàihọc quý giá làm cơ sở để tôi thực hiện khóa luận tốt nghiệp này
Tôi cũng xin bày tỏ lòng biết ơn to lớn đối với gia đình, bạn bè và những ngườitôi yêu quý vì họ luôn là điểm tựa tinh than vững chắc đồng thời là nguồn động
lực to lớn thúc đẩy tôi trong suốt quãng đời sinh viên.
Trang 5Muc luc
[TÓM TAT KHOA LUẬN xv
TONG QUAN 1
1.2 Mô tả bài toán| Ặ Ặ 1
13 Datvan dé “6Ø øø8ố4Ả Ð.Ề- — _ -ằ 2
1.4 Phạm vinghiên cứu| .-.- 3
1.5 Mục tiêu và doi tượng nghiên cứu| 3
1.6 Phương pháp thựchiện| - 4
1.7 Cấu trúc khóa luận| - 4
2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THUC NEN TANG 6 2.1 Các công trình lên quan| - 6
2.2_ Bài toán Tối ưu hóa đa mục tiêu| 10
E3 Bài toán Tìm kiếm kiến trúc mạng, neural] See 10 2.4 Bài toán Tìm kiếm kiến trúc mang neural da mục tiêu| 12
2.5 Chỉ số Synaptic Flow không qua huấn luyện| 13
3 MÔ HÌNH HÓA BÀI TOÁN TÌM KIÊM KIÊN TRÚC MẠNG NEURAL ĐA MỤC TIÊU 16 Ba Tìm kiếm kiến trúc mang neural da mục tiêu| - 16
.11 Cấp độ cao (upperlevel| - 16
3.1.2 Cấp độ thấp (lower level)| - 17
B2 Tim kiếm kiến trúc mang neural da mục tiêu không qua huan luyện| 17 3.3 Tìm kiếm kiến trúc mang neural nhiều mục tiêu|
Trang 64_ PHƯƠNG PHAP| 21
“ ú 21
411 NATIS-Benchl 21
4.12 _Mãhóal ẶẶỒẶ 2 "Ta eee 23 4.2.1 Khởi tạo (Initiallizaton)| 24
4.2.2 Lai ghép (Crossover)]} - 24
[4.2.3 Độtbiến (Mutation)] 25
¬ 26 4.3 Đánh giá độ thích nghỉ| 28
4.31 Eliistarchivel - 29
5_ THỰC NGHIÊM| 31 [5.1 Thiết lập thựcnghiệm| 31
B.11 Chuẩnhóa| - 31
5.12 ThiếlậpNSGA-HR 31
no | / 32
2 Ki 4 26 \ /j — — ằ 34 [5.3.1 Kết quả hội tụ IGD và độ chính xác|_ 34
5.3.2 Khả năng chuyển giao của các kiến trúc| 42
6 KẾT LUẬN 52
Trang 7Danh sach hinh ve
[L1 Bài toán tìm kiếm kiến trúc mang neural (NAS) là bài toán con của
AutoML và có sự trùng lặp đáng kể với bài toán tối ưu hóa siêutham số (HPO)| - c , 2
[2.1 Phân loại các phương pháp dự đoán hiệu năng hiện nay [45] Những
vùng được đỏ chính là phạm vi nghiên cứu của khoá luận này, bao
tiến hóa do Phan và cộng sự [37] dé xuất Trong ví dụ này, số lượng,
các kiến trúc được chọn và được lay mẫu lần lượt là 17 và 74 fee 7
2.3 Tổng quan các giai đoạn của NSGA-Net j30|| 8E4 Tổng quan phương pháp NSGANetV2J31|| 9
E5 Minh họa các thành phân của bài toán tìm kiếm kiến trúc mạng,
nghĩa trước Kiến trúc x sẽ được truyền vào chiến lược ước lượnghiệu năng (metric evaluator) và trả về hiệu năng ước lượng của xđến chiến lược tìm kiếm| - 11
Bench-201 Trục hoành: Độ chính xác kiểm thử ở epoch thứ 200;
Trục tung: FLOPs Những điểm tròn có màu càng sáng thì có giá
trị synf1ow càng cao Những, điểm tam giác màu đỏ chỉ những, kiến
trúc có giá trị synflow cao nhật] ¬ 14
Trang 8roize (none), (1) skip connection (skip_connect), (2) 1x1
convolu-tion (nor_conv_1x1), (3) 3x3 convoluconvolu-tion (nor_conv_ 3x3) và (4) 3x3
average pooling (avg_pool_3x3)| - 2
E2 Các giai đoạn của thuật toán NSGA-II (Non-dominated sorting
nhật bao quanh nó Các điểm trắng (extreme point) sẽ có khoảng
đông duc của giải pháp i chính là chu vi của hình chữ
cách đông đúc là vô cực do chúng chỉ có một giải pháp liền kể| 27
5.1 Minh họa cách tính chỉ số Interted Generational Distance (IGD) DI 32
archives của MaOENAS, MOENAS, TF-MOENAS, TF-MaOENAS
trên 04 không gian hai mục tiêu: Độ chính xác kiểm thử (test
ac-curacy) tai epoch thứ 200 và (a) FLOPs, (b) độ tré (latency), (©) số
lượng tham số (#parameters), (d) #MACs Trục y chỉ IGD, trục x chỉ
số thé hệ trong thuật toán tiền hóa| - 33
3 Kết quả hội tụ IGD trên CIFAR-100 (NATS-Bench) khi so sánh
eli-tist archives của TF-MOENAS và TF-MaOENAS trên 04 không gian
hai mục tiêu: Độ chính xác kiểm thử (test accuracy) tai epoch thứ
200 và (a) FLOPs, (b) độ trễ (latency), (c) số lượng tham số
(#pa-rameters), (d) #MACs Trục y chỉ IGD, trục x chỉ số thé hệ trong
thuật toán tiénhoa} 2 ee ee 34
Trang 9elitist archives của MaOENAS, MOENAS, TF-MOENAS, TF-MaOENAS
trên 04 không gian hai mục tiêu: Độ chính xác kiểm thử (test
accu-racy) tai epoch thứ 200 va (a) FLOPs, (b) độ trễ (latency), (c) sốlượng tham số (#parameters), (d) #MACs Trục y chi IGD, trục x
archives của MaOENAS, MOENAS, TF-MOENAS, TF-MaOENAS
tist archives của MaOENAS, MOENAS, TF-MOENAS, TF-MaOENAS
trên 04 không gian hai mục tiêu: Độ chính xác kiểm thử (test
accu-racy) tai epoch thứ 200 va (a) FLOPs, (b) độ trễ (latency), (c) sốlượng tham SỐ (#parameters), (d) #MACs Trục y chỉ IGD, trục x
chỉ thời gian chạy thuật toán theo đơn vị giờ (log scale)
racy) tại epoch thứ 200 va (a) FLOPs, (b) độ trễ (latency), (c) sốlượng tham SỐ (#parameters), (d) #MACs Trục y chỉ IGD, trục x
chi thời gian chạy thuật toán theo đơn vi giờ (log scale)| 38
5.8 Archive cuối cùng thu được trên CIFAR-10 (NATS-Bench) khi so
[_— — sánh elitist archives của MaOENAS,MOENAS,TF-MOENASTE |
MaOENAS trên 04 không gian hai mục tiêu: Truc x chỉ độ chính xác
kiểm thử (test accuracy) tai epoch thứ 200 và Trục y chỉ (a) FLOPs,
(b) độ trễ (latency), (c) SỐ lượng tham SỐ (#parameters), (d) #MACs|| 43
Trang 105.9 Archive cuối cùng thu được trên CIFAR-100 (NATS-Bench) khi so
sánh elitist archives của MaOENAS, MOENAS, MOENAS,
TF-MaOENAS trên 04 không gian hai mục tiêu: Truc x chỉ độ chính xác
kiểm thử (test accuracy) tại epoch thứ 200 và Trục y chi (a) FLOPs,
(b) độ trễ (latency), (c) số lượng tham số (#parameters), (d) #MACs| 44
5.10 Archive cuối cùng thu được trên ImageNet16-120 (NATS-Bench)
khi so sánh elitist archives của MaOENAS, MOENAS, TF-MOENAS,
TF-MaOENAS trên 04 khong gian hai mục tiêu: Truc x chỉ độ chính
xác kiểm thử (test accuracy) tại epoch thứ 200 và Trục y chỉ (a) FLOPs, (b) độ trễ (latency), (c) số ượng tham số (#parameters), (d)
p21 Tan suat xuat hiện các toán tử (o perator) trong các ién trúc nằm
trên biên xap xi (approximation front) cuối cùng của
[—_— TFMaOENAS]
phương pháp
47
.12 Tần suất xuất hiện các toán tử (o perator) trong các
trên biên xap xi (approximation front) cuối cùng của
E.12 Tần suất xuất hiện các toán tử (o perator) trong các ién trúc nằm
5.14 Tan suất xuat hiện các toán tử (o
trên biên xap xi (approximation front) cudi cùng của phương pháp
49
MOENAS (độ chính xác kiểm thử - FLOPSs)| 50
Trang 11Danh sach bang
E1 Spearman ø của synflow so với các chỉ số không qua huấn luyện
khác Các kết quả được gạch d t quả tốt nhất trên khôn,
gian tìm kiếm tương ứng Các số liệu được lấy từ ia) ¬ 15
Ba Giá trị IGD cuối cùng và độ chính xác kiểm thử thu được trên
NATS-Bench Việc tìm kiếm được tiên hành độc lập trên
CIFAR-10 và sau đó được đánh giá trên cùng tập dữ liệu Kết quả gachdưới chỉ phương pháp tốt nhất, kết quả in đậm chỉ phương pháptốt nhất và đã được kiểm định thống kê t-test với ngưỡng tin cậy là
——rzn @ Z T»à | ⁄ - 39
2 Giá trị IGD cuối cùng và độ chính xác kiểm thử thu được trên
NATS-Bench Việc tìm được tiến hành độc lập trên
CIFAR-100 và sau đó được đánh giá trên cùng tập dữ liệu Kết quả gachdưới chỉ phương pháp tốt nhất, kết quả in đậm chỉ phương pháp
[ _ tốtnhất và đã được kiểm định thông kê t-test với ngưỡng tin cậy là _|
[—_— 0Øfl 40
B3 Giá trị IGD cuối cùng và độ chính xác kiểm thử thu được trên
NATS-Bench Việc tìm kiếm được tiền hành độc lập trên
ImageNet16-120 và sau đó được đánh giá trên cùng tập dữ liệu Kết quả gạch
dưới chỉ phương pháp tốt nhất, kết quả in đậm chỉ phương pháp.
tốt nhất và đã được kiểm định thống kê t-test với ngưỡng tin cậy là
Trang 12trên NATS-Bench Việc tìm kiếm được tiến hành trên CIFAR-10 va
sau đó được đánh giá trên ca ba tập dữ liệu CIFAR-10, CIFAR-100
và ImageNet16-120 Kết quả gạch dưới chỉ phương pháp tốt nhất,
kết quả in đậm chỉ phương pháp tốt nhất và đã được kiểm định
thống kê t-test với ngưỡng tin cậy là 0.01 Se ee 42
5.5 Sosanh với các phương pháp NAS state-of-the-art trên
NAS-Bench-201 về độ chính xác kiểm thử, các kết qua được lay từ [12||35] Việc
tìm kiếm được tiên hành trên CIFAR-10 và sau đó được đánh giá
trên cả ba tập dữ liệu CIFAR-10, CIFAR-100 và ImageNet16-120.
Kết quả gạch dưới chỉ phương pháp tốt nhất| 51
Trang 13Danh sách thuật toán
Tìm kiếm kiến trúc đa mục tiêu bằng thuật toán tiến hóa (MONAS)| 23
E So sánh hai giải pháp trong bài toán tối ưu hóa đa mục tiêu| 28
3_ Cập nhật ElitistArchivel 30
Trang 14IGD
CNNs MOENAS
TF-MOENAS
MaOENAS TF-MaOENAS
Neural Architecture Search Floating-Point Operations Per second
Multiply- ACcumulate per seconds Paramters
Non-dominated Sorting Genetic Algorithm II
Reinforcement Learning
synaptic flow Interted Generational Distance
Convolutional Neural Networks
Multi-Objective Evolutionary NAS Training-Free Multi-Objective Evolutionary NAS
Many-Objective Evolutionary NAS
Training-Free Many-Objective Evolutionary NAS
xiv
Trang 15TOM TAT KHOA LUAN
Bài toán Tìm kiếm kiến trúc mang neural (neural architecture search, hayNAS) thường có chi phí tính toán rat lớn vì cần phải đánh giá nhiều kiến trúc
ứng viên trong quá trình tìm kiếm Việc đánh giá chính xác hiệu năng cho mỗi
kiến trúc ứng viên đòi hỏi hàng trăm - hàng ngàn epoch huấn luyện để có được
bộ trọng số thích hợp rồi đánh giá độ chính xác thực sự của kiến trúc đó Thời
gian gần đây, một chỉ số dự đoán hiệu năng không qua huấn luyện (training-free
performance metric) là Synaptic Flow đã được dé xuất, có thể ước lượng hiệunăng các kiến trúc mạng neural một cách hiệu quả Synaptic Flow được tính bằngcách sử dụng bộ trọng số khởi tạo ngẫu nhiên và giá trị của nó cho thấy có mức
độ tương quan nhất định với độ chính xác trên tập test của mạng neural sau khihuấn luyện Bên cạnh đó, khi thiết kế kiến trúc mạng neural trong thực tế, hiệunăng không phải là mục tiêu duy nhất mà các chỉ sé vẻ độ phức tạp của mạng (sốlượng tham số, độ trễ, ) cũng cần phải được xem xét Trong khóa luận này, chúngtôi khảo sát các phương pháp mô hình hóa cho bài toán Tìm kiếm kiến trúc mạngneural đa mục tiêu (multi-objective NAS), trong đó mỗi bài toán liên quan đếnmột chỉ số hiệu năng và một chỉ số độ phức tạp Ngoài ra, chúng tôi cũng khảo
sát bài toán giải quyết bài toán Tìm kiếm kiến trúc mạng neural nhiều mục tiêu
(many-objective NAS), bao gồm một chỉ số hiệu năng và bốn chỉ số độ phức tạp.Chúng tôi xem xét 02 chỉ số hiệu năng cho mỗi mô hình bài toán: độ chính xác củakiến trúc (đòi hỏi quá trình huấn luyện mạng) và Synaptic Flow (không qua huấnluyện) Chúng tôi sử dụng thuật toán NSGA-II để giải các bài toán Tìm kiếm kiếntrúc mạng neural đã mô hình hóa, sau đó so sánh chất lượng của các kiến trúcthu được và hiệu quả của việc giải quyết từng mô hình Kết quả thực nghiệm trên
bộ benchmark NATS-Bench cho thấy những ưu điểm của phương pháp tiếp cậnbài toán Tìm kiếm kiến trúc mạng neural nhiều mục tiêu bằng Thuật toán tiến
hóa không qua huấn luyện (TF-MaOENAS) thu được các kiến trúc có hiệu năng
cạnh tranh và chi phí tính toán hợp lý Mã nguén của khóa luận có thể truy cậptai: https: //github com/EL0-Lab/TF-MaDENAS
Trang 16Chương 1
TỔNG QUAN
11 Giới thiệu bài toán
Sự thành công của học sâu trong nhiều năm trở lại đây chủ yếu dựa vào quátrình trích xuất đặc trưng tự động thay vì sử dụng các đặc trưng được thiết kế thủcông Tuy nhiên, những thành công này đã đi kèm với nhu cầu ngày càng tăng đốivới việc tạo ra các kiến trúc mới và chúng ngày càng phức tạp hơn khi được thiết
kế thủ công Bài toán tìm kiếm kiến trúc mạng neural (neural architecture search,hay NAS) là một quy trình tự động việc thiết kế kiến trúc mang neural và cũng
được xem như là một bước trong quy trình tự động học máy (AutoML) Mục tiêu
chính của bài toán tìm kiếm kiến trúc mạng neural là tự động hóa quy trình thiết
kế kiến trúc mang neural để tìm ra những kiến trúc có hiệu năng cao|46] Hiện
tại, các kiến trúc được tạo ra bằng NAS đã có hiệu năng vượt trội so với các kiến
trúc được thiết kế thủ công trên một số tác vụ như phân loại hình ảnh [40],
phát hiện đối tượng hay phân đoạn ngữ nghĩa (semantic segmentation) BỊ.
NAS có thể xem như là một lĩnh vực con của AutoML và có sự trùng lặp
đáng kể với bài toán tối ưu hóa siêu tham số (hyperparemeter optimization)
và meta-learning (20) (xem Hình[1L1).
1.2 Mô tả bài toán
* Đầu vào: 01 bộ dữ liệu, 01 không gian tìm kiếm
© Đầu ra: 01 tập hợp chứa các kiến trúc được tìm thấy
Trang 17Chương 1 TONG QUAN 2
HINH 111: Bai toán tìm kiếm kiến trúc mang neural (NAS) là bài toán con của AutoML và có sự trùng lặp đáng kể với bài toán tối ưu hóa
siêu tham s6 (HPO).
13 Đặt van dé
Nhiều phương pháp state-of-the-art NAS đã được dé xuất trong những nămtrở lại đây nhưng lại yêu cầu một lượng tài nguyên tính toán rất lớn Ví dụ, Zoph
và các cộng sự đã sử dụng thuật toán học tăng cường (RL) để giải quyết bài
toán NAS với 800 GPUs trong 28 ngày, hay Real và các cộng sự (40] đã dé xuất
phương pháp tiến hóa AmobaNet-A với thời gian tìm kiếm 7 ngày chạy trên 450K40 GPUs Để giảm lượng chi phí tính toán rat lớn này, nhiều kỹ thuật đã được
dé xuất trong những năm trở lại đây để dự đoán hiệu năng cuối cùng của kiếntrúc mạng neural, trong đó nổi bật là các chỉ số dự đoán hiệu năng không qua đàotạo có thể được xem như là mục tiêu tối ưu về mặt hiệu năng thay vì sử dụng
độ chính xác của mang (44||35|J24] Những chỉ số này có thể được tính bằng cách
sử dụng trọng số của mạng tại thời điểm khởi tạo và không cần phải qua bat kỳ
epoch huấn luyện nào, chúng chủ yếu chỉ phụ thuộc kiến trúc của mạng Nhiềuchỉ số không qua huấn luyện đã được tìm thấy có mức độ tương quan nhất định
với độ chính xác của mạng (ij Do đó, việc tối ưu hóa những chỉ số này có khả
Trang 18Chương 1 TONG QUAN 3
năng tìm ra những kiến trúc với hiệu năng cao và giảm được đáng kể chỉ phí tính
toán.
Mặt khác, những nghiên cứu hiện nay hau hết chỉ tối ưu kiến trúc mang neuralcho một mục tiêu, ví dụ như độ chính xác mạng Trong khi đó, việc triển khaimạng neural trong thực tế thường đòi hỏi nhiều khía cạnh cần phải quan tâmđến như độ phức tạp (FLOPs, số lượng tham số) hay hiệu năng phan cứng (độtrễ) Việc tìm ra các kiến trúc với độ chính xác cao thường chỉ có thể triển khaitrên các máy trạm (workstation) nhưng lại quá phức tạp và lớn để triển khai trêncác thiết bị nhúng hạn chế về mặt tài nguyên Những nghiên cứu gần đây cũng đã
đề xuất nhiều mô hình cho bài toán tìm kiếm kiến trúc mạng neural đa mục tiêu(multi-objective NAS, hay MONAS) nhằm tính đến nhiều khía cạnh khác nhautrong quá trình tối ưu hóa
14 Phạm vi nghiên cứu
Trong khóa luận này, chúng tôi tập trung vào việc tìm kiếm các kiến trúc mạngneural tích chap (Convolutional neural networks - CNNs) nhiéu muc tiéu Khoaluận cũng trình bay các phương pháp cải thiện hiệu quả của quá trình tìm kiếmkiến trúc mang neural bang các phương pháp dự đoán hiệu năng Chúng tôi kiểm
tra hiệu quả của các phương pháp được đề xuất thông qua bộ benchmark Bench NATS-Bench có hơn 15,000 kiến trúc mạng neural tích chập, mỗi kiến trúc
NATS-bao gồm các thông tin về hiệu năng, độ phức tạp, thời gian huấn luyện, trên
nhiều bộ dữ liệu chuẩn như CIFAR-10, CIFAR-100, ImageNet.
1.5 Mục tiêu và doi tượng nghiên cứu
Các mục tiêu tiêu của khóa luận gồm:
© Tim hiểu và cài đặt thuật toán tiến hóa cho bài toán NAS đa mục tiêu
s Sử dụng các phương pháp dự đoán hiệu năng nhằm cải thiện hiệu quả tìm
kiếm của bài toán NAS.
¢ Giảm chi phí tính toán cho bài toán NAS nhưng van đảm bảo đạt được hiệu
năng tốt
Trang 19Chương 1 TONG QUAN 4
¢ Thu được một biên xấp xỉ bao gồm các kiến trúc đánh đổi về mặt hiệu năng
và độ phức tạp, giúp người dùng có thể chọn ra kiến trúc phù hợp với nhucầu và thiết bị của mình
Đối tượng nghiên cứu: Bài toán Tìm kiếm mạng neural nhiều mục tiêu
(Many-Objective Neural Architecture Search)
1.6 Phương pháp thực hiện
Các phương pháp thực hiện nghiên cứu của chúng tôi bao gồm:
s Sử dụng các phương pháp dự đoán hiệu năng của mạng neural tích chập
mà không tốn kém quá nhiều chỉ phí về mặt tính toán như độ chính kiểm
định (validation accuracy) tại epoch 12 và chỉ số dư đoán hiệu năng không
qua huấn luyện Synaptic Flow (synf1ow)
¢ Thử nghiệm bài toán tìm kiếm kiến trúc mang neural với hai mục tiêu và
nhiều hơn hai mục tiêu (cụ thể là năm mục tiêu), sau đó đổ về các khônggian từ 1-2 mục tiêu để so sánh với hiệu năng của thuật toán khi chỉ tối tru
hóa từ 1-2 mục tiêu.
* Áp dụng các phương pháp trên bộ benchmark NATS-bench để kiểm tra
hiệu quả và so sánh.
¢ Sử dụng chỉ số đánh giá hiệu năng IGD để kiểm tra hiệu quả của các phương
pháp dưới góc độ bài toán tối ưu hóa đa mục tiêu
1.7 Cấu trúc khóa luận
Khóa luận của chúng tôi bao gồm 6 phần chính như sau:
* Chuong[I} Tổng quan.
° Chương [2} Các công trình liên quan và kiến thức nền tảng.
* Chương |3} Mô hình hóa bài toán tìm kiếm kiến trúc mang neural đa mục
tiêu.
Trang 20Chương 1 TONG QUAN
* Chương} Phương pháp
° Chuong 5} Thuc nghiém.
« Chương|6} Kết luận.
Trang 21Chương 2
CÁC CÔNG TRÌNH LIÊN QUAN VÀ KIÊN THUC NÊN TANG
2.1 Các công trình liên quan
Model-based / trainable Learning curve-based
XGBoost NAO SemiNAS arly Stop (Acc.
GP's arly Stop (Loss)
Bayes GP
Sparse GP Var Sparse GP
SoTL SoTL-E
OneShot Random Search WS
HINH 2.1: Phân loại các phương pháp dự đoán hiệu nang hiện nay Những vùng được đỏ chính là phạm vi nghiên cứu của khoá luận này, bao gồm: zero-cost proxies (synflow) va early stop-
ping (độ chính xác kiểm định tai epoch thứ 12).
Trang 22Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THÚC NỀN TANG 7
© Sampled architectures
Negative @ Selected architectures
Synaptic Flow
HINH 2.2: Minh hoa bước chon lọc trong quá trình khởi tao cho thuật
toán tiến hóa do Phan và cộng sự dé xuất Trong ví dụ này, số lượng các kiến trúc được chọn va được lay mẫu lần lượt là 17 và 7.
Nhiều phương pháp dự đoán hiệu năng kiến trúc mạng neural đã được đềxuất để sử dụng trong bài toán NAS trong những năm trở lại đây như ngoại suy
đường cong huấn luyện (learning curve extrapolation) {11|2|23], chia sẻ trọng số
(weight-sharing) Bị 86], học có giám sát (supervised learning) | 9] hay
các chỉ số không huấn luyện (zero-cost proxies) (ij Trong đó, các chỉ số không
qua huấn luyện đã thể hiện được nhiều ưu điểm như không có thời gian khởi tạo
và thời gian truy vấn để rút ra hiệu năng của kiến trúc cũng rất ngắn (vài giây).Những chỉ số này được tính thông qua việc truyền một batch dữ liệu duy nhấtvào mạng hoặc thậm chí không cần dữ liệu nào Do bởi chỉ cần tính toán cho mộtkiến trúc cụ thể, thời gian khởi tao của các chỉ số không qua huấn luyện là không
Các chỉ số không qua huấn luyện gần đây cũng được sử trong quá trình khởi
tạo các thuật toán NAS Công trình của Phan và các cộng sự [37] bat dau với việc
lây mẫu ngẫu nhiên một lượng lớn kiến trúc Độ phức tap của các kiến trúc đượcđánh giá thông qua FLOPs và số lượng tham số, trong khi hiệu năng được ước
Trang 23Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THUC NEN TANG — 8
Encoding Evaluator Multi-Obj GA BOA
[1-01-001] Ệ = y Wor tL ww -L h
: 9 og0 © - [0-00-111-0111-00000-0) )
HÌNH 2.3: Tổng quan các giai đoạn của NSGA-Net 30)
lương bằng chỉ số Synaptic Flow (synflow) Tập các kiến trúc không bị thống tri
về hiệu năng và độ phức tạp sẽ được trích xuất để làm quan thể khởi tạo cho thuật
toán tiến hóa đa mục tiêu với hiệu năng được tính bằng độ chính xác thông qua
quá trình huấn luyện (Xem hình |2.2) Chỉ số không qua huấn luyện synf1ow do
đó chỉ được sử dụng trong giai đoạn khởi tạo (warm-up phase) và các kiến trúcứng viên vẫn cần phải huấn luyện thật để thu về độ chính xác trong giai đoạn tìmkiếm Việc này giúp nâng cao hiệu năng của thuật toán tiến hóa nhưng quá trìnhhuần luyện thật vẫn đòi hỏi nhiều chi phí tính toán
Chỉ số synf1ow cũng có thể được tận dụng để xây dựng thuật toán tìm kiếmđịa phương đa mục tiêu không qua huấn luyện nhằm cải thiện hiệu năng của
NSGA-II để giải quyết bài toán NAS đa mục tiêu như trong [38] Tại mỗi thé hệ,
một lượng các kiến trúc tiềm năng nhất định sẽ được cải thiện bởi quá trình tìmkiếm địa phương với synflow được sử dụng để kiểm tra việc cải thiện, do đókhông đòi hỏi bất kỳ quá trình huấn luyện nào Những kiến trúc ứng viên đượckhám phá trong quá trình tìm kiếm địa phương sau đó sẽ được huấn luyện thật
và đánh giá bởi độ chính xác kiểm định (validation accuracy) trước khi được thêm vào trong quan thể của NSGA-II.
Lu và các cộng sự
như trong Hinh|2.3} trong đó mô hình hóa bài toán NAS đa mục tiêu với hai mục
t
giải thuật di truyền sắp xếp không bị thống trị II (non-dominated sorting genetic
đã giới thiệu cách tiếp cận NSGA-Net với các giai đoạn
éu đối lập là độ lỗi phân loại (classfication error) và FLOPs Họ cũng sử dụng
algorithm II, hay NSGA-I) để giải quyết mô hình NAS đa mục tiêu này
Ngoài ra, Lu và các cộng sự [31] cũng đã dé xuất mô hình bài toán NAS nhiều
mục tiêu (many-objective NAS, hay MaOENAS) với năm mục tiêu (xem hinh[2.4)
là độ chính xác, số lượng tham số, số lượng toán tử nhân-cộng (Multipy-Add
operations), độ trễ của CPU va GPU Để cải thiện hiệu năng của NSGA-II nhằm
Trang 24Chương 2 CÁC CÔNG TRINH LIEN QUAN VÀ KIÊN THUC NEN TANG 9
Evolutionary Multi.
Objective Assisted NAS
Surrogate-HINH 2.4: Tổng quan phương pháp NSGANetV2B1]
giải quyết bài toán NAS nhiều mục tiêu, họ đã xây dựng một mô hình thay thế(surrogate model) để dự đoán độ chính xác của các kiến trúc ứng viên và công cụ
dự đoán này sẽ được tinh chỉnh lại trong suốt quá trình tìm kiếm Dau tiên, mô
hình thay thế được khởi tạo bằng cách lấy mẫu lấy mẫu một lượng nhỏ các kiến
trúc từ không gian tìm kiếm Sau đó, họ sử dụng NSGA-II để tìm kiếm kiến trúctrúc bằng cách sử dụng công cụ dự đoán này để ước lượng độ chính xác như làmột mục tiêu cùng với các mục tiêu khác vẻ độ phức tạp, hiệu quả phan cứng.Tuy nhiên, phương pháp này vẫn phải đi huấn luyện các kiến trúc được thuật
toán NSGA-II tim ra và xem sau đó xem các kiến trúc này và độ chính xác sau khi
huấn luyện của chúng là các mẫu huấn luyện để tinh chỉnh công cụ dự đoán
Sự khác biệt chính giũa công trình của chúng tôi và những công trình được đềcập ở trên là chúng tôi sử dụng chỉ số synf1ow để đánh giá hiệu năng của toàn bộkiến trúc được khám phá trong suốt quá trình tìm kiếm và không huấn luyện bat
kỳ kiến trúc nào Do và các cộng sự cũng đã dé xuất một phương pháp NAS
đa mục tiêu bằng thuật toán tiền hóa với việc sử dụng các chỉ số không qua huấnluyện trong toàn bộ quá trình tìm kiếm Họ sử dụng hai chỉ số là số lượng vùngtuyến tinh (linear region) Ry va số điều kiện của neural tangent kernel (NTK) Ky
để đánh giá hiệu năng của các kiến trúc ứng viên Tuy vậy, cả hai chỉ số Ry va Kyđều phụ thuộc vào dữ liệu, chúng được tính bằng cách truyền những mini-batchdir liệu được lay mẫu từ tap dữ liệu huấn luyện vào mạng Trong khi đó, synflow
có thể được tính mà không đòi hỏi tập dữ liệu cụ thể nào (data-agnostic).
Các phương pháp dự đoán hiệu năng được phân loại trong Hình T| Trong
khóa luận này, chúng tôi thực nghiệm và so sánh hai phương pháp dự đoán hiệu
Trang 25Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THUC NEN TANG 10
năng là độ chính xác kiểm định (validation accuracy) tại epoch thứ 12 (đòi hỏi
quá trình huấn luyện) và chỉ số dự đoán hiệu năng synf1ow (không qua quá trìnhhuấn luyện)
2.2 Bài toán Tối ưu hóa đa mục tiêu
Một cách tổng quát, bài toán tối ưu hóa đa mục tiêu bao gồm từ hai mụctiêu đối lập trở lên được tối ưu hóa đồng thời có thể được mô hình hóa như sau:
hóa đa mục tiêu sẽ tổn tại tập tối wu Pareto (Pareto-optimal set) và biên tối uu Pareto
(Pareto-optimal front) lần lượt trong không gian quyết định và không gian mụctiêu, bao gồm các lời giải đánh đổi giữa các mục tiêu khác nhau Trong thực tế,
mục tiêu của bài toán tối ưu hóa đa mục tiêu là đi xấp xỉ tập tối ưu Pareto/biên
tối ưu Pareto với một số lượng hạn chế các lời giải ứng viên đánh đổi giữa các
mục tiêu khác nhau.
2.3 Bài toán Tìm kiếm kiến trúc mạng neural
Các kiến trúc mạng neural phổ biến và thành công
nhiều năm trở lại đây hầu hết đều được thiết kế bởi các chuyên trong lĩnh vực
học sâu Tuy vậy, điều này không đồng nghĩa với việc chúng ta đã khám phá toàn
bộ không gian tìm kiếm Tìm kiếm kiến trúc mạng neural (neural architecturesearch, hay NAS) là quá trình tự động hóa kỹ thuật thiết kế kiến trúc, giúp chúng
ta có cơ thể tìm ra những kiến trúc có hiệu năng cao một cách tự động và có hệthống Elsken và các cộng sự đã mô tả bài toán tìm kiếm kiến trúc mạngneural là một hệ thống có ba thành phần được minh hoa trong Hình|2.5|bao gồm:
Trang 26Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THÚC NEN TANG 11
Architecture x
0
eeeeeoos eoeooeeeo gbbcee: e00boceeo
Search Search Metric
Space Algorithm Evaluator
metric_values(x)
HINH 2.5: Minh họa các thành phan của bài toán tìm kiếm kiến trúc
mạng neural Chiến lược tìm kiếm (search algorithm) sẽ chọn một kiến trúc không gian tìm kiếm (search space) O được định
nghĩa trước Kiến trúc x sẽ được truyền vào chiến lược ước lượng.
hiệu nang (metric evaluator) và trả về hiệu năng ước lượng của x
đến chiến lược tìm kiếm.
1 Không gian tìm kiếm (search space): Không gian tìm kiếm kiến trúc mạng,
neural là một tập các operation (convolution, fully-connected, pooling) và
cách các operation kết nối với nhau để tạo thành một kiến trúc hợp lệ Việcthiết kế không gian tìm kiếm sẽ được thực hiện bởi con người và do đó
không thể tránh khỏi những thiên kiến (bias).
2 Chiến lược tìm kiếm (search strategy): Chiến lược tìm kiếm là phương
thức để khám phá không gian tìm kiếm Nó nhận các chỉ số hiệu năng của
mô hình (độ chính xác, ELOPs, ) làm phần thưởng (reward) và tối ưu hóa
để tìm ra các kiến trúc ứng viên có hiệu năng cao
3 Chiến lược đánh giá hiệu năng (performance estimation strategy): Mục
tiêu của bài toán tìm kiếm kiến trúc mạng neural là tìm kiếm kiến trúc có
hiệu năng trên tập dữ liệu mà nó chưa nhìn thấy bao giờ (unseen data).
Ước lượng hiệu năng để cập đến việc ước lượng chỉ số hiệu năng này chomột lượng lớn kiến trúc ứng viên để trả về cho quá trình học của thuật
toán tìm kiếm Một trong những cách đơn giản nhất là huấn luyện các kiến
trúc qua hàng chục, hàng trăm epoch và sử dụng độ chính xác kiểm định
(validation accuracy) làm chỉ số đánh giá hiệu năng, nhưng quá trình lại tốn
kém quá nhiều về mặt tính toán dẫn đến giới hạn số lượng kiếm trúc có thểkhám phá Day cũng chính thành phan tốn kém nhiều chi phí nhất, đượcxem như là nút thắt cổ chai (bottle-neck) trong quy trình tìm kiếm kiến trúc
Trang 27Chương 2 CÁC CONG TRÌNH LIEN QUAN VÀ KIÊN THÚC NEN TANG 12
mạng neural Do đó, nhiều nghiên cứu gần đây đã tập trung vào việc phát
triển giúp giảm chỉ phí cho quá trình đánh giá hiệu năng
2.4 Bài toán Tìm kiếm kiến trúc mạng neural đa mục
tiêu
Bài toán Tìm kiếm kiến trúc mạng neural đa mục tiêu (Multi-Objective NeuralArchitecture Search, viết tắt là MONAS) [ có thể được định nghĩa là việctìm kiếm kiến trúc mang neural phù hợp x khi xét trong một không gian tìm kiếm
kiến trúc O Không làm mất tính tổng quát, quá trình tìm kiếm kiến trúc mạng
neural đa mục tiêu là việc tối thiểu hóa m đồng thời các mục tiêu ƒ¡(x),í € M ={1, ,m} Do đó, mỗi kiến trúc ứng viên x sẽ có một vector gồm các giá trị mụctiêu f(x) = (fi(x), ,f„(x)) © IRTM Một bài toán MONAS có các tinh chất sau
đây:
1 Thống trị Pareto (Pareto dominance): Một kiến trúc x! được gọi là thống trị
(Pareto) một kiên trúc x? khác khi và chỉ khi x! không tệ hơn x? ở tat cả các
mục tiêu và x! tốt hon hẳn x? ở ít nhất một mục tiêu
xi xx? <= Wie M, fi(x!) < f(x?)A đi M, fi(x!) < fi(x?)
2 Những kiến trúc không bị thống tri: x! va x2 được xem là không bị thông trị
khi x! và x? không thống trị lẫn nhau
wi Áx2Ax2 Axl,
3 Kiến trúc không tưởng (Utopian architecture): Khi nhiều mục tiêu đối lập
nhau (như độ lỗi và độ phức tạp), một kiến trúc không tưởng mà tat cả cácmục tiêu đồng thời được tối thiểu hóa cùng một lúc là không tồn tại
px* €0,VxE€O,x* <x
4 Tap Pareto tối ưu (Pareto-optimal set): Ton tại một Tập Pareto tối uu Ps củanhững kiến trúc tối ưu theo nghĩa là chúng không bị thống trị bởi bất kỳkiến trúc nào khác trong không giam tìm kiếm
Ps = {xe O| fx’ © O,x' < x}
5 Biên Pareto tối ưu (Pareto-optimal front): Những vector giá trị mục tiêu củanhững kiến trúc Pareto tối ưu tạo thành Biên Pareto tối ưu Pr trong không
Trang 28Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THÚC NEN TANG 13
gian mục tiêu Mỗi điểm trên Py là một sự đánh đổi tối ưu giữa những mục
tiêu đối lập nhau Ví dụ, nếu chúng ta muốn cải thiện kiến trúc Pareto tối
ưu trên một mục tiêu (như giảm chỉ số độ lỗi) thì những mục tiêu khác sẽ
bị xấu đi (như tăng số lượng tham số) P do đó cung cấp cho những người
ra quyết định các thông tin hữu ích, sâu sắc để thực hiện việc lựa chọn kiếntrúc, như tìm ra sự đánh đổi hiệu quả nhất về độ phức tạp của mạng để tăng
độ chính xác của mạng Biên Pareto tối ưu được minh họa trong Hinh{2.6|
Pr = {f(x) €RTM |x € Ps}.
Dé thu được toàn bộ tap Pareto tối ưu (Pareto-optimal set) Ps thường tốn kém
về mặt chi phí tính toán và có thể không cần thiết Do đó, chỉ cần tìm một tập xitốt S chứa những kiến trúc không bị thống trị sao cho các vector giá trị cục miêucủa chúng tạo thành một biên xap xỉ ƒ(S) càng gần (xap xỉ) và càng trải rộng (đa
dang) giống so với biên Pareto tối ưu Pr càng tốt 3| 9}.
2.5 Chỉ số Synaptic Flow không qua huan luyện
Synaptic Flow (synf1ow) là một chi số để đo lường mức độ quan trong củamỗi tham số trong mạng neural dựa trên sự tương tác giữa tham số đó với các
Trang 29Chương 2 CÁC CÔNG TRINH LIEN QUAN VÀ KIÊN THUC NEN TANG 14
Test accuracy (%) Test accuracy (%) Test accuracy (%)
HINH 2.7: Minh họa tat cả các kiến trúc trong không gian tìm kiếm
NAS-Bench-201 Trục hoành: Độ chính xác kiểm thử ở epoch thứ 200; Trục tung: FLOPs Những điểm tròn có màu càng sáng thì có
giá trị synflow càng cao Những điểm tam giác mau đỏ chỉ những
kiến trúc có giá trị synf1ow cao nhất.
lớp của các tham số khác của mạng Tanaka và các cộng sự đã giới thiệu chỉ
II
số synf1ow lần đầu tiên cho một tham số wij trong lớp thứ Ï của một mang neural
kết nói day đủ (fully-connected) như sau:
k=l+1
(4 r TÌ (kK) Owe
Pw!) = |1 TT] |w | wl} Iw ja (2.2)
i = i
Trong đó, WII là ma trận trọng số của lớp (layer) thứ k của mạng Chi số
synf1ow cho một tham số wi tinh dén tich giá trị tuyệt đối của các trọng số của
tat cả các lớp phía sau lớp thứ / hiện tại, cũng như tích giá trị tuyệt đối của cáctrọng số của tat cả các lớp phía trước lớp | hiện tại Do đó, chỉ số synf1ow của tham
SỐ Ps tơ
Abdelfattah và các cộng sự.
) phản ánh mức độ đóng góp của tham số cho toàn bộ mạng neural
sau đó đã mở rộng chỉ số synflow để đánh giá
toàn bộ kiến trúc mang neural x bằng cách tính tổng giá trị synflow cho tất cả M
tham số trong mạng neural như sau:
Spearman ø của synflow cao hơn các chỉ số không qua huấn luyện khác trong
hầu hết các trường hợp ở Bảng Ngoài ra, Hình 2.7] cũng minh họa toàn bộ
Trang 30Chương 2 CÁC CÔNG TRÌNH LIEN QUAN VÀ KIÊN THÚC NEN TẢNG_ 15
Benchmark Dataset grad_norm snip grasp fisher jacob_cov synflow NAS-Bench-201 CIFAR-10 0.58 058 048 0.36 0.73 0.74
kiến trúc của NATS-Bench |
kiểm thử (test accuracy) được đánh giá bằng cách sử dụng bộ trọng mạng sau
trong không gian hai mục tiêu là độ chính xác
khi huấn luyện 200 epoch và FLOPs Có thé thay rằng những kiến trúc có giá trị
synf1ow cao có xu hướng cũng có độ chính xác kiểm thử cao (test accuracy) Bên
cạnh đó, synf1ow là một chỉ số được tính không thông qua đữ liệu (data-agnosticmetric) mà chỉ cần dựa trên các trọng số của mang (xem Phương trin!
kiện của NTK (6 nó không yêu cau bắt kỳ lô (batch) dữ liệu nào để truyền qua
hoặc số điềugiống như các chỉ số không qua huấn luyện khác như jacob_cov |
mạng.
Trang 31Chương 3
MÔ HÌNH HÓA BÀI TOÁN TÌM
KIÊM KIÊN TRÚC MẠNG NEURAL
ĐA MỤC TIÊU
3.1 Tim kiếm kiên trúc mạng neural đa mục tiêu
Một bài toán NAS hai mục tiêu có thể được mô hình hóa như sau:
minimize F(x) = (ƒferr(%,z0”(*), Dyai), feomp(X)) € R’,
subject to w*(x) € argmin L(x, w(x), Drain), (3.1)
XE Oarch, W(X) € Oweight(x),Đây là một bai toán tối ưu hóa hai cấp độ (bi-level optimization problem)
3.1.1 Cấp độ cao (upper level)
Tai cấp độ cao (upper level), x được ký hiệu là một kiến trúc trong không giantìm kiếm O,ychi hai mục tiêu tối ưu hóa là tối thiểu hóa chỉ số độ lỗi (error rate)ferr và tối thiểu hóa chỉ số độ phức tạp fcomp Độ phức tạp của mạng thường
được đánh giá bằng một trong những chỉ số như số lượng tham số (number of
parametrs, hay #parameters), FLOPs, độ trễ (latency) hoặc #MACs Những chỉ sốnày có thể được tính mà không cần xét đến giá trị trọng số của mạng w(x) Lưu
ý rằng forr ở cấp độ trên (upper level) nên được tính trên tập dữ liệu kiểm định
(validation dataset) D,q) để tránh van dé overfit vào một tập dữ liệu huấn luyện
Trang 32Chương 3 MÔ HÌNH HÓA BÀI TOÁN TÌM KIEM KIEN TRÚC MẠNG
NEURAL ĐA MỤC TIEU
Dtrain cụ thé do việc tối thiểu hóa ở cấp độ thấp (upper level) Khi kết thúc quátrình chạy NAS, kết quả chỉ số độ lỗi (error rate) cuối cùng và giá trị trọng số củanhững kiến trúc sẽ được đánh giá lại trên trên tập dữ liệu kiểm thử (unseen testđataset) để có thể đánh giá được hiệu năng tổng quát của chúng
3.1.2 Cấp độ thấp (lower level)
Giá trị của w(x) là kết quả của bài toán tối ưu hóa cấp độ thấp (lower level)
trên không gian trọng số mạng ©„„¡„¡¡(x) của những kiến trúc ứng viên x Day
là một quá trình huấn luyện mạng tốn kém về mặt tính toán Ví dụ, ta có thể sửdụng thuật toán stochastic gradient descent (SGD) để thực hiện nhiều cập nhật
lặp đi lặp lại trên các giá trị trọng số mạng để tối thiểu hóa hàm mắt mát £ đo
lường sự khác biệt giữa những dự đoán của mạng và các giá trị mục tiêu thực sự
cho các điểm dữ liệu trong dữ liệu huấn luyện Dụa¡n
Chúng tôi gọi phát biểu bài toán này là MONAS (Multi-Objective Neural
Ar-chitecture Search).
3.2 Tìm kiếm kiến trúc mạng neural đa mục tiêu không
qua huấn luyện
Trong suốt quá trình tìm kiếm, nhiều kiến trúc ứng viên cần được đánh giá
hiệu năng dự đoán của chúng ferr (Phương trình B-}, dẫn đến quá trình huấn
luyện các kiến trúc ứng viên này (tối ưu hóa cấp thấp) tiêu tốn một lượng lớn chỉphí tính toán và chiếm hau hết tổng thời gian tính toán Nhiều mô hình NAS đãđược đề xuất sử dụng những chỉ số không qua huan luyện (training-free metric)như là một chỉ số thay thế (proxy) cho chỉ số độ lỗi (error rate) ferr, nhờ đó màkhông tốn chỉ phí huấn luyện mạng Chúng ta có thể mô hình hóa bài toán NAShai mục tiêu với chỉ số không qua huấn luyện synf1ow như sau:
minimize F(x) = (ƒsr(x,z0()), feomp(x)) € RỂ,
(3.2)
subject to x € Oarch, W(x) € Oweignt(x),
Trang 33Chương 3 MÔ HÌNH HÓA BÀI TOÁN TÌM KIEM KIEN TRÚC MẠNG
NEURAL ĐA MỤC TIEU
Trong đó, for(x,w(x)) = —synflow(w(x)) (do giá trị của synflow càng cao
càng tốt) Trọng số của mang w(x) có thể dé dàng được lấy từ các giá trị ngẫunhiên tại thời điểm khởi tạo trọng số mạng để tính giá trị synflow Chúng tôigọi phát biểu bài toán này là TF-MOENAS (Training-Free Multi-Objective NeuralArchitecture Search) Chúng tôi sẽ so sánh hiệu năng và các kết quả của việc giảiquyết bài toán TF-MOENAS với các kết quả của việc giải quyết bài toán MOENASđòi hỏi quá trình huấn luyện
3.3 Tìm kiếm kiến trúc mạng neural nhiều mục tiêu
Một cách mở rộng đơn giản mô hình MOENAS trong Phương trình|3.T]là xemxét đồng thời nhiều chỉ số độ phức tạp (không đòi hỏi quá trình huấn luyện)
thay vì chỉ tối ưu hóa duy nhất một chỉ số độ phức tạp Những chỉ số này giúp
thể hiện những khía cạnh khác nhau về độ phức tạp của mạng và có thể tínhđược mà không tốn quá nhiều chỉ phí tính toán Một ví dụ điển hình là việc triển
khai các mạng neural sâu trên các thiết bị nhúng (chẳng hạn như máy bay không
người lái hoặc đồng hồ thông minh) thường cần xem xét nhiều giới hạn về mặtphần cứng (như kích thước mô hình hay bộ nhớ) và các yêu cầu sử dụng (usage
requirement) Chúng tôi mô hình bài toán NAS nhiều mục tiêu với năm mục tiêu
như sau:
minimize F(x) = (forr(x, w* (x), fMAcs(%),
fiatency(X), frLops(%), fparams(*)), (3.3)
subject to x € Oarch, W(x) € Oweignt(*),
Trong đó, những độ độ do phức mà chúng tôi sử dụng là:
1 Số đơn vị nhân - tích lũy (The number of Multiply-Accumulate units, viết
tat là #MACs) fMAcs: Các đơn vị nhân - tích lũy chịu trách nhiệm thực hiện
hầu hết những phép toán phức tạp trên các thiết bị vật lý Do đó, #MACscàng nhỏ thì kiến trúc càng ít phức tạp hơn vì có ít thao tác phức tạp cần
thực hiện.
2 Độ trễ (Latency) fatency: Độ trễ đề cập đến thời gian cần thiết để xử lý một
đơn vị dữ liệu được cung cấp với điều kiện chỉ duy nhất một đơn vị dữ liệu
Trang 34Chương 3 MÔ HÌNH HÓA BÀI TOÁN TÌM KIEM KIEN TRÚC MẠNG
NEURAL ĐA MỤC TIEU
được xử lý tại một thời điểm Đơn vị của độ trễ là giây Một mạng neuralcần càng nhiều thời gian để xử lý một batch dữ liệu thì càng có độ phức tạp
cao.
3 The number of floating-point operations (FLOPs) ftqop;: FLOPs là tổng
số phép toán dấu phẩy động (floating-point operations) như cộng, nhân,chia, cần thiết cho một lần lan truyền xuôi FLOPs càng cao thì mô hình
càng chậm và dẫn đến thông lượng (throughput) thấp.
4 Số lượng tham số (#parameters) params: Tham số nói chung là các trọng mà
mạng neural phải học trong quá trình huấn luyện Chúng là ma trận trọng
số đóng góp vào khả năng dự đoán của mô hình, được thay đổi trong quá
trình huấn luyện Do đó, số lượng tham số của mạng càng nhỏ thì độ phức
tạp của mạng cũng càng càng thấp
Chúng tôi đặt tên cho phát biểu bài toán này là MaOENAS (Many Objective
Evolutionary NAS) Chúng tôi sẽ giải quyết 01 bài toán MaOENAS bao gồm bốn
mục tiêu tối ưu hóa cho độ phức tạp của mạng và so sánh với 04 bài toán
MOE-NAS khác nhau với chỉ một mục tiêu phức tạp.
3.4 Tìm kiếm kiến trúc mạng neural nhiều mục tiêu
không qua huan luyện
Chúng ta có thể thay độ lỗi ferr trong mô hình MaOENAS ở Phương trình|3.3|
thành chỉ số synflow fsp không qua huấn luyện để giảm bớt chi phí tính toán.Việc này giúp cho mô hình có thể tối thiểu hóa đồng thời nhiều mục tiêu với chỉphí tính toán hợp lý Mô hình bài toán NAS nhiều mục tiêu không qua huấn luyện
có thể được trình bày như sau:
minimize F(x) = (fsr(x,w(x)), ÍMAcs(*),
Fiatency(*), fFLOPs(); fparams (*)), (3.4)
subject to x € Oarch, W(x) € Oweignt(*),
R
Chúng tôi gọi phát biểu bài toán nay là TF-MaOENAS (Training-Free Many
Objective Evolutionary NAS) Cũng giống như MaOENAS, chúng tôi sẽ giải quyết
Trang 35Chương 3 MÔ HÌNH HÓA BÀI TOÁN TÌM KIEM KIEN TRÚC MẠNG
NEURAL ĐA MỤC TIEU
01 bài toán TF-MaOENAS bao gồm bốn mục tiêu tối ưu hóa cho độ phức tạp của
mạng và so sánh với 04 bài toán TF-MOENAS khác nhau với chỉ một mục tiêu
phức tạp.
Trang 36Mặc dù bài toán NAS đa mục tiêu đã dat được nhiều kết quả nổi bật trong
những năm trở lại đây, việc giải quyết bài toán NAS vẫn còn đặt ra nhiều thử
thách cho các nhà nghiên cứu như:
* Chi phí tính toán: Nhiều phương pháp NAS cơ bản thường đòi hỏi chi phí
tính toán khổng 16, điều này gây nhiều khó khăn cho các nhà nghiên cứu
trong giới học thuật Trong khi đó, thuật toán tiến hóa thường yêu cầu đòihỏi một lượng lớn số lần đánh giá các lời giải trong quá trình chạy dẫn đến
chỉ phí tính toán trở nên vô cùng lớn.
¢ So sánh thuật toán: Mặc dù nhiều phương pháp NAS hiệu qua đã đượcphát triển trong thời gian gần đây, chúng lại không thể so sánh trực tiếp vớinhau do sự khác biệt trong không gian tìm kiếm và quá trình huấn luyệncác kiến trúc ứng viên Do đó, chúng ta không gần như không thể so sánh
các phương pháp NAS này với nhau và cũng không thể cô lập được mức
độ đóng góp của thuật toán tối ưu hóa trong tổng thể thành công của một
phương pháp NAS.
Để giải quyết hai vấn dé trên, Dong và các cộng sự [15] đã đề xuất
NATS-Bench - một bộ benchmark dạng bảng Ý tưởng chính đằng sau NATS-NATS-Bench là
việc đánh giá toàn bộ tất cả các kiến trúc trong không gian tìm kiếm nhiều lần vàlưu lai các thông tin của chúng dưới dang bảng giúp dé dang cho việc truy xuất
Trang 37Chương 4 PHƯƠNG PHÁP 22
zeroize (none)
= skip connection
x1 conv + 3x3 conv 3x3 average pooling
HINH 4.1: Ví dụ về việc mã hóa các cell trên NATS-Bench Trong đó, (0) zeroize (none), (1) skip connection (skip_connect), (2) 1x1 convo-
lution (nor_conv_1x1), (3) 3x3 convolution (nor_conv_3x3) va (4) 3x3
average pooling (avg_pool_3x3).
Trong khóa luận này, chúng tôi sử dụng NATS-Bench với không gian tìm kiếm
micro Không gian tìm kiếm micro tập trung vào việc thiết kế khối tính toán(computational blocks) hay còn gọi là cell Sau đó, các cell này sẽ được xếp chồng,
lên nhau để tạo thành một kiến trúc mạng neural hoàn chỉnh theo một mẫu được
định nghĩa trước Hiện nay nhiều kiến trúc CNN phổ biến có thể nhìn dưới góc
độ là các khối tính toán xếp chồng lên nhau như ResNet [19], DenseNet 21} va
InceptionNet [43]
NATS-Bench gom 15,625 kiến trúc cell CNNs, bao gom ba bộ dữ liệu là
CIFAR-10, CIFAR-100 và downsampled ImageNet 16x16 Các thông tin của kiến trúc bao
gồm: Độ chính xác kiểm định (validation accuracy), độ chính xác kiểm thử (test
accuracy), số lượng tham số (number of parameters), độ trễ (latency), FLOPs, thờigian huấn luyện,
4.1.2 Mahoa
Các thuật toán tiến hóa thường không hoạt động trực tiếp trên kiểu hình notypes) của cá thể Cụ thể, chúng ta có thể xem kiến trúc mạng neural là kiểuhình và biểu diễn được ánh xạ của kiến trúc đó là kiểu sen (genotype) Trong thuậttoán tiến hóa, các toán tử di truyền như lai ghép hay đột biến chỉ hoạt động trên
(phe-không gian kiểu gen Do đó, chúng ta sẽ xem việc chuyển đổi kiểu hình thành
kiểu gen là quá trình ma hóa (encoding)
Trong khóa luận này, mỗi cell của kiến trúc trong không gian tìm kiếm sẽ bao
gồm 4 đỉnh và 6 cạnh Trong đó, mỗi đỉnh biểu diễn tổng của các feature map và
mỗi cạnh biểu diễn một operation kết nối feature map giữa hai đỉnh Chúng tôi
Trang 38Chương 4 PHƯƠNG PHÁP 23
mã hóa mỗi cell như sau: [xo — x0,2X12 — X03X1,3X2,3], trong đó xi; đại điện cho
một cạnh kết nối giữa đỉnh i và đỉnh j (i < j) Giá trị của Xij nam trong đoạn |0; 4],
cụ thể: (0) zeroize (none), (1) skip connection (skip_connect), (2) 1x1 convolution
(nor_conv_1x1), (3) 3x3 convolution (nor_conv_3x3) và (4) 3x3 average pooling
(avg_pool_3x3) Chỉ tiết mã hóa trong Hinh{4.1|
4.2 Chiến lược tim kiếm
Thuật toán 1 Tìm kiếm kiến trúc đa mục tiêu bằng thuật toán tiến hóa (MONAS)Input: Không gian tìm kiếm O
Output: Biên xap xỉ A
while diéu kiện dừng chưa được đáp ứng do
Tao ra các kiến trúc con cái C bằng cách áp dụng các phép lai ghép và độtbiến trên các cá thể cha mẹ P
Đánh giá C bằng các chỉ số dự đoán hiệu năng và các chỉ số về độ phức tap8: Cap nhật elitist archive A để bảo tồn các kiến trúc không bị thống tri từ C9: Kếthợp 7 và Œ để tạo ra Q
10: Áp dụng phép chon lọc để lựa chọn các kiến trúc tốt nhất từ Q dựa trên
thứ hạng không bị thống trị và độ đa dạng 11: Cập nhật quan thể P với các cá thể được lựa chon từ Q
12: end while
13: return elitist archive cuối cùng A như là một biên xắp xỉ =0
n
Trong khóa luận này, chúng tôi sử dung thuật toán tiến hóa đa mục tiêu
NSGA-II (9 như một chiến lược tìm kiếm kiến trúc mạng neural đa mục tiêu được minh họa trong Hình |4.2| và Thuật toán [| Đầu tiên, NSGA-II là một quá
trình lặp đi lặp lại qua các thế hệ nhằm cải thiện dan dần một nhóm những giải
pháp được khởi tạo ngẫu nhiên ban đầu, còn được gọi là quân thể Tại mỗi thế hệ,một lượng cá thể con cái (offspring) hay trong NAS còn được hiểu là các kiến trúcmang mới sẽ được tạo ra từ các cá thể cha me (parent) được chọn từ quan thể.Sau đó, một lượng cá thể tốt nhất nhất định trong quan thể (bao gồm cả cha mẹ