Tại sao mạng nơ ron tích chập hoạt động?


22

Tôi thường nghe mọi người nói rằng tại sao mạng lưới thần kinh tích chập vẫn chưa được hiểu rõ. Được biết tại sao các mạng thần kinh tích chập luôn kết thúc việc học các tính năng ngày càng tinh vi khi chúng ta đi lên các lớp? Điều gì gây ra chúng tạo ra một chồng các tính năng như vậy và điều này cũng đúng với các loại mạng thần kinh sâu khác?


Lời giải thích tuyệt vời từ Jeremy Howard trong nửa sau của video này: youtube.com/watch?v=ACU-T9L4_lI
Dan

2
Tôi nghĩ bạn đang hiểu lầm. Chúng tôi hoàn toàn hiểu khá rõ tại sao convnets hoạt động như một lớp thuật toán. Mặt khác, thường rất khó hiểu tại sao một mô hình cụ thể lại đưa ra một dự đoán cụ thể. Đây là lý do tại sao chúng tôi gọi chúng là "mô hình hộp đen: quá trình suy luận của chúng không rõ ràng đối với chúng tôi. Điều đó không có nghĩa là chúng tôi bối rối về lý do tại sao chúng hiệu quả.
David Marx

Câu trả lời:


19

Thật ra tôi đoán câu hỏi hơi rộng! Dù sao.

Hiểu về lưới kết hợp

Những gì được học trong việc ConvNetscố gắng giảm thiểu hàm chi phí để phân loại chính xác các đầu vào trong các nhiệm vụ phân loại. Tất cả các bộ lọc thay đổi tham số và học được để đạt được mục tiêu đã đề cập.

Các tính năng đã học trong các lớp khác nhau

Họ cố gắng giảm chi phí bằng cách học các cấp độ thấp, đôi khi vô nghĩa, như các đường ngang và dọc trong các lớp đầu tiên và sau đó xếp chúng để tạo thành các hình dạng trừu tượng, thường có ý nghĩa, trong các lớp cuối cùng của chúng. Để minh họa cho con số này. 1, đã được sử dụng từ đây , có thể được xem xét. Đầu vào là bus và gird hiển thị các kích hoạt sau khi chuyển đầu vào qua các bộ lọc khác nhau trong lớp đầu tiên. Như có thể thấy khung màu đỏ là kích hoạt bộ lọc, mà các tham số của nó đã được học, đã được kích hoạt cho các cạnh tương đối ngang. Khung màu xanh đã được kích hoạt cho các cạnh tương đối thẳng đứng. Có thể làConvNetstìm hiểu các bộ lọc chưa biết là hữu ích và chúng tôi, ví dụ như những người thực hành thị giác máy tính, đã không phát hiện ra rằng chúng có thể hữu ích. Phần tốt nhất của các mạng này là chúng cố gắng tự tìm các bộ lọc phù hợp và không sử dụng các bộ lọc được phát hiện hạn chế của chúng tôi. Họ học các bộ lọc để giảm số lượng hàm chi phí. Như đã đề cập, các bộ lọc này không nhất thiết phải biết.

** Hình 1. ** * Kích hoạt cấp thấp *

Trong các lớp sâu hơn, các tính năng được học trong các lớp trước kết hợp với nhau và tạo thành các hình dạng thường có ý nghĩa. Trong bài báo này, người ta đã thảo luận rằng các lớp này có thể có các kích hoạt có ý nghĩa đối với chúng ta hoặc các khái niệm có ý nghĩa đối với chúng ta, như con người, có thể được phân phối giữa các kích hoạt khác. Trong bộ lễ phục. 2 khung màu xanh lá cây hiển thị các hoạt động của bộ lọc trong lớp thứ năm của mộtConvNet. Bộ lọc này quan tâm đến các khuôn mặt. Giả sử rằng người đỏ quan tâm đến tóc. Những điều này có ý nghĩa. Như có thể thấy, có những kích hoạt khác đã được kích hoạt ngay ở vị trí của các khuôn mặt điển hình trong đầu vào, khung màu xanh lá cây là một trong số đó; Khung màu xanh là một ví dụ khác về những điều này. Theo đó, sự trừu tượng của các hình dạng có thể được học bởi một bộ lọc hoặc nhiều bộ lọc. Nói cách khác, mỗi khái niệm, như khuôn mặt và các thành phần của nó, có thể được phân phối giữa các bộ lọc. Trong trường hợp các khái niệm được phân phối giữa các lớp khác nhau, nếu ai đó nhìn vào từng lớp, chúng có thể rất tinh vi. Thông tin được phân phối giữa chúng và để hiểu rằng thông tin tất cả các bộ lọc đó và kích hoạt của chúng phải được xem xét mặc dù chúng có vẻ rất phức tạp.

** Hình 2. ** * Kích hoạt cấp cao *

CNNskhông nên được coi là hộp đen cả. Zeiler et tất cả trong bài báo tuyệt vời này đã thảo luận về việc phát triển các mô hình tốt hơn được giảm xuống thành thử nghiệm và lỗi nếu bạn không hiểu về những gì được thực hiện bên trong các mạng này. Bài viết này cố gắng hình dung các bản đồ tính năng trong ConvNets.

Khả năng xử lý các biến đổi khác nhau để khái quát hóa

ConvNetssử dụng poolingcác lớp không chỉ để giảm số lượng tham số mà còn có khả năng không nhạy cảm với vị trí chính xác của từng tính năng. Ngoài ra, việc sử dụng chúng cho phép các lớp học các tính năng khác nhau, có nghĩa là các lớp đầu tiên học các tính năng cấp thấp đơn giản như cạnh hoặc vòng cung, và các lớp sâu hơn học các tính năng phức tạp hơn như mắt hoặc lông mày. Max Poolingví dụ: cố gắng điều tra xem một tính năng đặc biệt có tồn tại trong một khu vực đặc biệt hay không. Ý tưởng về poolingcác lớp rất hữu ích nhưng nó chỉ có khả năng xử lý quá trình chuyển đổi giữa các biến đổi khác. Mặc dù các bộ lọc trong các lớp khác nhau cố gắng tìm các mẫu khác nhau, ví dụ: một mặt xoay được học bằng cách sử dụng các lớp khác với mặt thông thường,CNNsbởi không có lớp nào để xử lý các phép biến đổi khác. Để minh họa điều này, giả sử rằng bạn muốn tìm hiểu các khuôn mặt đơn giản mà không cần xoay vòng với một mạng tối thiểu. Trong trường hợp này mô hình của bạn có thể làm điều đó một cách hoàn hảo. giả sử rằng bạn được yêu cầu tìm hiểu tất cả các loại khuôn mặt với xoay mặt tùy ý. Trong trường hợp này, mô hình của bạn phải lớn hơn nhiều so với mạng đã học trước đó. Lý do là phải có các bộ lọc để tìm hiểu các phép quay này trong đầu vào. Thật không may, đây không phải là tất cả các biến đổi. Đầu vào của bạn cũng có thể bị bóp méo Những trường hợp này đã khiến Max Jaderberg et tất cả tức giận. Họ sáng tác bài báo này để đối phó với những vấn đề này để giải quyết cơn giận của chúng tôi như của họ.

Mạng lưới thần kinh chuyển đổi làm việc

Cuối cùng sau khi tham khảo các điểm này, chúng hoạt động vì chúng cố gắng tìm các mẫu trong dữ liệu đầu vào. Họ xếp chúng để tạo ra các khái niệm trừu tượng bằng cách có các lớp chập. Họ cố gắng tìm hiểu xem dữ liệu đầu vào có từng khái niệm này hay không trong các lớp dày đặc để tìm ra dữ liệu đầu vào thuộc về lớp nào.

Tôi thêm một số liên kết hữu ích:


12

ConvNets hoạt động vì họ khai thác tính năng địa phương. Họ làm điều đó tại granularities khác nhau, do đó việc có thể để mô hình phân cấp tính năng mức độ cao hơn. Chúng là dịch bất biến nhờ các đơn vị gộp. Họ không phải là luân-bất biến cho mỗi gia nhập , nhưng họ thường tụ để lọc mà là phiên bản xoay của các bộ lọc tương tự , do đó hỗ trợ đầu vào xoay.

Tôi biết không có kiến ​​trúc thần kinh nào khác thu lợi từ địa phương tính năng theo nghĩa tương tự như ConvNets làm.


1
Tôi sẽ nói rằng các RNN được hưởng lợi theo cách tương tự như CNN, sử dụng lại trọng số theo chuỗi thời gian. CNN cũng có thể được coi là không nhất thiết phải dịch bất biến, nhưng "bất biến thứ nguyên" (mặc dù tôi không chắc đó là thuật ngữ chính xác hay được công nhận)
Neil Slater

Cảm ơn câu trả lời của bạn. Sửa lỗi cho tôi nếu tôi sai về các kết luận sau - 1. Có vẻ như chúng tôi đã ngầm thiết kế ConvNets để tìm hiểu các tính năng cấp cao hơn theo cấp bậc mặc dù gộp lại. Nó không phải là một tai nạn mà các tính năng có được tinh vi lên các lớp. 2. Bao gồm thông tin tên miền trong thiết kế mạng thần kinh của một người có thể tạo ra sự khác biệt lớn trong hiệu quả học tập. ConvNets và RNN đang cố gắng làm điều đó.
Ca ngợi chúa

Câu nói 1 và 2 của bạn có vẻ đúng với tôi.
ncasas

1
Tôi nghĩ rằng các mạng con nhộng được cho là tận dụng tính năng địa phương theo cách tương tự
David Marx

3

Không bao giờ nên quên các thành phần khác trong một ConvNet điển hình. Các bộ lọc tích chập chọn ra các tính năng bất biến không gian, như các cạnh và vòng tròn. Các tính năng này được định lượng trong một lớp gộp sau lớp C. Cuối cùng, chúng được đưa vào (thường) nhiều lớp được kết nối đầy đủ (fc). Tín dụng phải được trao cho các lớp được kết nối đầy đủ này, không gì khác hơn những gì bạn tìm thấy trong bất kỳ MLP thông thường nào.


3

Mạng thần kinh chuyển đổi hoạt động vì đây là một phần mở rộng tốt từ thuật toán học sâu tiêu chuẩn.

Với nguồn lực và tiền không giới hạn, không cần phải tích chập vì thuật toán tiêu chuẩn cũng sẽ hoạt động. Tuy nhiên, tích chập hiệu quả hơn vì nó làm giảm số lượng tham số . Việc giảm là có thể bởi vì nó tận dụng lợi thế của tính năng địa phương, chính xác là những gì @ncasas viết.


Đây phải là câu trả lời hay nhất
Jie.Zhou

1

Được biết tại sao các mạng thần kinh tích chập luôn kết thúc việc học các tính năng ngày càng tinh vi khi chúng ta đi lên các lớp?

Đây là toán học thuần túy. Một mạng lưới thần kinh, vào cuối ngày, là một chức năng toán học lớn. Và mạng càng sâu, chức năng của nó càng lớn. Và lớn hơn, tôi rõ ràng có nghĩa là chiều cao. Các tính năng học được tinh vi hơn bởi vì chúng là kết quả của các chức năng tinh vi hơn.

Điều gì đã khiến họ tạo ra một đống tính năng như vậy

Thật thú vị, các mạng lưới thần kinh thông thường được lấy cảm hứng từ sinh học của chúng ta, thực sự là của mèo. Hubel và W Diesel đã tiến hành các thí nghiệm trên vỏ thị giác của mèo và họ nhận ra rằng ánh sáng được cảm nhận bằng các chồng trường quang. Đây là những gì lấy cảm hứng từ lớp chập và một kiến ​​trúc sâu hơn.


0

Xây dựng trên ncasashoraceT câu trả lời, ConvNets rất hiệu quả vì:

  1. Chúng bất biến đối với các phép biến đổi hình học và tìm hiểu các tính năng ngày càng phức tạp và chi tiết, do đó là các trình trích xuất tính năng phân cấp mạnh mẽ nhờ các lớp chập.
  2. Họ kết hợp các tính năng được trích xuất và tổng hợp chúng theo kiểu phi tuyến tính để dự đoán đầu ra và do đó là các phân loại mạnh mẽ nhờ các lớp được kết nối đầy đủ.

Nếu bạn muốn tìm hiểu thêm về convnets và các khối khác nhau xây dựng chúng cũng như trực giác, thì đây là một bài đăng gần đây tôi đã viết trên blog cá nhân của mình.


3
Xin lưu ý nếu bạn muốn quảng bá sản phẩm / blog của riêng mình, bạn phải tiết lộ liên kết của mình trong câu trả lời , nếu không, câu trả lời của bạn có thể bị gắn cờ là spam. Nếu bạn không liên kết với trang web, tôi khuyên bạn nên nói như vậy để ngăn chặn điều này. Vui lòng đọc Làm thế nào để không trở thành người gửi thư rác
AJ
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.