Chươ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 neural cho một mục tiêu, ví dụ như độ chính xác mạng. Trong khi đó, việc triển khai mạ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 khai trên các máy trạm (workstation) nhưng lại quá phức tạp và lớn để triển khai trên cá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 nhau trong 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ạng neural tích chap (Convolutional neural networks - CNNs) nhiéu muc tiéu. Khoa luậ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ếm kiế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 NATS- 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 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.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.
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 nhu cầ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ông gian 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.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. TONG QUAN * Chương} Phương pháp.
° Chuong 5} Thuc nghiém. « Chương|6} Kết luận. Chươ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 __Deep Nets _ BANANAS | Extrapolation Trees BOHAMIANN LGBoost || BONAS DNGO NGBoost GCN MLP RF Z Metrics XGBoost NAO SemiNAS arly Stop (Acc. GP's arly Stop (Loss) Bayes.
GP SoTL SoTL-E Sparse GP Var. Sparse GP 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). 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ất và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ột kiế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 Chươ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] tL ww Ệ = -L y h Wor : 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. 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ìm kiế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ình huầ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ìm kiế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 được khá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ự đã giới thiệu cách tiếp cận NSGA-Net với các giai đoạn 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 éu đối lập là độ lỗi phân loại (classfication error) và FLOPs.
Họ cũng sử dụng giải thuật di truyền sắp xếp không bị thống trị II (non-dominated sorting genetic 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 Chương 2. CÁC CÔNG TRINH LIEN QUAN VÀ KIÊN THUC NEN TANG 9 Evolutionary Multi.
Objective Surrogate- Assisted NAS 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úc trú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ấn luyện trong toàn bộ quá trình tìm kiếm. Họ sử dụng hai chỉ số là số lượng vùng tuyế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-batch dir 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 Chươ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ình huấn luyện).