인공신경망에서 스킵 커넥션이란?
📂머신러닝인공신경망에서 스킵 커넥션이란?
정의
W를 가중치, x를 입력, σ를 비선형 활성화함수라고 하자. 레이어 Lw를 다음과 같이 정의하자.
LW(x):=σ(Wx)
다음과 같이 레이어에 항등함수가 더해진 꼴의 함수를 스킵 커넥션skip connection이라 한다.
LW+I:x↦σ(Wx)+x
설명
일반적으로는 입력 x와 가중치 W를 곱하여 이를 활성화함수 σ에 대입한 값 σ(Wx)가 다시 다음 레이어의 입력이 된다. 스킵 커넥션은 이 값에 입력을 다시 더한 값을 다음 층의 입력으로 전달한다. 쉽게 수식으로 표현하면 다음과 같다.
normal layer: LW2∘LW1(x)=σ(W2σ(W1x))skip connection: (LW2+I)∘(LW1+I)(x)=σ(W2(σ(W1x)+x))+(σ(W1x)+x)
스킵 커넥션이 위 정의에 따라 엄밀하게 정의된 개념은 아니다. 어떤 방식으로든 입력(혹은 이전의 값)이 다음 레이어로 전달되기만하면 스킵 커넥션이라 부른다. U-Net은 오토인코더에서 디코더의 입력에 인코더의 출력을 쌓는 형태의 스킵 커넥션을 사용한 신경망이다.
일반적으로 레이어를 너무 많이 합성하면 신경망의 성능이 떨어지는데, 스킵 커넥션을 적절히 활용하여 레이어를 아주 깊게 쌓아도 잘 학습될 수 있도록 한 것이 ResNet이다.