antoan.ai

Chương 6.1: Học tăng cường

10 phút đọc · Markov Grey, Charbel-Raphaël Segerie

Học tăng cường (reinforcement learning) huấn luyện các tác nhân AI bằng phương pháp thử-sai để tối đa hóa phần thưởng nhận được, nhưng nếu thứ ta thưởng cho nó không khớp hoàn hảo với thứ ta thực sự muốn, AI có thể chỉ đơn giản là tăng điểm số thay vì thực sự hoàn thành nhiệm vụ đề ra.

Phần này mang tính chất ôn tập. Nếu bạn đã nắm vững các khái niệm cơ bản, bạn có thể bỏ qua và chuyển thẳng sang phần tiếp theo.

Phần này ôn lại ngắn gọn một số khái niệm trong học tăng cường (Reinforcement Learning – RL), đồng thời làm rõ sự khác biệt giữa các thuật ngữ thường bị nhầm lẫn với nhau như phần thưởng (reward), giá trị (value) và độ thỏa dụng (utility). Phần này khép lại bằng việc phân định khái niệm mục tiêu mà một hệ thống học tăng cường có thể theo đuổi với thứ mà nó thực sự được thưởng.

Kiến thức nền

Định nghĩa 6.1 — Học tăng cường (Reinforcement Learning – RL)

Học tăng cường (RL) tập trung vào việc phát triển các tác nhân (agent) có khả năng học hỏi từ những trải nghiệm tương tác. RL dựa trên ý tưởng một tác nhân học thông qua tương tác với môi trường, rồi điều chỉnh hành vi của mình dựa trên phản hồi nhận được — dưới dạng phần thưởng — sau mỗi hành động.

Video 6.1 — Video minh họa (không bắt buộc xem) về một bàn tay robot được huấn luyện bằng học tăng cường.

Một số ứng dụng thực tế của RL bao gồm:

  • Hệ thống robot: RL đã được áp dụng cho các tác vụ như điều khiển robot vật lý theo thời gian thực, giúp chúng học được những chuyển động phức tạp hơn. RL có thể giúp các hệ thống robot học các tác vụ phức tạp và thích ứng với môi trường luôn thay đổi.
  • Hệ thống gợi ý (Recommender Systems): RL có thể được áp dụng cho các hệ thống gợi ý — vốn tương tác với hàng tỷ người dùng và hướng đến việc đưa ra gợi ý cá nhân hóa. Các thuật toán RL có thể học cách tối ưu hóa chính sách gợi ý dựa trên phản hồi của người dùng, từ đó cải thiện trải nghiệm người dùng nói chung.
  • Hệ thống chơi game: Vào đầu những năm 2010, các hệ thống dựa trên RL bắt đầu đánh bại con người ở một vài trò chơi Atari rất đơn giản, như Pong và Breakout. Qua nhiều năm, đã có nhiều mô hình sử dụng RL để đánh bại các kỳ thủ, cao thủ hàng đầu thế giới ở cả cờ bàn lẫn video game. Trong số đó có các mô hình như AlphaGo (DeepMind, 2016 (mở trong tab mới)), AlphaZero (DeepMind, 2018 (mở trong tab mới)), OpenAI Five (OpenAI, 2019 (mở trong tab mới)), AlphaStar (DeepMind, 2019 (mở trong tab mới)), MuZero (DeepMind, 2020 (mở trong tab mới)) và EfficientZero (Ye et al., 2021 (mở trong tab mới)).

RL khác với học có giám sát (supervised learning) ở chỗ nó chỉ bắt đầu từ một mô tả cấp cao về "cái gì" cần làm, nhưng để cho tác nhân tự trải nghiệm và học ra "cách nào" là tốt nhất từ kinh nghiệm. Trong RL, tác nhân học thông qua tương tác với môi trường và nhận phản hồi dưới dạng phần thưởng hoặc hình phạt dựa trên hành động của nó. RL tập trung vào việc học một tập quy tắc gợi ý hành động tốt nhất nên thực hiện ở một trạng thái cho trước, nhằm tối đa hóa phần thưởng dài hạn. Ngược lại, học có giám sát thường liên quan đến việc học từ các nhãn hoặc đáp án đúng được cung cấp tường minh cho từng đầu vào.

Vòng lặp cốt lõi

