Chương 1: Tổng quan về khóa luận tốt nghiệp. s Chương 2: Trình bày những kiến thức cơ bản liên quan tới khóa luận, bao gồm bài toán Reinforcement Learning, các phương pháp tính toán tiến hóa. Trình bày các thuật toán, công trình nghiên cứu liên quan trước đó về bài toán tối ưu hóa chính sách. s Chương 3: Những thuật toán cải tiến của chúng tôi, bao gồm CEM-P3S-TD3 và CEM-DA-TD3.
s Chương 4: Kết quả thực nghiệm của các thuật toán, bao gồm cài đặt thông số, phương thức đánh giá, kết quả thực nghiệm và so sánh với các thuật toán khác. © Chương 5: Tổng kết khóa luận tốt nghiệp cũng như những hướng phát triển cho tương lai. Chương 2 Kiến thức cơ bản 2.1 Các thành phan cơ bản trong RL Thành phan cốt lõi của Reinforcement Learning chính là agent (tác tử) và environment (môi trường). Environment chính là thế giới ma agent tồn tại và tương tác với nó.
Mỗi khi agent tương tác, agent sẽ nhận được một state (trạng thái) của environment, từ đó quyết định sẽ thực hiện action (hành động) gì tiếp theo. Environment sẽ thay đổi khi mà agent thực hiện action. Ta có các định nghĩa sau: © State: là vị trí, trạng thái của agent trong environment. Trong environment, tác tử có thể có nhiều vị trí và trạng thái khác nhau.
Ví dụ như trong môi trường cờ vua, vị trí của những quân cờ tại một thời điểm chính là một state. State tại thời điểm t thường được kí hiệu là sự. *_ Action: agent tương tác với môi trường và chuyển từ state này sang một state khác sau khi agent thực hiện một action. Action thực hiện tại thời điểm t, với state s; thường được kí hiệu là a;.
¢ Reward: agent tương tác với môi trường bằng cách thực hiện một action và sau đó môi trường chuyển sang state mới. Dựa vào action đó, agent sẽ 7 Chương 2. Kiến thức cơ bản nhận được reward tương ứng. Reward là một giá trị thể hiện action đó là tốt hay không tốt.
Reward ma agent nhận được sau khi thực hiện hành động a; thường được kí hiệu là r;. ® Policy: là chiến thuật của agent trong môi trường. Policy sẽ đưa ra hành động phù hợp cho agent trong từng state. Policy thường được kí hiệu là 7r.
Trajectory: là một chuỗi + = (80, 40,10, 81, --/ St, 4t, Tt, $141,-) chứa những thông tin của agent tir state khởi đầu tới khi kết thúc. ¢ Return: Tổng phần thưởng mà agent nhận được trong một Trajectory là R(t) = Mạ yr, trong đó + € (0,1] là discount factor [4].1 Deterministic policy va stochastic policy Trong Reinforcement Learning, có hai loại policy: deterministic policy va stochas- tic policy. ¢ Deterministic policy: thường được kí hiệu là 7r(s), hàm số này nhận vào một trạng thái và output là một hành động cụ thể. Loại policy này được sử dụng trong các thuật toán như Deep Deterministic Policy Gradient [7] hay Twin Delayed Deep Deterministic Policy Gradient [1].
© Stochastic policy: thường được kí hiệu là 7(z|s), hàm số này trả về phân phối hành động dựa trên trạng thái. Loại policy này được sử dụng trong thuật toán như Soft Actor-Critic [2].2 Bài toán Reinforcement Learning Mục tiêu của bài toán Reinforcement Learning là tìm được policy để khi agent thực hiện theo policy đó sẽ tối đa hóa được tổng phần thưởng kì vọng. Kiến thức cơ bản 7 = argmaxJ (7) = argmax E_ [R(z)] x „TY 2. Các hàm giá trị Ta còn có hai định nghĩa quan trọng: State value function (hàm giá trị trạng thái) và State-action value function (hàm giá trị hành động-trạng thái).
¢ State value funtion: hàm nhận vào một state vector và output ra expected return nếu như agent khởi đầu từ state đó và luôn thực hiện theo policy 7 7L ae V*(s) = ,E [R()|so = 5] ¢ State-action value function: hay còn gọi là Q-function, hàm nhận vào một action và một state, output của hàm là expected return néu như agent khởi đầu từ state đó và thực hiện action đó, cách hành động sau luôn thực hiện theo policy 7r QTM(s,a) = EB [R(t)|so — s,no = a] 2.2 Các phương pháp tiếp cận Để giải quyết bài toán RL, ta có các cách tiếp cận sau: 2.1 Phương pháp Value-based Với phương pháp value-based, ta tìm policy tối ưu từ Q-function tối ưu, điều đó có nghĩa là ta sẽ tính toán tat cả giá trị của Q-function (tính giá trị Q-function với từng cặp state-action). Ta sẽ tìm ra chiến thuật tối ưu bằng cách chọn ra action có giá trị Q-function là lớn nhất tại state đó. Ví dụ với một môi trường gồm có hai 9 Chương 2. Kiến thức cơ bản trạng thái là s„ và s va agent chỉ được thực hiện hai hành động là x hoặc y.
Sau khi tính được toàn bộ giá trị của Q function với từng cặp state-action, ta sẽ thiết kế chiến thuật cho agent đó là thực hiện hành động x tại state s„ và thực hiện hành độngy tại state sụ. $ x 7 Ss y 5 Sp x 4 Sp ¥: 8 HINH 2.1: Vi du minh hoa Khi không gian trạng thái va không gian hành động lớn hơn, việc tính toán được toàn bộ giá trị của Q-function sẽ khó khăn hơn. Đây là hai cách tiếp cận để giải quyết van dé đó: * Monte Carlo prediction: với phương pháp này, ta sắp xỉ Q-funtion bằng cách lây trung bình return của N trajectory thay vì lấy expected return. Và để sử dụng phương pháp này, ta cần phải cho agent chơi hết một trajectory.
® Temporal Difference: khác với Monte Carlo cần phải đợi tới hết một trajec- tory, phương pháp này sắp xỉ Q-function tại mỗi state và cập nhật giá trị của Q-function mỗi bước. Tuy nhiên, đối với những bài toán phức tạp hơn, không gian trạng thái và không, gian hành động lớn hơn nhiều, thì các phương pháp kia không còn hiệu quả vì tốn rất nhiều chỉ phí tính toán. Thay vì sắp xỉ Q-function bằng các phương pháp trên, ta có thể sử dụng đến mạng neural. Bằng cách tham số hóa Q-function bởi 10 Chương 2.
Kiến thức cơ bản tham số #, nhờ đó ta có thể tính được giá trị của Q-function với ¿ chính là tham số của mạng neural đó. Khi đó, với input là một state, mạng neural sẽ cho ta biết giá trị của tất cả hành động tại state đó. Và khi ta đã tìm được Q-function, ta thiết kế policy tối ưu bằng cách chọn hành động có giá trị Q-funtion là lớn nhất tai state đó. Ngoài ra, ta sử dụng Replay Buffer là chỗ để lưu những kinh nghiệm, là những transition tuple (s,a, r,s') khi agent tương tác với môi trường.
Những kinh nghiệm Q-value của. aoe méi action tai State 7 HINH 2.2: Minh họa về Q-network 2. Phương pháp Policy-based Phương pháp value-based có thể hoạt động tốt trong môi trường với không gian gian hành động là rời rạc. Tuy nhiên, với những bài toán mà không gian hành động là liên tục, phương pháp value-based không dễ để xử lý.
Thay vào đó, ta tiếp cận bằng phương pháp khác là policy-based. Với phương pháp này, ta không cần phải tính giá trị của Q-funtion để tìm ra chiến thuật tối ưu; thay vào đó ta sẽ tìm policy một cách trực tiếp. Đồng thời, ta cũng tham số hóa policy bằng tham số 6. Kiến thức cơ bản 2.
Policy Gradient theorem Trong phương pháp này, ta sử dung stochastic policy 79(a|s) với @ là tham số của mang neural policy. Ta sẽ tối ưu policy của agent bằng phương pháp gradient ascent: Ø8 =0+aVạ/7(7m) Ta sẽ phân tích Vo J (70): Xác suất xuất hiện của Trajectory: P(t\zt) = po(so) TIÊ*o P(st+1|s+, ar)70(a#ls+) Nhu vay: VoT (mt) = Vo | R(ŒPtrlmar = J vớt t|79)R(t)dt = (t| 79)——— VePt T114) P(t|79) R(t)ảc =ÍP (r|za)VạInP(z|s)R(x)ả+ = _E [VạlnP(r|za)R(e)] TT Ngoài ra ta có: H VolnP(t|79) = Velnpo(so) + ”[ValnP(s¿.1|s;„ø;) 3 + Valnzr¿(4i|s¿)] 1=0 it Valn7rạ(4i |s¡) 12 Chương 2. Kiến thức cơ bản Vậy: VoT (mt) = E(3 ® =0 Volnmo( asR (rt) 2.2 Deterministic Policy Gradient theorem [15] Trong phương pháp nay, ta sử dung deterministic policy 7rạ(s) = a làm policy cho agent. Đây có thể coi là một trường hợp đặc biệt của stochastic policy với phương sai là 0.
Tuy nhiên, có một điểm khác biệt giữa hai loại policy này. Trong trường hợp stochastic policy, hàm policy lấy tích phân trên cả state và action, trong khi đó với deterministic policy thì chỉ lấy tích phân trên state. Chính vì như thế, việc tính toán stochastic policy gradient sẽ cần nhiều sample hơn, đặc biệt khi không gian action có số chiều lớn. Tương tự phương pháp trên, ta sẽ tối ưu policy của agent bằng phương pháp gradient ascent: 0=0+aV;7(7) Hàm mục tiêu (76) = ,E [R(x)] =_E, [@"(s,za(s)| 0 s~p7 Lay tích phân: VoT (me) = Vo E.
Kiến thức cơ bản Như vậy: Vo (m0) = [ P”(s)V,O”"(s,a)Vams(s)|,~zu(sjf5 = xu [VaQ”°(s,a)Va7r¿(s)] Vậy: Vạ/Z7(mạ)= E_ [VaQ”°(s,a)Vạ7ra(s)] s~p70 2. Phương pháp Actor-Critic Ở phần trước, ta đã biết được rằng có thể tìm được policy tối ưu bằng hai cách: tối ưu policy trực tiếp bằng phương pháp policy-based hoặc tính giá trị của Q- function, từ đó agent sẽ chọn thực hiện action nào tại state đó để Q-funtion đạt giá trị tối đa. Actor-Critic là phương pháp kết hợp của của hai phương pháp trên nhằm tận dụng được các điểm mạnh của cả hai phương pháp. Nhóm thuật toán này gồm hai mạng là mạng Actor và mạng Critic.
Mạng Actor có vai trò tối ưu policy, cơ bản thì nó tương tụ như mạng policy và ta có thể tìm policy tối ưu bằng phương pháp policy gradient. Còn mạng Critic tương tự như mạng Q-network, có nhiệm vụ tính toán giá trị của Q-funtion để sử dụng cho việc update tham số của mạng Actor. Thuật toán chung của phương pháp Actor-Critic xem tại|Algorithm1 14 Chương 2. Kiến thức cơ bản Algorithm 1 Actor-Critic Khởi tạo s,0,p, a ~ 79(a|s) for = 1to T do Lay rar; ~ R(s,a) và state tiếp theo s” ~ P(s'|s,a) Va lay ra action tiếp theo a’ ~ 7t9(s’,a’) Cập nhật tham số của mang Actor: 6 — Ø + ạQ¿(s,a)Vạln7r(als) Tính giá trị hiệu chỉnh của Q-function: G¡ = r¡ + yQ(s⁄,a') — Q(®)(s,a) Cập nhật tham số của mang Critic: @ ÿ + apGrV pQo(s,4) Cập nhật a <a’! vas — s! end for 2.4 Thuật toán Twin Delayed Deep Deterministic Policy Gra- dient (TD3) TDS [1] là một thuật toán DRL thuộc nhóm Actor-Critic, trong đó gồm có ba mạng chính - hai mang Critic và một mang Actor, cùng với ba mang target - hai mang Critic target và một mạng Actor target: ¢ Hai mạng Critic chính với tham số là ¢ va 2 © Hai mang target Critic với tham số là j1 và j2 ¢ Một mạng Actor chính với tham số là Ø ® Một mạng target Actor với tham số là 6’ Bắt đầu thuật toán, ta khởi tạo tham số của hai mang Critic chính, #1 và $2, cùng với tham số của mang Actor chính là Ø bằng giá trị ngẫu nhiên.
Và ta khởi tạo tham số của các mạng target là copy từ các mạng chính.