Kiểm tra điều kiện hội tụ, nếu chưa đạt, lặp lại từ bước 2

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Nghiên cứu phương pháp khai thác tự động lỗ hổng bảo mật trên hợp đồng thông minh (Trang 42 - 54)

Mặc dù vậy, Q-learning khi sử dụng bảng giá trị vẫn có những vấn đề nhất định. Thứ nhất, thông tin trạng thái đầu vào cần phải được rời rạc hóa để có thể triển khai một ma trận bảng. Tuy nhiên với những thuộc tính có giá trị liên tục chẳắng hạn như quãng đường hoặc vận tốc, việc chia khoảng như vậy là chưa thật sự hiệu quả. Điều này có thể làm giảm độ chính xác và tốc độ hội tụ của

mô hình. Bởi, rõ ràng việc chia càng nhỏ những khoảng giá trị khác nhau càng

có lợi, và bạn không biết phải chia nhỏ đến mức nào. Thứ hai, đối với những

dữ liệu trạng thái đầu vào khó biểu diễn, chang hạn như hình ảnh, chúng ta sẽ không thể nhập được. Cuối cùng, giả sử với một bài toán có không gian trạng thái và hành động cực kỳ lớn, chắc chắn lượng tài nguyên tiêu tốn để có thể xây

dựng nên một bảng giá trị đạt điều kiện hội tụ là rất lớn. Ví dụ đối với CartPole

trong môi trường AlGym chỉ có 4 thuộc tính trạng thái và 2 hành động cho tác

tử. Tùy thuộc vào việc chia nhỏ thuộc tính của trạng thái, tuy nhiên tối thiểu để tác tử có thể học hiệu quả, bảng giá trị của chúng tôi đã có kích thước [1296x2]. Như vậy, đối với bài toán hiện tại của chúng tôi, đó là tự động hóa kiểm thử

thâm nhập, sự đa dạng của môi trường và payload khai thác cho thấy việc sử

dụng Q-Learning như vậy là chưa hợp lý.

34

2.3.2. Deep Q-Learning

Một giải pháp cho vấn dé trên của Q-Learning là sử dụng một biểu diễn phi

tuyến ánh xạ cả trạng thái và hành động vào một giá trị. Trong lĩnh vực học máy, điều này thường được gọi là "vấn đề hồi quy". Có nhiều phương pháp khác

nhau để giải quyết vấn đề này, nhưng trong học tăng cường, chúng ta thường

sử dung mạng nơ-ron. Day là một lựa chọn phổ biến và cung cấp nền tảng cho

khái niệm Học tăng cường sâu trong nghiên cứu.

Khi chuyển từ việc sử dụng bảng giá trị sang mạng nơ-ron trong Q-Learning, quá trình trở nên đơn giản hơn đáng kể.

State-Action Value

0

| avaue |

a

a elelelelelelele

Q Learning

Hinh 2.8: Hình ảnh mô tả cho viéc sử dung mang no-ron đơn giản thay cho bang giá tri trong Q-Learning

Một mạng no-ron đơn giản bao gồm lớp input, lớp output và có thể có các lớp

an khác. Số lượng nút trong mỗi lớp không cố định. Trong học tăng cường, mục

tiêu của chúng ta là tìm ra các hành động tối ưu tại các trạng thái môi trường

30

khác nhau. Mang nơ-ron là một công cu phù hợp để giải quyết van đề này, với

lớp input chứa thông tin về trạng thái, lớp output chứa các nút tương ứng với

các hành động có thể thực hiện, và các lớp an được sử dụng để tính toán với số

lượng nút linh hoạt.

Trong mạng nơ-ron này, có một tham số gọi là (cũng thường được biết đến như trọng số Weight của mạng nơ-ron), nhằm ước tính các Q-value sao cho xấp

xỉ với giá trị Q(s,a) được mô tả trước đó khi sử dụng Q-Learning bảng giá trị.

Tức là Q(s, a, 0) & Q(s, a). Diéu này có thé được thực hiện bằng cách giảm thiểu giá trị của Hàm mat mát ở mỗi bước.

2.3.8. Deep Q-Network

Dẫn nhập mang no-ron cho Q-Learning đã giúp giải quyết van đề một cách

đơn giản hơn. Tuy nhiên, để đạt hiệu quả và ổn định cao hơn trong quá trình

học tăng cường, chúng ta đã tiếp cận một khái niệm mới, đó là Học tăng cường

sầu.

Học tăng cường sâu là sự kết hợp giữa học sâu và học tăng cường, trong đó học sâu đề cập đến việc sử dụng mạng nơ-ron trong mô hình học máy. Một ví dụ

của học tăng cường sâu là mô hình Deep Q-Network (DQN), một mạng nơ-ron

sâu được áp dụng trong học tăng cường.

Có một điều cần lưu ý rằng, mặc dù đều sử dụng mạng nơ-ron, Q-Learning

sử dụng mạng nơ-ron thay cho bảng giá trị chúng tôi trình bày ở trên chưa được

xem là học tăng cường sâu. Thực tế, DQN cho phép tác tử học tăng cường học

tập ổn định thông qua một vài kỹ thuật.

Experience Replay - Khi một mô hình học máy sử dụng mạng nơ-ron, có một

van đề là tương quan thời gian. Chính vì thế, việc học từng bước một theo các

chuỗi nơ-ron là chưa hiệu quả. Để khắc phục vấn đề này, thay vì học tuần tự

theo hàm xấp xỉ Q, chúng ta sẽ lưu trữ nhiều bộ (s,a,r,s’) trong bộ nhớ và có

thể sử dụng chúng để học lại một cách ngẫu nhiên. Phương pháp này gọi là

Experience Replay

36

Fixed Target Q-Network - Thay vi chỉ sử dụng một mang nơ-ron mục tiêu,

chúng ta sẽ sử dụng thêm một mạng nơ-ron riêng biệt, gọi là mạng chính sách với

trọng số mạng cố định. Sau một số bước thời gian nhất định, Gradient Descent

sẽ cập nhật trọng số mạng trên mạng mục tiêu để làm giảm thiểu giá trị mất

mat, sau đó trọng số mạng này được cập nhật lên mạng chính sách.

Chính vì những điều này, DQN đạt được một hiệu quả học tập vượt trội hơn

so với các phương pháp tiếp cận học tăng cường thông thường. Cuối cùng, thuật toán DQN cơ bản gồm những bước sau [13]:

1. Khởi tạo dung lượng bộ nhớ phát lại.

2. Khởi tạo mạng chính sách với trọng số mạng ngẫu nhiên.

3. Sao chép mạng chính sách và gọi nó là mạng mục tiêu.

4. For each episode:

(a) Khởi tao trạng thái bat dau s.

(b) For each time step

e Lựa chon hành động a (qua thăm dò hoặc khai thác)

e Thực thi hành động đã chọn.

e Quan sát phần thưởng r va trạng thái tiếp theo s’.

e Lưu trữ kinh nghiệm (s,a,r,s’) trong bộ nhớ phat lại.

e Lấy mẫu ngẫu nhiên từ bộ nhớ phát lại.

e Tiền xử lý các trạng thái, sau đó chuyển vào mạng chính sách.

e Tính toán giá trị mất mát.

e Gradient descent cập nhật trọng số mạng để giảm thiểu giá trị mất mát.

2.3.4. Recurrent neural network

Mang nơ-ron tái phát (RNN) là một kiểu mạng nơ-ron đặc biệt được thiết

kế để xử lý dữ liệu tuần tự hoặc dữ liệu có mối quan hệ thời gian. RNN có khả

37

năng xử lý thong tin từ dữ liệu hiện tại va lưu trữ thong tin từ các dữ liệu trước đó.

Mạng RNN có cấu trúc bao gồm một chuỗi các đơn vị nơ-ron được kết nối

với nhau theo hướng thời gian. Mỗi đơn vị nơ-ron trong RNN có hai nhiệm vụ

chính: xử lý thông tin và truyền thông tin đến các đơn vị tiếp theo. Để thực

hiện nhiệm vụ này, mỗi đơn vị nơ-ron nhận đầu vào từ dữ liệu hiện tại và từ

đơn vị nơ-ron trước đó trong chuỗi.

Trong mạng RNN, mỗi đơn vị nơ-ron thực hiện hai loại phép tính chính: phép

