Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Lớp Dropout

Khám phá cách lớp dropout ngăn ngừa hiện tượng quá khớp trong mạng nơ-ron. Tìm hiểu cách triển khai kỹ thuật điều chỉnh này với... Ultralytics Sử dụng YOLO26 để cải thiện độ chính xác.

Lớp dropout là một kỹ thuật điều chỉnh cơ bản được sử dụng trong mạng nơ-ron (NN) để chống lại vấn đề quá khớp (overfitting ) phổ biến. Khi một mô hình được huấn luyện trên một tập hợp hữu hạn các ví dụ, nó thường học cách ghi nhớ nhiễu và các chi tiết cụ thể của dữ liệu huấn luyện thay vì nhận biết các mẫu tổng quát cơ bản. Việc ghi nhớ này dẫn đến độ chính xác cao trong quá trình phát triển nhưng hiệu suất kém trên các đầu vào mới, chưa từng thấy. Dropout giải quyết vấn đề này bằng cách ngẫu nhiên vô hiệu hóa—hay "loại bỏ"—một phần các nơ-ron trong một lớp trong mỗi bước của quá trình huấn luyện. Chiến lược đơn giản nhưng hiệu quả này, được giới thiệu trong một bài báo nghiên cứu quan trọng của Srivastava và cộng sự , đã cải thiện đáng kể tính ổn định và hiệu suất của các kiến trúc học sâu (DL) .

Cách thức hoạt động của các lớp Dropout

Cơ chế đằng sau lớp dropout khá trực quan, tương tự như việc loại bỏ các cầu thủ khỏi một đội thể thao trong quá trình luyện tập để buộc các cầu thủ còn lại phải nỗ lực hơn và không phụ thuộc vào một vận động viên ngôi sao duy nhất. Trong giai đoạn huấn luyện mô hình , lớp này tạo ra một mặt nạ xác suất gồm các số 0 và 1. Nếu tỷ lệ dropout được đặt là 0,5, khoảng 50% số nơ-ron sẽ tạm thời bị bỏ qua trong quá trình truyền tiến và truyền ngược cụ thể đó. Quá trình này buộc các nơ-ron hoạt động còn lại phải học các đặc trưng mạnh mẽ một cách độc lập, ngăn mạng lưới phụ thuộc quá nhiều vào bất kỳ nơ-ron nào – một hiện tượng được biết đến trong học máy (ML) là sự thích nghi đồng thời của đặc trưng.

Trong quá trình suy luận thời gian thực , hay giai đoạn kiểm thử, lớp dropout thường bị vô hiệu hóa. Tất cả các nơron vẫn hoạt động để tận dụng tối đa khả năng dự đoán của mô hình đã được huấn luyện. Để đảm bảo tổng giá trị kích hoạt vẫn nhất quán với giai đoạn huấn luyện, trọng số thường được framework tự động điều chỉnh tỷ lệ. Các thư viện hiện đại như PyTorch xử lý các phép toán điều chỉnh tỷ lệ này một cách liền mạch, cho phép các nhà phát triển tập trung vào kiến trúc hơn là các phép toán số học.

Ứng dụng thực tiễn với YOLO

Đối với người dùng ultralytics gói phần mềm, áp dụng phương pháp bỏ qua dữ liệu (dropout) vào một mô hình hiện đại như... YOLO26 Việc này đơn giản chỉ cần điều chỉnh một tham số huấn luyện. Điều này đặc biệt hữu ích khi làm việc với các tập dữ liệu nhỏ, nơi nguy cơ quá khớp cao hơn. Bằng cách đưa yếu tố ngẫu nhiên vào, bạn có thể khuyến khích mô hình tổng quát hóa tốt hơn trong các môi trường đa dạng.

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)

Các Ứng dụng Thực tế

Dropout là một kỹ thuật không thể thiếu trong nhiều lĩnh vực trí tuệ nhân tạo (AI) nơi các mô hình sử dụng số lượng tham số lớn so với dữ liệu có sẵn.

  1. Hệ thống lái tự động: Trong các tác vụ như phát hiện vật thể cho xe cộ, mô hình thị giác phải hoạt động đáng tin cậy trong các điều kiện thời tiết khác nhau. Một mô hình được huấn luyện mà không sử dụng chuẩn hóa có thể ghi nhớ ánh sáng cụ thể của một ngày nắng trong tập dữ liệu huấn luyện. Bằng cách áp dụng dropout, các nhà phát triển làm việc trong lĩnh vực trí tuệ nhân tạo cho ô tô đảm bảo mạng lưới tập trung vào các hình dạng thiết yếu—như người đi bộ hoặc biển báo dừng—thay vì các chi tiết nền, cải thiện an toàn khi trời mưa hoặc sương mù.
  2. Chẩn đoán y khoa: Khi thực hiện phân tích hình ảnh y khoa , việc thu thập dữ liệu thường tốn kém và có dung lượng hạn chế. Một mạng nơ-ron sâu có thể vô tình học cách xác định một bệnh dựa trên các nhiễu đặc trưng của máy chụp X-quang được sử dụng để thu thập dữ liệu. Kỹ thuật Dropout ngăn chặn điều này bằng cách thêm nhiễu vào quá trình học, đảm bảo mô hình xác định các đặc điểm sinh học của bệnh lý chứ không phải các dấu hiệu đặc trưng của thiết bị, điều này rất quan trọng đối với trí tuệ nhân tạo trong chăm sóc sức khỏe .

So sánh Dropout với các kỹ thuật điều chỉnh khác

Mặc dù dropout rất hiệu quả, nó thường được sử dụng kết hợp với các kỹ thuật khác. Nó khác với tăng cường dữ liệu (data augmentation ), vốn chỉ sửa đổi ảnh đầu vào (ví dụ: lật hoặc xoay) chứ không phải kiến ​​trúc mạng. Tương tự, nó khác với chuẩn hóa theo lô (batch normalization ), vốn chuẩn hóa đầu vào của các lớp để ổn định quá trình học nhưng không trực tiếp vô hiệu hóa các nơron.

Đối với các dự án phức tạp, việc quản lý các siêu tham số này có thể rất khó khăn. Nền tảng Ultralytics đơn giản hóa điều này bằng cách cung cấp các công cụ để trực quan hóa các chỉ số huấn luyện, giúp người dùng xác định xem tỷ lệ bỏ qua (dropout) của họ có thực sự làm giảm tổn thất xác thực hay không. Cho dù bạn đang xây dựng một hệ thống phân loại hình ảnh tùy chỉnh hay một quy trình phân đoạn phức tạp, việc hiểu rõ về dropout là chìa khóa để xây dựng các hệ thống AI mạnh mẽ.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay