ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [머신러닝] 잔차 연결(residual connection) 이란?
    인공지능/머신러닝 2025. 2. 26. 08:51
    반응형

    잔차 연결은 인공지능 모델, 특히 트랜스포머 같은 깊은 신경망에서 학습을 더 잘 되게 하고 성능을 높이는 데 중요한 역할을 하는 기술이에요. 기본 아이디어는 입력 데이터를 변환하는 과정에서 원래 입력을 그대로 더해주는 "지름길"을 만들어주는 겁니다. 이렇게 하면 모델이 복잡한 변환을 배우면서도 원래 정보를 잃지 않고 유지할 수 있어요.

    일반적으로 신경망은 층을 거칠 때마다 데이터를 변환합니다. 예를 들어, 입력이 "고양이"라는 단어의 정보일 때, 첫 번째 층에서 그 의미를 조금 바꾸고, 두 번째 층에서 또 바꾸는 식으로 진행되죠. 하지만 층이 많아질수록 이 변환 과정이 너무 과하게 쌓여서 원래 정보가 흐려지거나, 학습이 어려워질 수 있어요. 이걸 "기울기 소실"이나 "정보 손실" 문제라고 하죠. 잔차 연결은 이런 문제를 해결하려고 나온 방법이에요.

    잔차 연결은 이렇게 작동합니다: 한 층에서 데이터를 변환한 결과에다가 그 층에 들어오기 전의 원래 입력을 더해줍니다. 예를 들어, 첫 번째 층에서 "고양이"라는 정보를 받아서 "고양이의 특징" 같은 걸 계산했다고 치면, 그 결과에다 원래 "고양이" 정보를 그대로 더하는 거예요. 그러면 출력은 "고양이 + 고양이의 특징" 같은 느낌이 됩니다. 이 방식 덕분에 모델은 변환된 정보만 배우는 게 아니라, 원래 정보도 계속 활용할 수 있게 됩니다.

    전문적으로 말하자면, 잔차 연결은 층의 출력이 단순히 변환 함수로만 결정되지 않고, 입력과 변환된 결과의 합으로 나오게 만듭니다. 수학적으로는 y=F(x)+x 라는 식으로 표현되는데, 여기서 F(x)는 층에서 학습하는 변환이고, x는 원래 입력이에요. 이 구조의 장점은 모델이 F(x)를 꼭 크게 바꾸지 않아도 된다는 거예요. 만약 그 층에서 배울 게 별로 없다면, F(x)를 거의 0에 가깝게 만들어서 그냥 입력 x를 그대로 넘기면 되니까요. 이게 학습을 훨씬 유연하고 안정적으로 만들어줍니다.

    트랜스포머에서 잔차 연결은 특히 어텐션과 피드포워드 층마다 적용됩니다. 예를 들어, 셀프 어텐션이 단어 간 관계를 계산한 뒤에 원래 입력을 더해주고, 그 다음 피드포워드 층이 추가 변환을 한 뒤에도 또 원래 정보를 더해줍니다. 이렇게 하면 깊은 층을 쌓아도 정보가 손실되지 않고, 학습 과정에서 미세한 조정이 더 잘 전달돼요. 전문 용어로 말하면, 역전파(Backpropagation)에서 기울기가 잘 흐르게 해서 "기울기 폭발"이나 "소실" 문제를 줄이는 효과가 있죠.

    실제 효과를 보면, 잔차 연결이 없으면 깊은 모델은 성능이 오히려 떨어질 수 있어요. 층이 깊어질수록 학습이 불안정해지고, 데이터의 미묘한 패턴을 잡아내기 힘들어지거든요. 하지만 잔차 연결을 넣으면 모델이 더 깊어져도 안정적으로 학습하면서 복잡한 패턴을 잘 잡아낼 수 있습니다. 트랜스포머가 수십 층을 쌓아도 잘 작동하는 이유 중 하나가 바로 이 잔차 연결 덕분이에요.

    쉽게 비유하자면, 잔차 연결은 긴 여행에서 중간에 물을 새로 채우는 보급소 같은 거예요. 여행(층)이 길어져도 처음 가져온 물(입력 정보)을 계속 유지하면서, 필요한 만큼만 새로 추가(변환)해서 목적지까지 잘 도착하게 해주는 겁니다. 

    반응형

    댓글

Designed by Tistory.