Khóa luận: Cải tiến giải thuật Deep Q-Network (DQN) sử dụng SoC

Khóa luận: Cải tiến giải thuật Deep Q Network (DQN) bằng công nghệ SoC cho bài toán kỹ thuật máy tính. Tối ưu hiệu năng và ứng dụng thực tế.

Chuyên ngành

Kỹ Thuật Máy Tính

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2024

48
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

1. Chương 1: GIỚI THIEU TONG QUAN DE TÀI

1.1. Hướng nghiên cứu đề tài

1.2. Mục tiêu của đề tài

2. Chương 2: CO SỞ LÝ THUYÊT

2.1. Môi trường Cartpole

2.2. Cai đặt môi trường

2.3. Không gian hành động của môi trường Cartpole

2.4. Không gian quan sat của môi trường Cartpole

2.5. Reinforcement Learning

2.6. Deep Q-Learning

2.7. Loss Function: Mean Square Error

2.8. Thuật toán Gradient descent

2.9. Activation Function: Tanh(x)

2.10. Thuật toán Forward-propagation

2.11. Thuật toán Back-Propagation

2.12. Các thông số paraimet©r

2.13. Giới thiệu kit Zynq Ultrascale MPSoC và lý do sử dụng

2.14. Giới thiệu board MPSoC Genesys ZU 5EV

2.15. Lý do sử dụng kit ZynQ UltraScale MPSoC dé hiện thực

3. THIẾT KE HỆ THNG

3.1. Mô tả tổng quan hệ thống

3.2. Mô tả DQN Core IP cải tiẾn

3.3. Quy trình thiết kế hệ thống

3.4. Mô tả thiết kế DQN Core IP theo chuẩn AXI (AXI_DỌN)

3.5. M6 ta interface

3.6. Sơ đồ khối thiết Ke

3.7. Sơ đồ chuyền trạng thái hoạt động

3.8. Mô tả thiết kế hệ thống phần cứng

3.9. Mô tả thiết kế AXI Central Direct Memory Access

3.10. Mô tả thiết kế AXI Interconnect

3.11. Mô tả thiết kế Processor System Reset

3.12. Mô tả thiết kế Zynq UltraScale+ MPSOC

3.13. Mô tả thiết kế AX GPIO

3.14. Mô tả thiết kế AXI Protocol Converter

3.15. Mô tả thiết kế Integrated Logic Analysis

3.16. Sơ đồ hoạt động phần cứng

4. Chương 4: Kết quả kiểm tra sai số thiẾt KẾ

4.1. Kết quả implementation thiết kế

4.2. Kết quả huấn luyện mô hình

4.3. So sánh kết quả thiết kế với các nghiên cứu liên quan

4.4. So sánh thiết kế so với thiết KE cũ

5. Chương 5: KET LUẬN VÀ HƯỚNG PHAT TRIEN DE TÀI

5.1. Hướng phat triỂn

TÀI LIEU THAM KHẢO

DANH MỤC HÌNH

DANH MỤC BANG

DANH MỤC TỪ VIET TAT

TOM TAT KHÓA LUẬN

MỞ ĐẦU

Tóm tắt

I. Tổng quan cải tiến DQN Giải pháp AI đột phá trên SoC

Trong bối cảnh công nghệ trí tuệ nhân tạo (AI) phát triển mạnh mẽ, các mô hình học tăng cường (Reinforcement Learning) ngày càng chứng tỏ hiệu quả trong việc giải quyết các bài toán ra quyết định phức tạp. Một trong những thuật toán nền tảng và nổi bật nhất là Deep Q-Network (DQN), kết hợp giữa Q-Learning và mạng nơ-ron sâu để xử lý các không gian trạng thái lớn. Tuy nhiên, việc huấn luyện và triển khai thuật toán DQN trên các nền tảng truyền thống như CPU hay GPU thường đối mặt với thách thức về hiệu năng, độ trễ và tiêu thụ năng lượng, đặc biệt trong các ứng dụng AI trên biên (Edge AI)AI nhúng (Embedded AI). Để giải quyết vấn đề này, khóa luận kỹ thuật máy tính đề xuất một hướng đi đột phá: cải tiến và tăng tốc phần cứng cho thuật toán DQN bằng cách sử dụng công nghệ System on a Chip (SoC). Hướng tiếp cận này không chỉ nhằm mục đích rút ngắn đáng kể thời gian huấn luyện mà còn mở ra tiềm năng triển khai các hệ thống học tăng cường hiệu quả, tiêu thụ ít năng lượng hơn. Bằng cách tận dụng khả năng lập trình linh hoạt của FPGA và sức mạnh xử lý của CPU tích hợp trên một vi mạch duy nhất, giải pháp cải tiến DQN với SoC hứa hẹn tạo ra các hệ thống AI tự hành, thời gian thực, đáp ứng yêu cầu khắt khe của các ứng dụng công nghiệp hiện đại.

