tek4

Natural Policy Gradient – Học Tăng Cường

by - September. 21, 2021
Kiến thức
<p style="text-align: justify;"><img class="aligncenter wp-image-6448 size-full" src="https://tek4.vn/wp-content/uploads/2020/11/a-11.jpg" alt="Natural-Policy-Gradient" width="1000" height="667" /></p> <p style="text-align: justify;">Ảnh chụp bởi <a href="https://unsplash.com/@josswoodhead">Joss Woodhead</a></p> <p style="text-align: justify;">Phương ph&aacute;p Policy Gradient, viết tắt l&agrave; PG, thường được d&ugrave;ng rất phổ biến trong Học tăng cường. PG l&agrave;m tăng khả năng thực hiện c&aacute;c h&agrave;nh động tạo ra phần thưởng tốt. Tuy nhi&ecirc;n, n&oacute; phải đối mặt với một số th&aacute;ch thức, bao gồm hiệu quả lấy mẫu k&eacute;m v&agrave; độ hội tụ k&eacute;m.</p> <ul style="text-align: justify;"> <li>Hiệu quả lấy mẫu đo số lượng mẫu cần thiết để cải thiện chiến thuật. Để m&ocirc; phỏng trong thế giới thực, việc lấy mẫu c&oacute; thể sẽ rất tốn k&eacute;m.</li> <li>Hội tụ l&agrave; việc liệu chiến thuật c&oacute; đạt tới điểm&nbsp;tối ưu hay kh&ocirc;ng.</li> </ul> <p style="text-align: justify;">Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ n&oacute;i về phương ph&aacute;p Natural Policy Gradient, gi&uacute;p việc hội tụ c&aacute;c tham số của m&ocirc; h&igrave;nh tốt hơn. N&oacute; loại bỏ được c&aacute;c h&agrave;nh động kh&ocirc;ng tốt, l&agrave;m hỏng hiệu suất của qu&aacute; tr&igrave;nh đ&agrave;o tạo.</p> <h1 style="text-align: justify;"><strong>Natural Policy Gradient</strong></h1> <p style="text-align: justify;">Natural Policy Gradient hoạt động dựa tr&ecirc;n thuật to&aacute;n Minorize-Maximization (MM) để tối ưu h&oacute;a chiến thuật với phần thưởng khấu hao tối đa. Trong h&igrave;nh b&ecirc;n dưới:</p> <ul style="text-align: justify;"> <li>&theta; sẽ tham số h&oacute;a m&ocirc; h&igrave;nh chiến thuật của ch&uacute;ng ta,</li> <li>&eta; l&agrave; h&agrave;m phần thưởng khấu hao</li> <li>&theta; * l&agrave; chiến thuật tối ưu cần t&igrave;m.</li> </ul> <p style="text-align: justify;"><img class="aligncenter wp-image-6444 size-full" src="https://tek4.vn/wp-content/uploads/2020/11/a-23.jpeg" alt="Natural-Policy-Gradient" width="770" height="182" /></p> <p style="text-align: justify;"><a href="https://drive.google.com/file/d/0BxXI_RttTZAhMVhsNk5VSXU0U3c/view">Nguồn</a></p> <p style="text-align: justify;">Đầu ti&ecirc;n, ch&uacute;ng ta sẽ bắt đầu với một chiến thuật ngẫu nhi&ecirc;n hoặc đ&atilde; được đ&agrave;o tạo để lấy l&agrave;m chiến thuật hiện tại.</p> <ol style="text-align: justify;"> <li>(H&igrave;nh b&ecirc;n tr&aacute;i ở tr&ecirc;n) Ch&uacute;ng ta thiết lập một giới hạn dưới M, được hiển thị bằng m&agrave;u xanh lam, cho h&agrave;m phần thưởng khấu hao &eta; v&agrave; n&oacute; t&iacute;nh xấp xỉ &eta; cục bộ với chiến thuật hiện tại (chấm đen).</li> <li>(H&igrave;nh giữa) Sau đ&oacute;, ch&uacute;ng ta tối ưu h&oacute;a M v&agrave; sử dụng chiến thuật&nbsp;đ&atilde; được tối ưu h&oacute;a l&agrave;m chiến thuật hiện tại.</li> <li>(H&igrave;nh b&ecirc;n phải) Ch&uacute;ng ta thiết lập lại giới hạn dưới mới M với chiến thuật hiện tại v&agrave; tối ưu h&oacute;a lại một lần nữa.</li> </ol> <p style="text-align: justify;">Những lần lặp lại n&agrave;y tiếp tục mỗi khi ch&uacute;ng ta tối ưu h&oacute;a một h&agrave;m giới hạn dưới cho đến l&uacute;c chiến thuật hiện tại đạt điểm hội tụ.</p> <p style="text-align: justify;">Ch&uacute;ng ta định nghĩa ph&eacute;p tối ưu h&oacute;a cho h&agrave;m giới hạn dưới l&agrave; ph&eacute;p tối ưu h&oacute;a cho v&ugrave;ng tin cậy (Trust Region Optimization).</p> <p style="text-align: justify;">[latexpage]\[maximize_{\pi_{\theta}}\;\;L_{\pi_{\theta'}(\pi_{\theta})}\]</p> <p style="text-align: justify;">với điều kiện [latexpage]$\left \| \triangle \theta \right \|_{F} &lt;\delta$</p> <p style="text-align: justify;">Ch&uacute;ng ta chỉ quan t&acirc;m đến việc t&igrave;m điểm tối ưu cho L trong v&ugrave;ng tin cậy (với&nbsp;[latexpage]$\triangle \theta$ trong khoảng [latexpage]$\delta$). C&aacute;c điểm nằm ngo&agrave;i v&ugrave;ng tin cậy c&oacute; thể c&oacute; phần thưởng c&oacute; gi&aacute; trị cao hơn nhưng ch&uacute;ng ta sẽ bỏ qua ch&uacute;ng v&igrave; ch&uacute;ng ta kh&ocirc;ng thể tin tưởng v&agrave;o độ ch&iacute;nh x&aacute;c của ch&uacute;ng.</p> <p style="text-align: justify;">Ch&uacute;ng ta sẽ tr&igrave;nh b&agrave;y h&agrave;m mục ti&ecirc;u chi tiết hơn như sau:</p> <p style="text-align: justify;">[latexpage]\[maximize_{\pi_{\theta}}\;\;L_{\pi_{\theta_{k}}(\pi_{\theta})}\]</p> <p style="text-align: justify;">với điều kiện [latexpage]$\left \| \triangle\theta \right \|_{F}&lt;\delta$ trong đ&oacute; [latexpage]$\left \| \triangle\theta \right \|_{F} = \left ( \triangle \theta ^{T}F\triangle \theta \right )^{1/2}$ v&agrave;&nbsp;[latexpage]$\triangle \theta=\theta-\theta _{k}$</p> <p style="text-align: justify;">Trong đ&oacute; L được định nghĩa như sau:</p> <p style="text-align: justify;">[latexpage]\[L_{\pi _{\theta _{k}}}(\pi _{\theta})= \widehat{E}_{t}\frac{\pi _{\theta (a_{n}|s_{n})}}{\pi _{\theta _{k}}(a_{n}|s_{n})}\widehat{A}_{n}\]</p> <p style="text-align: justify;">Ta sẽ chia nhỏ ph&eacute;p to&aacute;n b&ecirc;n tr&ecirc;n v&agrave; t&igrave;m hiểu từng phần trong n&oacute;</p> <p style="text-align: justify;">A(s, a) l&agrave; h&agrave;m lợi &iacute;ch, l&agrave; phần thưởng kỳ vọng trừ đi điểm tối thiểu, miễn l&agrave; điểm tối thiểu n&agrave;y kh&ocirc;ng phụ thuộc v&agrave;o c&aacute;c tham số của m&ocirc; h&igrave;nh, việc tối ưu h&oacute;a A cũng giống như tối ưu h&oacute;a phần thưởng kỳ vọng.</p> <p style="text-align: justify;">Ch&uacute;ng ta thường sử dụng h&agrave;m gi&aacute; trị V (s) l&agrave;m điểm cơ sở để giảm phương sai của ph&eacute;p t&iacute;nh. Do đ&oacute;, A c&oacute; thể được xem l&agrave; thước đo đ&aacute;nh gi&aacute; mức độ tốt của một h&agrave;nh động bất kỳ so với h&agrave;nh động ở mức trung b&igrave;nh.</p> <p style="text-align: justify;">Ch&uacute;ng ta x&acirc;y dựng ph&eacute;p t&iacute;nh phần thưởng bằng c&aacute;ch sử dụng phương ph&aacute;p Importance Sampling. tức l&agrave; tổng phần thưởng của một chiến thuật c&oacute; thể được t&iacute;nh theo tỷ lệ dựa tr&ecirc;n một chiến thuật kh&aacute;c.</p> <p style="text-align: justify;">[latexpage]\[L_{\pi _{\theta _{k}}}(\pi _{\theta})= \widehat{E}_{t}\frac{\pi _{\theta (a_{n}|s_{n})}}{\pi _{\theta _{k}}(a_{n}|s_{n})}\widehat{A}_{n}\]</p> <p style="text-align: justify;">Điểm mấu chốt l&agrave; L phản &aacute;nh tổng phần thưởng kỳ vọng cho mục đ&iacute;ch tối ưu h&oacute;a.</p> <p style="text-align: justify;">Ch&uacute;ng ta muốn tối ưu h&oacute;a L trong một v&ugrave;ng tin cậy, tức l&agrave; độ ch&ecirc;nh lệch ([latexpage]$\triangle \theta$) giữa chiến thuật hiện tại v&agrave; chiến thuật mới sẽ nằm trong khoảng c&aacute;ch cho ph&eacute;p [latexpage]$\delta$.</p> <p style="text-align: justify;">[latexpage]\[\left \| \triangle \theta \right \|_{F} &lt;\delta\]</p> <p style="text-align: justify;">trong đ&oacute; [latexpage]$\left \| \triangle \theta \right \|=\left ( \triangle \theta ^{T}F\triangle \theta \right )^{1/2}$</p> <p style="text-align: justify;">V&igrave; h&igrave;nh kh&ocirc;ng gian cho chiến thuật kh&ocirc;ng phải l&agrave; một mặt phẳng n&ecirc;n khoảng c&aacute;ch v&ugrave;ng tin cậy được đo bằng h&agrave;m Metric Tensor F ( l&agrave; một ma trận) thay v&igrave; d&ugrave;ng hệ đo khoảng c&aacute;ch Euclide (gi&aacute; trị khoảng c&aacute;ch b&igrave;nh phương).</p> <p style="text-align: justify;">[latexpage]\[\left \| \triangle \theta \right \|=\left ( \triangle \theta ^{T}F\triangle \theta \right )^{1/2}\]</p> <p style="text-align: justify;">Đối với h&igrave;nh kh&ocirc;ng gian phẳng, F chỉ l&agrave; một ma trận đơn vị:</p> <p style="text-align: justify;">[latexpage]\[\left ( \delta x\;\;\delta y \right )=\begin{pmatrix}1 &amp;0 \\ 0 &amp; 1\end{pmatrix}\begin{pmatrix}\delta x\\ \delta y\end{pmatrix}\]</p> <p style="text-align: justify;">N&oacute;i chung, F đo khoảng c&aacute;ch dọc theo một bề mặt cong (hoặc một bề mặt phẳng).</p> <p style="text-align: justify;">Trong phần sau ch&uacute;ng ta sẽ đi s&acirc;u hơn về ph&eacute;p đo F n&agrave;y.</p> <h2 style="text-align: justify;"><strong>V&ugrave;ng tin cậy (Trust Region)</strong></h2> <p style="text-align: justify;">H&atilde;y c&ugrave;ng t&igrave;m hiểu s&acirc;u hơn về l&yacute; do tại sao ch&uacute;ng ta cần v&ugrave;ng tin cậy trong việc tối ưu h&oacute;a mục ti&ecirc;u? Về cơ bản, L sẽ t&iacute;nh to&aacute;n xấp xỉ phần thưởng kỳ vọng nhưng độ ch&iacute;nh x&aacute;c của n&oacute; sẽ giảm khi chiến thuật hiện tại v&agrave; chiến thuật mới kh&aacute;c nhau nhiều. Về mặt l&yacute; thuyết, ch&uacute;ng ta c&oacute; thể t&iacute;nh to&aacute;n một v&ugrave;ng tin cậy m&agrave; điểm tối ưu trong v&ugrave;ng n&agrave;y sẽ lu&ocirc;n hoạt động tốt hơn so với chiến thuật hiện tại. Tuy nhi&ecirc;n, nếu n&oacute; nằm ngo&agrave;i khu vực n&agrave;y, sẽ xảy ra điều ngược lại. Do đ&oacute;, sự đảm bảo chắc chắn l&agrave; một trong những điểm quan trọng của Natural Policy Gradient. B&acirc;y giờ, ch&uacute;ng ta c&oacute; thể chắc chắn rằng sẽ kh&ocirc;ng thực hiện những h&agrave;nh động sai lầm. Tất cả c&aacute;c h&agrave;nh động sẽ cải thiện chiến thuật v&agrave; nếu c&oacute; đủ thời gian, ch&uacute;ng ta c&oacute; thể hội tụ &iacute;t nhất đến một điểm tối ưu cục bộ.</p> <p style="text-align: justify;">B&agrave;i b&aacute;o về TRPO tại <a href="https://arxiv.org/pdf/1502.05477.pdf">đ&acirc;y&nbsp;</a>đ&atilde; chứng minh bằng to&aacute;n học rằng v&ugrave;ng tin cậy đ&oacute; l&agrave; c&oacute; tồn tại v&agrave; c&oacute; thể được t&iacute;nh to&aacute;n (với một số giả định hợp l&yacute;). TRPO chứng minh rằng chiến thuật mới n&agrave;y sẽ được đảm bảo tốt hơn chiến thuật hiện tại cho đến khi n&oacute; đạt được mức tối ưu cục bộ. Trong thực tế,&nbsp;[latexpage]$\delta$ được t&iacute;nh to&aacute;n thấp hơn so với thực tế, v&agrave; do đ&oacute;, ch&uacute;ng ta sẽ coi n&oacute; như một si&ecirc;u tham số để ch&uacute;ng ta c&oacute; thể điều chỉnh sau.</p> <p style="text-align: justify;">Việc t&igrave;m ra chiến thuật tối ưu trong v&ugrave;ng tin cậy sẽ đảm bảo kết quả hoạt động sẽ tốt hơn chiến thuật hiện tại trừ khi ch&uacute;ng ta đạt được điểm tối ưu cục bộ.</p> <h2 style="text-align: justify;"><strong>Giải ph&aacute;p tối ưu h&oacute;a</strong></h2> <p style="text-align: justify;">Trong b&agrave;i b&aacute;o về TRPO, r&agrave;ng buộc trong vấn đề tối ưu h&oacute;a của ch&uacute;ng ta như sau:</p> <p style="text-align: justify;">[latexpage]\[maximize _{\pi _{\theta}} \;\;L_{\pi_{\theta'}}(\pi _{\theta})\]</p> <p style="text-align: justify;">Với điều kiện&nbsp;[latexpage]$\left \| \triangle \theta \right \|_{F} &lt; \delta $</p> <p style="text-align: justify;">C&oacute; thể được x&acirc;y dựng chi tiết hơn bằng c&aacute;ch sử dụng gi&aacute; trị trung b&igrave;nh của KL-divergence.</p> <p style="text-align: justify;">[latexpage]\[\pi _{k+1}=argmax _{\pi'}\;\; \mathcal{L}_{\pi _{k}}(\pi ')\]</p> <p style="text-align: justify;">[latexpage]\[s.t \; \overline{D}_{KL}(\pi '|| \pi _{k})\leq \delta\]</p> <p style="text-align: justify;">Trong đ&oacute; KL-Divergence được định nghĩa như sau:</p> <p style="text-align: justify;">[latexpage]\[D_{KL}(P||Q)=\sum _{x=1}^{N}P(x)log \frac{P(x)}{Q(x)}\]</p> <p style="text-align: justify;">KL-divergence đo lường độ ch&ecirc;nh lệch của hai chiến thuật. N&oacute; li&ecirc;n quan chặt chẽ đến h&agrave;m Metric Tensor F.</p> <p style="text-align: justify;">Để t&iacute;nh to&aacute;n xấp xỉ h&agrave;m mục ti&ecirc;u, ch&uacute;ng ta sử dụng chuỗi Taylor để triển khai h&agrave;m mục ti&ecirc;u 𝓛 v&agrave; &aacute;p dụng r&agrave;ng buộc cho KL-divergency kỳ vọng l&ecirc;n đến h&agrave;m bậc hai. Số hạng bậc hai của 𝓛 nhỏ hơn nhiều so với số hạng của KL-Divergence, tuy nhi&ecirc;n th&igrave; điều n&agrave;y sẽ cần kh&ocirc;ng cần quan t&acirc;m đến.</p> <p style="text-align: justify;">[latexpage]\[\mathcal{L}_{\theta _{k}}\approx g^{T}(\theta - \theta _{k})\]</p> <p style="text-align: justify;">[latexpage]\[\overline{D}_{KL}(\theta||\theta _{k})\approx \frac{1}{2}(\theta - \theta _{k})^{T} F(\theta - \theta _{k})\]</p> <p style="text-align: justify;">[latexpage]\[g\doteq \triangledown _{\theta}\mathcal{L}_{\theta _{k}}(\theta)| _{\theta _{k}}\]</p> <p style="text-align: justify;">[latexpage]\[F\doteq \triangledown _{\theta}^{2}\overline{D}_{KL}(\theta||\theta _{k})|_{\theta _{k}}\]</p> <p style="text-align: justify;">Trong đ&oacute; g l&agrave; Policy Gradient (Gradient của phần thưởng - giống như c&aacute;c phương ph&aacute;p Policy Gradient) v&agrave; F l&agrave; h&agrave;m Metric Tensor được đề cập trước đ&oacute;, được t&iacute;nh l&agrave; đạo h&agrave;m cấp hai của KL-divergence kỳ vọng giữa chiến thuật hiện tại v&agrave; chiến thuật mới. ph&eacute;p đo F đo độ nhạy của chiến thuật so với tham số m&ocirc; h&igrave;nh &theta;.</p> <p style="text-align: justify;">[latexpage]\[F=\triangledown _{\theta}^{2}\overline{D}_{KL}(\theta|\theta)|_{\theta_{k}}\]</p> <p style="text-align: justify;">[latexpage]\[D_{KL}(P||Q)=\sum_{x=1}^{N}P(x)log \frac{P(x)}{Q(x)}\]</p> <p style="text-align: justify;">Sau tất cả c&aacute;c ph&eacute;p to&aacute;n đ&atilde; đưa ra, h&agrave;m mục ti&ecirc;u của ta c&oacute; thể được t&iacute;nh xấp xỉ như sau:</p> <p style="text-align: justify;">[latexpage]\[\theta _{k+1}=argmax_{\theta}\;\;g^{T}(\theta - \theta _{k})\]</p> <p style="text-align: justify;">[latexpage]\[s.t \;\; \frac{1}{2}(\theta - \theta_{k})^{T}F(\theta - \theta _{k})\leq \delta\]</p> <p style="text-align: justify;">Độ ch&ecirc;nh lệch phần thưởng giữa hai chiến thuật được t&iacute;nh xấp xỉ bởi Policy Gradient g. Để n&oacute; c&oacute; thể đủ độ ch&iacute;nh x&aacute;c để đảm bảo cho một chiến thuật tốt hơn, độ ch&ecirc;nh lệch giữa chiến thuật mới v&agrave; chiến thuật hiện tại kh&ocirc;ng được lớn hơn [latexpage]$\delta$.</p> <p style="text-align: justify;">H&agrave;m mục ti&ecirc;u n&agrave;y c&oacute; thể được giải như sau:</p> <p style="text-align: justify;">[latexpage]\[\theta_{k+1}=\theta _{k}+\sqrt{\frac{2\delta}{g^{T}F^{-1}g}}F^{-1}g\]</p> <p style="text-align: justify;">Ch&uacute;ng ta sẽ viết lại c&ocirc;ng thức như sau:</p> <p style="text-align: justify;">[latexpage]\[\triangle \theta =\frac{1}{\beta}F^{-1}g\]<br />trong đ&oacute; [latexpage]$g = \triangledown _{\theta}L$ v&agrave; &beta; phụ thuộc v&agrave;o &delta;, F v&agrave; g.</p> <p style="text-align: justify;">Hệ số [latexpage]$\frac{1}{\beta}F^{-1}g$ ch&iacute;nh l&agrave; Natural Policy Gradient</p> <p style="text-align: justify;">Policy Gradient n&agrave;y sẽ đưa ch&uacute;ng ta đến chiến thuật tiếp theo, v&agrave; đảm bảo tốt hơn chiến thuật hiện tại. Sử dụng n&oacute; l&agrave;m thuật to&aacute;n tối ưu h&oacute;a v&ograve;ng lặp b&ecirc;n trong cho thuật to&aacute;n MM, v&agrave; cuối c&ugrave;ng ch&uacute;ng ta c&oacute; thể t&igrave;m ra chiến thuật tối ưu!</p> <p style="text-align: justify;"><img class="aligncenter wp-image-6445 size-full" src="https://tek4.vn/wp-content/uploads/2020/11/a-24.png" alt="Natural-Policy-Gradient" width="770" height="396" /></p> <p style="text-align: justify;"><a href="http://rail.eecs.berkeley.edu/deeprlcourse-fa17/f17docs/lecture_13_advanced_pg.pdf">Nguồn</a></p> <p style="text-align: justify;"><strong>Lưu &yacute;: F l&agrave; ma trận Hessian v&agrave; do đ&oacute; thường được viết dưới dạng H. Trong phần tiếp theo, ch&uacute;ng ta sẽ xem x&eacute;t F nhiều hơn.</strong></p> <h1 style="text-align: justify;"><strong>Ma trận th&ocirc;ng tin Fisher (FIM)</strong></h1> <p style="text-align: justify;">F l&agrave; ma trận th&ocirc;ng tin Fisher, một đạo h&agrave;m cấp hai của KL-Divergence.</p> <p style="text-align: justify;">[latexpage]\[F=\triangledown _{\theta}^{2}\overline{D}_{KL}(\theta||\theta)|_{\theta_{k}}\\D_{KL(P||Q)=\sum_{x=1}^{N}P(x)log\frac{P(x)}{Q(x)}\]</p> <p style="text-align: justify;">F hoạt động như một h&agrave;m t&iacute;nh khoảng c&aacute;ch, đo khoảng c&aacute;ch giữa hai điểm trong h&igrave;nh kh&ocirc;ng gian của chiến thuật. Đ&acirc;y l&agrave; ma trận tensor m&agrave; ta đ&atilde; đề cập trong phần v&ugrave;ng tin cậy (Trust Region).</p> <p style="text-align: justify;">[latexpage]\[\left \| \triangle _{\theta} \right \|_{F}\leq \delta \;\;where\;\;\left \| \triangle _{\theta} \right \|_{F}=\left ( \triangle \theta^{T}F\triangle \theta \right )^{1/2}\]</p> <p style="text-align: justify;"><strong>Ưu điểm của Natural Policy Gradient so với Policy Gradient l&agrave; g&igrave;?</strong></p> <p style="text-align: justify;">Ch&uacute;ng ta muốn giới hạn việc thay đổi trong chiến thuật nhưng l&agrave;m thế n&agrave;o ch&uacute;ng ta c&oacute; thể chuyển n&oacute; sang c&aacute;c tham số của m&ocirc; h&igrave;nh chiến thuật (lưu &yacute;: kh&ocirc;ng gian tham số kh&aacute;c với kh&ocirc;ng gian chiến thuật). Để một chiếc xe hơi quay th&ecirc;m 5&deg; th&igrave; ta phải bẻ tay l&aacute;i sang bao nhi&ecirc;u l&agrave; đủ? C&aacute;c m&ocirc; h&igrave;nh xe kh&aacute;c nhau th&igrave; c&aacute;c chiến thuật sẽ kh&aacute;c nhau. Vậy l&agrave;m thế n&agrave;o ch&uacute;ng ta c&oacute; thể hạn chế việc thay đổi trong chiến thuật đối với bất kỳ thiết kế m&ocirc; h&igrave;nh n&agrave;o?</p> <p style="text-align: justify;">Trước ti&ecirc;n, ch&uacute;ng ta sẽ c&ugrave;ng t&igrave;m hiểu một số kh&aacute;i niệm cơ bản. Ch&uacute;ng ta c&oacute; nhiều c&aacute;ch để biểu diễn một điểm, bao gồm việc sử dụng tọa độ Cartesian (x, y) hoặc tọa độ cực (r, &theta;). C&aacute;c gi&aacute; trị sau đ&acirc;y &aacute;nh xạ c&aacute;c gi&aacute; trị từ tọa độ cực sang tọa độ Cartesian.</p> <p style="text-align: justify;">[latexpage]\[x=rcos\theta\\y=rsin\theta\\\begin{pmatrix}x\\y\end{pmatrix}=A\begin{pmatrix}r\\\theta\end{pmatrix}\]</p> <p style="text-align: justify;">trong đ&oacute; A l&agrave; ma trận biến đổi một hệ tọa độ cực sang một hệ tọa độ kh&aacute;c, Cartesian. N&oacute; sẽ x&aacute;c minh xem hai điểm được biểu diễn ở hai tọa độ kh&aacute;c nhau c&oacute; giống nhau hay kh&ocirc;ng. V&iacute; dụ, bằng c&aacute;ch biến đổi (1.414, 45 &deg;) sử dụng ma trận A, ch&uacute;ng ta c&oacute; thể chứng minh rằng n&oacute; giống với (1.0, 1.0) trong tọa độ Cartesian. Trong c&aacute;c phương ph&aacute;p Policy Gradient, ch&uacute;ng ta sẽ tham số h&oacute;a m&ocirc; h&igrave;nh chiến thuật với &theta;. C&aacute;c tham số n&agrave;y tạo th&agrave;nh một &ldquo;hệ tọa độ&rdquo; trong việc biểu diễn chiến thuật.</p> <p style="text-align: justify;">C&aacute;c th&agrave;nh phần của vectơ l&agrave; kh&aacute;c nhau khi sử dụng c&aacute;c hệ tọa độ kh&aacute;c nhau. Nhưng ch&uacute;ng ta c&oacute; thể biến đổi từ hệ tọa độ n&agrave;y sang hệ tọa độ kh&aacute;c bằng c&aacute;ch sử dụng ma trận biến đổi A v&agrave; x&aacute;c định xem ch&uacute;ng c&oacute; giống nhau hay kh&ocirc;ng.</p> <p style="text-align: justify;">Trong kh&ocirc;ng gian Euclidian, h&igrave;nh kh&ocirc;ng gian l&agrave; mặt phẳng, khoảng c&aacute;ch giữa hai điểm c&oacute; thể được t&iacute;nh như sau:</p> <p style="text-align: justify;">[latexpage]\[d=\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}\\d=\sqrt{r_{1}^{2}+r_{2}^{2}-2r_{1}r_{2}cos(\theta_{1}-\theta_{2})}\]</p> <p style="text-align: justify;">C&aacute;c phương tr&igrave;nh n&agrave;y c&oacute; thể được tổng qu&aacute;t h&oacute;a để đo khoảng c&aacute;ch giữa 2 điểm, bao gồm cả h&igrave;nh kh&ocirc;ng gian kh&ocirc;ng phải l&agrave; mặt phẳng:</p> <p style="text-align: justify;">[latexpage]\[d=\triangle W^{T}G_{w}\triangle w\]</p> <p style="text-align: justify;">Trong đ&oacute; G l&agrave; h&agrave;m Metric Tensor v&agrave; &Delta;w l&agrave; độ ch&ecirc;nh lệch của hai vectơ. h&agrave;m Metric Tensor cho tọa độ Cartesian v&agrave; tọa độ cực l&agrave;:</p> <p style="text-align: justify;">[latexpage]\[\left ( \delta x\;\;\delta y \right )\begin{pmatrix}1 &amp;0 \\ 0 &amp;1 \end{pmatrix}\begin{pmatrix}\delta x\\ \delta y\end{pmatrix}\\\left ( \delta r\;\;\delta \theta \right )\begin{pmatrix}1 &amp;0 \\ 0 &amp;1 \end{pmatrix}\begin{pmatrix}\delta r\\ \delta \theta\end{pmatrix}\]</p> <p style="text-align: justify;">C&oacute; một c&aacute;ch kh&aacute;c để t&iacute;nh G bằng c&aacute;ch t&iacute;nh to&aacute;n khoảng c&aacute;ch d thay đổi so với c&aacute;c tham số của n&oacute; (x, y) hoặc (r, &theta;). Điều n&agrave;y sẽ phức tạp hơn v&agrave; kh&ocirc;ng r&otilde; r&agrave;ng nhưng n&oacute; c&oacute; thể được tổng qu&aacute;t h&oacute;a cho bất kỳ hệ tọa độ n&agrave;o. Ma trận th&ocirc;ng tin Fisher F l&agrave; một v&iacute; dụ của phương ph&aacute;p n&agrave;y.</p> <p style="text-align: justify;">F l&agrave; một ph&eacute;p t&iacute;nh xấp xỉ của h&agrave;m Metric Tensor G trong h&igrave;nh kh&ocirc;ng gian chiến thuật. N&oacute; đo độ nhạy của chiến thuật so với tham số m&ocirc; h&igrave;nh &theta;. N&oacute; t&iacute;nh to&aacute;n độ ch&ecirc;nh lệch về chiến thuật của hai điểm được biểu diễn trong h&igrave;nh kh&ocirc;ng gian tham số. Ngược lại, ma trận nghịch đảo của F &aacute;nh xạ độ ch&ecirc;nh lệch trong kh&ocirc;ng gian chiến thuật với kh&ocirc;ng gian tham số. V&igrave; thế,</p> <p style="text-align: justify;"><strong>Lưu &yacute;: Ma trận th&ocirc;ng tin Fisher &aacute;nh xạ giữa kh&ocirc;ng gian tham số v&agrave; kh&ocirc;ng gian chiến thuật.</strong></p> <p style="text-align: justify;">B&acirc;y giờ, ta sẽ quay lại c&acirc;u hỏi "tại sao Natural Policy Gradient lại tốt hơn Policy Gradient?". Gradient descent l&agrave; rất phổ biến trong học s&acirc;u v&igrave; n&oacute; c&oacute; độ phức tạp t&iacute;nh to&aacute;n rất thấp. V&agrave; n&oacute; kh&ocirc;ng cần thiết phải ch&iacute;nh x&aacute;c. Một khi ch&uacute;ng ta x&aacute;c định được độ dốc s&acirc;u nhất, ch&uacute;ng ta sẽ sử dụng tỷ lệ học để x&aacute;c định xem phải di chuyển như thế n&agrave;o. Nếu bước đi qu&aacute; nhỏ, ch&uacute;ng ta sẽ học qu&aacute; chậm. Nếu qu&aacute; lớn, chiến thuật mới c&oacute; thể thực hiện c&aacute;c h&agrave;nh động dẫn ch&uacute;ng ta chệch ra khỏi đường đi đ&uacute;ng hướng (ảnh b&ecirc;n tr&aacute;i b&ecirc;n dưới). Điều n&agrave;y đặc biệt l&agrave; rất sai lầm trong học tăng cường (RL) hơn l&agrave; trong học s&acirc;u. H&agrave;nh động sai lầm dẫn đến c&aacute;c trạng th&aacute;i sai lầm. Khi ch&uacute;ng ta tiếp tục thăm d&ograve;, ch&uacute;ng ta sẽ bắt đầu với một vị tr&iacute; kh&ocirc;ng tốt với chiến thuật kh&ocirc;ng tốt. V&agrave; điều n&agrave;y sẽ ph&aacute; hủy qu&aacute; tr&igrave;nh đ&agrave;o tạo của ch&uacute;ng ta v&agrave; l&agrave;m tổn hại đến sự hội tụ.</p> <p style="text-align: justify;"><img class="aligncenter wp-image-6446 size-full" src="https://tek4.vn/wp-content/uploads/2020/11/a-24.jpeg" alt="Natural-Policy-Gradient" width="770" height="227" /></p> <p style="text-align: justify;"><a href="http://www.taiwanoffthebeatentrack.com/2012/08/23/mount-hua-%E5%8D%8E%E5%B1%B1-the-most-dangerous-hike-in-the-world/">Nguồn</a></p> <p style="text-align: justify;">Để ngăn điều n&agrave;y, ch&uacute;ng ta sẽ &aacute;p dụng phương ph&aacute;p v&ugrave;ng tin cậy (Trust Region) để đảm bảo cho chiến thuật tốt hơn. Cũng giống như bức ảnh giữa ở tr&ecirc;n, c&aacute;c h&agrave;nh động mới sẽ kh&ocirc;ng bao giờ đưa ch&uacute;ng ta ra khỏi đường đi đ&uacute;ng hướng. Tuy nhi&ecirc;n, l&agrave;m thế n&agrave;o ch&uacute;ng ta c&oacute; thể chuyển đổi chiến thuật th&agrave;nh c&aacute;c tham số của m&ocirc; h&igrave;nh? L&agrave;m thế n&agrave;o ch&uacute;ng ta c&oacute; thể tr&aacute;nh việc tham số h&oacute;a m&ocirc; h&igrave;nh kh&aacute;c nhau g&acirc;y ra c&aacute;c h&agrave;nh động kh&aacute;c nhau (h&igrave;nh b&ecirc;n phải ở tr&ecirc;n)?</p> <p style="text-align: justify;">C&aacute;c thay đổi th&ocirc;ng số của Gradient Ascent phụ thuộc v&agrave;o tỷ lệ học, kh&ocirc;ng li&ecirc;n quan đến việc &aacute;nh xạ m&ocirc; h&igrave;nh với chiến thuật. Do đ&oacute;, n&oacute; tạo ra c&aacute;c thay đổi chiến thuật kh&aacute;c nhau cho c&aacute;c tham số kh&aacute;c nhau. Khi việc tham số h&oacute;a m&ocirc; h&igrave;nh của ch&uacute;ng ta l&agrave; một lựa chọn t&ugrave;y &yacute;, ch&uacute;ng ta sẽ cần một ph&eacute;p tối ưu h&oacute;a trở th&agrave;nh một m&ocirc; h&igrave;nh bất biến, tức l&agrave; giải ph&aacute;p sẽ đảm bảo được t&iacute;nh nhất qu&aacute;n với bất kỳ m&ocirc; h&igrave;nh n&agrave;o.</p> <p style="text-align: justify;"><strong>Lưu &yacute;: Natural Policy Gradient tạo ra sự thay đổi trong chiến thuật l&agrave; giống nhau bất kể việc tham số h&oacute;a m&ocirc; h&igrave;nh.</strong></p> <p style="text-align: justify;">[latexpage]\[\triangle \theta=\frac{1}{\beta}F^{-1}g\]</p> <p style="text-align: justify;">Nếu ma trận A &aacute;nh xạ c&aacute;c tham số giữa một m&ocirc; h&igrave;nh v với một m&ocirc; h&igrave;nh w (&delta;v &rarr; &delta;v) với:</p> <p style="text-align: justify;">[latexpage]\[\delta W=A^{T}\delta V\]</p> <p style="text-align: justify;">Th&igrave; thậm ch&iacute;, Natural Policy Gradients được t&iacute;nh to&aacute;n cũng sẽ l&agrave; kh&aacute;c nhau cho cả hai m&ocirc; h&igrave;nh</p> <p style="text-align: justify;">[latexpage]\[\triangle \theta _{w}=\frac{1}{\beta}F_{w}^{-1}g_{w}\\\triangle \theta _{v}=\frac{1}{\beta}F_{v}^{-1}g_{v}\]</p> <p style="text-align: justify;">Tuy nhi&ecirc;n th&igrave; ch&uacute;ng phải biểu diễn cho c&ugrave;ng một thực thể, tức l&agrave;</p> <p style="text-align: justify;">[latexpage]\[\triangle \theta _{w}=A^{T}\triangle \theta _{v}\]</p> <p style="text-align: justify;">Ma trận biến đổi A l&agrave; đạo h&agrave;m của một hệ tọa độ n&agrave;y so với hệ tọa độ kh&aacute;c được thể hiện trong c&ocirc;ng thức b&ecirc;n dưới đ&acirc;y:</p> <p style="text-align: justify;">[latexpage]\[\triangle \theta=\triangledown _{h}\theta^{T}\triangle h\]</p> <p style="text-align: justify;">Bằng chứng tr&ecirc;n chứng minh rằng Natural Policy Gradient c&oacute; t&iacute;nh tương quan. Trong thuật ngữ kỹ thuật, n&oacute; l&agrave; độc lập hệ cơ sở hay độc lập hệ tọa độ. C&aacute;c gi&aacute; trị th&agrave;nh phần l&agrave; kh&aacute;c nhau nhưng sau khi chuyển đổi, n&oacute; cho thấy rằng ch&uacute;ng biểu diễn cho c&ugrave;ng một thực thể. Nếu ch&uacute;ng ta thay thế F bằng hệ đo khoảng c&aacute;ch Euclide, giống như Policy Gradient th&ocirc;ng thường, c&aacute;c Gradient sẽ kh&ocirc;ng c&oacute; t&iacute;nh tương quan. Trong những trường hợp đ&oacute;, thay đổi tham số sẽ dẫn đến c&aacute;c thay đổi chiến thuật kh&aacute;c nhau trong c&aacute;c m&ocirc; h&igrave;nh kh&aacute;c nhau.</p> <p style="text-align: justify;"><strong>Lưu &yacute;: Natural Policy Gradient độc lập với tham số h&oacute;a m&ocirc; h&igrave;nh &theta;.</strong></p> <h1 style="text-align: justify;">Kết luận</h1> <p style="text-align: justify;">Natural Policy Gradient cải thiện qu&aacute; tr&igrave;nh đ&agrave;o tạo bằng c&aacute;ch đảm bảo tốt hơn cho c&aacute;c thay đổi chiến thuật. Nhưng Natural Policy Gradient l&agrave; một phương ph&aacute;p tối ưu h&oacute;a bậc hai, do đ&oacute; điều n&agrave;y l&agrave; rất tốn k&eacute;m. Trong b&agrave;i tiếp theo, ch&uacute;ng ta sẽ kiểm tra c&aacute;ch m&agrave; phương ph&aacute;p ACKTR v&agrave; PPO c&oacute; thể &aacute;p dụng kh&aacute;i niệm Natural Policy Gradient với độ phức tạp gần với phương ph&aacute;p tối ưu h&oacute;a bậc nhất, giống như Gradient Descent.</p> <p style="text-align: justify;">Đến đ&acirc;y l&agrave; kết th&uacute;c của b&agrave;i, mọi người h&atilde;y theo d&otilde;i c&aacute;c b&agrave;i trong series về Học tăng cường nh&eacute;!</p> <p style="text-align: justify;">P/s: Mong mọi người lu&ocirc;n ủng hộ <a href="../../../">tek4</a> nh&eacute;!</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>