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 1KHOA 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 3THÔ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 4LỜ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 5MỤ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 63.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 74.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 81 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 9Hì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 10Hì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 11DANH 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 12Bả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 13DANH 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 14TÓ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 15Chươ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 16nhã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 17e 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 18bá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 19sử 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 20Chươ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 21a 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 22INPUT 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 23Công thức đạo hàm của hàm ReLU:
Trang 24Hà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 25Gia 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 26và 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 27Bả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 282.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 292.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 302.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 31Trong 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 32arg(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 33cá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 34Chươ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 35Khi 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 36rstn 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 37cá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 38Bả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 39m ỊEP ul plea m P}Ep
Trang 40Bang 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