Khóa Luận Tốt Nghiệp: Giải Thuật Deep Q-Network (DQN) Trong Môi Trường Cartpole

Khóa luận trình bày việc hiện thực hóa giải thuật Deep Q Network trên phần cứng trong môi trường CartPole, mang lại hiệu quả cao trong học máy.

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2022

70
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CÁM ƠN

1. CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI

1.1. Đặt vấn đề

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

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

2. CHƯƠNG 2: MÔI TRƯỜNG CARTPOLE

2.1. Cài đặt môi trường

2.2. Không gian hành động của môi trường Cartpole (Action Space)

2.3. Không gian quan sát của môi trường Cartpole (Observation Space)

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

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

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

3.3. Mô tả DQN Core

3.4. Mô tả interface

3.5. Sơ đồ khối thiết kế

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

3.7. Thiết kế khối Neural Network

3.7.1. Mô tả interface

3.7.2. Mô tả thiết kế

3.8. Thiết kế khối Tanh func

3.9. Thiết kế khối Update

3.9.1. Mô tả thiết kế

4. CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ

4.1. Mô phỏng các thiết kế chi tiết

4.1.1. Mô phỏng thiết kế khối Tanh(x)

4.1.2. Mô phỏng thiết kế khối Neural Network

4.1.3. Mô phỏng thiết kế khối Update

4.2. Mô phỏng thiết kế thuật toán DQN xử lí môi trường Cartpole

4.3. Kết quả mô phỏng

4.4. Tổng hợp thiết kế trên Virtex 7

4.5. Hệ thống SOC kết nối IP

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

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

5.1. Khó khăn gặp phải

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

MỞ ĐẦU

Tóm tắt

I. Giới thiệu về Giải Thuật Deep Q Network DQN Trong Môi Trường Cartpole

Giải thuật Deep Q-Network (DQN) đã trở thành một trong những phương pháp nổi bật trong lĩnh vực học tăng cường. Đặc biệt, môi trường Cartpole là một bài toán điển hình để áp dụng DQN. Mục tiêu của bài viết này là khám phá cách mà DQN hoạt động trong môi trường Cartpole, từ đó giúp người đọc hiểu rõ hơn về các khái niệm cơ bản và ứng dụng thực tiễn của nó.

1.1. Tổng quan về Môi Trường Cartpole và DQN

Môi trường Cartpole là một bài toán trong đó một thanh thẳng đứng được gắn trên một xe lăn. Mục tiêu là giữ cho thanh thẳng đứng bằng cách điều khiển xe lăn. Deep Q-Network là một phương pháp học máy sử dụng mạng nơ-ron để ước lượng giá trị Q cho các hành động trong môi trường này.

1.2. Tại sao chọn DQN cho Cartpole

DQN cho phép xử lý không gian trạng thái lớn và phức tạp mà không cần phải xây dựng một mô hình chi tiết cho môi trường. Điều này giúp giảm thiểu thời gian và công sức trong việc phát triển các thuật toán học tăng cường.

II. Thách thức trong Việc Áp Dụng DQN vào Cartpole

Mặc dù Deep Q-Network mang lại nhiều lợi ích, nhưng việc áp dụng nó vào môi trường Cartpole cũng gặp phải một số thách thức. Những thách thức này bao gồm việc tối ưu hóa các tham số và đảm bảo rằng mô hình có thể học hiệu quả từ các trải nghiệm.

2.1. Vấn đề về Tối ưu hóa Tham số Epsilon Greedy

Tham số epsilon-greedy là một kỹ thuật quan trọng trong DQN, giúp cân bằng giữa việc khai thác và khám phá. Tuy nhiên, việc chọn giá trị epsilon phù hợp có thể ảnh hưởng lớn đến hiệu suất của mô hình.

2.2. Khó khăn trong Việc Huấn luyện Mạng Nơ ron Sâu

Huấn luyện một mạng nơ-ron sâu cho DQN có thể gặp khó khăn do hiện tượng quá khớp (overfitting) và sự không ổn định trong quá trình học. Cần có các kỹ thuật như trải nghiệm hồi tiếp để cải thiện hiệu suất.

III. Phương Pháp Triển Khai DQN Trong Môi Trường Cartpole

Để triển khai Deep Q-Network trong môi trường Cartpole, cần thực hiện một số bước cơ bản. Những bước này bao gồm việc thiết lập môi trường, xây dựng mạng nơ-ron và huấn luyện mô hình.

3.1. Thiết lập Môi Trường Cartpole

Môi trường Cartpole có thể được thiết lập thông qua thư viện OpenAI Gym. Thư viện này cung cấp các hàm cần thiết để tương tác với môi trường và nhận các trạng thái cũng như phần thưởng.

