Reinforcement Learning (RL): Học Tương Tác để Hoàn Thành Mục Tiêu

Reinforcement Learning (RL), hay học tăng cường, là một nhánh của trí tuệ nhân tạo (AI) và học máy (machine learning) tập trung vào việc huấn luyện các tác nhân (agent) để đưa ra quyết định tối ưu trong một môi trường nhất định, nhằm đạt được mục tiêu cụ thể. Thay vì được lập trình sẵn, agent học cách hành động thông qua tương tác trực tiếp với môi trường và nhận được phần thưởng (reward) hoặc hình phạt (penalty) cho các hành động của mình.

1. Bản chất của Reinforcement Learning

RL là quá trình học hỏi thông qua thực hiện. Thay vì được hướng dẫn một cách rõ ràng về cách thực hiện một nhiệm vụ, agent phải tự khám phá ra các hành động nào mang lại phần thưởng cao nhất. Điều này được thực hiện bằng cách thử nghiệm các hành động khác nhau trong các tình huống khác nhau và quan sát kết quả.

Trong RL, chúng ta có khái niệm “agent”, đại diện cho một thực thể được huấn luyện để thực hiện một nhiệm vụ cụ thể, bằng cách tối đa hóa phần thưởng nhận được.

Ví dụ, trong trò chơi CoastRunners, nhiệm vụ là hoàn thành chặng đua thuyền nhanh nhất có thể và đạt thứ hạng cao. Để huấn luyện một agent chơi trò chơi này, chúng ta cần thiết kế một hàm phần thưởng (reward function) phù hợp. Hàm này sẽ đánh giá hiệu suất của agent dựa trên các tiêu chí như thời gian hoàn thành, thứ hạng, hoặc các yếu tố khác.

Tuy nhiên, việc thiết kế hàm phần thưởng không phải lúc nào cũng đơn giản. Nếu các tiêu chí không được xác định đúng, agent có thể phát triển các hành vi không mong muốn. Ví dụ, nhóm OpenAI đã gặp phải tình huống này khi họ chọn phần thưởng dựa trên điểm số trong game thay vì thời gian hoàn thành. Kết quả là, agent tìm cách đạt điểm cao mà không cần hoàn thành chặng đua.

agentagent

Những hành vi “thú vị” này có thể chấp nhận được trong video game, nhưng trong các ứng dụng thực tế như tự động hóa hoặc robot học, chúng có thể gây ra hậu quả nghiêm trọng. Robot có thể thực hiện các hành động nguy hiểm hoặc không tuân thủ các nguyên tắc kỹ thuật cơ bản.

Các bạn có thể tham khảo thêm về idea trong bài báo của OpenAI về cái mà họ gọi là Safety AI.

2. Mô hình hóa toán học của Reinforcement Learning

Để hiểu sâu hơn về RL, chúng ta cần xem xét các khái niệm toán học cơ bản. Dưới đây là mô hình hóa toán học của RL, tham khảo từ khóa học 6.S191 intro deep learning của MIT.

2.1. Agent: Là thực thể đưa ra quyết định và tương tác với môi trường.

2.2. Môi trường (Environment): Là không gian mà agent hoạt động và tương tác. Môi trường cung cấp thông tin về trạng thái hiện tại và nhận các hành động từ agent.

Giới thiệu về Reinforcement Learning (RL)Giới thiệu về Reinforcement Learning (RL)

2.3. Trạng thái (State) S(t): Là thông tin về môi trường tại thời điểm t. Dựa trên trạng thái hiện tại, agent sẽ đưa ra hành động.

2.4. Hành động (Action) a(t): Là hành động mà agent thực hiện tại thời điểm t. Hành động này tác động đến môi trường và làm thay đổi trạng thái của nó.

Giới thiệu về Reinforcement Learning (RL)Giới thiệu về Reinforcement Learning (RL)

2.5. Trạng thái tiếp theo S(t+1): Là trạng thái của môi trường sau khi agent thực hiện hành động a(t).

2.6. Phần thưởng (Reward) r(t): Là tín hiệu phản hồi mà agent nhận được sau khi thực hiện hành động a(t) ở trạng thái S(t). Phần thưởng này đánh giá mức độ tốt của hành động và khuyến khích agent học hỏi các hành động mang lại phần thưởng cao.

Giới thiệu về Reinforcement Learning (RL)Giới thiệu về Reinforcement Learning (RL)

2.7. Tổng phần thưởng: Vì quá trình tương tác giữa agent và môi trường có thể kéo dài vô hạn, tổng phần thưởng là một chuỗi vô hạn các phần thưởng thành phần tại các thời điểm khác nhau.