1.1. Giới thiệu học tăng cường và thuật toán Deep Q Network

Học tăng cường (RL) là một lĩnh vực của học máy, nơi một tác nhân (agent) học cách hành xử trong một môi trường (environment) bằng cách thực hiện các hành động và nhận lại phần thưởng hoặc hình phạt. Mục tiêu của agent là tối đa hóa tổng phần thưởng tích lũy. Deep Q-Network (DQN) là một bước tiến quan trọng của RL, sử dụng một mạng nơ-ron sâu để xấp xỉ hàm Q-value, đại diện cho giá trị kỳ vọng của một hành động trong một trạng thái nhất định. Thay vì dùng bảng tra cứu (Q-table) vốn không khả thi với không gian trạng thái lớn, DQN có thể xử lý các đầu vào phức tạp như hình ảnh. Các kỹ thuật cốt lõi như bộ nhớ đệm kinh nghiệm (experience replay) giúp ổn định quá trình huấn luyện bằng cách phá vỡ sự tương quan giữa các mẫu dữ liệu liên tiếp.

1.2. Vai trò của System on a Chip SoC trong AI nhúng

System on a Chip (SoC) là một vi mạch tích hợp tất cả hoặc hầu hết các thành phần của một máy tính hoặc hệ thống điện tử khác. Thông thường, SoC bao gồm một bộ vi xử lý (CPU), các khối bộ nhớ, các ngoại vi I/O, và các khối logic lập trình được như FPGA. Trong bối cảnh AI nhúng, SoC, đặc biệt là các dòng như Zynq SoC, mang lại lợi thế vượt trội. Nó cho phép thực hiện co-design phần cứng phần mềm, nơi các tác vụ tính toán chuyên sâu của mạng nơ-ron có thể được tăng tốc trên logic FPGA, trong khi các tác vụ điều khiển và giao tiếp tổng quát được xử lý bởi CPU. Sự kết hợp này giúp tối ưu hóa năng lượng và đạt được hiệu suất thời gian thực mà GPU khó có thể đáp ứng trong các hệ thống nhỏ gọn.

1.3. Mục tiêu nghiên cứu Tăng tốc huấn luyện DQN trên phần cứng

Mục tiêu chính của khóa luận kỹ thuật máy tính này là giải quyết bài toán thời gian huấn luyện kéo dài của các mô hình DQN trên phần mềm. Nghiên cứu tập trung vào việc kế thừa và cải tiến một kiến trúc DQN đã có, sau đó triển khai AI trên phần cứng hoàn toàn bằng nền tảng Zynq UltraScale+ MPSoC. Cụ thể, đề tài sẽ thiết kế và đóng gói một khối sở hữu trí tuệ (IP) DQN Core theo chuẩn giao thức AXI4, cho phép giao tiếp hiệu quả với bộ xử lý ARM. Toàn bộ quá trình, từ tương tác với môi trường mô phỏng (CartPole) đến cập nhật trọng số mạng nơ-ron, sẽ được thực thi trên SoC. Kết quả cuối cùng là một hệ thống có khả năng tự huấn luyện và đạt hiệu suất cao trong thời gian ngắn, chứng minh tính thực tiễn của việc tăng tốc phần cứng cho học tăng cường.

II. Thách thức triển khai DQN trên nền tảng CPU GPU truyền thống

