Nhập môn Reinforcement Learning: Policies, Value Functions và Bellman Equations
Nhập môn Reinforcement Learning: Policies, Value Functions và Bellman Equations
Chào mọi người, ở bài trước chúng ta đã set up xong bộ khung của một bài toán RL thông qua Finite MDP, hiểu được cách Agent giao tiếp với Environment và mục tiêu tối thượng của nó là tối đa hóa Expected return ().
Nhưng câu hỏi đặt ra là: Làm thế nào để Agent biết một state là "tốt" hay "xấu"? Làm sao nó biết chọn action nào để dẫn tới cái expected return cao nhất đó?
Hôm nay chúng ta sẽ giải quyết câu hỏi này bằng cách đi vào trái tim của mọi thuật toán Reinforcement Learning: Value Functions và Bellman Equations. Phần này toán khá nặng, các bạn hãy chuẩn bị sẵn tinh thần nhé.
1. Policies và Value Functions
Hầu hết các thuật toán RL đều dựa trên việc ước lượng các Value Functions (Hàm giá trị). Nói một cách đơn giản, hàm giá trị dùng để đánh giá xem việc Agent ở tại một state nhất định (hoặc thực hiện một action nhất định tại state đó) là tốt tới mức nào. Tốt ở đây chính là lượng expected return mà Agent có thể thu được trong tương lai.
Tất nhiên, số reward thu được trong tương lai phụ thuộc hoàn toàn vào những hành động mà Agent sẽ thực hiện. Do đó, Value function phải được định nghĩa dựa trên một thứ gọi là Policy (Chính sách).
Policy ()
Policy là cách mà Agent ánh xạ (mapping) từ state hiện tại sang action. Nếu Agent sử dụng policy tại thời điểm , thì chính là xác suất mà nếu . Nói trắng ra, là bộ não của Agent. Nó quy định xác suất chọn hành động khi đang đứng ở trạng thái .
State-value function ()
Khi đã có một policy , ta định nghĩa State-value function của một state (ký hiệu là ) là expected return (lợi tức kỳ vọng) khi Agent bắt đầu từ và bám theo policy cho tới cuối:
là giá trị kỳ vọng khi Agent theo policy . Nếu Agent đang ở state , cho nó biết: "Nếu mày cứ đi theo chiến thuật này, trung bình mày sẽ kiếm được chừng này điểm".
Action-value function ()
Tương tự, ta có hàm đánh giá việc chọn một hành động cụ thể tại state , sau đó mới tiếp tục đi theo policy . Ký hiệu là và được gọi là Action-value function:
cực kỳ quan trọng trong các model-free methods (như Q-Learning mà ta sẽ học sau này), vì nó chỉ thẳng cho Agent biết action nào đang là tốt nhất mà không cần biết rules của environment.
2. Phương trình Bellman (Bellman Expectation Equation)
Điểm ăn tiền nhất của value functions trong RL là chúng thỏa mãn một tính chất đệ quy cực kỳ đẹp. Đối với bất kỳ policy và state nào, giá trị của luôn có thể phân tích thành: Reward ngay lập tức + Giá trị của state tiếp theo.
Nhớ lại công thức tính Return ở bài trước: . Lắp nó vào định nghĩa của , ta có một phương trình kinh điển:
Phương trình cuối cùng chính là Bellman Equation cho . Nhìn mớ toán này có vẻ đáng sợ, nhưng thực chất nó mô tả một logic rất tự nhiên. Hãy bóc tách nó ra:
- : Agent thử tất cả các action có thể làm tại state , nhân với xác suất nó sẽ chọn action đó (do policy quyết định).
- : Với mỗi action , environment sẽ đưa Agent tới state và trả về reward . Ta tính tổng tất cả các trường hợp này nhân với xác suất xảy ra của chúng (hàm của MDP).
- : Đây là giá trị đạt được của nhánh đó, gồm reward hiện tại cộng với giá trị (đã discount) của state tiếp theo .
Tóm lại, Bellman Equation cho thấy giá trị của một state chính là kỳ vọng của các kết quả có thể xảy ra, lấy trung bình theo xác suất chọn action của và xác suất phản hồi của environment .
(Note: Nếu bạn vẽ cái này ra giấy dưới dạng một cái cây rẽ nhánh, bạn sẽ có khái niệm gọi là Backup diagram - dùng rất nhiều để minh họa thuật toán).
3. Optimal Value Functions (Hàm giá trị tối ưu)
Giải quyết một bài toán RL đồng nghĩa với việc tìm ra một policy đem lại nhiều reward nhất trong dài hạn.
Một policy được định nghĩa là tốt hơn hoặc bằng policy nếu expected return của nó lớn hơn hoặc bằng trên mọi states. Tức là: khi và chỉ khi với mọi .
Sẽ luôn có ít nhất một policy tốt hơn hoặc bằng tất cả các policy còn lại. Ta gọi đó là Optimal policy, ký hiệu là . Tất cả các optimal policies đều chia sẻ chung một state-value function tối ưu, gọi là Optimal state-value function, :
Và tương tự, chúng cũng chia sẻ chung một Optimal action-value function, :
Để hiểu rõ sự liên kết, có thể viết dưới dạng như sau:
Điều này có nghĩa: Giá trị tối ưu của việc chọn action tại state chính là expected reward nhận được lập tức cộng với giá trị tối ưu của state tiếp theo.
4. Bellman Optimality Equation (Phương trình tối ưu Bellman)
Vì là hàm giá trị của policy tối ưu, nó phải thỏa mãn điều kiện tự nhiên tả trị của một state phải bằng với expected return của hành động tốt nhất từ state đó. Khác với Bellman equation thông thường (tính trung bình qua các actions), Bellman Optimality Equation sẽ lấy giá trị Max:
Hai phương trình cuối cùng chính là form chuẩn của Bellman Optimality Equation cho .
Tương tự, đối với , phương trình tối ưu Bellman là:
Đối với finite MDP, Bellman optimality equation cho là một hệ gồm phương trình phi tuyến (với là số lượng states). Nếu biết rõ dynamics của môi trường (hàm ), theo nguyên tắc ta có thể giải hệ phương trình này bằng các phương pháp giải quyết hệ phương trình phi tuyến tính.
Một khi đã có , việc tìm ra optimal policy cực kỳ đơn giản. Tại bất kỳ state nào, sẽ có ít nhất một action đạt được giá trị max trong phương trình Bellman optimality. Mọi policy gán xác suất cho các action tối ưu này (và cho các action còn lại) đều là optimal policy. Nói cách khác, khi có , Agent chỉ cần tỏ ra greedy (tham lam) ở mỗi step là đủ để tối ưu hóa toàn bộ quá trình dài hạn. Nếu có thì việc này còn dễ hơn nữa, Agent thậm chí không cần biết dynamics của môi trường, chỉ cần nhìn vào và chọn action có giá trị cao nhất là xong.
Đôi lời trước khi kết thúc
Mặc dù Bellman optimality equations cung cấp một lời giải toán học cực kỳ hoàn hảo để tìm optimal policy, trong thực tế ta hiếm khi tính toán trực tiếp được nó do 3 giới hạn:
- Hiếm khi ta biết được chính xác hàm dynamics của môi trường.
- Năng lực tính toán (Computational cost) là có giới hạn, đặc biệt khi state space quá lớn.
- Không đủ bộ nhớ, ví dụ trò chơi Backgammon có states, không thể nào lưu trữ hết được.
Do đó, các thuật toán RL thực tế sinh ra là để tìm cách xấp xỉ (approximate) lời giải của Bellman equation thay vì giải nó một cách tuyệt đối. Ở phần sau, chúng ta sẽ bước sang một chương mới, khám phá cách dùng Dynamic Programming (Quy hoạch động) để giải quyết các MDP khi biết trước môi trường.
Cảm ơn các bạn đã đọc đến đây, phần này toán nhiều chắc cũng lú lắm rồi
. Hẹn gặp lại!
References:
- Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction
All rights reserved