2.8. Khai triển chuỗi vô hạn: Để tính toán tổng phần thưởng, chúng ta cần khai triển chuỗi vô hạn này.

2.9. Discount Factor (γ): Để đảm bảo chuỗi tổng phần thưởng hội tụ, chúng ta sử dụng một hệ số chiết khấu (discount factor) γ (0 ≤ γ ≤ 1). Hệ số này giảm giá trị của các phần thưởng trong tương lai, khuyến khích agent tập trung vào các phần thưởng trước mắt. Việc hội tụ là bắt buộc để huấn luyện thành công agent.

Giới thiệu về Reinforcement Learning (RL)Giới thiệu về Reinforcement Learning (RL)

Các khái niệm trên dựa trên một framework được gọi là Markov Decision Processes (MDPs). MDP cung cấp một framework toán học cho việc mô hình hóa các tình huống ra quyết định, trong đó kết quả xảy ra một cách ngẫu nhiên một phần và phần còn lại phụ thuộc vào các hành động của agent. Phần thưởng thu được phụ thuộc vào hành động được chọn và cả trạng thái mới và cũ của môi trường.

Một phần thưởng Rai(sj,sk) thu được khi agent chọn hành động aia_iai​ ở trạng thái sjs_jsj​ và làm cho môi trường chuyển đổi từ trạng thái sjs_jsj​ sang sks_ksk​. Agent tuân theo một chính sách (policy) πpiπ. Cụ thể là π(⋅):S→A sao cho với mỗi trạng thái sj∈Ss_j in mathcal{S}sj​∈S thì agent chọn cho nó một hành động ai∈Aa_i in mathcal{A}ai​∈A. Vậy nên policy là thứ bảo với agent cái hành động nào nên được chọn trong mỗi trạng thái.

Để huấn luyện được agent, mục tiêu là tìm được policy πpiπ sao cho:

Giới thiệu về Reinforcement Learning (RL)Giới thiệu về Reinforcement Learning (RL)

Trong đó βbetaβ là discount factor và βbetaβ < 1.

Về cơ bản, chúng ta đang cố gắng tối đa hóa tổng của tất cả các phần thưởng (tính đến discount factor) ở mỗi trạng thái cụ thể từ lúc bắt đầu đến khi kết thúc (dẫu cho T → ∞, vì chúng ta chưa biết khi nào thì quá trình này kết thúc nên nó vẫn luôn là một chuỗi vô hạn), và đương nhiên là phải dựa trên policy πpiπ vì agent của chúng ta dựa trên nó để chọn phần thưởng tốt nhất. Bản chất thì đây là một bài toán tối ưu (optimization problem).

Ở trên là một tiêu chí mà chúng ta có thể dùng để optimize cho việc tìm ra nghiệm (optimal policy). Cụ thể chúng ta gọi tiêu chí này là infinite horizon sum reward criteria. Cũng có một vài reward criteria khác mà tôi tạm thời không gác lại trong khuôn khổ bài viết này.

Phụ thuộc vào các criteria khác nhau mà chúng ta sẽ có các algorithm khác nhau để tìm ra optimal policy. Với infinite horizon sum reward criteria thì chúng ta có thể sử dụng một thuật toán RL cũng khá kinh điển đó là Q-Learning để giải quyết (tôi sẽ nói về alogorithm này ở một bài viết khác).

3. Ứng dụng tiềm năng của Reinforcement Learning

Reinforcement Learning có tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm:

  • Robot học: Điều khiển robot để thực hiện các nhiệm vụ phức tạp trong môi trường thực tế.
  • Trò chơi: Huấn luyện agent để chơi các trò chơi điện tử ở trình độ siêu phàm.
  • Tài chính: Xây dựng các hệ thống giao dịch tự động và quản lý rủi ro.
  • Y tế: Phát triển các phương pháp điều trị và chăm sóc sức khỏe cá nhân hóa.
  • Giao thông vận tải: Tối ưu hóa luồng giao thông và điều khiển xe tự hành.
  • Quản lý năng lượng: Điều khiển hệ thống năng lượng thông minh để tiết kiệm năng lượng và giảm chi phí.

4. Kết luận

Reinforcement Learning là một lĩnh vực đầy hứa hẹn với tiềm năng thay đổi cách chúng ta tương tác với máy móc và giải quyết các vấn đề phức tạp trong thế giới thực. Mặc dù vẫn còn nhiều thách thức cần vượt qua, RL đang ngày càng được ứng dụng rộng rãi và mang lại những kết quả ấn tượng.

5. Tham khảo