Mạng lưới thần kinh của tôi vừa học được gì? Những tính năng nào nó quan tâm và tại sao?


30

Một mạng lưới thần kinh học các tính năng của một tập dữ liệu như một phương tiện để đạt được một số mục tiêu. Khi nó được thực hiện, chúng ta có thể muốn biết những gì mạng lưới thần kinh đã học. Các tính năng là gì và tại sao nó quan tâm đến những tính năng đó. Ai đó có thể đưa ra một số tài liệu tham khảo về cơ thể của công việc liên quan đến vấn đề này?

Câu trả lời:


28

Đú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

lớp alexnet 1

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.

C. Olah và cộng sự

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. .


2
+1 đặc biệt cho đoạn cuối cùng. Cá nhân tôi nghĩ rằng những người có tầm nhìn đang thực hiện trực quan hóa trên số lượng lớn các tham số này.
Haitao Du

tất nhiên +1 cho câu trả lời dài bằng văn bản với các tài liệu tham khảo đáng tin cậy.
Haitao Du

1
@ hxd1011 cảm ơn bạn, và tôi nghĩ Olah et al đã đưa ra một điểm tuyệt vời trong bài viết đó rằng thật không công bằng khi chỉ nhìn vào những gì tối đa hóa một nơ-ron đơn lẻ vì thực sự lớp này giống như một cơ sở và nó thiên về không gian của lớp các vectơ cơ sở chính xác. Vì vậy, trong khi vui vẻ để xem xét, rất nhiều trong số những hình dung đó có thể không phải là siêu sâu sắc
jld

1
Ngoài ra, một quan niệm sai lầm phổ biến là khi lấy các bộ lọc lớp đầu tiên, một miếng vá hình ảnh sẽ tối đa hóa đầu ra của một nơron nhất định trông giống hệt như bộ lọc đó. Trên thực tế không phải vậy, một bản vá tối đa hóa đầu ra của một nơron trông giống như không có gì giống với các giá trị số của bộ lọc, vì tích chập của nó, không khớp với khuôn mẫu. Đó là nơi tôi tin rằng các ví dụ đối nghịch cư trú.
Lugi

Olah và cộng sự. bài đăng trên blog rất hay, nhưng họ mắc lỗi - họ "tối ưu hóa để kích hoạt tối đa" (không chính xác, nhưng gần), tìm một hình ảnh trông không giống hình ảnh từ tập huấn luyện và kết luận rằng CNN "nhìn" khác với chúng tôi. Trong khi kết luận rõ ràng là đúng, lý do còn thiếu sót - chế độ phân phối chiều cao không giống bất kỳ mẫu nào điển hình từ phân phối đó. Nói cách khác, đó chính xác là vì CNN cần phân loại mèo, rằng chế độ phân phối không phải là mèo, mà là "mèo ác mộng".
DeltaIV

7

Mạng nơ-ron là một trong những mô hình hộp đen sẽ không đưa ra các quy tắc "dễ hiểu" / hoặc những gì đã được học.

Cụ thể, những gì đã được học là các tham số trong mô hình, nhưng các tham số có thể lớn: hàng trăm ngàn tham số là rất bình thường.

Ngoài ra, cũng không rõ về các tính năng quan trọng đã học, bạn có thể hiểu mô hình sử dụng tất cả các tính năng, với nhiều thao tác phức tạp để lấy kết quả, trong đó không dễ để nói bằng tiếng Anh cách mô hình biến đổi từng tính năng sử dụng nó.


Trong thực tế, mạng nơ ron một lớp (không có lớp ẩn) với chức năng logistic là chức năng kích hoạt giống hệt với hồi quy logistic. Hồi quy logistic rất phong phú trong diễn giải. Đây là một ví dụ. Nhưng với mạng lưới thần kinh phức tạp / nhiều lớp ẩn hơn, việc giải thích như vậy sẽ không được áp dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.