1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu, thiết kế, hiện thực giải thuật Deep Q-Network (DQN) sử dụng công nghệ SoC

60 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 2.1.2. Không gian hành động của môi trường Cartpole (Action Space) (16)
  • 2.1.3. Không gian quan sát của môi trường Cartpole (Observation Space) .4 2.2. Reinforcement L€arnIng..........................- .-- - -- + s11 vn ng ng 5 2.2.1. B090. 0170707 (0)
  • 2.2.2. Loss Function: Mean Square ETTOT..........................-- 5s s+++s£++se+seeesess 6 2.2.3. Thuật toán Gradient descent ..............................----- << << + + **++++2£sssccessseexs 7 2.2.4. Activation Function: 'Tanh(X)...................- .-- c + * + ‡++vexseeseeersessressss 7 2.3. Neural NetWOTK................................ ng nh 8 2.3.1. ForwardpTODÀAfIOTI.......................- -- G11 HH HH Hư, 9 2.3.2. BacKkprOpAðAtIONI................................- nh HT HH Hy 11 2.3.3. Các thông s6 DaraIm{©T..................-- 2-2 2 2 E2E£EE£EE£EE2EEEEEEEEEEerErrkrrrres 12 2.4. — PetaLlInux.................................... LH HH HH HH HT HH nh Hit 15 2.5. AXT4 PFTOOCOI................................... HH HT HH HH HH nh nh 15 2.6. __ Giới thiệu Zynq Ultrascale MPSoC và lý do sử dụng (18)
  • 2.6.1. Giới thiệu board MPSoC Genesys ZU S5EV..........................-..c se. 17 2.6.2. Ly do sử dụng kit ZynQ UltraScale MPSoC dé hiện thực (29)

Nội dung

Tat cả môi trường trainning va mang Neural Network đều được nạp xuống SoC dùng dé thực hiện huấn luyện vàcập nhật trọng số, đồng thời đưa ra hành động với môi trường Cartpole.. Thiết kế

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

0 Push cart to the left

1 Push cart to the right

Bảng 2.1: Action space cua môi trường Cartpole [2]

Môi trường Cartpole có không gian hành động (Action Space) bao gồm 2 action là 0 và 1, khi action là 0 sẽ day xe sang trái, khi action là 1 sẽ day xe sang phải.

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

3 Pole Angular Velocity | Inf Inf

Bảng 2.2: Observation Space của môi trường Cartpole [2]

Môi trường Cartpole có không gian quan sát (Observation Space) bao gồm 4 kết quả là vi trí xe (Cart Position), tốc độ của xe (Cart Velocity), góc giữa trục với xe (Pole Angle) và vận tốc của trục (Pole Angular Velocity) Agent sẽ dựa vào 4 kết quả trong môi trường trả về này va policy dé chon ra được action phù hợp trong Bảng 2.1

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) và học không giám sát

(Unsupervised Learning) Ban chat cua Reinforcement Learning 1a 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 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 va 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. ô State: trạng thai của mụi trường ma agent nhận được. e Action: là phương thức cua agent cho phép nó tương tác 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 mà 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 trạng thái đối với agent. ¢ Policy: là một ánh xạ từ các trang 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. ô_ 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.

2.2.1 Deep Q-Learning Để 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 chọn action bang một Policy va thực hiện action do. e Environment trả lai state s' va reward r là két qua cua action a và lưu experience tuple [s, a, r, s'] vào memory e Thực hiện sample các experience thành một vai batches và tiên hành train

NeuralNetwork e Lap lại đến khi kết thúc M episodes.

2.2.2 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 (yi: target) và giá tri mà mô hình của chúng ra dự đoán (9;: predicted). ằ (y= 5

1 Khởi tạo giá tri x = xo tùy ý.

2 Gán x = x — learning rate * f(x) (learning_rate là một hằng số dương (0 hoặc 1)).

3 Tính lại 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 trọng, 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é hàm số dat giá trị nhỏ nhất. se 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.

Ham tanh nhận dau vào là một số thực và 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 đầu (gradient thay đổi rất í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ụ).

Hình 2.2: Đồ thị hàm Tanh(x)

Trong đề tài sử dụng hàm Tanh(x) dựa theo lý thuyết liên phân số của Lambert

[4] đươc mô ta ở công thức 2.1. ƒŒ):=—————„——— (2.2)

