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: Một hiện thực phần cứng cho bài toán tìm đường đi ngắn nhất trong mê cung 10x10 bằng Deep-Q-Learning

83 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 đề Mot Hien Thuc Phan Cung Cho Bai Toan Tim Duong Di Ngan Nhat Trong Me Cung 10x10 Bang Deep-Q-Learning
Tác giả Nguyen Duy Thanh, Tran Nguyen Minh Triet
Người hướng dẫn ThS. Pham Thanh Hung, TS. Trinh Lo Huy
Trường học Truong Dai Hoc Cong Nghe Thong Tin
Chuyên ngành Ky Thuat May Tinh
Thể loại Khoa Luan Tot Nghiep
Năm xuất bản 2022
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 83
Dung lượng 40,28 MB

Nội dung

Trong đó Environment là mối trường thực thi cung cấp trạng thái hiện tạicho Agent cũng như đảm nhận việc thực thi hành động và trả về các giá trị như state,nextstate, reward, isgameon đề

Trang 1

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

KHOA KY THUAT MAY TÍNH

NGUYEN DUY THANH TRAN NGUYEN MINH TRIET

KHOA LUAN TOT NGHIEP

MOT HIEN THUC PHAN CUNG CHO BAI TOAN TIM DUONG DI NGAN

NHAT TRONG ME CUNG 10X10 BANG DEEP-Q-LEARNING

A HARDWARE IMPLEMENTATION FOR FINDING THE SHORTEST

PATH IN MAZE 10X10 USING DEEP-Q-LEARNING

KY SU NGANH KY THUAT MAY TÍNH

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 TÍNH

NGUYEN DUY THANH - 18521408 TRAN NGUYEN MINH TRIET - 18521534

KHOA LUAN TOT NGHIEP

MOT HIỆN THUC PHAN CỨNG CHO BÀI TOÁN TÌM DUONG DI NGAN

NHAT TRONG ME CUNG 10X10 BANG DEEP-Q-LEARNING

A HARDWARE IMPLEMENTATION FOR FINDING THE SHORTEST

PATH IN MAZE 10X10 USING DEEP-Q-LEARNING

KY SƯ NGÀNH KY THUAT MAY TÍNH

GIANG VIEN HUONG DAN

ThS Pham Thanh Hùng

TS Trịnh Lê Huy

TP HO CHÍ MINH, 2022

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

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

528/QD-ĐHCNTT ngày 19 tháng 07 năm 2022 của Hiệu trưởng Trường Đại 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ý thầy, cô và các giảng viên đã và đang giảng dạy 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 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, chúng em 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 thầy cô, từ đó giúp

chúng em có được những kiến thức chuyên môn sâu rộng như ngày hôm nay Ngoài

ra, chúng em còn được trang bị những kĩ năng mềm trong quá trình theo học tại

trường, những điều đó giúp chúng em có thé vững bước trong cuộc sống và trong

tương lai.

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

đỡ bọn em trong những lúc khó khăn về học vụ, đăng ký học phần và hỗ trợ hết mình

để nhóm em có thé mượn thiết bị trong lúc làm khóa luận.

Để hoàn thành khóa luận này, nhóm em xin được cảm ơn thầy Phạm Thanh Hùng,

thầy Trịnh Lê Huy đã tận tình hướng dẫn tụi em thực hiện khóa luận và thầy Trần Đại Dương từ lúc khởi đầu của đề tài này cũng như bạn Nguyễn Trung Hiếu đã giúp đỡ chúng em bồ sung những kiến thức cần thiết cho khóa luận.

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

Thành phố Hô Chí Minh, tháng 8 năm 2022

Sinh viên thực hiện

Nguyễn Duy Thanh Trần Nguyễn Minh Triết

Trang 5

2.1.2 Thuật toán Gradient descent MOMENtUM «+ ++s++s>+> 4

2.1.3 Activation Function: ReLU

2.2 Mê cung ÍŨX( tàn HT TH HH nghe 7

2.3 Quy trình ra quyết định Markov

2.4 Neural NetWOFK - 55 ST n* 112111 TH HH HH TH tren 0

2.5 Deep Q Learning - Sàn HH 1 2.6 Backpropagation -c-S St H121 01101 3

Chương 3 THIẾT KE TONG QUAN -¿¿+222++ct2vvvvversrrrscee 6

3.1 Mô tả tổng quan hệ thống 2¿¿222++++22EE+++tEEEEEEtErEEvrrrrrrkrerrrr 6

3.2 Quy trình thiết kế hệ thống :2 ©22+++22EE+2+tEEEEEEtEEEExrrrrrkrrrrrer § Chương4 THIET KE CHITIẾT ccc:z-2s2cc+zz222czsss+ 9

4.1 Khối Environment -2¿2++2++t2E++t2EEE+EEEEEEEEEECEEEErErEkrrrrkrrrrkrrer 9

4.2 Khối Agent 2c:22222222222112222211112222111 2.12111121111111 cv 26

4.2.1 Khối Fully Connected . -2c++222vvz+eevcvvrrerrrsrrcrrr 30

4.2.2 Khối Policy Generator ¿-52222cvvvcrrtrrrrrrrrrerrrrrrer 32

4.3 Khối Backprop -22-c2c2+cc222222 1212222111111 c.rrrree 35

Trang 6

4.3.1 Khối TDERROR .:¿c22252ccc2cvvrerrrrrrrrrrrrrrcrrg 40

4.3.2 Khối TDUPDATE

4.3.3 Khối Update Parameter ssccccsssssesssssssesssssseeccsssseesssssecesssuseesssseee 47

4.4 Khối shortest action.

Chuong5 | HIEN THỰC THIET KE, MO PHONG VÀ NAP UNG DUNG CUA THIET KE VAO FPGA 0767 ố.Ắ ẽ 53

5.1 Mô phỏng trên phan mềm

5.1.1 Mô phỏng thuật toán bằng phần mềm Python - 53

5.1.2 So sánh với kết quả trên giải thuật Lee-Algorithm.

5.2 Mô phỏng các thiết kế chỉ tiẾt -cc::z-522222v2cc++ccvvvvvrrrrrrrrrrvsee 57

5.2.1 Khối Environment

5.2.2 Khối Agen( - :c2222vcreECErrrrtrrkrrrrrrrtrrrrrrrrve 58

5.2.3 Khối Backprop cccccccccverrrerrktrrrrrrrrrrrrrrrvee 58

5.3 Giới thiệu FPGA Xilinx và mục đích sử dung -5-«-c+ces«++ 61

5.3.1 Giới thiệu Xilinx S222 2222EEErrrrrrrveg 61

5.3.2 Mục đích sử dụng cty 63

5.4 Tổng hợp thiết kế trên Virtex 7 -22¿222++zettEEEverrrrrrxererrrrrrrr 64

5.5 Hệ thống SOC kết nối IP 22+++222VEE2++++rttttvvrvvrrrrrrrrrrrrre 65

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

Chương 6 KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN CUA DE TÀI 68

6.1 Kết luận 2222c 2222 2222221122222 0.1 eerrii 68

6.2 Khó khăn gặp phải +5: tt He 68

6.3 Hướng phát triền 2¿++22E++++22EE2E+2E2211212221122122111 E221 ccrrkeg 69

TÀI LIEU THAM KHẢO 22222-2222222222+2222E2222222tSEEEEEEEvrrrrrrrrrrrrrrrree 70

Trang 7

Hình 2.6 : Công thức Q value -¿-¿- - + +52 E2 111111101 1111 1 run 9

Hình 2.7 : Công thức Temporal Difference -¿- ¿+ 65t s*£vxsxevevevrerereree 9

Hình 2.8 : Q value sau khi cập nhật Temporal Difference -¿ «+ - + 9 Hình 2.9 : Mô hình mạng no-0N - - - St 112121 E3 Y2 1 tư 10

Hình 2.10 : Lookup table của Q — Learning ¿- - 5< + 5++++x+£+£crszxzveesr 12

Hình 2.11 : Mạng nơ-ron của Deep-Q-Learning 5+5 s+cecsxexex 12

Hình 2.12 : Các bước thực hiện của Deep-Q-Learning -.- ¿ 5+©++c+c++ 13

Hình 2.13 : Mô phỏng cách tinh backpropagatiOn - + +55 sc++zx+cs> 15 Hình 3.1 : Tổng quan thiết kế

Hình 3.2 : Sơ đồ quy trình thiết kỀ -¿ -22222222++22222ESEE2+rrrtrtEEErxrrrrrrrrrrrrrer 18 Hình 4.1 : Sơ đồ khối của Environmeni - 2: +2222++++2222+++222++zzczxscee 20 Hình 4.2 : Sơ đồ chỉ tiết của khối EnvironmeI ¿©22c++22++z+czvscee 21

Hình 4.3 : Sơ dé khối của Total_check_step - -525255+cccsrcczksesrersreree 24

Hình 4.4 : Sơ đồ chỉ tiết của khối Total_check_step -72ccccccccccccrrcee 25 Hình 4.5 : Sơ đồ khối của AgenI -¿©222++++222+++t2EEEEErttEEEvrrrrrrkrrrrrrrrree 27

Hình 4.6 : Sơ đồ chỉ tiết của khối Agent -: 2222222ccrvcvvvvvvvrrrrrrrrrrrree 28 Hình 4.7 : Sơ đồ khối của Fully Connected -: scc+ccsscevcssccecccse. +30) Hình 4.8 : Sơ đồ chỉ tiết của khối Fully Connected -c::+:222ccvvecccez 31

Hình 4.9 : Sơ đồ khối của Policy ŒeneratOr :z£©sz++222v+z++tcvseveerz 33

Hình 4.10 : Sơ đồ chỉ tiết của khối Policy Generator - - 34

Hình 4.11 : Sơ đồ khối của Backprop .-.-:-¿ 22222cv2ccetcEEEEkrvrrrrrrrrrrrrrrrree 36 Hình 4.12 : Sơ đồ chỉ tiết của khối Backprop :¿£©25z++222vvcceccvserecrr 38 Hình 4.13 : Sơ đồ khối của TDERROR

Trang 8

Hình 4.14 : Sơ đồ chỉ tiết của khối TDERROR cc¿-ccccccccvvvcsrrreerre 42 Hình 4.15 : Sơ đồ khối của TDUPDATE -22c¿222+vcrrttrkterrtrrrkrrrrrrrkee 44 Hình 4.16 : Sơ đồ chỉ tiết của khối TDUPDA TE -cc:555ccsccxvvsrxversre 45

Hình 4.17 : Sơ đồ khối của Update param€r - 2-2-2522 £+x+£xezEzEsrxerxezex 41 Hình 4.18 : Sơ đồ chi tiết của khối Update paramter 2 25c scx+zs+zszs+2 48

Hình 4.19 : Sơ đồ khối của khối Shortest action -:-cccccxecsrrxvererrreerre 50

Hình 5.1 : Mê cung khởi tạO cành HH TH TH HT HH HH ng ngư 54

Hình 5.2 : Đường đi ngắn nhất sau khi train 2-2 + z+sz+x+xerxerxerxersree 54

Hình 5.3 : Mê cung sử dung trong Lee Algorithm - - 5+5 s++sscsssesssrs 55

Hình 5.4 : Các vi tri mà đối tượng đã đi qua ceccecccccecessessessessessssseseesssessessessesseseeeee 56

Hình 5.5 : Các hành động mà đối tượng thực hiện giữa hai giải thuật 56

Hình 5.6 : Dang sóng khi mô phỏng khối Environment .2 ¿- 5z ©522=5+ 57 Hình 5.7 : Dang sóng khi mô phỏng khối Environment .2 ¿- 552 =5+ 57 Hình 5.8 : Dạng sóng khi mô phỏng Forward và kết quả trên trên phần mềm 58

Hình 5.9 : Dang sóng newweightOP và kết quả trên trên phần mềm 59

Hình 5.10 : Dang sóng newbiasOP va kết quả trên trên phần mềm 59

Hình 5.11 : Dang sóng newweightIP và kết quả trên trên phần mém 60

Hình 5.12 : Dạng sóng newbiasIP và kết quả trên trên phần mềm 60

Hình 5.13 : Kit FPGA Virtex 7 V77 S S- ST TH HH HH HH Hiệp 61 Hình 5.14: Sơ đồ khối của Kit VC707 ccccccccvverrrtrktrrrrrrtrrrtrtrirrrrrrieg 63 Hình 5.15 : Power Resources sau khi generate bitstream với IP - 64

Hình 5.16 : Mô hình SOC tổng quất ceccecceccccccccsesesesessessessessessessesscsesessesseesessease 65 Hình 5.17 : Thiết kế SOC cho IP trên Vivado ccc¿c5vvcsccxvrrrrrrrrrrrrrrre 65

Trang 9

DANH MỤC BẢNG

Bảng 4.1 : Điểm nhận được sau khi thực hiện hành động cccccssesreees 19

Bảng 4.4 : Mô tả tín hiệu của khối Total_ check _ step - - «5s cssscsssessses 24

Bảng 4.5 : Chức năng của các khối trong Total_check_step -5z5+ 25

Bảng 4.7 : Chức năng của các khối trong Agent c.cccccecsessessessesseesesseesessesssesseeseess 29Bảng 4.8 : Mô tả tín hiệu của khối Fully Connected -¿-s¿5sz5s++cs+ 3l

Bảng 4.11 : Chức năng của các khối trong Policy GeneratOr : : 34

Bang 4.13 : Chức năng của các khối trong Backprop -s¿©5z2ss+cs+zxzsz 39

Bang 4.15 : Chức năng của các khối trong TDERROR 2- ¿©5552 s52 552 42

Bảng 4.18 : Mô tả tín hiệu của Update paramter 5 555 + + *++seesseeesers 47

Bang 4.19 : Chức năng của các khối trong Update paramter -:- 49Bảng 4.20 : Mô tả tín hiệu của khối Shortest action -:-2¿©5¿2csz+cs+cx+sc+z 51Bảng 4.21 : Chức năng của các khối trong Shortest action -.: -: -s: 52

Bang 5.2 : Kết qua tong hop IP trên Vivado với board Virtex VC707 - 64Bang 5.3 : So sánh kết quả thiết kế với các nghiên cứu liên quan -. 66

Trang 10

DANH MỤC TỪ VIET TAT

BFS Breadth First Search

GDM Gradient Descent Momentum

Trang 11

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

Trong khoá luận này, nhóm đề xuất giải pháp sử dụng Deep-Q-Learning kết hợp với

Học tăng cường (Reinforcement Learning) dé giải quyết bài toán tìm đường đi ngắn

nhất trong mê cung có kích thước 10x10 Trong đó việc sử dụng Deep-Q-Learning là

đề thay thế cho giải thuật Dyna-Q-Learning vì Dyna-Q-Learning chỉ có thể áp dụng

cho việc giải các mê cung có kích thước nhỏ.

Bên trong kiến trúc, nhóm xây kiến trúc gồm 4 khối chính Environment, Agent,Backprop Trong đó Environment là mối trường thực thi cung cấp trạng thái hiện tạicho Agent cũng như đảm nhận việc thực thi hành động và trả về các giá trị như state,nextstate, reward, isgameon đề Backrpop có thé đi sample Agent dùng dé tính actionthực thi ở trang thái hiện tại Backprop dùng dé cập nhật trong số cho mang nơ-ron

trong Backprop và Agent bằng cách đi sample các giá trị đã được lưu Cuối cùng là

khối Shortest action có nhiệm vụ thực hiện so sánh và lưu trữ các action ít nhất dé cóthể đi từ vị trí bắt đầu đến vị trí đích

Kết quả sẽ được đánh giá theo hai tiêu chí :

e Tính chính xác của thuật toán trên phần cứng: So sánh với kết quả mô hình

trên phần mềm của giải thuật Lee Algorithm để kiểm tra độ chính xác củađường di ngăn nhất

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

các phân mêm cua Xilinx.

Trang 12

MỞ ĐẦU

Việc giải mê cung (Maze solving) đang phát triển rất nhanh và nhận được sự quantâm ở lĩnh vực robot cũng như các cuộc thi quốc tế về robot Thuật toán giải mê cung

được ứng dụng trong việc định vị vệ tinh, tìm đường di trên các con đường hay việc

tim đường đi cho việc chuyền hàng hoá giữa 2 điểm trong kho hàng

Với dé tài nghiên cứu “DESIGN HARWARE ACCELERATOR FOR DYNA-Q

ALGORITHM TO SOLVE 5x5 MAZE PROBLEM” của tac giả Hiéu, Thién, Phuc

sử dung giải thuật Dyna-Q-Learning để thực hiện việc tim đường đi ngắn nhất trong

ma trận Tuy nhiên giải thuật đó sẽ bị hạn chế đối với những ma trận có kích thướclớn hơn Dựa vào đó nhóm đề xuất giải pháp sử dụng Deep-Q-Learning dé thay thécho Dyna-Q-Learning và kết hợp với Học tăng cường (Reinforcement Learning) dégiải quyết vẫn đề kích thước ma trận

Trong đề tài, đối tượng (Agent) chỉ tiếp xúc với môi trường mê cung và chỉ nhậnthông tin của ô mà nó đang đứng (không cần nhìn các ô phía trước) Với ít thông tin

vê môi trường, đôi tượng của nhóm có thê tìm ra con đường tôi ưu đên kho bau.

Các phân tiép theo của khóa luận sẽ được tô chức như sau:

e Chương 1: Trình bày về tong quan đề tài, các nghiên cứu liên quan đến đề tài

của nhóm, hướng nghiên cứu đề tài và mục tiêu của đề tài

e Chương 2: Giới thiệu về học tăng cường, activation Relu, Gradient Descent

Momentum, quy trình ra quyết định Markov, giới thiệu mạng nơ-ron,

Q-Learning cũng như giải thuật Deep-Q-Q-Learning.

e_ Chương 3: Dua ra thiết kế tổng quan của hệ thống, mô tả cơ bản về cách hệ

thống hoạt động và quy trình thiết kế hệ thống

e Chương 4: Chi tiết các thiết kế, các thành phan trong hệ thống cần hiện thực

e Chương 5: Cho biết quá trình hiện thực thuật toán trên phần mềm cũng như

kết quả mô phỏng, kết quả đánh giá thiết kế và hệ thống

e_ Chương 6: Tổng kết, đưa ra hướng phát triển tiếp theo và nêu những khó khăn

khi thực hiện đề tài

Trang 13

Chương 1 GIỚI THIỆU TONG QUAN DE TÀI

1.1 Đặt vấn đề

Trong những năm gần đây, AI hiện diện trong mọi lĩnh vực của đời sống con người,

từ kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hay thậm chí là

trong quân sự Những ứng dụng nổi bật trong việc phát trién AI đến từ nhiều lĩnh vực

để giải quyết nhiều vấn đề khác nhau Nhưng những đột phá phần nhiều đến từ Deep

Learning (học sâu) - một mảng nhỏ đang mở rộng dần đến từng loại công việc, từ đơngiản đến phức tạp Deep Learning đã giúp máy tính thực thi những việc tưởng chừngnhư không thê vào 15 năm trước: phân loại cả ngàn vật thê khác nhau trong các bứcảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao

tiếp với con người, hay thậm chí cả sáng tác văn, phim, ảnh, âm nhạc [1]

Trong số tat cả các loại mô hình Machine Learning, Reinforcement Learning (RL) là

mô hình được sử dụng đề xử lí bài toán trong đề tài Học tăng cường (Reinforcement

Learning) là một trong ba kiéu hoc máy chính bên cạnh hoc giám sat (Supervised

Learning) và học không giám sát (Unsupervised Learning) Phương pháp này được

học theo cách tự nó huấn luyện và học tập dựa vào những mức điểm thưởng và mứcphạt khi nó thực hiện một hành động trong môi trường Bản chất là tác nhan(Agent)tương tac với môi trường(Environment) thông qua hành động(Action) Kiểu học này

được ứng dụng trong Makerting, Robotics, Gaming, Image Processing,

Shao và cộng sự thiết kế tăng tốc phần cứng dựa trên FPGA cho Trust Region Policy

Optimization (TRPO), một thuật toán nâng cao trong Deep Reinforcement Learning

và chuyền hóa quá trình huấn luyện của họ dé điều khiển một cánh tay robot thực sự

[2I.

Việc giải mê cung (Maze solving) đang phát triển rất nhanh và nhận được sự quantâm ở lĩnh vực robot cũng như các cuộc thi quốc tế về robot Thuật toán giải mê cung

được ứng dụng trong việc định vi vệ tinh, tìm đường đi trên các con đường hay việc

tìm đường đi cho việc chuyền hàng hoá giữa 2 điểm trong kho hàng

Trang 14

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

Trong đề tài nghiên cứu “DESIGN HARWARE ACCELERATOR FOR DYNA-Q

ALGORITHM TO SOLVE 5x5 MAZE PROBLEM” của tác giả Hiếu, Thiện, Phúc

sử dụng giải thuật Dyna-Q-Learning dé thực hiện việc tìm đường đi ngắn nhất trong

ma trận Tuy nhiên giải thuật đó sẽ bị hạn chế đối với những ma trận có kích thướclớn hơn Dựa vào đó nhóm đề xuất giải pháp sử dụng Deep-Q-Learning dé thay thécho Dyna-Q-Learning và kết hợp với Học tăng cường (Reinforcement Learning) dégiải quyết vấn đề kích thước ma trận

Trong đề tài, đối tượng (Agent) chỉ tiếp xúc với môi trường mê cung và chỉ nhậnthông tin của ô mà nó đang đứng (không cần nhìn các ô phía trước) Với ít thông tin

về môi trường, đôi tượng của nhóm có thê tìm ra con đường tôi ưu đên kho báu

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

Trong khoá luận luận này, nhóm sẽ nghiên cứu, phân tích và tìm hiểu lý thuyết về

Reinforcement Learning, Deep Q Learning, Backpropagation, Neural Network Phan

kế tiếp nhóm sẽ nghiên cứu, phân tích và thiết kế, hiện thực việc giải quyết bài toántìm đường đi ngắn nhất trong mê cung 10x10 bằng ngôn ngữ phần cứng Verilog và

hiện thực việc giải bài toán trên board FPGA Virtex-7 VC707.

Trang 15

Chương2 CƠ SỞ LÝ THUYET

2.1 Học tăng cường

Bản chất của Reinforcement Learning là trial-and-error, nghĩa là thử đi thử lại và rút

ra kinh nghiệm sau mỗi lần thử như vậy Bằng cách tận dụng sức mạnh của tìm kiếm

và nhiều thử nghiệm, Reinforcement Learning hiện là cách hiệu quả nhất dé gợi ý sự

sáng tạo của máy móc [3].

State Action

Reward

gent

Hinh 2.1 : Agent va Environment

Dưới đây là một số thuật ngữ quan trong liên quan đến học tăng cường :

e Tác nhân (Agent) : nó là một thực thể giả định thực hiện các hành động trong

một môi trường đề đạt được một số phần thưởng

e Hanh động (Action) : là phương thức của tác nhân cho phép nó tương tác với

môi trường và thay đôi môi trường

e Môi trường (Environment) : một tinh huống mà một tác nhân phải đối mặt

e Phan Thuong (Reward) : ngay lập tức được trao cho tác nhân khi nó thực hiện

một hành động cụ thê

e Trạng thái (State) : tình trạng hiện tai của tác nhân do môi trường trả lại.

e_ Chính sách (Policy) : Là một chiến lược được thực hiện bởi tác nhân dé quyết

định hành động tiếp theo dựa trên trạng thái hiện tại

e Tập (Episode) : loạt tương tác giữa tác nhân và môi trường từ lúc bắt đầu đến

kết thúc

Trang 16

2.1.1 Loss Function: Mean Square Error

Mean Square Error (MSE) hay còn được gọi là L2 Loss là ham loss function đơn giản

nhất và phô biến nhất MSE được sử dụng 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 Dé tính toán MSE, ta sẽ lay độ chênh lệch của mô hình

dự đoán và mô hình thực tế MSE không bao giờ âm bởi vì nó luôn bình phương các

sai số Công thức 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á trị mà mô hình của chúng ra dự đoán (¥;: predicted).

Công thức của MSE:

2.1.2 Thuật toán Gradient descent momentum

Thuật toán Gradient descent (GD) thường được so sánh với tác dụng của trọng lực lên

một hòn bi đặt trên một mặt có dạng như hình một thung lũng giống như hình 2.2 (a)

dưới đây Bat kế ta đặt hòn bi ở A hay B thì cuối cùng hòn bi cũng sẽ lăn xuống và kết

thúc ở vị trí C.

a) GD b) GD c) GD with momentum

Hình 2.2 : So sánh Gradient Descent với các hiện tượng vật lý

Trang 17

Tuy nhiên, nếu như bề mặt có hai đáy thung lũng như Hình 2.2 (b) thì tùy vào việcđặt bi ở A hay B, vị trí cuối cùng của bi sẽ ở C hoặc D Điểm D là một điểm local

minimum chúng ta không mong muôn.

Nếu suy nghĩ một cách vật lý hơn, vẫn trong Hình 2.2 (b), nếu vận tốc ban đầu của bikhi ở điểm B đủ lớn, khi bi lăn đến điểm D, theo đà, bi có thể tiếp tục di chuyên lêndốc phía bên trái của D Và nếu giả sử vận tốc ban đầu lớn hơn nữa, bi có thé vượtdốc tới điểm E rồi lăn xuống C như trong Hình 2.2 (c)

Dựa trên hiện tượng này, một thuật toán được ra đời nhăm khắc phục việc nghiệm

cua GD rơi vào một diém local minimum không mong muôn Thuật toán đó có tên là

e gradient : đạo hàm của hàm f

Ưu điểm : Thuật toán tối ưu giải quyết được van dé Gradient Descent không tiến được

tới điểm global minimum mà chỉ dừng lại ở local minimum.

Nhược điểm : Tuy momentum giúp hòn bi vượt dốc tiến tới điểm đích, nhưng khi tớigần đích, nó vẫn mat khá nhiều thời gian giao động qua lại trước khi dừng han, điều

