Behavioral Cloning
Tìm hiểu cách behavioral cloning hỗ trợ AI imitation learning. Khám phá các ứng dụng chính, thách thức và cách tích hợp nó với Ultralytics YOLO26.
Behavioral cloning là một kỹ thuật nền tảng trong imitation learning, nơi một AI agent học cách thực hiện một nhiệm vụ bằng cách bắt chước nghiêm ngặt tập dữ liệu các minh chứng từ chuyên gia. Thay vì dựa vào một hệ thống phần thưởng phức tạp, mô hình coi việc ra quyết định tuần tự là một bài toán supervised learning tiêu chuẩn. Bằng cách tiếp nhận hàng nghìn cặp trạng thái-hành động—chẳng hạn như luồng dữ liệu thị giác của người điều khiển và các chuyển động joystick tương ứng—agent sẽ học một chính sách ánh xạ các quan sát mới trực tiếp thành các hành động dự đoán.
Link to this sectionCách Behavioral Cloning khác biệt so với Reinforcement Learning#
Trong khi reinforcement learning yêu cầu agent tương tác với môi trường và học thông qua thử sai để tối đa hóa tín hiệu phần thưởng, thì behavioral cloning dựa hoàn toàn vào các tập dữ liệu tĩnh đã được ghi lại trước. Vì hoạt động mà không cần tương tác môi trường hoặc hàm phần thưởng rõ ràng, nó tránh được sự phức tạp của việc thiết lập Markov Decision Process. Tuy nhiên, sự đơn giản này có nghĩa là agent không thể tìm ra các giải pháp mới vượt trội hơn hiệu suất của chuyên gia. Các phương pháp offline reinforcement learning gần đây thường sử dụng behavioral cloning làm điểm khởi đầu vững chắc để ổn định quá trình model training ban đầu trước khi tối ưu hóa thêm bằng phần thưởng.
Link to this sectionCác ứng dụng trong thực tế#
Behavioral cloning được triển khai rộng rãi trong các lĩnh vực mà việc thiết kế một hàm phần thưởng toán học là cực kỳ khó khăn nhưng việc thu thập dữ liệu minh chứng từ con người lại tương đối đơn giản.
- Autonomous Driving: Các hệ thống tự lái hiện đại, như NVIDIA DRIVE, sử dụng mạnh mẽ end-to-end behavioral cloning. Bằng cách huấn luyện trên hàng nghìn giờ dữ liệu lái xe của con người, các mô hình học cách xuất ra các góc lái và lệnh tăng tốc trực tiếp từ các luồng computer vision đầu vào.
- Robotics Manipulation: Các cánh tay robot được điều khiển từ xa sử dụng behavioral cloning để học các nhiệm vụ vật lý phức tạp, chẳng hạn như phân loại bưu kiện, lắp ráp các bộ phận sản xuất, hoặc gấp quần áo. Bằng cách ghi lại chính xác các góc khớp và trạng thái thị giác từ các minh chứng của con người, các mô hình có thể tái tạo các kỹ năng vận động tinh với độ chính xác cao.
Link to this sectionVấn đề sai số tích lũy (Compounding Error)#
Hạn chế đáng kể nhất của kỹ thuật này là covariate shift, thường được gọi là sai số tích lũy. Trong quá trình huấn luyện, agent chỉ học từ các quỹ đạo chuyên gia hoàn hảo. Trong quá trình thực thi vòng lặp đóng trong thế giới thực, một sai sót nhỏ ban đầu sẽ đưa agent vào một trạng thái lạ không có trong dữ liệu huấn luyện. Do thiếu kiến thức để phục hồi, các hành động tiếp theo sẽ suy giảm nhanh chóng, dẫn đến thất bại hoàn toàn. Việc giảm thiểu vấn đề này đòi hỏi các tập dữ liệu khổng lồ, đa dạng và kỹ thuật data augmentation có mục tiêu.
Link to this sectionNhững tiến bộ gần đây: Diffusion Policies và Action Chunking#
Để vượt qua các hạn chế truyền thống, các kiến trúc deep learning hiện đại đang tích hợp các kỹ thuật tạo sinh. Diffusion policies tận dụng khung toán học của các mô hình khuếch tán để biểu diễn các phân phối hành động đa phương thức, cực kỳ phức tạp, cho phép các agent xử lý các tình huống mơ hồ một cách khéo léo, một khái niệm được khám phá sâu sắc trong nghiên cứu robotics gần đây. Đồng thời, action chunking cho phép một agent dự đoán một chuỗi các hành động trong tương lai thay vì chỉ một bước, giảm thiểu tần suất lỗi phản ứng và đảm bảo quá trình thực thi mượt mà hơn.
Link to this sectionTriển khai thực tế với Computer Vision#
In practice, behavioral cloning relies on a strong perception backbone to extract environmental states before passing them to the policy network. Using the Ultralytics Platform to manage datasets, developers often pair high-speed object detection models with neural network libraries like PyTorch or specialized control packages like TorchRL.
Đoạn mã Python sau đây minh họa cách Ultralytics YOLO26 có thể đóng vai trò là lớp nhận diện, trích xuất tọa độ không gian để đưa vào một chính sách behavioral cloning cơ bản bằng PyTorch giúp dự đoán hành động lái.
import torch
import torch.nn as nn
from ultralytics import YOLO
# Load an Ultralytics YOLO26 model as the perception layer
perception_model = YOLO("yolo26n.pt")
results = perception_model("robot_camera_feed.jpg")
# Extract the bounding box center to define the current environmental state
if len(results[0].boxes) > 0:
box = results[0].boxes[0].xywh.squeeze()
state = torch.tensor([box[0], box[1]]) # x, y center coordinates
# A simplified PyTorch Behavioral Cloning policy mapping states to actions
bc_policy = nn.Linear(in_features=2, out_features=1)
# Predict the expert-cloned action (e.g., a steering angle)
predicted_action = bc_policy(state)
print(f"Predicted cloned action: {predicted_action.item()}")Khi các nghiên cứu từ những tổ chức như OpenAI và Anthropic tiến tới các mô hình nền tảng cho trí tuệ vật lý, behavioral cloning sẽ vẫn là một nền tảng quan trọng để dạy máy móc hiểu và điều hướng trong các môi trường phức tạp của thế giới thực.






