Thuật ngữ

Chuẩn hóa hàng loạt

Tăng hiệu suất học sâu với chuẩn hóa hàng loạt! Tìm hiểu cách kỹ thuật này tăng cường tốc độ đào tạo, tính ổn định và độ chính xác trong các mô hình AI.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Chuẩn hóa theo lô là một kỹ thuật được sử dụng rộng rãi trong học sâu để ổn định quá trình học và tăng tốc đáng kể quá trình đào tạo mạng nơ-ron sâu . Được giới thiệu bởi Sergey Ioffe và Christian Szegedy trong bài báo năm 2015 của họ " Chuẩn hóa theo lô: Tăng tốc đào tạo mạng sâu bằng cách giảm dịch chuyển hiệp biến nội bộ ", nó giải quyết vấn đề trong đó phân phối đầu vào cho các lớp sâu trong mạng thay đổi trong quá trình đào tạo, được gọi là dịch chuyển hiệp biến nội bộ. Bằng cách chuẩn hóa đầu vào cho từng lớp đối với mỗi lô nhỏ, Chuẩn hóa theo lô giúp duy trì phân phối ổn định hơn của các giá trị kích hoạt, dẫn đến sự hội tụ mượt mà và nhanh hơn.

Chuẩn hóa hàng loạt hoạt động như thế nào

Trong quá trình đào tạo, Chuẩn hóa theo lô chuẩn hóa các đầu vào thành một lớp cho mỗi lô nhỏ. Điều này bao gồm tính toán giá trị trung bình và phương sai của các kích hoạt trên toàn bộ lô nhỏ, sau đó chuẩn hóa các kích hoạt này. Điều quan trọng là kỹ thuật này cũng đưa ra hai tham số có thể học được trên mỗi kênh kích hoạt – tham số thang đo (gamma) và tham số dịch chuyển (beta). Các tham số này cho phép mạng học thang đo và giá trị trung bình tối ưu của các đầu vào được chuẩn hóa, về cơ bản mang lại cho mạng sự linh hoạt để hoàn tác chuẩn hóa nếu điều đó có lợi cho việc học. Quá trình này giúp giải quyết các vấn đề như độ dốc biến mấtđộ dốc bùng nổ bằng cách giữ các kích hoạt trong phạm vi hợp lý. Trong quá trình suy luận , giá trị trung bình và phương sai được cố định, thường sử dụng số liệu thống kê dân số ước tính trong quá trình đào tạo.

Lợi ích của việc sử dụng chuẩn hóa hàng loạt

Áp dụng Chuẩn hóa theo lô trong mạng nơ-ron mang lại một số lợi thế chính:

  • Đào tạo nhanh hơn: Nó thường cho phép tốc độ học tập cao hơn đáng kể, giúp tăng tốc độ hội tụ của quá trình đào tạo. Xem Mẹo đào tạo mô hình để biết thêm các chiến lược tối ưu hóa.
  • Luồng Gradient được cải thiện: Bằng cách ổn định phân phối kích hoạt, nó làm giảm các vấn đề về gradient biến mất và bùng nổ, dẫn đến quá trình đào tạo ổn định hơn, đặc biệt là trong các mạng rất sâu.
  • Hiệu ứng chuẩn hóa: Chuẩn hóa theo lô thêm một thành phần nhiễu nhỏ vào đầu vào lớp do số liệu thống kê lô nhỏ. Điều này hoạt động như một dạng chuẩn hóa , có khả năng làm giảm nhu cầu sử dụng các kỹ thuật khác như Dropout .
  • Giảm độ nhạy với khởi tạo: Các mạng có chuẩn hóa theo lô thường ít nhạy cảm hơn với trọng số ban đầu được chọn trước khi bắt đầu đào tạo.
  • Cho phép mạng lưới sâu hơn: Bằng cách giải quyết các vấn đề liên quan đến việc đào tạo kiến trúc sâu, nó tạo điều kiện thuận lợi cho việc đào tạo thành công các mô hình sâu hơn nhiều.

Ứng dụng và Ví dụ

Chuẩn hóa theo lô là thành phần chính trong nhiều mô hình học sâu hiện đại, đặc biệt là trong thị giác máy tính .

  1. Nhận dạng hình ảnh và phát hiện đối tượng: Trong Mạng nơ-ron tích chập (CNN) , Chuẩn hóa hàng loạt thường được áp dụng sau các lớp tích chập và trước hàm kích hoạt (như ReLU ). Các mô hình như ResNet phụ thuộc rất nhiều vào nó. Trong các mô hình phát hiện đối tượng , như Ultralytics YOLO , Chuẩn hóa hàng loạt giúp ổn định quá trình đào tạo, cải thiện độ chính xác và tăng tốc độ hội tụ, cho phép phát hiện hiệu quả trên các tập dữ liệu phức tạp như COCO . Các biến thể như Chuẩn hóa hàng loạt mini chéo (CmBN) đã được sử dụng trong các mô hình như YOLOv4 để nâng cao hiệu suất hơn nữa.
  2. Mạng đối nghịch tạo sinh (GAN): Chuẩn hóa theo lô thường được sử dụng trong mạng máy phát và mạng phân biệt của GAN để ổn định quá trình đào tạo đối nghịch, mặc dù cần triển khai cẩn thận để tránh hiện tượng nhiễu. Nó giúp ngăn chặn sự sụp đổ chế độ và đảm bảo động lực đào tạo mượt mà hơn.

Các khái niệm và biến thể liên quan

Trong khi Chuẩn hóa theo lô được sử dụng rộng rãi, vẫn còn một số kỹ thuật chuẩn hóa liên quan, mỗi kỹ thuật phù hợp với các tình huống khác nhau:

  • Chuẩn hóa lớp: Chuẩn hóa các đầu vào trên các tính năng cho một mẫu dữ liệu duy nhất, độc lập với lô. Thường được ưa chuộng trong Mạng nơ-ron hồi quy (RNN)Bộ biến đổi , trong đó độ dài chuỗi có thể thay đổi. Xem bài báo gốc " Chuẩn hóa lớp ".
  • Chuẩn hóa thể hiện: Chuẩn hóa từng kênh trên các chiều không gian cho từng mẫu dữ liệu một cách độc lập. Thường được sử dụng trong các tác vụ chuyển kiểu ( Chuyển kiểu thần kinh ) để loại bỏ thông tin tương phản cụ thể của thể hiện. Xem bài báo " Chuẩn hóa thể hiện: Thành phần còn thiếu để tạo kiểu nhanh ".
  • Chuẩn hóa nhóm: Chia kênh thành các nhóm và chuẩn hóa trong mỗi nhóm cho một mẫu dữ liệu duy nhất. Nó hoạt động như một sự thỏa hiệp giữa Chuẩn hóa lớp và Chuẩn hóa thể hiện và hoạt động tốt ngay cả với kích thước lô nhỏ. Xem bài báo " Chuẩn hóa nhóm ".

Những cân nhắc và triển khai

Một cân nhắc quan trọng đối với Chuẩn hóa theo lô là sự phụ thuộc của nó vào kích thước lô nhỏ trong quá trình đào tạo. Hiệu suất có thể giảm nếu kích thước lô quá nhỏ (ví dụ: 1 hoặc 2), vì số liệu thống kê lô trở thành ước tính nhiễu của số liệu thống kê dân số. Hơn nữa, hành vi khác nhau giữa đào tạo (sử dụng số liệu thống kê lô) và suy luận (sử dụng số liệu thống kê dân số ước tính). Các khuôn khổ học sâu tiêu chuẩn như PyTorch (torch.nn.BatchNorm2d) Và TensorFlow (tf.keras.layers.BatchNormalization) cung cấp các triển khai mạnh mẽ. Bất chấp các giải pháp thay thế, Chuẩn hóa theo lô vẫn là kỹ thuật cơ bản để đào tạo nhiều mô hình học sâu hiện đại một cách hiệu quả.

Đọc tất cả