부트캠프와 다른 AI학교,
AI는 아이펠에서 배우세요
#인공지능 

딥 레지듀얼 네트워크 (Deep Residual Network)

딥 레지듀얼 네트워크 (Deep Residual Networks, ResNets) 는 매우 깊은 아키텍처로 구성됩니다. 높은 정확도와 뛰어난 수렴 특성을 보여주는 신경망 구조입니다. 딥 레지듀얼 네트워크는 여러 개의 "잔차 유닛"을 쌓아서 구성됩니다.

2024-06-17 | 김성진

딥 레지듀얼 네트워크 (Deep Residual Networks, ResNets) 는 매우 깊은 아키텍처로 구성됩니다.
높은 정확도와 뛰어난 수렴 특성을 보여주는 신경망 구조입니다.

이 논문에서는 레지듀얼 빌딩 블록 뒤에 있는 전파 공식 (propagation formulations)을 분석합니다.

이는 스킵 연결 (skip connections)아이덴티티 맵핑 (identity mappings) 을 사용합니다. 덧셈 후 활성화 (after-addition activation)를 적용할 때, 순전파와 역전파 신호가 하나의 블록에서 다른 블록으로 직접 전파될 수 있습니다. 일련의 제거 실험 (ablation experiments)은 이러한 아이덴티티 맵핑의 중요성을 뒷받침합니다.

이를 바탕으로, 훈련을 더 쉽게 하고 일반화를 개선하는 새로운 레지듀얼 유닛을 제안합니다.
CIFAR-10 데이터셋에서 1001층의 ResNet을 사용하여 4.62%의 오류율을 기록했습니다.
CIFAR-100 및 ImageNet 데이터셋에서도 200층의 ResNet을 사용하여 개선되었습니다.

딥 레지듀얼 네트워크 (Deep Residual Network) 소개

딥 레지듀얼 네트워크 (ResNets)는 여러 개의 “잔차 유닛”을 쌓아서 구성됩니다.
각 유닛은 다음과 같은 일반적인 형태로 표현됩니다:

    $$y_l = h(x_l) + F(x_l, W_l)$$

    $$x_{l+1} = f(y_l)$$

여기서 $x_l$$x_{l+1}$$l$번째 유닛의 입력과 출력이며, $F$ 는 잔차 함수입니다.
$h(x_l) = x_l$ 은 아이덴티티 맵핑이고, $f$ 는 ReLU 함수로 정의되었습니다.

100층 이상의 깊이를 가진 ResNets는 ImageNet과 MS COCO와 같은 여러 도전적인 인식 작업에서 최첨단 정확도를 보여주었습니다.

딥 레지듀얼 네트워크 – 핵심 아이디어

ResNets의 핵심 아이디어는 $h(x_l)$ 에 대한 잔차 함수 $F$ 를 학습하는 것입니다.
이는 아이덴티티 스킵 연결(“지름길”)을 사용하여 실현됩니다.

이 논문에서는 정보 전파를 위한 “직접” 경로를 만드는 것에 중점을 두고 있습니다.
잔차 유닛 내뿐만 아니라 전체 네트워크를 통해 이루어집니다.

결과에 따르면, $h(x_l)$$f(y_l)$ 가 모두 아이덴티티 맵핑일 경우, 신호가 순전파와 역전파에서 하나의 유닛에서 다른 유닛으로 직접 전파될 수 있습니다.

실험 결과, 이러한 아키텍처가 훈련을 더 쉽게 만들고 더 나은 일반화를 가능하게 함을 보여줍니다.

스킵 연결의 역할을 이해하기 위해, 다양한 유형의 $h(x_l)$ 을 분석하고 비교했습니다. 아이덴티티 맵핑 $h(x_l) = x_l$ 이 가장 빠른 오류 감소와 가장 낮은 훈련 손실을 달성했으며, 스케일링(scaling), 게이팅(gating), 1×1 합성곱의 스킵 연결은 모두 더 높은 훈련 손실과 오류를 초래했습니다.

이러한 실험은 “깨끗한” 정보 경로를 유지하는 것이 최적화를 용이하게 하는 데 도움이 된다는 것을 시사합니다.

아이덴티티 맵핑 $f(y_l) = y_l$ 을 구성하기 위해, 활성화 함수(ReLU와 배치 정규화(BN))를 가중치 층의 “사전 활성화 (pre-activation)“로 봅니다. 이는 전통적인 “사후 활성화(post-activation)”와 대조됩니다.

이러한 관점은 새로운 잔차 유닛 설계로 이어집니다.
이 유닛을 기반으로, CIFAR-10/100 데이터셋에서 1001층 ResNet으로 경쟁력 있는 결과를 제시합니다.

이 네트워크는 훈련이 더 쉽고 일반화가 더 잘 됩니다.
또한, 200층 ResNet을 사용하여 ImageNet에서 개선된 결과를 보여줍니다.

이 네트워크는 원본 ResNet이 과적합되기 시작하는 지점에서 더 나은 성능을 보입니다.
이러한 결과는 네트워크 깊이의 차원을 활용할 여지가 많음을 시사합니다.

딥 레지듀얼 네트워크 (Deep Residual Networks) 분석

ResNets는 동일한 연결 형태를 가진 빌딩 블록을 쌓아 만든 모듈화된 아키텍처입니다.
이 논문에서는 이러한 블록을 “잔차 유닛 (Residual Units)”이라고 부릅니다.

원래의 잔차 유닛은 다음과 같은 계산을 수행합니다:

    $$(1): y_l = h(x_l) + F(x_l, W_l)$$

    $$(2): x_{l+1} = f(y_l)$$

여기서 $x_l$ 은 l번째 잔차 유닛의 입력 특징이고, $W_l$ 는 해당 유닛의 가중치 및 편향입니다. $F$ 는 잔차 함수로, 예를 들어 두 개의 3×3 합성곱 층을 쌓아 놓은 것입니다. $f$ 는 요소별 덧셈 후 활성화(ReLU)를 나타내며, $h$ 는 아이덴티티 맵핑 $h(x_l) = x_l$ 로 설정됩니다. $f$ 가 또한 아이덴티티 맵핑이라면, 방정식은 다음과 같이 단순화됩니다:

    $$(3): x_{l+1} = x_l + F(x_l, W_l)$$

이를 재귀적으로 적용하면:

    $$(4): x_L = x_l + \sum_{i=l}^{L-1} F(x_i, W_i)$$

방정식 (4)는 깊은 유닛 $L$과 얕은 유닛 $l$ 사이에서 몇 가지 유익한 성질을 보여줍니다. 첫째, 깊은 유닛 $L$의 특징 $x_L$은 얕은 유닛 $l$의 특징 $x_l$과 잔차 함수의 합으로 표현할 수 있습니다. 이는 네트워크가 잔차 방식으로 구성됨을 나타냅니다. 둘째, 깊은 유닛 $L$의 특징 $x_L$은 모든 이전 잔차 함수의 출력의 합입니다. 이는 단순한 네트워크와는 대조적입니다.

깊은 유닛 $L$의 특징 $x_L$은 다음과 같이 표현됩니다. $x_L = x_0 + \sum_{i=0}^{L-1} F(x_i, W_i)$ 이는 모든 이전 잔차 함수의 출력(그리고 $x_0$)의 합입니다. 이는 단순한 네트워크와는 대조됩니다. 단순한 네트워크에서는 특징 $x_L$이 행렬-벡터 곱의 시리즈, 즉 $\prod_{i=0}^{L-1} W_i x_0$ 으로 표현됩니다(BN과 ReLU 무시). 이러한 표현은 잔차 네트워크가 잔차 방식으로 동작함을 보여줍니다.

역전파 속성

방정식 (4)는 또한 역전파 속성에서도 유익합니다.
손실 함수 $\mathcal{E}$에 대해, 역전파 연쇄 규칙에서 다음과 같이 표현할 수 있습니다:

    $$(5): \frac{\partial \mathcal{E}}{\partial x_l} = \frac{\partial \mathcal{E}}{\partial x_L} \frac{\partial x_L}{\partial x_l} = \frac{\partial \mathcal{E}}{\partial x_L} \left( 1 + \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} F(x_i, W_i) \right)$$

방정식 (5)은 그래디언트 $\frac{\partial \mathcal{E}}{\partial x_l}$이 두 가지 추가 항으로 분해될 수 있음을 나타냅니다.
첫 번째 항인 $\frac{\partial \mathcal{E}}{\partial x_L}$는 어떤 가중치 층과도 상관없이 정보를 직접 전파합니다.
두 번째 항인 $\frac{\partial \mathcal{E}}{\partial x_L} \left( \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} F(x_i, W_i) \right)$는 가중치 층을 통해 정보를 전파합니다.