tính đầu vào và phép tính trạng thái an. Phép tính đầu vào tính toán giá trị tạm thời từ đầu vào hiện tại và trạng thái ấn của đơn vị nơ-ron trước đó. Phép tính trang thái an sử dụng giá trị tạm thời từ phép tính đầu vào và trạng thái

an của đơn vị nơ-ron hiện tại để tính toán trạng thái ẩn mới của đơn vị nơ-ron

hiện tại. Quá trình này được lặp lại cho mỗi đơn vị nơ-ron trong chuỗi.

Mạng RNN có khả năng duy trì trạng thái ẩn và sử dụng thông tin từ các bước trước đó trong chuỗi. Điều này cho phép RNN nhận biết và xử lý thông tin có tính tuần tự như dữ liệu ngôn ngữ, dữ liệu âm nhạc, dữ liệu thời gian,

V.V.

Để giải quyết vấn đề này, một số biến thể của RNN đã được phát triển như

38

LSTM (Long Short-Term Memory), kiến trúc này sử dụng cơ chế cổng để điều

chỉnh luồng thông tin trong quá trình huấn luyện, giúp mạng RNN có khả năng học các phụ thuộc xa và giải quyết hiện tượng mất mát đạo hàm.

2.3.5. Deep Recurrent Q-Network

DRQN (Deep Recurrent Q-Network) là một biến thể của mạng nơ-ron Q (Q- Network) kết hợp với mạng nơ-ron tái phát (RNN) để xử lý dữ liệu tuần tự

trong bài toán học tăng cường.

Trong bài toán học tăng cường, mục tiêu của agent (người chơi ảo) là tìm

hiểu cách tương tác với môi trường để tối đa hóa một hàm phần thưởng (re- ward function) cho trạng thái hiện tại. Dé đạt được điều này, mang nơ-ron Q (Q-Network) được sử dụng để ước lượng hàm giá trị hành động (action-value

function) Q(s, a), trong đó s là trạng thái và a là hành động tương ứng. DRQN

là một biến thể của Q-Network, nơi mạng nơ-ron tái phát được sử dụng để xử

lý dit liệu tuần tự.

Một trong những ưu điểm nổi bật của DRQN là khả năng xử lý dữ liệu tuần

tự và mô hình hóa các phụ thuộc thời gian trong bài toán học tăng cường. DRQN

sử dụng RNN để lưu trữ thông tin từ các trạng thái trước đó và áp dụng nó để

đưa ra quyết định thông minh. Điều này đặc biệt hữu ích trong các tình huống

mà hành động hiện tại có thể ảnh hưởng đến trạng thái và phần thưởng tương

lai.

2.4. M6 hình không gian vector

2.4.1. Mô hinh word2vec

Mô hình Word2Vec là một mô hình học máy được sử dụng để biểu diễn từ vựng trong ngữ liệu dưới dạng các vector số. Mô hình này đã đạt được sự nổi

tiếng và rất hữu ích trong lĩnh vực xử lý ngôn ngữ tự nhiên.

39

Mục tiêu chính của Word2Vec là tạo ra các biểu diễn từ vựng mà có khả năng bắt chước đặc điểm ngữ nghĩa và ngữ cảnh của từ. Mô hình này dựa trên giả

định rằng các từ có xu hướng xuất hiện trong cùng ngữ cảnh hoặc có cùng các

từ xung quanh, sẽ có ý nghĩa tương tự hoặc có quan hệ với nhau.

Ưu điểm

e Biểu diễn từ vựng phân tán: Word2Vec biểu diễn từ vựng dưới dạng các

vectơ phân tán trong không gian số chiều thấp. Các từ có ý nghĩa tương tự thường có các vectơ gần nhau, cho phép mô hình nắm bắt được sự tương

quan ngữ nghĩa giữa các từ.

e Bảo toàn thông tin ngữ nghĩa: Word2Vec xác định các đặc trưng ngữ nghĩa

của từ dựa trên ngữ cảnh xuất hiện của chúng trong văn bản. Diều này cho

phép mô hình biểu dién được các từ theo cách tương đối tự nhiên và bảo

toàn thông tin ngữ nghĩa quan trọng.

