Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Deep Reinforcement Learning

Học tăng cường sâu (DRL) sử dụng mạng nơ-ron để học chính sách và giá trị từ đầu vào thô như pixel. Nội dung đề cập DQN, PPO, kết quả và giới hạn.

Học tăng cường sâu (DRL) kết hợp học tăng cường (RL), trong đó một agent học bằng thử-sai để tối đa hóa reward, với mạng nơ-ron sâu dùng để biểu diễn những gì agent học được. RL cổ điển lưu một giá trị cho từng trạng thái trong bảng, điều không thể thực hiện khi trạng thái là ảnh camera hoặc góc khớp liên tục của robot. Thay vào đó, mạng nơ-ron ánh xạ các quan sát thô, có số chiều cao như pixel, lượt quét lidar hoặc văn bản, thành giá trị hành động hoặc xác suất hành động, rồi khái quát hóa sang những trạng thái chưa từng gặp. DQN của DeepMind khiến phương pháp này nổi tiếng vào năm 2015 khi học chơi 49 trò chơi Atari 2600 chỉ từ pixel màn hình và điểm số trò chơi, dùng một kiến trúc mạng cùng một bộ hyperparameter, đạt trình độ tương đương một người thử nghiệm trò chơi chuyên nghiệp.

Cách deep RL hoạt động#

Agent vẫn tuân theo vòng lặp RL của một quá trình quyết định Markov: quan sát trạng thái, hành động, nhận reward và cập nhật. Điểm khác biệt là hiện nay một mạng có hàng triệu parameter lưu trữ một hoặc nhiều thành phần sau:

  • Hàm giá trị: Mạng dự đoán tổng reward kỳ vọng của mỗi hành động và agent chọn hành động có giá trị cao nhất. Mạng của DQN nhận bốn khung hình trò chơi gần nhất, giảm kích thước xuống 84×84 pixel để có thể nhận biết chuyển động.
  • Policy: Mạng xuất ra xác suất cho mỗi hành động, hoặc giá trị trung bình và độ phân tán của một hành động liên tục như góc lái; các phương pháp policy gradient điều chỉnh trực tiếp policy theo hướng tăng xác suất cho những hành động mang lại tổng reward cao.
  • Actor và critic: Mạng actor chọn hành động, trong khi mạng critic ước tính giá trị để cho actor biết mỗi hành động tốt hơn kỳ vọng bao nhiêu; nhờ đó giảm nhiễu trong các lần cập nhật.
  • World model: Các agent dựa trên model như Dreamer huấn luyện mạng dự đoán quan sát và reward trong tương lai, sau đó học policy bên trong simulator đã học được đó.

Huấn luyện mạng trên dữ liệu do chính agent tạo ra không ổn định, vì các khung hình liên tiếp có tương quan cao và mục tiêu thay đổi theo sự thay đổi của mạng. DQN giải quyết vấn đề này bằng hai ý tưởng được các thuật toán sau tiếp tục sử dụng: buffer replay kinh nghiệm để huấn luyện trên các minibatch ngẫu nhiên gồm những chuyển tiếp trong quá khứ, và mạng mục tiêu riêng chỉ được cập nhật định kỳ:

Policy gradient trong mã#

Các phương pháp policy gradient bỏ qua hoàn toàn bảng giá trị: chúng lấy mẫu hành động từ mạng rồi tăng xác suất của những hành động được theo sau bởi tổng reward cao. Ví dụ PyTorch này huấn luyện một mạng policy nhỏ bằng REINFORCE, thuật toán policy gradient đầu tiên, để giữ thăng bằng một cây sào trên xe đẩy đang chuyển động trong môi trường Gymnasium CartPole:

import gymnasium as gym
import torch
from torch import nn

torch.manual_seed(0)
env = gym.make("CartPole-v1")
policy = nn.Sequential(nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 2))  # cart and pole state -> logits for left/right
optimizer = torch.optim.Adam(policy.parameters(), lr=0.02)
lengths = []

for episode in range(500):
    obs, _ = env.reset(seed=episode)
    log_probs, rewards, done = [], [], False
    while not done:  # play one episode with the current policy, earning +1 per step the pole stays up
        dist = torch.distributions.Categorical(logits=policy(torch.as_tensor(obs)))
        action = dist.sample()
        obs, reward, terminated, truncated, _ = env.step(action.item())
        log_probs.append(dist.log_prob(action))
        rewards.append(reward)
        done = terminated or truncated
    # REINFORCE: raise the log-probability of actions followed by above-average discounted return
    returns = torch.tensor([sum(0.99**k * r for k, r in enumerate(rewards[t:])) for t in range(len(rewards))])
    loss = -(torch.stack(log_probs) * (returns - returns.mean()) / (returns.std() + 1e-8)).sum()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    lengths.append(len(rewards))

print(f"Average episode length: first 20 = {sum(lengths[:20]) / 20:.0f}, last 20 = {sum(lengths[-20:]) / 20:.0f}")

Kết quả in ra là first 20 = 14, last 20 = 500: mạng chưa huấn luyện làm sào đổ trong khoảng 14 bước, còn sau 500 episode, mạng giữ thăng bằng trong toàn bộ giới hạn 500 bước của mỗi episode. Với các seed ngẫu nhiên khác, cùng script có thể bị đình trệ hoặc suy sụp giữa chừng khi huấn luyện; đây là phương sai cao mà critic và các cập nhật bị cắt của Proximal Policy Optimization (PPO) được thiết kế để giảm thiểu. Các thư viện như Stable-Baselines3 cung cấp các triển khai đã được kiểm thử của PPO, DQN và soft actor-critic (SAC).

Các ứng dụng tiêu biểu#

  • Trò chơi: Sau Atari, các agent deep RL đánh bại nhà vô địch thế giới môn cờ vây bằng AlphaGo và đạt cấp đại kiện tướng trong StarCraft II bằng AlphaStar, kết hợp học từ các ván đấu của con người với tự chơi bằng RL.
  • Đua drone: Drone Swift của Đại học Zurich, được huấn luyện bằng deep RL trong mô phỏng và tinh chỉnh bằng dữ liệu bay thực, đã thắng nhiều cuộc đua đối đầu với từng người trong số ba phi công vô địch vào năm 2023, đồng thời lập thời gian đua nhanh nhất từng được ghi nhận.
  • Năng lượng nhiệt hạch: DeepMind và Swiss Plasma Center của EPFL sử dụng policy deep RL để điều khiển các cuộn dây từ của tokamak, định hình plasma thành nhiều cấu hình, bao gồm đồng thời hai "giọt" plasma riêng biệt.
  • Robot học: Robot có chân học cách đi trên địa hình gồ ghề bằng policy được huấn luyện trên hàng nghìn robot mô phỏng, với ma sát và khối lượng được ngẫu nhiên hóa để policy vẫn hoạt động khi chuyển sang phần cứng thực.
  • Model ngôn ngữ: Tinh chỉnh RL các policy Transformer bằng reward dựa trên sở thích hoặc được kiểm tra tự động đã tạo nên các trợ lý chat và model suy luận ngày nay.

Tri giác dưới dạng quan sát#

Mạng nơ-ron tích chập của DQN phải học cách nhìn chỉ dựa vào phần thưởng, từ 84×84×4 = 28,224 giá trị pixel ở mỗi bước. Thay vào đó, nhiều hệ thống robot và xe tự hành cung cấp cho policy đầu ra của model thị giác máy tính đã được pretrained, giúp giảm kích thước quan sát và cho phép thuật toán RL dành các mẫu dữ liệu cho việc ra quyết định. Ultralytics YOLO26 ở chế độ tracking biến mỗi khung hình camera thành một lớp, một bounding box và một ID ổn định cho từng đối tượng, tạo ra trạng thái lấy đối tượng làm trung tâm mà policy cũng có thể dùng để đọc chuyển động của từng đối tượng qua các khung hình.

Thách thức#

Deep RL đòi hỏi nhiều dữ liệu: DQN được huấn luyện trên 50 triệu khung hình cho mỗi trò chơi, tương đương khoảng 38 ngày chơi, đó là lý do hầu hết policy của robot được huấn luyện trong mô phỏng rồi chuyển sang phần cứng thực. Vật lý mô phỏng không bao giờ khớp chính xác với thực tế, vì vậy kỹ sư ngẫu nhiên hóa ma sát, khối lượng, ánh sáng và kết cấu bằng ngẫu nhiên hóa miền, đồng thời bổ sung dữ liệu tổng hợp cho các điều kiện hiếm gặp. Kết quả cũng biến động theo seed ngẫu nhiên, siêu tham số và chi tiết triển khai, một vấn đề về khả năng tái lập được mô tả trong Deep Reinforcement Learning That Matters. Một optimizer mạnh cũng có thể tìm ra kẽ hở trong mọi hàm thưởng không hoàn hảo, một kiểu lỗi được gọi là lách luật phần thưởng, chẳng hạn khi một tác tử đua thuyền học cách chạy vòng tròn vô tận để tích điểm thay vì về đích.

  • Học tăng cường: Lĩnh vực rộng hơn. RL dạng bảng phù hợp với các bài toán nhỏ, còn deep RL là RL sử dụng mạng nơ-ron làm bộ xấp xỉ hàm.
  • Deep learning: Deep learning thông thường được huấn luyện trên một tập dữ liệu cố định có gán nhãn. Trong deep RL, các hành động của chính tác tử tạo ra dữ liệu và tín hiệu huấn luyện là phần thưởng đến trễ thay vì nhãn.
  • Học tăng cường từ phản hồi của con người (RLHF): Phương pháp deep RL trong đó model phần thưởng được học từ các so sánh sở thích của con người thay cho phần thưởng viết thủ công, dùng để căn chỉnh các model ngôn ngữ.
  • Điều khiển dự đoán mô hình: MPC giải một bài toán tối ưu mới trên model tường minh ở mỗi bước điều khiển, trong khi policy deep RL đã huấn luyện chọn từng hành động chỉ bằng một lượt lan truyền tiến qua mạng.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning