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 và thiết kế mô hình học tăng cường trên FPGA với môi trường Cartpole

109 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

Thông tin cơ bản

Tiêu đề Nghiên Cứu Và Thiết Kế Mô Hình Học Tăng Cường Trên FPGA Với Môi Trường Cartpole
Tác giả Huỳnh Xuân Minh, Trần Văn Khoa
Người hướng dẫn ThS. Trần Văn Quang
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Kỹ Thuật Máy Tính
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 109
Dung lượng 57,26 MB

Nội dung

Trong đó, mô hình có khả năng tương tác với môi trường — bằng việc dự đoán thông qua thuật toán lựa chọn chính sách e-greedy giữa việc lựa chọn hành động ngẫu nhiên và việc sử dụng mạng

Trang 1

KHOA KỸ THUAT MAY TÍNH

HUYNH XUAN MIN

TRAN VAN KHOA

KHOA LUAN TOT NGHIEP

NGHIEN CUU VA THIET KE MO HINH HOC

TANG CUONG TREN FPGA VOI MOI TRUONG

CARTPOLE

Research and Design Reinforcement Learning Model

on FPGA with Cartpole Environment

KY SU KY THUAT MAY TINH

TP HO CHÍ MINH, 2022

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

HUYNH XUAN MIN - 18521086

TRAN VAN KHOA - 18520940

KHOA LUAN TOT NGHIEP

NGHIEN CUU VA THIET KE MO HINH HOC

TANG CUONG TREN FPGA VOI MOI TRUONG

CARTPOLE

Research and Design Reinforcement Learning Model

on FPGA with Cartpole Environment

KY SU KY THUAT MAY TINH

GIANG VIEN HUONG DAN

ThS Tran Van Quang

TP HO CHi MINH, 2022

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

526/QD-DHCNTT ngày 19 tháng 07 năm 2022 của Hiệu trưởng Trường Dai học Công nghệ

thống tin

Trang 4

LỜI CẢM ƠN

Đầu tiên, em muốn cám ơn các quý thay, cô và các giảng viên đã và đang giảngday tại trường Dai học Công nghệ thông tin — Dai học Quốc gia Thành phố Hồ

Chí Minh đã góp công xây dựng trường vững mạnh của chúng ta ngày hôm nay.

Trong quá trình học tập và rèn luyện tại trường, em sự nhận được sự chỉ bảo tận

tình, nhận được những kiến thức, kinh nghiệm quý báu của các thay, cô, từ đó đã giúpnhóm em có được kiến thức chuyên môn, sâu rộng như ngày hôm nay Ngoài ra, emcòn được trang bị kỹ năng mềm trong quá trình theo học tại trường, giúp em có thêbước vững trong cuộc sống và môi trường làm việc trong tương lai

Tiếp theo, em xin cám ơn các thầy cô thuộc Khoa Kỹ thuật máy tính đã giúp đỡ

em trong những lúc khó khăn về học vụ, đăng ký học phần và hỗ trợ tận tình về cácvấn đề liên quan đến đồ án, khoá luận

Dé có thé hoàn thành khoá luận này, em xin cám ơn thay Lâm Đức Khai và thayTrần Văn Quang đã tận tình hướng dẫn từ lúc em là sinh viên năm ba đến thời điểm

hiện tại.

Sau cùng, em muốn gửi lời cảm ơn đến gia đình và bạn bè đã luôn là hậu phươngvững chắc, là chỗ dựa tinh thần giúp em có thé hoàn thành khoá luận

Sinh viên thực hiện

Huỳnh Xuân Min Trần Văn Khoa

Trang 5

MỤC LỤC

Chương 1 | GIGI THIEU TONG QUAN ĐỀ TÀI 2- 2-©52+52+£e+£xerez 2

1.1 Đặt vấn AG oes eecceecceeecssseecsneeesnscessecesnseessnsccsnscesnscesnscesnscessseessueesnneessneeesneeeens 21.2 Hướng nghiên cứu dé tai cecceecccceccecsessesssessessecsessssssessessessssssessessessessseeseeses 51.3 Mục tiêu đề tài - -52+xt tt th ng re 5

1.4 Phương pháp thực hiỆn - - 5 1 2211131111111 11 1111 11 811 g1 ng ng re 6

Chương 2 CO SỞ LÝ THUYÊTT -2- 2 52+2£+EE+EE+EEE2EE+EESEEZEEzrkrrkrree 7

2.1 Q-Learming an ỒẢ 7 2.2 Artificial Neural Network - ANN HH HH HH ng ray 8

2.2.1 Thuật toán Feed-fOTWAr - 5 2 1131112221 111k seeeeesze 8

2.3.5 Chiến lược — POliCy ¿5c +keckeEESEEEEEEEEEEEEEEkErkrrkrex 182.4 Learning rate — Tốc độ học 177 -‹-a4.A:i 19

PA /[00ii1-460-ìải 0 19

Chương 3 DE XUẤT KIÊN TRÚC THIẾT KÉẾ 2 2 5 s52 s22 21

3.1 Đề xuất kiến trúc tỐng quan -:- ¿+ +++++£x+2E++EE++Ex+rxerxeerxesrxee 21

3.1.1 Mô tả hệ thống -:-S5c S2 E2 E2 2112112121121 11tr, 21

3.1.2 Mô tả interface của DQN TOIPP 2c S2 se, 22

3.1.3 Kiến trúc thiết kế của DQN TOP c:2ccvccsrrvrrrrrrrree 243.2 Dé xuất kiến trúc chỉ tiẾt -+++22+++ttEExttEEkrtttrkirrrrtrrrtrirerrriee 28

3.2.1 _ Thiết kế khối Main Network - :+t+x+ESEEcE+ESEEEEeEsrresesrrs 28

Trang 6

3.2.2 Thiết kế của Feedforward : cc©ce+c++cxtrkerkrrxerxerkeres 333.2.3 Thiết kế khối PE — Perceptron Elemeni -. -2- 2 s54 333.2.4 _ Thiết kế khối Leaky ReLU 2-2 2+2 £+Ee£Eerterxerssrxee 353.2.5 Thiết kế của Backpropagation -¿-sc+cc+cxecrxeerxee 363.2.6 Thiết kế khối CEN — Calculate Error on Nođe - - 373.2.7 Thiết kế khối CDUW - Calculator Delta and Update Weight 393.2.8 Thiết kế khối Target NetWwOrk -¿©-¿55+2cxcscxcrxeerseerxee 403.2.9 Thiết kế khối Target Update -¿- 2 2 x+2x2E++Es+rxerxezes 443.2.10 Thiết kế khối Experience Replay 2-2 2 s+s+z++zszzszxeez 463.2.11 Thiết kế khối Epsilon Greedy -¿-x++cx+cxezrxesrxez 413.2.12 Thiết kế khối Changing Learning Rate - 2 sec s2: 493.2.13 Thiết kế khối Temporal Difference -¿- ¿s52 51

3.2.14 Thiét kế khối RNG — Random Number Generator ‹ 53

3.2.15 Thiết kế khối RNG-FP oon ceccccsccssessessesssessessscssecasecssecsecasecaseesseeses 543.2.16 Thiết kế khối Multiplier Floating Point Single Precision 563.2.17 Thiết kế khối Adder Floating Point Single Precision 58Chuong 4 KET QUA MO PHONG - TONG HỢP TAI NGUYÊN 62

4.1 Phương pháp đánh giá - vn HH HH gi 62

4.2 Kết qua mô phỏng và tổng hợp tài nguyên - 2-2 2s s+cx+zszceee 63

4.2.1 Multiplier Floating Point Single Precision - « «« 63

4.2.2 Adder Floating Point Single Presion - 5 5c +<<<sxssessrs 64

4.2.3 Perceptron Element — PIE - - cv se rre 66

4.2.4 Random Number Generator Floating Point — RNG-EP 67 4.2.5 Cal Delta and Update Weights — CDUW ee- 68 4.2.6 Experience Replay 00 ee eeceesceceseeseeecseeseeseeeseeseseesseeesseseeaes 69 4.2.7 Epsllon Greedy eee ceecccescecesceceeeesseceseeceaeeesaeceeecsaeeesaeeesaeeeseeeeaes 71 4.2.8 Changing Learning Raf€ ch kg re 72

4.2.9 Target pdafe - LG HH HH HH Hư 74 4.2.10 Temporal DIÍÍ€r€enCe -. - c1 1n ng ng ng 74

Trang 7

4.2.11 Main NetwOrK LG c1 1xx kkkEr 75 4.2.12 TargetÌNetWOTK ch 78 4.2.13, DON 09 79

4.3 KGt an 81

4.3.1 Đánh giá độ chính xác và đường cong dao tạo - ‹-s 82

4.3.2 Kết quả tông hợp tài nguyên -2- 2 sce+Et+E+EerEerkerkerseree 864.4 So sánh với kết quả của các nghiên cứu liên quan - : -s- 87

AAD Về chức nang: oeececcecceccsscssessessesssessessessesssessessessessusssessessecssssseeseeaes 884.4.2 Về tài nguyên phan cứng sử dụng - 2-2 2+ +x+cx+rzrszsez 894.4.3 Về thời gian xử lý -ccckcckcEEEEErEerkrrrrrerkerree 89Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIÊN DE TÀI 9]