e Mối quan hệ từ: Mô hình Word2Vee có khả năng tổng hợp mối quan hệ

ngữ nghĩa giữa các từ. Ví dụ, nếu bạn trừ vectơ từ "nữ hoàng" cho vectơ từ

"đàn ông", kết quả có thể gần với vectơ từ "nữ vương". Điều này cho phép

mô hình thực hiện các phép toán từ vựng đơn giản như phép cộng và trừ

để khám phá mối quan hệ từ.

e Dơn giản và hiệu quả: Word2Vec sử dụng kiến trúc mạng nơ-ron đơn giản

và thuật toán học không giám sát dựa trên dữ liệu văn bản không gian rộng.

Điều này giúp cho việc triển khai và huấn luyện mô hình trở nên đơn giản

và hiệu quả.

e Tính ứng dụng cao: Mô hình Word2Vec có nhiều ứng dụng trong xử lý ngôn

ngữ tự nhiên. Các ứng dụng bao gồm: tìm kiếm từ đồng nghĩa, nhận dạng ngôn ngữ tự nhiên, phân loại văn bản, dịch máy, phân tích ý kiến, và nhiều

hơn nữa.

Nhược điểm

40

e Giới han từ vựng: Word2Vec yêu cầu một tập dữ liệu lớn để có thể học được

các biểu diễn từ vựng chính xác. Tuy nhiên, nếu từ vựng hiện diện trong

tập dit liệu huấn luyện của mô hình không đủ đa dạng hoặc phong phú, các

từ hiếm có thể không có biểu diễn chính xác hoặc không có biểu diễn gần

đúng.

e Không xử lý được ngữ nghĩa đa nghĩa: Mô hình Word2Vec không thể phân

biệt hoặc biểu diễn các ý nghĩa khác nhau của một từ có nhiều ngữ nghĩa (polysemy). Điều này có thể dẫn đến việc mô hình gán nhãn sai hoặc không hiểu được ngữ nghĩa chính xác của từ trong ngữ cảnh cụ thể.

e Bỏ qua thứ tự từ: Mô hình Word2Vec không lưu trữ thông tin về thứ tự

từ trong câu. Điều này có nghĩa là mô hình không thể hiểu được ngữ cảnh tuần tự và mối quan hệ giữa các từ trong câu. Do đó, mô hình có thể không

phù hợp cho các tác vụ yêu cầu thông tin về cú pháp và thứ tự từ như phân

tích ngữ pháp hoặc dịch máy.

e Bỏ qua ngữ nghĩa toàn cục: Word2Vec chỉ tập trung vào ngữ cảnh gần đó

của từ và không có thông tin về ngữ nghĩa toàn cục của ngôn ngữ. Điều này

có thể dẫn đến việc mô hình không hiểu được những quy luật ngữ nghĩa

chung hoặc khái niệm trừu tượng.

e Cần khối lượng dữ liệu lớn: Dé đạt được kết quả tốt, Word2Vec yêu cầu một

lượng dữ liệu huấn luyện lớn. Điều này có thể là một hạn chế khi nguồn dữ

liệu có san hạn chế hoặc khi thời gian huấn luyện lâu dài không khả thi.

2.4.2. Mô hành FastTezt

Mô hình FastText là một mô hình hoc máy cho xử lý ngôn ngữ tự nhiên,

được phát triển bởi Facebook AI Research. Nó là một mở rộng của mô hình Word2Vec với khả năng xử lý từ vựng lớn hơn và hỗ trợ cho việc biểu diễn từ

vựng có ngữ nghĩa đa nghĩa.

41

Mô hình FastText xây dựng các biểu diễn từ vựng bằng cách sử dụng phương

pháp "n-grams". N-grams là các chuỗi con liên tiếp của ký tự hoặc từ trong từ

vựng. Thay vì chỉ xem xét từ đơn lẻ, FastText chia các từ thành các n-grams và

sử dụng chúng làm đơn vị đầu vào để tạo các biểu diễn từ.

Ưu điểm

e Xử lý từ nhiều từ: Một trong những ưu điểm chính của FastText là khả

