Chương 5: Học tăng cường dựa trên mô hình (Model-based Reinforcement Learning/ モデルベース強化学習)

Estimated reading: 103 minutes 23 views

Cho đến nay, chúng ta đã giới thiệu về các thuật toán học tập (Learning Algorithms/ 学習アルゴリズム) đối với hàm chính sách (Policy Function/ 方策関数) và hàm giá trị (Value Function/ 価値関数), vốn là những yếu tố cơ bản của học tăng cường (Reinforcement Learning/ 強化学習). Về bản chất, trong học tăng cường, chúng được phân loại rộng rãi vào học tăng cường phi mô hình (Model-free Reinforcement Learning/ モデルフリー強化学習), và một phương pháp luận đối lập đã được đề xuất là học tăng cường dựa trên mô hình (Model-based Reinforcement Learning/ モデルベース強化学習) [1]. Bản thân học tăng cường dựa trên mô hình đã xuất hiện về mặt khái niệm ở giai đoạn khá sớm sau khi học tăng cường được đề xuất, với Dyna-Q [2] là một ví dụ tiêu biểu, nhưng cho đến vài năm gần đây, xu hướng chủ đạo vẫn là học tăng cường phi mô hình, do đó nó chưa có những đóng góp quá nổi bật. Tuy nhiên, trong những năm gần đây, học tăng cường dựa trên mô hình đang thu hút được sự chú ý lớn nhờ nhiều yếu tố khác nhau, chẳng hạn như kỳ vọng vào hiệu suất học tập (Learning Efficiency/ 学習効率) cao hơn và khả năng cắt giảm những lần thử và sai (Trial and Error/ 試行錯誤) khổng lồ trong thế giới thực so với học tăng cường phi mô hình, sự cải thiện độ chính xác học tập (Learning Accuracy/ 学習精度) của mô hình nhờ tận dụng công nghệ học sâu (Deep Learning Technology/ 深層学習技術), sự mở rộng của đầu vào quan sát (Observation Input/ 観測入力) có thể xử lý, và sự phát triển trong cách sử dụng mô hình thu được. Vì vậy, trong chương này, tôi sẽ giới thiệu triết lý của nó thông qua các phương pháp học tăng cường dựa trên mô hình mới nhất.

5-1 Học Mô hình thế giới (World Model Learning/ 世界モデルの学習)

Trước tiên, trong học tăng cường dựa trên mô hình, tác nhân (Agent/ エージェント) sẽ học và nắm bắt một cách tường minh xác suất chuyển đổi trạng thái (State Transition Probability/ 状態遷移確率) dạng hộp đen $p_e(s_{t+1} | s_t, a_t)$ và hàm phần thưởng (Reward Function/ 報酬関数) $r(s_t, a_t, s_{t+1})$ mà môi trường sở hữu. Tức là, bằng cách cho phép mô phỏng hành vi của môi trường bên trong máy tính mà tác nhân không cần tương tác trực tiếp với môi trường, nó có thể mang lại sự cải thiện hiệu suất thông qua nhiều phương pháp ứng dụng khác nhau, chẳng hạn như từng bước xác nhận xem liệu nó có thể tiến gần đến tương lai mong muốn hay không và sửa đổi hành động [3, 4], gia tăng dữ liệu kinh nghiệm giả lập (Simulated Experience Data/ 擬似的な経験データ) $(s, a, s’, r)$ [5, 6], hoặc nâng cao độ chính xác ước lượng của lợi nhuận (Return/ 収益) hay hàm giá trị [7, 8]. Các phương pháp ứng dụng này sẽ được tóm tắt ở phần tiếp theo, còn trong phần này, trước tiên tôi sẽ giới thiệu về quy tắc học tập (Learning Rule/ 学習則) của trình mô phỏng (Simulator/ シミュレータ) tương đương với bản sao của môi trường, còn được gọi là Mô hình thế giới (World Model/ 世界モデル).

5-1-1 Học xác suất chuyển đổi trạng thái và hàm phần thưởng

Trước hết, trong số 3 yếu tố cấu thành Mô hình thế giới, chúng ta sẽ xem xét việc học 2 yếu tố có thể học tương đối đơn giản, đó là xác suất chuyển đổi trạng thái $p_e$ và hàm phần thưởng $r$ (Hình 5-1). Nếu môi trường là đối tượng học tập thỏa mãn Quá trình quyết định Markov (Markov Decision Process/ マルコフ決定過程), chúng sẽ tận dụng lợi thế là cả đầu vào (điều kiện của phân phối xác suất (Probability Distribution/ 確率分布)) và đầu ra đều có thể thu thập được thông qua việc tương tác với môi trường thực. Nói cách khác, bằng cách chuẩn bị một bộ nhớ đệm (Buffer/ バッファ) $\mathcal{D}$ lưu trữ dữ liệu kinh nghiệm $(s, a, s’, r)$, ta sẽ tối ưu hóa $p_e$ và $r$ (chính xác hơn là các tham số $\psi_e, \psi_r$ để xấp xỉ hàm (Function Approximation/ 関数近似) chúng) thông qua các bài toán cực tiểu hóa (Minimization Problem/ 最小化問題) sau.

$$\psi_e^* = \arg\min_{\psi_e} \mathbb{E}_{(s, a, s’) \sim \mathcal{D}} [-\ln p_e(s’ | s, a; \psi_e)] \quad (5.1)$$
$$\psi_r^* = \arg\min_{\psi_r} \mathbb{E}_{(s, a, s’, r) \sim \mathcal{D}} \left[ \frac{1}{2} (r – r(s, a, s’; \psi_r))^2 \right] \quad (5.2)$$

Hoặc, cũng có nhiều trường hợp lược bỏ trạng thái tiếp theo $s’$ (và có thể cả hành động $a$ tùy theo phương pháp) vốn dĩ cần thiết cho hàm phần thưởng, và tương ứng với điều đó, mô hình hóa hàm phần thưởng bằng phân phối xác suất $p_r(r | s, a)$. Trong trường hợp đó, các phân phối xác suất liên quan đến biến ngẫu nhiên (Random Variable/ 確率変数) $s’, r$ thu được từ môi trường có thể được tổng hợp thành $p_w(s’, r | s, a) = p_e(s’ | s, a) p_r(r | s, a)$, và việc tối ưu hóa nó cũng có thể đạt được một cách đồng thời cho $\psi_w = [\psi_e, \psi_r]$ bằng ước lượng hợp lý cực đại (Maximum Likelihood Estimation/ 最尤推定) sau đây.

$$\psi_w^* = \arg\min_{\psi_w} \mathbb{E}_{(s, a, s’, r) \sim \mathcal{D}} [-\ln p_w(s’, r | s, a; \psi_w)] \quad (5.3)$$

Nhân tiện, người ta biết rằng bài toán ước lượng hợp lý cực đại này tương đương với bài toán cực tiểu hóa Phân kỳ Kullback-Leibler (Kullback-Leibler Divergence/ Kullback-Leibler ダイバージェンス) dưới đây đối với phân phối xác suất mục tiêu (trong trường hợp này là xác suất chuyển đổi trạng thái thực và phân phối phần thưởng thực của môi trường).

Hình 5-1 Ví dụ về cấu trúc của Mô hình thế giới: Có thể xem xét các phương hướng biểu diễn và học xác suất chuyển đổi trạng thái và hàm phần thưởng một cách riêng biệt / đồng thời.

Môi trường thực (True Environment/ 真の環境)

Trạng thái (State/ 状態) + Hành động (Action/ 行動) $(s, a)$ -> Xác suất chuyển đổi trạng thái $p_e$ -> Trạng thái + Hành động + Trạng thái tiếp theo $(s, a, s’)$ -> Hàm phần thưởng $r$ -> $r$

Mô hình thế giới (World Model/ 世界モデル)

a) Học riêng biệt xác suất chuyển đổi trạng thái và hàm phần thưởng

Trạng thái + Hành động $(s, a)$ -> $\psi_e$ -> Xác suất chuyển đổi trạng thái $p_e$ (Trên thực tế sẽ xuất ra tham số phân phối (Distribution Parameter/ 分布パラメータ) (VD: trung bình và phương sai của phân phối chuẩn (Normal Distribution/ 正規分布)))

Trạng thái + Hành động + Trạng thái tiếp theo $(s, a, s’)$ -> $\psi_r$ -> Phần thưởng $r$

b) Học đồng thời xác suất chuyển đổi trạng thái và hàm phần thưởng

Trạng thái + Hành động $(s, a)$ -> $\psi_w$ -> Xác suất chuyển đổi trạng thái / Xác suất phần thưởng $(p_e, p_r)$

$$\psi_w^* = \arg\min_{\psi_w} \mathbb{E}_{s, a \in \mathcal{D}} [\text{KL}(p_w^* || p_w)]$$
$$= \arg\min_{\psi_w} \mathbb{E}_{s, a \in \mathcal{D}, s’, r \sim p_w^*} [-\ln p_w(s’, r | s, a; \psi_w)]$$
$$\simeq \arg\min_{\psi_w} \mathbb{E}_{(s, a, s’, r) \sim \mathcal{D}} [-\ln p_w(s’, r | s, a; \psi_w)] \quad (5.4)$$

Ở đây, việc loại bỏ $-\ln p_w^*(s’, r | s, a)$ từ dòng thứ 3 sang dòng thứ 4 là vì nó không liên quan đến đối tượng tối ưu hóa $\psi_w$. Về phép xấp xỉ cuối cùng, vốn dĩ nó là thứ có thể được gọi là giá trị kỳ vọng khi tuân theo môi trường thực dưới một trạng thái $s$ và hành động $a$ tùy ý, nhưng do đã sử dụng phép xấp xỉ Monte Carlo (Monte Carlo Approximation/ モンテカルロ近似) bằng bộ nhớ đệm $\mathcal{D}$ chứa dữ liệu kinh nghiệm thu thập được qua tương tác với môi trường thực. Kết quả là, bạn có thể thấy nó trùng khớp với bài toán ước lượng hợp lý cực đại ở công thức (5.3). Mối quan hệ này, từ sự trùng khớp với phân kỳ Kullback-Leibler, chỉ ra khả năng phát triển thành các bài toán cực tiểu hóa phân kỳ (Divergence/ ダイバージェンス) tùy ý, và đang được tận dụng trong việc phát triển hoặc hệ thống hóa nhiều công nghệ mới nhất [9, 10].

Hàm chính sách $\pi$ và hàm giá trị $Q, V$ là đối tượng học tập trong học tăng cường phi mô hình, do không tồn tại tín hiệu giáo viên trực tiếp của chúng, hoặc cần phải xấp xỉ, nên bắt buộc phải trải qua quá trình tối ưu hóa hơi vòng vèo như phương pháp TD (TD Method/ TD法) hay phương pháp đạo hàm chính sách (Policy Gradient Method/ 方策勾配法). Vì lý do đó, quá trình học tập dễ trở nên mất ổn định hơn, và đòi hỏi phải cập nhật từ từ tốn nhiều thời gian. Mặt khác, vì quá trình học tập nói trên đạt được thông qua ước lượng hợp lý cực đại đơn giản, tức là học có giám sát (Supervised Learning/ 教師あり学習), nên việc được cung cấp tín hiệu giáo viên trực tiếp cũng khiến nó tương đối dễ dàng. Tất nhiên, không phải ngay từ đầu $\mathcal{D}$ đã chứa toàn bộ dữ liệu kinh nghiệm cần thiết, mà rốt cuộc, việc cần sử dụng chính sách $\pi$ để thử và sai vẫn không thay đổi. Dù vậy, lý do nó có thể phát huy khả năng thích ứng (Adaptability/ 適応性) cao đối với $\mathcal{D}$ đã thu thập được chính là vì đây là học tăng cường dựa trên mô hình, giúp học trực tiếp (một phần của) Mô hình thế giới nêu trên, và nhờ đó nó được cho là có hiệu suất học tập cao.

5-1-2 Học biểu diễn (Representation Learning/ 表現学習)

Quá trình học xác suất chuyển đổi trạng thái và hàm phần thưởng đã đề cập trước đó lấy Quá trình quyết định Markov làm tiền đề (Premise/ 前提), nói cách khác, nó yêu cầu một trạng thái $s$ thích hợp phải có khả năng quan sát được. Tuy nhiên, khi xem xét một hệ thống trong thế giới thực, rất hiếm khi chúng ta có thể quan sát và chọn lọc được một cách thuận lợi chỉ mỗi $s$ cần thiết để thỏa mãn Quá trình quyết định Markov, mà trên thực tế, người ta thường thiết kế hệ thống sao cho thiết lập được Quá trình quyết định Markov mặc dù vẫn chứa thông tin không cần thiết, thông qua việc nhận một quan sát $o \in O (|S| \ll |O|)$ có số chiều cao (High-dimensional/ 高次元) chắc hẳn đã bao hàm cả $s$. Thậm chí, tùy trường hợp, ngay cả với $o$ có số chiều cao thì thông tin vẫn có thể bị thiếu hụt, đến mức hệ thống sẽ huy động toàn bộ các quan sát trong quá khứ để bổ sung thông tin sao cho Quá trình quyết định Markov được thành lập. Ví dụ, DQN [11], phương pháp đầu tiên xuất hiện dưới tư cách học tăng cường sâu, giải quyết tựa game video Atari, nhưng khi đó nó không trực tiếp quan sát thông tin trong game (In-game Information/ ゲーム内情報) của Atari (như tọa độ của quả bóng v.v.), mà thiết lập màn hình game làm $o$, đồng thời sử dụng cả hình ảnh của nhiều khung hình (Frame/ フレーム) trong quá khứ để nắm bắt những thay đổi động mà chỉ hình ảnh hiện tại thì không đủ.

Nếu là một phương pháp học tăng cường phi mô hình như DQN, mặc dù vẫn gặp phải vấn đề tương tự là nên tái sử dụng quan sát trong quá khứ ở mức độ nào, nhưng việc chiều quan sát (Observation Dimension/ 観測次元) trở nên cao hơn chiều trạng thái cần thiết ban đầu lại không phải là vấn đề quá lớn nếu sử dụng học sâu. Đó là bởi vì, mặc dù thông tin không cần thiết sẽ trở thành nhiễu (Noise/ ノイズ) làm giảm hiệu suất học tập đôi chút, nhưng bản thân việc trích xuất chỉ những thông tin cần thiết từ quan sát có chiều cao và học một hàm ánh xạ (Mapping Function/ 写像関数) dưới dạng chính sách hoặc hàm giá trị, có thể loại bỏ thông tin không cần thiết bằng cách gán trọng số (Weight/ 重み) của mạng tương ứng với chúng bằng 0, và thực tế là thông qua các bài toán nhận dạng vật thể (Object Recognition Task/ 物体認識課題) sử dụng học sâu, người ta đã biết rằng điều đó hoàn toàn có thể thực hiện được.

Mặt khác, trong học tăng cường dựa trên mô hình, quan sát có số chiều cao lại là mầm mống gây rắc rối. Trước hết, chừng nào trạng thái $s$ chưa được quan sát trực tiếp và lưu trữ trong bộ nhớ đệm $\mathcal{D}$, thì thay vì $s$, hệ thống sẽ học xác suất chuyển đổi của $o$ một cách đơn thuần, nhưng một phần của $o$ không liên quan đến $s$ vốn dĩ cần thiết lại là những nhiễu mà xác suất chuyển đổi của chúng không chắc đã tuân theo Quá trình quyết định Markov, do đó việc dự đoán chính xác (Accurate Prediction/ 正しい予測) là rất khó khăn. Hơn nữa, vì $|S| \ll |O|$, sai số dự đoán (Prediction Error/ 予測誤差) liên quan đến thông tin không cần thiết này sẽ trở nên chiếm ưu thế (Dominant/ 支配的) trong hàm mất mát muốn cực tiểu hóa, làm che khuất đi quá trình học xác suất chuyển đổi trạng thái của $s$ vốn là chủ đề chính. Và, cho dù có thể học chính xác xác suất chuyển đổi liên quan đến $o$ đi chăng nữa, thì việc dự đoán tương lai dựa trên nó cũng sẽ phát sinh chi phí tính toán (Computational Cost/ 計算コスト) thừa thãi tương ứng với số chiều cao, dẫn đến kết quả làm suy giảm tính thực tiễn một cách đáng kể.

Rốt cuộc, không thể làm ngơ việc $s \neq o$, và việc giả định $s = o$ để học xác suất chuyển đổi một cách đơn thuần là không thực tế. Do đó, trong Mô hình thế giới, người ta đưa vào một quy trình (Process/ プロセス) trích xuất một cách tường minh $s$ từ $o$ (hoặc từ $o$ bao gồm cả lịch sử quá khứ của nó). Quá trình này được gọi là Học biểu diễn (Representation Learning) [12], và nó trở thành yếu tố thứ 1 cuối cùng cấu thành nên Mô hình thế giới. Trong phần này, tôi sẽ giới thiệu riêng biệt 2 kỹ thuật thường được sử dụng trong học biểu diễn dựa trên học sâu.

(a) Mạng nơ-ron hồi quy (Recurrent Neural Network/ リカレントニューラルネットワーク)

Quan sát $o_t$ tại thời điểm hiện tại không phải lúc nào cũng chứa toàn bộ thông tin cần thiết cho $s_t$, và trong nhiều trường hợp, việc thêm các quan sát trong quá khứ vào đầu vào sẽ giúp bổ sung thông tin bị thiếu. Tuy nhiên, dù nói là quan sát trong quá khứ nhưng việc lùi lại bao xa thì không thể biết trước ngay được, và nó cũng có thể thay đổi tùy thuộc vào tình huống đang đối mặt. Đơn giản nhất là sử dụng phương pháp thiết lập cái gọi là cửa sổ đầu vào (Input Window/ 入力窓) giống như cách triển khai DQN ở trên, lấy $o_{t-H:t} = [o_{t-H}, o_{t-H+1}, \dots, o_t]$ (với $H$ là kích thước cửa sổ) làm đầu vào quan sát, nhưng việc điều chỉnh $H$ tùy theo tình huống là rất khó, và nếu điều chỉnh bằng phép thử và sai, hoặc thiết kế sẵn một $H$ lớn nhất có thể. Điều này, ngoài việc bản thân việc triển khai đơn giản, nếu kết quả điều chỉnh cho thấy $H$ khá nhỏ là đủ thì nó sẽ phát huy hiệu quả tốt, nhưng nhìn chung, cửa sổ đầu vào sẽ dẫn đến tình trạng chứa nhiều thông tin không cần thiết, do đó khó có thể nói đây là sự lựa chọn tốt nhất xét từ khía cạnh chi phí tính toán v.v. Đối với phương hướng sử dụng cửa sổ đầu vào như vậy, Mạng nơ-ron hồi quy (Recurrent Neural Network: RNN) [13] đang được sử dụng rộng rãi như một giải pháp thay thế đa dụng, và cũng thường được tích hợp trong quá trình học của Mô hình thế giới.

Cụ thể, RNN là tên gọi chung của mạng nơ-ron có liên kết đệ quy (Recurrent Connection/ 再帰結合), trong đó đầu ra (trạng thái bên trong) $h_t$ từ lớp ẩn (Hidden Layer/ 中間層) tại một thời điểm $t$ nào đó sẽ được thêm vào đầu vào $x_{t+1}$ tại thời điểm tiếp theo $t+1$. Nghĩa là, nó bao hàm mô hình chuyển đổi (Transition Model/ 遷移モデル) của trạng thái bên trong như sau.

$$h_{t+1} = f(h_t, x_{t+1}; \psi_{\text{RNN}}) \quad (5.5)$$

Ở đây, $f$ là một hàm phi tuyến tính (Non-linear Function/ 非線形関数) bao gồm hàm kích hoạt (Activation Function/ 活性化関数) v.v., sở hữu tham số $\psi_{\text{RNN}}$. Mặc dù LSTM [14] hay GRU [15] đã được đề xuất như một dạng của RNN, nhưng về cơ bản mỗi loại đang mô hình hóa $f$ theo một hình thức khác nhau. Hơn nữa, nếu là RNN nhiều lớp, thì cấu trúc phổ biến là $h_{t+1}^l$ của lớp $l$ được sử dụng làm đầu vào $x_{t+1}^{l+1}$ của lớp tiếp theo $l+1$, đồng thời trạng thái bên trong của chính lớp tiếp theo $h_t^{l+1}$ cũng được thêm vào đệ quy như một đầu vào. Dù sao đi nữa, khi khai triển RNN theo hướng thời gian trong quá khứ, nó có thể được viết ra như thể là một mạng nơ-ron đa tầng (Multi-layer Neural Network/ 多層ニューラルネットワーク) như dưới đây (Hình 5-2).

$$h_{t+1} = f(f(\dots f(0, x_1), x_2), \dots), x_t), x_{t+1}) \quad (5.6)$$

Ở đây, $\psi_{\text{RNN}}$ đã được lược bỏ để đơn giản hóa, và trạng thái khởi tạo của $h$ được giả định là 0. Từ công thức này, vì trong RNN có thể coi trạng thái bên trong $h$ của nó được tính toán từ một hàm phi tuyến tính phản ánh toàn bộ đầu vào $x$ tại mỗi thời điểm, nên về mặt lý thuyết, việc xem xét toàn bộ đầu vào trong quá khứ bằng cách tham chiếu $h$ là khả thi. Tất nhiên, thực tế thì vì toàn bộ đầu vào trong quá khứ đều được khai triển vào số chiều hữu hạn đã được thiết kế của $h$, nên một phần thông tin về các đầu vào trong quá khứ sẽ bị thiếu hụt hoặc lãng quên. Do đó, việc ưu tiên giữ lại (hoặc quên đi) thông tin nào là rất quan trọng, nhưng về cơ bản, các thôngত্তি quan trọng sẽ tự động được giữ lại thông qua việc cực tiểu hóa hàm mất mát có tích hợp RNN.

Hình 5-2 Mạng nơ-ron hồi quy: Bằng cách khai triển liên kết đệ quy của trạng thái bên trong theo hướng thời gian trong quá khứ, nó có thể được xử lý giống như một mạng nơ-ron sâu (Deep Neural Network/ 深層ニューラルネットワーク).

Trạng thái khởi tạo $h_0 = 0$

Đầu vào $x_1$ -> Khối RNN -> Trạng thái bên trong $h_1$ -> …

Đầu vào $x_2$ -> Khối RNN -> Trạng thái bên trong $h_2$ -> …

Đầu vào $x_{t+1}$ -> Khối RNN -> Trạng thái bên trong $h_{t+1}$

(Khai triển)

Trạng thái quá khứ $h_t$

Đầu vào $x_{t+1}$ -> Khối RNN -> Trạng thái bên trong $h_{t+1}$

Ngoài ra, trong quá trình cực tiểu hóa hàm mất mát này, người ta thường sử dụng phương pháp Lan truyền ngược qua thời gian (Back Propagation Through Time (BPTT)/ 時間的誤差逆伝播法) [16], đây là sự phát triển của thuật toán lan truyền ngược (Backpropagation/ 誤差逆伝播法) dùng để tối ưu hóa mạng nơ-ron thông thường sao cho đi ngược lại theo hướng thời gian. Tức là, đạo hàm của tham số $\psi_{\text{RNN}}$ vốn là đối tượng cập nhật đối với hàm mất mát $\mathcal{L}$ thích hợp sẽ được cung cấp như sau.

Như có thể thấy, thời gian cần quay ngược lại của BPTT càng dài khi thời gian trôi qua, và số lượng lớp của RNN khi khai triển sẽ trở nên khổng lồ, do đó cần chú ý rằng chi phí tính toán (Computational Cost/ 計算コスト) sẽ tăng lên rất lớn. Hơn nữa, việc quy tắc chuỗi (Chain Rule) của đạo hàm (Gradient/ 勾配) trở nên dài có nghĩa là nếu đạo hàm nhỏ đi ở bất kỳ điểm nào ở giữa, thì toàn bộ đạo hàm ở các thời điểm trước đó sẽ dễ dàng biến mất, và ngược lại, nếu đạo hàm trở nên lớn, thì đạo hàm ở các thời điểm trước đó sẽ dễ bị phân kỳ. Vì lý do này, để học tập sao cho hiệu suất ổn định, thường đòi hỏi phải có sự tinh chỉnh tỉ mỉ. Một biện pháp đơn giản là Truncated BPTT [17], trong đó quá trình lan truyền ngược bị ngắt ở một độ dài thời gian cố định $H$.

