Thuật toá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 tố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 toá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 toá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 toá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 tố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 quá 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à: