Mạng lưới thần kinh với các kết nối bỏ qua


26

Tôi quan tâm đến hồi quy với các mạng lưới thần kinh.

Mạng nơ-ron với các nút ẩn không + kết nối lớp bỏ qua là mô hình tuyến tính.

Điều gì về các mạng lưới thần kinh tương tự nhưng với các nút ẩn? Tôi tự hỏi vai trò của các kết nối bỏ qua là gì?

Theo trực giác, tôi sẽ nói rằng nếu bạn bao gồm các kết nối lớp bỏ qua, thì mô hình cuối cùng sẽ là tổng của một mô hình tuyến tính + một số phần phi tuyến tính.

Có bất kỳ lợi thế hoặc bất lợi trong việc thêm các kết nối bỏ qua vào mạng lưới thần kinh?

Câu trả lời:


38

Tôi đến trò chơi rất muộn, nhưng tôi muốn đăng bài để phản ánh một số phát triển hiện tại trong mạng lưới thần kinh tích chập liên quan đến việc bỏ qua các kết nối .

Một nhóm nghiên cứu của Microsoft gần đây đã giành chiến thắng trong cuộc thi ImageNet 2015 và phát hành một báo cáo kỹ thuật Deep Residual Learning for Image Recognition mô tả một số ý tưởng chính của họ.

Một trong những đóng góp chính của họ là khái niệm về các lớp còn lại sâu . Các lớp dư sâu sử dụng kết nối bỏ qua . Sử dụng các lớp còn lại sâu này, họ đã có thể huấn luyện một mạng lưới đối lưu 152 lớp cho ImageNet 2015. Họ thậm chí đã đào tạo một mạng lưới đối lưu hơn 1000 lớp cho CIFAR-10.

Vấn đề thúc đẩy họ là như sau:

Khi các mạng sâu hơn có thể bắt đầu hội tụ, một vấn đề xuống cấp đã được phơi bày: với độ sâu của mạng tăng lên, độ chính xác sẽ bão hòa (có thể không gây ngạc nhiên) và sau đó xuống cấp nhanh chóng. Thật bất ngờ, sự xuống cấp như vậy không phải do quá nhiều và thêm nhiều lớp vào mô hình sâu phù hợp dẫn đến lỗi đào tạo cao hơn ...

Ý tưởng là nếu bạn lấy một mạng "nông" và chỉ xếp chồng lên nhiều lớp hơn để tạo ra một mạng sâu hơn, thì hiệu suất của mạng sâu hơn ít nhất phải bằng mạng nông vì mạng sâu hơn có thể học chính xác nông mạng bằng cách đặt các lớp xếp chồng mới thành các lớp nhận dạng (trong thực tế chúng ta biết điều này rất khó xảy ra nếu không sử dụng các mục sư kiến ​​trúc hoặc phương pháp tối ưu hóa hiện tại). Họ quan sát thấy rằng đây không phải là trường hợp và lỗi đào tạo đôi khi trở nên tồi tệ hơn khi họ xếp chồng nhiều lớp lên trên mô hình nông hơn.

Vì vậy, điều này thúc đẩy họ sử dụng bỏ qua các kết nối và sử dụng cái gọi là các lớp dư sâu để cho phép mạng của họ tìm hiểu các sai lệch so với lớp nhận dạng, do đó, thuật ngữ còn lại , còn lại ở đây đề cập đến sự khác biệt so với nhận dạng.

Họ thực hiện bỏ qua các kết nối theo cách sau: nhập mô tả hình ảnh ở đây

F(x): =H(x)-xF(x)+x= =H(x)F(x)H(x)

Theo cách này, việc sử dụng các lớp dư sâu thông qua các kết nối bỏ qua cho phép các lưới sâu của chúng tìm hiểu các lớp nhận dạng gần đúng, nếu đó thực sự là những gì tối ưu hoặc tối ưu cục bộ. Thật vậy, họ tuyên bố rằng các lớp còn lại của họ:

Chúng tôi chỉ ra bằng các thí nghiệm (Hình 7) rằng các hàm dư đã học nói chung có các phản ứng nhỏ

Về lý do chính xác điều này hoạt động họ không có câu trả lời chính xác. Rất khó có khả năng các lớp nhận dạng là tối ưu, nhưng họ tin rằng việc sử dụng các lớp còn lại này giúp giải quyết vấn đề và việc tìm hiểu một hàm mới được đưa ra một tham chiếu / đường cơ sở so sánh với ánh xạ nhận dạng sẽ dễ dàng hơn so với học "từ đầu" mà không sử dụng đường cơ sở danh tính. Ai biết. Nhưng tôi nghĩ rằng đây sẽ là một câu trả lời tốt đẹp cho câu hỏi của bạn.

Nhân tiện, trong nhận thức muộn: câu trả lời của sashkello thậm chí còn tốt hơn phải không?


Bạn có ý nghĩa gì bởi điều kiện tiên quyết? (cũng là câu trả lời của bạn tốt hơn nhiều so với sashkello bởi rất nhiều imho). Ngoài ra, vấn đề là việc thêm các lớp tiếp theo mà không có các kết nối bỏ qua có khiến mạng sâu hơn thậm chí không thể tìm thấy ánh xạ định danh? (vì một số lý do?)
Charlie Parker

20

Về lý thuyết, các kết nối bỏ qua không nên cải thiện hiệu suất mạng. Nhưng, vì các mạng phức tạp khó đào tạo và dễ điều chỉnh quá mức, nên có thể rất hữu ích khi thêm điều này như một thuật ngữ hồi quy tuyến tính, khi bạn biết rằng dữ liệu của bạn có thành phần tuyến tính mạnh. Điều này gợi ý mô hình đi đúng hướng ... Ngoài ra, điều này dễ hiểu hơn vì nó thể hiện mô hình của bạn dưới dạng nhiễu + tuyến tính, làm sáng tỏ một chút cấu trúc đằng sau mạng, thường chỉ được xem là một hộp đen.


@sashkello bạn có thể giải thích về 'các kết nối bỏ qua không nên cải thiện hiệu suất mạng', theo cách lý thuyết. Đó sẽ là điều tuyệt vời để hiểu.
linh cảm

@hunch Đó là vì bạn có thể tạo mô hình này mà không cần bỏ qua lớp. Bỏ qua lớp chỉ là một thuật ngữ tuyến tính. Hàm Sigmoid là ~ tuyến tính khoảng 0. Vì vậy, kết nối lớp bỏ qua sẽ hoạt động giống như một nút ẩn với trọng số đầu vào rất nhỏ.
sashkello

5

Hộp công cụ mạng thần kinh cũ của tôi (tôi chủ yếu sử dụng máy kernel ngày nay) đã sử dụng chính quy L1 để cắt bớt các trọng số dư thừa và các đơn vị ẩn, và cũng có các kết nối bỏ qua. Điều này có lợi thế là nếu vấn đề cơ bản là tuyến tính, các đơn vị ẩn có xu hướng được cắt tỉa và bạn được để lại một mô hình tuyến tính, điều này cho bạn biết rõ rằng vấn đề là tuyến tính.

Như sashkello (+1) gợi ý, MLP là các xấp xỉ phổ quát, vì vậy bỏ qua các kết nối lớp sẽ không cải thiện kết quả trong giới hạn dữ liệu vô hạn và vô số đơn vị ẩn (nhưng khi nào chúng ta sẽ tiếp cận giới hạn đó?). Ưu điểm thực sự là nó giúp việc ước tính các giá trị tốt cho các trọng số dễ dàng hơn nếu kiến ​​trúc mạng phù hợp với vấn đề và bạn có thể sử dụng một mạng nhỏ hơn và có được hiệu suất tổng quát hóa tốt hơn.

Tuy nhiên, như với hầu hết các câu hỏi về mạng thần kinh, nói chung, cách duy nhất để tìm hiểu xem nó sẽ hữu ích hay có hại cho một tập dữ liệu cụ thể là thử và xem (sử dụng quy trình đánh giá hiệu suất đáng tin cậy).


3
"Hãy thử và xem" - những lời vàng ngọc :)
sashkello

0

Dựa trên Giám mục 5.1. Các chức năng mạng chuyển tiếp nguồn cấp dữ liệu: Một cách để khái quát hóa kiến ​​trúc mạng là bao gồm các kết nối lớp bỏ qua, mỗi kết nối được liên kết với một tham số thích ứng tương ứng. Ví dụ, trong mạng hai lớp (hai lớp ẩn), các mạng này sẽ đi trực tiếp từ đầu vào đến đầu ra. Về nguyên tắc, một mạng với các đơn vị ẩn sigmoidal luôn có thể bắt chước bỏ qua các kết nối lớp (đối với các giá trị đầu vào bị ràng buộc) bằng cách sử dụng trọng lượng lớp đầu tiên đủ nhỏ, trên phạm vi hoạt động của nó, đơn vị ẩn là tuyến tính hiệu quả, và sau đó bù với một lượng lớn giá trị trọng lượng từ đơn vị ẩn đến đầu ra.

Tuy nhiên, trong thực tế, có thể có lợi khi bao gồm các kết nối lớp bỏ qua một cách rõ ràng.nhập mô tả hình ảnh ở đây

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.