Skip-Connection

Jomii·2023년 8월 11일
0

Deep Neural Network에서 고질적인 문제 중 하나가 Vanishing Gradient이다. 이 문제를 해결하기 위해서 batch normalization도 하고, weight initialization에도 신경을 쓰는 것이다.
Vanishing Gradient의 해결방법 중 하나인 Skip-Connection은, 학습시 Backpropagation에서 "기울기에 대한 대체 경로"를 제공한다.

Skip-Connection은 하나의 convolution 레이어를 기준으로 봤을 때, 레이어의 input값을 레이어 통과 후의 output값과 합쳐서 다음 레이어로 넘겨주는데, 이때 레이어의 input 값이 해당 레이어를 통과하지 않고 다음 레이어로 넘어가기 때문에 Skip-connection 이라고 하는 것이다. 물론 하나의 레이어가 아니라 여러 레이어를 건너뛰어 합쳐질 수도 있다.
이렇게 서로 다른 계층의 feature map을 합치는 방법에는 'addition'과 'concatenation'이 있다.

1) addition(summation)

: 사이즈와 채널수가 같은 두 피쳐맵을 픽셀 단위로 더한다. (ex : ResNet)
주로 short skip connection에는 element-wise add(summation)을 사용한다. 짧고 반복적인 estimation procedure이 주를 이루고, network의 다양한 layer를 모두 거치기 때문이다. 보통, 전체 block에 대해 고정된 feature 수를 유지해서 compact한 solution에 이용된다.

ResNet

Skip Connection의 구체적인 예로는 Residual Network (ResNet)이 있다. ResNet에서는 Skip Connection을 "shortcut" 또는 "residual" 연결이라고 부르며, 이러한 학습 방식을 이용하는 것이 Residual Learning이라고도 한다. 이를 통해 입력 값이 네트워크를 직접 통과하여 더 깊은 레이어로 전달되어도 원래의 정보를 보존할 수 있다. 이러한 방식은 깊은 네트워크에서 성능 저하를 초래하는 그래디언트 소실 문제를 크게 완화시키는 데 도움이 된다.

2) concatenation

: 사이즈가 같은 두 피쳐맵을 채널 단위로 이어붙인다. (ex : DenseNet)


profile
✉️ qtly_u@naver.com

0개의 댓글