-
[DL] Skip-Connection 의 수학적 의미카테고리 없음 2024. 5. 23. 11:24
해당 글은 다음의 영상을 참고하여 작성하였습니다.
https://www.youtube.com/watch?v=Fypk0ec32BU
Skip-Connection - Skip-Connection은 층을 깊이 쌓을 수 있게 해준다.
-> 왜 그럴까?
-> Gradient Vanishing 문제 해결 이외의 관점을 다루어보자.
< 해당 영상에서 다루는 Skip-Connection의 분석을 먼저 살펴보자 >
- 가정 ( 정설 ) : 층이 매우 깊다면, 입력값을 차근차근 조금씩 바꾸어나가는 것이 이상적이다.
- ex) 잘 학습된 ResNet-50 은 layer 34->36 으로 넘어갈 때 값이 크게 바뀌지 않을 것이다.
- H(x) 를 x 를 layer 에 통과시켜 만들고자 하는 값이라고 하면,
- 이 조건에서 x -> H(x) 를 만들고자 할 때, 두 경우를 생각해보자 ( H(x)는 x 와 거의 같다 )
1) skip-connection이 없는 x -> F(x)
2) skip-connection이 있는 x -> x + F(x)
1) 에서 F(x) 는 Identity matrix 에 가까울 것이고,
2) 에서 F(x) 는 zero-matrix 에 가까울 것이다.
우리는 weight layer를 초기화시킬 때, 0을 중심으로 좁은 분포를 만든다.
따라서 2) 의 경우가 만들기 더 수월할 것이다.
따라서, 깊은 층을 쌓을 때, skip-connection이 있는 경우가 더 만들기 쉽다.
즉, skip-connection을 적용하면, 천천히 값을 바꾸어나가도 된다는 것을 layer에게 알려준다 는 의미이다.
< 위 과정을 보고 아래의 사고 과정도 가능하지 않을까 생각이 듬 >
Skip-Connection x = 3, H(x) = 3.1 이라고 하자.
- skip-connection 이 없는 짧은 층의 경우, F(x)는 짧은 층으로 3.1을 만들어내야 한다.
- skip-connection 이 있는 긴 층의 경우, F(x) 는 긴 층으로 0.1을 만들어내야 한다.
- 즉, skip-connection이 있는 경우가 1개 층에 있어 더 작은 값을 갖고, 또한 작은 변화량을 가지게 된다.
- 정설에 의하면 차근히 값을 바꾸어나가는 경우가 값에 도달하는데 이상적이다.
- 따라서 skip-connection이 있는 경우가 보다 학습이 잘 된다.