Mặc dù các thuật toán học tăng cường sâu như DQN đã đạt được nhiều thành công, việc triển khai chúng trên các hệ thống tính toán thông thường vẫn tồn tại nhiều rào cản. Đối với CPU, bản chất tuần tự của nó không phù hợp với các phép tính ma trận song song quy mô lớn của mạng nơ-ron sâu, dẫn đến thời gian huấn luyện rất dài. GPU cải thiện đáng kể tốc độ nhờ kiến trúc song song, nhưng lại đi kèm với mức tiêu thụ năng lượng cao và chi phí lớn, không phù hợp cho các thiết bị AI nhúng hoặc AI trên biên yêu cầu hoạt động bền bỉ với nguồn năng lượng giới hạn. Hơn nữa, độ trễ trong việc truyền dữ liệu giữa CPU và GPU cũng là một yếu tố cản trở các ứng dụng đòi hỏi phản hồi thời gian thực. Những hạn chế này thúc đẩy nhu cầu tìm kiếm một giải pháp thay thế, nơi việc tối ưu hóa thuật toán đi đôi với việc thiết kế phần cứng chuyên dụng. Nền tảng System on a Chip nổi lên như một ứng cử viên sáng giá, cung cấp khả năng tùy biến cao và hiệu quả năng lượng, mở đường cho việc cải tiến DQN với SoC để giải quyết triệt để các thách thức về hiệu suất và năng lượng.

2.1. Hạn chế về hiệu năng tính toán và độ trễ

Khi một mô hình DQN tương tác với môi trường, nó đòi hỏi một chuỗi các bước tính toán lặp đi lặp lại: lan truyền tiến (forward propagation) để chọn hành động, nhận phản hồi từ môi trường, và lan truyền ngược (back-propagation) để cập nhật trọng số. Trên CPU, các phép toán này được thực hiện một cách tuần tự, gây ra độ trễ lớn ở mỗi bước. GPU có thể thực hiện song song hóa, nhưng luồng dữ liệu liên tục giữa bộ nhớ hệ thống và bộ nhớ GPU (qua bus PCIe) vẫn là một nút thắt cổ chai. Đối với các ứng dụng như robot tự hành hay điều khiển công nghiệp, độ trễ này là không thể chấp nhận được, vì quyết định phải được đưa ra trong mili giây.

2.2. Vấn đề tiêu thụ năng lượng trong các hệ thống AI trên biên

Các ứng dụng AI trên biên (Edge AI) thường được triển khai trên các thiết bị di động, cảm biến hoặc robot, nơi nguồn điện bị hạn chế. GPU, mặc dù mạnh mẽ, lại là một trong những thành phần tiêu thụ nhiều năng lượng nhất trong một hệ thống máy tính. Việc vận hành một GPU liên tục để huấn luyện hoặc suy luận cho mô hình DQN sẽ làm cạn kiệt pin nhanh chóng và tỏa ra lượng nhiệt lớn, đòi hỏi các giải pháp tản nhiệt phức tạp. Ngược lại, việc thiết kế vi mạch chuyên dụng trên FPGA bên trong SoC cho phép tối ưu hóa năng lượng ở mức độ cao. Các cổng logic chỉ tiêu thụ điện khi chúng chuyển trạng thái, giúp giảm đáng kể công suất tĩnh và động so với GPU, biến nó thành giải pháp lý tưởng cho các hệ thống nhúng.

III. Phương pháp cải tiến DQN bằng kiến trúc SoC và AXI4

Để vượt qua các giới hạn của nền tảng truyền thống, giải pháp cốt lõi được đề xuất trong đồ án tốt nghiệp này là xây dựng một hệ thống cải tiến DQN với SoC hoàn chỉnh. Phương pháp này tập trung vào việc thiết kế vi mạch một khối tăng tốc phần cứng chuyên dụng, gọi là DQN Core IP, sử dụng ngôn ngữ mô tả phần cứng VHDL/Verilog. Khối IP này được tối ưu hóa để thực hiện các phép tính cốt lõi của mạng nơ-ron sâu, bao gồm cả lan truyền tiến và cập nhật trọng số. Giao tiếp giữa DQN Core IP và bộ xử lý ARM Cortex-A53 trên Zynq SoC được thực hiện thông qua giao thức bus AXI4 hiệu năng cao. Kiến trúc này cho phép luồng dữ liệu (trạng thái, trọng số, hành động) di chuyển liền mạch giữa phần mềm chạy trên hệ điều hành PetaLinux và phần cứng tăng tốc. Quá trình co-design phần cứng phần mềm này đảm bảo rằng mỗi thành phần của hệ thống đều thực hiện tác vụ mà nó làm tốt nhất, từ đó đạt được hiệu suất và hiệu quả năng lượng vượt trội. Đây là một bước tiến quan trọng trong việc triển khai AI trên phần cứng một cách hiệu quả.

3.1. Thiết kế hệ thống đồng bộ phần cứng phần mềm Co design

Tổng quan hệ thống được thiết kế theo mô hình co-design. Phần mềm, bao gồm môi trường CartPole và logic điều khiển chính, chạy trên bộ xử lý ARM Cortex-A53 dưới hệ điều hành PetaLinux. Phần cứng, tức khối DQN Core IP, được hiện thực trên vùng logic lập trình được (PL) của Zynq UltraScale+ MPSoC. Khi môi trường CartPole trả về trạng thái, bộ xử lý ARM sẽ gửi dữ liệu này cùng với các trọng số hiện tại xuống khối IP qua giao thức AXI. Khối IP sẽ tính toán, đưa ra hành động, và tự cập nhật trọng số. Hành động sau đó được gửi trả lại cho bộ xử lý. Cách phân chia này tận dụng sức mạnh xử lý song song của FPGA cho các tác vụ tính toán lặp đi lặp lại và sự linh hoạt của CPU cho các tác vụ quản lý và giao tiếp.

3.2. Mô tả khối IP DQN Core theo chuẩn giao thức AXI4

Khối DQN Core IP là trái tim của hệ thống tăng tốc phần cứng. Nó bao gồm ba thành phần chính: khối Neural Network để dự đoán hành động, khối Update để cập nhật trọng số và độ lệch (bias) dựa trên thuật toán Gradient Descent, và khối Control để điều phối hoạt động. Toàn bộ khối IP được đóng gói theo chuẩn AXI4-Lite, một phiên bản nhẹ của giao thức AXI, giúp giảm tài nguyên sử dụng mà vẫn đảm bảo tốc độ giao tiếp cần thiết. Dữ liệu đầu vào (trạng thái, trọng số) và đầu ra (hành động, trọng số mới) được truyền qua các kênh dữ liệu của bus AXI. Việc thiết kế tuân thủ chuẩn AXI đảm bảo tính tương thích và khả năng tái sử dụng cao trong các hệ thống SoC phức tạp.

IV. Đánh giá hiệu năng Kết quả cải tiến DQN trên FPGA

Kết quả thực nghiệm của khóa luận đã chứng minh hiệu quả vượt trội của phương pháp cải tiến DQN với SoC. Quá trình đánh giá hiệu năng được thực hiện trên board mạch Genesys ZU 5EV, trang bị chip Zynq UltraScale+ MPSoC. Hệ thống phần cứng được tổng hợp và triển khai thành công, hoạt động ổn định ở tần số tối đa 150 MHz. Một trong những thành tựu quan trọng nhất là độ chính xác tính toán. Khi so sánh với mô hình phần mềm sử dụng số thực dấu phẩy động 32-bit theo chuẩn IEEE-754, sai số của khối phần cứng chỉ khoảng 2E-07, một con số cực kỳ nhỏ, đảm bảo rằng quá trình cập nhật trọng số diễn ra chính xác. Kết quả huấn luyện cho thấy mô hình có khả năng học và đạt được điểm số cao, ổn định trong môi trường CartPole sau khoảng 80.000 bước. Những con số này khẳng định rằng việc tăng tốc phần cứng cho các mô hình học máy không chỉ là khả thi mà còn mang lại lợi ích rõ rệt, đặc biệt là trong các nghiên cứu khoa học về AI nhúng.

4.1. Phân tích tài nguyên sử dụng và mức tiêu thụ năng lượng

Kết quả tổng hợp trên phần mềm Vivado cho thấy thiết kế sử dụng một lượng tài nguyên hợp lý trên chip FPGA. Mặc dù tỷ lệ LUT (Look-Up Table) khá cao, điều này phản ánh sự phức tạp của các phép tính dấu phẩy động trong mạng nơ-ron sâu. Về mặt năng lượng, tổng công suất tiêu thụ của toàn bộ thiết kế được ghi nhận là 3.302 W. Con số này, mặc dù không nhỏ, nhưng vẫn cạnh tranh hơn đáng kể so với các giải pháp dựa trên GPU có cùng hiệu năng, đặc biệt khi xét đến việc toàn bộ hệ thống (cả xử lý và tăng tốc) đều nằm trên một chip duy nhất. Điều này chứng tỏ tiềm năng tối ưu hóa năng lượng của kiến trúc SoC.

4.2. So sánh thời gian huấn luyện với các nghiên cứu liên quan

Một trong những chỉ số quan trọng nhất để đánh giá hiệu năng là thời gian huấn luyện. Nghiên cứu này đã thành công trong việc giảm thời gian hoàn thành một vòng lặp huấn luyện so với các phương pháp trước đó. Cụ thể, thời gian huấn luyện trên phần mềm là khoảng 1471 giây, trong khi phiên bản đề xuất là 1422 giây. Mặc dù sự cải thiện trên phần mềm không quá lớn, điểm đột phá nằm ở khả năng tự cập nhật trọng số hoàn toàn bằng phần cứng. Điều này loại bỏ vòng lặp tính toán trên phần mềm và gửi kết quả xuống phần cứng như các nghiên cứu cũ, mở ra tiềm năng tăng tốc hàng chục, thậm chí hàng trăm lần trong các mô hình phức tạp hơn. So với các nghiên cứu khoa học khác, thiết kế này đạt được tần số hoạt động tốt hơn trong khi vẫn sử dụng kiểu dữ liệu dấu phẩy động 32-bit đòi hỏi nhiều tài nguyên.

V. Kết luận và tương lai của việc cải tiến DQN trên SoC

Bản luận văn kỹ thuật này đã hoàn thành xuất sắc các mục tiêu đề ra, trình bày một giải pháp toàn diện cho việc cải tiến DQN với SoC. Công trình đã thiết kế và hiện thực thành công một kiến trúc phần cứng có khả năng tự huấn luyện và cập nhật trọng số cho thuật toán DQN, chứng minh được hiệu quả thông qua các kết quả thực nghiệm về tốc độ, sai số và tài nguyên sử dụng. Thành công của đề tài không chỉ nằm ở việc giải quyết một bài toán kỹ thuật cụ thể mà còn mở ra một hướng phát triển đầy hứa hẹn. Tương lai của học tăng cườngAI nhúng phụ thuộc rất lớn vào khả năng triển khai AI trên phần cứng một cách hiệu quả. Các kiến trúc System on a Chip linh hoạt như Zynq SoC sẽ tiếp tục là nền tảng lý tưởng để phát triển các hệ thống thông minh, tự hành. Hướng phát triển tiếp theo có thể tập trung vào việc áp dụng kiến trúc này cho các bài toán phức tạp hơn như điều khiển robot, xe tự hành, hoặc tối ưu hóa cho các biến thể DQN tiên tiến hơn, đưa những nghiên cứu từ môi trường giả lập ra thế giới thực.

5.1. Tóm tắt các đóng góp chính của khóa luận

Đóng góp quan trọng nhất của khóa luận là đã thiết kế thành công một kiến trúc tăng tốc phần cứng hoàn chỉnh cho DQN trên nền tảng SoC. Cụ thể, đề tài đã: (1) Đóng gói được khối DQN Core IP theo chuẩn AXI, cho phép tích hợp dễ dàng vào các hệ thống SoC. (2) Hiện thực thành công khả năng tự cập nhật trọng số hoàn toàn trên phần cứng, loại bỏ nút thắt cổ chai giao tiếp giữa phần mềm và phần cứng. (3) Đạt được độ chính xác tính toán cao với sai số rất nhỏ so với mô hình phần mềm. (4) Cung cấp một bộ khung (framework) tham khảo quý giá cho các đồ án tốt nghiệp và nghiên cứu sau này về học tăng cường trên FPGA.

5.2. Hướng phát triển Từ CartPole đến ứng dụng thực tiễn

Mặc dù mô hình được thử nghiệm trên môi trường giả lập CartPole, kiến trúc nền tảng được xây dựng có tiềm năng mở rộng rất lớn. Hướng phát triển trong tương lai bao gồm việc áp dụng hệ thống này cho các bài toán thực tế có không gian trạng thái và hành động phức tạp hơn, chẳng hạn như điều khiển cánh tay robot, tối ưu hóa lộ trình cho xe tự hành, hoặc quản lý tài nguyên trong các hệ thống công nghiệp. Ngoài ra, việc nghiên cứu các kỹ thuật tối ưu hóa thuật toán và phần cứng song song (ví dụ: lượng tử hóa mạng nơ-ron, kiến trúc song song hóa dữ liệu) sẽ giúp giảm thêm tài nguyên sử dụng và tăng thông lượng, đưa các hệ thống AI trên biên lên một tầm cao mới.

11/09/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Trong những năm gần đây, AI hiện diện trong mọi lĩnh vực của đời sống con người, từ kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hay thậm chí là trong quân sự. Những ứng dụng nỗi bật trong việc phát triển AI đến từ nhiều lĩnh vực để giải quyết nhiều vấn đề khác nhau. Nhưng những đột phá phần nhiều đến từ Deep Learning (học sâu) - một mảng nhỏ đang mở rộng dần đến từng loại công việc, từ đơn giản đến phức tạp. Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thê vào 15 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn, phim, ảnh, âm nhạc [1].

Trong số tất cả các loại mô hình Machine Learning được thê hiện trong hình 1.1, Reinforcement Learning (RL) là mô hình được sử dụng dé xử lí bài toán trong đề tài. Types of Machine Learning Machine Learning | Supervised Unsupervised Reinforcement Learning Learning Learning |~ âak 8-8 ‘S aD Task Driven Data Driven Learning from (Classification/Regression) (Clustering) mistakes (Playing Games) Hinh 1.1 Cac linh vuc may hoc Reinforcement Learning (RL) la việc đào tạo các mô hình Machine Learning dé đưa ra một chuỗi các quyết định. Trong Reinforcement Learning, trí tuệ nhân tạo (Al) đối mặt với một tình huống giống như trò chơi. Máy tinh sử dụng thử và sai (trial and error) để đưa ra giải pháp cho vấn dé.

Dé khiến máy làm những gi lập trình viên muốn, các máy (agent) sẽ nhận được phần thưởng (reward) hoặc hình phạt (penalty) cho những hành động (action) mà nó thực hiện. Mục tiêu của nó là kiếm được nhiều phần thưởng nhất có thể. Các thuật toán của Reinforcement Learning ngày càng được sử dụng phổ biến để giải quyết các bài toán của Machine Learning. Hang năm Nhật Ban van thường xuyên tổ chức cuộc thi LSI Design Contest.

Đây là cuộc thi được tổ chức thường niên với sự tham gia của nhiều nước chau A do Trường Đại học Kỹ thuật Ryukyus và Viện công nghệ Kyushu (KyuTech) đăng cai tổ chức. Cuộc thi cũng được bảo trợ bởi Hiệp hội kỹ sư Công nghệ thông tin, Điện tử và Truyền thông Nhật Bản (IEICE), hãng Synopsys, Báo Công nghiệp thiết bị điện tử (Electronic Device Industry News), công ty Gigafirm, công ty Analog Devices, Hiệp hội công nghiệp Okinawa. Trong những năm gần đây, đề tài của cuộc thi luôn xoay quanh việc thiết kế phần cứng sử dụng thuật toán của Machine Learning. Qua đó ta thấy được sự quan tâm đặc biệt của khoa học đối với đề tài.

Hướng nghiên cứu đề tài Hướng nghiên cứu chính của đề tài là sẽ tìm hiểu về giải thuật Deep Q-Network, cach đề có thé hoạt động Neural Network trên phần cứng SoC. Từ những thuật toán DQN đã được kế thừa có thé cải tiến được giải thuật bằng phần cứng thông qua ngôn ngữ mô tả phần cứng Verilog. Thiết kế kiến trúc phần cứng và driver FPGA cho IP DQN sử dụng giao thức AXI4. Tiến hành huấn luyện trên phần cứng với số lần nhất định dé môi trường Cartpole có thé tự hoạt động và đạt được số điểm gần như tuyệt đối.

Mục tiêu của đề tài Trong khoá luận này, đầu tiên nhóm sẽ nghiên cứu và tìm hiểu lý thuyết về Reinforcement Learning, Deep Learning, Backpropagation và mô hình Deep Q- Network đã được kế thừa từ nhóm trước. Nhóm thức hiện dé tài trước đó đã nghiên cứu và thiết kế thành công được IP DQN, sau đó mô phỏng trên phần mềm dé đánh giá thiết kế, có thé nạp xuống FPGA để hiện thực như 1 phần cứng hoàn chỉnh, nhưng thời gian huấn luyện mô hình giữa phần mềm và phan cứng mat nhiều thời gian (7 ngày), chưa mang lại tính thực tiễn cho đề tài. Dé giải quyết cho van đề trên, nhóm sẽ nghiên cứu, thiết kế và đóng gói IP DQN theo chuẩn AXI4. Thiết kế kiến trúc phần cứng mới với core ZynQ dé có thé hiện thực được một mô hình Deep Q- Network hoàn toàn trên phần cứng FPGA để rút ngắn thời gian huấn luyện mô hình cartpole.

Sau đó dựa trên kiến trúc xây dựng device, sử dụng ngôn ngữ Verilog và PetaLinux dé mô phỏng hoạt động huấn luyện trên phần cứng. Sau cùng, hiện thực thiết kế, đánh giá tài nguyên phù hợp với board Genesys ZU 5EV. Môi trường Cartpole Cartpole - còn được gọi là Con lắc ngược là một con lắc có trọng tâm nam trên điểm trục của nó được minh hoa bằng hình 2. Nó không ổn định, nhưng có thé được kiểm soát bằng cách di chuyên điểm trục dưới tâm.

Mục đích là để giữ cân bằng cho Cartpole bằng cách tác dụng các lực thích hợp lên một điểm trục [2]. Cai đặt môi trường Môi trường Cartpole được hỗ trợ bởi thư viện OpenAI Gym. OpenAI Gym là một bộ công cụ dựa trên Python dé nghiên cứu va phát triển các thuật toán học tăng cường. OpenAI Gym đã cung cấp hơn 700 môi trường nguồn mở tại thời điểm năm 2018 [3].

Với OpenAI, người sử dung cũng có thé tạo môi trường của riêng minh. Ưu điểm lớn nhất là OpenAI cung cấp một giao diện thống nhất dé làm việc với các môi trường này và đảm nhận việc chạy mô phỏng trong khi tập trung vào các thuật toán học tăng cường. Mỗi đối tượng trong môi trường Cartpole (env) chứa các chức năng chính sau: e Hàm step () nhận một đối tượng action làm đối số và trả về bốn object: o observation: Một đối tượng được thực hiện bởi môi trường, đại diện cho sự quan sát của môi trường. o reward: Giá tri float có dau cho biết điểm thưởng từ hành động trước đó.

o done: Một gia tri Boolean báo hiệu kịch bản được hoàn thành. o info: Là một đối tượng python dictionary đại diện cho thông tin chan đoán. e Hàm render () tạo ra một biểu diễn trực quan của môi trường. e Hàm reset () đặt lại môi trường về trạng thái ban đầu.

© Mỗi đối tượng env đi kèm với các hành động và quan sát được xác định rõ ràng, được đại diện bởi action_space và Obser_space. Không gian hành động của môi trường Cartpole STT Hành động 0 Đây xe sang trái 1 Day xe sang phai Bảng 2.1 Không gian hành động của môi trường Cartpole [2] Môi trường Cartpole có không gian hành động bao gồm 2 hành động là 0 và 1, khi hành động là 0 sẽ đây xe sang trái, khi hành động là 1 sẽ đây xe sang phải, được thê hiện qua bảng 2. Không gian quan sát của môi trường Cartpole STT Gia tri quan sat Min Max 0 Vi trí xe đây -4.8 1 Vận tốc xe day -00 œ 2 Góc rơi -24° 249 3 Tốc độ góc rơi -œ œ Bảng 2.2 Gia tri quan sát của môi trường Cartpole Bảng 2.2 mô tả môi trường quan sát của Cartpole, bao gồm 4 kết quả là vị trí xe xe day, tốc độ xe đây, góc rơi và tốc độ góc rơi. Thuật toán DQN sẽ dựa vào 4 giá trị quan sát trong môi trường dé trả về các hành động trong bảng 2.

