Learning Rate
Tìm hiểu cách learning rate tác động đến quá trình huấn luyện model. Khám phá cách tối ưu hóa step size cho Ultralytics YOLO26 để đạt được hiệu suất SOTA trong phát hiện đối tượng và hơn thế nữa.
Learning rate là một cấu hình hyperparameter tuning quan trọng giúp xác định kích thước bước mà model thực hiện trong quá trình tối ưu hóa. Trong bối cảnh training một neural network, nó kiểm soát mức độ cập nhật các trọng số nội tại của model để phản hồi lại lỗi ước tính mỗi khi model xử lý một batch dữ liệu. Hãy tưởng tượng nó giống như một người đang đi bộ xuống núi về phía thung lũng (điểm có lỗi thấp nhất); learning rate quyết định độ dài bước chân của họ. Nếu sải bước quá lớn, họ có thể bước hụt qua thung lũng và bỏ lỡ đáy. Nếu sải bước quá nhỏ, việc đến đích có thể mất một khoảng thời gian dài bất khả thi.
Link to this sectionTiến thoái lưỡng nan "Goldilocks" trong tối ưu hóa#
Việc tìm ra learning rate tối ưu thường được mô tả là một hành động cân bằng trong các quy trình machine learning. Mục tiêu là giảm thiểu loss function, vốn đo lường sự khác biệt giữa các dự đoán của model và ground truth thực tế. Quá trình này dựa nhiều vào optimization algorithm như stochastic gradient descent (SGD) hoặc Adam optimizer để điều hướng trên không gian loss.
- Learning Rate quá cao: Nếu giá trị được đặt quá cao, các cập nhật trọng số của model sẽ rất mạnh. Điều này có thể dẫn đến hiện tượng "overshooting", nơi model không hội tụ được về một giải pháp mà thay vào đó dao động mạnh hoặc phân kỳ. Sự không ổn định này đôi khi có thể gây ra vấn đề exploding gradient, làm cho quá trình training trở nên vô dụng.
- Learning Rate quá thấp: Ngược lại, kích thước bước cực nhỏ đảm bảo rằng model di chuyển cẩn thận về phía giá trị tối thiểu, nhưng nó có thể dẫn đến underfitting vì quá trình training trở nên chậm chạp một cách khó chịu. Model có thể bị kẹt trong một giá trị cực tiểu địa phương hoặc mất hàng ngàn epochs bổ sung để học các mẫu đơn giản, gây lãng phí tài nguyên tính toán. Các nhà nghiên cứu thường tham khảo PyTorch documentation on optimization để hiểu cách các thuật toán khác nhau tương tác với các giá trị này.
Link to this sectionCác ứng dụng trong thực tế#
The impact of learning rate adjustments is evident across various high-stakes industries where computer vision tasks are deployed.
-
Autonomous Driving Systems: In the development of autonomous vehicles, engineers utilize vast datasets to train models for object detection to identify pedestrians and traffic signs. When applying transfer learning to a pre-trained model like YOLO26, developers typically use a much smaller learning rate than they would during initial training. This "fine-tuning" ensures that the model learns the nuances of specific driving environments (e.g., snowy roads vs. desert highways) without erasing the general feature extraction capabilities it already possesses.
-
Chẩn đoán hình ảnh y tế: Trong medical image analysis, chẳng hạn như phát hiện khối u trong ảnh MRI, độ chính xác là tối quan trọng. Một learning rate cao ở đây tạo ra rủi ro khiến model bỏ qua các khác biệt tinh tế về kết cấu giúp phân biệt mô ác tính với mô lành tính. Các chuyên gia thường sử dụng kỹ thuật gọi là "learning rate warmup", tăng dần tỷ lệ từ 0 đến giá trị mục tiêu để ổn định các giai đoạn đầu của quá trình training, đảm bảo các trọng số neural network ổn định trước khi bắt đầu học tập mạnh mẽ. Bạn có thể đọc thêm về các chiến lược này trong Google Machine Learning Crash Course.
Link to this sectionPhân biệt các thuật ngữ liên quan#
Điều quan trọng là phải phân biệt learning rate với các tham số training khác, vì chúng thường được cấu hình trong cùng các tệp cấu hình nhưng phục vụ các mục đích khác nhau:
- Learning Rate so với Batch Size: Trong khi learning rate kiểm soát độ lớn của cập nhật, batch size xác định số lượng mẫu training được xử lý trước khi một cập nhật diễn ra. Có một mối quan hệ chặt chẽ giữa hai yếu tố này; thông thường, khi tăng batch size, người ta cũng phải tăng quy mô learning rate để duy trì hiệu quả training, một khái niệm được khám phá trong các tài liệu về large-batch training.
- Learning Rate so với Decay: Decay đề cập đến chiến lược mà learning rate được giảm một cách có hệ thống theo thời gian. Một bộ lập lịch có thể giảm tỷ lệ theo hệ số 10 sau mỗi 30 epochs. Điều này giúp model thực hiện các bước nhảy khái niệm lớn ở giai đoạn đầu và sau đó tinh chỉnh độ chính xác với các bước nhỏ hơn về cuối quá trình training. Đây là một tính năng tiêu chuẩn trong Ultralytics Python package.
Link to this sectionThiết lập Learning Rate trong Ultralytics YOLO#
Khi sử dụng các framework hiện đại, bạn có thể dễ dàng điều chỉnh learning rate ban đầu (lr0) và phân đoạn learning rate cuối cùng (lrf). Dưới đây là ví dụ về cách cấu hình điều này bằng cách sử dụng client tương thích với Ultralytics Platform cho một đợt training tùy chỉnh.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)Đối với người dùng nâng cao, các kỹ thuật như LR Finder (được phổ biến bởi fast.ai) về cơ bản có thể tự động hóa việc tìm ra giá trị bắt đầu tốt nhất bằng cách chạy một epoch thử nghiệm ngắn, nơi tỷ lệ được tăng theo cấp số nhân cho đến khi loss phân kỳ. Việc làm chủ hyperparameter này thường là chìa khóa mở khóa hiệu suất SOTA (State-of-the-Art) trong các dự án AI của bạn.