5.1 Kết luận 2227080 VN N5 SEÊE121 91712112 915.2 Kho khan gap pha Ố.Ố 925.3 Hướng phát trign ccccecccccssessesseesessessessessesecsessecsessessessessesecssssessessesseeseeseaee 93

Trang 8

1 Cac Tinh vurc may NOC 1n 2

2 Tro Choi PacMan 0 “44-13 3

1 Q-Learning biểu diễn đưới dang Dang eecceeccecscessesssesssesstesseessecsteeseeees 7

2 Một mang nơ-ron đơn Ø1ảđ - - 5 5 + vn HH ng ri, 8

3 Thuật tốn Feed-forwatd - - - 11 111111119311 1111111835111 1tr, 9

4 Đồ thị biểu diễn của hàm Sigmoid 2 2: 525522++2s++cxezzx2 9

5 Đồ thị biểu diễn của hàm RELU -ccccc+cc+verrrverrrrrerrrte 10

6 Đồ thị biểu diễn của hàm Leaky ReLU 2 2 2 s2 s=s+£ss+2 10

7 Minh họa cho thuật tốn Back-propagation -‹ -s«<<<<+ 12

8 Mơ hình giải thuật Deep Q-NefWOrK cty 14

9 Hàm xấp xi sử dụng mang ANN -¿©-2+e+cxcrterrzrxerxerreee 15

10 Mạng nơ-ron trong Deep Q-netWOTK - + sss+svssseeseees 15

11 Mạng chính và mạng mục tiêu trong DON .«« c++ 16

12 Mơ tả về bộ đệm phat lại ¿- ¿2-2 5sS£+E£+E££E£Ee£Eerkerxersrree 18

13 Mơi trường CarfỌ€ - - 6 5119 ng ng ngư 19

1 Giao tiếp giữa mơ hình DQN và mơi trường Cartpole 21

2 Interface của DQN TOP 0.0 eeeccccceesccceeneeceeeeeseaeeceeseeeessaeeesenneeeeeaees 23

3 Sơ đồ khối của DON TOP ¿+ + k+EE+EE+EE2EE2EEEEEEEEEkerkerkrree 24

4 Interface của DON DA TAPATTH - << c5 S3 3+2 sevxeeesssexe 24

5 Sơ đồ khối của DON DATAPATTTH -¿- 2s E+E+EE+EeEE+Eerkerrxers 26

6 Lưu đồ chuyền trang thái của DỌN - 2-2 2 x+cx+£xsrxzrszxez 28

7 Interface của Main NetWOTK c 1 123v v.v ren 29

8 Sơ đồ khối của Main NetwOrk cv 31

9 Lưu đồ chuyền trạng thái khối Main Network -: 32

10 Mơ tả cách hoạt động của Feedforward trong thiết kế - 33

11 Interface của Perceptron Element (PE) - 55555 *++ss+++ 33

12 Sơ đồ khối của PE ¿-25+-222tt2E 2E t.EE.EErrrrrrriei 34

13 Interface của khối Leaky ReLU -2¿©5¿2c+2z++cx++zxezzxeee 35

14 Sơ đồ khối của Leaky ReLU -2¿25¿©5++2S+22xt2xxerxesrxerrxees 36

15 Mơ tả hoạt động của Backpropagation .-sccssxsseseereeerres 37

16 Interface của khối CEN - ¿5£ ©E+SE‡EE+EEEEE2EEEEEEEEEErkerkrrkrree 37

17 Sơ đồ khối của khối CEN -¿-ccccctrtrrrtrkrrrrrrirrrrrirerrriee 38

18 Interface của khối CDUW ccccccvvttrtrtirtrtrrrrtrirrrrrrrerrriee 39

19 Sơ đồ khối của CDUW 52222 22 ttEttrrrriei 40

20 Interface Target NetWOrK G- LH HnnH ng H net 41

21 Sơ đồ khối của khối Target NetWwork ¿2-55 s>czzzsrxerxcres 43

Trang 9

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 3.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

22 Lưu đồ chuyền trạng thái của Target Network -s- s55: 44

23 Interface của Target pdaf€ - - 5 3c 13v svkrrererere 44

24 Sơ đồ khối của Target Update - 2-52 s+52+E+EczEezxerxerxereee 45

25 Interface cua Experience Replay Memory - -<~<<x++ 46

26 So đồ khối của Experience Replay Memory c:sscsscessesseeseesseseeseees 47

27 Interface khối Epsilon Greedy cscccccessessesssessessesseesessessesstesseesessees 48

28 So đồ khối Epsilon Greedy c.ccccccsscesessesseesessessesseessessessessteseeseeseess 49

29 Interface của khối Changing Learning Rate -5:5+: 50

30 Sơ đồ khối của Changing Learning Rate ¿5c 55s sccsz s2 51

31 Interface của Temporal DIfferenCe - «sec seesserserseree 51

32 Sơ đồ khối của Temporal Difference -¿- s¿cs2s++cx++cse2 52

33 Mô tả Random FIDOTACCI - -.- 5 c5 31191391 99 33 9 vn rry 54

34 Mô tả Random jaÌO1S - so s1 1 93 91199119 1 9g ng ry 54

35 Interface của RNG-FFP - - ng TH ng ng ưy 54

36 Sơ đồ khối của RNG-FP oo seesseeesssessssneecssseecesseeessneeessneeesnneeesseeees 55

37 Các khối con tạo gid tri ngẫu nhiên bên trong khối RNG-FP 55

38 Interface Multiplier FP-32Bit - - «1tr 56 39 Sơ đồ khối cua Multiplier FP-32bit 0.00.00 eeseesesseeseeseeseeseesees 57 40 Interface của Adder FP-32bI( - - 5 + xxx re, 59 41 Sơ đồ khối Adder EP-32bi( -. 5cscccctrtrtrktrrrrrrrrrrtrerrrkee 61 1 Sơ đồ khối môi trường Testbench: - 2-2 2+s2+s£x+£++zs+zszz 62 2 Mô phỏng các trường hợp đặc biệt mạch nhân FP-32bit 63

3 Mô phỏng các trường hợp ngẫu nhiên mạch nhân FP-32bit 63

4 Mô phỏng các trường hợp đặc biệt mạch cộng FP-32bit 64

5 Mô phỏng các trường hợp đặc biệt mạch cộng FP-32bit 65

6 Mô phỏng cả PE với 4 node trước đÓ - sc + ssersserseereeres 66 7 Mô phỏng PE với 9 node trước đÓ - - tt seeeeeserseesre 66 8 Mô phỏng của khối RNG-FP - 2-2-2 2+E£EE£EEtEEEEErExerxerreee 67 9 Mô phỏng của mạch CDUẲW -. SG HH key 68 10 Mô phỏng của mạch CDUW đầu vào - 2-5552 22zs+zxcrxcres 68 11 Mô phỏng của mạch CDUW đầu ra 2-5255 5ccccccezssceee 69 12 Mô phỏng của mach Experience Replay (1/2) -«‹ -«« 70

13 Mô phỏng dạng sóng cua mach Experience Replay (2/2) 70

14 Mô phỏng dạng sóng Epsilon Greedy (1/2) - ‹ «++<s<++<+ 71 15 Mô phỏng dạng sóng Epsilon Greedy (1/2) -«++s<«+<<+ 72 16 Mô phỏng dạng sóng Changing Learning Rate (1/2) - 73

17 Mô phỏng dạng sóng Changing Learning Rate (1/2) - 73

18 Mô phỏng dạng sóng của Target Updafe - s-c sex 74

Trang 10

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 4.

Hình 5.

Hình 5.

19 Mô phỏng dạng sóng Temporal DIfference «+-ss«++<s+ 75

20 Mô phỏng dạng sóng Main Network (1/4) - QverView 75

21 Mô phỏng dạng sóng Main Network (2/4) — Load Weight Init 76

22 Mô phỏng dạng sóng Main Network (3/4) — Predict Mode 76

23 Mô phỏng dạng sóng Main Network (4/4) — Train Mode 77

24 Mô phỏng dạng sóng Target Network (1/2) — Overview 78

25 Mô phỏng dạng sóng Target Network (2/2) — Target Update Mode 79

26 Mô phỏng dạng sóng DỌN_ TOP (1/4)-Overview - 80

27 Mô phỏng dạng sóng DỌN_ TOP (2/4) — Interactive Mode 80

28 Mô phỏng dạng sóng DỌN_ TOP (3/4)- Train Mode 81

29 Mô phỏng dạng sóng DỌN_ TOP (4/4)-End - «+5 81 30: Đường cong đào tạo của mô hình trên phần mềm - 84

31: Đường cong đào tạo của mô hình trên phần mềm và phần cứng 85

32 Đường còn đảo tạo từ [Š] Sc 1 11 3 1111111 1x rrrrree 88

1 Kết quả mô phỏng thời gian ©5525 5£+S£2££2E££E£Ee£xerxerxee 92

2 Kích thước tệp mô phỏng dumpfiÏe - -¿- -5- s + £+s<<s£+se+sx++ 92

Trang 11

DANH MỤC BẢNG

Bang 1 1 Mục tiêu đề tài -:- 5s Ss St SE E12 1211112112111 1111111111 cye 6

Bảng 2 1 Các lỗi vi phạm của các hàm kích hoạt -¿- + ¿55c5+ec+es+ss+ 11

Bảng 2 2 Mô tả các kí hiệu trong mô hình DQN 0 eee eeeeeesteceneeeeneeeeaeeeeees 14

Bảng 2 3 Các điều kiện để con lắc cân băng - 2-2-2 +2xzzs+rxerxeres 20

Bảng 3 1 Mô tả tín hiệu interface của DỌQN 'TOPP - - - ccss+sseerseeeree 23

Bang 3 2 Mô tả các thành phan chính trong DQN TOP - 2-2 5s 24

Bang 3 3 Mô tả các tín hiệu interface của DON DATAPATTH 25

Bang 3 4 Mô tả các khối trong DON DATAPATTH -2-©22©5s+cs+zxe>sz 27 Bang 3 5 Mô tả tín hiệu interface của Main Network - cc«cs« sex 29 Bang 3 6 Mô tả các khối con trong Main Network -©z+cs+cx+cxezsz 30 Bảng 3 7 Mô tả tín hiệu interface của PE + kg kg rưy 34 Bảng 3 8 Mô tả tín hiệu interface của Leaky ReL «++<<<s+<ecs+ 35 Bang 3 9 Mô tả tín hiệu interface của khối CEN -5+©5++cs+cx+zxezss 38 Bảng 3 10 Mô tả tín hiệu interface của khối CDUW -2- 2-5552 39 Bảng 3 11 Mô tả tín hiệu interface của khối Target Network - 41

Bang 3 12 Mô tả tín hiệu interface của khối Target Update -5 44

Bang 3 13 Mô ta tín hiệu interface của khối Experience Relay Memory 46

Bảng 3 14 Mô tả tín hiệu interface của Epsilon Greedy «<< «<+++ 48 Bảng 3 15 Mô tả tín hiệu interface của khối Changing Learning Rate 50

Bảng 3 16 Mô tả tín hiệu interface của khối Temporal Difference 51

Bảng 3 17 Mô tả tín hiệu interface của khối RNG -2 -¿5¿ 5+2 55 Bảng 3 18 Mô tả tín hiệu interface của khối Multiplier FP-32bit 56

Bang 3 19 Mô tả các khối bên trong khối Multiplier FP-32bit - 57

Bang 3 20 Mô ta tín hiệu interface của khối Adder FP-32bit - 59

Bảng 3 21 Mô tả các khối con bên trong khối Adder FP-32bit 60

Bảng 4 1 Mô ta mô phỏng các trường hợp đặc biệt mạch nhân FP-32bit 63

Bang 4 2 Mô tả các trường hợp ngẫu nhiên mạch nhân FP-32bit 64

Bang 4 3 Tổng hop tài nguyên phần cứng mạch nhân FP-32bit 64

Bảng 4 4 Mô ta mô phỏng các trường hợp đặc biệt mạch cộng FP-32bit 65

Bảng 4 5 Mô tả mô phỏng các trường hợp đặc biệt mạch cộng FP-32bit 65

Bang 4.6 Tổng hợp tài nguyên phan cứng mạch cộng FP-32bit 65

Bảng 4 7 Kết quả tong hợp tài nguyên phan cứng của PE -:5+ 67 Bang 4 8 Tổng hợp tài nguyên phan cứng của RNG-EP .: 2 5¿ 67 Bảng 4 9 Mô tả giá trị tính toán mạch CDUW từ Hình 5.10 và Hình 5 I 1 69

Bảng 4 10 Tổng hợp tài nguyên phan cứng của CDUW 5- 5+2 69 Bảng 4 11 Tổng hợp tài nguyên phần cứng của Experience Replay 71

Trang 12

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bảng 4.

Bang 5.

12 Tổng hợp tài nguyên phần cứng của Epsilon Greedy - 72

13 Tổng hợp tài nguyên phần cứng của Changing Learning Rate 73

14 Tổng hợp tài nguyên phần cứng của Target Update - 74

15 Tổng hop tài nguyên phan cứng của Temporal Difference 75

16 Tổng hợp tài nguyên phần cứng của Main Network 77

17 Tổng hợp tài nguyên phan cứng của Target Network 79

18 Các giá trị siêu tham số sử dụng cho mô hình - 82

19 Kết quả sai số giữa phần cứng và phần mềm mô hình DỌN 83

20: Phiên đầu tiên đạt được phần thưởng lớn nhất - 85

21 Tổng hợp tài nguyên của DQN trên xe7vx485tffg1927-1 86

22 Kết quả so sánh với các bài báo khác -. : ¿-s+cs++cx++cxe+ 87

23: Đặc trưng nền tang của nghiên cứu [5] ceeeccecessescessesseseeseeseeseeeeeeees 89

24: Tài nguyên phan FPGA của nghiên cứu [5] - 5 s52 89

25 So sánh thời gian xử lý Với [Š], - - 5< + k+kseekeseeeeererrre 89

1 Mục tiêu đề ra và kết quả đạt ẨưỢC - c7 SccsSctssteiserrssrrseres 91

Trang 13

DANH MỤC TỪ VIET TAT

AI Artificial Intelligence ANN Artificial Neural Network

BRAM Block Random Access Memory

CDUW Calculator Delta and Update Weight

CEN Calculate Error on Node

CPU Central Process Unit

FPGA Field Programmable Gate Array

GPU Graphics Processing Unit

HDL Hardware Description Language

IP Intellectual Property

LFSR Linear Feedback Shift Register

LUT Look-up Table

LUTRAM Distributed Random Access Memory

MSB Most Significant Bit

OS-ELM Online Sequential Extreme Learning Machine

PE Perceptron Element

Q Quality

RAM Random Access Memory

ReLU Rectified Linear Unit

ROM Read Only Memory

Trang 14

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

Trong khóa luận này, nhóm đề xuất kiến trúc thiết kế mô hình học tập tăng cường

Deep Q-Network trên FPGA.

Trong đó, mô hình có khả năng tương tác với môi trường — bằng việc dự đoán

thông qua thuật toán lựa chọn chính sách e-greedy giữa việc lựa chọn hành động ngẫu

nhiên và việc sử dụng mạng nơ-ron thông qua thuật toán Feedforward.

Việc củng cố mô hình được thực hiện dựa trên những trải nghiệm mà mô hình đãtrải qua thông qua bộ đệm phát lại và tiễn hành cập nhật mạng nơ-ron thông qua thuật

toán Backpropagation.

Bên trong mô hình, nhóm sử dụng kiểu dữ liệu là dấu chấm động với độ chính xácđơn Kiến trúc mô hình sử dụng mạng nơ-ron với hai lớp ân, có thé thay đổi số nodetrên lớp ân dựa vào siêu tham số

Nhóm sử dụng các kỹ thuật dé đảm bảo độ ôn định cho mô hình như: sử dụng bộ

đệm phát lại có thê lấy ra mẫu lưu mới nhất hoặc ngẫu nhiên trong các dữ liệu đã

được lưu vào, sử dụng mạng mục tiêu như một nhãn động cùng với đó là sử dụng

thuật toán Soft-Update đề đồng bộ hóa hai mạng nơ-ron trong mô hình

Ngoài ra, nhóm đề xuất sử dụng khối mạch thay đổi chỉ số học tập bên trong mô

hình dé tạo độ ôn định cho mô hình khi hoạt động tương tác với môi trường.

Kết quả sai số lớn nhất của mô hình khi so sánh với mô hình phần mềm tự tạo là3.547e-5 qua 1000 mẫu kiểm thử Tần số tối đa mà nhóm đạt được là 212.7 MHz,năng lượng mach sử dụng là 1.353 W và thực hiện được việc đảm bảo độ én định mô

hình.

Kết quả sẽ được đánh giá bao gồm:

e Training Curve dé đánh giá mô hình tương tác trong vòng 500 phiên hoạt

động với môi trường cartpole-v0 cho phép thực hiện tối đa 200 lần tươngtác trong một phiên hoạt động, cho biết mô hình có ồn định

e Tài nguyên phan cứng Việc đánh giá các thông số này sẽ được thực hiện

trên phần mềm Vivado của Xilinx

e_ Tổng thời gian thực thi của mô hình khi tương tác với môi trường

Trang 15

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

11 Dat vấn đề

Máy học đang ngày càng thé hiện vai trò quan trọng trong đời sông của con ngườinhất là với sự bùng nỗ công nghệ 4.0 hiện nay Trong những lĩnh vực của máy học,học tăng cường nghiên cứu cách thức mà một thành phần có khả năng tương tác vớimôi trường (tác nhân) học cách làm thế nào đề thực hiện một chuỗi hành động saocho phần thưởng nhận về được là lớn nhất Trong khi, tác nhân không được biết trước

nên chọn hành động nào là đúng mà phải khám phá những hành động đó bằng cách

thử chúng.

Types of Machine Learning

Machine Learning

Task Driven Data Driven Learn from

(Predict next value) (Identify Clusters) Mistakes

Tl —— 8S

Hình 1 1 Các lĩnh vực máy học

Học tăng cường khác với học giám sát, một lĩnh vực được nghiên cứu phần lớn

trong các nghiên cứu máy học Học giám sát là học từ một tập hợp các ví dụ có sẵn

được gán nhãn cung cấp bởi giám sát viên có kinh nghiệm Mỗi một mẫu cùng vớicác thông tin của mẫu đó sẽ ứng với một nhãn nhát định Đối tượng của loại học này

là tạo ra một hệ thống ngoại suy và tong quát hóa dé mô hình có thé hoạt động đượcchính xác trong các tình huống không được huấn luyện Các bài toán tương tác thực

tế không phải bao giờ cũng có các tập hợp có sẵn đề học tập, trong môi trường chưađược khám phá muốn có các tập hợp này thì bắt buộc phải tương tác với môi trường

và mô hình phải học từ chính những kinh nghiệm đó.

Học tăng cường cũng khác với cách học mà các nhà nghiên cứu gọi là học không

giám sát Cách học này thường đi tìm cấu trúc của các tập dữ liệu không được gán

Trang 16

nhãn Thường thì chúng ta sẽ lầm tưởng học tăng cường là một loại học tập khônggiám sát vì chúng cũng học trên những tập dữ liệu sai, nhưng điều đó là không đúng

vì học tăng cường chỉ cố tìm ra cách dé tối ưu hóa phần thưởng mà mô hình mang lạichứ không cố gắng tìm ra cấu trúc của tập đữ liệu Mặc dù tìm ra cấu trúc của tập ditliệu có thé có ích cho mô hình, nhưng nó có thé không giải quyết được van đề là đemlại phần thưởng lớn nhất Do đó, học tăng cường được xem là một khía cạnh khác

e Người máy và tự động hóa trong công nghiệp: giúp cho các ứng dụng côngnghệ và người máy có thê tự động thực hiện các kỹ năng để hoàn thành công việc

e Hệ thống kiểm soát giao thông: giúp trong việc đưa ra các quyết định theo thờigian thực và tối ưu hóa tong thời gian lưu thông

e Hệ thống quản lý tài nguyên: được sử dung dé phân phối hạn chế nguồn lực

cho các hoạt động nhưng vẫn đạt được mục tiêu, không hoang phí tài nguyên (Phân

phối điện)

Trang 17

e Quảng cáo: hỗ trợ các doanh nghiệp và nhà tiếp thị tạo nội dung va đề xuấtsản phâm đến từng người dùng.

e Ngoài ra học tập tăng cường còn được ứng dụng trong nhiều lĩnh vực khácnhư chatbots, xe tự hành, giao dịch, tài chính.

Nhưng những hệ thống này đa số đều phát triển dựa vào CPU, GPU hoặc là Server

dé tăng tốc tính toán cho các mô hình lớn bằng cách sử dụng những thuật toán phứctạp Đây là một thách thức lớn cho việc triển khai mô hình này dé tương tác với một

hệ thống nhúng có đơn vị tính toán hạn chế và khả năng lập trình lại Một kiến trúchọc tăng cường đơn giản với nền tảng dựa trên FPGA là mục đích mà nhóm hướngđến

Trong những thuật toán phô biến của học tăng cường có thé nói đến là thuật toánQ-learning, trong đó thuật toán này sẽ học làm thế nào dé tìm ra một chính sách détối ưu hóa được tổng phần thưởng nó nhận được thông qua việc tính toán dựa trêndang bảng Một số nghiên cứu về thuật toán này trên phan cứng có thể ké đến như [1]hiện thực một kiến trúc Q-learning song song với số trạng thái có định, [2] dé xuatmột kiến trúc phan cứng tôi ưu cho thuật toán Q-learning Nhung sau khi qua khảosát nhận thấy rằng thuật toán Q-learning có nhiều hạn chế như nó chỉ có thể tối đahóa phần thưởng trên môi trường hữu hạn trang thái — nghĩa là người dùng phải biếtmôi trường mà máy cần tương tác có bao nhiêu trạng thái rồi mã hóa dưới các cặp(trạng thái, hành động) dưới dạng các giá trị Q rồi thực hiện tính toán cập nhật cácgiá trị này Điều này không phù hợp lắm trong môi trường thực tế rằng các trạng tháithường sẽ được hình thành từ tô hợp các thông số môi trường, không biết trước được

số lượng và với mỗi môi trường khác nhau sẽ có các công thức tính giá trị Q khácnhau bắt buộc người dùng phải biết công thức này Dé khắc phục van dé này bài báo[3] đã đề cập đến việc sử dụng mạng nơ-ron (NNQL — neural networks Q learning)

dé thay thé cho cấu trúc tính toán dang bảng, nhằm thay thé cho công thức tính Qbang cách tính xấp xi của mạng nơ-ron, khắc phục được tình trạng mã hóa tô hợp cácthông số môi trường và ngoài ra nó còn tối ưu hóa được phan lớn bộ nhớ nhờ sự thaythé này ([4] — cũng là một kiến trúc NNQL nhưng hoàn chỉnh hơn [3]) Một vài bài

Trang 18

báo cho thấy rằng việc thay thế mạng nơ-ron cho dạng bảng là không đủ, việc họccác giá trị tương quan liên tiếp nhau có thể làm cho mô hình quá khớp dẫn đến trườnghop mô hình học không ổn định từ đó hình thành nên bộ đệm phát lại (Replay memoryhay còn có tên gọi khác là Experience Replay) Nghiên cứu [5] với một hướng tiếpcận khác dùng mạng một lớp ấn don giản sử dụng thuật toán OS-ELM (OnlineSequential Extreme Learning Machine) và kết hợp giữa L2 regularization và spectralnormalization trên nền tảng SoC-FPGA mà không cần sử dụng quá nhiều đến bộ đệmphát lại cùng với cách tiếp cận dựa vào thuật toán Backpropagation Các nghiên cứu[6] [7] [8] [9] là các mô hình khác của học tăng cường khác như, phần lớn đều tậptrung vào tối ưu tốc độ xử lý so với CPU và GPU.

Những tài liệu nghiên cứu về hiện thực học tăng cường trên FPGA tất ít và đây

là những nghiên cứu liên quan về học tăng cường trên FPGA mà nhóm tìm kiếm đượccho đến hiện tại Phần lớn các nghiên cứu tập trung vào so sánh đều tập trung vào sosánh tốc độ xử lý, tài nguyên tiêu hao Một sé ít đánh giá về độ ôn định của mô hìnhhoặc thời gian đạt ngưỡng mong muốn Từ đây nhóm cũng mong muốn đóng góp

công sức của mình vào kho tài liệu chung về lĩnh vực này.

1.2 — Hướng nghiên cứu đề tai

Hướng nghiên cứu đề tài của nhóm là xây dựng và phát triển một kiến trúc họctăng cường trên FPGA như một edge-device Kiến trúc này có thể tương tác với môitrường, học từ những kinh nghiệm mà nó đã tương tác với môi trường đó (cụ thể làmôi trường cartpole-v0 của thư viện OpenAI Gym) và xử lý trên số dấu châm động

có độ chính xác đơn theo chuẩn IEEE-754

13 Mục tiêu đề tài

Mục tiêu chính của nhóm bao gồm:

Mục tiêu thứ nhất là thiết kế mô hình học tăng cường DQN trên nền tang phầncứng là FPGA với khả năng tương tác môi trường và củng có lại kinh nghiệm thôngqua bộ đệm phát lại Trong đó, phần tương tác với môi trường do chính sách của môhình quyết định với những tham số do người đặt ra Và phần củng có lại kinh nghiệm

Trang 19

sử dụng thuật toán Backpropagation làm nền tang dé học lại những kinh nghiệm từ

bộ đệm phát lại.

Mục tiêu thứ hai là áp dụng mô hình đã thiết kế tương tác với môi trường v0 của thư viện OpenAI thông qua môi trường kiểm thử COSimulate — cocotb

cartpole-Bảng 1 1 Mục tiêu đề tàiKiến trúc | Nền tảng | Pipeline | Tần số (MHz) | Kiểu đữ liệu | Năng lượng

DỌN Virtex-7 Có 150 FP-32 <10 1.4 Phuong phap thuc hién

Đầu tiên, nhóm sẽ tìm hiểu lý thuyết về các thành phan của một mô hình DQN

hoàn chỉnh Nghiên cứu và phân tích các thuật toán bên trong mô hình và hiện thực

mô hình dưới dạng mã phần mềm Từ đó, cải thiện mô hình dưới dạng mã phần mềmsao cho phù hợp khi hiện thực trên phần cứng nhất, nhưng vẫn đảm bảo độ chính xáccho mô hình Thiết kế mô hình sử dụng ngôn ngữ Verilog theo kiến trúc đường ống(pipeline) Cuối cùng, tương tác mô hình phần cứng đã tạo với môi trường cartpole-v0 của thư viện OpenAI rồi so sánh kết quả

Trang 20

Chương 2 CƠ SỞ LÝ THUYET

2.1 Q-Learning

La một thuật toán học tập tăng cường không chính sách (off-policy) nhằm tìm kiếmhành động tốt nhất dé thực hiện ở trạng thái hiện tai[13] Nó được xem là không cóchính sách vì chức năng học hỏi của nó có thé nam ngoài chính sách hiện tại, như làviệc thực hiện các hành động ngẫu nhiên nên không cần có chính sách Một cách cụthé hơn thi Q-Learning tim cach dé hoc một chính sách mà chính sách đó tối đa hóatong phần thưởng nhận được Chữ “Q” trong Q-Learning được hiểu là “quality”, nóbiểu thị giá tri phần thưởng mang lại khi thực hiện một hành động tại một trạng tháixác định — có thé hiểu đơn giản một cặp {trang thái, hành động} sẽ ứng với một giátrị Q Cách biểu diễn thông thường cho bài toán dạng này được biểu diễn dưới dang

bảng Hình 2.1 và tính toán cập nhật các giá trị Q theo công thức (2.1) [12]

Hình 2 1 Q-Learning biểu diễn dưới dang bảng

Công thức (2.1) là công thức cập nhật giá trị Q:

QS¿, Ae) — QÉS¿, Ae) + („+ + ÿ * max Q(Se41,4) — QG,,a¿)) (2.1)

Trong đó: r và t+] ứng với thời điểm hiện tại và thời điểm kế tiếp

St trạng thái hiện tại

at hành động thực hiện tai trang thai hiện tại

Q(s;, a,) giá trị Q với trạng thái s, và thời điểm a,max Q(S,,;,a) giá trị Q lớn nhất ở trạng thái kế tiếp

Tt+1 phần thưởng nhận được

Trang 21

a learning rate

y chỉ số chiết khấu

2.2 Artificial Neural Network - ANN

Mang nơ-ron nhân tao (ANN) là một mô hình tinh toán được sử dụng để thực hiệncác tác vụ như dự đoán, phân loại, ra quyết định được xây dựng dựa trên mạng nơ-ron sinh học của bộ não con người Bao gồm các nơ-ron kết nối với nhau, xử lý thôngtin bằng cách lan truyền thông tin và lưu giữ các giá trị được tính toán bên trong

mạng.

Hidden Input

Output

Hình 2 2 Một mang no-ron đơn giản Một mạng nơ-ron có hai giai đoạn chính là Feed-forward và Back-propagation.

2.2.1 Thuật toán Feed-forward

Là một thuật toán mà các thông tin đầu vào khi đi vào mạng nơ-ron sẽ đi chuyểntheo một hướng — chuyên tiếp từ các nốt đầu vào, qua các lớp ân và đến các nốt đầu