năng xử lý từ nhiều từ. Trong Word2Vec, từ được coi là đơn vị nhỏ nhất trong quá trình huấn luyện, trong khi FastText chia từ thành các subword (phần từ con) nhỏ hơn. Điều này giúp mô hình FastText xử lý được các từ

không quen thuộc, từ mới tạo bởi việc ghép các subword lại, hoặc cả các từ

nằm ngoài từ điển.

e Biểu diễn từ vựng phân tán: Tương tự như Word2Vec, FastText cũng biểu

diễn từ vựng dưới dạng các vectơ phân tán. Mô hình tao ra các vectơ biểu diễn cho từng subword, và vecto biểu diễn của một từ được tính bằng cách tổng hợp các vectơ của các subword trong từ đó. Điều này giúp FastText

bảo toàn thông tin về cấu trúc và ngữ nghĩa của các từ.

e Dối tượng học không rõ rang (unsupervised learning): FastText sử dụng

thuật toán học không giám sát để học biểu diễn từ. Điều này có nghĩa là FastText không yêu cầu nhãn dữ liệu huấn luyện cu thể cho mỗi từ, mà chỉ cần một tập dữ liệu văn bản không gian rộng. Do đó, FastText có thể

tự động học được từ vựng và ngữ nghĩa từ dit liệu mà không cần đánh giá nhãn chỉ tiết cho từng từ.

e Tính ứng dụng cao: FastText có thể được áp dụng cho nhiều tác vụ xử lý

ngôn ngữ tự nhiên, bao gồm phân loại văn bản, dịch máy, gợi ý từ khóa, phân đoạn văn bản, và tìm kiếm từ đồng nghĩa. Đặc biệt, khả năng xử lý

các từ không quen thuộc và từ mới là một ưu điểm quan trọng khi sử dụng

Fast Text.

42

e Tốc độ huấn luyện và độ chính xác: FastText thường có tốc độ huấn luyện

nhanh hơn so với mô hình Word2Vec truyền thống. Dong thời, FastText

cũng có thể đạt được độ chính xác tương đương hoặc cao hơn trong các tác

vụ xử lý ngôn ngữ tự nhiên.

Nhược điểm

e Tốn kém về bộ nhớ: Do mô hình FastText xử lý các n-grams, điều này làm

tăng kích thước của từ điển và yêu cầu bộ nhớ lớn hơn so với mô hình Word2Vec truyền thống. Điều này có thể gây khó khăn cho việc triển khai

mô hình trên các thiết bị có tài nguyên hạn chế.

e Tính chính xác giảm đối với từ hiếm: FastText có thể đối mặt với vấn đề về

tính chính xác khi biểu diễn các từ hiếm, đặc biệt là khi chúng không xuất hiện đủ lần trong dữ liệu huấn luyện. Điều này có thể dẫn đến các biểu diễn

không chính xác hoặc không day đủ cho các từ hiếm.

e Không xử lý ngữ nghĩa phức tạp: Mô hình FastText không có kha năng xử

lý các ngữ nghĩa phức tạp hoặc quan hệ ngữ nghĩa sâu hơn giữa các từ. Các

biểu diễn từ được tạo ra bởi FastText có xu hướng tập trung vào các mẫu

ngữ cảnh và không chứa thông tin về ngữ nghĩa toàn cục.

e Tính chậm trong việc huấn luyện: So với mô hình Word2Vec, FastText có

thể tốn nhiều thời gian để huấn luyện vì quá trình xử lý các n-grams và kích thước từ điển lớn hơn.

2.5. Tình hình nghiên cứu và các công trình liên quan

Như hình 2.10, có nhiều phương pháp khai thác tự động [2] [11] [6](auto-

exploit) hợp đồng thông minh được sử dụng để tìm lỗ hồng và tấn công các hợp đồng thông minh. Có hai phương pháp khai thác tự động phổ biến:

Symbolic Execution: Sử dụng kỹ thuật symbolic execution là một phương

pháp mạnh mẽ để tìm kiếm lỗ hồng bảo mật và tấn công tự động các hợp đồng

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Nghiên cứu phương pháp khai thác tự động lỗ hổng bảo mật trên hợp đồng thông minh (Trang 42 - 54)

Tải bản đầy đủ (PDF)

(88 trang)