$$\frac{\partial \mathcal{L}}{\partial \psi_{\text{RNN}}} = \frac{\partial \mathcal{L}}{\partial h_{t+1}} \frac{\partial h_{t+1}}{\partial \psi_{\text{RNN}}}$$
$$+ \frac{\partial \mathcal{L}}{\partial h_{t+1}} \frac{\partial h_{t+1}}{\partial h_t} \frac{\partial h_t}{\partial \psi_{\text{RNN}}}$$
$$+ \dots$$
$$+ \frac{\partial \mathcal{L}}{\partial h_{t+1}} \dots \frac{\partial h_2}{\partial h_1} \frac{\partial h_1}{\partial \psi_{\text{RNN}}} \quad (5.7)$$
$$\frac{\partial \mathcal{L}}{\partial \psi_{\text{RNN}}} \simeq \frac{\partial \mathcal{L}}{\partial h_{t+1}} \frac{\partial h_{t+1}}{\partial \psi_{\text{RNN}}}$$
$$+ \frac{\partial \mathcal{L}}{\partial h_{t+1}} \frac{\partial h_{t+1}}{\partial h_t} \frac{\partial h_t}{\partial \psi_{\text{RNN}}}$$
$$+ \dots$$
$$+ \frac{\partial \mathcal{L}}{\partial h_{t+1}} \dots \frac{\partial h_{t+2-H}}{\partial h_{t+1-H}} \frac{\partial h_{t+1-H}}{\partial \psi_{\text{RNN}}} \quad (5.8)$$

Trong trường hợp này, nếu đạo hàm không biến mất hoặc phân kỳ trong phạm vi $H$, thì có thể học một cách ổn định và chi phí tính toán của nó luôn được giới hạn hữu hạn bởi $H$ đã chỉ định. Tuy nhiên, thông tin trước thời điểm bị cắt sẽ không thể được xem xét một cách chính xác, dẫn đến sự phát sinh độ chệch (Bias/ バイアス). Dù vậy, nếu ảnh hưởng từ quá khứ xa hơn $H$ đủ nhỏ thì độ chệch có thể bỏ qua, do đó không cần quá lo lắng, và cũng đã có một số nghiên cứu về các biện pháp đối phó với độ chệch [18, 19]. Nhân tiện, Truncated BPTT có vẻ tương tự như cửa sổ đầu vào (Input Window/ 入力窓) với kích thước cửa sổ là $H$, nhưng đối với cửa sổ đầu vào xử lý lịch sử quan sát trong $H$ một cách đồng đều, RNN được tối ưu hóa bởi Truncated BPTT tận dụng cấu trúc tiến hóa theo thời gian của các mô hình như LSTM, từ đó tự động trích xuất xem nên chú ý vào phần nào của lịch sử quan sát trong quá trình tối ưu hóa.

(b) Bộ mã hóa tự động biến phân (Variational AutoEncoder)

Việc thu được quan sát $o$ có số chiều cao sao cho $|S| \ll |O|$ thực tế rất dễ xảy ra, ví dụ như nếu trực tiếp xử lý hình ảnh camera như một quan sát thì số chiều sẽ dễ dàng lên tới hàng vạn (chẳng hạn, một hình ảnh RGB 128×128 pixel sẽ có 49,152 chiều). Tuy nhiên, như đã nói ở trên, việc trực tiếp học xác suất chuyển đổi cho một $o$ có số chiều cao như vậy không những gây lãng phí lớn mà còn dễ làm giảm độ chính xác. Do đó, chúng ta xem xét việc trích xuất thông tin chiều thấp quan trọng ẩn chứa trong $o$. Quá trình này còn được gọi là giảm chiều dữ liệu (Dimensionality Reduction/ 次元圧縮), và dữ liệu có số chiều cao trên thực tế không phân bố rải rác đều đặn trong không gian nhiều chiều đó, mà phân bố với cấu trúc bị lệch về một phần, quá trình này được thực hiện dưới giả thuyết đa tạp (Manifold Hypothesis/ 多様体仮説) [20]. Giảm chiều dữ liệu thường được sử dụng khi trực quan hóa hoặc phân tích dữ liệu nhiều chiều, nhiều phương pháp khác nhau đã được phát triển và đưa vào thành các thư viện, nhưng ở đây tôi sẽ giới thiệu ngắn gọn về Bộ mã hóa tự động biến phân (Variational AutoEncoder; VAE) [21, 22] ứng dụng học sâu, vốn cũng thường được sử dụng cho Mô hình thế giới.

Trước tiên, tôi sẽ trình bày cơ chế giảm chiều dữ liệu ứng dụng mạng nơ-ron thông qua AE thông thường không có tính biến phân. AE là một phương pháp được phân loại vào học không giám sát (Unsupervised Learning/ 教師なし学習), hay chính xác hơn là học tự giám sát (Self-supervised Learning), và đúng như tên gọi của nó, bản thân nó (tự mình), tức là đầu vào, được sử dụng làm tín hiệu giáo viên. Cụ thể, đối với tập dữ liệu $\mathcal{D} = \{x_i\}_{i=1}^N$ được xây dựng bằng đầu vào $x \in \mathcal{X}$ lấy từ hệ thống mục tiêu, một hàm $f: \mathcal{X} \rightarrow \mathcal{X}$ (với tham số $\psi_{\text{AE}}$) được xấp xỉ bằng một mạng nơ-ron đa tầng có cấu trúc đặc biệt sẽ được chuẩn bị. Lúc này, ta tìm cách tối ưu hóa $\psi_{\text{AE}}$ thông qua việc cực tiểu hóa hàm mất mát, ví dụ như được cho bởi bình phương của chuẩn L2 (L2 Norm) dưới đây.

$$\psi_{\text{AE}}^* = \arg\min_{\psi_{\text{AE}}} \mathbb{E}_{x \sim \mathcal{D}} \left[ \frac{1}{2} || x – f(x) ||_2^2 \right] \quad (5.9)$$

Bởi vì tín hiệu giáo viên của $f(x)$ chính là $x$, nên nó được gọi là học tự giám sát.

Dù sao đi nữa, nếu cấu trúc của $f$ trong tối ưu hóa này được đưa ra mà không có hạn chế gì, rõ ràng một ánh xạ đồng nhất (Identity Mapping) đơn thuần sẽ là tối ưu nhất, nhưng trong AE, $f$ có một cấu trúc đặc biệt như đã đề cập ở trên. Nói cách khác, cấu trúc được giới hạn sao cho số lượng nơ-ron (số chiều) ở lớp ẩn của mạng nơ-ron đa tầng nhỏ hơn số chiều đầu vào $|\mathcal{X}|$. Làm như vậy, không thể xây dựng ánh xạ đồng nhất được nữa, hay nói cách khác là không thể truyền và giữ lại toàn bộ thông tin đầu vào mà $x$ có thể có tại lớp ẩn, buộc phải chọn lọc và giữ lại chỉ một phần thông tin đầu vào. Ở đây, vì $f$ được tối ưu hóa để cố gắng tái tạo lại $x$, nên xuất hiện cơ chế ưu tiên trích xuất các thông tin cần thiết cho việc tái tạo. Kết quả là, tại biến tiềm ẩn (Latent Variable/ 潜在変数) $z \in |Z|$ ($\vert{}Z\vert{} \ll \vert{}\mathcal{X}\vert{}$) được xuất ra từ lớp ẩn có thiết lập nhỏ hơn $|\mathcal{X}|$, đặc trưng chiều thấp của $x$ sẽ tự nhiên được trích xuất. Biến $z$ này liên quan đến $x$ được gọi là biến tiềm ẩn, và $Z$ được gọi là không gian tiềm ẩn (Latent Space/ 潜在空間). Hơn nữa, để dễ nhớ, bạn có thể gọi toàn bộ mạng lưới tính từ đầu cho đến khi xuất ra $z$ là Bộ mã hóa (Encoder), và phần mạng lưới từ $z$ đến khi xuất ra tái tạo lại $x$ là Bộ giải mã (Decoder). Ngoài ra, cấu trúc giảm rồi tăng dần số lượng nơ-ron qua các giai đoạn về phía biến tiềm ẩn và đầu ra sẽ tạo thành một cấu trúc mạng hình nơ bướm (hoặc đồng hồ cát), còn được gọi là cấu trúc bow-tie (hourglass) [23] (Hình 5-3).

Trên đây là tổng quan về AE, và việc phát triển nó thành lý thuyết xác suất có thể gọi là VAE. Trong VAE, chúng ta xem xét việc cực đại hóa độ hợp lý logarit $\ln p(x)$ ($x \in \mathcal{D}$) của phân phối xác suất $p(x)$ tạo ra đầu vào $x$, nhưng lúc này ta đặt ra 1 giả thuyết. Đó là, như được trình bày dưới đây, $x$ được sinh ra một cách ngẫu nhiên tùy thuộc vào biến tiềm ẩn $z$.

Hình 5-3 Cấu trúc cơ bản của Autoencoder: Sau khi mã hóa đầu vào thành biến tiềm ẩn có số chiều thấp được biểu diễn bằng ít nơ-ron hơn, hệ thống sẽ cố gắng tái tạo lại cùng một đầu vào đó.

Đầu vào $x$ (Ví dụ: Hình ảnh RGB) -> (Encoder) -> Biến tiềm ẩn $z$ ($\vert{}Z\vert{} \ll \vert{}X\vert{}$) -> (Decoder) -> Kết quả tái tạo $f(x)$

$$p(x) = \int p(z) p(x | z; \psi_{\text{VAE}}) dz \quad (5.10)$$

Ở đây, $p(z)$ là phân phối tiên nghiệm (Prior Distribution) về $z$, và $p(x | z; \psi_{\text{VAE}})$ là Bộ giải mã mang tham số $\psi_{\text{VAE}}$. Xem xét một cách cực đoan thì biến tiềm ẩn chỉ là một biến ngẫu nhiên, không tự nhiên mang ý nghĩa vật lý (dù có thể phân tích, biến đổi và tạo ra sự liên kết), vì vậy $p(z)$ trở thành một yếu tố mà chúng ta có thể tự do thiết kế. Thông thường, nó hay được đưa ra dưới dạng phân phối chuẩn chuẩn hóa (Standard Normal Distribution) (phân phối chuẩn có tính đường chéo (Diagonal) với trung bình $\mu=0$ và tỷ lệ $\sigma=1$) với tư cách là phân phối xác suất đơn giản nhất. Đi kèm với điều đó, do $z$ thường được cung cấp bằng giá trị liên tục (Continuous Value/ 連続値), nên việc cận biên hóa (Marginalization) bằng phép toán tích phân như trên được thực hiện, nhưng thực tế nó cũng có thể là giá trị rời rạc (Discrete Value/ 離散値), và bạn cần lưu ý rằng trong trường hợp đó, phép toán tích phân sẽ được thay thế bằng phép toán lấy tổng.

Khi giả định một cách tường minh sự tồn tại của biến ngẫu nhiên tiềm ẩn $z$ như vậy, $\ln p(x)$ có thể dẫn ra cận dưới (Lower Bound/ 下界) bằng cách sử dụng Bất đẳng thức Jensen (Jensen’s Inequality/ イェンゼンの不等式). Cận dưới này được gọi là Cận dưới chứng cứ (Evidence Lower Bound (ELBO)/ 変分下界), và bằng cách cực đại hóa ELBO, một cách gián tiếp ta cũng có thể cực đại hóa $\ln p(x)$. Cụ thể, ELBO thu được thông qua việc triển khai công thức sau.

$$\ln p(x) = \ln \int_z p(z) p(x | z; \psi_{\text{VAE}}) dz$$
$$= \ln \int_z p(z) p(x | z; \psi_{\text{VAE}}) \frac{q(z | x; \psi_{\text{VAE}})}{q(z | x; \psi_{\text{VAE}})} dz$$
$$= \ln \int_z q(z | x; \psi_{\text{VAE}}) \frac{p(z) p(x | z; \psi_{\text{VAE}})}{q(z | x; \psi_{\text{VAE}})} dz$$
$$\ge \int_z q(z | x; \psi_{\text{VAE}}) \ln \frac{p(z) p(x | z; \psi_{\text{VAE}})}{q(z | x; \psi_{\text{VAE}})} dz$$
$$= \mathbb{E}_{z \sim q(z | x; \psi_{\text{VAE}})} [\ln p(x | z; \psi_{\text{VAE}})] – \text{KL}(q(z | x; \psi_{\text{VAE}}) || p(z)) \quad (5.11)$$

Ở đây, $q(z | x; \psi_{\text{VAE}})$ là xấp xỉ biến phân (Variational Approximation/ 変分近似) của phân phối hậu nghiệm (Posterior Distribution) với tham số $\psi_{\text{VAE}}$ (còn gọi là phân phối hậu nghiệm biến phân, hoặc Bộ mã hóa), và giống như phân phối tiên nghiệm, nó thường được cấp bởi phân phối chuẩn (tính đường chéo). Mặc dù hình dạng phân phối của phân phối hậu nghiệm thực sự có lẽ phức tạp hơn nhiều, nhưng vì lý do tiện lợi trong tính toán nên nó đang được xấp xỉ bằng một mô hình đơn giản, và để làm rõ rằng đó là một phân phối xấp xỉ khác với phân phối thực, việc định nghĩa nó bằng $q$ thay vì $p$ là thông lệ.

Dù sao đi nữa, khi xem xét việc cực đại hóa ELBO đã được dẫn ra, ta có thể thấy những điểm tương đồng và khác biệt với AE. Trước tiên, thành phần thứ nhất của ELBO đóng vai trò cực đại hóa độ hợp lý logarit của Bộ giải mã tương ứng với biến tiềm ẩn $z$ sinh ra từ Bộ mã hóa. Đây được gọi là thành phần tái tạo, và nếu loại bỏ yếu tố xác suất, nó tương đương với việc đảo ngược dấu của hàm mất mát trong AE thông thường. Thực tế, khi $z$ được đưa ra một cách tất định từ Bộ mã hóa và phân phối xác suất của Bộ giải mã được mô hình hóa bằng phân phối chuẩn đường chéo với tỷ lệ $\sigma=1$, thì độ hợp lý logarit của nó sẽ được tính toán chỉ dựa vào trung bình $\mu$ của phân phối chuẩn và $z$ tương ứng với $x$, dẫn đến việc phải cực đại hóa $-|| x – \mu ||_2^2 / 2$. Tiếp theo, thành phần thứ hai của ELBO là thứ không có trong AE, nó trở thành thành phần chính quy hóa (Regularization Term/ 正則化項) làm cho Bộ mã hóa (là phân phối hậu nghiệm) tiến lại gần phân phối tiên nghiệm thông qua Phân kỳ Kullback-Leibler. Việc phân phối hậu nghiệm tiến lại gần phân phối tiên nghiệm có thể coi là hành động vứt bỏ thông tin bổ sung từ Bộ mã hóa nhằm ước lượng $z$ do $x$ mang lại. Thoạt nhìn, có vẻ như nó đi ngược lại với mục đích trích xuất đặc trưng chiều thấp của $x$ vào $z$, nhưng nó mang lại tác dụng ngăn chặn hiện tượng quá khớp thông qua việc loại bỏ thành phần nhiễu có trong $x$, và tác dụng san phẳng (làm phẳng) không gian tiềm ẩn. Đặc biệt tác dụng sau mang tính đặc trưng, trong AE thông thường, ngay cả khi trích xuất được $z$ tương ứng với đầu vào $x$, thì $x$ được tái tạo sau khi làm cho $z$ đó biến động cực nhỏ không hẳn là một biến động cực nhỏ của $x$ ban đầu. Đó là do không gian tiềm ẩn trong AE thông thường không đảm bảo đủ tính liên tục, nhưng mặt khác ở VAE, vì lý do phải đạt được sự tái tạo trong khi giữ cho $z$ tương ứng với $x$ chứa trong tập dữ liệu $\mathcal{D}$ nằm trong một phạm vi hẹp do phân phối tiên nghiệm chỉ định, nên nó chịu sự ràng buộc sao cho không sử dụng không gian tiềm ẩn một cách lãng phí và các đầu vào tương tự nhau cũng được bố trí gần nhau trên không gian tiềm ẩn. Do đó, trong VAE, khi làm cho $z$ biến động cực nhỏ thì $x$ tương ứng cũng được kỳ vọng sẽ biến động cực nhỏ, nhờ vậy có thể nâng cao tính liên tục của không gian tiềm ẩn (Hình 5-4).

Tuy nhiên, hai thành phần nằm trong ELBO của VAE vẫn luôn nằm trong mối quan hệ đánh đổi (Trade-off/ トレードオフ). Do đó, có thể xảy ra tình trạng thành phần chính quy hóa quá yếu khiến không gian tiềm ẩn bị bóp méo nghiêm trọng hoặc nhảy cóc, và ngược lại nếu thành phần chính quy hóa quá mạnh thì việc tái tạo sẽ thất bại. Đối phó với vấn đề này, một phương pháp phát triển được gọi là $\beta$-VAE [24] tạm thời coi thành phần chính quy hóa của ELBO như một ràng buộc bất đẳng thức (Inequality Constraint/ 不等式制約), sau đó thông qua phương pháp nhân tử Lagrange, nhân hệ số $\beta > 0$ vào thành phần chính quy hóa rồi đưa về dạng ban đầu, nhờ việc điều chỉnh $\beta$ mà ta có thể sắp xếp sự đánh đổi về sự cân bằng mong muốn.

$$\psi_{\text{VAE}}^* = \arg\max_{\psi_{\text{VAE}}} \mathbb{E}_{z \sim q(z | x; \psi_{\text{VAE}})} [\ln p(x | z; \psi_{\text{VAE}})]$$
$$\text{s.t.} \quad \text{KL}(q(z | x; \psi_{\text{VAE}}) || p(z)) \le \text{threshold}$$
$$\therefore \psi_{\text{VAE}}^* = \arg\max_{\psi_{\text{VAE}}} \mathbb{E}_{z \sim q(z | x; \psi_{\text{VAE}})} [\ln p(x | z; \psi_{\text{VAE}})]$$
$$- \beta \text{KL}(q(z | x; \psi_{\text{VAE}}) || p(z)) \quad (5.12)$$

Hình 5-4 Tính liên tục của không gian tiềm ẩn trong VAE: Tương ứng với biến động cực nhỏ của biến tiềm ẩn, hình ảnh được tái tạo cũng thay đổi một cách liên tục.

Một ví dụ về không gian tiềm ẩn được trích xuất $|z|=10$ từ tập dữ liệu chữ số viết tay (MNIST)

(Bỏ qua hình ảnh)

Độ dịch chuyển từ tâm trục

Ngay cả trong nội bộ các cách triển khai Mô hình thế giới, thành phần chính quy hóa bắt nguồn từ VAE cũng thường xuyên xuất hiện, đôi khi một hệ số được nhân vào mà không có bất kỳ lời nhắc nhở đặc biệt nào. Khi đó, bạn chỉ cần coi như người ta đang hợp lý hóa (Justify/ 正当化) hệ số đó bằng quá trình giống như trên. Tuy nhiên, việc chỉ điều chỉnh chung hệ số $\beta$ cho toàn bộ $x$ thì khó có thể giải quyết ổn thỏa sự đánh đổi. Vì vậy, để không phải kích hoạt chính quy hóa một cách cưỡng ép, các nghiên cứu cấp phân phối tiên nghiệm một cách phù hợp [25, 26] đang được tiến hành, nếu hứng thú, mời bạn tham khảo.

5-1-3 Ví dụ về thuật toán học Mô hình thế giới: PlaNet

Bây giờ, dưới tư cách là một thuật toán học kết hợp các yếu tố cấu thành Mô hình thế giới này, tôi sẽ giới thiệu PlaNet [27], một phương pháp tiêu biểu đồng thời cũng là cơ hội (Opportunity/ 契機) khiến khái niệm này trở nên phổ biến.

Chìa khóa của PlaNet là cấu trúc của Mô hình thế giới được gọi là Recurrent State-Space Model (RSSM) (Hình 5-5). Ở RSSM, như đã trình bày ở trên, ta giả định rằng mặc dù quan sát là số chiều cao (High-dimensional/ 高次元) nhưng chỉ là quan sát một phần (Partial Observation/ 部分観測) và đang thiếu thông tin cần thiết để biểu diễn trạng thái số chiều thấp. Vì thế, nó xem xét một mô hình kết hợp VAE và RNN, và vấn đề cơ bản là việc cực đại hóa biến phân cận dưới của độ hợp lý logarit dưới đây.

$$\ln p(o_{1:T} | a_{1:T-1}) = \ln \int \prod_{t=1}^T p_e(s_t | s_{t-1}, a_{t-1}) p(o_t | s_t) ds_{1:T}$$
$$\ge \sum_{t=1}^T \Biggl\{ \mathbb{E}_{q(s_t | o_{\le t}, a_{<t})} [\ln p(o_t | s_t)]$$
$$- \mathbb{E}_{q(s_{t-1} | o_{\le t-1}, a_{<t-1})} \left[ \text{KL}(q(s_t | o_{\le t}, a_{<t}) || p_e(s_t | s_{t-1}, a_{t-1})) \right] \Biggr\} \quad (5.13)$$

Ở đây, $o_{\le t}$ cũng ám chỉ dữ liệu chuỗi thời gian (Time Series Data/ 時系列データ), chỉ những thứ từ (thời điểm 1 đến) thời điểm $t$. Tất nhiên, việc bao gồm toàn bộ dữ liệu chuỗi thời gian như một điều kiện là không thực tế, vì vậy trong RSSM, nó nhóm $o_{<t}$ và $a_{<t}$ lại và xấp xỉ bằng $h_t$ của RNN. Hơn nữa, với việc chồng thêm ý nghĩa của Động lực học mang tính tất định lên RNN này, nó phân chia trạng thái $s$ thành $h$ mang tính tất định và $z$ mang tính ngẫu nhiên, xem như $s = [h, z]$. Ứng với cách diễn giải này, xác suất chuyển đổi trạng thái $p_e$ được chia ra và mô hình hóa như sau.

$$p_e(s_{t+1} | s_t, a_t): \begin{cases} h_{t+1} = f(h_t, z_t, a_t) & (\text{Biến tất định}) \\ z_{t+1} \sim p(z_{t+1} | h_{t+1}) & (\text{Biến ngẫu nhiên}) \end{cases} \quad (5.14)$$

Hình 5-5 Cấu trúc của RSSM trong PlaNet: Kết hợp VAE và RNN, phân chia trạng thái thành thành phần biến tất định và thành phần biến ngẫu nhiên.

(Bộ mã hóa) $o_{t-1}$ -> $q(z_{t-1} | h_{t-1}, o_{t-1})$ (Lấy mẫu) -> $z_{t-1}$ -> Động lực học (RNN) $h_t$

$h_{t-1}, a_{t-1}$ -> Động lực học (RNN) $h_t$ -> $p(z_t | h_t)$

(Bộ mã hóa) $o_t$ -> $q(z_t | h_t, o_t)$ (Lấy mẫu) -> $z_t$ -> (Bộ giải mã) $p(o_t | h_t, z_t)$ (+ $p(r_t | h_t, z_t)$) -> $r_t$

Làm như vậy, cận dưới biến phân (Variational Lower Bound/ 変分下界) cơ bản sẽ được viết lại như sau.

$$(5.13) \simeq \sum_{t=1}^T \Biggl\{ \mathbb{E}_{q(z_t | h_t, o_t)} [\ln p(o_t | h_t, z_t)]$$
$$- \mathbb{E}_{q(z_{t-1} | h_{t-1}, o_{t-1})} \left[ \text{KL}(q(z_t | h_t, o_t) || p(z_t | h_t)) \right] \Biggr\} \quad (5.15)$$

