Đúng là thật khó để hiểu mạng lưới thần kinh đang học gì nhưng đã có rất nhiều công việc trên mặt trận đó. Chúng tôi chắc chắn có thể có được một số ý tưởng về những gì mạng của chúng tôi đang tìm kiếm.
Chúng ta hãy xem xét trường hợp của một mạng lưới thần kinh tích chập cho hình ảnh. Chúng tôi có giải thích cho lớp đầu tiên của chúng tôi rằng chúng tôi đang trượt các bộ lọc trên hình ảnh, vì vậy lớp ẩn đầu tiên của chúng tôi tương ứng với thỏa thuận giữa các phần nhỏ của hình ảnh và các bộ lọc khác nhau của chúng tôi. Chúng ta có thể hình dung các bộ lọc này để xem lớp biểu diễn đầu tiên của chúng ta là gì:K
Bức ảnh này là lớp đầu tiên của bộ lọc từ AlexNet và được lấy từ hướng dẫn tuyệt vời này: http://cs231n.github.io/under Hiểu-cnn / . Điều này cho phép chúng ta diễn giải lớp ẩn đầu tiên là học cách biểu diễn hình ảnh, bao gồm các pixel thô, như một tenxơ trong đó mỗi tọa độ là sự thỏa thuận của một bộ lọc với một vùng nhỏ của hình ảnh. Lớp tiếp theo sau đó đang làm việc với các kích hoạt bộ lọc này.
Không quá khó để hiểu lớp ẩn đầu tiên bởi vì chúng ta chỉ cần nhìn vào các bộ lọc để xem cách chúng hoạt động, bởi vì chúng được áp dụng trực tiếp vào hình ảnh đầu vào. Ví dụ: giả sử bạn đang làm việc với hình ảnh đen trắng (vì vậy các bộ lọc của chúng tôi là 2D chứ không phải 3D) và bạn có một bộ lọc giống như
⎡⎣⎢0101- 41010⎤⎦⎥.
Hãy tưởng tượng áp dụng điều này cho vùng 3x3 của hình ảnh (bỏ qua thuật ngữ sai lệch). Nếu mọi pixel đều có cùng màu thì bạn sẽ nhận được vì chúng sẽ hủy. Nhưng nếu nửa trên khác với nửa dưới, thì bạn sẽ nhận được một giá trị tiềm năng lớn. Trên thực tế, bộ lọc này là một máy dò cạnh và chúng ta có thể tìm ra điều đó bằng cách thực sự chỉ cần áp dụng nó cho hình ảnh và xem điều gì xảy ra. Nhưng thật khó để hiểu các lớp sâu hơn bởi vì toàn bộ vấn đề là chúng ta không biết cách diễn giải những gì chúng ta đang áp dụng các bộ lọc.0
Bài viết này của Erhan và cộng sự (2009) đồng ý với điều này: họ nói rằng hình dung lớp ẩn đầu tiên là phổ biến (và đó là vào năm 2009) nhưng hình dung các lớp sâu hơn là phần khó. Từ tờ giấy đó:
Phát hiện thử nghiệm chính của cuộc điều tra này rất đáng ngạc nhiên: phản ứng của một đơn vị nội bộ đối với hình ảnh đầu vào, như một chức năng trong không gian hình ảnh, dường như là không chính thống, hoặc ít nhất là mức tối đa được tìm thấy một cách đáng tin cậy và nhất quán cho tất cả các khởi tạo ngẫu nhiên được thử nghiệm . Điều này rất thú vị bởi vì việc tìm kiếm chế độ vượt trội này tương đối dễ dàng và hiển thị nó sau đó cung cấp một đặc tính tốt về những gì đơn vị làm.
Chris Olah et al ( https://distill.pub/2017/feature-visualization/ ) xây dựng dựa trên điều này và thảo luận về cách nói chung bạn có thể (1) tạo ra hình ảnh dẫn đến kích hoạt lớn để hiểu được mạng là gì đang tìm kiếm; hoặc (2) chụp ảnh đầu vào thực tế và xem các phần khác nhau của hình ảnh kích hoạt mạng như thế nào. Bài đăng đó tập trung vào (1).
Trong hình ảnh dưới đây, được lấy từ bài báo được liên kết bởi Olah và cộng sự, các tác giả thảo luận về các khía cạnh khác nhau của mạng mà bạn có thể kiểm tra. Hình ảnh ngoài cùng bên trái cho thấy kết quả tối ưu hóa việc kích hoạt một nơron cụ thể trên không gian hình ảnh đầu vào, v.v.
Tôi đặc biệt khuyên bạn nên đọc toàn bộ bài viết đó nếu bạn muốn hiểu sâu hơn về điều này, và bằng cách đọc các tài liệu tham khảo của nó, bạn sẽ có một nắm bắt tuyệt vời về những gì đã được thực hiện với điều này.
Tất nhiên bây giờ tất cả chỉ dành cho những hình ảnh mà con người chúng ta có thể hiểu được đầu vào. Nếu bạn đang làm việc với một thứ gì đó khó diễn giải hơn, như chỉ là một vectơ số lớn, thì bạn có thể không thể tạo ra những hình ảnh tuyệt vời như vậy, nhưng về nguyên tắc, bạn vẫn có thể xem xét các kỹ thuật này để đánh giá các nơ-ron, lớp khác nhau, v.v. .