첫 번째 항 $\frac{\partial \mathcal{E}}{\partial x_L}$은 정보가 얕은 유닛 $l$로 직접 전파되도록 보장합니다.

방정식 (5)의 그래디언트 $\frac{\partial \mathcal{E}}{\partial x_l}$이 미니배치에서 상쇄되는 경우는 드뭅니다. 일반적으로 $\frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} F(x_i, W_i)$ 항이 모든 샘플에서 항상 -1이 될 수 없기 때문입니다. 이는 레이어의 가중치가 임의로 작아지더라도 그래디언트가 사라지지 않음을 의미합니다.

논의에서 방정식 (4)와 (5)는 신호가 어떤 유닛에서든 순전파와 역전파 모두에서 직접 전파될 수 있음을 시사합니다. 이는 두 가지 아이덴티티 맵핑 조건에 기초합니다: (i) 아이덴티티 스킵 연결 $h(x_l) = x_l$ 과 (ii) $f$가 아이덴티티 맵핑이라는 조건입니다. 이러한 조건들은 그림 1, 2, 4의 회색 화살표로 나타낸 정보 흐름을 설명합니다. 다음 섹션에서는 이 두 조건의 영향을 각각 조사합니다.

직접 전파

이는 깊은 유닛과 얕은 유닛 간의 잔차 방식(residual fashion)을 나타냅니다. 특징 $x_L$ 은 깊은 유닛의 출력이며, 얕은 유닛의 입력 특징 $x_l$ 과 잔차 함수 $F$ 의 합으로 나타낼 수 있습니다. 이는 신호가 전체 네트워크를 통해 직접 전파될 수 있음을 시사합니다.

방정식 (4)와 (5)는 순전파와 역전파 모두에서 신호가 직접 전파될 수 있음을 보여줍니다. 이는 두 가지 아이덴티티 맵핑에 기초합니다: (i) 아이덴티티 스킵 연결 $h(x_l) = x_l$ 과 (ii) $f$ 가 아이덴티티 맵핑이라는 조건입니다. 이러한 직접 전파 정보 흐름은 그림 1, 2, 4의 회색 화살표로 표시됩니다. 이 두 조건은 이러한 회색 화살표가 덧셈을 제외하고는 어떠한 작업도 수행하지 않을 때 성립합니다. 다음 섹션에서는 두 조건의 영향을 각각 조사합니다.

딥 레지듀얼 네트워크에서 아이덴티티 스킵 (Identity Skip) 연결의 중요성

아이덴티티 지름길을 깨뜨리기 위해 $h(x_l) = \lambda_l x_l$로 단순히 수정합니다:

    $$(6): x_{l+1} = \lambda_l x_l + F(x_l, W_l)$$

여기서 $\lambda_l$은 조절 스칼라입니다(간단하게 $f$는 여전히 아이덴티티 맵핑이라고 가정). 이 공식을 재귀적으로 적용하면 방정식 (4)와 유사한 방정식을 얻습니다: $x_L = (\prod_{i=l}^{L-1} \lambda_i) x_l + \sum_{i=l}^{L-1} (\prod_{j=i+1}^{L-1} \lambda_j) F(x_i, W_i)$

또는 더 간단하게:

    $$(7): x_L = \left( \prod_{i=l}^{L-1} \lambda_i \right) x_l + \sum_{i=l}^{L-1} \hat{F}(x_i, W_i)$$

여기서 $\hat{F}$는 잔차 함수에 스칼라를 흡수한 것입니다. 방정식 (5)와 유사하게, 다음과 같은 형태의 역전파를 가집니다:

    $$(8): \frac{\partial \mathcal{E}}{\partial x_l} = \frac{\partial \mathcal{E}}{\partial x_L} \left( \prod_{i=l}^{L-1} \lambda_i \right) + \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} \hat{F}(x_i, W_i)$$

