Tổng quan nghiên cứu

Sự bùng nổ của trí tuệ nhân tạo và các thuật toán học sâu đã biến mạng nơ-ron tích chập thành công cụ cốt lõi trong các bài toán phân loại hình ảnh và âm thanh phức tạp. Dẫu vậy, các mô hình kinh điển như VGG16 đòi hỏi khối lượng tính toán khổng lồ lên tới 30,94 tỷ phép tính trên mỗi khung hình RGB kích thước 224x224 pixel, trong đó hơn 90% số phép tính tập trung tại 13 lớp tích chập. Việc thực thi các mạng học sâu này hoàn toàn bằng phần mềm trên các bộ vi xử lý thông thường dẫn đến độ trễ lớn và tiêu hao nhiều năng lượng. Nhiều giải pháp tăng tốc phần cứng trước đây sử dụng các dòng chip FPGA cao cấp như Stratix V tuy mang lại hiệu năng cao nhưng lại có giá thành đắt đỏ, không phù hợp cho các thiết bị biên hoặc hệ thống nhúng độc lập.

Xuất phát từ thực tế đó, đề tài tập trung vào mục tiêu thiết kế và hiện thực hóa một kiến trúc bộ tăng tốc phần cứng chuyên dụng cho mạng nơ-ron tích chập trên nền tảng chip Cyclone V SoC chi phí thấp của Intel. Công trình nghiên cứu được triển khai và hoàn thành trong giai đoạn từ tháng 02 năm 2019 đến tháng 12 năm 2019 tại Trường Đại học Bách Khoa - Đại học Quốc gia Thành phố Hồ Chí Minh. Ý nghĩa thực tiễn của công trình thể hiện rõ nét qua việc đạt được thông lượng xử lý tính toán 38,8 tỷ phép tính mỗi giây (GOP/s) ở tần số xung nhịp 150 MHz cho mạng VGG16. Đồng thời, bộ tăng tốc được ứng dụng thành công vào hệ thống nhận diện cảm xúc khuôn mặt thời gian thực với độ chính xác 66% trên tập dữ liệu chuẩn, xử lý mượt mà 15 khung hình mỗi giây với mức tiêu thụ năng lượng thấp.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng dựa trên lý thuyết mạng nơ-ron tích chập với trọng tâm là mô hình VGG16 do nhóm tác giả Simonyan đề xuất tại cuộc thi nhận dạng hình ảnh quy mô lớn ImageNet năm 2014. Kiến trúc này sử dụng đồng nhất các bộ lọc kích thước nhỏ 3x3 với bước nhảy cố định bằng 1, kết hợp hàm kích hoạt phi tuyến ReLU và các tầng lấy mẫu cực đại Max Pooling kích thước 2x2. Bên cạnh đó, tác giả áp dụng lý thuyết tối ưu hóa vòng lặp tính toán trong phần cứng, cụ thể là kỹ thuật mở vòng lặp loại D (Unroll Loop Type D) dựa trên các phân tích của Ma và các cộng sự. Kỹ thuật này mở đồng thời vòng lặp trượt không gian và vòng lặp kênh đầu ra, mang lại khả năng tái sử dụng tối đa dữ liệu điểm ảnh và ma trận trọng số.

Ba khái niệm lý thuyết nền tảng chi phối thiết kế gồm:

  • Kiến trúc hệ thống không đồng nhất (Heterogeneous SoC Architecture): Kết hợp giữa vi xử lý lõi kép ARM Cortex-A9 đảm nhiệm điều khiển luồng và phần cứng FPGA tùy biến chuyên trách tính toán song song.
  • Cấu trúc đường ống đa tầng (Pipelined Architecture): Cho phép thực hiện đồng thời các phép nhân cộng dồn (MAC), hàm kích hoạt ReLU và Max Pooling trong cùng chuỗi xử lý.
  • Cơ chế đệm ba vùng nhớ (Triple Buffering): Tối ưu hóa việc nạp dữ liệu gối đầu, loại bỏ thời gian chờ khi truy xuất bộ nhớ ngoài SDRAM thông qua giao tiếp Avalon Memory-Mapped độ rộng 256 bit.

Phương pháp nghiên cứu

Nghiên cứu sử dụng tập dữ liệu hình ảnh cảm xúc khuôn mặt chuẩn FER-2013 gồm 35.487 ảnh thang độ xám kích thước 48x48 pixel được gán nhãn thành 7 nhóm trạng thái cảm xúc. Quá trình chọn mẫu tuân thủ phân bổ chuẩn mực của tập dữ liệu gốc, chia tách độc lập thành tập huấn luyện và tập kiểm định để đảm bảo tính khách quan; kỹ thuật Dropout được áp dụng trước các lớp kết nối đầy đủ nhằm triệt tiêu hoàn toàn hiện tượng quá khớp (overfitting). Cỡ mẫu lớn và đa dạng này đảm bảo độ tin cậy thống kê khi đánh giá năng lực phân loại của mô hình so với độ chính xác trung bình của con người khoảng 65 ± 5%.

Phương pháp phân tích và hiện thực hóa hệ thống trải qua quy trình đa bước khoa học. Mô hình tích chập thu gọn gồm 7 lớp chập và 2 lớp Dense được huấn luyện trực tuyến trên nền tảng Keras và Google Colab bằng thuật toán tối ưu hóa Adam. Toàn bộ trọng số dấu phẩy động được chuyển đổi sang số nguyên 16-bit nhằm tối ưu hóa việc biểu diễn phần cứng. Kiến trúc phần cứng được mô tả chi tiết bằng ngôn ngữ Verilog/VHDL, tổng hợp và ánh xạ bằng phần mềm Quartus Prime phiên bản 18.1 lên kit phát triển DE10-Standard trong suốt thời gian 10 tháng nghiên cứu. Lý do lựa chọn phương pháp phân tích phần cứng - phần mềm kết hợp (Hardware/Software Co-design) là nhằm tận dụng tối đa 112 khối DSP cứng có sẵn trên chip FPGA, đồng thời giải phóng vi xử lý ARM khỏi các tác vụ tính toán lặp lại tốn kém tài nguyên.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình kiểm nghiệm và đánh giá thực nghiệm trên hệ thống phần cứng đã mang lại các kết quả nổi bật sau:

  • Thứ nhất, bộ tăng tốc đạt thông lượng tính toán 38,8 GOP/s tại tần số xung nhịp 150 MHz khi thực thi các lớp tích chập của mạng VGG16. Hệ thống chỉ tiêu tốn 18.964 khối ALM (tương đương 45% tổng số 41.509 ALM sẵn có) và khai thác trọn vẹn 112 khối DSP phần cứng kết hợp 16 khối DSP logic mềm để tạo nên 128 đơn vị xử lý MAC song song.
  • Thứ hai, cơ chế đệm dữ liệu ba tầng với tổng dung lượng bộ nhớ nội 458 KB (gồm 448 KB cho imem, 9 KB cho wmem và 1 KB cho bmem) kết hợp cổng giao tiếp Avalon MM 256-bit đã tối ưu hóa băng thông truy xuất bộ nhớ ngoài DDR3 lên gấp khoảng 4 lần, đạt độ trễ thực tế 0,79 giây trên mỗi bức ảnh VGG16 hoàn chỉnh.
  • Thứ ba, mô hình mạng CNN 7 lớp thu gọn phục vụ nhận diện cảm xúc khuôn mặt đạt độ chính xác 66% trên tập dữ liệu kiểm thử FER-2013. Tốc độ xử lý lõi IP trên FPGA ở xung nhịp 130 MHz đạt 157 khuôn mặt mỗi giây (tương đương 6,37 ms cho mỗi khuôn mặt kích thước 64x64 pixel).
  • Thứ tư, trong phân loại 7 nhóm cảm xúc, nhãn "Hạnh phúc" đạt tỷ lệ nhận dạng chính xác cao nhất lên tới 88%, trong khi nhãn "Sợ hãi" đạt tỷ lệ thấp nhất là 40%. Việc áp dụng kỹ thuật vùng quan tâm (ROI) xung quanh hộp giới hạn khuôn mặt đã tăng tốc thuật toán Haar Cascade trên ARM lên gấp 2 lần, nâng tốc độ khung hình toàn hệ thống từ dưới 7 fps lên mức ổn định 15 fps.

Thảo luận kết quả

Hiệu năng ấn tượng của bộ tăng tốc bắt nguồn từ việc phân định vai trò tối ưu trong hệ thống không đồng nhất. Lõi ARM xử lý hiệu quả giai đoạn chuẩn bị dữ liệu và các lớp kết nối đầy đủ (Dense), trong khi khối FPGA tập trung toàn bộ tài nguyên cho các phép tích chập 2D vốn chiếm hầu hết tải tính toán. Sự khác biệt giữa thời gian tính toán lý thuyết khoảng 0,5 giây và thực tế 0,79 giây trên mỗi ảnh VGG16 phản ánh chính xác ảnh hưởng của độ trễ truy cập ngẫu nhiên trên bộ nhớ SDRAM ngoài.

Khi so sánh với nghiên cứu của tác giả Ma và các cộng sự trên chip cao cấp Stratix V (sử dụng 218.000 ALMs, 44.200 Kb bộ nhớ nội và 256 khối DSP), thiết kế này vượt trội về hệ số hiệu quả sử dụng tài nguyên (đạt mức 1,6 so với 1,35) và hệ số hiệu quả bộ nhớ (đạt mức 9,4 so với 7,8). Các phân tích phân bổ dữ liệu có thể được trình bày trực quan thông qua biểu đồ cột so sánh tỷ lệ chiếm dụng tài nguyên ALM (45-54%), DSP (100%) và bộ nhớ RAM nội (75-100%). Đồng thời, bảng ma trận nhầm lẫn 7x7 (Confusion Matrix) giúp làm rõ nguyên nhân nhãn "Sợ hãi" có độ chính xác thấp 40% là do nét mặt khi sợ hãi có nhiều đặc trưng tương đồng với nét mặt khi buồn bã hoặc bất ngờ.

Đề xuất và khuyến nghị

  • Tích hợp thêm module phần cứng chuyên biệt cho các lớp kết nối đầy đủ (Dense Layers): Nhóm nghiên cứu phát triển vi mạch cần mở rộng thiết kế RTL để thực hiện các phép nhân ma trận của lớp Dense trực tiếp trên FPGA, hướng tới mục tiêu giảm tải 100% thời gian xử lý cho CPU ARM trong vòng 6 tháng tới.
  • Triển khai kỹ thuật lượng tử hóa trọng số xuống định dạng 8-bit (INT8): Các kỹ sư phần cứng nên áp dụng kỹ thuật lượng tử hóa cố định 8-bit thay vì số nguyên 16-bit hiện tại, qua đó hướng tới cắt giảm 50% dung lượng bộ nhớ đệm trên chip và nâng thông lượng tính toán lên trên mức 60 GOP/s trong lộ trình 9 tháng.
  • Cải tiến thuật toán phát hiện khuôn mặt bằng mạng nơ-ron thu gọn: Các chuyên gia thị giác máy tính nên thay thế bộ nhận diện Haar Cascade bằng các mô hình học sâu siêu nhẹ như MobileNet-SSD hoặc Tiny-YOLO chạy trực tiếp trên bộ tăng tốc, nâng tốc độ tiền xử lý hình ảnh lên trên 30 khung hình mỗi giây trong thời hạn 12 tháng.
  • Chuẩn hóa và đóng gói lõi IP theo chuẩn AXI/Avalon mở rộng: Bộ phận kỹ thuật hệ thống nhúng cần hoàn thiện tài liệu kỹ thuật và đóng gói bộ tăng tốc thành một gói IP Core hoàn chỉnh, tương thích với nhiều dòng SoC FPGA khác nhau trong thời gian 3 tháng nhằm thúc đẩy chuyển giao công nghệ.

Đối tượng nên tham khảo luận văn

  • Kỹ sư thiết kế phần cứng và vi mạch FPGA: Học hỏi trực tiếp phương pháp thiết kế bộ tăng tốc CNN tùy biến, cách cấu hình khối xử lý PE song song, kỹ thuật mở vòng lặp Type D và cách điều khiển luồng dữ liệu thông qua Data Router.
  • Nhà phát triển hệ thống nhúng và AI trên thiết bị biên (Edge AI): Tham khảo mô hình phân chia tác vụ thông minh giữa vi xử lý ARM và khối logic FPGA để hiện thực hóa các thiết bị nhận dạng độc lập với mức tiêu thụ điện năng tối ưu.
  • Giảng viên, học viên cao học và sinh viên ngành Kỹ thuật Điện tử - Viễn thông: Sử dụng công trình như một tài liệu học thuật mẫu mực về quy trình chuyển đổi mạng học sâu từ các framework phần mềm cấp cao sang ngôn ngữ phần cứng Verilog/VHDL.
  • Doanh nghiệp sản xuất thiết bị giám sát an ninh và tương tác người - máy: Ứng dụng giải pháp nhận diện khuôn mặt và biểu cảm thời gian thực với chi phí phần cứng thấp vào các hệ thống chấm công thông minh, robot dịch vụ và buồng phân tích hành vi khách hàng.

