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