Chương 1: Giới thiệu. Trình bày bao quát về các nội dung của đề tài gồm giới thiệu, tình hình nghiên cứu, mục tiêu, giới hạn, bố cục. Chương 2: Cơ sở lý thuyết. Trình bày chi tiết tất cả lý thuyết áp dụng trong đề tài.
Chương 3: Thiết kế hệ thống. Nêu ra các yêu cầu thiết kế, sơ đồ khối và trình bày chi tiết từng bước thiết kế trong từng thành phần của hệ thống. Chương 4: Kết quả thực hiện và đánh giá. Trình bày những kết quả đạt được sau khi thực hiện thực nghiệm, đánh giá kết quả so với mục tiêu đặc ra trước đó và những nhược điểm trong quá trình thực nghiệm.
Chương 5: Kết luận và hướng phát triển. Đưa ra kết luận của đề tài và hướng phát triển để hoàn thiện đề tài. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Khái niệm về Multitask Learning Yêu cầu thực tiễn đã phát sinh nhu cầu về một thuật toán cho phép thực hiện nhiều nhiệm vụ đồng thời nhưng chỉ sử dụng một mạng nơ-ron duy nhất.
Mỗi một nhiệm vụ sẽ bổ trợ cho những nhiệm vụ còn lại trong quá trình dự báo. Đó chính là học đa nhiệm (Multitask Learning). Ví dụ: Trong lĩnh vực về xe tự hành, chúng phải nhận diện được nhiều đối tượng khác nhau trong một bức hình đầu vào như: biển báo, vạch kẻ đường, người đi bộ, đèn giao thông, các loại phương tiện,. Trong lĩnh vực về thời trang ta cần phân biệt đồng thời loại sản phẩm thời trang kèm theo các đặc tính về màu sắc sản phẩm (xanh, đỏ, tím, vàng,.), giới tính (nam, nữ), độ tuổi (người già, thanh niên, trẻ em), mùa (trang phục mùa đông, mùa hạ,.
Như vậy chúng ta cần sử dụng Multitask Learning để thực hiện nhiều nhiệm vụ cùng lúc để phân loại các đối tượng khác nhau trên cùng một ảnh đầu vào để nhận biết xem chúng có thực sự xuất hiện trong ảnh hay không. Kiến trúc thuật toán Multitask Learning Thông thường học đa nhiệm có hai giai đoạn: Giai đoạn một: sẽ trích xuất ra các đặc trưng của hình ảnh đầu vào được thực hiện bởi một mạng CNN. Sau đó, các đặc trưng được trích xuất được dùng để nhận diện ra các đối tượng ở giai đoạn hai. Giai đoạn hai: tiến hành thực thi nhiều nhiệm vụ phân loại cùng lúc cho các đối tượng khác nhau (biển báo, vạch kẻ làn đường, phương tiện,.
Như được minh họa trong Hinh 2.1, đầu vào (x1, xj, xd,.) cho việc phân loại nhị phân các đối tượng khác nhau là các trích xuất đặc trưng ở giai đoạn một. Đầu ra gồm các đơn vị đầu ra (Output units y 1, y2, y3) hay còn được gọi là multi head, mỗi một đơn vị sẽ tính toán khả năng xảy ra cho một loại nhãn nào đó hay một nhiệm vụ phân loại nhị phân. Đồng thời các đơn 4 vị đầu ra cũng chia sẻ thông tin chung cho các lớp phía trước, để những bài toán có nhiều nhiệm vụ có thể trao đổi thông tin lẫn nhau giữa các nhiệm vụ đó.1 Minh họa kiến trúc Multitask Learning 2. Lợi ích của Multitask Learning Tiết kiệm tài nguyên tính toán: không cần phải huấn luyện mỗi một nhiệm vụ một mô hình mà dùng một mô hình có thể thực hiện kết hợp và hỗ trợ nhiều nhiệm vụ khác nhau.
Kết quả từ mô hình Multitask Learning có độ chính xác trong nhiều trường hợp cao hơn so với huấn luyện từng mô hình riêng lẻ. Nguyên nhân là bởi có sự hỗ trợ lẫn và chia sẻ cho nhau giữa các nhiệm vụ. Những đặc trưng tốt được học từ những nhiệm vụ này sẽ giúp ích cho việc phân loại của nhiệm vụ khác. Sử dụng Multitask Learning trong mạng nơ-ron 2.
Hard Parameter Sharing Chia sẽ thông số cứng (hard paramerter sharing) là một trong những phương pháp được dùng phổ biến nhất trong mạng nơ-ron. Nó hoạt động thông qua việc chia sẻ các lớp ẩn của tất cả những nhiệm vụ trong mạng và chỉ giữ lại các thông tin của các lớp ngõ ra là có sự khác nhau như được mô tả ở Hình 2. Chia sẽ tham số cứng có thể làm giảm overfitting (model quá khớp với dữ liệu tập đào tạo nhưng với tập kiểm thử thì độ chính xác thấp), với việc chia sẻ thông tin các lớp ẩn (hidden 5 layer) giữa các nhiệm vụ khác nhau, bắt buộc mô hình (model) phải học những biểu diễn tổng thể một cách phù hợp ở trên nhiều nhiệm vụ, từ đó sẽ giảm đi rất nhiều overfitting trong một nhiệm vụ cụ thể bất kì.2 Hard Parameter Sharing 2. Soft Parameter Sharing Soft Parameter Sharing được thể hiện ở Hình 2.3, mỗi một nhiệm vụ khác nhau sẽ có một mô hình khác nhau và có thông số riêng cho mỗi nhiệm vụ, những thông số giữa những nhiệm vụ sẽ bị ràng buộc sau theo các chuẩn làm cho những thông số này đạt được độ tương đồng tốt nhất giữa những nhiệm vụ.3 Soft Parameter Sharing 2.
Kiến trúc mạng HybridNets HybridNets [24] là mạng đa tác vụ (Multitask Learning) được xuất bản từ bài báo “HybridNets: End-to-End Perception Network”, mạng gồm một bộ mã hóa chia sẻ và hai bộ giải mã riêng biệt để giải quyết các tác vụ riêng biệt. Độ phân giải của mỗi cấp bản đồ đặc 6 i trưng Pi đại diện cho cấp đặc trưng với độ phân giải 1/2 của các hình ảnh đầu vào. Ví dụ nếu độ 2 phân giải đầu vào là 640x384 thì P2 đại diện cho đặc trưng cấp 2 có độ phân giải là (640/2 , 2 384/2 ) = (160, 96), tương tự với P7 đại diện cho đặc trưng cấp 7 có độ phân giải là (5,3).4 Kiến trúc mạng HybridNets Hình 2.5 Kết quả mạng HybridNets 7 Kiến trúc HybridNets được thể hiện ở Hình 2.4 có một bộ mã hóa: mạng xương sống (Backbone) và mạng cổ (Neck); hai bộ giải mã: đầu phát hiện (Detection Head) và đầu phân đoạn (Segmentation Head). Mạng xương sống tạo ra 5 bản đồ đặc trưng từ P 1 đến P5, bằng cách lấy mẫu xuống bản đồ đặc trưng P5 ta lấy được 2 bản đồ đặc trưng P6 và P7.
Kết quả suy luận của HybridNets được thể hiện ở Hình 2.5 thực hiện ba nhiệm vụ, bao gồm: phát hiện các phương tiện giao thông, phân đoạn khu vực có thể điều khiển và phân đoạn vạch kẻ làn đường.5 phần màu xanh lá là phần đường xe có thể lái, phần xanh dương là vạch kẻ làn đường, các ô chữ nhật là màu cam là phương tiện giao thông. Sử dụng mạng EfficientNet làm mạng Backbone 2. Giới thiệu về EfficientNet Vào năm 2019, nhóm tác giả nghiên cứu của Google Brain đã xuất bản thành công bài báo liên quan tới mô hình phổ biến họ CNN mới, có tên gọi là EfficientNet [12]. Mô hình EfficientNet mới này vừa cải thiện hiệu suất, vừa làm tăng độ chính xác của mô hình bằng việc giảm FLOPS (thông số đánh giá tốc độ huấn luyện của mạng neural) và giảm số tham số của quá trình tính toán xuống rất tốt so với các mô hình mạng phổ biến khác.
Bài báo đã mang lại những lợi ích tuyệt vời sau: Tạo ra sẵn kiến trúc mạng cơ sở đơn giản kích thước di động: EfficientNet-B0. Cung cấp và trình bày chi tiết về phương pháp Compound Scaling (mở rộng kết hợp) để có thể đạt được độ chính xác tối ưu nhất bằng việc tăng kích thước mô hình mạng một cách hợp lý. Kiến trúc mạng cơ sở EfficientNet-B0 Trong bài báo về mô hình EfficientNet [12], tác giả cũng sử dụng Neural Architecture Search [17] (phương pháp tự động hóa việc thiết kế kiến trúc mạng neural) để xây dựng một kiến trúc mô hình mạng cơ sở hiệu quả EfficientNet-B0 được thể hiện ở Hình 2. Kiến trúc mạng B0 này đã đạt được độ chính xác 77.3% trên ImageNet với 5.3M tham số và 0.39B FLOPS ít hơn rất nhiều so với các mạng khác.6 Kiến trúc mạng EfficientNet-B0 Khối xây dựng chính trong cấu trúc của EfficientNet-B0 là khối MBConv được thể hiện ở Hình 2.
Trong khối này có kết nối tắt nối tiếp giữa phần cuối và phần đầu của khối. Phần đầu vào của khối có thể mở rộng bằng lớp tích chập với kích thước 1x1 để tăng độ sâu hay số kênh của bản đồ đặc trưng. Sau đó sử dụng lớp tích chập theo chiều sâu kích thước 3x3 và lớp tích chập điểm kích thước 1x1 để số kênh ngõ ra được giảm xuống. Các lớp rộng sẽ nằm giữa khối trong khi các lớp hẹp hơn và kênh nhỏ sẽ được liên kết với nhau.
Cấu trúc náy sẽ làm giảm nhiều số lượng phép tính toán và tham số xuống để quá trình huấn luyện mạng nhanh hơn. Phương pháp mở rộng mô hình mạng nơ-ron Như được thể hiện trong Hình 2.8, việc mở rộng một trong ba kích thước của mạng nơ-ron gồm: độ sâu (Depth) ứng với số lớp của mạng, độ rộng (Width) ứng với số bộ lọc của mỗi lớp tích chập, độ phân giải (Resolution) ứng với chiều cao và chiều rộng của hình ảnh đầu vào. Đều cải thiện độ chính xác, tuy nhiên với mô hình lớn độ chính xác sẽ đạt tới bão hòa. Để vừa đạt hiệu suất vừa đạt độ chính xác tốt hơn thì phải có sự cân bằng hợp lý giữa các kích thước (độ sâu, độ rộng, độ phân giải) trong quá trình mở rộng mạng.8 Mở rộng mô hình mạng nơ-ron.
Nhóm tác giả của Google Brain đã nghiên cứu một kỹ thuật mở rộng mạng hiệu quả và đơn giản bằng cách sử dụng hệ số kết hợp cho việc mở rộng mạng nơ-ron đồng thời theo ba hướng độ sâu, độ rộng, độ phân giải theo công thức 2.1) Trong đó, d là độ sâu, w là độ rộng, r là độ phân giải. , , là các tham số tương ứng với việc gán giá trị tài nguyên lần lượt cho độ sâu, độ rộng, độ phân giải. là hệ số kết hợp cố định kiểm soát toàn bộ lượng tài nguyên sẵn có. Sử dụng tìm kiếm ô lưới để có thể xác định được tham số α, β, γ.
Hệ số kết hợp sẽ được đặt cố định là các sô nguyên từ 1 đến 7 ứng với mô hình lớn dần, kết hợp với công thức 2.1 ta có thể tìm được bộ 3 tham số α, β, γ. Ứng với từ 1 đến 7 sẽ cho ra kết quả kiến trúc các mạng EfficientNet-B1 đến EfficientNet-B7.9 So sánh kết quả các mạng EfficientNet với mạng khác Hình 2.9 thể hiện các kết quả so sánh của các mạng EfficientNet được sử dụng phương pháp mở rộng ở trên so với các mạng tích chập phổ biến khác. Các mô hình từ EfficientNet-B1 đến EfficientNet-B7 đều có độ chính xác tương đương các mạng nơ-ron khác nhưng có tổng số các tham số và số FLOPs nhỏ hơn rất nhiều các mạng nơ-ron khác, đồng thời các mạng EfficientNet cũng có kích thước bé hơn nhiều những mạng khác.