Làm thế nào để hình dung / hiểu những gì một mạng lưới thần kinh đang làm?


37

Mạng lưới thần kinh thường được coi là "hộp đen" do cấu trúc phức tạp của chúng. Điều này không lý tưởng, vì thường có ích khi nắm bắt trực quan về cách một mô hình hoạt động nội bộ. Các phương pháp trực quan hóa làm thế nào một mạng lưới thần kinh được đào tạo đang hoạt động là gì? Ngoài ra, làm thế nào chúng ta có thể trích xuất các mô tả dễ tiêu hóa của mạng (ví dụ: nút ẩn này chủ yếu hoạt động với các đầu vào này)?

Tôi chủ yếu quan tâm đến các mạng chuyển tiếp hai lớp, nhưng cũng muốn nghe các giải pháp cho các mạng sâu hơn. Các dữ liệu đầu vào có thể là trực quan hoặc không trực quan về bản chất.


1
Đây là một ví dụ hay: sân
chơi.tensorflow.org

Câu trả lời:


12

Mạng lưới thần kinh đôi khi được gọi là "các hàm xấp xỉ hàm khác biệt". Vì vậy, những gì bạn có thể làm là phân biệt bất kỳ đơn vị nào đối với bất kỳ đơn vị nào khác để xem mối quan hệ của họ là gì.

Bạn có thể kiểm tra mức độ nhạy cảm của lỗi mạng được ghi vào một đầu vào cụ thể cũng như điều này.

Sau đó, có một cái gì đó gọi là "các lĩnh vực tiếp nhận", đó chỉ là hình dung của các kết nối đi vào một đơn vị ẩn. Điều này giúp dễ hiểu các đơn vị cụ thể làm gì cho dữ liệu hình ảnh, ví dụ. Điều này có thể được thực hiện cho các cấp cao hơn là tốt. Xem trực quan hóa các tính năng cấp cao hơn của một mạng sâu .


13

Ước tính tầm quan trọng của tính năng bằng cách trả ngẫu nhiên mọi giá trị của một tính năng và ghi lại mức độ suy giảm chức năng thể dục tổng thể của bạn.

Vì vậy, nếu tính năng đầu tiên của bạn có giá trị liên tục và được chia tỷ lệ thành , thì bạn có thể thêm vào mỗi giá trị của ví dụ đào tạo cho tính năng đầu tiên. Sau đó tìm kiếm của bạn giảm bao nhiêu . Điều này thực sự loại trừ một tính năng khỏi dữ liệu đào tạo của bạn, nhưng xử lý các tương tác chéo tốt hơn là xóa tính năng theo nghĩa đen.x1,tôi[0,1]rmộtnd(0,1)-0,5R2

Sau đó xếp hạng các tính năng của bạn bằng cách suy giảm chức năng tập thể dục và tạo một biểu đồ thanh đẹp. Ít nhất một số tính năng quan trọng nhất phải vượt qua kiểm tra ruột, dựa trên kiến ​​thức của bạn về miền vấn đề. Và điều này cũng cho phép bạn ngạc nhiên độc đáo bởi các tính năng thông tin mà bạn có thể không mong đợi.

Loại kiểm tra tầm quan trọng tính năng này hoạt động cho tất cả các mô hình hộp đen, bao gồm các mạng thần kinh và các nhóm lớn. Theo kinh nghiệm của tôi, tính quan trọng là bước đầu tiên để hiểu những gì một mô hình đang thực sự làm.


1
Cảm ơn câu trả lời; đây thực sự là một cái gì đó tôi đã làm và tôi thấy nó rất hữu ích. Trong câu hỏi này mặc dù tôi đang tìm kiếm nhiều thứ hơn trong mạng thay vì coi nó như một hộp đen.
rm999

2

Đây là một trực giác đồ họa cho một loại mạng thần kinh cụ thể. Ở cuối bài đăng đó, có một liên kết đến mã R hiển thị trực quan hóa cho một vấn đề cụ thể. Đây là những gì trông giống như:

nhập mô tả hình ảnh ở đây


1

Mùa thu năm 2011, tôi đã tham gia khóa học Machine Learning trực tuyến miễn phí từ Standford do Andrew Ng giảng dạy và chúng tôi đã hình dung ra một mạng lưới thần kinh là máy dò tìm khuôn mặt. Đầu ra là một khuôn mặt chung. Tôi muốn đề cập đến điều này cho đầy đủ, nhưng bạn đã không đề cập đến loại ứng dụng này, vì vậy tôi sẽ không khai thác chi tiết. :)


Trường đại học là Stanford. Tôi có thể tìm thấy khóa học Andrew Ng trên web. Tôi nghe Dick DeVeaux thuyết trình về các mạng lưới thần kinh, tuyên bố rằng phần tế bào thần kinh của nó che giấu những gì đang thực sự xảy ra. nó chỉ là một loại phân loại không di động khác và nếu thay vì nhìn nó từ góc độ của sơ đồ, chúng được hiểu rõ nhất bằng cách viết ra những gì chúng làm theo đại số. Tôi hy vọng tôi đang nhớ điều này đúng.
Michael R. Chernick

De Veaux và Ungar, Giới thiệu ngắn gọn về mạng lưới thần kinh 1997: "Mạng lưới thần kinh dường như ở khắp mọi nơi trong những ngày này, và ít nhất trong quảng cáo của họ có thể làm mọi thứ mà thống kê có thể làm mà không phải bận tâm và phải làm bất cứ điều gì ngoại trừ mua một phần mềm. "
chối

0

Phương pháp được đề cập dưới đây được lấy từ liên kết này , hãy truy cập trang web để biết thêm chi tiết.

Bắt đầu với một hình ảnh ngẫu nhiên, nghĩa là tùy ý cung cấp các giá trị cho các pixel. "Tiếp theo, chúng tôi thực hiện chuyển tiếp bằng cách sử dụng hình ảnh x này làm đầu vào mạng để tính toán kích hoạt a_i (x) gây ra bởi x tại một số nơ ron i ở đâu đó ở giữa mạng. Sau đó, chúng tôi thực hiện một bước lùi (thực hiện backprop) để tính toán độ dốc của a_i (x) đối với các kích hoạt trước đó trong mạng. Ở cuối đường chuyền ngược, chúng ta chỉ còn lại độ dốc ∂a_i (x) / ∂x hoặc cách thay đổi màu của từng pixel thành tăng kích hoạt nơ-ron i . Chúng tôi thực hiện chính xác điều đó bằng cách thêm một phần nhỏ αα của gradient đó vào hình ảnh:

x ← x + α⋅∂a_i (x) / ∂x

Chúng tôi tiếp tục làm điều đó nhiều lần cho đến khi chúng tôi có một hình ảnh x 'gây ra sự kích hoạt cao của tế bào thần kinh trong câu hỏi. "

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.