Là thêm tiếng ồn ngẫu nhiên cho các lớp ẩn được coi là một chính quy? Sự khác biệt giữa làm điều đó và thêm bỏ học và bình thường hóa hàng loạt là gì?


Câu trả lời 1:

Có, thêm tiếng ồn ngẫu nhiên vào các lớp ẩn là một sự chính quy theo cách chính xác giống như bỏ học. Trực giác quan trọng ở đây là nếu phản ứng thần kinh ở mỗi lớp ồn, thì việc đào tạo phải điều chỉnh các trọng số thành các loại riêng biệt với độ hở lớn hơn nhiễu. Do đó, tại thời điểm kiểm tra, khi không có tiếng ồn, việc phân loại sẽ ổn định hơn. Điều này rất giống với cách phân loại lợi nhuận tối đa hoạt động và tất cả chúng ta đều biết các kỹ thuật lợi nhuận tối đa thành công như thế nào (ví dụ: Support Vector Machines). Tuy nhiên, bạn phải cẩn thận để đảm bảo rằng nhiễu không lấn át tín hiệu.

Bỏ học được coi là một phương pháp chính quy vì nó thực hiện tính trung bình mô hình. Đó là, trong quá trình đào tạo, mô hình tại một thời điểm cụ thể thực sự là phân phối xác suất trên một loại mô hình mạng thần kinh trong đó các trọng số được cố định nhưng có thể thiếu bất kỳ một tế bào thần kinh nào trong mô hình. Xác suất tổng thể của mỗi mạng lưới thần kinh được xác định bởi xác suất riêng lẻ của một tế bào thần kinh cụ thể có mặt hoặc vắng mặt. Đây là chính quy bởi vì nó tính trung bình trên độ lệch của từng trường hợp, làm trơn tru hàm chi phí.

Thêm tiếng ồn ngẫu nhiên vào lớp ẩn hoạt động theo cùng một cách, nhưng với phân phối xác suất khác nhau. Thay vì có các trọng số cố định, bạn có một cấu trúc liên kết cố định và phân phối xác suất chọn các trọng số ngẫu nhiên theo phân phối Gaussian tập trung tại các trọng số xác thực, tức là các trọng số bạn đang lưu trữ trên ổ cứng. Một lần nữa, đây là trung bình mô hình, và nó sẽ có ảnh hưởng thường xuyên, với lời cảnh báo rằng nhiễu (phương sai) không nên lấn át tín hiệu. Vì vậy, ví dụ, nếu bạn lần đầu tiên áp dụng BatchNorm, bạn sẽ có một cấu hình đầu ra bình thường tiêu chuẩn gần đúng (các đơn vị tập trung ở mức 0 với phương sai một), và sau đó bạn có thể áp dụng nhiễu với phương sai là 0,1. Bạn có thể chơi với phương sai để xem những gì hoạt động.

EDIT: Vì câu hỏi đã đề cập đến BatchNorm, tôi muốn chỉ ra rằng BatchNorm không thực sự được sử dụng để chính quy hóa. Đó là, BatchNorm không làm giảm chi phí. Thay vào đó, BatchNorm được thêm vào để cải thiện hiệu suất của backpropagation. Về bản chất, nó giữ cho độ dốc lan truyền trở lại không quá lớn hoặc nhỏ bằng cách thay đổi kích thước và hồi quy; như một kỹ thuật, nó có các kết nối sâu hơn với các phương pháp tối ưu hóa bậc hai cố gắng mô hình hóa độ cong của bề mặt chi phí. Như tôi đã đề cập ở trên, BatchNorm cũng có thể được sử dụng để đảm bảo rằng tỷ lệ tương đối là chính xác nếu bạn sẽ thêm tiếng ồn ngẫu nhiên vào các hoạt động thần kinh.


Câu trả lời 2:

Tôi sẽ coi đó là một thủ thuật tối ưu hóa nhiều hơn là chính quy.

Hiệu ứng phải tương đương với hiệu ứng ngẫu nhiên trong SGD.

SGD, và nguồn cảm hứng của phương pháp Monte Carlo tránh bị mắc kẹt trong cực tiểu nghèo tại địa phương bằng cách thực hiện một bước ngẫu nhiên mỗi lần thay vì tuân thủ nghiêm ngặt theo hướng đi xuống dốc nhất; hoặc làm một cái gì đó tương đương trong các hóa thân khác nhau của họ, ví dụ như thêm một thành phần ngẫu nhiên vào mỗi bước thay vì định kỳ thực hiện một bước ngẫu nhiên.

Thêm tiếng ồn ngẫu nhiên yếu vào trọng lượng sẽ đạt được chính xác như nhau. [Gợi ý: Giảm dần độ dốc cũng thêm một số thứ vào trọng số trong mỗi lần lặp!]


Câu trả lời 3:

BIÊN TẬP:

Việc thêm nhiễu ngẫu nhiên, phân tán gaussian vào dữ liệu đầu vào của mỗi lớp có thể làm cho mô hình của bạn mạnh mẽ hơn với những thay đổi nhỏ trong dữ liệu cho phép mạng của bạn phân biệt nhiễu tốt hơn với tín hiệu. Như Zeeshan Zia đã nói, điều này về cơ bản sẽ là độ dốc ngẫu nhiên. Tôi vẫn sẽ không xem xét việc chính quy này. Đây là một kỹ thuật để giúp mô hình của bạn học các mẫu để tách nhiễu khỏi tín hiệu.

Bỏ học ngẫu nhiên vô hiệu hóa một tỷ lệ nhất định của các nút trong một lớp ẩn trên mỗi lần vượt qua. Điều này cải thiện mạng vì nó buộc nó phải học cách nhận ra các mẫu giống nhau theo nhiều cách, dẫn đến một mô hình tốt hơn.

Chuẩn hóa hàng loạt là nơi bạn đưa các đầu vào vào một lớp và đảm bảo rằng tất cả chúng được chuẩn hóa từ 0 đến 1. Điều này giúp mạng học tốt hơn vì nó giữ cho độ dốc ổn định và trơn tru hơn. Theo cách này, bạn tránh nhảy xung quanh cực tiểu vì độ dốc của bạn quá lớn.