Ngoài ra, trong PlaNet, phân phối phần thưởng được giả định là $p(r_t | h_t, z_t)$ (tức là chỉ phụ thuộc vào trạng thái hiện tại $s_t$), và nó có thể được suy luận (Infer/ 推論) kết hợp tại thời điểm tái tạo lại quan sát (Observation/ 観測). Hơn nữa, $q(z_t | h_t, o_t)$ tương đương với bộ mã hóa (Encoder/ エンコーダ) được cấp $h_t$ và $o_t$ làm điều kiện, nhưng như một thủ thuật triển khai, người ta thường nén $o_t$ thành đặc trưng chiều thấp (Low-dimensional Feature/ 低次元特徴) trước, sau đó kết hợp nó với $h_t$ và đưa vào một mạng khác để xuất ra trung bình và phương sai. Lý do là nếu $o_t$ là hình ảnh, không làm theo cách này sẽ khó sử dụng mạng nơ-ron tích chập (Convolutional Neural Network/ 畳み込みニューラルネットワーク), và nếu bất kỳ đầu vào nào trong số nhiều đầu vào có số chiều cao (High-dimensional/ 高次元), nó sẽ ảnh hưởng mạnh đến đầu ra, khiến các đầu vào khác không còn được phản ánh.

Một đặc điểm khác của PlaNet là nó tính đến việc học dự đoán dài hạn gọi là Latent Overshooting. Thông qua cận dưới biến phân nói trên, trạng thái sau một bước thời gian được đưa ra bởi RNN sẽ được học sao cho khớp với trạng thái được ước lượng có tính đến cả quan sát tại thời điểm đó, thoạt nhìn thì có vẻ như có thể thu được xác suất chuyển đổi trạng thái. Tuy nhiên, nếu làm vậy, trong trường hợp cần dự đoán tương lai dài hạn như trong học tăng cường (Reinforcement Learning/ 強化学習), sai số sẽ tích lũy khi tiếp tục tiến hành các dự đoán dựa trên giá trị dự đoán, và tính thực tiễn thực ra được cho là thấp. Vì vậy, PlaNet thay thế phần thành phần chính quy hóa của cận dưới biến phân như sau.

$$\mathbb{E}_{q(z_{t-1} | h_{t-1}, o_{t-1})} [\text{KL}(q(z_t | h_t, o_t) || p(z_t | h_t))]$$
$$\le \mathbb{E}_{p(z_{t-1} | s_{t-d}) q(z_{t-d} | h_{t-d}, o_{t-d})} [\text{KL}(q(z_t | h_t, o_t) || p(z_t | z_{t-1}))] \quad (5.16)$$

Ở đây xuất hiện xác suất mới $p(z_{t-1} | z_{t-d})$ và $p(z_t | z_{t-1})$, về cơ bản chúng là xác suất đạt tới $z_t$ khi lấy $z_{t-d}$ thu được từ bộ mã hóa tại thời điểm $t-d$ làm điểm khởi đầu, đồng thời lặp lại dự đoán bằng RNN có bổ sung hành động tại mỗi thời điểm cho đến thời điểm $t$. Tức là, $d$ là một siêu tham số (Hyperparameter/ ハイパーパラメータ) xác định dự đoán bằng RNN từ bao nhiêu thời điểm trước đó, và trong PlaNet, giá trị lớn nhất $D$ được thiết lập sao cho $d = 1, \dots, D$, rồi xem xét trung bình của công thức trên đối với $d$ trong phạm vi đó. Đương nhiên, do lặp lại dự đoán nên độ chính xác dự đoán sẽ giảm đi, và Phân kỳ Kullback-Leibler (Kullback-Leibler Divergence/ Kullback-Leibler ダイバージェンス) được kỳ vọng sẽ càng lớn khi $d$ càng lớn, vì vậy chúng được nối với nhau bằng bất đẳng thức. Vốn dĩ nếu có thể sử dụng Lấy mẫu quan trọng (Importance Sampling) để nối bằng đẳng thức thì có thể tốt hơn, nhưng Lấy mẫu quan trọng được biết đến với tính bất ổn định trong tính toán, do đó việc bỏ qua nó bằng cách xem xét một cận dưới thậm chí còn thấp hơn có thể coi là mang tính thực tiễn.

Như trên, PlaNet có thể đồng thời học biểu diễn (Representation/ 表現) từ dữ liệu kinh nghiệm chứa quan sát chiều cao sang không gian tiềm ẩn chiều thấp ($\simeq$ không gian trạng thái) và học xác suất chuyển đổi trong đó. Mặc dù điều này đã thu hút sự chú ý lớn vì nó cho phép dự đoán hành vi của nhiều mô phỏng robot khác nhau từ hình ảnh đầu vào, nhưng vẫn còn những vấn đề tồn đọng (chẳng hạn như bỏ sót thông tin quan trọng cho tác vụ). Vì vậy, Mô hình thế giới vẫn đang được tích cực cải tiến, nếu quan tâm bạn hãy theo dõi các phương pháp mới nhất (ví dụ [28, 29, 30, 31]).

5-2 Tận dụng Mô hình thế giới (World Model/ 世界モデル)

Vậy, giả sử đã học được Mô hình thế giới, chúng ta nên tận dụng nó như thế nào để thúc đẩy việc đạt được chính sách tối ưu? Ở đây tôi muốn giới thiệu 3 phương hướng lớn. Điểm chung của chúng là dự đoán sự chuyển đổi trạng thái trong tương lai và phần thưởng tại thời điểm đó từ một trạng thái nhất định, rồi sử dụng thông tin thu được một cách hiệu quả theo từng phương pháp. Nhân tiện, ngoài những phương pháp này, người ta cũng biết đến một cách tối ưu hóa đơn giản là học chính sách bằng học tăng cường phi mô hình trên không gian tiềm ẩn chiều thấp đã được trích xuất, qua đó loại bỏ được nhiễu quan sát thừa thãi.

5-2-1 Ước lượng lợi nhuận (Return/ 収益)

Đầu tiên, bạn có nhớ phương pháp TD n-bước đã giới thiệu ở chương 3 không? Trái với phương pháp TD thông thường tận dụng cấu trúc đệ quy của lợi nhuận và hàm giá trị để tính toán tín hiệu giáo viên giả cho việc học hàm giá trị dựa trên phần thưởng thu được khi thực hiện 1 bước hành động và hàm giá trị ở trạng thái tiếp theo đó, phương pháp này sẽ tính toán tín hiệu giáo viên bằng tập hợp phần thưởng thu được khi chuyển đổi đến n bước tiếp theo và hàm giá trị ở trạng thái cuối cùng. Điều này, bên cạnh việc thiết lập $n$ khá phiền phức vốn là một phần lý do khiến nó không phổ biến, còn mang theo nỗi lo rằng do việc chuyển đổi nhiều bước làm tích lũy sự không chắc chắn khiến phương sai quỹ đạo thu được trở nên lớn, nhưng lại thực sự cần phải chuyển đổi n bước nên không gom đủ dữ liệu có cùng một trạng thái khởi điểm.

Nỗi lo này có thể được giải quyết nếu tận dụng Mô hình thế giới (với tiền đề là độ chính xác của mô hình phải đủ tốt). Cụ thể, khi cho trước một kinh nghiệm $(s_t, a_t, s_{t+1}, r_t)$ và chính sách $\pi$, ta sẽ dự đoán (một cách xác suất) bằng Mô hình thế giới $p_w$ cho đến $k = 1, \dots, H$ như sau.

$$a_{t+k} \sim \pi(a_{t+k} | s_{t+k})$$
$$s_{t+k+1}, r_{t+k} \sim p_w(s_{t+k+1}, r_{t+k} | s_{t+k}, a_{t+k}; \psi_w) \quad (5.17)$$

Thông qua dự đoán này, ta sẽ thu được các giá trị dự đoán $r_{t+1}, \dots, r_{t+H}$ và $s_{t+H+1}$, và phương pháp sử dụng chúng để ước lượng tín hiệu giáo viên của phương pháp TD $n = H+1$ bước như dưới đây được gọi là Model-based Value Expansion (MVE) [7].

$$\mathcal{T}_{t, H}^{\text{MVE}} = r_t + \sum_{k=1}^H \gamma^k r_{t+k} + \gamma^{H+1} V(s_{t+H+1}) \quad (5.18)$$

Tuy nhiên, trên thực tế cần phải kiểm tra điều kiện kết thúc ở mỗi bước, và nếu kết thúc giữa chừng thì cần chú ý đến việc xử lý phần thưởng và hàm giá trị từ đó trở đi (cơ bản là coi bằng 0). Bằng cách cực tiểu hóa sai số bình phương giữa $\mathcal{T}_{t, H}^{\text{MVE}}$ thu được và hàm giá trị $V(s_t)$ tại trạng thái xuất phát $s_t$, ta có thể học hàm giá trị một cách hiệu quả. Tất nhiên, phần trên chỉ đề cập đến hàm giá trị trạng thái $V$ để đơn giản hóa việc mô tả, nhưng với hàm giá trị hành động $Q$ thì cũng tương tự.

Thế nhưng, giống như phương pháp TD n-bước thông thường, việc xác định $n$ ($H$ trong MVE) là rất khó, và sẽ nảy sinh yêu cầu phải điều chỉnh tùy theo tác vụ. Để làm dịu bớt vấn đề này, Stochastic Ensemble Value Expansion (STEVE) [8] đã ra đời. Trong STEVE, giống như cách phương pháp TD($\lambda$) chồng chập nhiều sai số TD n-bước, nó sẽ tính toán $\mathcal{T}_{t, h}^{\text{MVE}}$ cho đến $h = 0, \dots, H$ rồi chồng chập chúng lên nhau. Tuy nhiên, nếu không thiết lập trọng số của $\mathcal{T}_{t, h}^{\text{MVE}}$ một cách thích hợp trong quá trình chồng chập này, nó sẽ gây ảnh hưởng xấu đến quá trình học như đưa những giá trị có sai số dự đoán lớn vào tín hiệu giáo viên. Do đó, trong STEVE, tín hiệu giáo viên được tính toán bằng trung bình có trọng số như sau.

$$\mathcal{T}_{t, H}^{\text{STEVE}} = \sum_{h=0}^H \tilde{w}_h \mathbb{E}_{\text{ensemble}} [\mathcal{T}_{t, h}^{\text{MVE}}] \quad (5.19)$$
$$\tilde{w}_h = \mathbb{V}\text{ar}_{\text{ensemble}} [\mathcal{T}_{t, h}^{\text{MVE}}]^{-1}$$

Ở đây, giá trị kỳ vọng $\mathbb{E}_{\text{ensemble}}[\cdot]$ và phương sai $\mathbb{V}\text{ar}_{\text{ensemble}}[\cdot]$ thể hiện trung bình mẫu và phương sai của các giá trị dự đoán thu được bằng cách kết hợp các hàm xấp xỉ đã giành được qua học tập hợp (Ensemble Learning/ アンサンブル学習) (xem chương 3) xấp xỉ hàm giá trị và Mô hình thế giới liên quan đến tính toán tín hiệu giáo viên bằng nhiều bộ tham số. Một cách trực quan, nếu tất cả các hàm xấp xỉ đều có thể dự đoán nhất quán với độ chính xác vừa đủ, thì phương sai lên đến $\mathcal{T}_{t, h}^{\text{MVE}}$ sẽ nhỏ, trong khi từ đó trở đi giá trị dự đoán sẽ bắt đầu phân tán và phương sai trở nên lớn. Sự khác biệt về phương sai dự đoán này sẽ trở thành trọng số, và STEVE ưu tiên phản ánh vào tín hiệu giáo viên cho đến $h$ mà dự đoán được xem là đủ tốt. Mặc dù có vẻ như chi phí tính toán và lượng bộ nhớ sử dụng sẽ tăng lên vì phương sai không được ước lượng thích hợp nếu không có một lượng tập hợp nhất định, nhưng trong những năm gần đây, việc áp dụng học tập hợp không chỉ cho hàm giá trị mà cả Mô hình thế giới đã trở nên phổ biến [32], do đó có thể nói đây là một phương pháp hợp lý tận dụng hiệu quả quá trình triển khai đó.

5-2-2 Tạo kinh nghiệm giả định