ra Không có chu ky và vòng lặp trong mang.

Trong Hình 2.3, giá tri của nơ-ron sẽ được tính bởi các giá tri nơ-ron trước đó với một độ lệch (b — bias) với công thức:

Z= í=1 W¡X¡ + b (2.2)

Sau đó, giá trị của nơ-ron sẽ qua một hàm kích hoạt f (x) dé cho ra giá trị với công

thức sau:

Trang 22

INPUT NEURON OUTPUT

Hình 2 3 Thuật toán Feed-forward

Hình 2 4 Đồ thị biểu diễn của hàm Sigmoid

Khi giá trị đầu vào z lớn hàm sẽ cho ra giá trị gần bằng 1 và ngược lại, hàm sẽ chogiá trị gần bằng 0 nếu giá trị z nhỏ

Nhược điểm của hàm Sigmoid là khi đầu vào cực kì nhỏ hoặc cực kì lớn, hàm sẽ

bão hòa ở các giá tri 0 và 1 — trường hợp này còn được gọi với cái tên Vanishing Gradient Problem.

Công thức dao ham của ham Sigmoid:

Trang 23

Công thức đạo hàm của hàm ReLU:

Trang 24

Hàm Leaky ReLU được tạo ra từ hàm ReLU nhưng bản thân hàm có độ xiên nhỏvới phần âm đầu vào giúp cho hàm tránh hiện tượng Dying ReLU.

Công thức đạo hàm của hàm Leaky ReLU:

Tanh x ReLU x x Leaky ReLU x

Từ Bang 2.1 ta có thé thay rang ham Sigmoid và hàm Tanh có thé bi van déVanishing Gradient (về mặt biểu diễn là giống nhau — khác nhau về khoảng đầu ra,Tanh có đầu ra nằm khoảng (-1,1) trong khi Sigmoid là (0,1)) ReLU gặp phải 2 van

đề Exponent Gradient và Dying ReLU, trong đó Exponent Gradient là trường hợpngược lại Vanishing Gradient (trọng số quá lớn không thể cập nhật được cho mạng —trong trường hợp sử dụng số biéu diễn cho dau cham động là một vấn đề lớn) LeakyReLU chi gặp van đề về Exponent Gradient, nhưng điều này có thể khắc phục đượcbằng việc nhân dau ra đầu ra lớn hơn 0 với một số nam trong khoảng (0,1) sao cholớn hơn a ở Công thức (2.8) Việc này sẽ được dé cập ở phần “Đề xuất kiến trúc chitiết”

2.2.3 Thuật toán Back-Propagation

Là bản chất chính trong việc đào tạo lại mạng nơ-ron Đây là phương pháp tỉnhchỉnh trọng số của mạng nơ-ron dựa trên tỉ lệ lỗi thu được trong phiên hoạt độngtrước đó Việc điều chỉnh trọng số phù hợp cho phép giảm tỉ lệ lỗi và làm cho môhình trở nên đáng tin cậy bằng cách tăng tính tông quát của nó

11

Trang 25

Gia sử đầu ra chính xác của mạng là y; và yp, ta có thé tính lỗi đầu ra như nhau:

Eo = 5041 — a(6,))? (2.10)

Eo = 5 (2 — a(02))? (2.11) Eo-total = Fo1 + Eo2 = sỚi — a(o,))? + = (y2 ~ a(o2))? (2.12)

Dé tinh đạo ham SE, _¢orai tại các w, lay we làm vi dụ, áp dụng quy tắc chain-rule,

ta có được công thức tính dao hàm tai wg như sau:

ðEo~totai = SEo-total 5a(02) ôZ(02)

Từ công thứ 2.13-16 ta có giá trị đạo hàm tai wg là:

ôEo—total — — (y, _ a(ø;)) *ƒ (2(02)) * a(h;) (2.17)

dwg

Đề tính dao hàm của ổE¿_;ø¿a¡ tại các b, lay b, làm ví dụ, áp dụng quy tác

chain-tule, ta có được công thức tính đạo hàm tại b, như sau:

SEo-total — SEo-total (02) Z(02)

öb ða(o;) ôz(0;) Sb4 (2.18)

12

Trang 26

và b ta áp dụng công thức (2.21) cho w va (2.22) cho b.

wrew = we'4 — awe (2.21) bhew = bo'4 — aAb, (2.22)

Tu đó ap dụng với các w và b còn lại tiên hành cập nhật các trọng sô con lại như các bước trên.

2.3 Deep Q-Network

Trong thực tế, thứ nhất môi trường tương tác sẽ không đơn giản là các trạng thái

rõ ràng Các trạng thái sẽ được quy định bởi nhiều yếu tố, ở đây chúng ta chú ý đếnnhững yêu đo đạc được

Vì vậy các trạng thái không thé biểu diễn được hết trên bộ nhớ phần cứng hoặckhông biết có bao nhiêu trạng thái để biểu diễn được, ta gọi trường hợp này là khônghữu hạn trạng thái và cũng là vấn đề đặt ra thứ hai Việc sử dụng mạng nơ-ron như

một hàm xap xi giải quyết được nhiều dạng bài toán trong việc quy đổi các giá trị đầu

vào thành các đặc trưng cần thiết Điều này cũng giải quyết được vấn đề về bộ nhớ(vấn đề thứ nhất) Vì vậy có thé nói việc sử dụng mạng nơ-ron là điều cần thiết cho

Trang 27

Bảng 2 2 Mô tả các kí hiệu trong mô hình DỌN

Kí hiệu Mô tả

St Trạng thái trả về của môi trường

dự Hành động tương tác với môi trường

Stay Trạng thái kế tiếp khi thực hiện tương tác hành động a, ở

trạng thái S;

Tt Phan thưởng nhận được khi thực hiện tương tác hành động

a; Ở trạng thái s;

(St, Az, Ø1) Giá trị Q ở trạng thái s¿ thực hiện hành động a; lay từ việc

dự đoán thông qua mạng chính.

maxQ(S¢44,A, 92) Giá trị Q lớn nhất trong các giá tri Q tại trang thái s’ lây từ

việc dự đoán thông qua của mạng mục tiêu.

Kiên trúc mạng chính Kiên trúc mạng mục tiêu

Trang 28

2.3.1 Main Network — Mạng chính

Dé giải quyết trình trạng không thé biéu diễn hết tat cả các trạng thái trong mộtmôi trường việc sử dụng mạng nơ-ron là điều cần thiết Mạng nơ-ron có chức năngnhư một hàm xấp xỉ giúp tính giá trị gần đúng của một giá trị dựa trên những quansat trước đó (những lần đào tạo trước)

Input (x) versus Output (y)

Hình 2 10 Mạng nơ-ron trong Deep Q-network

15

Trang 29

2.3.2 Target Network — Mạng mục tiêu

Ban chat mang no-ron là một hàm xấp xi nên việc hai trang gần nhau có thé ratgiống nhau nên mạng nơ-ron có thê rất khó dé phân biệt Việc sử dụng một kết qua

dự đoán trạng thái kế tiếp là giống nhau với kết quả trạng thái hiện tại là một mốitương quan xấu — khiến mạng khó cập nhật được

Đề cho việc đào tạo được 6n định hơn, có một thủ thuật, gọi là mạng mục tiêu —một bản sao của mạng chính Trọng số của mạng này được cô định với trọng số của

mạng chính lúc khởi tạo và được đồng bộ hóa với mạng chính cứ sau mỗi khoảng

thời gian nhất định hay được hiểu là trọng số của mạng mục tiêu không được huấn

luyện.

Tóm lại ta có thé nói rang:

Trong mô hình có hai mạng no-ron là mạng chính (Main Network) — mạng tương tác với môi trường và thực hiện chính trong việc dao tạo, mạng mục tiêu (Target

Network) — mạng có nhiệm vụ ước tính dự đoán các giá trị Q ở trạng thái kế tiếp, cónhiệm vụ như một nhãn động cho Main Network Hai mạng nơ-ron về cấu trúc giốngnhau hoàn toàn, chỉ khác giá tri của các trọng sô bên trong mạng.

Main Network Target Network

Hình 2 11 Mạng chính và mạng mục tiêu trong DỌN

16

Trang 30

2.3.3 Temporal Difference

Temporal Difference (TD) là một thuật toán máy học dé thay thé cho một lý luậnphức tạp về tương lai bằng một quy trình học tập đơn giản có thê tạo ra kết quả tương

tự Thay vì cố gắng tính toán tổng phan thưởng trong tương lai, TD chi cần cố gắng

dự đoán sự kết hợp giữa phần thưởng ngay lập tức và dự đoán phần thưởng của chínhmình vào thời điểm tiếp theo Sau đó, khi khoảnh khắc tiếp theo đến, mang thôngtin mới, dự đoán mới được so sánh với những gì nó được mong đợi Nếu chúng

khác nhau, thuật toán sẽ tính toán mức độ khác nhau của chúng và sử dụng TD

nay dé điều chỉnh dự đoán cũ theo dự đoán mới Bằng cách luôn cô gắng đưanhững con số này đến gần nhau hơn tại mọi thời điểm - phù hợp với kỳ vọng vớithực tế - toàn bộ chuỗi dự đoán dan trở nên chính xác hơn [11]

TD = Tey + y *1nax Q(Se41,A) — QÉS,, a,) (2.23)

2.3.4 Experience Replay — Bộ đệm phat lại

Một trong những yêu cầu cơ ban dé sử dung tốt thuật toán tối ưu hóa SGD là dữliệu đào tạo phải được độc lập và phân phối như nhau Nhưng khi tương tác với môitrường với chuỗi hành động liên tiếp sẽ mang lại những trải nghiệm có độ tương quancao điều này sẽ gây ảnh hưởng đến việc đào tạo Dé ngăn trường hợp này xảy ra thìcần xây dựng một tập mẫu dữ liệu 6n định cho việc dao tao thay vì sử dụng các trải

nghiệm mới.

Bộ đệm phát lại là một vùng nhớ, trong đó các trải nghiệm khi tương tác với môi

trường sau mỗi bước sẽ được lưu lại Những mẫu kinh nghiệm được lưu lại này có

dang (St, ap Tt St+1) Trong đó s là trạng thái hiện tai, a là hành động tại trạng thái

hiện tại đã được thực hiện, r là phần thưởng nhận được sau khi thực hiện hành động

at Va St; là trạng thái mới sau khi thực hiện tương tác (Sự, a,) với môi trường.

Thông thường sỐ lượng lưu trữ của bộ nhớ có giới hạn nên bộ đệm phát lại chỉ cóthé lưu trữ giới han mẫu cho phép và gọi số mẫu lưu trữ được của bộ đệm là N thì chi

có thê lưu trữ được N trải nghiệm gần nhất khi tương tác với môi trường

17

Trang 31

Trong bộ đệm phát lại mẫu di liệu sẽ được lấy ngẫu nhiên ra và sử dụng cho mụcdich là dao tạo lại mạng cho mô hình — đây là kỹ thuật chính nhằm làm giảm sự tương

quan giữa các mẫu đữ liệu Quá trình này được gọi lại phát lại trải nghiệm.

2.3.5 Chiến lược — Policy

Chiến lược lựa chọn hành động ngẫu nhiên:

Lua chọn một hành động ngẫu nhiên bat kế giá tri Q là bao nhiêu, chính sách lựachọn này hữu ích trong việc khám phá môi trường tương tác, giảm chi phí tính toán

nhưng sẽ là bất lợi trong việc tương tác vì nó đóng góp như một tín hiệu nhiễu cho

mô hình.

Chiến lược hành động tham lam:

Hành động được lựa chọn bằng chiến lược tham lam sẽ lựa chọn hành động saocho giá trị thực hiện hành động đó (Q) là lớn nhất Chiến lược này tương đối tốt vớimột mô hình đã được đảo tạo, nhưng lại tốn chỉ phí tính toán dé dự đoán hành động

Chiến lược £-greedy:

Là sự kết hợp giữa hai chiến lược: chiến lược lựa chọn hành động ngẫu nhiên vàchiến lược hành động tham lam kết hợp với một hệ số xác suất £

Trang 32

arg(x) — lấy hành động theo giá trị hành động bằng x

0 — mô hình tính toán giá tri Q

St — trang thai hién tai

A — các hành động có thé lựa chon2.4 Learning rate — Tốc độ học tập

Mạng nơ-ron học sâu được tạo bang cách sử dung thuật toán SGD dé huấn luyện.Trong đó tốc độ học tập (alpha) là một siêu tham sỐ quan trọng kiểm soát mức độthay đổi của mô hình dé đáp ứng với sai số ước tính mỗi trọng số của mô hình đượccập nhật Tốc độ học thường có giá trị dương nhỏ nằm trong khoảng từ (0; 1) Việcchọn tốc độ học là một thử thách vì giá trị quá nhỏ dẫn đến quá trình huấn luyện matnhiều thời gian nhưng bù lại quá trình luyện tập ôn định Trong khi giá trị quá lớn cóthé dẫn đến việc học quá nhanh nhưng mô hình sai hoặc không ồn định theo thời gian.Ngoài ra việc thay đôi tốc độ học trong quá trình huấn luyện là việc cần thiết [10]

2.5 Môi trường Cartpole

Action=1

Hình 2 13 Môi trường Cartpole

Là một con lắc được gắn bằng một khớp không truyền động vào một xe day, khớpnày di chuyền doc theo một đường ray không ma sát Hệ thống được điều khiển bang

19

Trang 33

cách tác dụng một lực +1 hoặc -1 vào giỏ hàng Con lắc bắt đầu thang đứng, và mụcdich là dé nó không bị đồ Phần thưởng +1 được cung cấp cho mỗi lần tương tác khi

mà con lắc vẫn được duy trì trong khoảng được xem là thăng đứng Khoảng này đượcxác định với góc của con lắc là (-41.8°; 41.8) độ và với biên là (-2.4; 2.4) đơn vị

Đầu vào tương tác với môi trường là hành động với hành động bang 0 là di chuyền

xe day qua trái — va 1 là di chuyên xe đây qua phải >

Như Hình 2.13, đầu ra của môi trường sau khi nhận được hành động tương tác

bao gồm các thông số của trạng thái quan sát (bao gồm vị trí xe đây, tốc độ xe day,góc rơi và tốc độ góc rơi — x, v, ©, w), phần thưởng nhận được (duy trì cân bằng

nhận 1 ngược lại là 0), tín hiệu cho biết đã mat cân bằng hoặc đã vượt qua số lần

tương tác quy định (với cartpole-v0 là 200) cho phép.

Bảng 2 3 Các điều kiện đề con lắc cân bằngSTT Gia tri quan sat Nho nhat cho phép Lớn nhất cho phép

Trang 34

Chương 3 DE XUẤT KIÊN TRÚC THIẾT KE

3.1 Đề xuất kiến trúc tống quan

3.1.1 Mô tả hệ thống

clk

rstn start

state_env

1 1 + ' 1 ' + ' '

' '

1 reward_env

' ' ' '

' 1 1 1 1 '

Mỗi mạng ANN sẽ có thông số các node trên mỗi lớp ân khác phụ thuộc vào yêu

cầu của mỗi bài toán cũng, việc sửa đổi mô hình mat khá nhiều thời gian Do đó để

dé dàng cho việc thay đổi thông số phần cứng, nhóm sử dụng “generated” trong

Verilog dé thực hiện Các thông số sẽ được nhập vào và truyền đi các khối thông quá

các “parameter”.

Hệ thống được trình bày ở Hình 3.1 gồm 2 phần chính là Hardware va Software.Hardware là mô hình DQN được thiết kế bang ngôn ngữ Verilog Và Software là môitrường giả lập mà Hardware tương tác trong đó bao gồm môi trường Cartpole-v0 từthư viện OpenAI Gym (có san), CO-simulation — cocotb, dit liệu trọng số khởi tạo vàcác khối Convert đều được sử dụng thông qua ngôn ngữ Python

21

Trang 35

Khi bắt đầu hoạt động CO-Simulation sẽ lay dữ liệu trọng số đã được khởi tạo vào(có thé là đữ liệu ngẫu nhiên hoặc đã huấn luyện tuỳ theo yêu cầu) Sau đó tiễn hànhtruyền các trọng số cho mô hình DỌN Khi DỌN hoàn thành nhận trọng số, môi

trường Cartpole khởi tạo “state” (trạng thái hiện tại — đây là được xem là trạng tháiban đầu) Dữ liệu “state” sẽ được truyền đến hàm Convert Data DEC2BIN, hàm nàythực hiện chức năng chuyển đổi dữ liệu nhận được từ môi trường Cartpole ở dạngfloat32 Decimal rồi chuyền thành dang Binary CO-Simulation nhận được dữ liệu bắtđầu kiểm tra trạng thái của tín hiệu “ready” chờ đến khi trạng thái “ready” bang 1 thìtiền hành truyền dữ liệu sang DỌN DQN bat đầu tiếp nhận và đưa ra hành động Saumột khoảng thời gian ngắn thi DQN sẽ xuất ra tín hiệu “action” và “valid_out” haitín hiệu này sẽ được CO-Simulation xử lý, nếu “valid_out” bằng 1 thì nó sẽ truyền

giá tri “action” vừa nhận được sang Convert Data BIN2DEC (thực hiện chức năng

ngược lại khối Convert Data DEC2BIN) sau đó truyền đữ liệu chuyển đổi đến môitrường Cartpole Khi nhận được giá trị “action” môi trường sẽ thay đổi và xuất ra giátri “reward” (phan thưởng) va “state” (trang thái hiện tại cũng là “‘nextstate” của trạngthái “state” trước đó) dữ liệu ay lai tiép tuc di dén Convert Data DEC2BIN, vong lap

ay cứ liên tục được thực hiện Trong trường hợp môi trường hoàn thành một lần tươngtác (“done” của môi trường Cartpole băng 1) Mô hình sẽ tự xử lý dữ liệu nhận được

và bắt đầu huấn luyện Kết thúc một phiên hoạt động “state” của môi trường Cartpole

sẽ tự động khởi tạo về một trạng thái ngẫu nhiên tín hiệu “ready” bật lên 1 Tín hiệu

“ready” có thể nhanh hay chậm tuỳ thuộc vào trạng thái và những xử lí bên trong của

mô hình DỌN.

3.1.2 Mô tả interface của DỌN TOP

DỌN TOP có chức năng là tương tác với môi trường Thông qua việc nhận dữ liệu

“state”-trạng thái và “reward”-phần thưởng khi thực hiện tương tác với môi trườngbang việc đưa ra “action”-hanh động Sau đó xử lý và tu huấn luyện dé đạt được phầnthưởng mong muốn khi tương tác với môi trường Tín hiệu interface của DQN TOPđược mô tả ở Bảng 3.1.

22

Trang 36

rstn start

Tín hiệu UO Số bit Mô tả

clk I 1 Xung clock cua hé thống tích cực cạnh lên

rstn I 1 Reset bat đồng bộ tích cực mức thấp

start I 1 Khởi động và bắt đầu nạp trọng số khởi tạo

Tín hiệu băng 1 khi dữ liệu reward_env và

Tín hiệu thông báo sẵn sàng nhận dữ liệu từ

Trang 37

các tín hiệu data_path signal

Khối thực thi chính của mô hình Thông qua các tín hiệu

DỌN Datapath

control_signal

done_predict done_train done_update_target

done_DQN

valid_out_action reward_env

Trang 38

Bảng 3 3 Mô tả các tín hiệu interface của DỌN DATAPATH

Tín hiệu LO | Số bit Mô tả

clk I 1 Xung clock của hệ thông tích cực cạnh lênrstn I 1 Reset bat đồng bộ tích cực mức thấp

Tín hiệu valid_in_ data_w[1] băng 1 khi dữ

valid_in_data_w I 3

liệu in_data_w[i] là đúng

in_data_w I 32*3 | Dữ liệu trọng số khởi tạo

Tín hiệu valid_in bằng 1 khi dữ liệu state_env

valid 1n I 1

va reward_env vao dung.

state_env I 32*4 | Dữ liệu trang thái hiện tai của môi trường.

Dữ liệu phần thưởng nhận được từ môi

reward_env I 32

truong.

control_signal I 10 | Tín hiệu điều khiến hoạt động

done_predict O 1 Tín hiệu báo hoàn thành dự doán

done_train O 1 Tín hiệu báo hoàn thành huấn luyện

action O 1 Tín hiệu đưa ra hành độngvalid_out_action O 1 tin hiéu bang 1 khi tín hiệu action là đúng

ready_for_train O 32 | San sàng cho quá trình huấn luyện

done_load_weight | O 1 Tín hiệu thông báo hoàn thành nap trọng số

Tín hiệu báo hoàn thành sô lần huan luyện

max_minibatch O 1 , ,

trong chê độ huân luyện

Tín hiệu thông báo hoàn thành số phiên hoạt

Trang 39

m ỊEP ul plea m P}Ep

Trang 40

Bang 3 4 Mô tả các khối trong DỌN DATAPATH

Main Network

Là mạng ANN có chức năng chính là tương tác với môi trường và thực hiện huân luyện.

Là một mạng ANN chức năng chính là ước lượng giá

Target Network Q cua trang thai ké tiép, nó như là một nhãn động cho

Main Network sang Target Network với một tỉ lệ.

Là khối quyết định action tương tác với môi trườngEpsilon Greedy thông qua hai chiến lược là lựa chọn ngẫu nhiên và

chiến lược tham lam.

Counter Train

Chức năng chính của khôi là đêm sô lân tương tác với

môi trường cũng như đếm sô mẫu mỗi lần huấn luyện.

Hình 3.6 mô tả chỉ tiết quá trình và các tín hiệu chuyển đổi trạng thái Lúc khởiđộng mô hình DỌN trọng SỐ sẽ được nạp vào mô hình Quá trình nạp trọng số khởitạo — Load Weight Init, nhanh hay chậm phụ thuộc vào số lượng trọng số hiện hữutrong mô hình Các lớp sẽ được nạp trọng số đồng thời Khi hoàn thành nạp trọng số,trạng thái chuyên đến trạng thái Ready tức đã sẵn sàng nhận dữ liệu từ môi trường.Trong quá trình hoạt động, mô hình DQN có hai chế độ chính đó là Interactive Mode

và Train Mode.

27

Ngày đăng: 03/11/2024, 19:05