방정식 (5)와 달리, 방정식 (8)의 첫 번째 추가 항은 $\prod_{i=l}^{L-1} \lambda_i$라는 인수에 의해 조절됩니다. 매우 깊은 네트워크의 경우 ($L$이 큰 경우), 모든 $\lambda_i$가 1보다 크면 이 인수는 기하급수적으로 커질 수 있습니다. 반대로, 모든 $\lambda_i$가 1보다 작으면 이 인수는 기하급수적으로 작아져 소멸할 수 있습니다. 이는 역전파 신호가 지름길에서 차단되고 가중치 층을 통해 흐르도록 강제하여 최적화에 어려움을 초래합니다. 이러한 현상은 실험을 통해 입증됩니다.

위의 분석에서는 방정식 (3)에서 원래의 아이덴티티 스킵 연결을 단순한 스케일링 $h(x_l) = \lambda_l x_l$로 대체했습니다. 스킵 연결 $h(x_l)$이 게이팅 또는 1×1 합성곱과 같은 더 복잡한 변환을 나타내는 경우, 방정식 (8)에서 첫 번째 항은 $\prod_{i=l}^{L-1} h_i'$가 됩니다. 여기서 $h'$$h$의 도함수입니다. 이러한 곱셈은 정보 전파를 방해하고 훈련 절차를 저해할 수 있습니다. 이는 다음 실험에서 확인할 수 있습니다.

스킵 연결에 대한 실험

CIFAR-10 데이터셋에서 110층 ResNet으로 실험을 진행했습니다.
이 매우 깊은 ResNet-110은 54개의 2층 잔차 유닛(3×3 합성곱 층)을 포함하며, 최적화가 어려운 구조입니다.
논문에서는 각 아키텍처에 대해 5번의 실행 중간값을 보고하여 무작위 변동의 영향을 줄였습니다.

위 분석은 아이덴티티 $f$에 의해 주도되지만, 이 섹션의 실험은 모두 ReLU를 기반으로 합니다.
기본 ResNet-110은 테스트 세트에서 6.61%의 오류율을 보였습니다.
다른 변형들과의 비교(그림 2, 표 1)는 다음과 같이 요약됩니다:

스킵 연결에 대한 실험 – 상수 스케일링

상수 스케일링:
모든 지름길에 대해 $\lambda = 0.5$로 설정했습니다.

$F$의 스케일링에 대한 두 가지 경우를 추가로 연구했습니다:
(i) $F$는 스케일링되지 않음,
(ii) $F$$1 - \lambda = 0.5$의 상수 스칼라로 스케일링됨.

첫 번째 경우는 잘 수렴하지 않았습니다.
두 번째 경우는 수렴했지만 테스트 오류(12.35%)는 원래 ResNet-110보다 훨씬 높았습니다.

Fig 3(a)는 원래 ResNet-110보다 훈련 오류가 높음을 보여줍니다.
이는 지름길 신호가 축소될 때 최적화에 어려움이 있음을 시사합니다.

스킵 연결에 대한 실험 – 독점적인 게이팅

독점적인 게이팅 (Exclusive Gating):
Highway Networks에서 채택한 게이팅 메커니즘을 따릅니다.

여기서는 게이팅 함수 $g(x) = \sigma(W_g x + b_g)$를 고려합니다.
$\sigma(x)$는 sigmoid 함수이며, 변환은 가중치 $W_g $와 바이어스 $b_g$로 나타냅니다. 합성곱 네트워크에서 $g(x)$는 1×1 합성곱 층으로 실현됩니다.

이 게이팅 함수는 요소별 곱셈을 통해 신호를 조절합니다.
Highway Networks에서 사용된 “exclusive” 게이트를 조사합니다.

여기서 $\mathcal{F}$경로는 $g(x)$에 의해 스케일되고, 지름길 경로는 $1 - g(x)$에 의해 스케일됩니다. 게이티드 모델 (gated model) 을 훈련하는 데 있어서 바이어스 $b_g$의 초기화가 중요하다는 것을 발견했습니다.

따라서 $b_g$의 초기 값을 0에서 -10까지 -1씩 감소시키면서 교차 검증을 통해 최적의 값을 탐색했습니다. 최적의 값(-6)은 훈련 세트에서 사용되어 테스트 결과 8.70%를 기록했습니다.

이는 여전히 ResNet-110 기본 설정보다 뒤처집니다.
다른 초기 값들을 사용한 결과에서도 초기화가 적절하지 않으면 좋은 솔루션에 도달하지 못했습니다.

독점적 게이팅 메커니즘의 영향은 두 가지입니다.

$1 - g(x)$가 1에 가까워질 때, 게이트 지름길 연결은 신원과 더 가까워져 정보 전달이 더 원활해집니다. 그러나 이 경우 $g(x)$는 0에 접근하여 함수 $\mathcal{F}$를 억제합니다.
지름길 경로에서 게이팅 함수의 영향을 격리하기 위해, 다음 절에서는 비독점적 게이팅 (non-exclusive gating) 메커니즘을 조사합니다.

스킵 연결에 대한 실험 – 지름길 게이팅

지름길 게이팅 (Shortcut-only Gating):
함수 $\mathcal{F}$는 스케일되지 않으며, 지름길 경로만 $1 - g(x)$에 의해 게이트됩니다. $b_g$의 초기화 값이 여전히 중요합니다. 초기 $b_g$값이 0일 때 (즉, 초기 기대값 $1 - g(x)$가 0.5인 경우), 네트워크는 12.86%의 저조한 결과에 수렴합니다. 이는 높은 훈련 오류로 인한 것입니다.

반면, 초기 $b_g$값이 매우 음의 바이어스를 가질 때 (예: -6), $1 - g(x)$값이 1에 가까워져 지름길 연결이 거의 아이덴티티 매핑이 됩니다. 따라서 결과는 6.91%로 ResNet-110 기본 설정보다 훨씬 가까워집니다.

스킵 연결에 대한 실험 – 지름길

1×1 합성곱 지름길:
다음으로, 아이덴티티를 대체하는 1×1 합성곱 지름길 연결을 실험했습니다.

이 옵션은 34층 ResNet(16개의 잔차 유닛)에서 ‘옵션 C’로 조사되었으며, 좋은 결과를 보여 1×1 지름길 연결이 유용할 수 있음을 시사합니다. 그러나 많은 잔차 유닛이 있는 경우에는 그렇지 않다는 것을 발견했습니다.

110층 ResNet은 1×1 합성곱 지름길을 사용할 때 더 나쁜 결과(12.22%)를 보였고, 훈련 오류가 더 높았습니다.
많은 잔차 유닛을 쌓을 때, 심지어 가장 짧은 경로조차도 신호 전파를 방해할 수 있습니다.
유사한 현상이 ImageNet에서 1×1 합성곱 지름길을 사용하는 ResNet-101에서도 관찰되었습니다.

드롭아웃 지름길:
마지막으로, 드롭아웃(비율 0.5)을 아이덴티티 지름길 출력에 적용하는 실험을 진행했습니다.
네트워크는 좋은 솔루션으로 수렴하지 못했습니다.
드롭아웃은 통계적으로 지름길에서 $\lambda$를 0.5로 스케일링하는 효과를 가집니다.
이는 상수 스케일링과 유사하게 신호 전파를 방해합니다.

스킵 연결의 최적화 문제

그림 2의 회색 화살표가 나타내듯이, 지름길 연결은 정보가 전파되기 위한 가장 직접적인 경로입니다. 지름길에 대한 곱셈 조작(스케일링, 게이팅, 1×1 합성곱, 드롭아웃)은 정보 전파를 방해하고 최적화 문제를 일으킬 수 있습니다.

게이팅과 1×1 합성곱 지름길은 더 많은 파라미터를 도입하며, 아이덴티티 지름길보다 강력한 표현 능력을 가질 것으로 예상됩니다. 사실, 지름길만을 사용하는 게이팅과 1×1 합성곱은 아이덴티티 지름길의 해 공간을 포함합니다(즉, 아이덴티티 지름길로 최적화될 수 있음). 그러나 이들의 훈련 오류가 아이덴티티 지름길보다 높다는 것은 이러한 모델의 성능 저하가 표현 능력 문제가 아니라 최적화 문제 때문임을 나타냅니다.

딥 레지듀얼 네트워크에서 활성화 (Activation) 함수의 사용

위 섹션의 실험은 방정식 (5)와 (8)의 분석을 뒷받침하며, 이 둘은 모두 덧셈 후 활성화 함수 $f$가 아이덴티티 맵핑이라는 가정 하에 도출되었습니다. 그러나 위의 실험에서 $f$는 ReLU이므로, 방정식 (5)와 (8)은 위 실험에서 근사적으로 적용되었습니다. 다음으로 $f$의 영향을 조사합니다.