Neural network là mang sử dụng các mô hình toán học phức tap dé xử ly thông tin Neural network kết nối các nút đơn giản lại với nhau, mỗi nút sẽ được gọi là 1 té bao than kinh Tập hợp nhiều nút liên kết với nhau tạo thành một mang lưới các nút giống như 1 neuron thực, 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 phan chủ yêu của neural network bao gồm: e Lớp đầu vào (Input layer): đại điện cho các dir 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.

Mỗi node trong hidden layer và output layer: e Liên kêt với tat cả các node ở layer trước đó với các trọng sô riêng. e Mỗi node có 1 hệ số bias riêng.

Hình 2.3: Mô hình Neural Network sử dụng trong đề tài

Neural network sử dụng trong đề tài là 1 mạng neural có 3 layer, một layer input có 4 nodes tương ứng với 4 giá trị Observation_space ở Bảng 2.2, một layer output có 2 nodes tương ứng với 2 action trong Action_space ở Bảng 2.1 và một hidden layer với số nodes bang 4 (2/3 tong số nodes của input và output).

Hình 2.4: Layer 1 Neural Network y,=outHywh} + outH,wl+ outH,wi+ outHywh! thị (2.3)

Trong đó: © outHạ, outH,, oufH;, outH; là kết qua từng node ở hidden layer. ° we! là trọng số tương ứng với node Yo: o x là thứ tu node dau vào. o_ y là thứ tự của node đầu ra trong tầng tiếp theo. o [2] Số thứ tự tang. o Ví dụ: wil, Trọng số thứ 1 tương ứng với node thứ 0 của tang tiếp theo. ° bl! la bias tương ứng với node y, y, duge tinh toan tuong tu nhu y,

Hy= tanh(xywo! + x¡w + xpwhtlt xywhll tpl!) (2.4)

Loss Function: Mean Square ETTOT 5s s+++s£++se+seeesess 6 2.2.3 Thuật toán Gradient descent - << << + + **++++2£sssccessseexs 7 2.2.4 Activation Function: 'Tanh(X) - c + * + ‡++vexseeseeersessressss 7 2.3 Neural NetWOTK ng nh 8 2.3.1 ForwardpTODÀAfIOTI .- G11 HH HH Hư, 9 2.3.2 BacKkprOpAðAtIONI - nh HT HH Hy 11 2.3.3 Các thông s6 DaraIm{©T 2-2 2 2 E2E£EE£EE£EE2EEEEEEEEEEerErrkrrrres 12 2.4 — PetaLlInux LH HH HH HH HT HH nh Hit 15 2.5 AXT4 PFTOOCOI HH HT HH HH HH nh nh 15 2.6 Giới thiệu Zynq Ultrascale MPSoC và lý do sử dụng

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 (yi: target) và giá tri mà mô hình của chúng ra dự đoán (9;: predicted). ằ (y= 5

1 Khởi tạo giá tri x = xo tùy ý.

2 Gán x = x — learning rate * f(x) (learning_rate là một hằng số dương (0 hoặc 1)).

3 Tính lại 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 trọng, 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é hàm số dat giá trị nhỏ nhất. se 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.

Ham tanh nhận dau vào là một số thực và 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 đầu (gradient thay đổi rất í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ụ).

Hình 2.2: Đồ thị hàm Tanh(x)

Trong đề tài sử dụng hàm Tanh(x) dựa theo lý thuyết liên phân số của Lambert

[4] đươc mô ta ở công thức 2.1. ƒŒ):=—————„——— (2.2)

Neural network là mang sử dụng các mô hình toán học phức tap dé xử ly thông tin Neural network kết nối các nút đơn giản lại với nhau, mỗi nút sẽ được gọi là 1 té bao than kinh Tập hợp nhiều nút liên kết với nhau tạo thành một mang lưới các nút giống như 1 neuron thực, 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 phan chủ yêu của neural network bao gồm: e Lớp đầu vào (Input layer): đại điện cho các dir 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.

Mỗi node trong hidden layer và output layer: e Liên kêt với tat cả các node ở layer trước đó với các trọng sô riêng. e Mỗi node có 1 hệ số bias riêng.

Hình 2.3: Mô hình Neural Network sử dụng trong đề tài

Neural network sử dụng trong đề tài là 1 mạng neural có 3 layer, một layer input có 4 nodes tương ứng với 4 giá trị Observation_space ở Bảng 2.2, một layer output có 2 nodes tương ứng với 2 action trong Action_space ở Bảng 2.1 và một hidden layer với số nodes bang 4 (2/3 tong số nodes của input và output).

Hình 2.4: Layer 1 Neural Network y,=outHywh} + outH,wl+ outH,wi+ outHywh! thị (2.3)

Trong đó: © outHạ, outH,, oufH;, outH; là kết qua từng node ở hidden layer. ° we! là trọng số tương ứng với node Yo: o x là thứ tu node dau vào. o_ y là thứ tự của node đầu ra trong tầng tiếp theo. o [2] Số thứ tự tang. o Ví dụ: wil, Trọng số thứ 1 tương ứng với node thứ 0 của tang tiếp theo. ° bl! la bias tương ứng với node y, y, duge tinh toan tuong tu nhu y,

Hy= tanh(xywo! + x¡w + xpwhtlt xywhll tpl!) (2.4)

Trong đó: © Xọ, X¡, X¿, X3 là dữ liệu dau vào. ° wil là trọng sô tương ứng với node Ho. o x là thứ tự node dau vào. o_ y là thứ tự của node đầu ra trong tầng tiếp theo. o [1] Số thứ tự tang. o Ví dụ: wil: Trọng số thứ 1 tương ứng với node thứ 0 của tang tiếp theo. e bi! là bias tương ứng với node Hy e tanh() hàm kích hoạt (activation function).

H¡,H;,H; được tinh toán tương tự như Hạ

Như vậy từ những input x đầu vào, ta có thé tinh được giá trị dự đoán J, tuy nhiên việc chính cần làm là đi tìm hệ số W (trọng số) và b (bias) Có thể nghĩ ngay tới thuật toán gradient descent và việc quan trọng nhất trong thuật toán gradient descent là đi tìm đạo hàm của các hệ số đối với loss function Và việc tính đạo hàm của các hệ số trong Neural Network được thực hiện bởi thuật toán Backpropagation.

Thuật toán tối ưu được áp dụng là Gradient Descent Hàm loss dựa trên công thức Mean Square Error nên ta có công thức cập nhật cho các trọng số tương ứng với output:

Wnew — Woja + ơ[ r + y(1 - done) maxQ (s,a`) - Q(s,a)] OH (2.5) a

Công thức trên được tham khảo và phát triển từ công thức Gradient Descent được trình bày tại MIT Deep Learning [4].

Với ham mat mát (loss function) được thé hiện ở công thức (2.6): loss = ; ([r + ymaxQ (s,a)| - Q(,a)} (2.6)

Wnewy: Trọng số sau khi cập nhật.

Wais: Trọng số trước khi cập nhật. ơ: Hệ số học (Learning rate). r: điểm thưởng (reward). y: Hệ số chiết khấu (gamma hay discount factor). maxQ (s',a'): Giá trị Q lớn nhất của trang thái tiếp theo. a

Q(s,a): Giá trị Q của hiện tai.

OH: Dao hàm của node tiền phong ảnh hưởng đến trọng số đang cần cập nhật.

Tính đạo hàm của wh! theo ham loss dựa theo công thức (2.7), (2.8), (2.9), (2.10). dloss — dloss dQ doutHg dHụẹ

: 2.7 will dQ ` doutHy © dHo wil] 2.7) dloss e = Q[rtymaxQ\(s,a) ] (2.8)

Hình 2.5: Mô hình thu nhỏ của NeuralNetwork sử dung cho việc cập nhật wi]

00 dQ II D] ° qouHg =Og> Yị) 2 Woo : Wo} (29)

Voi: © Hy=xowog TXỊWjg†XaWDp + X3W5p +H e outHa=tanh(Hạ)

Ap dụng công thức với các trọng số còn lại của lớp thứ 1 w y

Bảng 2.3: Các thông số parameter sử dụng trong đề tài

100% chọn hành động Max_epsilon

1% chọn hành động Min_epsilon 0.01 7 gau nhién

Epsilon_decay_intervals ; epsilon => min epsilon

; Kích thước bộ nhớ lưu

Min_relay_size nhat Target_net

Max_num_step 40000 Train trong 40000 bước di (trong 40000 bước di sẽ có rất nhiều ván choi)

Trong Bang 2.3 có dé cập đến tham số Learning rate Learning rate là một trong sốA những siêu tham số quan trọng nhất của mô hình Learning rate được hiểu là một phan tỷ lệ của một bước dịch chuyên trọng số mô hình được cập nhật theo các mini-batch truyền vào Độ lớn của learning rate sẽ ảnh hưởng trực tiếp tới tốc độ hội tụ của hàm loss tới điểm cực trị toàn cục Tầm ảnh hưởng của Learning rate được thé hiện trong

Too low Just right Too high

A small learning rate The ee ` Too large of a learning rate requires many updates cung resmpes tie causes drastic updates before reaching the minimum point which lead to divergent minimum point

Giới thiệu board MPSoC Genesys ZU S5EV - c se 17 2.6.2 Ly do sử dụng kit ZynQ UltraScale MPSoC dé hiện thực

Đề tai được tối ưu hóa phủ hợp với tài nguyên trên Board MPSoC Genesys ZU

5EV thuộc hãng Xilinx Trên board Genesys ZU 5EV có day đủ tính năng, độ linh động cao, tốc độ xử lý cao sử dụng Zynq Ultrascale+ MPSoC — XCZU5EV-

Hình 2.9: Kit MPSoC Genesys ZU SEV

Dưới đây là một số hỗ trợ của board Genesys ZU 5EV:

- Cấu hình: o_ Mạch cấu hình JTAG trên board cho phép cau hình qua USB o_ Đầu đọc USB FTDI được dùng để lập trình và sửa lỗi

- Bộ nhớ: o 4GB DDR4 SODIMM 2133 MT/s o Khe thẻ SD, tốc độ đọc tối đa 104 MB/s o 5.1 Mb Block RAM

- Giao tiếp và mạng: o SFP+ 10G Ethernet đầu nối thu phát o UART tới USB o Céng Ethernet 1Ghz

- Hiến thi: o HDMI Video OUT o Cổng hiên thị Dual-Lane 1.2a o 4xPLLEDs o IxMIOLEDs

- Xung nhịp © Bộ tạo dao động lên tới 250 MHz o Sử dụng xung nhịp hệ thống cho FPGA o Bộ tạo động lập trình được với 156.250 MHz như một đầu ra mặc định

- _ Điều khiển và I/O: o Năm nút nhắn PL o Bốn công tắc PL o Hai nút nhân MIO

Bảng 2.4: Các thành phần trên board Genesys ZU 5EV

1 6-pin PCle power connector 16 User buttons

2 External JTAG port 17 User switches

3 USB JTAG/UART port 18 Mini PCle/mSATA slot

4 USB 2.0 host connectors 19 User buttons

5 Wi-Fi chip 20 MIPI (Pcam) connectors

6 4 GiB DDR4 SODIMM | 21 Wireless and SSD activity module LEDs

7 Audio jacks 22 MicroSD Card Slot

8 Boot mode select jumper 23 Mini DisplayPort

10 INIT, DONE, ERR and STS | 25 Type-C USB 3.1

11 Zmod (SYZYGY) connector | 26 Power switch

12 FMC LPC connector 27 Zynq Ultrascale+, heat sink and fan

13 Coin vattery retainer 28 System Monitor header

14 Pmod headers 29 SIM card slot (on the bottom side)

2.6.2 Lý do sử dung kit ZynQ UltraScale MPSoC để hiện thực.

Với những thông số ở mục 2.6.1, Genesys ZU 5EV hỗ trợ đầy đủ những nhu cầu cần cho thực hiện dé tài như công UART để giao tiếp giữa host và FPGA Board có tích hợp ARM Cortex-A53, tạo điều kiện để thuận lợi cho việc kết nối giữa FPGA và host, giữa các IP với nhau Ngoài ra, board còn hỗ trợ xung nhịp cao, giúp xử lý dữ liệu nhanh chóng.

Chương 3 THIET KE HE THONG

Trong chương 2 đã trình bay về các ly thuyết tổng quát và các thuật toán sử dung trong đề tài Trong chương 3 sẽ trình bày chỉ tiết hơn về thiết kế hệ thống.

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

Hình 3.1 mô tả sơ đồ tổng quan thiết kế của hệ thống phần cứng

Hình 3.1: Tổng quan thiết kế hệ thống

Chương trình được bắt đầu bằng việc ARM Cortex A53 hoạt động, lay cau hình và khởi động PetaLinux, sau đó sẽ chạy môi trường Cartpole trên hệ điều hành này. Lúc này môi trường sẽ trả về các thông số cho DQN Core IP, DQN Core IP sẽ tiếp

21 nhận dữ liệu và thực hiện tính toán dé cập nhật trọng số hoặc hành động kế tiếp cho môi trường, sau đó dit liệu đầu ra được lưu giữ trong DDR4 Kế tiếp Processor ARM Core sẽ lay giá trị từ DDR4 dé nạp vào môi trường xử lý, khi xử lý xong môi trường sẽ trả lại dir liệu ngay địa chỉ mà DQN Core IP lấy dữ liệu dé tiếp tục thực hiện lần train mới Mô tả chức năng từng khối trong hệ thống được trình bày ở Hình 3.1.

Bảng 3.1: Bảng mô tả chức năng từng khối trong hệ thong

Là khối IP có chức năng tính toán trọng số và dự đoán

DQN Core IP Los hành động kê tiép

UART Công kết nói dé nap dữ liệu

USB Công kết nói với thiết bị ngoại vi

CDMA Là bộ truy cập bộ nhớ trực tiếp

Bộ nhớ lưu trữ Cartpole và dữ liệu đầu ra của DQN

ARM Cortex A53 Bộ xử lý

3.1.1 Mô tả DỌN Core IP đã kế thừa

Clk data_in [31:0] addr [5:0] —————> 1+ằ act start —————————* data_out

1 lastAc ——— _pằ DQN valid_out nrst ———— ằ done mode

Hình 3.2: Interface của DQN Core IP

DQN Core IP có chức năng là cập nhật trọng số, với đầu vào là trạng thái của môi trường, trọng số, bias nhận từ môi trường Cartpole (Python code) và đầu ra là trọng số sau khi Update, dự đoán hành động tiếp theo mà môi trường cần thực hiện Hình

3 mô tả interface của DQN Core IP và chi tiết từng tín hiệu của IP được mô tả trong bảng 3.2

Bang 3.2: Bảng mô tả tín hiệu interface DỌN Core IP

Tín hiệu VO | Số bit Mô tả clk I 1 Xung clock hé thong, kích cạnh lên. nrst I 1 Reset bất đồng bộ tích cực thấp.

Tín hiệu bắt đầu cho khối DQN thực hiện tinh start I 1 toán. data_in I 32 | Dữ liệu đầu vào là số floating point 32-bit.

Hành động vừa thực hiên ở trạng thái trước lastAct I 1 do.

Cho biết thực hiện chức năng dự đoán hành mode I 1 động tiếp theo hay chức năng cập nhật trọng số cho trạng thái tiếp theo.

Báo hiệu môi trường hoàn tất công việc của done I 1 no hay chua. addr I 6 Dia chi của dit liệu đầu vào act lạ) 1 Hành động tiếp theo được dự đoán.

23 valid_ out Báo hiệu có đây đủ tín hiệu ngõ ra. đata_ out 32 Dữ liệu ngõ ra.

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

Nghiên cứu về thuật toán

DỌN và DQN Core IP

Thiết kế lại va đóng gói DON

Core IP theo chuan AXI

Thiết kế kiến trúc với

Thiét ké device tree cho hé dieu hanh

Cai đặt, cau hình môi trường PetaLinux

Hình 3.3: Sơ đồ quy trình thiết kế

Quy trình thiết kế hệ thống được thể hiện trong Hình 3.3 Bước đầu tiên nhóm nghiên cứu các khái niệm về Deep Learning, thuật toán Deep Q-Network, Loss Function: Mean Square Error, AXI Bus và DỌN Core IP Tiép theo, sử dung ngôn ngữ mô tả phan cứng (Verilog) dé thiết kế lại và đóng gói IP theo chuẩn AXI Tiếp tục tìm hiểu về Bus AXI, nghiên cứu về cách hoạt động và thiết kế driver cho DỌN

Core IP với phan mềm Vitis Sau đó thiết kế device tree cho hệ điều hành, dựa vào đó dé cài đặt và câu hình môi trường PetaLinux.

Sau khi đã thiết kế phần cứng và cấu hình môi trường Cartpole trên hệ điều hành, tiếp theo nạp phần mềm xuống board và tiến hành huấn luyện mô hình Cartpole Sau khi thực hiện huấn luyện, môi trường Cartpole có thể tự hoạt động và đạt được số điểm gần như tuyệt đối (200).

3.3 Mô tả thiết kế DQN Core IP theo chuẩn AXI (AXI_DQN)

Hình 3.4: Interface của AXI_ DỌN

AXI_DQN có chức năng là cập nhật trọng s6, với đầu vào 34 bộ input là trạng thái của môi trường, trọng số, bias nhận từ môi trường Cartpole (Python code), 35 input này sẽ được nối với axi_data_in từ Bus AXI, khi nhận đủ 35 input data, ready sẽ được AXI bật lên cho DỌN hoạt động va đầu ra là trọng số sau khi Update, dự đoán hành động tiếp theo ma môi trường cần thực hiện, khi tín hiệu và hành động được xác định thì tín hiệu valid sẽ được bật lên cho Bus AXI lấy kết quả Hình 3 mô tả Interface của AXI_DQN và chỉ tiết từng tín hiệu của IP được mô tả trong Bảng 3.3.

Bảng 3.3: Bang mô tả tín hiệu interface AXI_ DỌN

Tín hiệu VO_ | Số bit Mô tả clk I 1 Xung clock hé thống, kích cạnh lên. resetn I 1 Reset bat đồng bộ tích cực thấp. ready : Tín hiệu bắt đầu cho khối DQN thực hiện tính toán. data_in[34 0] | 1 32 | Dữ liệu đầu vào tir Bus AXI. data_out I 32 | Dữ liệu trong số ngõ ra Bus AXI. act I L | Cho biết hành động tiếp theo với môi trường.

Valid I 1 Bao hiệu tín hiệu ngõ ra da valid hay chưa.

3.3.2 So đồ khói thiết kế

DQN Core IP gồm ba thành phan chính, một là khối Neural Network dùng dé dự đoán hành động cho trạng thái tiếp theo, hai là khối Update dùng dé cập nhật trọng sỐ (weight) và độ lệch (bias) cho Neural Network ở trạng thái tiếp theo, cuối cùng là khối Control, phân chia chức năng cho các module một cách hợp lí Trong thiết kế có

1 thanh RAM có 35 thanh ghi 32 bits với 34 thanh lưu giữ giá trị trọng số, thanh cuối cùng sẽ lưu giữ những giá tri input khác của DQN Core IP (LastAct, mode, done ).

Hình 3.4 mô tả sơ đồ khối DQN Core IP, các tín hiệu sử dụng trong thiết kế và Bang

3 mô tả chi tiết chức năng từng khối trong thiết kế khối DQN Core IP.

27 data_in[34] —3⁄—ằ data_in[0] act

Bảng 3.4: Mô tả các khối trong DQN Core IP

Neural Network Dự đoán hành động cho trạng thái tiếp theo.

Cập nhật trọng số (weight) và độ lệch (bias) cho Neural Network ở trạng thái tiếp theo.

Control Phân chia chức năng cho các module.

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

Khi có tín hiệu start bắt đầu hoạt động Mạch sẽ bắt đầu bằng việc nhập 34 data_in (gồm state, weitght, bias) của trang thái hiện tại, sau đó khối Neural Network sẽ thực hiện tính toán Khi hoàn thành, mach sẽ kiểm tra tín hiệu mode, néu mode = 0, mach sé trả lại hành động (act) mà khối Neural Network đã dự đoán cho trạng thái tiếp theo.

Ngày đăng: 02/10/2024, 02:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w