Cách vận hành tổng thể của RL tương đối đơn giản. Hai thành phần chính là bản thân tác nhân, và môi trường mà tác nhân đó tồn tại và hoạt động trong đó. Ở mỗi bước thời gian:

  1. Tác nhân thực hiện một hành động a_t
  2. Trạng thái môi trường s_t thay đổi tùy theo hành động a_t.
  3. Môi trường sau đó trả về một quan sát o_t và một phần thưởng r_t.

Lịch sử (history) là chuỗi các quan sát, hành động và phần thưởng đã xảy ra tính đến thời điểm t: h_t = (a_1, o_1, r_1, …, a_t, o_t, r_t). Trạng thái của thế giới nhìn chung là một hàm số của lịch sử: s_t = f(h_t). Trạng thái Thế giới (World State) là trạng thái đầy đủ, thực sự của thế giới, được dùng để xác định cách thế giới tạo ra quan sát và phần thưởng tiếp theo. Tác nhân có thể nhận được toàn bộ trạng thái thế giới dưới dạng một quan sát o_t, hoặc chỉ một phần trong số đó.

Thế giới chuyển từ trạng thái s_t sang trạng thái tiếp theo s_(t+1), dựa trên động lực tự nhiên của môi trường, hoặc dựa trên hành động của tác nhân. Việc chuyển trạng thái có thể mang tính tất định (deterministic) hoặc ngẫu nhiên (stochastic).

Vòng lặp này tiếp diễn cho đến khi đạt điều kiện kết thúc, hoặc có thể chạy vô thời hạn. Dưới đây là sơ đồ tóm lược quá trình RL:

Sơ đồ vòng lặp cốt lõi của học tăng cường
Hình 6.1 — (Brunskill, 2022 (mở trong tab mới))

Chính sách

Định nghĩa 6.2 — Chính sách trong Học tăng cường

Chính sách (policy) giúp tác nhân xác định hành động nào cần thực hiện sau khi đã nhận được một quan sát. Đây là một hàm ánh xạ từ trạng thái sang hành động, quy định hành động nào cần thực hiện ở mỗi trạng thái. Chính sách có thể mang tính tất định hoặc ngẫu nhiên.

Mục tiêu của RL là học một chính sách (thường ký hiệu là π) gợi ý hành động tốt nhất cần thực hiện ở bất kỳ thời điểm nào, nhằm tối đa hóa tổng phần thưởng tích lũy theo thời gian. Chính sách xác định ánh xạ từ trạng thái sang hành động, và định hướng quá trình ra quyết định của tác nhân.

π: S → A

Chính sách có thể là tất định hoặc ngẫu nhiên. Một chính sách tất định ánh xạ trực tiếp mỗi trạng thái s_t sang một hành động cụ thể a_t, và thường được ký hiệu là μ. Ngược lại, một chính sách ngẫu nhiên gán một phân phối xác suất lên các hành động ứng với mỗi trạng thái. Chính sách ngẫu nhiên thường được ký hiệu là π.

Chính sách tất định: a_t = μ(s_t)

Chính sách ngẫu nhiên: π(a|s) = P(a_t = a | s_t = s)

Trong Deep RL (RL sâu), chính sách là các hàm ánh xạ được học trong quá trình huấn luyện. Chúng phụ thuộc vào tập tham số đã học của một mạng nơ-ron (ví dụ: trọng số và độ chệch — bias). Các tham số này thường được ký hiệu bằng chỉ số dưới gắn vào phương trình chính sách, dùng θ hoặc φ. Vì vậy chính sách tất định theo tham số của một mạng nơ-ron được viết là a_t = μ_θ(s_t), còn dạng ngẫu nhiên tương ứng là a_t ∼ π_θ(·|s_t).

Một chính sách tối ưu tối đa hóa phần thưởng tích lũy kỳ vọng theo thời gian. Tác nhân học từ kinh nghiệm và điều chỉnh chính sách của mình dựa trên phản hồi nhận được từ môi trường, dưới dạng phần thưởng hoặc hình phạt.

Để xác định một hành động có tốt hơn hành động khác hay không, các hành động (hoặc các cặp trạng thái–hành động) cần được đánh giá theo một cách nào đó. Có hai cách nhìn khác nhau về việc nên chọn hành động nào: phần thưởng tức thời (xác định bởi hàm phần thưởng) và phần thưởng tích lũy dài hạn (xác định bởi hàm giá trị hành động). Cả hai đều ảnh hưởng lớn đến loại chính sách mà tác nhân học được, và do đó cũng ảnh hưởng đến hành động mà tác nhân thực hiện. Phần tiếp theo sẽ khám phá và làm rõ hơn khái niệm phần thưởng.

Phần thưởng

Định nghĩa 6.3 — Phần thưởng

Phần thưởng (reward) là bất kỳ tín hiệu hay cơ chế phản hồi nào được dùng để định hướng quá trình học và tối ưu hóa hành vi của mô hình.

Tín hiệu phần thưởng từ môi trường là một con số cho tác nhân biết trạng thái hiện tại của thế giới tốt hay xấu ra sao. Đây là cách để đánh giá hoặc đo lường hiệu suất của các đầu ra hoặc hành động của mô hình. Phần thưởng có thể được định nghĩa dựa trên một tác vụ hay mục tiêu cụ thể, chẳng hạn như tối đa hóa điểm số trong một trò chơi, hoặc đạt được một kết quả mong muốn trong một tình huống thực tế. Quá trình huấn luyện của RL bao gồm việc tối ưu hóa các tham số của mô hình để tối đa hóa phần thưởng kỳ vọng. Mô hình học cách tạo ra các hành động hoặc đầu ra có nhiều khả năng nhận được phần thưởng cao hơn, từ đó cải thiện hiệu suất theo thời gian. Vậy phần thưởng đến từ đâu? Nó được tạo ra thông qua một hàm phần thưởng.

Định nghĩa 6.4 — Hàm phần thưởng

Hàm phần thưởng (reward function) xác định mục tiêu hoặc đích đến trong một bài toán học tăng cường. Nó ánh xạ các trạng thái được cảm nhận, hoặc các cặp trạng thái–hành động của môi trường, thành một con số duy nhất.

R: (S × A) → ℝ; r_t = R(s_t, a_t)

Hàm phần thưởng cung cấp phản hồi tức thời cho tác nhân, cho biết mức độ tốt hay xấu của một trạng thái hay hành động cụ thể. Đây là một hàm toán học ánh xạ các cặp trạng thái–hành động trong môi trường của tác nhân thành một giá trị vô hướng, thể hiện mức độ đáng mong muốn của việc ở trạng thái đó và thực hiện hành động đó. Nó cung cấp một thước đo phản hồi tức thời cho tác nhân, cho biết tác nhân đang thực hiện tốt đến đâu ở mỗi bước.

Hàm phần thưởng và hàm giá trị

Phần thưởng thể hiện mức độ đáng mong muốn tức thời của trạng thái hoặc hành động, trong khi hàm giá trị (value function) thể hiện mức độ đáng mong muốn dài hạn của các trạng thái, có tính đến các phần thưởng và trạng thái trong tương lai. Giá trị là lợi ích kỳ vọng nếu ta bắt đầu từ một trạng thái, hay một cặp trạng thái–hành động, rồi hành động theo một chính sách nhất định mãi mãi về sau.

Có nhiều cách khác nhau để chọn hàm giá trị. Chúng cũng có thể được chiết khấu theo thời gian, tức là các phần thưởng trong tương lai có giá trị thấp hơn theo một hệ số nào đó.

Sau đây là một công thức đơn giản: tổng chiết khấu của các phần thưởng tương lai theo một chính sách cho trước. Phần thưởng tích lũy có chiết khấu được cho bởi:

R = r_t + γr_(t+1) + γ²r_(t+2) + … = Σ^∞_(t=0) γ^t r_t

Và giá trị của việc hành động theo chính sách này được cho bởi:

V_π(s_t = s) = E_π(R | s_t = s)

Hàm phần thưởng và hàm thỏa dụng

Cũng cần phân biệt khái niệm độ thỏa dụng (utility) với phần thưởng và giá trị. Hàm phần thưởng thường được dùng trong bối cảnh RL để định hướng quá trình học và hành vi của tác nhân. Ngược lại, hàm thỏa dụng (utility function) mang tính tổng quát hơn, phản ánh sở thích hay mức độ hài lòng chủ quan của tác nhân, cho phép so sánh và đánh đổi giữa các trạng thái khác nhau của thế giới. Hàm thỏa dụng là khái niệm được dùng nhiều hơn trong lĩnh vực lý thuyết quyết định (decision theory) và các nghiên cứu về nền tảng tác nhân (agent foundations).