스킵 레이어 연결을 가진 신경망


26

신경망과의 회귀에 관심이 있습니다.

숨겨진 노드 + 스킵 레이어 연결이없는 신경망은 선형 모델입니다.

같은 신경망이지만 숨겨진 노드는 어떻습니까? 스킵 레이어 연결의 역할이 무엇인지 궁금합니다.

직관적으로, 스킵 레이어 연결을 포함하면 최종 모델은 선형 모델 + 일부 비선형 부품의 합입니다.

신경망에 스킵 레이어 연결을 추가 할 때 장점이나 단점이 있습니까?

답변:


38

나는 게임에 매우 늦었지만 연결 건너 뛰기 와 관련하여 컨볼 루션 신경망의 일부 현재 개발 내용을 반영하기 위해 게시하고 싶었다 .

Microsoft Research 팀은 최근 ImageNet 2015 대회에서 우승 했으며 주요 아이디어 중 일부를 설명하는 심도 잔상 학습 기술 보고서를 발표했습니다 .

그들의 주요 공헌 중 하나는이 깊은 잔류 층 개념이다 . 이러한 깊은 잔차 레이어는 건너 뛰기 연결을 사용 합니다 . 이러한 심층 잔차 레이어를 사용하여 ImageNet 2015에 대해 152 개의 레이어 전환을 교육 할 수있었습니다. 심지어 CIFAR-10에 대해 1000 개 이상의 레이어 전환을 교육했습니다.

그들에게 동기를 부여한 문제는 다음과 같습니다.

더 깊은 네트워크가 수렴을 시작할 수 있으면 성능 저하 문제가 발생합니다. 네트워크 깊이가 증가하면 정확도가 포화 (놀랍지 않을 수 있음) 된 다음 빠르게 저하됩니다. 예기치 않게, 이러한 성능 저하는 과적 합으로 인해 발생하지 않으며 적절한 깊이의 모델에 더 많은 레이어를 추가하면 높은 교육 오류가 발생합니다 ...

아이디어는 "얕은"네트워크를 가져와 더 많은 레이어에 쌓아서 더 깊은 네트워크를 만들 경우 더 깊은 네트워크의 성능은 더 얕은 네트워크만큼이나 더 얕은 네트워크만큼 정확해야합니다. 새로운 스택 레이어를 ID 레이어로 설정하여 네트워크를 구축합니다 (실제로는 아키텍처 우선 순위 나 현재 최적화 방법을 사용하지 않을 가능성이 높습니다). 그들은 이것이 사실이 아니며 더 얕은 모델 위에 더 많은 레이어를 쌓을 때 훈련 오류가 악화되는 것을 관찰했습니다.

이 연결 및 소위 사용 건너 사용하도록 동기를 부여 그래서 깊은 잔류 층 , 네트워크가 신원 층에서 편차를 배울 수 있도록 따라서 용어가 잔류 정체성의 차이를 참조 여기에 잔류.

다음과 같은 방식으로 건너 뛰기 연결을 구현합니다. 여기에 이미지 설명을 입력하십시오

에프(엑스): =H(엑스)엑스에프(엑스)+엑스=H(엑스)에프(엑스)H(엑스)

이러한 방식으로 스킵 연결을 통한 딥 레지 듀얼 레이어를 사용하면 딥 네트가 근사한 아이덴티티 레이어를 학습 할 수 있습니다. 실제로 그들은 잔류 층이 다음과 같이 주장합니다.

우리는 실험에 의해 (그림 7) 일반적으로 학습 된 잔차 함수가 작은 반응을 보인다는 것을 보여줍니다

왜 이것이 정확히 작동하는지에 대해서는 정확한 답이 없습니다. 아이덴티티 레이어가 최적 일 가능성은 거의 없지만, 이러한 잔여 레이어를 사용하면 문제를 사전 조건화하는 데 도움이되며, "처음부터"배우는 것보다 아이덴티티 매핑에 대한 참조 / 기준선이 주어지면 새로운 기능을 배우기가 더 쉽다고 생각합니다 신원 기준을 사용하지 않고. 누가 알아. 그러나 이것이 귀하의 질문에 대한 좋은 대답이라고 생각했습니다.

그건 그렇고, 가늠자 : sashkello의 대답이 더 낫지 않습니까?


전제 조건은 무엇을 의미합니까? (또한 당신의 대답은 많은 imho에 의한 sashkello의 것보다 훨씬 낫습니다). 또한 문제는 건너 뛰기 연결없이 레이어를 추가하면 더 깊은 네트워크가 ID 매핑을 찾기가 어렵다는 것입니다. (어떤 이유로?)
Charlie Parker

20

이론적으로 스킵 레이어 연결은 네트워크 성능을 향상시키지 않아야합니다. 그러나 복잡한 네트워크는 훈련하기가 어렵고 과적 합하기가 쉽지 않으므로 데이터에 강력한 선형 성분이 있음을 알고있는 경우이를 선형 회귀 항으로 명시 적으로 추가하는 것이 매우 유용 할 수 있습니다. 이것은 올바른 방향으로 모델을 암시합니다 ... 또한, 이것은 모델을 선형 + 섭동으로 나타내므로 네트워크 뒤의 약간의 구조를 풀기 때문에 일반적으로 블랙 박스로 표시되기 때문에 더 해석하기 쉽습니다.


@sashkello는 이론적으로 '스킵 레이어 연결이 네트워크 성능을 향상시키지 않아야합니다'에 대해 자세히 설명 할 수 있습니다. 이해하는 것이 좋을 것입니다.
직감

@hunch 스킵 레이어없이 이것을 모델링 할 수 있기 때문입니다. 스킵 레이어는 단순한 선형 용어입니다. Sigmoid 함수는 약 0의 선형입니다. 따라서 스킵 레이어 연결은 입력 가중치가 매우 작은 숨겨진 노드처럼 작동합니다.
sashkello

5

저의 오래된 신경망 툴박스 (저는 요즘 대부분 커널 시스템을 사용합니다)는 L1 정규화를 사용하여 중복 가중치와 숨겨진 단위를 제거하고 스킵 레이어 연결도 사용했습니다. 이는 문제가 본질적으로 선형 인 경우 숨겨진 단위가 정리되는 경향이 있으며 선형 모형이 남아있어 문제가 선형이라는 것을 분명히 알려줍니다.

sashkello (+1)에서 알 수 있듯이 MLP는 보편적 근사치이므로 레이어 연결 건너 뛰기는 무한 데이터의 한계와 숨겨진 수의 무한한 수의 결과를 향상시키지 않습니다 (그러나 우리는 언제 그 한계에 접근합니까?). 실제 장점은 네트워크 아키텍처가 문제와 잘 일치하는 경우 가중치에 대한 좋은 값을 쉽게 추정 할 수 있으며 더 작은 네트워크를 사용하고 더 나은 일반화 성능을 얻을 수 있다는 것입니다.

그러나 대부분의 신경망 질문과 마찬가지로 일반적으로 특정 데이터 세트에 도움이되는지 또는 유해한지 확인하는 유일한 방법은 시도하고 확인하는 것입니다 (신뢰할 수있는 성능 평가 절차 사용).


3
"시도해보십시오"-황금색 단어 :)
sashkello

0

주교 5.1에 기초 함. 피드 포워드 네트워크 기능 : 네트워크 아키텍처를 일반화하는 방법은 각각 해당하는 적응 형 매개 변수와 연관된 스킵 레이어 연결을 포함하는 것입니다. 예를 들어, 2 계층 (2 개의 숨겨진 계층) 네트워크에서 이들은 입력에서 출력으로 직접 이동합니다. 원칙적으로, 시그 모이 드 히든 유닛이있는 네트워크는 작동 범위에서 히든 유닛이 효과적으로 선형 적이며 큰 값을 보상하는 충분히 작은 1 계층 가중치를 사용하여 스킵 레이어 연결 (경계 입력 값의 경우)을 항상 모방 할 수 있습니다. 숨겨진 단위에서 출력까지의 무게 값.

그러나, 실제로 스킵 계층 연결을 명시 적으로 포함하는 것이 유리할 수있다.여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.