Câu hỏi thường gặp

  • Bộ tăng tốc này có ưu thế gì vượt trội so với việc chạy mô hình trên vi xử lý ARM đơn thuần? Hệ thống tận dụng 128 đơn vị tính toán MAC song song trên FPGA để xử lý lớp tích chập với thông lượng 38,8 GOP/s, giúp tăng tốc độ phân loại cảm xúc lên 157 khuôn mặt mỗi giây, trong khi CPU ARM đơn thuần chỉ đạt dưới 7 khung hình mỗi giây do hạn chế về khả năng tính toán song song.

  • Tại sao nghiên cứu lại chọn kỹ thuật mở vòng lặp loại D thay vì các phương pháp mở vòng lặp khác? Kỹ thuật loại D mở đồng thời vòng lặp không gian và vòng lặp kênh đầu ra, giúp tái sử dụng trực tiếp cả dữ liệu bản đồ đặc trưng lẫn ma trận trọng số trong bộ nhớ đệm 458 KB, từ đó giảm thiểu tối đa số lần truy xuất bộ nhớ ngoài DDR3 và tiết kiệm băng thông bus.

  • Vì sao các lớp kết nối đầy đủ không được tính toán trên phần cứng FPGA? Do tài nguyên chip Cyclone V bị giới hạn ở 112 khối DSP và 5.570 Kb bộ nhớ nội, tác giả dành trọn vẹn tài nguyên này để tăng tốc 13 lớp tích chập vốn chiếm hơn 90% khối lượng phép tính, và chuyển 2 lớp Dense có kích thước 128 và 7 nút sang cho CPU ARM xử lý.

  • Cơ chế đệm ba vùng nhớ imem giải quyết vấn đề nghẽn cổ chai dữ liệu như thế nào? Kiến trúc sử dụng 3 bộ đệm imem riêng biệt, trong đó 2 bộ đệm cung cấp dữ liệu liên tục cho 32 đơn vị PU tính toán thì bộ đệm thứ ba tiến hành nạp trước dữ liệu của vùng ảnh kế tiếp từ SDRAM 256-bit, loại bỏ hoàn toàn thời gian trễ chờ nạp dữ liệu.

  • Độ chính xác 66% trên tập FER-2013 có đủ tin cậy để triển khai trong thực tế không? Độ chính xác 66% trên 7 trạng thái cảm xúc phức tạp hoàn toàn tương đương với độ chính xác trung bình của con người (khoảng 65 ± 5%) và tiệm cận các mô hình 9 lớp chập của các nghiên cứu quốc tế, đáp ứng tốt yêu cầu nhận dạng thời gian thực ở tốc độ 15 khung hình/giây.

Kết luận

  • Thiết kế và tích hợp thành công bộ tăng tốc phần cứng chuyên dụng cho mạng nơ-ron tích chập trên dòng chip kinh tế Intel Cyclone V SoC.
  • Đạt thông lượng tính toán ấn tượng 38,8 GOP/s ở tần số 150 MHz cho mạng VGG16 thông qua 128 đơn vị PE hoạt động song song.
  • Tối ưu hóa hiệu quả băng thông bộ nhớ ngoài lên gấp 4 lần nhờ cấu trúc đệm ba vùng nhớ nội dung lượng 458 KB và giao tiếp Avalon MM 256-bit.
  • Triển khai thành công ứng dụng phân loại 7 cảm xúc khuôn mặt thời gian thực đạt tốc độ 15 khung hình/giây với độ chính xác 66% trên tập dữ liệu FER-2013.
  • Chứng minh khả năng vận hành độc lập, tiết kiệm năng lượng và hiệu quả kinh tế vượt trội của nền tảng SoC FPGA so với các hệ thống máy tính đắt tiền.

Lộ trình tiếp theo trong 6 đến 12 tháng tới sẽ tập trung vào việc lượng tử hóa mô hình 8-bit và đưa toàn bộ thuật toán phát hiện khuôn mặt vào phần cứng chuyên dụng. Đây là công trình học thuật có giá trị tham khảo sâu sắc dành cho các nhà nghiên cứu và kỹ sư đang theo đuổi hướng phát triển trí tuệ nhân tạo trên thiết bị nhúng.