2.6. Các thuật toán Deep Reinforcement Learning
2.6.4. Ly thuyét vé thuật toán PPO (Proximal Policy Optimization) 1. Tong quan
Proximal Policy Optimization (PPO) là một phương phép quan trong trong
Deep Reinforcement Learning để tối ưu hóa chính sách. Nó được giới thiệu bởi
OpenAT vào năm 2017 như sau : "Phương pháp tối ưu chiến thuật vùng lần cận (PPO), hoạt động tương đương hoặc tốt hơn so với các phương pháp khác trong khi nó dễ dàng hơn nhiều trong việc thực hiện và điều chỉnh."
Theo nghiên cứu [11] tác giả đã đề cập đến nhiều phương pháp cho học tăng
cường với giá trị của hàm xấp xỉ hàm bằng mạng nơ-ron. Trong đó kể đến
những phương pháp dẫn đầu như : deep Q-learning, trust region/natural policy
gradient và policy gradient . Tuy nhiên, các phương pháp được kể ở trên vần còn hạn chế về tính mở rộng (đối với các mô hình lớn hoặc triển khai song song)
cũng như hiệu quả của của dữ liệu và độ tin cậy.
Phương pháp deep Q-learning gặp vấn đề khó khăn trên các bài toán đơn giản, phương pháp "vanilla" policy gradient có hiệu suất dit liệu kém và không
32
đáng tin cậy còn phương phap trust region policy optimization (TRPO) tương
đối phức tap va khong tương thích với một số kiến trúc mang. Dé khắc phục các
tình trạng trên, chúng tôi sẽ giới thiệu phương pháp PPO nhằm cải thiện hiệu quả về dữ liệu và hiệu suất đáng tin cậy của TRPO. PPO kết hợp việc lấy mẫu
dữ liệu từ chính sách và tối ưu hóa trên dữ liệu đã lấy mẫu để cải thiện chính sách giúp đảm bảo tính ổn định và khả năng hội tụ tốt trong quá trình tối ưu
hóa chính sách. Chúng tôi sẽ nói rõ hơn về các phương pháp này trong các phần tiếp theo.
2.6.4.2. Phương pháp deep Q-learning
Deep Q-Learning là một phương pháp hoc tăng cường (reinforcement learn-
ing) được sử dụng để đào tạo một mạng nơ-ron sâu (deep neural network) để học cách chơi trò chơi hoặc thực hiện các nhiệm vụ điều khiển.
Phương phấp này dựa trên thuật toán Q-Learning (được trình bày ở mục
2.4.6). Deep Q-Learning mở rộng Q-Learning bằng cách sử dụng một mạng nơ-
ron sâu dé xấp xỉ hàm giá trị Q, có chức năng đánh giá giá trị của mỗi cặp trạng
thái-hành động.
Thuật toán Deep Q-Learning hoạt động bằng cách thực hiện các bước sau:
e Thu thập dữ liệu: Thực hiện một loạt các hành động tương tac với môi
trường và thu thập các thông tin về trạng thái, hành động và điểm thưởng
của chúng.
e Lưu trữ dữ liệu:Lưu trữ các cặp trạng thái, hành động và điểm thưởng
vào bộ nhớ trạng thái (replay memory).
e Lựa chọn hành động: Thong qua giá trị của trang thái hiện tại,tác nhân
sử dụng mạng nơ-ron nhằm thực hiện dự đoán giá trị Q cho mỗi hành động
có thể thực hiện và chọn hành động có giá trị Q cao nhất hoặc sử dụng chiến lược khám phá (exploration strategy) để khám phá hành động mới.
33
e Cập nhật mang nơ-ron: Sử dụng các cặp trạng thái-hành động-điểm
thưởng từ replay memory, tính toán sai lệch giữa giá trị Q thực tế và giá trị Q dự đoán bởi mạng nơ-ron, sau đó cập nhật trọng số của mạng nơ-ron
để giảm sai lệch này.
e Lap lại quá trình: Tiếp tục thu thập dữ liệu, lựa chọn hành động, cập
nhật mạng nơ-ron và lặp lại cho đến khi đạt được một điều kiện dừng.
Deep Q-Learning đã chứng minh được hiệu quả trong việc đào tạo các hệ
thống tự động chơi trò chơi điện tử, như trò chơi Atari, và thực hiện các nhiệm
vụ điều khiển phức tạp. Tuy nhiên nó vẫn gặp khó khăn và thất bại trên nhiều
bài toán đơn giản vì các lý do như:
e Tính bất ồn: Q-learning phụ thuộc vào phương trình Bellman để cập nhật
các giá trị Q theo phương pháp lặp. Khi kết hợp với hàm xấp xỉ, như mạng
nơ-ron, quá trình cập nhật có thể trở nên không ổn định do sự tương quan
giữa giá trị Q mục tiêu và giá trị Q được dự đoán, Khi chúng ta cập nhật
trọng số của mạng, các giá trị Q được dự đoán cũng thay đổi. Điều này tạo
ra một chuỗi tương quan phức tạp giữa các giá trị Q, và quá trình học có
thể dẫn đến sự dao động hoặc phân kỳ của mạng.
e Đánh giá cao:Q-learning với hàm xấp xỉ hàm thường đánh giá cao các giá
trị Q, đặc biệt là ở giai đoạn đầu của quá trình học. Điều này có thể dẫn
đến chính sách tối ưu không tối ưu và quá trình hội tụ chậm hơn. Sự đánh giá cao này phát sinh từ sự thiên lệch và hạn chế của các phương pháp xấp
xỉ hàm.
e Sự cân bằng giữa khám phá và khai thác: Khi sử dụng xấp xỉ hàm, sự
cân bằng giữa khám phá và khai thác trở nên khó khăn hơn. Mạng nơ-ron
có thể ưu tiên khai thác kiến thức hiện tại, dẫn đến sự khám phá không đủ
trong không gian trạng thái-hành động và khó khăn trong việc tìm chính
sách tối ưu.
34
e Thiếu đảm bảo hội tu: Q-learning với hàm xấp xỉ hàm không có đảm
bảo hội tụ tương tự như Q-learning truyền thống với bảng giá trị Q. Điều này xuất phát từ tính phi tuyến của mạng nơ-ron và sự tương tác phức tạp giữa kiến trúc mạng, tốc độ học, và các siêu tham số khác. Do đó, không
thể đảm bảo thuật toán hội tụ đến giá trị Q tối ưu.
2.6.4.3. Phương pháp Policy Gradient
Phương pháp policy gradient hoạt động bằng cách tính toán ước lượng của
chính sách gradient và sử dụng nó trong thuật toán tăng gradient ngẫu nhiên. Việc tính toán ước lượng dựa trên công thức sau đây :
9 = E,[Wslog ro(a1\s1) Ad]
Trong đó :
e z¿ : Một chính sách ngẫu nhiên
e Â,: Ước lượng của hàm advantage tại thời điểm t
e E,[...] :Gid tri trung bình thực nghiệm
Các phiên bản sử dụng phần mềm tự động tính đạo hàm thực hiện việc xây
dựng một hàm mục tiêu, trong đó đạo hàm của nó là ước lượng gradient của
chính sách. Bằng cách lấy đạo hàm của hàm mục tiêu này, chúng ta thu được
ước lượng g dựa trên công thức sau :
Các phương pháp Policy Gradient có thể giải quyết van đề về việc hội tu bằng
phương pháp Natural Policy Gradient. Tuy nhiên, trên thực tế, Natural Policy
Gradient bao gồm ma trận đạo hàm bậc hai, khiến nó không thể mở rộng cho
các bài toán với quy mô lớn. Độ phức tạp tính toán quá cao đối với các nhiệm
vụ thực tế. các nghiên cứu được thực hiện để giảm độ phức tạp bằng phương
35
pháp tính gần đúng phép tối ưu bậc hai. PPO sử dụng một cách tiếp cận hơi khác. Thay vì áp đặt một ràng buộc cố định, PPO sẽ chuẩn hóa ràng buộc dưới dạng một giá trị điều chỉnh, gọi là Penalty, trong hàm mục tiêu. Chúng ta có
thể sử dụng phép tối ưu hóa bậc nhất như phương pháp Gradient Descent để tối
ưu hóa mục tiêu. Thậm chí chúng ta có thể vi phạm ràng buộc, thì mức thiệt
hại vẫn ít hơn nhiều và việc tính toán cũng đơn giảm
2.6.4.4. Phương pháp Trust Region
Trust Region Methods (Phương pháp vùng tin cậy) là một lớp các thuật toán
tối ưu hóa được sử dụng để giải quyết bài toán tối ưu phi tuyến. Các phương pháp này nhằm tìm kiếm điểm cực trị của một hàm mục tiêu trong một vùng tin cậy xung quanh điểm hiện tại. Chúng ta có thể áp dụng công thức tối đa
hóa hàm mục tiêu sau đây:
maximize 1
0 Tig (ax| $1)
subject to E,|[KL[na„„(-|s¿), mạ(-|s¿)]] < 6
Trong đó : z¿„„ là vector các giá tri của chính sách trước khi được cập
nhật.Thông qua việc thực hiện xấp xỉ một cách hiệu quả với hàm gradient bậc hai sau khi xấp xỉ tuyến tính, hàm mục tiêu và xấp xỉ bậc hai của hàm ràng
buộc.
Ý tưởng chính của Trust Region Methods là để thực thi một mô hình xấp xỉ
(ví dụ: mô hình tuyến tính) dựa trên giá trị của hàm mục tiêu trong vùng tin
cậy. Sau đó, thuật toán tối ưu hóa di chuyển từ điểm hiện tại đến điểm tối ưu
của mô hình xấp xỉ này bên trong vùng tin cậy. Quá trình này sẽ điều chỉnh
kích thước vùng tin cậy sao cho đảm bảo sự tăng giảm kiểm soát và tăng cường
khả năng hội tụ.
TRPO đề nghị sử dụng phương thức hình phạt hay vì ràng buộc mục tiêu để
giải quyết vấn đề tối ưu hóa mà không bị ràng buộc.
36
maximize Ê,[-T9(4is)— A, — BKL|t6,4(-|st), To(-|S¢)]
6 TO oq (ae 8¢)
Ham mục tiêu trong phương trình trên sẽ tim cách tối da hóa một mục tiêu
thay thế, bao gồm hai thành phần chính: hàm lợi thế A; và phân kỳ Kullback-
Leibler (KL) giữa chớnh sỏch cũ 79,,, và chớnh sỏch hiện tại 7ằ. Hệ số 6 đại diện cho trọng số được gán cho thuật ngữ KL trong hàm mục tiêu.
Trong Trust Region Methods, việc đánh giá kích thước và hình dạng của vùng
tin cậy đóng vai trò quan trọng. Nếu vùng tin cậy quá nhỏ, thuật toán có thể rơi vào tối uu cục bộ. Ngược lại, nếu vùng tin cậy quá lớn, thuật toán có thể mất quá nhiều thời gian để tìm kiếm điểm tối ưu. Do đó, việc tỉnh chỉnh và
điều chỉnh kích thước vùng tin cậy là một yếu tố quan trong trong Trust Region
Methods.
Trust Region Methods được sử dung rộng rãi trong các bài toán tối ưu hóa không lồi, bài toán tối ưu phi tuyến và trong lĩnh vực học máy, đặc biệt là trong việc huấn luyện các mô hình học tăng cường (reinforcement learning) và tối ưu chính sách (policy optimization).
2.6.4.5. Clipped Surrogate Objective
Clipped Surrogate Objective (giới han đối tượng thay thé) là một phương
pháp được sử dung trong thuật toán Proximal Policy Optimization (PPO) dé
tối ưu hóa chính sách
Trong PPO, mục tiêu của chúng ta là tối đa hóa lợi ích (advantage) được ước
lượng từ các tương tác với môi trường. Tuy nhiên, để đảm bảo tính ổn định và
tránh quá tối ưu, chúng ta sẽ áp dụng một ràng buộc (constraint) trên chính
sách cập nhật, giới hạn việc thay đổi quá nhiều so với chính sách hiện tại.
Clipped Surrogate Objective được sử dụng để xây dung một hàm mục tiêu thay thế (surrogate objective), giới han sự thay đổi của chính sách mới so với
chính sách hiện tại. Nó được xác định bang cách lay giá trị nhỏ nhất giữa hai thành phần:
37
Lợi ich (advantage) ước lượng: Day là sự đánh giá về lợi ích của chính sách
mới so với chính sách hiện tại dựa trên các tương tác với môi trường. Nó đo lường mức độ cải thiện của chính sách mới.
Ham tỉ lệ giới han (clipping function): Day là một hàm được sử dụng để giới hạn sự thay đổi của chính sách mới so với chính sách hiện tại. N6 được áp dụng
để cắt giá trị của lợi ích trong một khoảng xác định để đảm bảo sự ổn định và
tránh quá tối ưu.
TRPO sử dụng z;(0) với tỷ lệ xác xuất r,(0) = Tin) . Khi r(6,ld) = 1,
TRPO sẽ sử dụng hàm wu thế (advantage function) để tối ưu hóa hàm mục tiêu
thay thế thông qua công thức sau :
LGP1(0) = Ê|—TnGlS2~ Ay) = Êu[ry(0)Â,|Toi (| St)
Chữ số trên CPI tham chiếu đến việc lặp lại chính sách thận trọng (conser- vative policy iteration) [KL02], trong đó mục tiêu này đã được đề xuất. Nếu
LCP! sẽ dẫn đến một cập nhật chính sách không có ràng buộc, việc tối đa hóa
quá lớn. Vì vậy, bây giờ chúng ta xem xét cách sửa đổi mục tiêu để trừng phạt những thay đổi trong chính sách làm cho r;(@) di chuyển xa khỏi giá trị 1. Điều này được thực hiện để hạn chế sự thay đổi quá mức trong chính sách mới và đảm bảo tính ổn định của thuật toán. Bằng cách áp dụng hình phạt cho những thay đổi khiến z;(9) di chuyển xa khỏi giá trị 1, CPI đảm bảo rằng chính sách
mới chỉ được cập nhật một cách nhỏ nhẹ và hợp lý.
Để tối đa hóa chính sách, ta đề xuất hàm mục tiêu chính như sau:
LGHIP(0) = Ei[min(r/()¡, elip(r,(0),1— e,1+ e)Â?)]
lộ đây là một siêu tham số, ví dụ e = 0.2. Cách hoạt động của hàm mục tiêu
được thực hiện theo các bước sau đây :
e Dầu tiên , bên trong min là ham LC?! đã trình bày ở trên.
e Tiếp theo, elp(r,(0),1 — e,1 + e)Â,) sẽ sửa đổi mục tiêu thay thế bằng cách
38
giới hạn giá trị tỷ lệ xác suất, loại bỏ động lực để đưa r; ra khỏi khoảng
[—<,1+ 4.
e Cuối cùng, ta lấy giá trị nhỏ nhất giữa mục tiêu đã giới hạn và mục tiêu
không giới hạn, vì vậy mục tiêu cuối cùng là một giới hạn dưới (nghĩa là một giới hạn bi quan) của mục tiêu không giới hạn.
Với phương pháp này, chúng tôi chỉ bỏ qua sự thay đổi trong tỷ lệ xác định
khi nó làm cho mục tiêu cải thiện tốt hơn và bao gồm nó khi nó làm cho mục
tiờu xấu hơn. Lưu ý rằng khi LÊ!!P(ứ) = L€P!() đến một giỏ trị xung quanh 0„a(nghĩa là khi r = 1). Tuy nhiên, chúng trở nên khác nhau khi 6 di chuyển
ra xa Oa. Hình 2.10 biểu thị một thành phần duy nhất (nghĩa là một t) trong
LCLI?, Lưu ý rằng tỷ lệ xác thực r được giới hạn ở 1— € hoặc 1+ € tùy thuộc vào sự khác biệt tích cực hay tiêu cực của hàm ưu tiên thế.
+LCLIP A>0O
+—† ˆ
0 1 1+ LCLIP
+
Hình 2.10: Biểu do hiển thị một điểm (tai một thời gian) của ham LCM?
Hình 2.11 cung cấp thông tin về ý nghĩa của mục tiêu thay thế L°4/?. Hình
này thể hiện cách một số mục tiêu thay đổi khi chúng ta nội suy theo hướng cập
nhật chính sách, được thu được bằng phương pháp tối ưu hóa chính sách tiệm
cận (proximal poliey optimization - PPO) trên một bài toán điều khiển liên tục. Chúng ta có thể thấy rằng L°// là một giới hạn dưới (lower bound) của LCPT,
39
và đồng thời cập nhật trừng phat khi chính sách quá lớn.
— Ê[KL:]
—— La Ê¡[r;A.]
—— Ê,[clip(rr, 1—e£,1+£)A;]
—— LHP = Ê;[min(r¿Ax, clip(r¿, 1— e, 1 + £)A;)]