3.2. Xây dựng Mạng Nơ ron cho DQN

Mạng nơ-ron trong DQN thường bao gồm nhiều lớp ẩn và sử dụng hàm kích hoạt như Tanh hoặc ReLU. Cấu trúc mạng cần được tối ưu hóa để đạt được hiệu suất tốt nhất trong việc dự đoán giá trị Q.

IV. Kết Quả và Ứng Dụng Thực Tiễn của DQN Trong Cartpole

Kết quả từ việc áp dụng Deep Q-Network trong môi trường Cartpole cho thấy mô hình có thể đạt được điểm số tối đa. Điều này chứng tỏ rằng DQN là một phương pháp hiệu quả cho các bài toán học tăng cường.

4.1. Đánh giá Hiệu suất của Mô hình

Mô hình DQN đã đạt được điểm số gần như tuyệt đối trong môi trường Cartpole, cho thấy khả năng học hỏi và thích nghi tốt với các tình huống khác nhau.

4.2. Ứng dụng DQN trong Các Lĩnh Vực Khác

Ngoài Cartpole, DQN còn có thể được áp dụng trong nhiều lĩnh vực khác như trò chơi điện tử, robot tự hành và các hệ thống điều khiển tự động.

V. Kết Luận và Hướng Phát Triển Tương Lai của DQN

Giải thuật Deep Q-Network đã chứng minh được tính hiệu quả của nó trong việc giải quyết các bài toán học tăng cường như Cartpole. Tuy nhiên, vẫn còn nhiều hướng phát triển tiềm năng cho DQN trong tương lai.

5.1. Hướng Nghiên Cứu Tiếp Theo

Các nghiên cứu tiếp theo có thể tập trung vào việc cải thiện độ chính xác của DQN thông qua việc áp dụng các kỹ thuật học sâu mới và tối ưu hóa tham số.

5.2. Tương Lai của DQN trong AI

Với sự phát triển không ngừng của công nghệ AI, DQN có thể trở thành một công cụ quan trọng trong việc phát triển các ứng dụng thông minh hơn trong tương lai.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật máy tính hiện thực giải thuật deep q network dqn trên phần cứng với môi trường cartpole

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

Chương 1. GIỚI THIỆU TONG QUAN DE TAI 1. Dat van dé Trong những năm gan đâ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 tac văn, phim, ảnh, âm nhac [1]. Trong số tat cả các loại mô hình Machine Learning, Reinforcement Learning (RL) là mô hình được sử dụng dé xử lí bài toán trong đề tài. Reinforcement Learning (RL) là 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 tao (AI) đố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) dé đưa ra giải pháp cho van 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à tối đa hóa tong phan thưởng.

Các thuật toán của Reinforcement Learning ngày càng được sử dung phô biên đê giải quyêt các bài toán cua Machine Learning. Hang năm Nhật Bản vẫn thường xuyên tổ chức cuộc thi LSI Design Contest. Day là cuộc thi được tô chức thường niên với sự tham gia của nhiều nước châu Á 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 AnalogDevices, 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. Huong nghién ciru dé tai Hướng nghiên cứu chính của dé tài là sẽ tìm hiểu về giải thuật Deep Q-Network, cách dé có thê đồng mô phỏng giữa phan cứng và phần mềm thông qua việc sử dụng CO-Simulation. Từ những thuật toán DỌN đã được nghiên cứu có thé hiện thực được giải thuật băng phần cứng thông qua ngôn ngữ mô tả phần cứng Verilog. Thực hiện huấn luyện trên phần cứng dé sau đó môi trường Cartpole có thể tự hoạt động và đạt được số điểm gần như tuyệt đối (200).

Mục tiêu của đề tài Trong khoá luận nay, đầu tiên, nhóm sẽ nghiên cứu, phân tích và tìm hiểu lý thuyết về Reinforcement Learning, Deep Learning, Backpropagation, Neural Network. Phan ké tiép nhóm sé nghiên cứu, phân tích va thiết kế IP có thể hiện thực được một mô hình Deep Q-Network co bản (giới hạn với | lớp hidden layer), sử dụng ngôn ngữ Verilog và có thê sử dụng CO-Simulation chạy đồng mô phỏng giữa phần cứng và phần mềm. Sau cùng, hiện thực thiết kế, đánh giá tài nguyên phù hợp với board FPGA Virtex-7 VC707. 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 nằm trên điểm trục của nó.

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à dé giữ cân bang 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].1: Mô hình Cartpole 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 và 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 viết bài. Với OpenAl, người sử dụng cũng có thé tạo môi trường của riêng mình. Ư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 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á trị float có dấu cho biết điểm thưởng từ hành động trước đó. o done: Một giá 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 dau. se Mỗi đối tượng env di kèm với các hành động va quan sat đượ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 (Action Space) Num Action 0 Push cart to the left 1 Push cart to the right Hình 2.2: Action space của môi trường Cartpole [3] 2. Khong gian quan sát của môi trường Cartpole (Observation Space) Num Observation Min Max 0 Cart Position -4.8 48 1 Cart Velocity -Inf Inf 2 Pole Angle ~ -0.418 rad (24°) 3 Pole Angular Velocity -Inf Inf Hình 2.3: Observation Space của môi trường Cartpole [3] 2.

Reinforcement Learning Học tăng cường (Reinforcement Learning) là một trong ba dang cua Machine Learning bên cạnh học giám sát (Supervised Learning) va hoc không giám sát (Unsupervised Learning). Bản chất của Reinforcement Learning là trial-and-error, nghĩa là thử đi thử lại và rút ra kinh nghiệm sau mỗi lần thử như vậy. Bằng cách tận dung sức mạnh của tim kiêm và nhiêu thử nghiệm, Reinforcement Learning hiện là cách hiệu quả nhât đê gợi ý sự sáng tạo của máy móc. Trong reinforcement learning có rât nhiêu các thuật ngữ khác nhau, dưới đây là các thuật ngữ thông dụng: 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 cua agent, nơi ma agent tôn tại và tương tác. e Action: là phương thức của agent cho phép nó tương tác với môi trường va thay đổi môi trường. Dựa trên State S(t) của environment hiện tại mà agent sẽ đưa ra action a(t). ¢ Observation: Sau khi nhận được sự tương tac 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 dé đạ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.

« State: trạng thái của môi trường ma máy nhận được. « Episode: một chuỗi các trạng thái và hành động cho đến trang thái kết thúc. Deep Q-Learning Dé agent biét phai chon action nao dé dat duoc 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 vào mạng một state s, dau 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 trả lại state s' va reward r là kết quả của action a và lưu experience tuple [s, a, r, s'] vào memory e Thực hiện sample các experience thanh một vai batches va tién hanh train NeuralNetwork e Lap 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 tính bằng tổng các bình phương của hiệu giữa giá trị thực (y;: target) và giá trị mà mô hình của chúng ra dự đoán (¥;: predicted).

Thuật toán Gradient descent Thuật toán: 1. Khởi tao giá tri x = xo tùy ý. Gan x = x — learning rate * f(x) (learning rate là một hằng số dương (0 hoac 1)). Tinh lai f(x): Néu f(x) đủ nhỏ thi dừng lại, ngược lai 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á tri đủ nhỏ. Việc chọn hệ số learning_ rate cực ki quan trọng, có 3 trường hop: 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 để hàm số đạt giá trị 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) Ham tanh nhận đầu vào là một số thực va chuyển thành một giá trị trong khoảng (-1; 1). Cũng như Sigmoid, hàm Tanh bị bão hoà ở 2 dau (gradient thay đôi rat ít ở 2 đầu). Tuy nhiên do hàm Tanh đối xứng qua 0 nên khác phục được một nhược điểm của Sigmoid (Hàm Sigmoid không có trung tâm là 0 gây khó khăn cho việc hội tụ).4: Đồ thị hàm Tanh(x) Trong dé tài sử dụng hàm Tanh(x) dựa theo lý thuyết liên phân số của Lambert [4] duoc mô tả ở công thức 2. Neural Network Neural network là mang sử dụng các mô hình toán hoc phức tap dé xử ly thông tin.

Neural network kết nối các nút đơn giản, còn được gọi là tế bào thần kinh. Và một tập hợp các nút như vậy tạo thành một mạng lưới các nút, do đó có tên là Neural network. Neural network được sử dụng trên nhiều công nghệ và ứng dụng khác nhau như trò chơi điện tử, thị giác máy tính, nhận dạng giọng nói, lọc mạng xã hội, dịch tự động và chân đoán y tế. 3 thành phần chủ yếu của neural network bao gồm: e Lớp đầu vào (Input layer): đại diện cho các dữ liệu đầu vào.

e Lớp 4n (Hidden layer): đại điện cho các nút trung gian phân chia không gian đầu vào thành các vùng có ranh giới. Nó nhận vào một tập hợp các đầu vào có trọng số và tạo ra kết quả đầu ra thông qua một hàm kích hoạt (activation function). e Lớp đầu ra (Output layer): đại diện cho đầu ra của mạng nơ-ron. Mỗi mô hình luôn có 1 input layer, 1 output layer, có thê có hoặc không các hidden layer.

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