MVE và STEVE đã tận dụng thông tin tương lai thu được từ Mô hình thế giới để tối ưu hóa hàm giá trị tại một thời điểm $t$ nhất định. Mặt khác, bạn hoàn toàn có thể tưởng tượng được rằng cũng có thể đơn giản là thu thập giả định các kinh nghiệm từ $t$ trở đi thông qua Mô hình thế giới, và sử dụng chúng cho việc học hàm giá trị hay chính sách ở thời điểm $t+1$ chẳng hạn. Hoặc, thay vì nhìn về tương lai xa hơn $t$, ta cũng có thể dự đoán bằng Mô hình thế giới một sự chuyển đổi trạng thái khác với chuyển đổi thực tế đã xảy ra tại $t$, và dùng nó để gia tăng kinh nghiệm cho việc học hàm giá trị hay chính sách tại $t$. Đường hướng tích lũy các kinh nghiệm giả định thông qua Mô hình thế giới và dùng cho việc học như vậy, là phương pháp có tên gọi Dyna-Q [2], vốn được coi là người tiên phong của học tăng cường dựa trên mô hình. Trong cuốn sách này, tôi sẽ giới thiệu các phương pháp gần đây đã phát triển từ khái niệm này.

Model-Based Policy Optimization (MBPO) [5] là phương pháp đã mở rộng, triển khai và phân tích Dyna-Q một cách tương đối đơn giản vào học tăng cường sâu kết hợp với phát lại kinh nghiệm (Experience Replay/ 経験再生) trong những năm gần đây. Trong phân tích, nó chỉ ra rằng việc học bằng kinh nghiệm sinh ra từ Mô hình thế giới (tất nhiên là nếu Mô hình thế giới đủ chính xác) có thể mang lại sự tối ưu hóa tương tự như trường hợp học bằng kinh nghiệm thu được từ môi trường thực, nhưng để biết chi tiết về phân tích đó, xin hãy tham khảo bản gốc. Ở đây, tôi sẽ đưa ra mã giả của MBPO ở Algorithm 4, và từ đó theo dõi nội dung của thuật toán.

Điểm đặc trưng của MBPO là nó chuẩn bị sẵn 2 bộ nhớ đệm dùng để phát lại kinh nghiệm: $\mathcal{D}_{\text{env}}$ lưu trữ kinh nghiệm thực lấy từ môi trường thực, và $\mathcal{D}_{\text{model}}$ lưu trữ kinh nghiệm giả định sinh ra qua Mô hình thế giới lấy trạng thái $s_t$ đã từng thực sự gặp phải có trong $\mathcal{D}_{\text{env}}$ làm điểm khởi đầu. Kinh nghiệm giả định được sinh ra từ $s_t$ đến $H$ bước tiếp theo tuân theo chính sách $\pi$ và Mô hình thế giới, và $\{(s_{t+h}, a_{t+h}, s’_{t+h}, r_{t+h})\}_{h=0}^{H-1}$ được thêm vào $\mathcal{D}_{\text{model}}$. Việc thiết lập $H$ ở đây cũng đóng góp lớn vào hiệu suất nên rất khó khăn, nhưng ở bản gốc, giá trị khởi tạo của $H$ là 1, và áp dụng cách triển khai mang tính kinh nghiệm (Heuristic/ ヒューリスティック) tăng dần tuyến tính khi quá trình học tiến triển. Lý do là vì khi độ chính xác của Mô hình thế giới còn kém, những kinh nghiệm giả định thu được từ dự đoán dài hạn là vô giá trị (thậm chí đôi khi cản trở việc học).

Một đặc điểm nữa của MBPO là nó chỉ sử dụng $\mathcal{D}_{\text{model}}$ đã thu thập được để học chính sách (và hàm giá trị). Tuy cũng có thể sử dụng $\mathcal{D}_{\text{env}}$, nhưng có lẽ vì MBPO vốn đang tranh luận về tính khả thi của việc tối ưu hóa bằng kinh nghiệm được sinh ra từ Mô hình thế giới nên mới làm vậy. Bản thân việc học chính sách thì có thể tùy ý miễn là thuật toán dạng Off-policy có thể tận dụng phát lại kinh nghiệm, nhưng ở bản gốc đang áp dụng SAC [33].

Mã giả của Algorithm 4 MBPO [5]

1: Khởi tạo $\pi, p_w$

2: Khởi tạo tập dữ liệu: $\mathcal{D}_{\text{env}}, \mathcal{D}_{\text{model}} \leftarrow \emptyset$

3: lặp lại (repeat)

4: Học mô hình: $p_w = \arg\min_{p_w} \mathbb{E}_{\mathcal{D}_{\text{env}}} [-\ln p_w(s’, r | s, a)]$

5: cho (for) $t = 1, 2, \dots, T$ thực hiện (do)

6: Quan sát trạng thái hiện tại $s$: $s \leftarrow s’$ hoặc $s \sim p_0(s)$

7: Quyết định hành động: $a \sim \pi(a | s)$

8: Thực thi hành động: $s’ \sim p_e(s’ | s, a), r = r(s, a, s’)$

9: $\mathcal{D}_{\text{env}} \leftarrow \mathcal{D}_{\text{env}} \cup (s, a, r, s’)$

10: cho (for) $m = 1, 2, \dots, M$ thực hiện (do)

11: Lựa chọn ngẫu nhiên trạng thái điểm xuất phát: $s_t \sim \mathcal{D}_{\text{env}}$

12: Sinh ra $\mathcal{E} = \{(s_{t+h}, a_{t+h}, r_{t+h}, s’_{t+h})\}_{h=0}^{H-1}$ bằng $\pi, p_w$

13: $\mathcal{D}_{\text{model}} \leftarrow \mathcal{D}_{\text{model}} \cup \mathcal{E}$

14: kết thúc vòng lặp (end for)

15: Học chính sách (hàm giá trị) dùng $\mathcal{D}_{\text{model}}$ $\triangleright$ Dạng Off-policy

16: kết thúc vòng lặp (end for)

17: cho đến khi (until) quá trình học hội tụ đủ

Như thế này, MBPO cho thấy rằng việc tối ưu hóa chính sách là hoàn toàn khả thi chỉ bằng cách sử dụng những kinh nghiệm giả định sinh ra từ Mô hình thế giới đã học. Mặt khác, các phương pháp cải tiến nhằm nâng cao hiệu suất học tập cũng đang được phát triển, và ở đây tôi sẽ giới thiệu thêm một trong số đó, Model-Augmented Actor-Critic (MAAC) [6]. Tương tự như MBPO, nó sử dụng Mô hình thế giới để gia tăng kinh nghiệm giả định xuất phát từ các trạng thái có trong $\mathcal{D}_{\text{env}}$, nhưng tôi muốn bạn chú ý đến sự khác biệt trong việc học chính sách và hàm giá trị sau đó.

Cụ thể, không chỉ dùng mỗi $\mathcal{D}_{\text{model}}$ cho việc học hàm giá trị hay chính sách như MBPO, ở MAAC nó dùng cả $\mathcal{D}_{\text{env}}$. Và điểm đặc trưng lớn nhất là, hàm mục tiêu để cải thiện chính sách xem xét lợi nhuận $n = H$ bước dự đoán từ trạng thái tái hiện $s_t$ đến $H$ bước tiếp theo giống như MVE.

$$\mathcal{L}^{\text{MAAC}}(\pi) = – \sum_{h=0}^{H-1} \gamma^h r_{t+h} + \gamma^H Q(s_{t+H}, a_{t+H}) – \beta \mathcal{H}(\pi) \quad (5.20)$$

Ở đây, giống như ở SAC v.v., nó cũng có tính đến việc tối đa hóa Entropy chính sách. Ngoài ra, thủ thuật tái tham số hóa (Reparameterization Trick/ 再パラメータ化トリック) (xem chương 4) dùng trong SAC hay DDPG cũng được dùng trong MAAC. Tức là, tất cả các phần thưởng, trạng thái, hành động dự đoán, cho dù được tạo ra một cách ngẫu nhiên cũng có thể lấy đạo hàm, và nếu chính sách hay Mô hình thế giới được xấp xỉ bằng mạng nơ-ron và có thể lấy đạo hàm, thì việc cực tiểu hóa $\mathcal{L}^{\text{MAAC}}$ có thể đạt được một cách trực tiếp thông qua phương pháp lan truyền ngược. Vì lý do này, khi tối ưu hóa chính sách để tối đa hóa lợi nhuận, nếu như SAC hay DDPG v.v. chỉ dựa vào hàm giá trị hành động để tìm đạo hàm, thì ở MAAC có thể thu được đạo hàm phân tách và xem xét chi tiết dẫn đến tối đa hóa lợi nhuận thông qua Mô hình thế giới. Người ta báo cáo rằng, không chỉ dừng lại ở việc gia tăng kinh nghiệm, mà thông qua việc sử dụng Mô hình thế giới cả vào ước lượng đạo hàm để cải thiện chính sách, nó đã thực hiện được quá trình học hiệu quả cao hơn so với học tăng cường phi mô hình như SAC hay MBPO, STEVE ở trên.

5-2-3 Lập kế hoạch (Planning)

Bạn có thể thấy 2 cách trên đang tận dụng Mô hình thế giới thu được dưới hình thức hỗ trợ thuật toán học tăng cường phi mô hình. Mặt khác, Lập kế hoạch được giới thiệu cuối cùng, đúng như tên gọi của nó, sẽ lập kế hoạch cho chính sách tối ưu và kéo theo đó là hành động tối ưu trực tiếp từ Mô hình thế giới thu được. Mặc dù có thể nghĩ ra một vài phương pháp lập kế hoạch, nhưng ở đây tôi sẽ giới thiệu Điều khiển dự báo mô hình (Model Predictive Control; MPC) [34] dựa trên lấy mẫu, vốn thường được sử dụng trong ngữ cảnh học tăng cường dựa trên mô hình.

Nhìn chung, trong MPC, đối tượng là một hệ thống tuân theo mô hình phi tuyến tính $f(s, a)$ và điều kiện ràng buộc $C(s, a)$ dựa trên trạng thái $s$ và hành động $a$. Cụ thể, lấy trạng thái $s_t$ tại thời điểm $t \in \mathbb{N}$ làm xuất phát điểm, chuỗi hành động $a_{t:t+H} = (a_t, \dots, a_{t+H})$ cho đến Horizon (Tầm nhìn) $H \in \mathbb{N}$ sẽ được tối ưu hóa thông qua bài toán cực tiểu hóa sau đây, và nó điều khiển bằng cách lặp lại việc tác động lên hệ thống bằng $a_t^*$ và chuyển sang trạng thái tiếp theo.

$$a_{t:t+H}^* = \arg\min_{a_{t:t+H}} J(s_t, a_{t:t+H}) \quad (5.21)$$
$$\text{s.t.} \quad J(s_t, a_{t:t+H}) = \phi(s_{t+H+1}) + \sum_{\tau=t}^{t+H} L(s_\tau, a_\tau)$$
$$s_{\tau+1} = f(s_\tau, a_\tau)$$
$$C(s_\tau, a_\tau) \le 0$$

Ở đây, hàm chi phí $J$ được đưa ra bởi tổng của chi phí đầu cuối $\phi(s)$ và chi phí từng giai đoạn $L(s, a)$. Trong trường hợp không thể phản ánh trực tiếp điều kiện ràng buộc, đôi khi người ta sử dụng cách triển khai biến chi phí đó thành vô cực trong thực tế. MPC thiết kế chi phí này sao cho tương ứng với tác vụ cần tối ưu hóa, và liên tục tìm ra hành động tối ưu thông qua việc giảm thiểu chi phí đó.

Ở đây, nếu tổng hợp lại mối quan hệ tương ứng giữa bài toán tối ưu hóa này và Mô hình thế giới, thì $f(s, a)$ tương ứng với xác suất chuyển đổi trạng thái $p_e(s’ | s, a)$, nếu xét đến hành vi ngẫu nhiên thì sử dụng lấy mẫu, còn nếu đơn giản hóa bằng hành vi trung bình thì sử dụng giá trị trung bình. $C(s, a)$ không được cung cấp đặc biệt bên trong Mô hình thế giới, mà thường được thiết kế tùy theo bài toán. Vì $L(s, a)$ là giá trị đánh giá của mỗi thời điểm muốn giảm thiểu, nên có thể nói nó là giá trị lấy mẫu (hoặc giá trị trung bình) từ phân phối phần thưởng $p_r(r | s, a)$ bị đảo dấu. $\phi(s)$ không được học trong Mô hình thế giới, và người ta thường bỏ qua nó với $\phi(s) = 0$, nhưng nó cũng có thể được dùng làm phần thưởng âm ở giai đoạn cuối (đã bị cận biên hóa (Marginalized/ 周辺化) cho hành động). Nếu đồng thời học cả hàm giá trị $V(s)$, cũng có thể dùng $-V(s)$ làm $\phi(s)$.