$f$를 아이덴티티 맵핑으로 만들고자 하며, 이는 활성화 함수(ReLU 및/또는 배치 정규화(BN))를 재배치하여 수행됩니다. 원래 잔차 유닛은 그림 4(a)와 같은 형태를 가지고 있습니다. 여기서 BN은 각 가중치 층 뒤에 사용되며, ReLU는 마지막 ReLU를 제외하고 BN 뒤에 채택됩니다(즉, $f = ReLU$). 그림 4(b-e)는 조사한 대안들을 보여주며, 다음과 같이 설명됩니다.

활성화 함수에 대한 실험

ResNet-110과 164층 병목(Bottleneck) 아키텍처(ResNet-164)를 사용하여 실험을 진행합니다. 병목 잔차 유닛은 차원을 줄이기 위한 1×1 층, 3×3 층, 차원을 복원하기 위한 1×1 층으로 구성됩니다. 이 병목 유닛의 계산 복잡도는 두 개의 3×3 잔차 유닛과 유사합니다. 기본 ResNet-164는 CIFAR-10에서 5.93%의 경쟁력 있는 결과를 보여줍니다(표 2).

덧셈 후 배치 정규화:
아이덴티티 맵핑으로 변환하기 전에, 덧셈 후 BN을 채택했습니다(그림 4(b)).

이 경우 $f$는 BN과 ReLU를 포함합니다.
결과는 기본값보다 상당히 나빴습니다(표 2). 원래 설계와 달리, 이제 BN 층이 지름길을 통해 전달되는 신호를 변경하고 정보 전파를 방해합니다. 이는 훈련 초기에 훈련 손실을 줄이는 데 어려움이 있음을 반영합니다(그림 6 왼쪽).

덧셈 전 ReLU:
$f$를 아이덴티티 맵핑으로 만드는 단순한 선택은 ReLU를 덧셈 전에 이동하는 것입니다(그림 4(c)). 그러나 이는 변환 $F$로부터 비음수 출력을 초래하며, 직관적으로 “잔차” 함수는 (-∞, +∞) 범위의 값을 가져야 합니다.

결과적으로, 순전파 신호는 단조 증가하게 됩니다. 이는 표현 능력에 영향을 미칠 수 있으며, 결과는 기본값보다 나빴습니다(7.84%, 표 2). 잔차 함수가 (-∞, +∞) 범위의 값을 갖기를 기대합니다. 이 조건은 다음 잔차 유닛을 포함한 다른 잔차 유닛에서 만족됩니다.

활성화 함수에 대한 실험 – 사전/사후 활성화

사후 활성화 또는 사전 활성화?:
원래 설계(방정식 (1)과 (2))에서, 활성화 $x_{l+1} = f(y_l)$는 다음 잔차 유닛에서 두 경로 모두에 영향을 미칩니다: $y_{l+1} = f(y_l) + F(f(y_l), W_{l+1})$.

다음으로, 비대칭 형태를 개발하여 활성화 $\hat{f}$$F$ 경로에만 영향을 미치도록 합니다: $y_{l+1} = y_l + F(f(y_l), W_{l+1})$. 이를 위해 표기법을 변경하면 다음과 같은 형태가 됩니다:

    $$x_{l+1} = x_l + F(\hat{f}(x_l), W_l)$$

방정식 (9)는 방정식 (4)와 유사하며, 방정식 (5)와 유사한 역방향 공식을 가능하게 합니다.
이 새로운 잔차 유닛에서 방정식 (9)처럼, 덧셈 후 활성화는 아이덴티티 맵핑이 됩니다.
이 설계는 만약 새로운 덧셈 후 활성화 $\hat{f}$가 비대칭적으로 채택된다면, 이는 다음 잔차 유닛의 사전 활성화로 $\hat{f}$를 재구성하는 것과 동등함을 의미합니다.

이는 그림 5에서 설명됩니다.

사후 활성화와 사전 활성화의 구분은 요소별 덧셈 의 존재로 인해 발생합니다. 일반 네트워크는 $N$개의 층이 있을 때, $N$−1 개의 활성화 (BN/ReLU) 층이 있으며, 이들을 사후 활성화로 볼지 사전 활성화로 볼지 상관이 없습니다. 그러나 덧셈에 의해 병합된 분기 층의 경우, 활성화 위치가 중요합니다.

활성화 함수에 대한 실험 – 두 가지 모델

두 가지 모델을 실험했습니다:
(i) ReLU만을 사용하는 사전 활성화(그림 4(d)),
(ii) BN과 ReLU를 모두 가중치 층 전에 사용하는 전체 사전 활성화(그림 4(e)).

표 2는 ReLU만을 사용하는 사전 활성화가 ResNet-110/164에서 기본값과 매우 유사한 성능을 보인다는 것을 보여줍니다. 이 ReLU 층은 BN 층과 함께 사용되지 않으며, BN의 이점을 누리지 못할 수 있습니다.

다소 놀랍게도, BN과 ReLU를 모두 사전 활성화로 사용할 때 결과는 크게 향상되었습니다(표 2 및 표 3).

표 3에서는 다양한 아키텍처를 사용한 결과를 보고합니다:
(i) ResNet-110,
(ii) ResNet-164,
(iii) 각 지름길이 한 개의 층만 건너뛰는 110층 ResNet 아키텍처
(즉, 잔차 유닛이 한 개의 층만 포함된 “ResNet-110(1layer)”),
(iv) 333개의 잔차 유닛(각 특징 맵 크기당 111개)을 포함한 1001층 병목 아키텍처(“ResNet-1001”).

CIFAR-100에서도 실험을 진행했습니다.
표 3은 “사전 활성화” 모델이 일관되게 기본 모델보다 더 나은 성능을 보인다는 것을 보여줍니다.

분석

사전 활성화의 영향은 두 가지로 나뉩니다. 첫째, $f$ 가 아이덴티티 맵핑이기 때문에 최적화가 더욱 용이해집니다(기본 ResNet과 비교하여). 둘째, 사전 활성화로 BN을 사용하는 것은 모델의 정규화를 개선합니다.

최적화의 용이성:
이 효과는 특히 1001층 ResNet을 훈련할 때 두드러집니다.

그림 1은 그 곡선을 보여줍니다. 원래의 설계를 사용할 때, 훈련 오류는 훈련 초기에 매우 천천히 감소합니다. $f = ReLU$ 인 경우, 신호가 음수이면 영향을 받으며, 많은 잔차 유닛이 있을 때 이 효과가 두드러지고 방정식 (3)(따라서 방정식 (5))는 좋은 근사가 아닙니다. 반면, $f$가 아이덴티티 맵핑일 때, 신호는 어떤 두 유닛 사이에서도 직접적으로 전파될 수 있습니다. 1001층 네트워크는 훈련 손실을 매우 빠르게 줄이며(그림 1), 조사한 모든 모델 중 가장 낮은 손실을 달성하여 최적화의 성공을 보여줍니다.

또한, ResNet이 적은 층을 가질 때(예: 그림 6 오른쪽의 164층), $f = ReLU$ 의 영향이 심각하지 않다는 것을 발견했습니다. 훈련 곡선은 훈련 초기에 약간의 어려움을 겪지만 곧 건강한 상태로 들어갑니다. 반응을 모니터링한 결과, 이는 일부 훈련 후 가중치가 조정되어 방정식 (1)의 $y_l$ 이 더 자주 0 이상이 되어 $f$ 가 이를 잘라내지 않기 때문입니다( $x_l$ 은 이전 ReLU로 인해 항상 비음수이므로, $y_l$ 이 0 이하가 되는 것은 $F$ 의 크기가 매우 음수일 때뿐입니다). 그러나 1000개의 층이 있을 때 절단 빈도가 더 자주 발생합니다.

과적합 감소:
제안된 사전 활성화 유닛을 사용하면 정규화에도 영향을 미칩니다.

그림 6(오른쪽)에서 볼 수 있듯이, 사전 활성화 버전은 수렴 시 약간 더 높은 훈련 손실에 도달하지만, 테스트 오류는 더 낮게 나타납니다. 이러한 현상은 CIFAR-10과 CIFAR-100에서 ResNet-110, ResNet-110(1-layer), ResNet-164에서 모두 관찰되었습니다. 이는 아마도 BN의 정규화 효과 때문일 것입니다.

원래 잔차 유닛(그림 4(a))에서는 BN이 신호를 정규화하지만, 이는 곧 지름길에 더해져 병합된 신호는 정규화되지 않습니다. 이 비정규화된 신호는 다음 가중치 층의 입력으로 사용됩니다. 반면에, 사전 활성화 버전에서는 모든 가중치 층의 입력이 이미 정규화되어 있습니다.

결과

CIFAR-10/100 비교

표 4는 CIFAR-10/100에서 최첨단 방법과의 비교 결과를 보여줍니다. 네트워크 너비나 필터 크기를 특별히 조정하지 않았으며, 이 작은 데이터셋에 매우 효과적인 드롭아웃과 같은 정규화 기법도 사용하지 않았습니다. 단순하지만 중요한 개념인 깊이를 늘림으로써 이러한 결과를 얻었습니다. 이 결과는 깊이의 한계를 극복할 가능성을 보여줍니다.

ImageNet 비교

다음으로 1000개의 클래스를 가진 ImageNet 데이터셋에서의 실험 결과를 보고합니다. ResNet-101에서 그림 2와 3에서 연구된 스킵 연결을 사용하여 ImageNet에서 예비 실험을 수행했으며, 유사한 최적화 어려움을 관찰했습니다. 이러한 비아이덴티티 단축 네트워크의 훈련 오류는 첫 번째 학습률에서 원래 ResNet보다 명백히 높았으며(그림 3과 유사), 제한된 자원으로 인해 훈련을 중단했습니다.

그러나 ImageNet에서 “덧셈 후 BN” 버전(그림 4(b))의 ResNet-101을 완료했으며, 더 높은 훈련 손실과 검증 오류를 관찰했습니다. 이 모델의 단일 크롭(224×224) 검증 오류는 24.6%/7.5%로, 원래 ResNet-101의 23.6%/7.1%와 비교됩니다. 이는 CIFAR에서의 결과(그림 6 왼쪽)와 일치합니다.

ResNet-152 와 ResNet-200 비교

표 5는 ResNet-152와 ResNet-200의 성능을 보여줍니다. 모든 모델은 처음부터 훈련되었습니다. 원래 ResNet 논문에서는 짧은 변의 길이 $s \in [256, 480]$ 범위로 스케일 지터링(scale jittering)을 사용하여 모델을 훈련했으며, $s = 256$ 에서 224×224 크롭(crop) 테스트는 부정적으로 편향되었습니다.

대신, 모든 원래 ResNet과 사전 활성화 ResNet에서 $s = 320$ 에서 단일 320×320 크롭을 테스트했습니다. 비록 ResNet이 더 작은 크롭에서 훈련되었지만, ResNet은 설계상 완전히 합성곱적(convolutional)이므로 더 큰 크롭에서도 쉽게 테스트할 수 있습니다. 이 크기는 Inception v3 에서 사용된 299×299 크기와도 비슷하여 더 공정한 비교를 가능하게 합니다.

원래 ResNet-152 은 320×320 크롭에서 21.3%의 top-1 오류율을 기록했으며, 사전 활성화 모델은 21.1%의 오류율을 기록했습니다. ResNet-152 모델에서는 큰 차이가 없었는데, 이는 이 모델이 심각한 일반화 문제를 보여주지 않았기 때문입니다.

그러나 원래 ResNet-200은 21.8%의 오류율을 보여 ResNet-152보다 높은 오류율을 기록했습니다. 하지만, 원래 ResNet-200이 ResNet-152보다 낮은 훈련 오류를 기록하여 과적합 문제가 있음을 시사합니다.

사전 활성화 ResNet-200은 20.7%의 오류율을 기록하여, 기본 ResNet-200보다 1.1% 낮으며, 두 버전의 ResNet-152보다도 낮습니다. 스케일 및 종횡비 보강을 사용하면, ResNet-200은 Inception v3 보다 더 나은 결과를 보입니다(표 5). 이 연구와 동시에, Inception-ResNet-v2 모델은 단일 크롭 결과로 19.9%/4.9%를 달성했습니다.

계산 비용 (Computational Cost)

모델의 계산 복잡도는 깊이에 비례합니다. 따라서 1001층 네트워크는 100층 네트워크보다 약 10배 더 복잡합니다. CIFAR-10 데이터셋에서 ResNet-1001은 2개의 GPU를 사용하여 약 27시간 동안 훈련됩니다. ImageNet 데이터셋에서는 ResNet-200이 8개의 GPU를 사용하여 약 3주 동안 훈련됩니다. 이는 VGG 네트워크와 유사한 수준의 훈련 시간입니다.

참조