Chào! Một cách mới để huấn luyện mạng nơ-ron: dựa trên việc sắp xếp lại các ý tưởng AI cũ kết hợp với "save scumming" trong trò chơi điện tử. Đây là một cách để tạo ra một "cú đá" có thể cứu một số loại mô hình nhất định (đặc biệt là các cấu trúc nhỏ hoặc kỳ lạ) khi chúng bị kẹt. Mù quáng. Tiến hóa. Áp lực.
Tôi gọi nó là "Sự thất vọng": nó giống như khởi động lại một trò chơi video đã lưu và thử lại trận chiến với boss. Làm thế nào? Lấy một kỷ nguyên Lần Ghi Nhớ Cuối (LKG), SAU ĐÓ bạn giết một nơ-ron. Sau đó huấn luyện lại. Khác với Dropout, thiệt hại không phải là tiếng ồn tạm thời trong các lô. Chúng tôi phá vỡ mô hình SAU KHI nó cải thiện.
Trong Frustration (Ablation [Stochastic] Liên tục), thiệt hại là một cái hố ga mà phải tránh và lấp đầy tất cả cùng một lúc trong kỷ nguyên tiếp theo. 2 chiến lược: tiêu diệt tất cả các trọng số (như trong một lớp ẩn) cho một nơ-ron, hoặc chỉ các trọng số đầu vào (như cho một logit đầu ra).
Chúng tôi đã thử nghiệm với các cấu trúc mạng MLP đơn giản, từ hàng triệu tham số đến hàng trăm, ghi lại khả năng "huấn luyện" của chúng dựa trên chiều rộng (số lượng nơ-ron) so với độ sâu (số lượng lớp). PSA đã cứu một số mô hình mà Dropout & Weight Decay không thể: một chế độ hỗn loạn (màu xanh).
Điều này hoạt động ngay cả trong các thiết kế bị lỗi, nơi Vấn đề Gradient Biến Mất khiến việc lan truyền ngược trở nên vô dụng. (Điều này, khi bạn không có các kết nối bỏ qua, không phải là nhiều lớp lắm!) Ngoài ra, bạn có thể phân chia thiệt hại và đào tạo nhiều LKG bị hỏng cùng một lúc trên các GPU khác nhau.
Bài báo phản ánh bằng chứng khái niệm đầu tiên, và đúng vậy, toàn bộ ý tưởng có *rất nhiều* hạn chế. Đặc biệt là cách mà cơ chế ratchet tiêu tốn tài nguyên tính toán, hoặc rằng nó được thử nghiệm trên tập dữ liệu MNIST (một trò chơi) chứ không phải ImageNet. Nhưng tin tốt lành! Các thử nghiệm ResMLP ban đầu cho thấy kết quả hứa hẹn!
Chúng tôi đã cố gắng để cẩn thận. Chúng tôi đã thử nghiệm 98 cấu trúc, nhiều trong số đó có cấu hình tham số tương ứng (các kích thước khác nhau, nhưng số lượng tham số kết quả giống nhau). Chúng tôi đã đo lường 3 kỹ thuật PSA khác nhau so với 3 nhóm kiểm soát, mỗi kỹ thuật qua 10 lần thử nghiệm. Tổng cộng có 5,880 lần thử nghiệm. Có thể tái tạo.
Ngay cả trong những điều kiện mà Vấn đề Độ Dốc Biến Mất lẽ ra đã khiến việc huấn luyện trở nên không thể (như trong một MLP đơn giản 18x18), PSA vẫn có thể huấn luyện bằng cách tấn công vào các logits đầu ra trên MNIST. Không tin tôi? Hãy thử và xem!
Có rất nhiều khoảnh khắc "aha" thú vị ở đây. Hãy nhớ rằng, không có ý tưởng nào trong số này là mới. Chúng tôi chỉ sắp xếp chúng theo một cách mới để thử nghiệm điều gì đó mà chỉ có thể thực hiện được bây giờ khi GPU mạnh mẽ đến vậy.
Công việc tương lai: • Tái tạo các bài kiểm tra gốc trên ResMLP, CNN và Transformers (ResMLP sửa lỗi VGP, nhưng đối với các hình thái bệnh lý, có vẻ như PSA vẫn hữu ích) • Thử nghiệm trên ImageNet <- tốn kém, nhưng đây là bằng chứng thực sự mà chúng ta cần.
Những quan sát: • Việc giết cùng một logit đầu ra một cách nhất quán tạo ra các mô hình "chống chuyên gia", và khi bạn nhìn vào ma trận nhầm lẫn của chúng, bạn có thể thấy chứng khó đọc đang hoạt động (giết 2 và phân loại tràn sang 5, 7 và 8) • Chúng ta không cần phải gắn bó với các cuộc tấn công ngẫu nhiên.
Tại sao điều này lại có giá trị? • Nếu nó hoạt động trên các tập dữ liệu lớn hơn và các kiến trúc mô hình hiện đại, thì tôi hy vọng nó có thể là một công cụ giá trị trong việc xây dựng các Mô hình Ngôn ngữ Nhỏ (SLMs).
GitHub với tài liệu & mã ở đây:
1,51K