Reinforcement Learning Học tăng cường (Reinforcement Learning) là một trong ba dạng của Machine Learning bên cạnh học giám sát (Supervised Learning) va học không giám sát (Unsupervised Learning). Bản chất của Reinforcement Learning là trial-and-error, nghĩa là thử di thử lai và rút ra kinh nghiệm sau mỗi lần thử như vậy. Bang cách tận dụng việc tìm kiếm và thử nghiệm nhiều lần với khả năng vô hạn, Reinforcement Learning hiện là cách hiệu quả nhất dé phát triển máy học. Trong reinforcement learning có các thuật ngữ thông dụng sau đây: e Agent: may quan sát môi trường và sinh ra hành động tương ứng.

e Environment: là không gian xung quanh của agent, noi ma agent tôn tại va tương tác. e State: trạng thái của môi trường ma agent nhận được. ¢ Action: là phương thức cua agent cho phép nó tương tac với môi trường và thay đổi môi trường. Dựa trên State S(t) của environment hiện tại ma agent sẽ đưa ra Action A(t).

¢ Observation: Sau khi nhận được sự tương tác từ agent thi environment có sự chuyển đổi trang thái đối với agent. «Policy: là một ánh xạ từ các trạng thái (state) của môi trường đến các hành động sẽ được thực hiện khi ở trong các trạng thái đó. Policy là cốt lõi của agent trong việc xác định hành vi. Máy sẽ theo chiến thuật như thế nào đề đạt được mục đích.

« Reward: phần thưởng tương ứng từ môi trường mà máy nhận được khi thực hiện một hành động. « Episode: một chuỗi các trạng thái và hành động cho đến trạng thái kết thúc. Deep Q-Learning Dé agent biết phải chon action nào dé đạt được reward lớn nhất sẽ sử dụng một giá trị gọi là Q-value được tính bằng công thức Gradient Descent. Deep Q-Learning thực hiện các bước sau: e Enviroment đưa vao mạng một state s, đâu ra là các Q-value của các actions tương ứng.

e Agent chon action bang một Policy và thực hiện action đó. e Environment tra lai state s' và reward r là kêt qua cua action a và lưu experience tuple [s, a, r, s'] vao memory e Thực hiện sample các experience thành một vai batches va tiên hành train NeuralNetwork e Lặp lại đến khi kết thúc M episodes. Loss Function: Mean Square Error Mean Square Error (MSE) hay còn được gọi là L2 Loss là một loss function cũng được sử dung cho các mô hình hồi quy, đặc biệt là các mô hình hồi quy tuyến tính. MSE được tinh bằng tổng các bình phương của hiệu giữa giá trị thực (y;: target) va giá trị mà mô hình của chúng ra dự đoán (Ÿ;: predicted) qua công thức 2.

Thuat toan Gradient descent Thuat toan: 1. Khởi tao gia tri x = xo tùy ý. Gan x = x — learning rate * f(x) (learning rate là một hằng số đương (0 hoặc 1)). Tính lai f(x): Nếu f(x) đủ nhỏ thì dừng lại, ngược lại tiếp tục bước 2.

Thuật toán sẽ lặp lại bước 2 một số lần đủ lớn (100 hoặc 1000 lần tùy vào bài toán và hệ số learning rate) cho đến khi f(x) đạt giá trị đủ nhỏ. Việc chọn hệ số learning rate cực kì quan trong, có 3 trường hợp: e© Nếu learning rate nhỏ: mỗi lần hàm số giảm rất ít nên cần rất nhiều lần thực hiện bước 2 dé ham số đạt giá tri nhỏ nhất. e© Néu learning rate hợp lý: sau một số lần lặp bước 2 vừa phải thì hàm sẽ đạt giá trị đủ nhỏ. e_ Nếu learning rate quá lớn: sẽ gây hiện tượng overshoot và không bao giờ đạt được giá trị nhỏ nhất của hàm.

Activation Function: Tanh(x) Hàm tanh nhận đầu vào là một số thực và chuyền thành một giá tri trong khoảng (-1; 1) được thể hiện qua hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