5 Khong gian các trạng thái ma tác tửSt Trang thái môi trường tại lượt t T Chính sách của Mô hình học tăng cường w Trong số cho phan thưởng * Chiết khấu cho phần thưởng vr Chính sách tối
Trang 1NGUYÊN PHẠM LÂM DUY - 19521429
KHÓA LUẬN TỐT NGHIỆP
PHƯƠNG PHÁP HỌC TĂNG CƯỜNG CHO TRÌNH PHÁT SINH MÃ KHAI THÁC TỰ ĐỘNG LỖ HỒNG
BẢO MẬT TRÊN HỢP ĐỒNG THÔNG MINHREINFORCEMENT LEARNING APPROACH FOR AUTOMATIC VULNERABILITY EXPLOITATION GENERATION ON SMART
CONTRACTS
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUGNG DAN:
ThS Nguyễn Duy
ThS Trần Tuấn Dũng
TP.Hồ Chí Minh - 2023
Trang 2Quá trình làm khoá luận nhóm đã nhận được sự định hướng, giúp đỡ, các
sự góp ý của các giáo viên hướng dẫn, đặc biệt là các thầy cô trong phòng thínghiệm Nhóm xin bày tỏ lời cảm ơn chân thành tới thầy Nguyễn Duy và thầyTrần Tuấn Dũng đã tận tình trực tiếp hướng dẫn, giúp đỡ trong quá trình nghiên
cứu.
Nhóm xin gởi lời cảm ơn đến thầy Phan Thế Duy đã tận tình giúp đỡ emtrong việc nghiên cứu học thuật Em xin gửi lời cảm ơn chân thành nhất đếnquý thầy cô vì sự giúp đỡ và hướng dẫn quý báu trong quá trình thực hiện khoáluận tốt nghiệp của em Nhận được sự đồng hành và chỉ dẫn từ thầy là một trải
nghiệm không thể quý giá hơn trong hành trình học tập của em
Mhóm rất biết ơn thầy cô trong khoa đã chia sẻ kinh nghiệm quý báu trong
các năm học vừa qua, tiếp thêm động lực để nhóm có thêm tự tin thực hiện đề
tài khoá luận tốt nghiệp này Những bài giảng, tài liệu và tài nguyên mà thầy cô
cung cấp đã giúp em mở rộng hiểu biết và nắm vững kiến thức chuyên ngành
Đó là món quà vô giá mà em nhận được.
Nguyễn Phạm Lâm Duy
Trang 3CHUGNG 1 TONG QUAN 2
11 Giới thiệu van đỀ ee 2
1.2 Phương pháp nghiên cđứu Ặ 3 1.3 Tinh ứng die mưa“ =tEE.j / 3 1.4 hững thách thức ee 4
.41 Xây dựng môi trường ee 4
4.2 Thiết kế phần thưởng 4
43 Tạo chuỗi lời gọihàm So 4
1.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu 5
5.1 Mục tiêu nghiên ctu ) ee 5
5.2 Dối tượng nghiên ctu 2 ee 5
5.3 Phạm vinghiénettu Ặ 00 200048 5
5.4 Cau trúc khóa luận tốt nghiệp - 6
CHƯƠNG 2 CƠ SỞ LÝ THUYET 7
Trang 42.1.4 ABI (Application Binary Interlace)
2.2.5 Phần thưởng và chiết khu
2.2.6 Quy trình quyết định Markov (MDP)
3.1.1 Mô hình phân tích dữ
liệu -3.1.2 Trình sinh ra hợp đồng tấn công
3.1.3 Trình xác thực khả năng khai thác của chuỗi giao dich
3.1.4 Mô hình tạo chuỗi giao dịch khai thác
3.2 Luồng hoạt động mô hình đề xuất
CHƯƠNG 4 THÍ NGHIEM VÀ DANH GIÁ
41 Thiết lập thínghiệm 0 0000 eee
40 40 40 AT
55 57
Trang 541.1 Tập đữ liệu ca 58
4.1.2 Thiết lập thams6 0 2 200000 584.13 Kết quả thí nghiệm và đánh giá 59
Trang 65 Khong gian các trạng thái ma tác tử
St Trang thái môi trường tại lượt t
T Chính sách của Mô hình học tăng cường
w Trong số cho phan thưởng
* Chiết khấu cho phần thưởng
vr Chính sách tối đa hóa kì vọng,
Q Hàm giá trị cho trạng thái - hành động
9 “Trọng số cho mạng no-ron
L(0) Ham mat mát
RL Hoc tang cường
AC Actor-critic A2C Advantage Actor-Critic A3C Asynchronous Advantage Actor-Critic DQN Deep Q-Network
PPO_ Proximal Policy Optimization
Trang 7T
T
T
T
T
T
ình 2.1
ình 2.2
ình 2.3
ình 2.4
ình 2.5
ình 3.1
ình 3.2
ình 3.3
vi
DANH MUC CAC HINH VE
Cấu trúc của cây cú pháp trừu tượng ở phiên ban solidity 0.4 10 Cấu trúc của cây cú pháp trừu tượng ở phiên bản solidity 0.8 10
Cách thức khai thác lỗ hổng Reentrancy 14
Quá trình chơi game của người chơi 16
Mô hình tương tác giữa Agent và Enviroment 17
Mô hình phân loại nhóm hợp đồng 46
Mô hình tổng quan 55
Mo hình chi tiết cong cụ RLSCexploit 56
inh 4.1 Thuật toán Policy gradient va Proximal Policy Optimization
inh 4.2 Thuật toán Policy gradient va Proximal Policy Optimization
với ngưỡng episode 1000 2 2 ee ee 60
inh 4.3 Thuật toán Policy gradient va Proximal Policy Optimization
Trang 8DANH MUC CAC BANG BIEU
Bang tổng kết phân loaicdcham 45
Bảng tham số với thuật toán Policy gradient 58
Các tham số được sử dụng để thiết lập mô hình học tăng
với thuật toán Proximal Policy Optimization 59
Bảng so sánh Policy gradient va Proximal Policy Optimization 61
So sánh công cu ContraMaster và RLSCExploit 63
Bang thống kê kết qua thử nghiệm của mô hình RLSCExploit 64
Bảng đánh giá các công cụ khai thác lỗ hổng 65
Trang 9TÓM TẮT KHÓA LUẬN
Nhóm nghiên cứu và phát triển RLSCexploit, công cụ tu động sinh ra cácchuỗi khai thác có thứ tự giúp các nhà lập trình viên kiểm nghiệm hợp đồng
thông minh trước khi đưa hợp đồng lên thị trường Công cụ dựa vào mô hình
học tăng cường để chọn các hành động tương tác với môi trường
Khoá luận tập trung vào việc phát triển mô hình tương tác giữa tác tử vàmôi trường Môi trường được xây dựng để mô phỏng các thành phần của hợp
đồng, giá trị biến, lịch sử giao dich và thông tin môi trường khác, tạo ra một
môi trường mô phỏng gần với thực tế
Trạng thái của môi trường được xác định bởi các thành phần hợp đồng và
thông tin môi trường liên quan Tác tử sử dụng một chính sách để đưa ra quyết
inh dựa trên trang thái hiện tại.
Trong quá trình tương tác, tác tử tìm hiểu và tối wu hóa chính sách của mình
thông qua việc hoc từ kinh nghiệm tương tac với môi trường Các thuật toán
học tăng cường như Policy Gradient, Proximal Policy Optimization (PPO) được
sử dung để cải thiện chính sách Mục tiêu cuối cùng là tối da hóa phần thưởng
thu được từ môi trường thông qua lựa chọn hành động tối ưu
Kết quả đạt được từ mô hình được đánh giá dựa trên các tiêu chí như giá trị
trung bình điểm số, chiều dài trung bình của chuỗi giao dịch, và tốc độ train
trung bình Qua đánh giá, chúng tôi đánh giá hiệu suất của mô hình và xem xétcác cải tiến tiềm năng của RLSCexploit
Trang 10Chương này giới thiệu về van đề và các nghiên cứu liên quan Đồng thời,trong chương này chúng tôi cũng trình bày phạm vi và cấu trúc của Khóa luận.
1.1 Giới thiệu van dé
Hợp đồng thông minh là một thuật ngữ trong lĩnh vực công nghệ blockchain
No mô tả một bộ giao thức đặc biệt được lập trình để tự động thực hiện các
điều khoản và thỏa thuận giữa các bên trong một mạng lưới blockchain được
đưa ra trong ngành công nghệ blockchain và đang được sử dung rộng rãi trong các ứng dụng tài chính, thương mại điện tử và các lĩnh vực khác Nó là một ứng
dụng phần mềm phân cấp, tự động, đáng tin cậy và không thể thay đổi được,
được lưu trữ và thực thi trên blockchain Hợp đồng thông minh cho phép cácbên tham gia trong một giao dịch tự động hóa việc thực hiện các điều kiện vàhành động của hợp đồng mà không cần phải phụ thuộc vào bên thứ ba
Tuy nhiên, hợp đồng thong minh cũng không phải là hoàn toàn an toàn và có
thể chứa các lỗ hổng bảo mật, dẫn đến mất tiền hoặc mất thông tin quan trọng
Vì vậy, một chương trình phát sinh mã khai thác tự động lỗ hổng bảo mật trênhợp đồng thông minh được đưa ra để giúp phát hiện và khắc phục các lỗ hổng
bảo mật này một cách nhanh chóng và hiệu quả.
Trong lĩnh vực học máy, phương pháp hoc tăng cường là một phương pháp
mà trong đó các thuật toán học được cập nhật liên tục để có thể học thông tin
mới và tối ưu hóa hiệu suất học tập Dối với trình phát sinh mã khai thác tự
động lỗ hổng bảo mật trên hợp đồng thong minh, chúng tôi đề xuất 2 thuật
toán Policy Gradient[0| và Proximal Policy Gradient|S].
Trang 111.2 Phương pháp nghiên cứu
Thu thập các thông tin về các hợp đồng thông minh và các lỗ hổng bảo mật
đã được biết đến, tham khảo các tư duy phân tích lỗ hổng hợp đồng thông minh
từ các tài liệu, bài báo khác Từ đó, tạo dựng môi trường để mô phỏng các chuỗigiao dịch, quan sát các hành động, trạng thái của hợp đồng thông minh để kiểmtra khả năng khai thác nhằm tạo tiền đề để xác định các tham số và điều kiện
để đánh giá mức độ thành công của việc khai thác lỗ hồng
Xây dựng mô hình học tăng cường [10] để tìm ra các chuỗi giao dich thực
hiện khai thác một cách tự động, mô hình sẽ học từ môi trường mô phỏng bằngcách thử nghiệm các hành động khác nhau và nhận phần thưởng hoặc hình phạttương ứng Sau đó, tiến hành huấn luyện mô hình học tăng cường bằng cáchthực hiện các vòng lặp huấn luyện trong môi trường mô phỏng Đánh giá hiệu
suất của mô hình RL bằng cách kiểm tra khả năng tìm ra các lỗ hổng bảo mật
trên smart contract mới mà chưa được mô hình huấn luyện trước đó
Nhóm sẽ áp dụng các phương thức tấn công được tạo ra bởi mô hình học
tăng cường vào các hợp đồng thông minh thực tế để đánh giá khả năng tấn công
tự động Do lường hiệu quả của phương pháp nghiên cứu bằng cách so sánh vớicác phương pháp tấn công tự động truyền thống hoặc thủ công
1.3 Tính ứng dụng
Hiện nay, các 16 hong trong hợp đồng thông minh rất đa dang và việc khai thác
16 hổng thủ công rất mất nhiều thời gian Khác với các trình khai thác hợp đồng
thông minh không sử dụng học tăng cường chỉ đưa ra các chuỗi giao dịch khai
thác một cách ngẫu nhiên, đề tài của chúng tôi tạo ra hệ thống RLSCExploit cho phép tao ra các chuỗi giao dịch trên hợp đồng mà có khả năng khai thác
được lỗ hồng hợp đồng thông minh một cách có chọn lọc
Trang 121.4.1 Xâu dựng môi trường
Một hợp đồng thong minh thường có các chức năng tương tác phức tạp giữa
các phần của hợp đồng Để agent có thể tương tác, cần phải tạo ra môi trường
có khả năng mô phỏng và có khả năng gỡ lỗi để đảm bảo tính chính xác và đáng
tin cây của việc thử nghiệm phương pháp tấn công.
1.4.2 Thiết kế phần thưởng
Thiết kế phần thưởng là 1 thách thức quan trọng yêu cầu thiết lập các phầnthưởng sao cho chính xác và phản ánh đúng mục tiêu Cần xác định rõ những
hành vi mong muốn và xác định cách để phần thưởng được gán cho những hành
vị đó Đồng thời, hạn chế các phần thưởng không mong muốn và đảm bảo rằngagent không tìm cách "lợi dụng" hệ thống phần thưởng để đạt mục tiêu mộtcách không mong muốn
1.4.3 Tao chuối lời gọi ham
Việc chọn lựa thứ tự thực thi chuỗi giao dịch là một thách thức lớn, để có thểkhai thác lỗ hổng hợp đồng thông minh yêu cầu phải chọn đúng hàm để thực
thi theo thứ tự, nếu chọn sai thứ tự sẽ dẫn đến các lỗi khiến cho hợp đồng bịgián đoạn và xảy ra các ngoại lệ không mong muốn
Trang 131.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu
1.5.1 Mục tiêu nghiên cứu
Mục tiêu chính của nghiên cứu là phát triển một phương pháp sử dụng họctăng cường để tạo ra các phương thức tấn công tự động trên hợp đồng thông
minh Nhóm đề xuất thuật toán Proximal Policy Optimization áp dụng vào ngữ
cảnh để có thể tối ưu hiệu suất trong việc tăng cường khả năng phát hiện, khaithác các lỗ hổng bảo mật giúp người phát triển và các chuyên gia bảo mật nhận
ra và vá các lỗ hong trước khi triển khai hợp đồng thông minh
1.5.2 Đối tượng nghiên cứu
Đối tượng nghiên cứu:
e Lỗ hong hợp đồng thông minh
e Mô hình học tăng cường,
e Môi trường tương tác hợp đồng thông minh
e Các phương pháp đánh giá khả năng khai thác của chuỗi giao dịch
1.5.3 Pham vi nghiên cứu
Pham vi nghiên cứu bao gồm việc xác định các lỗ hổng bảo mật trong smartcontracts, xây dựng môi trường mô phỏng để thực hiện các phương thức tấncông, thiết kế mô hình học tăng cường để huấn luyện và tối ưu phương thức tấn
công, và đánh giá hiệu quả của phương pháp đề xuất Nghiên cứu không đảm
bảo tìm ra tất cả các lỗ hổng bảo mật có thể tồn tại trong smart contracts, màtập trung vào cung cấp một cách tiếp cận tự động hơn để phát hiện và khai thác
lỗ hồng
Trang 141.5.4 Cấu trúc khóa luận tốt nghiệp
Chúng tôi xin trình bày nội dung của Luận án theo cấu trúc như sau:
e Chương 1: Giới thiệu tổng quan về đề tài của Khóa luận và những nghiên
cứu liên quan.
e Chương 2: Trình bày cơ sở lý thuyết và kiến thức nền tảng liên quan đến
e Chương 3: Trình bày mô hình học tăng cường.
e Chương 4: Trình bày thực nghiệm và đánh giá.
e Chương 5: Kết luận và hướng phát triển của đề tài
Trang 15CHƯƠNG 2 CƠ SỞ LÝ THUYET
Chương này trình bày cơ sở lý thuyết của nghiên cứu: Dinh nghĩa về cấu trúc
hợp đồng, cấu trúc của giao dịch hợp đồng, các loại lỗ hổng bảo mật có thể xảy
ra của hợp đồng thông minh, mô hình khai thác lỗ hổng hợp đồng thong minh,
phương pháp nghiên cứu đánh giá.
Một hợp đồng thông minh (Smart Contract) được viết bằng ngôn ngữ solidity
có định dạng mở rộng ".sol" và bao gồm các thành phần như:
e Khai báo phiên bản Solidity (pragma): Chỉ định phiên bản Solidity
mà hợp đồng được phát triển để đảm bảo sự tương thích của ngôn ngữ
e Biến (Variables) và kiểu dữ liệu (Types): Dinh nghĩa các biến và kiểu
dữ liệu được sử dụng trong hợp đồng Các kiểu dữ liệu thường được sử
dụng: uint, bool, address, bytes, string.
Trang 16e Dữ liệu lưu trữ (Data Storage): Trong Solidity, các giá trị dữ liệu tham
chiếu có thể được lưu trữ dưới dạng lưu trữ (Storage), bộ nhớ (Memory)
hoặc các lời gọi (Calldata) tùy thuộc vào vai trò của dit liệu được lưu trữ.
e Hàm khởi tạo hợp đồng (Constructor): Khởi tạo các biến và trạngthái ban đầu của hợp đồng
e Công cụ sửa đổi truy cập (Access Modifiers): Kiểm tra và áp dụng
các ràng buộc trước khi thực hiện hàm.
e Ham (Functions): Thực hiện các thay đổi và tính toán trong hợp đồng
và trả về kết quả nếu có
e Sự kiện (Events): Dinh nghĩa các sự kiện mà hợp đồng có thể phát sinh
và ghi lại.
2.1.3 AST (Abstract Syntax Tree - Câu Cú Pháp Trừu Tượng)
Trong bối cảnh hợp đồng thông minh trên nền tảng Ethereum, AST (Abstract
Syntax Tree - Cây Cú Pháp Trừu Tượng) là một cấu trúc dữ liệu biểu diễn cấu
trúc của một chương trình Solidity Nó được tạo ra bởi trình biên dịch Solidity
và có thể được sử dụng để phân tích và thao tác mã của chương trình Hiểu vềAST là quan trọng đối với nhà phát triển để đảm bảo an ninh và hiệu suất củahợp đồng thông minh, vì nó cho phép phát hiện các lỗ hong tiềm năng và tối ưu
mã.
Ngoài những lợi ích thực tế đã đề cập, việc bổ sung các cơ sở lý thuyết cũngnâng cao sự quan trọng của việc hiểu Cây Cú Pháp Trừu Tượng (AST) trong
lĩnh vực hợp đồng thông minh trên nền tảng Ethereum AST đóng vai trò là
một công cụ cơ bản cho nhà phát triển để khám phá sâu vào sự phức tạp của
một chương trình Solidity, giúp họ điều hướng cú pháp và cấu trúc của chương
trình một cách hiệu quả.
Trang 17Bằng cách sử dụng AST, nhà phát triển có quyền truy cập vào một biểu diễn
phân cấp của mã chương trình, giúp phân tích và thao tác một cách chỉ tiết
Biểu diễn cấu trúc này giúp xác định các 16 hong tiềm năng trong hợp đồngthông minh Thông qua việc phân tích dựa trên AST, nhà phát triển có thểkhám phá những yếu điểm bảo mật như cuộc tấn công tái nhập, tràn số nguyênhoặc những lỗi phổ biến khác có thể đe dọa tính toàn vẹn của hợp đồng Phương pháp tiếp cận này giúp nhà phát triển tăng cường bảo mật mã và nâng cao tổngthể tình trạng an ninh của hợp đồng thông minh
Hơn nữa, AST cho phép nhà phát triển tối ưu hóa hiệu suất của hợp đồngthông minh Bằng cách đi qua cấu trúc dạng cây của AST, nhà phát triển cóthể xác định các phần mã có thổ không hiệu quả hoặc tốn nhiều tài nguyên tính
toán Kiến thức này cho phép họ thực hiện tối ưu hóa mục tiêu, cải thiện tốc độ
thực thi của hợp đồng và giảm chỉ phí gas liên quan Do đó, việc hiểu về ASTkhông chỉ đóng góp vào mặt bảo mật mà còn tạo điều kiện để tạo ra các hợp
dng thông minh hiệu quả và tiết kiệm chi phí
AST được biểu diễn ở dang nodes, các nodes con sẽ biểu thị đặc tính của hợp
dng, hàm, cấu trúc câu lệnh Ỏ phiên bản solidity 0.4 và phiên bản solidity 0.8 AST Ở phiên bản solidity 0.4, cầu trúc AST của trình biên dịch tạo ra gây
khó khăn trong quá trình phan tích, bởi vì các cầu trúc này được quy định theo
một cấu trúc tương tự nhau về cách đặt tên, hơi khó để có thể phân biệt đâu là
statement, đâu là instruction Còn ở phiên bản solidity 0.8, cấu trúc này sẽ có
sự phân chia rõ ràng ở các lớp khác nhau về cách đặt tên
Trang 18INSTRUCTION tres STATEMENT teee BODY seers
Hình 2.2: Cau tric của cây cú pháp trừu tượng ở phiên ban solidity 0.8
2.1.4 ABI (Application Binary Interface)
Trong ngữ cảnh của hợp đồng thong minh trên nền tang Ethereum, ABI(Application Binary Interface)[3] đóng vai trò quan trọng trong việc tạo điềukiện giao tiếp giữa các thành phần phần mềm khác nhau ABI xác định cấu trúc
và định dạng của các cuộc gọi hàm và truyền dữ liệu giữa các hợp đồng thông
Trang 19minh và các thực thể bên ngoài, chẳng hạn như giao diện người dùng hoặc các
hợp đồng thông minh khác
Bằng cách xác định quy ước gọi, kiểu dữ liệu và bố cục bộ nhớ, ABI đảm
bảo sự tương tác và tương thích giữa các phần khác nhau của một chương trìnhmáy tính N6 cho phép hợp đồng thông minh tương tác một cách liền mạch vớicác hợp đồng khác, ứng dụng phi tập trung (dApps) hoặc hệ thống bên ngoài
ABI cung cấp một giao diện tiêu chuẩn cho phép nhà phát triển tích hợp hợp
đồng của họ với các hệ thống hiện có hoặc xây dựng các hệ thống phức tạp bao
gồm nhiều hợp đồng thông minh liên kết với nhau.
Ngoài ra, ABI cũng là tài liệu giao diện cho một hợp đồng, cho phép nhà
phát triển hiểu và tương tác với các hợp đồng đã triển khai Nó cung cấp mô tả
về các chức năng có sẵn, các đầu vào và đầu ra của chúng, cũng như cách gọi
e Giá trị (Value): Số lượng tiền, được định dang theo đơn vị blockchain (vi
du: Ether trên Ethereum), được chuyển đến hợp đồng thông minh
e Mã bytecode (Bytecode): Dây là phần quan trọng nhất của giao dịchhợp đồng thông minh No chứa mã nguồn của hợp đồng thông minh được
biên dịch thành mã may (bytecode) để thực thi trên blockchain Bytecode
nay sẽ được lưu trữ trên blockchain và được thực thi khi có giao dịch liên
quan đến hợp đồng
e Dữ liệu (Data): Dữ liệu được truyền cùng với giao dịch hợp đồng thông
Trang 20minh Trong trường hợp giao dịch hợp đồng thông minh, dữ liệu thườngchứa thông tin về hàm cần được gọi và các tham số của hàm đó.
e Phí giao dịch (Transaction fee): Mỗi giao dịch trên blockchain đều yêu
cầu người gửi trả một khoản phí giao dịch cho các thợ mỏ (miners) để xác
nhận và ghi giao dịch vào blockchain Phi giao dich này được tính toán dựa
trên kích thước giao dịch và mức độ tắc nghẽn của mạng.
e Chữ ký số (Digital signature): Giao dịch hợp đồng thông minh cần được
ký bởi khóa riêng tư (private key) của người gửi để xác minh tính toàn vẹn
e Tự động hóa: Hợp đồng thông minh loại bỏ sự phụ thuộc vào bên thứ ba
và giúp tự động hóa các quy trình giao dịch Khi các điều kiện được đáp ứng, hợp đồng sẽ tự động thực thi các hành động đã được lập trình.
e Tin cậy và minh bạch: Thông tin và các giao dịch liên quan được mã hóa
và chia sẻ công khai trên blockchain Diéu này dam bảo tính minh bạch và
giúp người dùng có thể kiểm tra và xem lại tất cả các giao dịch một cáchcông khai Các bên tham gia có thể tin tưởng vào tính toàn vẹn của dữ liệu
và không cần phải dựa vào một bên trung gian để giám sát hay xác minhcác giao dịch Hợp đồng thong minh giúp giảm thiểu sự phụ thuộc vào con
người và nguy cơ mắc lỗi trong quá trình giao dịch Bằng cách sử dụng mãlệnh được lập trình trước, các điều kiện giao dịch sẽ tự động được thực hiệnkhi các điều kiện đáp ứng Điều này đảm bảo tính chính xác và thực thi tứcthì của hợp đồng
Trang 21¢ Tiết kiệm chi phí: Sử dung hợp đồng thông minh có thể giảm thiểu hoặc
loại bỏ nhu cầu về trung gian hoặc dịch vụ pháp lý, từ đó giảm chi phí giao
dich.
Nhược điểm
e Khó thay đổi: Hợp đồng thông minh loại bỏ sự phụ thuộc vào bên thứ ba
và giúp tự động hóa các quy trình giao dịch Khi các điều kiện được đápứng, hợp đồng sẽ tự động thực thi các hành động đã được lập trình
e Rủi ro cao Một khi được triển khai, hợp đồng thong minh không thể bịthay đổi mà không có sự đồng ý của tất cả các bên liên quan Điều này
đảm bảo tính toàn vẹn của hợp đồng và ngăn chặn sự can thiệp từ các bên
không đáng tin cậy.
e Phụ thuộc công nghệ Nếu có sự thay đổi trong các chuẩn và giao thức
của Blockchain, điều này có thể làm thay đổi cách thức hoạt động của Smart Contract Néu một Smart Contract đã được triển khai dựa trên một phiênbản cũ của chuẩn hoặc giao thức và sau đó có sự thay đổi, Smart Contract
có thể không tương thích hoặc không hoạt động đúng như mong đợi
bên thực thi một hàm trong hợp đồng thông minh khác khi gọi lại (reentrant)
một hàm đã được gọi trước đó trong cùng một giao dịch Một khi lỗ hổng nàyđược khai thác, kẻ tấn công có thể rút hết tiền trong tài khoản của hợp đồng
một cách bất hợp pháp
Lỗ hồng Reentrancy thường xảy ra khi một hàm trong hợp đồng thông minh
Trang 22gọi đến một hợp đồng khác hoặc tài khoản ngoại vi (external contract hoặcexternal account) mà người gọi không tin tưởng Nếu hợp đồng hoặc tài khoảngọi lại có một hàm gọi lại (fallback funetion) và hàm này lại gọi lại hàm gốc mà
không có kiểm tra, kẻ tấn công có thể lợi dụng điều này để tấn công
Cách thức khai thác lỗ hổng Reentraney thường bao gồm các bước sau:
e Tạo hợp đồng tan công: Tạo hợp đồng tấn công chứa các hàm gọi lại các
hàm của hợp đồng gốc
e Thực hiện giao dịch: Hợp đồng thông minh nhận gọi lại từ hợp đồng độchại và thực thi hàm gọi lại đó Hàm gọi lại trong hợp đồng độc hại gọi lại
hàm gốc trong hợp đồng gốc mà không có kiểm tra Lặp lại bước này nhiều
lần cho phép kẻ tấn công lấy được càng chiếm dụng càng nhiều tài sản củahợp đồng gốc
Hình 2.3: Cách thức khai thác lỗ hong Reentrancy
Suicidal Lỗ hong "suicidal" là một lỗi bảo mật trong hợp đồng thông minhkhi hàm tự hủy (selfdestruct function) không được bảo vệ đúng cách Lỗ hổngnày cho phép bất kỳ ai có thể gọi hàm tự hủy và hủy hoạt động của hợp đồng,gây mất mát hoặc không thể hoạt động của dữ liệu và tài sản liên quan
Trang 23Lỗ hong "suicidal" thường xảy ra khi hàm tự hủy không được bảo vệ hoặc có
bảo vệ tuy nhiên cấu hình sai cách Điều này cho phép bất kỳ ai, bao gồm cả kẻ
tấn công, có thể gọi hàm tự hủy mà không cần xác minh hoặc kiểm tra quyền
han, dẫn đến tình trạng tự hủy không mong muốn của hợp đồng.
Cách thức khai thác lỗ hong "suicidal":
e Chọn hợp đồng: Chọn 1 hợp đồng đang triển khai và có hàm tự hủy
e Thực hiện giao dich: Gọi hàm tự hủy của hợp đồng đó bằng cách gửi
một giao dịch tới địa chỉ của hợp đồng
e Chuyển chủ hợp đồng: Thực hiện lời gọi đến hàm có chức năng chuyểnchủ sở hữu hợp đồng, trong ngữ cảnh này, kẻ tấn công sẽ chuyển chủ sở hữu
hợp đồng sang địa chỉ ví của ké đó.
e Thực hiện lời gọi tự huỷ hợp đồng: Bây gid, kẻ tấn công là chủ sở
hữu hợp đồng và thực hiện gọi đến hàm có chức năng tự huỷ (selfdestruet)
Toàn bộ tài sản trong hợp đồng gốc sẽ chuyển sang ví của kẻ tấn công
2.2 Học tăng cường (Reinforcement Learning)
2.2.1 Tổng quan
Ý tưởng đằng sau Học tăng cường là một tác nhân (Agent) sẽ học hỏi từ môi
trường bằng cách tương tác với nó (thông qua thử và sai) và nhận phần thưởng
(tiêu cực hoặc tích cực) dưới dạng phản hồi để thực hiện các hành động Tác
tử sẽ cố gắng học hỏi từ những tương tác với môi trường giống với những trải
nghiệm tự nhiên của chúng ta Giả sử có một người chơi video game thông qua
các nút điều khiển, tuy nhiên người đó chưa từng chơi game này bao giờ Đểthắng được game, người chơi cần phải điều khiển nhân vật thu nhặt trái câytrên màn hình, với mỗi trái cây nhặt được nhân vật sẽ nhận được 100 điểm và
nếu nhân vật đụng phải con sói sẽ bị thua Thông thường, ở những lần chơi
Trang 24game đầu tiên, người chơi thường cố gắng điều khiển nhân vật di chuyển theocác hướng khác nhau để nhặt được những vật phẩm với số điểm cao nhất có thể
có, nếu gặp phải con sói người chơi sẽ thua và chơi lại từ đầu với những cách di
chuyển khác, giai đoạn này được gọi là chiến lược khám phá.
Mô hình học tăng cường được phân thành ba thành phần chính: tác tử (agent),
môi trường (environment) và giá trị phản hồi (reward)
Quá trình học diễn ra thông qua việc tác tử thực hiện các hành động và nhận
được phản hồi từ môi trường Sau mỗi hành động, tác tử chuyển từ trạng thái
hiện tại sang trạng thái khác và đồng thời nhận được giá trị phản hồi Dựa vào
giá trị phản hồi nhận được, tác tử điều chỉnh luật chọn hành động của mình để
tối uu hóa hiệu suất học
2.2.2 Không gian quan sát, không gian trang thái
Quan sát (Observation) và trạng thái (State) là thông tin mà tác nhân nhận
được từ môi trường Trong trường hợp trò chơi điện ttt, nó có thể là một khung
hình (frame) Có sự khác nhau giữa định nghĩa quan sát và trạng thái:
Trang 25Action At
State St
Reward Rt
Hình 2.5: Mô hành tương tác giữa Agent va Enviroment
e Trạng thái: Là toàn bộ thông tin mô tả về môi trường và không có thông
tin ẩn nào khác trong một môi trường được quan sát một cách đầy đủ Lấy
ví dụ về việc chơi cờ vua, ta có thể lấy được thông tin của một trạng tháibất kỳ bởi vì ở ngữ cảnh này ta có thể truy cập vào tất cả thông tin trên
bàn cờ.
e Quan sát: Là một phần mô tả thông tin trạng thái, ví dụ như chơi các tựa
game như mario ta chỉ có thể xem được một phần của khung hình mỗi lần
di chuyển nhân vật
2.2.3 Không gian hành động
Không gian Hành động là tập hợp tất cả các hành động có thể có trong một
môi trường Các hành động có thể đến từ một không gian rời rạc hoặc liên tục:Không gian rời rạc thì số lượng các hành động có thể là hữu hạn Ngược lại, sốlượng hành động trong không gian liên tục có thể là vô hạn Lấy ví dụ về gamemario, với game mario ta chỉ có thể di chuyển 4 nút lên, xuống, qua trái, quaphải và nút cách để nhảy lên tương ứng với 5 hành động Ta có thể hiểu đây là
không gian rời rạc Với game đua xe có rất nhiều hành động như bẻ lái góc 10
Trang 26độ, 20 độ, 30 độ, drif, Với ngữ cảnh này, tác tử sẽ phải học rất nhiều hành
động và con số này có thể là vô hạn Do đó, trường hợp này được gọi là không
gian liên tục.
2.2.4 Chính sách
Một chính sách trong mô hình tương tác của agent và môi trường hợp đồng
thông minh là một ánh xạ từ trạng thái sang hành động Chính sách được ký
hiệu là z;(s|a), và nó định nghĩa xác suất chọn hành động a khi trạng thái hiện
tại là s tại thời điểm ¿ Chính sách là một phần quan trọng trong quá trình ra
quyết định của agent Nó định rõ cách agent lựa chọn hành động dựa trên trạng
thái hiện tại Chính sách có thể được xác định theo nhiều cách khác nhau, bao
gồm cả quy tắc đơn giản hoặc mô hình hoc từ dit liệu Trong mô hình tương
tác, chính sách có thể thay đổi theo thời gian Agent có thể cải thiện chính sách
của mình thông qua việc học từ kinh nghiệm tương tác với môi trường và điều
chỉnh ánh xạ xác suất z/(s|a) trong phương trình ?? để tăng khả năng chọn ra
các hành động tốt hơn trong các trạng thái khác nhau Quá trình tối ưu hóa
chính sách là một phần quan trong trong việc xây dựng một agent thông minh
có khả năng tương tác hiệu quả với môi trường hợp đồng thông mỉnh.
2.2.5 Phần thưởng va chiết khấu
Trong học tăng cường, phần thưởng đóng vai trò quan trọng bởi nó cung cấpcho tác nhân thông tin phan hồi về hành động của nó Diéu này cho phép tácnhân đánh giá tính hiệu quả của hành động được chọn Tại mỗi thời điểm, phầnthưởng tích luỹ Gy được tính dựa trên một số lượng phần thưởng nhận được
trong tương lai, được xác định bởi công thức:
Trang 27Tuy nhiên, trong quá trình học, xử lý thông tin phản hồi có thể gặp một số
thách thức Khi tác nhân thực hiện một hành động, nó nhận được một giá trị
phản hồi Với thời gian học kéo dài, số lượng thông tin phản hồi này có thể trởnên rất lớn, và không thể tập trung vào tất cả các giá trị phản hồi đó tại mỗi thời điểm Dể giải quyết vấn đề này, các mô hình học tăng cường thường dựa
trên mô hình Quyết định Markov (MDP), một sự mở rộng của chuỗi Markov.
2.2.6 Quy trành quyết định Markov (MDP)
Quy trình quyết định Markov (Markov Decision Process - MDP) là một mô
hình toán học được sử dụng để mô tả và giải quyết các vấn đề quyết định trongmột môi trường động MDP có thể được áp dụng trong nhiều lĩnh vực như trí
tuệ nhân tạo, học máy, tối ưu hóa, robot học, quản lý nguồn lực, và nhiều hơn
nữa.
MDP xây dựng trên khái niệm chuỗi Markov, một quá trình ngẫu nhiên trong
đó xác suất của mỗi bước tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và khôngquan tâm đến lịch sử trước đó Điều này cho phép chúng ta tập trung chỉ vào
giá trị phản hồi gần nhất tại mỗi trạng thái MDP là một mô hình Markov được
sử dụng rộng rãi trong lý thuyết học tăng cường ngày nay Nó được định nghĩa
là một tập hợp (tuple) (5, A, P, R,+).
Mô hình MDP bao gồm:
S là tập hợp các trạng thái có thể có trong môi trường A là tập hợp các hành
động có thể thực hiện bởi tác nhân trong mỗi trạng thái P là hàm xác suất
chuyển trạng thái, xác định xác suất chuyển từ một trạng thái sang trạng thái
khác khi thực hiện một hành dong cụ thể R là hàm phản hồi, xác định giá trị
phản hồi nhận được từ môi trường sau khi thực hiện một hành động trong một trạng thái + là yếu tố chiết khấu, xác định mức độ ưu tiên giữa phần thưởng gần nhất và phần thưởng tương lai.
Trang 28Tập hợp hữu hạn các trạng thái:
ses Tap hợp hữu han các hành động:
V(s)= A (a|s) >, P(s'|s,a)[R(s, a, s”) + +V(5)]
acA ses
Phương trình Bellman cho ham giá trị hành động:
Q(s,a) = b> P(s'|s,a)[R(s, a, s”) + + max Q(s”, a')]
“CA
eS
Trong đó, V(s) là giá trị trang thái, Q(s,a) là giá trị hành động, z(a|s) là
chính sách hành động, P(s'|s, ø) là xác suất chuyển trạng thái, R(s, a, s’) là phần
thưởng, + là hệ số chiết khẩu, A là tập hành động, và 5 là tập trạng thái
2.2.7 Thuật toán,
Học tăng cường (Reinforcement Learning - RL), có hai hướng chính để triển
khai thuật toán là value-based, policy-based.
e Value-based (Hướng cơ sở giá trị)
Trong phương pháp này, agent tập trung vào việc học và ước tính hàm giá
trị của các cặp trạng thái-hành động Thuật toán Q-learning và các biến thể
Trang 29của nó, như Deep Q-Networks (DQN), là những ví dụ nổi tiếng về based RL Giá trị tại mỗi trạng thái-hành động được ước tính để tìm ra
value-hành động tối ưu Value-based RL thích hợp cho các bài toán mà không
cần xác định chính xác chiến lược mà chỉ cần xác định giá trị tối ưu.
Q-learning
Phương pháp học tăng cường có thể được thực hiện theo hai cách: off-policy
và on-policy Trong đó, off-policy là một phương pháp học theo kiểu không
ảnh hưởng đến quyết định hành động hiện tại mà tập trung vào việc tối ưuhóa một quyết định hành động khác Trong khi đó, on-poliey sử dụng một
quyết định hành động để thực hiện các bước hành động nhằm tối ưu hóa
chính quyết định hành động đó
Phương pháp off-policy sử dụng hàm Q (ham giá trị hành động-trạng thái)
để đạt được tối ưu hóa Hàm Q được xác định bằng phương pháp Q-learning,
theo công thức sau:"
Q(s, a) = Q(s,a) + œ- (r + + - max(Q(s’,a’)) — Q(s, a)) (2.3)
Trong đó:
— Q(s,a) là giá trị Q hiện tại của cặp trạng thái-hành động.
— Alpha là tỷ lệ học tập (learning rate).
— Q(s,a) là phần thưởng nhận được sau khi thực hiện hành động
— r là giá trị Q hiện tại của cặp trạng thái-hành động.
— Gamma là hệ số giảm (discount factor)
— max(Q(s’,a’)) là giá trị Q lớn nhất trong trạng thái mới
Với cách điều chỉnh giá trị của hàm Q theo từng bước như vậy,
Mô tả thuật toán Q-learning với cách điều chỉnh giá trị của hàm Q theo
từng bước:
Trang 30— GAn giá trị Q ban đầu cho các vi trí:
+ Gan giá trị Q với vị trí đích lớn (reward).
* Sau mỗi bước thực hiện hành động, điều chỉnh lại giá trị hàm Q cho
các vị trí liên quan đến hành động vừa được thực hiện.
+ Sử dụng luật chọn hành độngđể điều chỉnh hành động thực hiện Với
luật chọn hành động, agent sẽ thực hiện hành động ngẫu nhiên
(ex-ploration) với xác suất c, và chọn hành động tốt nhất (exploitation)dựa trên giá trị Q với xác suất e-greedy
Về lý thuyết, ta có thể nhận thấy phương pháp kiểu off-policy cho phép
ham phá được nhiều hơn so với on-policy Diều này đồng nghĩa với việcphương pháp off-poliey có kha năng tim ra những lối đi mới với quãng đườngngắn hơn so với phương pháp on-policy
Lý do là trong phương pháp off-policy, agent không chi hoc từ cách thực ién hành động trong chính nó, ma còn học từ các hành động được thực
ién bởi các chính sách khác Diều này cho phép agent khám phá và học từ
nhiều cách thực hiện hành động khác nhau Agent có thể thử nghiệm các
hành động mới, ngay cả khi chúng không được chọn bởi chính sách hiện tại.
Điều này tạo ra một khả năng khám pha môi trường và tìm kiếm các lối đi
mới.
"Trong khi đó, phương pháp on-policy chi tập trung vào việc tối ưu hóa chính
sách hiện tại NO không tận dụng được thông tin từ các chính sách khác.
Trang 31Do đó, khả năng khám phá và tìm ra những lối đi mới có thể bị hạn chế
hon so với phương pháp off-policy.
Vi vậy, với khả năng khám phá nhiều hơn, phương pháp off-policy có kha năng tìm ra những lối đi mới có quãng đường ngắn hơn là cao hơn so với
phương pháp on-policy.
DQN (Deep Q-Network)
DQN sử dụng một mạng nơron sâu để xấp xỉ hàm giá trị hành động
(action-value funetion) trong môi trường tương tác.
Thuật toán DQN dựa trên ý tưởng của Q-learning Mục tiêu của Q-learning
à tìm cách tối đa hoá ham giá trị hành động Q(s, a), đại diện cho giá trị
dự đoán cho mỗi hành động a trong trạng thái s Dé làm điều này, DQN
sử dụng một mạng nơ-ron sâu (thường là mạng nơ-ron tích chập) để xấp xỉ
hàm giá trị Q.
"Thuật toán DQN thực hiện việc học thông qua việc tối ưu hóa hàm mat
mất (loss function) dựa trên sự chênh lệch giữa giá trị dự đoán Q(s, a) và
giá trị mục tiêu Giá trị mục tiêu được tính bằng cách sử dụng công thức:
target = reward + y+ max Q(s’, a’)
bu
Trong đó, reward là phần thưởng nhận được sau khi thực hiện hành động a
từ trạng thái s, s” là trạng thái tiếp theo, và + là hệ số chiết khấu (discount
factor) để định rõ sự ưu tiên của các phần thưởng ngay lập tức và tươnglai DQN sử dụng một phiên bản chập nhận thực (experience replay) để lưutrữ và tái sử dụng lại các trạng thái đã trải qua để giảm sự tương quan giữa
các mẫu huấn luyện.
"Trong quá trình huấn luyện, DQN tương tác với môi trường, chọn các hànhđộng dựa trên một chiến lược khám phá (thường là epsilon-greedy) và cập
Trang 32nhật mang nơ-ron thong qua quá trình lan truyền ngược (backpropagation)
để giảm thiểu hàm mất mát
DQN đã chứng minh khả năng học hiệu quả trong nhiều tác vụ hoc tăng
cường phức tạp, bao gồm việc đánh bài, chơi game video và điều khiển robot
trong môi trường ảo.
Policy-based (Hướng cơ sở chính sách)
Trong policy-based, mục tiêu là tìm ra chiến lược tối ưu trực tiếp Thay vì
đánh giá giá trị của các hành động hoặc trạng thái, phương pháp này tập
trung vào việc tối ưu hàm chính sách (policy) Hàm chính sách xác định
cách chọn hành động dựa trên trạng thái hiện tại Các thuật toán Policy
Gradient và Proximal Policy Optimization (PPO) là các ví dụ về phương
phap policy-based Policy-based thích hợp cho các bài toán mà việc xác
định chính sách tối ưu trực tiếp là quan trọng
Chính sách dựa trên RL (policy-based RL) có thể được phân loại thành hai
loại chính: chính sách xác định (deterministic policy) và chính sách ngẫu
nhiên (stochastic policy).
Chính sách xác định (Deterministic Policy): Xác định một hành động duy
nhất cho mỗi trạng thái Điều này có nghĩa là khi agent đối mặt với một
trạng thái cụ thể, nó sẽ luôn chọn một hành động duy nhất và không cóyếu tố ngẫu nhiên Ví dụ, trong trò chơi Pong, agent có thể c6 chính sách xác định là di chuyển vợt lên hoặc xuống dựa trên vị trí của bóng Chínhsách xác định dé dàng được biểu diễn dưới dạng một hàm, với trạng thái
làm đầu vào và hành động làm đầu ra.
Chính sách ngẫu nhiên (Stochastic Policy): Agent đưa ra hành động theo
xác suất Khi agent đối mặt với một trạng thái, nó sẽ có một phân phối
xác suất trên các hành động có thể thực hiện và sẽ chọn một hành độngdựa trên phân phối này Chính sách ngẫu nhiên có thể giúp agent khám
phá các hành động khác nhau và đối phó với các tình huống không chắc
Trang 33chắn Ví dụ, trong trò chơi Pong, agent có thể có chính sách ngẫu nhiên để
đi chuyển xu hướng lên với xác suất 0.7 và di chuyển với xu hướng xuốngxác suất 0.3 Chính sách ngẫu nhiên thường được biểu diễn bằng một hàm
phân phối xác suất, với trạng thái làm đầu vào và phân phối xác suất của
các hành động làm đầu ra
Ỏ ngữ cảnh của chúng tôi đặt ra, chúng tôi quyết định chọn thuật toán theo
hướng Poliey-based để triển khai
Mô hình mạng Actor-Critic
Mô hình mạng Actor-Critic (AC) là một phương pháp kết hợp giữa một
mạng nơ-ron chịu trách nhiệm chọn hành động (Actor) và một mạng nơ-ron chịu trách nhiệm đánh giá hành động (Critie) Mô hình này cung cấp một
cách tiếp cận tổng hợp giữa phương pháp giá tri (value-based) và phương
pháp chính sách (poliey-based).
Mang Actor nhận đầu vào là trạng thái của môi trường và đưa ra một phân
phối xác suất trên các hành động có thể thực hiện Nó học cách chọn hànhđộng tối ưu để tối đa hóa phần thưởng tích lũy trong quá trình tương tácvới môi trường Mạng Actor có thể được triển khai bằng cách sử dụng cáckiến trúc như mạng nơ-ron truyền thang (feedforward neural network) hoặc
mạng nơ-ron hồi quy (recurrent neural network)
Mạng Critie nhận đầu vào là trạng thái của môi trường và hành động được
thực hiện, và đưa ra một giá trị ước tính cho giá trị của cặp trạng thái-hành
động đó Mang Critic học cách đánh giá tính chất tốt xấu của hành động
và cung cấp thông tin phản hồi (feedback) cho mang Actor để cải thiện quá
trình chọn hành động Mạng Critic thường sử dụng các phương pháp như
học Q (Q-learning) hoặc học giá trị (value-based learning) để cập nhật giá
trị ước tính.
Quá trình huấn luyện của mô hình AC diễn ra thông qua việc tương tác vớimôi trường, thu thập dữ liệu và cập nhật các tham số trong mang Actor và
Trang 34mang Critic dựa trên lỗi giữa giá trị ước tính và phần thưởng thực tế Mụctiêu là tối ưu hóa hàm chính sách (policy) trong mang Actor và tối ưu hóa
ham giá tri (value function) trong mang Critic để đạt được hành động tối
ưu trong môi trường.
Công thức đánh giá giá trị (Critic):
V(s) © V(s) +a (r + 7V(s') - V(s)) (2.4)
V(s) là giá trị ước tính cho trang thái s, r là phần thưởng nhận được saukhi thực hiện hành động, a là tỷ lệ học (learning rate), y là hệ số giảm(discount factor), s’ là trạng thái tiếp theo sau khi thực hiện hành động
Công thức cập nhật hàm chính sách (Actor):
0 — 0+ 8Vạ log((a|s))Q(s, a) (2.5)
0 là các tham số của mang Actor, z(a|s) là xác suất của hành động a trong
trạng thái s được đưa ra bởi mang Actor, Vạ log(z(a|s)) là đạo hàm của ham
log xác suất theo các tham số 0, Q(s,a) là giá trị ước tính cho cặp trạngthái-hành động (s,a) do mang Critic đưa ra Công thức tính toán ưu thé
hành động (Advantage):
A(s,ø) = Q(s,a) — V(s) (2.6)
A(s,a) là ưu thé hành dong của hành động a trong trạng thái s, Q(s,a) là
giá trị óc tính cho cặp trạng thái-hành động (s,a), V(s) là giá trị ước tính
cho trạng thái s Các công thức trên thể hiện quá trình cập nhật và điều
chỉnh các tham số trong mang Actor và mang Critic dựa trên phản hồi từ
môi trường Chúng được áp dụng trong quá trình huấn luyện để tìm kiếm
một hàm chính sách tối ưu và ước tính giá trị tốt nhất cho từng trạng thái
và hành động.
Trang 35Mô hình A2C (Advantage Actor-Critic)
Mô hình mang Advantage Actor-Critic (A2C) là một phương pháp trong
học tăng cường (Reinforcement Learning) kết hợp giữa mạng Actor-Critic
và ưu thế hành động (advantage function) A2C là một dạng tiến hóa của
mô hình Actor-Critic, nhằm cải thiện hiệu suất va tăng tốc quá trình huấn
luyện.
A2C sử dụng hai thành phần chính: mang Actor và mang Critic Tuy nhiên,
thay vì cập nhật tham số dựa trên các lượt chơi riêng lẻ, A2C sử dụng một
phương pháp gradient Monte Carlo để tính toán gradient và cập nhật tham
số cùng một lúc sau mỗi một số lượt chơi
Các bước trong mô hình A2C như sau:
1. Môi trường đưa ra một trang thái ban đầu sọ
Mang Actor dưa ra một phân phối xác suất z(a|s) trên các hành động
Dựa trên phân phối xác suất, chon một hành động a để thực hiện
Thực hiện hành động a trong môi trường và nhận được phần thưởng r
và trạng thái tiếp theo s”.
Tính toán uu thế hành động (advantage) A(s,a) = Q(s,a) — V(s) bằng
cách lấy hiệu giữa giá trị ước tính của cặp trạng thái-hành động (s,a)
từ mang Critic và giá trị ước tính của trang thái s từ mang Critic.
Cập nhật mạng Critie bằng cách tính toán lỗi bình phương trung bình(mean squared error) giữa giá trị ước tính và giá trị thực tế: Loritic =
3Œ + +V(#) = V(s))?
Cập nhật mang Actor bằng cách tính toán lỗi gradient chéo entropy loss) giữa phân phối xác suất dự đoán và ưu thế hành động:
(cross-Lactor = — log((al|s)) - A(s, a)
Tính toán gradient của lỗi tổng cộng £ = Leritic + Lactor và cập nhật
các tham số trong mang Actor và mang Critic
Trang 369 Lặp lại các bước từ bước 2 đến bước § cho một số lượt chơi (episodes)
để huấn luyện mô hình
Mô hình A2C được đánh giá là hiệu quả và ổn định hơn so với các mô hình
truyền thống trong học tăng cường Bằng cách kết hợp giữa mạng Critie và ưu thế hành động, A2C hướng đến việc học một chính sách tốt và
Actor-đánh giá chính xác giá trị của các trạng thái và hành động trong quá trình
tương tác với môi trường.
Mô hình A3C (Asynchronous Advantage Actor-Critic)
Mô hình mang Asynchronous Advantage Actor-Critic (A3C) sử dụng để
huấn luyện các mạng Actor-Critic một cách song song và không đồng bộ.
A3C sử dụng nhiều công nhân (workers) để tương tác với môi trường và
cập nhật các mang Actor và Critic đồng thời, giúp tăng tốc quá trình huấn
luyện và tăng khả năng khám phá.
Các điểm chính của mô hình A3C là:
Các công nhân đồng thời tương tác với môi trường và thu thập dữ liệu từnhiều lượt chơi (episodes) khác nhau Mỗi công nhân có một bản sao riêng
của mạng Actor-Critic để tính toán hành động và giá trị
Các công nhân gửi các mẫu thu thập được (trạng thái, hành động, phần
thưởng, trạng thái tiếp theo) đến một bộ nhớ chia sẻ (shared memory) để
lưu trữ đữ liệu huấn luyện.
Một công nhân chính (master worker) được sử dụng để cập nhật các tham
số trong mang Actor-Critic Công nhân chính sử dung gradient của hàm
mat mát (loss function) trên các mẫu di liệu trong bộ nhớ chia sẻ để cập
Trang 37A3C tận dụng khả năng song song của các công nhân để thu thập di liệu
và cập nhật mạng Actor-Critic một cách hiệu quả Điều này giúp A3C đạtđược tốc độ huấn luyện nhanh hơn so với các phương pháp truyền thống,đồng thời tăng cường khả năng khám phá trong quá trình học tăng cường
Mô hình mang Asynchronous Advantage Actor-Critic (A3C) không sử dụng
các công thức cụ thể để cập nhật mang Actor và Critic Thay vào đó, nó sửdụng thuật toán gradient descent để tối ưu hóa hàm mất mát (loss function)
dựa trên dữ liệu thu thập từ các công nhân đồng thời Mô hình A3C được
triển khai như sau:
— Cập nhật mạng Critic:
1 Tính toán giá trị ước tính cho trạng thái hiện tại s từ mạng Critic:
Tính toán giá trị ước tính cho trạng thái tiếp theo s' từ mang Critic:
V(s').
Tinh toán giá trị thực tế y cho trạng thái hiện tai s dựa trên phần
thưởng nhận được sau khi thực hiện hành động và giá trị ước tính
của trạng thái tiếp theo: y = r + yV(s’), trong đó z là phần thưởng nhận được và + là hệ số giảm (discount factor).
Tính toán lỗi bình phương trung bình (mean squared error) giữa giá
trị ước tính và giá trị thực tế: Leritic = $(y — V(s))?
Cập nhật các tham số trong mạng Critie bằng gradient descent trênhàm mat mat Loritic-
— Cap nhat mang Actor:
1 Tính toán ưu thế hành động (advantage) A(s,a) = Q(s,a) — V(s) bằng cách lấy hiệu giữa giá trị ước tính của cặp trạng thái-hành
động (s,ø) từ mạng Critic và giá trị ước tính của trạng thái s từ mạng Critic.
Trang 382 Tính toán lỗi gradient chéo (cross-entropy loss) giữa phân phối xácsuất dự đoán và ưu thế hành động: Lactor = — log(œ(als)) - A(s,a),trong đó z(a|s) là xác suất của hành động a trong trạng thái s được
đưa ra bởi mang Actor.
3 Cập nhật các tham số trong mang Actor bằng gradient descent trênham mất mát Lactor-
Policy Gradient
Phương pháp chính sách gradient ngẫu nhiên (stochastic policy gradient)
và thuật toán Policy Gradient[0] cung cấp một cách tiếp cận khá linh hoạt
để tìm kiếm chính sách tối ưu trong học tăng cường Thay vì ước lượng hàm
giá trị như các phương pháp dựa trên giá trị, Poliey Gradient tập trung trực
tiếp vào việc tối ưu hóa chính sách Policy Gradient sử dụng một phương
pháp Monte Carlo để ước lượng gradient của hàm mục tiêu, đó là hàm giá
trị trung bình của các trạng thái-đại diện trong quá trình tương tác với môi
trường Thuật toán thực hiện việc điều chỉnh các tham số chính sách dựa
trên gradient này để tối đa hóa giá trị kỳ vọng của hàm mục tiêu
Một trong những uu điểm quan trọng của Policy Gradient là khả năng xử
lý chính sách phi tuyến tính và liên tục Thuật toán có thể tìm ra chính
sách tối ưu trong các không gian hành động và trạng thái liên tục Tuynhiên, phương pháp này còn 1 số hạn chế như hội tụ chậm và độ biến độngcao trong quá trình học Một số cải tiến đã được đề xuất nhằm giảm nhược
điểm này, bao gồm hệ số giảm (baseline) để ổn định gradient và phươngpháp cắt ngọn gradient (gradient clipping) để kiểm soát việc cập nhật tham
On
SỐ,
Chúng ta có chính sách 7 có tham số 6 Số z này, với một trạng thái nhất
định, đưa ra phân phối xác suất của các hành động z¿(ø,|s,) là xác suất
của tác nhân chọn hành động từ trạng thái st, theo chính sách của chúng
tôi.
Trang 39Nhung làm thé nào để chúng ta biết liệu chính sách của chúng ta có tốt haykhông? Chúng ta cần phải có một cách để đo lường nó Để biết rằng chúng
ta xác định một hàm điểm hay hàm mục tiêu được gọi là J(Ø)
Gradient Descent có thể được coi là một vấn đề tối ưu hóa Vì vậy, chúng
ta phải tìm các tham số tốt nhất (0) để cực đại hóa hàm điểm J(6)
-trạng thái sự - Q”2(s¿,a¿) là giá trị hành động (action-value) dựa trên chính
sách 7, đánh giá giá trị của hành động a; tại trạng thái s¿ - Vạ log z¿(a|s¿)
là đạo hàm của logarit của xác suất chọn hành động a; tai trạng thái s;
theo các tham số 6 - E,, [] biểu thị kỳ vọng được tinh dựa trên phân phối
xác suất 7, tức là trung bình của các giá trị tính toán trong dấu ngoặc
Công thức trên mô tả cách tính đạo hàm của hàm mục tiêu J(0) để cập
nhật các tham số Ø của chính sách 7g bằng phương pháp lan truyền ngược(backpropagation) Quá trình cập nhật tham số Ø dựa trên đạo hàm giúp
cải thiện chính sách để tối đa hóa giá trị hành động trong quá trình học
tăng cường.
Các bước xây dựng thuật toán:
— Thu thập dữ liệu: Tương tác với môi trường bằng cách thực hiện các
hành động dựa trên chính sách hiện tại Trong quá trình tương tác, ta
thu thập các cặp (trạng thái, hành động) và giá trị thưởng tương ứng.