Như trên, nếu MPC đã học được Mô hình thế giới, có thể nói nó đã giữ được các thành phần cần thiết. Vậy, ta sẽ xem xét giải bài toán tối ưu hóa của MPC này. Từ xa xưa, các phương pháp coi đây là bài toán Quy hoạch toàn phương đã được phát triển, nhưng nó phải chịu một số giới hạn, chẳng hạn như hệ thống đối tượng phải tuyến tính, hoặc hàm chi phí phải được cho dưới dạng hàm bậc hai, dẫn đến việc thiếu đi tính đa dụng (Versatility/ 汎用性). Vì Mô hình thế giới được định nghĩa theo dạng tổng quát, không giới hạn tính phi tuyến tính của việc chuyển đổi trạng thái hay hình dạng của hàm chi phí, v.v., nên so với các phương pháp đó, phương pháp dựa trên lấy mẫu đa dụng hơn [3, 35] đang được áp dụng rộng rãi (Hình 5-6). Tất nhiên, bằng cách giới hạn Mô hình thế giới trong một dạng đặc biệt, các phương pháp có khả năng giải bài toán tối ưu hóa hiệu quả cao [36, 37] cũng đã được đề xuất, vì vậy hãy tham khảo chúng khi cần thiết.

Hình 5-6 MPC dựa trên lấy mẫu: Đánh giá các ứng viên chuỗi hành động được lấy mẫu từ chính sách bằng Mô hình thế giới, và cải thiện chính sách dựa trên kết quả đó.

(Lặp lại cho đến khi hội tụ)

  1. Lấy mẫu ứng viên

    $\{(a_t^n, \dots, a_{t+H}^n)\}_{n=1}^N \sim \pi$

    Phân phối đề xuất (Chính sách) $\pi$

    -> $a_t^n \in U_t^n$ Chuỗi hành động

  2. Dự đoán đến $H$ bước

    $a \rightarrow \text{M} \rightarrow r \rightarrow \text{M} \rightarrow s’$ (Lấy trạng thái khởi đầu)

    (Từ sau bước đầu, sử dụng giá trị dự đoán)

  3. Cải thiện $\pi$ tương ứng với $W_t^n = w(J(s_t, U_t^n))$

    (Giá trị đánh giá) -> (Cập nhật) -> Phân phối đề xuất (Chính sách) $\pi$

    (Tác động vào môi trường thực)

Trong MPC dựa trên lấy mẫu, ta đưa vào một chính sách (hoặc còn gọi là phân phối đề xuất) sinh ra chuỗi hành động $\pi(a_{t:t+H}; \theta)$ ($\theta$ là tham số mô hình). Khi triển khai, phương pháp này thường dùng phân phối chuẩn độc lập trên từng chiều ($\theta = [\mu, \sigma]$), và giá trị khởi tạo của $\theta$ sẽ do người dùng chỉ định, ví dụ như giả định phân phối tiên nghiệm là phân phối chuẩn chuẩn hóa rồi gán $\mu=0, \sigma=1$. Từ $\pi(a_{t:t+H}; \theta)$, trước tiên ta lấy mẫu $N \in \mathbb{N}$ ứng viên chuỗi hành động $\{a_{t:t+H}^n\}_{n=1}^N$ (lưu ý $n$ ở đây không phải lũy thừa mà chỉ là chỉ số). Đối với tất cả ứng viên được lấy mẫu, ta dự đoán sự chuyển đổi trạng thái xuất phát từ $s_t$ tuân theo $f(s, a)$, và cuối cùng tính toán chi phí $J$. Ngoài ra, bạn cũng nên nhớ rằng đôi khi quy trình dự đoán chuyển đổi trạng thái và tính toán chi phí tương ứng với các ứng viên chuỗi hành động này được gọi là Rollout.

Dù sao đi nữa, nếu so sánh các $J$ thu được thì chắc chắn sẽ có sự khác biệt, từ đó có thể đánh giá ứng viên nào ưu việt hơn. Do đó, ta định nghĩa trọng số $W_t^n \ge 0$ cho từng ứng viên như công thức dưới đây và biến đổi từ $J$.

$$W_t^n = w(J(s_t, a_{t:t+H}^n); \{J(s_t, a_{t:t+H}^N)\}_{n=1}^N) \quad (5.22)$$

Có một vài đề xuất về cách định nghĩa trọng số này, nhưng một phương pháp tiêu biểu là Phương pháp Cross Entropy (Cross Entropy Method; CEM) [35] được trình bày dưới đây.

$$W_{t; \text{CEM}}^n = \begin{cases} 1 & J(s_t, a_{t:t+H}^n) \le J_{\text{threshold}} \\ 0 & J(s_t, a_{t:t+H}^n) > J_{\text{threshold}} \end{cases} \quad (5.23)$$

Ở đây, $J_{\text{threshold}}$ là giá trị ngưỡng để phân chia các ứng viên ở nhóm đầu và nhóm cuối, thông thường nó được cho bởi vị phân vị (Quantile) $q$ với $q \in [0, 1]$. Trong CEM, hệ thống được thiết kế để bỏ qua toàn bộ những ứng viên nhóm cuối, và những ứng viên nhóm đầu đôi khi được gọi là Tinh hoa (Elite/ エリート).

Sử dụng $W$ đã tính toán, ta sẽ cập nhật $\theta$ của $\pi(a_{t:t+H}; \theta)$ thông qua ước lượng hợp lý cực đại (Maximum Likelihood Estimation/ 最尤推定) có trọng số.

$$\theta^* = \arg\max_\theta \sum_{n=1}^N W_t^n \ln \pi(a_{t:t+H}^n; \theta) \quad (5.24)$$

Bằng cách thỏa mãn $W \ge 0$, nếu mô hình phân phối có thể giải ước lượng hợp lý cực đại không có trọng số (tức là $W=1$ cho toàn bộ ứng viên) bằng dạng đóng (Closed-form/ 閉形式), thì dù có trọng số (miễn là $\sum W > 0$) nó cũng có thể được giải bằng dạng đóng một cách tương tự. Ví dụ, nếu chính sách (Policy/ 方策) được cấp bởi phân phối Gauss (Gaussian Distribution/ ガウス分布), thì tham số mô hình (Model Parameter/ モデルパラメータ) $\theta^* = [\mu^*, \sigma^*]$ của nó sẽ được tìm ra lần lượt như sau.

$$\mu^* = \frac{1}{\sum_{n=1}^N W_t^n} \sum_{n=1}^N W_t^n a_{t:t+H}^n$$
$$\sigma^* = \sqrt{\frac{1}{\sum_{n=1}^N W_t^n} \sum_{n=1}^N W_t^n (a_{t:t+H}^n – \mu^*)^2} \quad (5.25)$$

Trong đó, $\theta_{\text{old}}$ là $\theta$ trước khi cập nhật. $\alpha$ này tương đương với kích thước bước (Step Size/ ステップサイズ) (tốc độ học) khi giải ước lượng hợp lý cực đại có trọng số nói trên bằng phương pháp đạo hàm (Gradient Method/ 勾配法).

Bằng cách tiếp tục lấy mẫu chuỗi hành động từ chính sách chứa $\theta$ đã được cập nhật theo cách này, ta chắc chắn sẽ dễ dàng thu được mức chi phí tốt hơn so với trước đó. Do đó, trong MPC dựa trên lấy mẫu, người ta sẽ lặp lại chu kỳ: lấy mẫu các ứng viên chuỗi hành động ở trên $\rightarrow$ đánh giá từng ứng viên $\rightarrow$ cập nhật tham số mô hình. Một vòng lặp như vậy được gọi là một Vòng lặp (Iteration/ イテレーション), và việc thực hiện đủ số vòng lặp được kỳ vọng sẽ mang lại sự hội tụ về chính sách tối ưu. Tuy nhiên, cần chú ý rằng trong những tác vụ không thể thực hiện đủ số vòng lặp do giới hạn về thời gian tính toán v.v., hệ thống sẽ phải tương tác với môi trường sử dụng chính sách và hành động chưa được hội tụ hoàn toàn. Đặc biệt, vì MPC dựa trên lấy mẫu tương đương với phương pháp đạo hàm bậc 0 nên tốc độ hội tụ khá chậm, nếu thời gian tính toán ngắn thì vấn đề này rất dễ lộ rõ.

Như một giải pháp mang tính đối phó tạm thời (Ad-hoc), người ta thường sử dụng Warm Start (Khởi động ấm), nó tập trung vào việc chính sách thu được ở thời điểm trước $t-1$ có thể tái sử dụng nếu loại trừ phần liên quan đến $a_{t-1}$. Tức là, giá trị khởi tạo của $\theta_t = [\theta_t, \dots, \theta_{t+H}]$ sẽ được cung cấp như sau.

$$\theta_{t+h}^0 = \begin{cases} (1-\beta)\theta_0 + \beta\theta_{t-1}^{t+h} & \text{otherwise} \\ \theta_0 & h=H \end{cases} \quad (5.27)$$

Trong đó, $\theta_0$ là tham số mô hình của phân phối tiên nghiệm do người dùng chỉ định, $\theta_{t-1}^t$ là $\theta$ thu được ở thời điểm trước, $\beta \in [0, 1]$ là hệ số khuếch đại (Gain/ ゲイン) của Warm Start. Ngoài ra, do việc tối ưu hóa ở thời điểm trước chỉ tính đến $t-1+H$, nên nó không có $\theta$ tương ứng cho $t+H$, vì vậy chỉ riêng phần đó sẽ được khởi tạo như thông thường. Đúng là Warm Start đóng vai trò cải thiện hiệu suất vì nó giúp bắt đầu tìm kiếm giải pháp từ một vị trí gần với chính sách tối ưu, nhưng mặt khác Mô hình thế giới chắc chắn vẫn còn tồn tại ít nhiều sai số so với thế giới thực, nên cần lưu ý rằng nếu $\beta$ quá lớn khiến hệ thống nhắm mắt tin tưởng tuyệt đối vào kết quả tối ưu hóa của thời điểm trước, thì có khả năng nó sẽ không thể lấy mẫu được những điểm ứng viên đa dạng đủ để hấp thụ sai số đó. Mã giả về MPC dựa trên lấy mẫu vừa trình bày được trình bày ở Algorithm 5.

Mã giả của Algorithm 5 MPC dựa trên lấy mẫu [3, 35]

1: Khởi tạo $\theta$

2: Quan sát trạng thái $s_t$

3: lặp lại (repeat)

4: Sinh ứng viên chuỗi hành động: $\{a_{t:t+H}^n\}_{n=1}^N \sim \pi(a_{t:t+H}; \theta)$

5: cho (for) $n = 1, 2, \dots, N$ thực hiện (do) $\triangleright$ Rollout

6: Dự đoán quỹ đạo: $s_{t+h+1} = f(s_{t+h}, a_{t+h}^n), h = 0, 1, \dots, H$

7: Đánh giá quỹ đạo: $J(s_t, a_{t:t+H}^n) = \phi(s_{t+H+1}) + \sum_{\tau=t}^{t+H} L(s_\tau, a_\tau)$

8: kết thúc vòng lặp (end for)

9: Gán trọng số: $W_t^n = w(J(s_t, a_{t:t+H}^n); \{J(s_t, a_{t:t+H}^N)\}_{n=1}^N)$

10: Ước lượng hợp lý cực đại có trọng số: $\theta^* = \arg\max_\theta \sum_{n=1}^N W_t^n \ln \pi(a_{t:t+H}^n; \theta)$

11: Cập nhật: $\theta \leftarrow (1-\alpha)\theta + \alpha\theta^*$

12: cho đến khi (until) hội tụ / đạt đến giới hạn thời gian

5-2-4 Ví dụ cải tiến quy trình Lập kế hoạch

