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

Khóa luận tốt nghiệp An toàn thông tin: 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 minh

79 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 đề 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 minh
Tác giả Nguyễn Phạm Lâm Duy
Người hướng dẫn ThS. Nguyễn Duy, ThS. Trần Tuấn Dũng
Trường học Khoa Công nghệ thông tin, Đại học Bách khoa Hà Nội
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 23,95 MB

Nội dung

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 1

NGUYÊ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 2

Quá 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 3

CHUGNG 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 4

2.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 5

41.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 6

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 đ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 7

T

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 8

DANH 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 9

TÓ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 10

Chươ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 11

1.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 12

1.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 13

1.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 14

1.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 15

CHƯƠ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 16

e 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 17

Bằ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 18

INSTRUCTION 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 19

minh 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 20

minh 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 22

gọ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 23

Lỗ 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 24

game đầ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 25

Action 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 27

Tuy 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 28

Tậ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 29

củ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 31

Do đó, 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 32

nhậ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 33

chắ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 34

mang 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 35

Mô 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 36

9 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 37

A3C 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 38

2 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 39

Nhung 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.

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

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN