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 các lớp dropout ngăn chặn overfitting trong mạng neural bằng cách cải thiện khả năng tổng quát hóa, tính mạnh mẽ và hiệu suất của mô hình.

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) để ngăn ngừa vấn đề thường gặp là quá khớp . Khi một mô hình được huấn luyện trên một tập dữ liệu, nó có nguy cơ học nhiễu và các chi tiết cụ thể của dữ liệu huấn luyện thay vì các mẫu chung cơ bản. Việc ghi nhớ này dẫn đến hiệu suất kém trên dữ liệu mới, chưa được biết đến. Dropout giải quyết vấn đề này bằng cách vô hiệu hóa ngẫu nhiên—hay còn gọi là "dropout"—một phần nhỏ 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 Geoffrey Hinton và các đồng nghiệp, góp phần đáng kể vào sự phát triển của lĩnh vự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á đơn giản nhưng mạnh mẽ. Trong giai đoạn huấn luyện mô hình , lớp này tạo ra một mặt nạ gồm các số 0 và 1 dựa trên một xác suất xác định, được gọi là tỷ lệ dropout. Nếu tỷ lệ được đặt thành 0,5, khoảng 50% số nơ-ron sẽ tạm thời bị bỏ qua trong quá trình chuyển tiếp và chuyển ngược đó. Điều này buộc các nơ-ron hoạt động còn lại phải tăng tốc và học các đặc điểm mạnh mẽ một cách độc lập, ngăn không cho mạng lưới phụ thuộc quá nhiều vào bất kỳ nơ-ron đơn lẻ nào - một hiện tượng được gọi là đồng thích ứng .

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

Đối với người dùng ultralytics gói, áp dụng dropout cho một mô hình như YOLO11 đơn giản như việc điều chỉnh một lập luận đào tạo.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on a dataset with a custom dropout rate of 0.2
# This helps prevent overfitting on smaller datasets
results = model.train(data="coco8.yaml", epochs=10, dropout=0.2)

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

Dropout là điều không thể thiếu trong nhiều lĩnh vực của trí tuệ nhân tạo (AI), nơi các mô hình dễ bị quá khớp do số lượng tham số lớn hoặc dữ liệu hạn chế.

  1. Thị giác Máy tính : Trong các tác vụ như phân loại hình ảnhphát hiện đối tượng , dropout giúp mô hình tổng quát hóa tốt hơn với các môi trường thực tế đa dạng. Ví dụ, trong các giải pháp AI ô tô , một mô hình thị giác được đào tạo để nhận dạng người đi bộ phải hoạt động đáng tin cậy trong các điều kiện thời tiết và ánh sáng khác nhau. Dropout đảm bảo mô hình tập trung vào các hình dạng và đặc điểm thiết yếu thay vì ghi nhớ các kết cấu nền cụ thể từ tập dữ liệu chuẩn .
  2. Xử lý Ngôn ngữ Tự nhiên (NLP) : Dropout là một thành phần tiêu chuẩn trong kiến trúc Transformer được sử dụng cho Mô hình Ngôn ngữ Lớn (LLM) . Khi huấn luyện các mô hình cho dịch máy hoặc phân tích cảm xúc , dropout ngăn mạng lưới phụ thuộc quá nhiều vào các chuỗi từ cụ thể, khuyến khích nó nắm bắt các ý nghĩa ngữ nghĩa và cấu trúc ngữ pháp sâu hơn.

Sự khác biệt so với các khái niệm liên quan

Hiểu được sự khác biệt giữa dropout và các kỹ thuật khác là rất quan trọng để điều chỉnh siêu tham số hiệu quả.

  • Dropout so với Data Augmentation : Mặc dù cả hai phương pháp đều cải thiện khả năng khái quát hóa, nhưng tăng cường dữ liệu hoạt động bằng cách mở rộng tập huấn luyện một cách nhân tạo thông qua các phép biến đổi như xoay và chia tỷ lệ. Ngược lại, dropout tự động sửa đổi kiến trúc mạng. Hai phương pháp này thường được kết hợp; ví dụ, tăng cường dữ liệu YOLO được sử dụng cùng với dropout để tối đa hóa độ tin cậy của mô hình.
  • Dropout so với Chuẩn hóa Hàng loạt : Chuẩn hóa Hàng loạt chuẩn hóa dữ liệu đầu vào của từng lớp để ổn định quá trình học và cho phép tốc độ học cao hơn. Mặc dù có hiệu ứng chuẩn hóa nhẹ, mục tiêu chính của nó là tối ưu hóa tốc độ và độ ổn định, trong khi dropout được thiết kế rõ ràng để giảm độ phức tạp của mô hình.
  • Dropout so với Suy giảm Trọng số (Chính quy hóa L2) : Suy giảm trọng số thêm một số hạng phạt vào hàm mất mát tỷ lệ thuận với kích thước của trọng số, làm chúng co lại về 0. Tuy nhiên, Dropout tạo ra hiệu ứng tập hợp bằng cách huấn luyện hiệu quả các mạng con khác nhau trong mỗi kỷ nguyên , mang lại một góc độ chính quy hóa khác nhau. Bạn có thể tìm hiểu thêm về những khác biệt này trong ghi chú khóa học CS231n của Stanford .

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