Neural Architecture Search là gì? Những điều bạn cần biết về NAS
BÀI LIÊN QUAN
Unsupervised Learning là gì? Ví dụ và so sánh với Supervised LearningBlended Learning là gì? Lợi ích của phương pháp học tập áp dụng công nghệ sốBig Data và Machine Learning, những điều không phải ai cũng biếtNeural Architecture Search là gì?
Khái niệm về Neural Architecture Search (NAS) liên quan đến thuật ngữ Deep Neural Network (DNN) - Mạng thần kinh sâu, nền tảng cơ bản nhất của mạng thần kinh (Neural Network).
DNN là những mô hình kiến trúc mạnh mẽ nhưng rất khó và tốn thời gian để phát triển. Có rất nhiều cách để cấu trúc và sửa đổi một mạng thần kinh, trong đó, để tìm kiếm được kiến trúc học sâu phù hợp nhất là một quá trình bao gồm nhiều lần lặp thử và sai. Neural Architecture Search (NAS) là giải pháp thay thế cho thiết kế DNN thủ công.
Nói chung, Neural Architecture Search là kỹ thuật giúp khám phá các mạng thần kinh tốt nhất cho một vấn đề nhất định. Nó tự động hóa việc thiết kế DNN, đảm bảo hiệu suất cao hơn và tổn kém thấp hơn so với kiến trúc được thiết kế thủ công. NAS cũng nhanh hơn nhiều so với các quy trình thủ công truyền thống.
Mục đích chính của Neural Architecture Search là chọn được kiến trúc tối ưu từ nhiều kiến trúc phù hợp khác. Ví dụ phổ biến do NAS tạo ra là Mạng thần kinh tích chập (Vonvolutional Neural Network) - EfficientNet.
Neural Architecture Search hoạt động như thế nào?
Neural Architecture Search là một lĩnh vực đang phát triển trong nghiên cứu học sâu (Deep Learning) nhằm cung cấp những mô hình và các ứng dụng tốt hơn. Tuy nhiên, quá trình phát triển NAS còn gặp rất nhiều thách thức. Để hiểu về cách hoạt động của Neural Architecture Search, trước tiên, cùng tìm hiểu về các thành phần của nó.
NAS được xây dựng bởi 3 khối chính, có thể được phân loại là không gian tìm kiếm, chiến lược/thuật toán tìm kiếm và chiến lược đánh giá. Mỗi thành phần sẽ có phương pháp tiếp cận khác nhau:
- Không gian tìm kiếm (Search space): Xác định các thao tác được sử dụng để thiết kế DNN.
- Chiến lược tìm kiếm (Search strategy): Tối ưu hóa số liệu rất cần thiết trong chiến lược tìm kiếm và tối ươc tính hiệu suất.
- Chiến lược đánh giá (Evaluation strategy): DNN sẽ được đánh giá hiệu suất của DNN, trước khi xây dựng và đào tạo.
Xác định không gian tìm kiếm
Trong không gian tìm kiếm của Neural Architecture Search, thuật toán NAS được sử dụng để xác định các loại kiến trúc, thông qua một tập hợp các hoạt động gồm xác định cấu trúc tổng thể (khung) của mạng, loại đơn vị (các lớp) và khả năng kết nối giữa các lớp để tạo kiến trúc.
Không gian tìm kiếm càng bao gồm nhiều yếu tố thì càng phức tạp và tính linh hoạt càng cao. Và đương nhiên khi không gian tìm kiếm mở rộng, chi phí cho quá trình tìm kiếm kiến trúc tốt nhất cũng sẽ tăng lên. Các loại hoạt động được sử dụng trong bước này bao gồm các hoạt động tuần tự theo lớp, biểu diễn dựa trên ô, cấu trúc phân cấp, v.v.
Thiết kế chiến lược tìm kiếm
Trong chiến lược tìm kiếm, thuật toán NAS sẽ tiến hành thử nghiệm các mạng thần kinh khác nhau. Cách thức hoạt động là từ một mẫu tập hợp các “ứng cử viên” mạng, thuật toán sẽ tối ưu hóa các chỉ số hiệu suất của mô hình con, dưới dạng phần thưởng, để tạo đầu ra của các ứng cử viên kiến trúc hiệu suất cao.
Có nhiều phương pháp giúp tối ưu hóa chiến lược tìm kiếm để mang lại lại kết quả tốt hơn, nhanh hơn và nhất quán. Các loại thuật toán tìm kiếm được sử dụng bao gồm tìm kiếm ngẫu nhiên, phương pháp tiến hóa thần kinh (Elsken và cộng sự, 2019), phương pháp tiếp cận Bayes (Mendoza và cộng sự, 2016) và học tăng cường (Zoph và Le, 2016).
- Tìm kiếm ngẫu nhiên (Random Search): bao gồm một thuật toán NAS chọn ngẫu nhiên một kiến trúc mạng thần kinh từ không gian tìm kiếm. Đây là phương phát tìm kiếm tốn kém bởi nó chiếm dụng lượng lớn GPU (lên đến hàng trăm đến hàng nghìn) cho một lần tìm kiếm tùy thuộc vào độ phức tạp của không gian tìm kiếm.
- Học tăng cường (Reinforcement Learning): là kỹ thuật đào tạo các mô hình học máy. Theo đó, các mô hình sẽ tự tìm kiếm giải pháp dựa trên quá trình thử và sai, phần thưởng và hình phạt. Quá trình này cho phép mô hình ra quyết định trong môi trường phức tạp và học cách chọn kiến trúc tốt hơn cho NAS.
- Tối ưu hóa Bayes: là một bộ kỹ thuật thường được sử dụng để tăng tốc quá trình tìm kiếm. Đây là phương pháp tiếp cận phổ biến nhằm tối ưu hóa siêu tham số. Ở cấp độ cao, nó bắt đầu bằng việc chọn và đánh giá ngẫu nhiên các kiến trúc, sau đó dần điều chỉnh hướng tìm kiếm dựa trên kết quả đánh giá và thông tin thu thập được về hiệu suất của các kiến trúc khác nhau. Tối ưu hoá Bayes cũng là phương pháp tiếp cập rất tốn kém.
Thiết lập chiến lược đánh giá
Trong quá trình NAS, thuật toán sẽ được huấn luyện, đánh giá, xác thực và so sánh hiệu suất trước khi chọn mạng thần kinh tối ưu. Quá trình đào tạo đầy đủ trên mỗi mạng nơ-ron thường đòi hỏi thời gian dài và tính toán cao.
Để giảm chi phí đánh giá các mô hình học sâu, một số chiến lược có thể được áp dụng bao gồm:
- Hiệu suất tác vụ proxy
- Ước tính hiệu suất có độ trung thực thấp - thoát sớm sau một vài lần tham chiếu, đào tạo trên một tập hợp con dữ liệu, mô hình hoặc dữ liệu thu nhỏ
- Thừa kế trọng lượng
- Chia sẻ trọng lượng
- Ngoại suy đường cong học tập
- Hình thái mạng
Kết hợp tìm kiếm và đánh giá: Phương pháp tiếp cận một lần
Việc tiến hành độc lầm tìm kiếm và đánh giá rất tốn kém. Để giải quyết vấn đề này, một nhóm các phương pháp NAS khác đã được phát triển.
Efficient Neural Architecture Search (ENAS) của Pham và cộng sự (2018) là một ví dụ nổi bật về thuật toán một lần. Phương pháp này đạt được tốc độ tìm kiếm gấp 1000 lần so với các kỹ thuật trước đó.
Mặc dù các kỹ thuật NAS đang không ngừng phát triển và đã thành công trong việc giảm thiểu tài nguyên tính toán cần thiết và vượt trội hơn rất nhiều các kiến trúc thủ công, nhưng nhìn chung, NAS vẫn rất phức tạp.
Lợi ích: Tại sao nên sử dụng NAS?
Khi Mạng thần kinh sâu (DNN) ngày càng được ứng dụng phổ biến trong các ngành, nhu cầu triển khai DNN hiệu quả cũng theo đó tăng lên. Việc sử dụng Neural Architecture Search cho phép:
- Tự động hóa quy trình thử nghiệm và lựa chọn kiến trúc
- Cho phép bạn dễ dàng đạt được kết quả với tốc độ suy luận và độ chính xác cao hơn
- Rút ngắn quy trình lặp lại và rườm rà để đưa các mô hình học sâu vào sản xuất
Hạn chế của Neural Architecture Search
Như đã đề cập ở trên, NAS mang lại nhiều lợi ích cho các nhà khoa học dữ liệu đang tìm cách tối ưu hóa DNN và làm cho chúng hoạt động hiệu quả hơn. Tuy nhiên NAS vẫn còn khá nhiều hạn chế:
- Đòi hỏi tài nguyên chuyên sâu: Các phương pháp NAS rất tốn kém về mặt tính toán vì có thể mất nhiều ngày và sức mạnh tính toán lớn để tìm ra mô hình tốt nhất.
- Thời gian: Mặc dù các mô hình hiện đại đã chạy nhanh hơn nhiều so với trước đây, nhưng một số mô hình vẫn cần mất nhiều thời gian mới có thể tìm ra kiến trúc tối ưu.
- Khó liên kết với thực tế: Các mô hình NAS được đào tạo dựa trên dữ liệu ngoại tuyến, do đó, khó có thể dự đoán chúng sẽ hoạt động như thế nào trên các kiến trúc với dữ liệu thực.
Ví dụ về NAS
Neural Architecture Search là một trong những lĩnh vực học máy phát triển nhanh nhất. Một số lượng lớn các công trình nghiên cứu liên quan đến tự động hóa việc tìm kiếm các kiến trúc mạng thần kinh trong các ngành công nghiệp và các vấn đề khác nhau. Một số ví dụ điển hình như:
- Phát hiện đối tượng - Xử lý hình ảnh của Zoph và cộng sự (2017)
- Phân loại hình ảnh - Xử lý hình ảnh của Real và cộng sự (2019)
- Tối ưu hóa siêu tham số - AutoML của Feurer và Hutter (2019)
- Siêu học - AutoML của Vanchoren (2018)
Kết luận
Neural Architecture Search là một lĩnh vực đang phát triển mở rộng nhanh chóng trong thời đại mà tối ưu hóa và hiệu suất là hai yếu tố vô cùng quan trọng. Tính đến hiện tại, vẫn còn một số khó khăn NAS phải vượt qua để trở thành bước chính thức trong thiết kế một dự án học sâu trong các ngành công nghiệp. Tuy nhiên, xu hướng phát triển công nghệ đã chỉ ra rằng những khó khăn này sẽ nhanh chóng biến mất nhờ sự xuất hiện của các phương pháp nhanh hơn và hoàn thiện hơn trong việc đánh giá kiến trúc. Trong tương lai không xa, NAS sẽ mang lại sự linh hoạt hơn cho các ngành và với những công cụ này, các công ty sẽ có khả năng thích ứng với nhiều nhu cầu cụ thể hơn nữa.
Hy vọng bài viết đã cung cấp cho bạn những kiến thức lý thú về Neural Architecture Search (NAS). Theo dõi Meey Land để đọc thêm những thông tin công nghệ khác.