Reinforcement Learning
Học tăng cường (RL) huấn luyện tác tử bằng phương pháp thử và sai để tối đa hóa phần thưởng dài hạn. Bài viết đề cập đến vòng lặp RL, Q-learning, các nhóm thuật toán và ứng dụng.
Học tăng cường (RL) là một nhánh của machine learning (ML), trong đó một agent học cách đưa ra một chuỗi quyết định bằng cách thử hành động trong một môi trường và nhận thưởng hoặc phạt, với mục tiêu tích lũy phần thưởng nhiều nhất có thể theo thời gian. Không ai nói cho agent biết hành động nào là đúng. Agent tự khám phá những hành động mang lại lợi ích, kể cả các hành động chỉ có kết quả sau nhiều bước, chẳng hạn nước cờ giúp thắng quân sau mười lượt. Vì vậy, RL là phương pháp tiêu chuẩn cho các bài toán điều khiển tuần tự: chơi game, điều khiển robot và huấn luyện mô hình ngôn ngữ lớn (LLM) để tạo ra câu trả lời mà con người ưa thích hoặc chương trình có thể xác minh. Richard Sutton và Andrew Barto, tác giả cuốn giáo trình đã định hình lĩnh vực hiện đại, nhận Giải thưởng Turing ACM A.M. năm 2024 nhờ những đóng góp nền tảng cho học tăng cường.
Cách học tăng cường hoạt động#
Các bài toán RL được mô hình hóa chính thức dưới dạng quá trình quyết định Markov (MDP). Ở mỗi bước thời gian, agent quan sát trạng thái hiện tại, chọn một hành động từ không gian hành động và nhận phần thưởng cùng trạng thái tiếp theo. Mục tiêu của agent là return, tổng phần thưởng tương lai; hệ số chiết khấu từ 0 đến 1 khiến phần thưởng ở xa được tính thấp hơn phần thưởng tức thời. Phần thưởng là mô tả duy nhất về tác vụ mà agent nhận được, vì vậy một thiết kế bất cẩn có thể dẫn đến lách phần thưởng, khi agent đạt điểm cao mà không thực hiện điều nhà thiết kế dự định.
- Agent: Thành phần học và ra quyết định, chẳng hạn bộ điều khiển robot hoặc chương trình chơi game.
- Môi trường: Mọi thứ mà agent tương tác, từ trình mô phỏng vật lý đến sàn nhà kho thực tế.
- Trạng thái: Thông tin agent dựa vào để hành động, chẳng hạn góc khớp, vị trí quân cờ hoặc các đặc trưng được trích xuất từ khung hình camera.
- Hành động: Lựa chọn có sẵn cho agent, có thể là rời rạc (trái hoặc phải) hoặc liên tục (góc lái).
- Phần thưởng: Một con số mà môi trường trả về sau mỗi hành động, dương khi có tiến triển và âm khi mắc lỗi hoặc lãng phí thời gian.
- Policy: Quy tắc agent dùng để chọn hành động trong mỗi trạng thái; đây là thành phần được cải thiện qua huấn luyện.
- Hàm giá trị: Return kỳ vọng từ một trạng thái hoặc từ việc thực hiện một hành động cụ thể trong trạng thái đó, giúp agent đánh giá hành động dựa trên hệ quả dài hạn.
Vì agent chỉ học được từ những hành động mà nó thử, agent phải cân bằng giữa khám phá — thử các hành động có giá trị chưa chắc chắn — và khai thác — chọn hành động hiện có vẻ tốt nhất. Một quy tắc phổ biến là epsilon-greedy: hành động ngẫu nhiên với xác suất nhỏ, còn lại thì chọn tham lam. Ví dụ NumPy này dùng Q-learning, một thuật toán kinh điển học giá trị của mọi cặp trạng thái-hành động, để dạy agent đi dọc hành lang sáu ô đến phần thưởng ở cuối:
import numpy as np
rng = np.random.default_rng(0)
# Hành lang gồm 6 ô: bắt đầu ở ô 0, nhận thưởng +1 khi đến ô 5; hành động 0 = trái, 1 = phải
n_states, goal = 6, 5
Q = np.zeros((n_states, 2)) # giá trị lợi tức ước tính cho mỗi (trạng thái, hành động)
alpha, gamma, epsilon = 0.5, 0.9, 0.2 # tốc độ học, hệ số chiết khấu, tỷ lệ khám phá
for episode in range(200):
state = 0
while state != goal:
# Khám phá với xác suất epsilon, nếu không thì khai thác hành động tốt nhất đã biết
action = rng.integers(2) if rng.random() < epsilon else Q[state].argmax()
next_state = max(0, state - 1) if action == 0 else state + 1
reward = 1.0 if next_state == goal else 0.0
# Cập nhật Q-learning: tiến về phía phần thưởng cộng với giá trị tốt nhất của trạng thái tiếp theo đã chiết khấu
Q[state, action] += alpha * (reward + gamma * Q[next_state].max() - Q[state, action])
state = next_state
print("Greedy policy:", ["left" if a == 0 else "right" for a in Q[:goal].argmax(axis=1)])
print("Value of moving right:", Q[:goal, 1].round(2))Kết quả in ra một policy right ở mọi ô và các giá trị [0.66 0.73 0.81 0.9 1. ]. Phần thưởng chỉ được cấp ở ô cuối, nhưng phép cập nhật đã lan truyền phần thưởng ngược về trước; mỗi bước cách mục tiêu xa hơn có giá trị bằng 0.9 lần bước kế tiếp, đúng theo hệ số chiết khấu.
Các họ thuật toán RL#
Các phương pháp dạng bảng như ví dụ trên lưu một giá trị cho mỗi trạng thái, nhưng cách này không còn hiệu quả khi trạng thái là ảnh camera hoặc góc khớp liên tục. Học tăng cường sâu thay bảng bằng một mạng neural có khả năng khái quát hóa giữa các trạng thái tương tự; các họ thuật toán chính khác nhau ở nội dung mạng đó học:
Agent không dựa trên model chỉ học từ trải nghiệm thực tế hoặc mô phỏng, trong khi agent dựa trên model học một world model dự đoán môi trường phản ứng ra sao rồi lập kế hoạch dựa trên đó, như trong điều khiển dự đoán theo model hoặc tìm kiếm cây Monte Carlo. Proximal Policy Optimization (PPO), giới hạn mức độ mỗi lần cập nhật có thể thay đổi policy, đã trở thành phương pháp policy-gradient mặc định cho robotics và huấn luyện language model; Group Relative Policy Optimization (GRPO) điều chỉnh phương pháp này cho tác vụ suy luận của LLM bằng cách loại bỏ critic được học. Spinning Up của OpenAI hướng dẫn các thuật toán này kèm các triển khai tham chiếu.
Ứng dụng thực tế#
- Trò chơi: AlphaGo của DeepMind kết hợp mạng neural sâu với tìm kiếm cây và tự chơi bằng RL để đánh bại nhà vô địch cờ vây Lee Sedol với tỷ số 4-1 vào tháng 3 năm 2016.
- Robotics: Các bộ điều khiển di chuyển cho robot bốn chân và robot hình người được huấn luyện bằng RL trên hàng nghìn robot mô phỏng chạy song song, thường có ma sát, khối lượng và địa hình được ngẫu nhiên hóa để policy có thể chuyển sang phần cứng thực.
- Căn chỉnh language model: Chat assistant được fine-tune bằng RL dựa trên reward model được huấn luyện từ các so sánh sở thích của con người; các model suy luận được huấn luyện bằng RL dựa trên bộ kiểm tra tự động xác minh đáp án toán hoặc chạy unit test.
- Hệ thống gợi ý: Xem một chuỗi đề xuất là các quyết định giúp hệ thống tối ưu mức độ tương tác dài hạn thay vì chỉ tối ưu lượt nhấp tiếp theo.
Mô phỏng là nơi huấn luyện hầu hết policy robot, vì agent có thể cần hàng triệu lần thử và phần cứng thực dễ hỏng; các framework như NVIDIA Isaac Lab chạy hàng nghìn môi trường trên một GPU, còn ngẫu nhiên hóa miền thu hẹp khoảng cách giữa vật lý mô phỏng và thực tế. Hệ thống RL dựa trên camera thường hành động dựa trên đầu ra của model nhận thức thay vì pixel thô: Ultralytics YOLO26 chạy trên robot thông qua tích hợp ROS sẽ phát các lớp đối tượng trong từng khung hình camera, cùng khoảng cách của từng đối tượng khi có camera chiều sâu, dưới dạng message gọn nhẹ để policy dùng làm trạng thái.
Học tăng cường và các mô hình liên quan#
- Học có giám sát: Mỗi mẫu huấn luyện đi kèm đáp án đúng. Agent RL chỉ nhận một phần thưởng vô hướng, thường bị trì hoãn, và hành động của chính agent quyết định dữ liệu tiếp theo mà agent quan sát.
- Học không giám sát: Model tìm ra cấu trúc, chẳng hạn như các cụm, trong dữ liệu chưa gắn nhãn; không có hành động cần thực hiện hay phần thưởng cần tối đa hóa.
- Quy trình quyết định Markov: MDP mô tả bài toán, còn RL là họ phương pháp giải bài toán đó từ trải nghiệm mà không được cung cấp xác suất chuyển trạng thái.
- Học bắt chước: Agent sao chép các minh họa từ chuyên gia, đơn giản nhất là thông qua behavioral cloning, và khó vượt qua người hướng dẫn, trong khi RL có thể khám phá những chiến lược mà không người minh họa nào từng chỉ ra. Hai phương pháp thường được kết hợp: AlphaGo trước tiên học từ 30 triệu vị trí trong các ván đấu của con người, sau đó cải thiện thông qua tự chơi; phiên bản kế nhiệm AlphaGo Zero hoàn toàn bỏ qua dữ liệu của con người và đánh bại phiên bản AlphaGo đó với tỷ số 100 ván–0.