này được giải thích vì viên bi có da.

Trang 18

2.1.3 Activation Function: ReLU

dàng hiểu được cách hoạt động của nó Một số ưu điểm khá vượt trội của nó so với

Sigmoid và Tanh [4] :

« Tốc độ hội tụ nhanh hơn hắn ReLU có tốc độ hội tụ nhanh gấp 6 lần Tanh

Điều này có thê do ReLU không bị bão hoà ở 2 đầu như Sigmoid và Tanh

e Tinh toán nhanh hơn Tanh và Sigmoid sử dụng hàm exp và công thức phức

tạp hơn ReLU rất nhiều do vậy sẽ tốn nhiều chi phí hơn dé tính toán

Tuy nhiên ReLU cũng có một nhược điểm:

e - Với các node có giá trị nhỏ hơn 0, qua ReLU activation sẽ thành 0, hiện tượng

day gọi là “Dying ReLU“ Nếu các node bị chuyền thành 0 thì sẽ không có ýnghĩa với bước linear activation ở lớp tiếp theo và các hệ số tương ứng từ node

day cũng không được cập nhật với gradient descent => Leaky ReLU ra đời

« Khi learning rate lớn, các trọng số (weights) có thé thay đổi theo cach làm tat

cả neuron dừng việc cập nhật.

Trang 19

2.2 Mê cung 10x10

Môi trường : Mê cung 10x10 với các quỷ (ô tường) và kho báu (ô đích)

Mục tiêu : Tìm đường đi ngắn nhất trong mê cung

Luật :

e Nếu đi vào 6 quỷ hoặc ra khỏi mê cung thi sẽ quay lại ô trước đó

e Tác nhân (Agent) chỉ có thé biết về kích thước mê cung và thông tin của 6

hiện tại của nó Không thé nhìn thấy được thông tin của ô phía trước

e Khi đến được kho báu trò chơi sẽ kết thúc

Hình 2.4 : Mê cung 10x10

2.3 Quy trình ra quyết định Markov

Quy trình ra quyết định Markov (Markov Decision Process -MDP) là một framework

giúp agent dua ra quyết định tại một state nào đó Dé áp dụng được framework nay,

ta giả sử các states có thuộc tính Markov (Markov Property): mỗi state chỉ phụ thuộc

vào state trước nó vào xác suất chuyển đổi giữa 2 states này Trong một "thế giớihoàn hảo", nếu ta lặp lại một hành động thì sẽ cho ra 2 kết quả giống hệt nhau Nhưng

Trang 20

mọi việc không đơn giản như vậy vì hau hét mọi sự việc đêu là các tiên trình ngẫu nhiên (stochastic process) [5].

Giả sử agent đang ở vị trí như hình đưới, việc nó đến đó bằng cách nào không quan

trọng, nó có thể vòng từ trên bức tường xuống hoặc chui từ dưới lên hoặc thậm chíchạy sang trái sang phải 1000 lần trước khi đến nơi Dù là cách nào thì khi agent đã

ở đó, xác suất đi lên, sang trái/phải vẫn giống nhau Có thé hiểu đơn giản Markov

property là tính "không nhớ" (memoryless).

Với Markov property, chúng ta có thé áp dung MDP dé biéu diễn bài toán dưới

e R là reward nhận được khi chuyền state

e P là phân bồ xác suất chuyên đổi

Việc biểu diễn này rat quan trọng, khi mà ta không phải lưu một chuỗi các states trước

đó dé biéu diễn state hiện tại khiến cho việc tính toán trở nên phức tạp và tiêu tốn bộ

z

nhớ.

Trang 21

Vậy là chúng ta đã biết được MDP, nhưng áp dụng vào RL như thế nào Làm thế nào

mà agent biết phải chon action nào dé đạt được reward lớn nhất Câu trả lời là sửdụng một giá trị gọi là Q-value được tính bằng công thức:

O(s, a) = r(s,a) + ymax QO(s’, a)

a

Hình 2.6 : Công thức Q value Trong đó:

e Q(s, a) là Q-value khi thực hiện action a tai state s.

e r(s, a) là reward nhận được.

e s' la state kế tiếp

e gamma (y) là hệ số discount, đảm bao càng "xa" dich Q-value càng nhỏ

Công thức này cho thay Q-value của action a tai state s bang reward r(s,a) cộng với

Q-value lớn nhất của các states s' tiếp theo khi thực hiện các action a Vậy đó, chỉ vớicông thức đơn giản kia chúng ta có thê tạo ra một ma trận state-action như một lookuptable Từ đó với mỗi state, agent chỉ cần tìm action nào có Q-value lớn nhất là xong.Tuy nhiên, như đã nói ở trên thì RL là một stochastic process nên Q-value ở thời điểm

trước và sau khi thực hiện action sẽ khác nhau Khác biệt này gọi là Temporal

Difference:

TD(a,s) = R(s,a) + y max Q(s,a') — Qr-1(5, 4)

Hình 2.7 : Công thức Temporal Difference

Như vậy, ma trận Q(s, a) cần phải cập nhật trọng số dựa trên Temporal Difference:

Qr(s,a) = Qt-1(s, a) + aTD;(a,5)

Hình 2.8 : Q value sau khi cập nhật Temporal Difference

9

Trang 22

Trong đó alpha ơ là learning rate Qua các lần agent thực hiện actions, Q(s, a) sẽ

dan hội tụ Quá trình này chính là Q-Learning

2.4 Neural Network

Neural network là mang sử dung các mô hình toán học phức tạp dé xử ly thông tin.Neural network kết nối các nút đơn giản, còn được gọi là tế bào thần kinh Và một

tập hợp các nút như vậy tạo thành một mạng lưới các nút, do đó có tên là Neural

network Neural network được sử dụng trên nhiều công nghệ và ứng dụng khác nhau

như trò chơi điện tử, thị giác máy tính, nhận dạng giọng nói, lọc mạng xã hội, dịch tự động và chân đoán y tê.

Ww) W2) W(3)

lnput Hidden 1 Hidden 2 Output

Hình 2.9 : Mô hình mạng nơ-ron

3 thành phần chủ yếu của neural network bao gồm:

e Lớp đầu vào (Input layer): đại diện cho các dữ liệu đầu vào

e Lớp ấn (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

10

Trang 23

Mỗi mô hình luôn có 1 input layer, 1 output layer, có thé có hoặc không các hiddenlayer Tổng số layer trong mô hình được quy ước là số layer - 1 (không tính input

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.

2.5 Deep Q Learning

Q-learning là một thuật toán đơn giản nhưng khá mạnh mẽ dé tạo lookup table cho

agent Điều này giúp agent tìm ra chính xác hành động nào cần thực hiện

Nhưng điều gì sẽ xảy ra nếu lookup table này quá dài Hãy tưởng tượng một môi

trường có 10.000 trạng thái và 1.000 hành động cho mỗi trạng thái Điều này sẽ tạo

ra một bảng gồm 10 triệu 6 Mọi thứ sẽ nhanh chóng vượt ra khỏi tam kiểm soát

Rõ ràng là chúng ta không thê suy ra giá trị Q của các trạng thái mới từ các trạng thái

đã được khám phá Điều này đưa ra hai van đề: [5]

e = Thứ nhất, dung lượng bộ nhớ cần thiết dé lưu và cập nhật bảng đó sẽ tăng lên

khi số lượng trạng thái tăng lêne_ Thứ hai, lượng thời gian cần thiết để khám phá từng trang thái dé tạo bảng Q

cần thiết sẽ không thực tế

Vì thế chúng ta cần ước tính giá trị Q băng mô hình máy học như mạng Nơ-ron

(Neural Network) và đó là giải thuật Deep-Q-Learning.

Trong Deep-Q-Learning, chúng tôi sử dụng mạng nơ-ron dé tính gần đúng hàm giátrị Q State được dùng làm đầu vào và giá trị Q của tất cả các hành động có thể thựchiện làm dau ra Sự so sánh giữa Q-learning va deep Q-learning được minh họa bằng

hình 2.10 và hình 2.11.

11

Trang 24

Hình 2.10 : Lookup table của Q — Learning

Hình 2.11 : Mạng nơ-ron của Deep-Q-Learning

Phan trên ta đã định nghĩa một mạng nơ-ron lấy input là state hiện tại va output cácQ-value Thế nhưng nếu mạng nơ-ron cứ liên tục bị đây vào từng state một sẽ rất dễ

bị overfitting vì các states liên tục thường giống nhau hoặc có tính tuyến tính (ví dụ:liên tục đi thăng/sang trái/phải) Kỹ thuật Experience Replay được sử dụng dé loại bỏ

vân dé này.

Thay vì mỗi state mạng update một lần, ta lưu lại các states vào bộ nhớ (memory)

Sau đó thực hiện sampling thành các batch nhỏ đưa vào mạng nơ-ron học Việc này

giúp đa dang hóa input và tránh mạng nơ-ron bi overfitting.

12

Trang 25

mới ” Tìm - KHE —¬

i ee 2

Hình 2.12 : Cac bước thực hiện cua Deep-Q-Learning

Tóm lại, Deep Q-Learning thực hiện các bước sau:

tương ứng.

Agent chon action bang một Policy va thực hiện action đó

Environment trả lai state s' va reward r là kết quả của action a và lưu experience

tuple [s, a, r, s'] vao memory

Thực hiện sample các experience thành một vai batches va tién hanh train

mang no-ron

Lap lai dén khi két thtic M episodes

2.6 Backpropagation

Phương pháp phổ biến nhất dé tối ưu mang no-ron là Gradient Descent Momentum

(GDM) Đề áp dụng GDM, chúng ta cần tính được gradient của hàm mat mát theo

từng ma trận trọng số W và vector bias b [6]

Trước hết, chúng ta cần tinh predicted output y với một input x:

a =x 2) = wal) + 09 2) = WTalF9 + p09, 1=1,2, ,La = f(a), 1= 1,3, ,1ÿ =a

13

Trang 26

Bước này được gói là feedforward vì cach tính toán được thực hiện từ dau đên cuôi của network

Gia sử J(W,b,X,Y) là một ham mat mát của bai toán, trong đó W,b là tập hợp tat ca

các ma trận trọng số giữa các layers và biases của mỗi layer X,Y là cặp dit liệu huấnluyện với mỗi cột tương ứng với một điểm dữ liệu Dé có thé áp dụng các gradient-based methods (mà Gradient Descent Momentum là một ví dụ), chúng ta cần tính

được:

oJ oJ

; [—=1,2

aw)” ap’ , pee

Một ví du của ham mất mát là ham Mean Square Error (MSE) tức trung bình của bình

phương lỗi :

J(W,b,X, Y) = Ty È ` ll¥n — Falls = 7 Dilly — an Ilo

n=1 n=1

Với NN là số cặp dữ liệu (x,y) trong tap training

Theo những công thức ở trên, việc tính toán trực tiếp giá trị này là cực kỳ phức tạp vìhàm mất mát không phụ thuộc trực tiếp vào các hệ số Phương pháp phô biến nhất

được dùng có tên là Backpropagation giúp tinh gradient ngược từ layer cuối cùng đếnlayer đầu tiên Layer cuối cùng được tính toán trước vì nó gần gũi hơn với predicted

outputs và hàm mat mát

Việc tính toán gradient của các layer trước được thực hiện dựa trên một quy tắc quen

thuộc có tên là chain rule, tức đạo ham của ham hợp.

Stochastic Gradient Descent Momentum có thé được sử dụng dé tính gradient chocác ma trận trọng số va biases dựa trên một cặp điểm training x,y Dé cho đơn giản,

ta coi J là ham mat mát nếu chỉ xét cặp điểm này, ở đây J là hàm mất mát bat ky,

không chỉ hàm MSE như ở trên.

14

Trang 27

Đạo hàm của hàm mât mát theo chỉ một thành phân của ma trận trọng sô của lớp cuôi

Trong đó : 7 thường là một đại lượng dê tính toán

Tương tự như thế, đạo hàm của hàm mắt mát theo bias của layer cuối cùng là:

Trang 28

Chương 3 THIẾT KE TONG QUAN

mạch bắt đầu chạy Environment sẽ truyền state sang Agent đề tìm xem sẽ thực hiện

action nào ở state hiện tại Sau khi nhận action và thực thi action đó thi Environment

sé trả về transition (state, action, nextstate, reward và isgameon) cho Backprop dé lưu

trữ và thực hiện sample, đồng thời cũng gửi state cho Agent để Agent tìm action sẽthực hiện ở state sau Kể từ khi Backprop lưu trữ đủ 32 transition thì mỗi khi lưutransition vào Backprop sẽ thực hiện sample dé tính

nhật trọng số cho mạng nơ-ron ở trong Backprop và

weight va bias mới Sau đó cập trong Agent Sau khi thực hiện

xong mỗi espisode (từ khi bắt đầu đến khi đến được đích) Mạch sẽ reset Environment

và tiến hành gửi state sang cho Agent tính toán action, action sẽ được gửi sang cho

Environment thực thi đồng thời cũng lưu vào Shortest action và sẽ không gửi

16

Trang 29

Transition dé lưu vào Backprop mà chỉ gửi state sang cho Agent tính toán action Quá

trình đó gọi là run_espisode, chỉ chạy tương tác giữa Agent và Environment để tìm

ra đường di ngắn nhất đề đi đến đích Thực thi như vậy đến khi đến được đích hoặc

sỐ lượng action đã thực thi là 100 thì việc thực thi giữa Agent va Environment sédùng lại và khối Shortest action sẽ thực thi việc so sánh số lượng action từ lúcEnvironment reset đến hiện tại với số lượng action ngắn nhất cần thiết dé đi đến đích

đang được lưu trữ Nếu số lượng action phải thực thi để đến đích nhỏ hơn thì sẽ lưucác action đó trở thành action ngắn nhất Sau đó lặp lại đến khi đủ 50 espisode

Bảng 3.1 : Chức năng của các khối chính

»

Khôi Chức năng

Khối thê hiện môi trường của một mê cung 10x10 là một mảng

Environment | 100 trạng thái tương ứng.

Khối sẽ xuất ra 100 dữ liệu trạng thái tương ứng với hành động

mà nó nhận vào khi nó tương tác với khôi Agent.

Khối thực hiện xuất ra một hành động khi nó nhận vào 100 dữ

liệu trạng thái.

Agent

Mạng nơ ron bên trong khối này là các lớp Fully Connected

Bên trong khối là các bộ tính toán cập nhật các trong số choBackprop mạng nơ ron của khối Agent dựa trên thuật toán Gradient

Descend momentum và Chain rule.

Shortest Các hành động cần thực hiện ngắn nhất dé đến dich của mê cungAction sẽ được tính toán sau khi kết thúc một episode

17

Trang 30

Q-Learning, Reinforcement Learning, Backpropagation, Gradient Decent

Momentum Tiếp nhóm mô phỏng thuật toán dé giải bài toán bang ngôn ngữ Python

dé kiểm tra tính đúng đắn của thuật toán Sau đó nhóm phân tích và vẽ sơ đồ khối củacác khối cần thiết nếu thực thi bằng ngôn ngữ RTL Tiếp tục nhóm tiến hành hiệnthực các khối chính là Environment, Agent và Backprop Tiếp theo, nhóm kết nối các

khối đó lại, viết control để điều khiển hoạt động của các khối đó và thêm khối

Shortest_action dé tìm đường đi ngắn nhất trong mê cung Sau cùng mô phỏng trênphần mềm Model-sim và post-Implement trên phan mềm Vivado dé kiểm tra việcthực thi của thuật toán được viết bởi ngôn ngữ RTL

18

Trang 31

Chương 4 THIẾT KE CHI TIẾT

4.1 Khối Environment

s* Sơ đồ tổng quát

Khôi environment sẽ nhận action và thực thi nó trên môi trường (mê cung) đê trả về

kêt quả là vi trí tiêp theo của tác nhân trong mê cung, diém sô nhận được (reward) va

trò chơi đã kết thúc chưa (isgameon)

e Hành động (action) sẽ có 4 loại là 00, 01, 10, 11 tương ứng với phải, trái,

xuống, lên đề tác nhân thực thi hành động trong mê cung

e Phần thưởng (reward) trả về dựa trên việc tác nhân đi vào 6 quỷ (6 tường), đi

ra khỏi mê cung, di vào 6 đã từng đi vào hay đi vào 6 kho bau thì sẽ được tra

VỀ action tương ứng.

e Trò chơi đã kết thúc chưa (isgameon) sẽ trả về giá trị 0 khi tác nhân đi đến 6

kho báu (ô đích).

Mê cung 10x10 với các 6 vị trí hiện tại thê hiện bang số 4, ô bình thường thé hiện

bang số 0, 6 quỷ (ô tường) được thê hiện bằng số 1 và 6 đích được thé hiện bang số

2 Mê cung sẽ được đọc từ khối ram_state_map vào state_ map mỗi khi có tín hiệu

reset của khôi Environment.

Bảng 4.1 : Điểm nhận được sau khi thực hiện hành động

Trường hợp Điểm nhận được

Phí tôi thiêu cho mỗi lần di chuyền (đi từ ô trăng qua ô trăng) - 50

Di vào 6 đã từng di vào -200

Di vao ô vào quỷ hoặc ra khỏi mê cung -1000

Đi vào ô có kho báu +1000

19

Trang 32

Hình 4.1 : Sơ đồ khối của Environment

Bảng 4.2: Mô tả tín hiệu của khối Environment

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

clk I 1 | Xung clock

Reset Environment dé đưa mê cung về trang

reset_ctrlenv I 1 | thái ban đầu

enable_ctrlenv I 1 | Tín hiệu báo có giá tri action di vào

action I 2 | Hành động để cho tác nhân thực thi

write_ram_env I 1 | Ghi mé cung vao environment

datain_ram_env I 32 | Gia tri mé cung ghi vao environment

addr_ram_env I 7 | Số thứ tự của mê cung ghi vào environment

OUT_STATE O 32 | Trang thai cua mé cung

REWARD O 32 | Phần thưởng nhận được

IS_GAME_ON O 1 | Đôi tượng đã đi đến kho báu hay chưa

VALID OUT O 1 | Tín hiệu báo có OUT_STATE đi ra

20

Trang 33

+» Thiết kế chỉ tiết

L—+l L

ACTION

—————— torAL ————> MEM.VISITED DATAIN_RAM_ENV CHECK

| RAM_STATE_MAP [>| STEP —————————— REWARD,I§_GAME_ON

statemap và đọc ra cho total_check_ step thực thi Khối Total_check_ step có nhiệm

vụ thực thi action với state hiện tại và trả về các kết quả next_state, reward, isgameon

va position_state Khéi mem_visited sẽ nhận các position_state từ total_check_step

và kiểm tra xem giá trị đó đã nằm trong mem_ visited hay chưa, nếu chưa giá trị đó

sẽ được lưu vào mem visited Mỗi khi có action trả về Environment từ Agent thì các

vị trí đã từng đi qua trong mem visited sẽ được đọc ra để ghi vào cho khối

Total_check_step thực thi Khối Mux41 dùng dé chon state nào sẽ gửi sang cho Agent

va Backprop, khi khi reset khối Environment out_state được chọn là giá tri được đọc

ra từ khối state_map, sau mỗi lần thực hiện action thì out_state là giá tri đọc ra tử

khối total_check_step (hay còn gọi là nextstate), khi đối tượng đi đến được ô kho báuthì giá trị out state đọc ra sẽ là số không có ý nghĩa đối với state là giá trị -1 Cuối

cùng là khôi control có nhiệm vụ điêu khiên hoạt động cho cả khôi Environment.

21

Trang 34

Bảng 4.3 : Chức năng của các khối trong Environment

control_env Diéu khién hoat động của khối Environment

ram_state_map

Nhận giá tri mê cung và đọc giá trị đó cho statemap mỗi khi

có tín hiệu reset từ control tông.

Lưu các vi trí mà tác nhân đã từng di qua va đọc ra cho

total check step dé kiểm tra visited

không (isgameon)

Mỗi khi bắt đầu việc đi trong mê cung hoặc là khi di dé tìm đường đi ngắn nhất thì

phải reset lai environment dé cho các giá tri trong environment được trả về trạng thái

ban đầu như là load lại giá trị của mê cung trong state_map, reset lại bộ nhớ trong

mem_ visited hay các control vê giá tri ban đâu Khi có reset environment sẽ đọc các

giá tri của mê cung ra lại như là lúc ban đầu truyền vào ra cho Agent dé thực hiệnviệc chọn action Sau khi có action trả về thì total_check_step sẽ thực thi và tra về

các kết quả next_state, reward, isgameon Giá trị state sẽ truyền qua Agent dé thực

hiện việc thực hiện chon action tiép theo và cũng truyện các giá trị next_state, reward,

isgameon dé lưu vào Backprop Đồng thời next_state từ total_check_step cũng được

lưu vao trong state map đê phục vu cho việc ở lân action về kê tiép sẽ load lên đê

22

Trang 35

cho total_check_step thực hiện VỊ trí hiện tại của đối tượng cũng được lưu vào

mem visited và các 6 đã từng đi qua này sẽ được load lên total check_step dé phục

vụ cho việc kiểm tra ô đó đối tượng đã từng đi qua hay chưa khi có action từ Agent

trả về Thực hiện lặp lại cho đến khi đối tượng đi đến được ô kho báu thì sẽ dừng lại

và next state của trạng thái đó sẽ là 100 số không có ý nghĩa (hay còn gọi làterminal_state) Ở đây nhóm sử dụng số floating point 32 bít

10111 111100000000000000000000000 tương ứng với -1 dé biểu thi

action Next_state sẽ là vị trí của đối tượng sau khi thực hiện action phải, trái, xuống

hoặc lên Nếu đối tượng đi vào ô tường (ô quái) hoặc đi ra ngoài mê cung thìnext_state sẽ bằng với state, nêu không vào hai trường hợp kể trên next_state sẽ là vịtrí của đối tượng sau khi thực hiện hành động tương ứng Reward nhận vé sẽ tươngứng với việc thực hiện hành động như thế nào nếu đi vào ô tường (6 quái) hoặc đi rakhỏi mê cung thì reward sẽ là -1000, nếu đi vào ô đã từng đi qua rồi thì reward sẽ là

-200, nếu đi vào ô kho báu thì reward là +1000, nếu không rơi vào các trường hợp

trước đó thì reward sẽ là -50 Isgameon thê hiện việc đi đã kết thúc hay chưa ( đốitượng đi đến được ô kho báu) Vị trí hiện tại của đối tượng sẽ được đưa vào cho

mem visited lưu trữ Khi vi trí hiện tại được đưa vào thì ham control cua

total_check_step sẽ điều khiển dé so sánh giá trị đưa vào đó đã có trong mem_visited

hay chưa Nếu chưa thì vị trí hiện tại đó mới được lưu vào trong mem_ visited Canthực hiện bước so sánh trước khi lưu vào dé tránh trường hop vi trí hiện tại lưu vào

đã tôn tai va làm tràn bộ nhớ của mem_visited.

23

Trang 36

Bảng 4.4 : Mô tả tín hiệu của khối Total_check_step

Tín hiệu I/O | Số bit | Mô tả

clk I 1 | Tín hiệu xung clock

write I 1 | Tin hiệu ghi vào total_check_step

read I 1 | Tin hiệu đọc ra từ total_check_step

reset I 1 | Tin hiệu khởi tao

in_ state I 32 | Dữ liệu state đầu vào

count_read I 7 | Dùng dé đếm khi đọc ra từ total check_stepcount_write I 7 | Dùng dé đếm khi ghi vào total check step

in_visitedstate I 7 | Vị trí các 6 đối tượng đã từng đi qua

action I 2 | Hanh động thực hiện

Dữ liệu next_state sau khi thực hiện hành nextstate_checkstep | O 32 | động

Điểm thưởng nhận được sau khi thực hiện

reward O 32 | hành đồng

is_game_on O 1 | Đối tuong da di dén vi tri kho bau chua

24

Trang 37

Vị trớ hiện tại của đối tượng trước khi thực

position_state O 7 | hiện hành động

Thực hiện xong việc thực thị hành động và

done_check_step O 1 | cho ra kết qua

4đằ Thiết kế chi tiết

hiện tại và vị trớ kho bỏu, in mem visited dộ kiểm tra 6 đó từng đi qua hay chưa,

check_step dộ thực hiện hành động và tra về kết quả nextstate,reward,isgameon vacontrol dung dộ điều khiển việc thực thi của cả khối

Bảng 4.5 : Chức năng của cỏc khối trong Total_check_step

Khối Chức năng

control_check_step | Điều khiển hoạt động của cỏc khối trong total check step

Dộ kiờm tra vi trớ hiện tai của đụi tượng và vi trớ kho bỏu ở

in_state_map state hiộn tai va giti kột qua qua cho check_step

25

Trang 38

Kiểm tra vị trí hiện tại của đối tượng có nằm trong các ô màin_mem_visited đối tượng đã từng đi qua hay không Trả về kết qua là đã

từng di qua hay chưa

Kiểm tra sau khi thực hiện hành động vị trí tiếp theo, điểmcheck_step thưởng trả về và isgameon nam trong các trường hợp di vào

tường(ô quỷ), đi ra khỏi mê cung, di vào 6 đã từng di qua,

đi vào ô kho báu hay bước đi bình thường

Mỗi khi reset environment thì cũng đồng thời reset total check_step khi đó khốicontrol trong total_check_step sẽ được trả về trạng thái ban đầu và các giá trị trong

check_ step như reward được gan chi phí là -50 và isgameon được gan là 1 Khi có tín

hiệu của action từ agent về thì control của environment sẽ đọc state map và các vi trí

đã từng đi qua vào total check_step Sau đó in state map sẽ kiểm tra và xuất vị trí

hiện tại của đối tượng và vị trí kho báu qua cho khối check_step kiém tra Khéi

in_mem_visited kiêm tra 6 đã từng đi qua hay chưa và xuất kết qua cho check_step

Khối check_step sẽ thực hiện hành động và trả về các kết quả next_state, reward,

isgameon va position state cdc két qua next_state, reward, isgameon sé truyén qua

để lưu vào khối Backprop Position state đi vào khối mem_visited của khối

environment Nextstate cũng đi vào khối Agent đề tính xem sẽ thực hiện hành động

nào tiếp theo

4.2 Khối Agent

s* Sơ đồ tổng quát

Khối Agent tương tác trực tiếp với khối Environment trong bài toán có nhiệm vụ nhận

vào sfate (trạng thái) từ Environment sau đó state sẽ được đi qua khối forward Sau

đó sẽ nhận được 4 giá trị Q tương ứng với 4 hành động có thể thực thi Sau đó khối

random_lfsr sẽ thực hiện random 1 số trong khoảng 0 đến 99 nếu số đó lớn hon số

lượng espisode ở hiện tại thì sẽ thực hiện action random (random Ì trong 4 action), nêu sô random nhỏ hơn hoặc băng sô lượng espisode thì sẽ thực thi action max (sau

26

Trang 39

khi so sánh 4 giá trị Q nhận được sau khi forward thì Q lớn nhất đó sẽ tương ứng với

1 action) Các Q có thứ tự 1, 2, 3, 4 sẽ tương ứng với action 00, 01, 10, 11 khi giá trị

đó là Q lớn nhất Hành động sau đó sẽ đi vào Environment đề thực thi, đồng thời hành

động đó cũng được lưu vào khối Backprop dé tiến hành sample và cập nhật lại các

trọng sô weight,bias cho mạng nơ-ron.

Hình 4.5 : Sơ đồ khối của Agent

Bảng 4.6 : Mô tả tín hiệu khối Agent

Tin hiệu chạy episode

Dữ liệu trạng thái đầu vào là số floating

point 32 bit 27

Trang 40

bias FC2 Dữ liệu bias lớp 2

+» Thiết kế chỉ tiết

Khối Agent gồm có 2 khối thành phan chính, một là khối Forward dùng dé tính toán

các giá trị Q tương ứng với 4 hành động, hai là khối Policy Generator dùng dé đưa ra

một hành động cụ thê trong 4 hành động phải, trái, xuống, lên sau khi nhận được 4

giá trị Q từ khối Forward Hình 4.6 mô tả sơ đồ khối thiết kế của khối Agent, các tinhiệu được sử dụng trong thiết kế và bảng 4.7 mô tả chỉ tiết chức năng từng khối trongthiết kế khối Agent

POILICIMAX STATE ACTION

Ngày đăng: 03/11/2024, 18:41

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN