So sánh với thuật tốn DQN, PG có ưu thế về tính hội tụ do đi theo hướng gradient nên thuật tốn sẽ ln bảo đảm tính hội tụ dù ở trường hợp cực đại địa phương hay cực đại tồn cục. Thêm vào đó, PG tỏ ra hiệu quả hơn khi kích thước khơng gian hành động lớn hay sử dụng trong không gian hành động liên tục và có thể học được chính sách ngẫu nhiên. Tuy nhiên, nhược điểm lớn của PG là đa số thời gian chúng hội tục cục bộ thay vì hội tụ tồn cục như mong muốn có thể dẫn đến kéo dài thời gian huấn luyện để tìm được nghiệm tối ưu cho bài toán.
3.2.3.5 Thuật toán Actor – Critic
Ý tưởng chính của thuật tốn Actor – Critic (AC) là xây dựng mơ hình từ hai phần. Thành phần thứ nhất là mạng Actor. Mạng này lấy đầu vào là trạng thái quan sát S, đầu ra tương ứng là phân bố xác suất xảy ra mỗi hành động trong tập khơng gian hành động. Thành phần này thuộc nhóm phương pháp dựa trên chính sách, đóng vai trị học tập tìm hiểu chính sách tối ưu.
Thành phần cịn lại là mạng Critic, thuộc nhóm phương pháp dựa trên giá trị. Có vai trị như một hàm giá trị V(s), tính tốn ước lượng được đưa ra kỳ vọng cho phần thưởng tích lũy dài hạn. Từ các hàm giá trị, ta xây dựng được những đánh giá nhất định về hệ thống, từ đó cập nhật các tham số liên quan.
Hình 19. Minh họa thuật tốn Actor – Critic
Quá trình huấn luyện diễn ra, cả hai thành phần đề có xu hướng trở nên tốt hơn chính nó ban đầu và đồng thời bổ trợ tương tác lẫn nhau và khiến cho kiến trúc tổng thể Actor – Critic hiệu quả hơn khi sử dụng tách biệt từng phần.
3.2.3.6 Thuật toán Deep Deterministic Policy Gradient
DDPG là phương pháp học tăng cường thuộc nhóm off – policy, học online và khơng phụ thuộc vào mơ hình (Model – Free). Cấu tạo bên trong thuật toán DDPG dựa trên kiến trúc mạng Actor – Critic và DDPG cũng kế thừa những ý tưởng về Experience Relay và Separate Target của DQN.
Ở DDPG, thay vì phải lượng tử hóa khơng gian hành động liên tục thành tập các hành động rời rạc rồi tính giá trị Q cho tất cả để chọn ra giá trị Q lớn nhất, đầu ra mạng Actor của DDPG trực tiếp đi ước lượng một số thực trong dải giá trị hành động liên tục (hay dải tín hiệu điều khiển) của bài tốn. Để làm được điều đó, DDPG mượn ý tưởng từ nhóm phương pháp dựa trên chính sách, trực tiếp thay đổi tham số 𝜃𝜇 của mạng Actor để tối ưu giá trị Q thông qua quy tắc chuỗi.
Cách xây dựng hành động như trên gọi là Deterministic Actor (hay Deterministic Policy), nghĩa là tại một trạng thái s chỉ thực hiện chính xác một hành động cụ thể. Ở DQN, 𝑎 = 𝑎𝑖 ∈ 𝐴 còn với DDPG 𝑎 = 𝜇𝜃𝜇(s). Cách gọi này
được dùng để để phân biệt với Stochastic Actor (Stochastic Policy). Vì ở Stochastic Actor, việc lựa chọn hành động a tại trạng thái s tuân theo hàm phân phối xác suất
𝑝(𝑎|𝑠) với điều kiện 0 < 𝑝(𝑎|𝑠) < 1. Với Deterministic Actor, xác suất này
luôn là 𝑝(𝑎|𝑠) = 1
Hình 20. Minh họa thuật tốn DDPG
Thuật tốn DDPG kế thừa các kỹ thuật huấn luyện Experience Replay và Separate Target Network từ thuật toán DQN. Tuy nhiên, ở kỹ thuật Separate Target Network, thuật toán DDPG duy trì đồng thời 4 hàm xấp xỉ tương ứng với 4 mạng neuron trong quá trình huấn luyện thuật tuán:
Mạng Actor: 𝜇(𝑠) với tham số mơ hình 𝜃𝜇.
Mạng Actor mục tiêu: 𝜇′(𝑠) với tham số mơ hình 𝜃𝜇′.
Mạng Critic: 𝑄(𝑠, 𝑎) với tham số mơ hình 𝜃𝑄.
Mạng Critic mục tiêu: 𝑄′(𝑠, 𝑎) với tham số mơ hình 𝜃𝑄′.
Hai mạng Actor và mạng Actor mục tiêu có cùng cấu trúc và tham số mơ hình 𝜃𝜇 = 𝜃𝜇′. Tương tự cho hai mạng còn lại 𝜃𝑄 = 𝜃𝑄′. Khi q trình huấn luyện kết thúc, chính sách tối ưu được lưu tại mạng Actor 𝜇(𝑠).
Ngồi ra, việc khám phá mơi trường trong khơng gian hành động liên tục là một thách thức lớn. Do không thể dùng hệ số khám phá ɛ như các thuật toán đã làm ở phạm vi không gian hành động gián đoạn vì ở phạm vi khơng gian hành động liên tục, việc đánh giá 𝑎 = arg 𝑚𝑎𝑥 𝑄(𝑠, 𝑎) trên hành động liên tục là bất khả thi. Giải pháp của DDPG cho vấn đề này là thêm nhiễu vào hành động gốc, gọi là “Action Space Noise”.
Trong đó, N là tham số nhiễu được thiết lập trong quá trình huấn luyện mạng. Quy trình huấn luyện thuật tốn được thực hiện theo những bước sau đây:
Cập nhật tham số mạng mục tiêu:
θQ′ = τθQ + (1 − τ) θQ′ θμ′ = τθ𝜇 + (1 − τ) θ𝜇′
3.2.3.7 Thuật toán Soft Actor-Critic
SAC là phương pháp học off-policy khơng phụ thuộc mơ hình. Thuật tốn SAC là sự kết hợp ba điều cốt lõi: kiến trúc Actor – Critic với sự tách riêng giữa policy và value function, một công thức off-policy cho phép sử dụng lại dữ liệu đã thu thập trước đó để đạt hiệu quả và tối đa hóa entropy để cho ổn định và thăm dị. Nó tính tốn chính sách tối ưu để tối đa hóa cả phần thưởng dự kiến dài hạn và entropy của chính sách. Entropy chính sách là một thước đo về sự khơng chắc chắn của chính sách đối với trạng thái. Giá trị entropy cao hơn thúc đẩy nhiều khám phá hơn.
𝑖
- Khi bắt đầu:
Khởi tạo ngẫu nhiên tham số mơ hình 𝜃𝑄 cho mạng Critic 𝑄(𝑠, 𝑎) và
𝜃𝑄′ cho mạng Critic mục tiêu 𝑄′(𝑠, 𝑎) : 𝜃𝑄 = 𝜃𝑄𝘍 .
Khởi tạo ngẫu nhiên tham số mơ hình 𝜃𝜇 cho mạng Critic 𝜇(𝑠, 𝑎) và
𝜃𝜇′ cho mạng Critic mục tiêu 𝜇′(𝑠, 𝑎) : 𝜃𝜇 = 𝜃𝜇𝘍 .
Khởi tạo bộ nhớ chuyển tiếp lưu trữ kinh nghiệm Experience Buffer - Mỗi bước huấn luyện, DDPG Agent thực hiện những công việc liệt kê
dưới đây:
Sử dụng mạng Actor ước lượng giá trị hành động: 𝑎 = 𝜇(𝑠) + 𝑁
Thực thi hành động a, nhận phần thưởng R và trạng thái mới s'
Lưu trữ (𝑠𝑖, 𝑎𝑖 , 𝑅𝑖, 𝑠′) vào Experience Buffer
Lấy mẫu theo mẻ M mẫu (𝑠, 𝑎, 𝑅, 𝑠′) trong Experience Buffer
Tính tốn giá trị đích:
yi = Ri + γ(1 − d)Q(s′, μ′(s′)) i i
Cập nhật tham số mạng Critic bằng việc tối ưu hóa hàm mất mát trên toan bộ M mẫu được chọn:
M
1 2
J =
M ∑(yi − Q(si, ai)) i=1
Cập nhật tham số mạng Actor theo công thức Gradient sao cho tối đa hóa phần thưởng dài hạn:
Hình 21. Minh họa thuật tốn SAC
DDPG cũng là 1 dạng học off-policy theo cấu trúc actor-critic và cũng là một biến thể sâu của thuật toán policy gradient xác định sử dụng cơng cụ ước tính hàm Q để cho phép học off-policy và một deterministic actor tối đa hóa hàm Q này. Nhưng do sự tác động lẫn nhau giữa mạng deterministic và Q-function thường làm cho DDPG cực kỳ khó ổn định và dễ gãy đối với siêu tham số khi cài đặt. Vi vậy rất khó để sử dụng trong các tác vụ nhiều chiều và các phương pháp học on-policy policy gradient vẫn tạo được kết quả tốt trong trường hợp đó. Thay vào đó SAC kết hợp quá trình học off-policy actor-critic với stochastic actor để tối đa hóa entropy của actor này. Thuật tốn SAC ổn định hơn và hiệu quả hơn DDPG trong các tác vụ phức tạp.
Thuật toán SAC cũng kế thừa các kỹ thuật huấn luyện Experience Replay và Separate Target Network từ thuật tốn DQN như DDPG. Để ước tính các giá trị của chính sách và hàm giá trị , SAC dùng các xấp xỉ hàm nhờ các mạng noron sâu:
-Stochastic actor π(A|S;θ): mạng actor với tham số θ, đưa ra độ lệch chuẩn trung bình của xác suất Gauss có điều kiện thực hiện mỗi hành động liên tục A khi ở trạng thái S.
-1 hoặc 2 Q-value critics Qk(S,A;ϕk): mạng critic có tham số ϕk, lấy quan sát S và hành động A làm đầu vào và trả về kỳ vọng tương ứng của hàm giá trị, bao gồm cả phần thưởng dài hạn và entropy.
- 1 hoặc 2 Target critics Qtk(S,A;ϕtk): mạng critic mục tiêu để cải thiện tính ổn định của việc tối ưu hóa, tác nhân định kỳ đặt các thơng số của target critics ϕtk theo những giá trị thông số phản hồi mới nhất của mạng critic.
Thuật toán chi tiết:
tạo mỗi target critic với các giá trị tham số ngẫu nhiên giống nhau: ϕtk = ϕk 2) Khởi tạo actor π (S; θ) với các giá trị tham số ngẫu nhiên θ.
3) Thực hiện khởi đầu bằng cách thực hiện một chuỗi các hành động tuân theo chính sách ngẫu nhiên ban đầu trong π (S). Đối với mỗi hành động, lưu trữ kinh nghiệm trong bộ đệm
Chi tiết trong 1 training time step:
+ Đối với quan sát hiện tại S, chọn hành động A bằng cách sử dụng chính sách π (S; θ).
+ Thực hiện hành động A. Quan sát phần thưởng R và quan sát tiếp theo S '. + Lưu trữ kinh nghiệm (S, A, R, S ') trong bộ đệm Experience Buffer. + Lấy hàng loạt mẫu nhỏ kinh nghiệm (Si,Ai,Ri,S’i) một cách ngẫu nhiên từ bộ đệm Experience Buffer
+ Cập nhật các thông số của từng mạng critic bằng cách tối thiểu hóa tổn thất Lk trên tất cả các kinh nghiệm được lấy mẫu.
Nếu S'i là trạng thái cuối, giá trị hàm mục tiêu bằng phần thưởng kinh nghiệm Ri. Nếu khơng, nó sẽ là tổng Ri, phần thưởng suy giảm tối thiểu trong tương lai từ critic và entropy có trọng số
Ở đây:
+ * A'i là hành động có giới hạn bắt nguồn từ đầu ra không giới hạn của actor π(S'i) * γ là hệ số suy giảm
* −α ln π (S; θ) là entropy chính sách có trọng số cho đầu ra giới hạn của actor khi ở trạng thái S. α là trọng số entropy mất đi
+ Cập nhật tham số entropy nhờ tối thiểu hàm mất mát :
H là entropy mục tiêu
+ Cập nhật tham số mạng critic mục tiêu:
ϕtk = τϕk+ (1 − τ) ϕtk
3.3 Thiết kế bộ điều khiển vịng ngồi
3.3.1 Nhiệm vụ và mục tiêu:
Bộ điều khiển vòng vịng ngồi có nhiệm vụ tạo năng lượng để con lắc dao động swing up nó lên vị trí cân bằng ở trên đồng thời nó cũng tối thiểu hóa sai lệch của các biến ra cần điều khiển, (đặc biệt là góc của con lắc) so với giá trị đặt của chúng hay nói cách khác là” kéo con lắc lên càng gần vị trí thẳng đứng ở trên và giữ nó ở lân cận đó”. Và nó cũng đưa ra giá trị đặt của góc con lắc cho bộ điều khiển vòng trong .Vùng lân cận quanh vị trí cân bằng được sử dụng trong mơ phỏng này là 180 30 độ. Ở trong mơ phỏng sử dụng thêm một tín hiệu logic gọi là “select-mode”
“select-mode” 1, 0, ref ref swing up , 6 , 6 ref swing up
Do quá trình swing-up con lắc lên vị trí cân bằng trên là q trình có sự phi tuyến lớn, góc đặt của con lắc cũng thay đổi liên tục nên để đạt được mục đích tối thiểu sai số nên khơng thể sử dụng một cơng thức cụ thể nào đó mà cần sử dụng thuật toán học tăng cường mới có thể xử lý.
Hình 22 Cấu trúc bộ điều khiển vịng ngồi:
3.3.2 Thiết kế môi trường và trạng thái
Môi trường được tạo từ mơ hình simscape của con lắc ngược quay trong phịng thí nghiệm với thơng số được lấy từ trong chương 2.
Ở mỗi bước của một tập, trạng thái của môi trường sẽ được gửi về tác nhân.
Sau khi cân nhắc, nhóm chúng em lựa chọn trạng thái gồm 6 bộ:
〈sin 𝛼, cos 𝛼, 𝛼̇, sin 𝜃, cos 𝜃̇, . 〉
Nhóm lựa chọn các hàm lượng giác của góc α thay vì góc α trong trạng thái vì các giá trị góc trong mơ phỏng khơng bị giới hạn trong miền có độ dài 2π. Bên cạnh đó, sử dụng các hàm lượng giác của α không chỉ xác định độ lớn mà cịn xác định dấu của góc α, từ đó thể hiện đầy đủ trạng thái cho q trình học của tác nhân. Ở vị trí ban đầu, các giá trị trạng thái lần lượt là:
Hình 23. Sơ đồ thuật tốn học tăng cường trong Simulink 3.3.3 Thiết kế cấu trúc và tham số của SAC Agent 3.3.3 Thiết kế cấu trúc và tham số của SAC Agent
Tác nhân SAC được xây dựng với hai mạng neuron là mạng Critic và mạng Actor với tham số độc lập. Trong đó:
- Mạng Critic được xây dựng với cấu trúc hai đầu vào và một đầu ra. Đầu vào là trạng thái (6 unit ứng với 6 trạng thái quan sát) và hành động (1 unit), đầu ra là giá trị Q ước lượng. Mạng gồm 8 lớp ẩn bao gồm: 2 lớp feature input layer, 4 lớp fully connected layer và 2 lớp relu layer. Lớp feature input layer lần lượt có có 5 và 1 units. 3 lớp fully connected layer đầu tiên lần lượt có 400, 300, 300 và lớp cuối cùng có 1 units ở đầu ra. Hàm kích hoạt Relu được sử dụng cho tồn bộ các lớp của mạng Critic. Hệ số học của mạng Critic là 0.001
- Mạng Actor được xây dựng với cấu trúc một đầu vào và một đầu ra. Đầu vào là trạng thái và hành động, đầu ra là giá trị Q ước lượng. Mạng gồm 8 lớp ẩn bao gồm: 1 lớp feature input layer, 5 lớp fully connected layer ,3 lớp relu layer và 1 lớp concatenation layer ở đầu ra. Lớp feature input layer có 5, 3 lớp fully connected layer lần lượt có 400, 300, 300 units, 2 lớp cuối cùng ở gần đầu ra lần lượt đều có 1 unit. Hàm kích hoạt Relu được sử dụng cho toàn bộ các lớp của mạng Critic. Hệ số học của mạng Actor là 0.001
Hình 25. Cấu trúc mạng Actor
Từ mạng Critic và Actor, SAC Agent được tạo với các tham số sau:
Bảng 2.Bảng tham số SAC Agent
Tham số Giá trị Target Smooth Factor 0.001 Mini Batch Size 128 Experience Buffer 1000000 Sample Time 0.02 Discount Factor 0.99 Phương sai mơ hình nhiễu 0.4 Tốc độ suy giảm phương sai 0.00001
3.3.4 Hàm Reward và các tham số huấn luyện
Quá trình học của tác nhân được mơ phỏng thành từng tập, mỗi tập bao gồm các bước lặp. Ở mỗi bước lặp, môi trường sẽ gửi về tác nhân điểm thưởng 𝑟𝑡 được xác định như sau: 2 . 2 0.1( )2 0.1 100, 6 2 0, r F and F otherwise
Mỗi tập sẽ diễn ra đến khi có tín hiệu hủy bỏ (Góc quay θ và vận tốc quay của cánh tay động cơ quá giới hạn đã được định sẵn). Sau khi kết thúc một lần huấn luyện thuật tốn, tổng phần thưởng tích lũy từ trạng thái đầu tiên đến trạng thái cuối cùng. Quá trình huấn luyện thuật tốn kết thúc khi tổng phần thưởng tích lũy đạt tiêu chí dừng. Q trình huấn luyện thuật tốn SAC trong bài toán này được diễn ra với các tham số sau:
Bảng 3. Bảng tham số quá trình huấn luyện
Tham số Giá trị
Số tập tối đa 10000
Số bước lặp tối đa trong mỗi tập 500
Tiêu chí dừng Phần thưởng trung bình của 5 tập liên
tiếp lớn hơn hoặc bằng 7000
Tiêu chí hủy tập |𝜃𝑡| > 20 rad hoặc |𝜃̇𝑡| > 20 rad/s
3.4 Thiết kế và mô phỏng trên Matlab – Simulink
Sau khi thực hiện huấn luyện SAC Agent và so sánh với quá trình huấn luyện DDPG Agent trên Matlab với cùng mơ hình, nhóm thu được quá trình huấn luyện như sau:
Hình 26 Quá trình huấn luyện SAC Agent
Hình 27 Quá trình huấn luyện DDPG Agent
Nhận xét:
Thuật toán SAC mất hơn 120 episodes đầu tiên để khám phá mơi trường, cịn với DDPG là hơn 250 episodes.
Quá trình huấn luyện SAC ổn định hơn so với DDPG, hiệu suất huấn luyện SAC đã có xu hướng tăng và đạt được tiêu chí dừng sau 178 episodes, với