Ngoài Warm Start này, người ta cũng đã tiến hành nhiều nghiên cứu đa dạng, ví dụ như phương pháp đưa vào một phân phối xác suất dễ sinh ra chuỗi hành động ưu tú thay thế cho phân phối Gauss [38], hay phương pháp đưa vào phương pháp gia tốc Nesterov (Nesterov’s Accelerated Gradient Method/ Nesterov の加速法) [39] bằng cách coi việc cập nhật $\theta$ như một phương pháp đạo hàm, hoặc phương pháp kết hợp nhiều kỹ thuật khác nhau như cách sinh nhiễu khám phá hay tái sử dụng ứng viên quá khứ [40], vì vậy nếu Warm Start là không đủ thì bạn nên tìm hiểu thêm. Chẳng hạn trong tác phẩm của tôi [4], bằng cách xem xét lại quy tắc cập nhật $\theta$ dựa trên công thức (5.24), tôi đã dẫn xuất ra một quy tắc cập nhật có hiệu suất cao.

Cụ thể, chúng ta chú ý vào sự thật rằng nguồn gốc của bài toán ước lượng hợp lý cực đại được cung cấp ở công thức (5.24) được dẫn xuất từ Phân kỳ Kullback-Leibler hướng thuận. Như tôi đã đề cập ở chương 4 về việc Phân kỳ Kullback-Leibler sẽ thay đổi nếu đảo ngược thứ tự của 2 phân phối xác suất đầu vào, lúc này khi cho trước phân phối xác suất mục tiêu $\pi^*$ và phân phối xác suất $\pi$ muốn tối ưu hóa để khớp với nó, thì $\text{KL}(\pi^* || \pi)$ được gọi là Phân kỳ Kullback-Leibler hướng thuận (Forward), còn $\text{KL}(\pi || \pi^*)$ được gọi là hướng ngược (Reverse). Chúng được biết đến là sẽ tạo ra sự khác biệt rõ rệt khi $\pi^*$ là một phân phối đa đỉnh (Multimodal Distribution/ 多峰分布) có nhiều chóp (Mode) và $\pi$ là một phân phối đơn đỉnh đơn giản, trong đó hướng thuận thể hiện hành vi được gọi là bao phủ khối (Mass-covering), còn hướng ngược thể hiện hành vi tìm kiếm chóp (Mode-seeking) (Hình 5-7). Nghĩa là, vì công thức (5.24) là hướng thuận, nên thông qua hành vi bao phủ khối, $\pi$ sẽ được tối ưu hóa sao cho bao phủ toàn bộ $\pi^*$. Điều này tuy có hiệu quả trong việc khó bỏ sót giải pháp tối ưu toàn cục (Global Optimum/ 大域的最適解), nhưng lại dễ lấy mẫu các ứng viên không cần thiết nên tốn nhiều thời gian để hội tụ.

Mặt khác, nếu có thể sử dụng Phân kỳ Kullback-Leibler hướng ngược thay cho công thức (5.24) để dẫn ra bài toán tối ưu hóa liên quan đến tham số $\theta$ của $\pi$, thì hành vi đó sẽ được cập nhật sao cho chỉ thể hiện một trong các chóp mà $\pi^*$ sở hữu, điều được gọi là tìm kiếm chóp. Trong trường hợp này, xác suất lấy mẫu các ứng viên không cần thiết sẽ thấp đi, vì vậy mặc dù có rủi ro bỏ sót giải pháp tối ưu toàn cục nhưng ta có thể kỳ vọng vào việc phát hiện nhanh chóng giải pháp gần tối ưu (Suboptimal Solution/ 準最適解).

Khi thực tế sử dụng Phân kỳ Kullback-Leibler hướng ngược để dẫn ra quy tắc cập nhật cho $\theta$, ta sẽ thu được bài toán tối ưu hóa có ràng buộc (Constrained Optimization Problem/ 制約付き最適化問題) dưới đây.

$$\theta^* = \arg\min_\theta \mathbb{E}_{a_{t:t+H}^n \sim \pi(a_{t:t+H}^n; \theta_{\text{old}})} [- \ln W_t^n \ln \pi(a_{t:t+H}^n; \theta)]$$
$$\text{s.t.} \quad \text{KL}(\pi(a_{t:t+H}; \theta) || \pi(a_{t:t+H}; \theta_{\text{old}})) \le \delta \quad (5.28)$$

Điểm khác biệt so với công thức (5.24) có thể nói là trọng số áp dụng lên độ hợp lý logarit $\ln \pi$ về chính sách và điều kiện ràng buộc. Trước tiên, theo truyền thống thì các điểm ứng viên được gán trọng số bằng $W_t^n \ge 0$, nhưng trong trường hợp này ta có thể thấy việc gán trọng số là thông qua $\ln W_t^n \in \mathbb{R}$. Tức là, trước đây mọi ứng viên đều được gán trọng số bằng giá trị không âm nên dù là ứng viên không cần thiết thì cũng chỉ dừng ở mức bị bỏ qua để làm tốt hơn, còn trong trường hợp này ta có thể chủ động loại trừ các ứng viên không cần thiết bằng cách gán trọng số cho chúng bằng giá trị âm. Ngoài ra, trong trường hợp này dù chính sách có là phân phối Gauss thì cũng không thu được giải pháp bằng dạng đóng nữa, nhưng bằng cách dẫn xuất ra phương pháp Mirror Descent [41] dựa trên điều kiện ràng buộc, ta có thể cập nhật dựa trên đạo hàm có xem xét đến miền xác định của $\theta$. Đồng thời, có thể phát sinh vấn đề mới là hướng cập nhật của đạo hàm mang trọng số âm dương sẽ triệt tiêu lẫn nhau, nhưng các biện pháp phòng tránh sự triệt tiêu này bằng cách tham khảo lấy mẫu loại bỏ (Rejection Sampling/ 棄却サンプリング) cũng đã được tính đến. Mặc dù việc triển khai sẽ phức tạp hơn so với quy tắc cập nhật $\theta$ dẫn xuất từ Phân kỳ Kullback-Leibler hướng thuận dùng trước đây, nhưng hành vi thúc đẩy đạt được giải pháp gần tối ưu sớm hơn và chủ động ngăn chặn việc tạo ra các ứng viên không cần thiết là rất có tính thực tiễn, vì nó dễ mang lại hành động không tồi ngay cả khi quá trình tối ưu hóa bị ngắt giữa chừng do điều kiện thời gian thực, do đó nếu bạn có hứng thú tìm hiểu chi tiết thì hãy đọc nguyên tác [4].

Hình 5-7 Tính bất đối xứng của Phân kỳ KL: Thể hiện những tính chất khác nhau khi xấp xỉ phân phối xác suất mục tiêu.

a) Phân kỳ KL hướng thuận: Bao phủ khối

Phân phối xác suất mục tiêu $\pi^*$

$\arg\min \text{KL}(\pi^* || \pi)$

Bao phủ toàn bộ mục tiêu!

b) Phân kỳ KL hướng ngược: Tìm kiếm chóp

Tập trung vào một chóp của mục tiêu!

$\arg\min \text{KL}(\pi || \pi^*)$

5-3 Học tăng cường phần dư (Residual Reinforcement Learning)

Cuối cùng, như một phương pháp tiếp cận hoàn toàn khác biệt với các phương pháp học tăng cường dựa trên mô hình xoay quanh Mô hình thế giới từ trước đến nay, tôi sẽ giới thiệu ngắn gọn về Học tăng cường phần dư (Residual Reinforcement Learning/ 残差強化学習) [42]. Đối với một hệ thống/tác vụ mà ta muốn sử dụng học tăng cường để thu được hành động tối ưu, thường thì người ta đã triển khai sẵn một bộ điều khiển (Controller/ 制御器) truyền thống phát triển từ trước đến nay dựa trên lý thuyết điều khiển (như Điều khiển PID v.v.), và phần lớn trường hợp đã đạt được mức hiệu suất nhất định với nó. Trong hoàn cảnh đó, việc cố ý loại bỏ bộ điều khiển hiện tại để thay thế bằng học tăng cường – thứ mà phải học xong mới biết có mang lại cải thiện hiệu suất hay không – là một rủi ro tự nhiên, đồng thời chi phí dành cho việc học cũng là những yếu tố khó lòng chấp nhận. Có lẽ bạn sẽ nảy ra ý tưởng đầu tiên là thông qua học bắt chước (Imitation Learning/ 模倣学習) để thu được chính sách khởi tạo có thể tái tạo bộ điều khiển hiện có, rồi từ đó cải thiện chính sách để tìm kiếm hành động tốt hơn (xem chương 6), nhưng không có gì đảm bảo học bắt chước sẽ kế thừa chính xác đặc tính của bộ điều khiển hiện có.

Vì vậy, một phương hướng khác được đưa ra là Học tăng cường phần dư này. Trong phương pháp này, ta vẫn giữ nguyên và vận hành bộ điều khiển hiện tại, đồng thời thiết kế không gian hành động của học tăng cường sao cho nó bù trừ (bổ sung) cho giá trị lệnh từ bộ điều khiển đó, nhằm mục đích sử dụng học tăng cường để lấp đầy phần dư (khoảng cách) giữa hiệu suất lý tưởng và những gì bộ điều khiển hiện tại chưa thể đạt được (Hình 5-8). Một ví dụ dễ hiểu là bù đắp cho sai số mô hình hóa còn lại của bộ điều khiển được triển khai bằng cách xấp xỉ tuyến tính một hệ thống vốn dĩ là phi tuyến tính.

Hình 5-8 Cấu trúc cơ bản của Học tăng cường phần dư: Tinh chỉnh hành vi và bù trừ phần dư bằng cách cộng hành động từ chính sách RL vào hành động từ bộ điều khiển hiện tại.

Chính sách RL $a \sim \pi$ -> (Cộng)

Trạng thái $s$ -> Bộ điều khiển hiện tại $\pi_H$ -> (Cộng) -> Môi trường đã được bù trừ

(Cộng) -> Môi trường ban đầu -> Phần thưởng $r$ -> Chính sách RL $a \sim \pi$

Môi trường ban đầu -> Trạng thái $s$

Về mặt lý thuyết, việc bộ điều khiển hiện tại $\pi_H$ tác động lên xác suất chuyển đổi trạng thái nguyên bản của môi trường $p_e$ có thể được diễn giải thành sự thay thế bằng $\tilde{p}_e$.

$$\tilde{p}_e(s’ | s, a) = p_e(s’ | s, a + \pi_H(s)) \quad (5.29)$$

Điểm cần chú ý ở đây là tùy thuộc vào $\pi_H$, $\tilde{p}_e$ có thể trở nên phức tạp hơn, thậm chí ở mức độ khắc nghiệt nó có thể phá vỡ Quá trình quyết định Markov. Ví dụ, trong Điều khiển PID được đưa ra ở trên, Thành phần I nhằm triệt tiêu sai số tích lũy cần đến lịch sử quá khứ, vì vậy nếu nghĩ một cách đơn giản thì nó sẽ phá vỡ Quá trình quyết định Markov. Ngoài ra, mặc dù hành động $a$ của học tăng cường thường được cộng vào giá trị lệnh từ bộ điều khiển hiện có, nhưng ta không thể phớt lờ việc nếu không giới hạn tập giá trị (Range/ 値域) của $a$ ở mức độ nào đó, thì nó hoàn toàn có khả năng triệt tiêu hoàn toàn giá trị lệnh gốc bằng $a = -\pi_H(s)$. Cũng liên quan đến điểm này, trong học tăng cường phần dư ở giai đoạn đầu của quá trình học, rất có thể $a$ sẽ gây cản trở hành vi nguyên bản và làm giảm hiệu suất, vì vậy hãy nhớ rằng không nên nóng vội mà cần tiếp tục theo dõi tình hình. Dù sao đi nữa, một khi vượt qua được các điểm lưu ý trong thiết kế này, nói chung học tăng cường phần dư có thể tận dụng tối đa kiến thức tiên nghiệm (Prior Knowledge/ 事前知識) để giới hạn quá trình chuyển đổi trạng thái của môi trường, do đó người ta đã báo cáo rằng nó có thể học tập với hiệu quả cực kỳ cao [43]. Khi bạn cân nhắc chuyển đổi từ bộ điều khiển hiện có sang học tăng cường, việc thử nghiệm phương pháp này trước cũng là một ý tưởng không tồi.

Leave a Comment

Chia sẻ:

Chương 5: Học tăng cường dựa trên mô hình (Model-based Reinforcement Learning/ モデルベース強化学習)

Or copy link

CONTENTS