
Fast Geometric Ensembling 논문 해설: 저손실 경로를 통한 고속 앙상블
요약
심층 신경망의 가중치 공간에서 독립된 해들을 잇는 저손실 경로(Low-loss path)를 탐색하는 Fast Geometric Ensembling(FGE) 기법을 설명합니다. 직선적 보간의 한계를 넘어 곡선 경로를 최적화함으로써, 단일 학습 과정에서도 높은 성능과 예측 다양성을 가진 모델들을 효율적으로 얻는 방법을 다룹니다.
핵심 포인트
- 가중치 공간 내 두 해 사이의 직선 경로에는 높은 손실 장벽이 존재할 수 있음
- 곡선 경로를 최적화하면 손실을 낮게 유지하며 해 사이를 이동 가능
- 저손실 경로는 단순 재매개변수화가 아닌 예측 다양성을 포함함
- FGE를 통해 단일 학습 궤적 내에서 효율적인 모델 앙상블 구현 가능
서론
심층 신경망 (Deep Neural Network, DNN)의 손실 함수 (Loss Function)는 고차원이며 비볼록 (Non-convex)하다. 서로 다른 랜덤 초기값으로부터 동일한 모델을 학습하면, 최종적으로는 가중치 공간 (Weight Space) 상의 서로 다른 점에 도달한다. 각각의 모델은 높은 정확도를 가지는 한편, 그 두 점을 직선으로 연결하면 도중에 손실이 크게 상승할 수 있다.
독립적으로 학습된 두 해 (Solution)를
$w_1, w_2$
라고 쓰자. 양 끝의
$w_1, w_2$
하지만 여기에는 한 가지 비약이 있다.
직선상에 저손실 경로 (Low-loss path)가 존재하지 않는다는 것이, 두 해를 잇는 저손실 경로 그 자체가 존재하지 않음을 의미하지는 않는다.
수백만 차원에 달하는 가중치 공간에서 두 점을 잇는 경로는 직선뿐만이 아니다. 직선으로는 높은 손실의 벽에 충돌하더라도, 아주 약간만 휘어진다면 그 벽을 회피할 수 있는 가능성이 있다.

Figure 1: CIFAR-100 상의 ResNet-164
Figure 1은 이 차이를 단적으로 보여준다. Fig.1 왼쪽에서는 독립적으로 학습된 3개의 네트워크가 각각 고립된 극소점 (Local Minima)처럼 보인다. 그리고 이 해들을 직접 잇는 직선상에는 높은 손실의 장벽이 존재한다.
반면, Fig.1 중앙에서는 2차 베지에 곡선 (2nd order Bezier curve) [1]로, Fig.1 오른쪽에서는 하나의 꺾임이 있는 꺾은선에 의해 연결되어 있다. 경로를 적절히 선택하면, 양 끝의 고성능 해 사이를 손실을 거의 증가시키지 않고 이동할 수 있다.
중요한 점은 손실 곡면 (Loss Surface) 자체가 변화한 것이 아니라는 점이다. 각 그림에서 변화하고 있는 것은 수백만 차원의 가중치 공간에서 잘라내어 시각화한 2차원 부분 공간 (Subspace)이다. 독립적으로 학습된 해만을 포함하는 평면에서는 각각의 극소점이 고립되어 보인다. 하지만 저손실 경로 상의 점을 포함하는 평면을 관찰하면, 그들 사이에 다리가 나타난다.
Garipov 등의 Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs는 이 현상을 단순한 시각화상의 관찰로 끝내지 않고, 두 개의 고성능 해를 양 끝점으로 고정하고, 그 사이를 잇는 곡선 자체를 최적화함으로써 저손실 경로를 발견하는 알고리즘을 제안했다.
나아가 이 경로를 따라 이동하면 정확도를 유지한 채 서로 다른 예측을 수행하는 모델을 얻을 수 있음을 보여주었다. 즉, 저손실 경로는 단순히 동일한 함수를 서로 다른 가중치로 표현한 것이 아니라, 앙상블 (Ensemble)에 이용할 수 있는 예측 다양성 (Predictive Diversity)을 포함하고 있었다.
여기에서 **Fast Geometric Ensembling (FGE)**의 발상이 태어난다.
저손실 영역에서 멀리 떨어지지 않고도 가중치 공간을 비교적 작게 이동하는 것만으로 고성능이면서 서로 다른 예측을 가진 모델을 얻을 수 있다면, 여러 네트워크를 처음부터 독립적으로 학습할 필요는 없다. 단일 학습 궤적 안에서 저손실 영역을 탐색하고, 그 도중에서 여러 모델을 회수하면 된다.
본 기사에서는 이 흐름을 순차적으로 따라간다.
먼저 선형 보간 (Linear Interpolation)의 실패로부터 '극소점은 고립되어 있다'라는 직관이 왜 생겨나는지를 정리한다. 다음으로 저손실 경로를 곡선 상의 기대 손실 (Expected Loss)로서 정식화하고, 그 곡선을 확률적 경사 하강법 (Stochastic Gradient Descent, SGD)으로 학습하는 알고리즘을 살펴본다. 그 후 발견된 경로가 단순한 가중치의 재매개변수화 (Reparameterization)가 아니라 의미 있는 예측 다양성을 가짐을 확인한다.
그리고 마지막으로 이 기하학적 관찰이 왜 짧은 주기의 학습률 스케줄 (Learning Rate Schedule)을 통한 Fast Geometric Ensembling으로 이어지는지를 고찰한다.
**"DNN의 해를 고립된 한 점이 아니라, 서로 연결된 저손실 영역의 일부로 파악한다"**라는 관점에서 원 논문을 풀어가겠다.
1. 극소점은 정말로 고립되어 있는가
1.1 선형 보간이 만드는 "벽"
서로 다른 랜덤 초기값으로부터 동일한 신경망을 학습하면 통상적으로 서로 다른 가중치 벡터에 도달한다. 두 개의 학습된 모델을
$w_1, w_2$
라고 하자. 여기서,
$w( heta) = (1- heta)w_1 + heta w_2 ext{ (where } heta ext ∈ [0, 1])$
이것들을 잇는 가장 단순한 경로는 선형 보간
$w( heta)$
이다.
만약 양쪽 모두 동일한 저손실 영역에 속해 있다면, 이 선분 위에서도 손실은 낮게 유지될 것처럼 보인다. 하지만 실제로는 양 끝의 모델이 모두 고성능일지라도, 그 중간에서는 손실이나 오차가 크게 상승할 수 있다.
앞서 $ heta o 0$에서 보여준 Figure 1에서도 독립적으로 학습된 두 해를 직접 잇는 선분은 고손실 영역을 가로지르고 있다. 즉,
$L(w_1) ext{ 가 낮고 } L(w_2) ext{ 가 낮더라도, } L(w( heta)) ext{ 는 매우 높을 수 있다.}$
즉,
$L(w_1) ext{ is low, } L(w_2) ext{ is low, but } L(w( heta)) ext{ can be high.}$
이 현상은 두 해 사이에 **"손실의 벽"**이 존재함을 의미한다.
하지만 여기서 주의해야 한다.
선형 보간이 실패했다는 사실로부터 알 수 있는 것은 특정한 직선상에는 저손실 경로가 존재하지 않는다는 것뿐이다.
그것이
$ ext{저손실 경로 자체가 존재하지 않는다}$
는 것을 의미하지는 않는다.
형식적으로는,
일지라도, 다른 곡선
$\text{및}$
을 만족할 가능성은 남아 있다.
직선으로 벽을 넘을 수 없다면, 벽을 우회하면 된다.
물론, 수백만 차원의 가중치 공간(weight space)에서의 "우회"는 인간이 시각적으로 상상할 수 있는 2차원 평면상의 우회와는 다르다. 그럼에도 논리는 동일하다. 두 점을 잇는 직선은 무수히 존재하는 경로 중 하나에 불과하다.
따라서, 선형 보간(linear interpolation)에 나타나는 손실 장벽(loss barrier)만으로 DNN의 고성능 해(solution)들이 서로 고립되어 있다고 결론 내릴 수는 없다.
1.2 국소적인 「극소(local minima)」에서 대역적인 「경로(path)」로
DNN의 손실 곡면(loss surface)을 생각할 때, 많은 논의는 하나의 해의 근방(neighborhood)에 주목한다.
예를 들어,
- 극소점의 주변은 날카로운가(sharp), 아니면 평탄한가(flat)인가
- Hessian의 고유값(eigenvalue)은 어떤 분포를 갖는가
- 파라미터(parameter)를 약간 섭동(perturbation)했을 때, 손실은 어느 정도 상승하는가
와 같은 질문들이다.
이것들은 특정 가중치의 **국소적 기하(local geometry)**를 다루고 있다.
반면, 본 논문이 다루는 질문은 다르다.
독립적으로 학습된 두 개의 고성능 해
이다.
이는 하나의 극소점 근방을 조사하는 문제가 아니다. 국소적인 평탄성이 $\text{w} + \text{e}$와 같은 작은 섭동에 대한 손실의 변화를 묻는다면, mode connectivity가 다루는 것은 $\text{w}_1$과 $\text{w}_2$라는 서로 다른 해 사이의 **연결(connectivity)**이다.
따라서, 어떤 극소점이 국소적으로 날카롭다는 것이 다른 고성능 해로부터 고립되어 있음을 의미하지는 않는다. 반대로, 근방이 평탄하더라도 멀리 떨어진 해까지 저손실 영역이 이어져 있다고 단정할 수도 없다.
기존에는 독립적으로 학습된 DNN이 서로 다른 가중치로 수렴하며, 그 사이의 선형 보간에는 손실 장벽이 나타나기 때문에 각각이 별개의 국소 최소값(local minimum)에 속한다고 생각되어 왔다.
하지만 Figure 1이 보여주듯이, 직선상에서는 분리되어 보이는 두 해라도 더 넓은 가중치 공간까지 고려하면 단순한 곡선에 의해 저손실 상태로 연결될 수 있다.
이러한 관점에서 보면, 독립적으로 얻은 해는 서로 고립된 극소점이 아니라, 더 큰 연결된 저손실 영역 위에 존재하는 점으로서 재정의된다.
단, 이 결과를 과도하게 일반화해서는 안 된다. 본 논문은 임의의 DNN의 임의의 두 국소 최소점이 반드시 저손실 경로로 연결된다는 것을 증명한 것이 아니다. 또한 수학적으로 고립된 국소 최소값임을 확인한 뒤에 그것들을 연결한 것도 아니다.
원 논문에서는 독립적으로 학습된 고성능 해를 관례적으로 **「모드(mode)」**라고 부른다. 이하에서도 이 표현을 사용하겠지만, 더 정확하게는 서로 다른 랜덤 초기값(random initialization)으로부터 학습하여 얻은 고성능 가중치 벡터를 연결하는 문제이다.
그렇다면, 그러한 두 해 사이에 저손실 경로가 존재하는지를 어떻게 조사해야 할까?
1.3 극소점이 아니라 곡선을 학습한다
통상적인 뉴럴 네트워크 학습에서는 하나의 가중치 벡터
$\text{w}$를 찾는다.
예를 들어,
$\text{arg min}_{\text{w}} \text{L}(\text{w})$
를 풀어 고성능인 한 점
$\text{w}^*$
을 얻는다.
본 논문은 이 최적화 대상을 한 점에서 곡선으로 확장한다.
독립적으로 학습된 두 모델
$\text{w}_1, \text{w}_2$
를 고려한다.
여기서,
- $\text{w}(t)$는 곡선 위의 위치를 나타내는 파라미터 $t \in [0, 1]$
- $\theta$는 곡선의 형상을 결정하는 학습 가능한 파라미터
이다.
곡선의 양 끝점에는 $\text{w}(0) = \text{w}_1, \text{w}(1) = \text{w}_2$
라는 제약을 가한다.
따라서 문제는 어떻게 통과할 것인가뿐이다.
목적은 단순히 두 점을 연결하는 것이 아니다. 그러한 곡선은 무수히 존재한다.
우리가 구하고자 하는 것은 곡선 위의 모든 지점에서 손실이 낮은 경로이다.
직관적으로는, 전역적으로(globally) 손실이 작아지도록 $\text{L}(\text{w}(t))$를 최소화하는 것이다.
즉, 통상적인 학습이 저손실인 점을 찾는 문제라면, 본 논문의 곡선 발견은 저손실인 경로를 찾는 문제이다.
통상적인 학습에서는 각 반복(iteration)마다 하나의 네트워크
$\text{w}$
전체를 최적화해야 한다.
물론 연속적인 곡선상에는 무수히 많은 점이 존재한다. 그 모든 점에 대해 손실을 계산하고 동시에 최소화하는 것은 불가능하다.
따라서 다음에 필요한 것은 「곡선 전체의 손실」을 하나의 목적 함수(objective function)로서 어떻게 정의할 것인가 하는 문제이다.
본 논문은 곡선상의 손실을 적분하고 그 평균을 최소화함으로써 이 문제를 정식화한다. 그리고 그 적분을 매 스텝 하나의 랜덤한 $\text{t}$에 대해 샘플링하는 방식으로 접근한다.
다음 장에서는 이 곡선 최적화를 수식으로 살펴보겠다.
2. 저손실 경로를 어떻게 학습하는가
전 장에서는 독립적으로 학습된 두 모델
$\text{w}_1, \text{w}_2$
와 그 사이를 잇는 곡선
$\text{w}(t)$
를 학습하는 문제를 고려했다.
끝점 조건은 $\text{w}(0) = \text{w}_1, \text{w}(1) = \text{w}_2$
이다.
여기서 남은 문제는 하나이다.
「곡선 전체의 손실」을 어떤 목적 함수로 정의할 것인가.
곡선상에는 무수히 많은 네트워크가 존재한다. 따라서 한 점의 손실
본 논문은 이 문제를 **곡선상의 기대 손실 (Expected Loss on the Curve)**로 정식화한다.
2.1 곡선상의 평균 손실을 최소화하기
먼저, 가장 자연스러운 목적을 생각한다.
곡선
따라서 본 논문은 다음과 같은 목적 함수를 고려한다.
분모는 곡선의 전체 길이이며, 분자는 곡선상의 각 지점에서의 손실을 경로를 따라 쌓아 올린 것이다.
따라서,
이 의미를 조금 더 구체적으로 살펴보자.
곡선을
이다.
곡선상의 이동 거리 관련 보충
와(과) 달라진다. 이때의 변위 벡터는
이다.
이므로,
가 된다.
이는 이동 방향을 포함하는 **벡터 (Vector)**이다. 그 길이를 $s$라고 하면,
가 된다. 따라서 곡선을 따른 미소 이동 거리는
라고 쓸 수 있다.
따라서 식 (1)은
라고 쓸 수 있다.
확률 밀도를 $q_{\theta}(t)$라고 정의하면,
즉,
라고 표현할 수 있다 (기대값의 정의 그 자체).
이는 이상적인 목적 함수로 보이지만, 최적화하는 관점에서는 한 가지 문제가 있다.
2.2 왜 호의 길이 평균 (Arc-length Average)을 직접 최적화하지 않는가
식 (1)을 기대값으로 쓰면,
였다.
여기서 주의해야 할 점은 샘플링 분포 $q_{\theta}(t)$
따라서,
를 구할 때는,
- 곡선상의 네트워크 $\phi_{\theta}(t)$가 변화하는 효과
- 샘플링 분포 $q_{\theta}(t)$ 자체가 변화하는 효과
두 가지를 모두 고려해야 한다.
이에 본 논문은 샘플링 분포의
이는,
라고 쓸 수 있다.
식 (1)과 식 (2)는 비슷하지만, 무엇을 균일하게 다루는지가 다르다.
| 관점 | 식 (1) | 식 (2) |
|---|---|---|
| 평균하는 기준 | 곡선상의 거리 | 파라미터 |
| 진행 속도에 대한 의존 | 하지 않음 | 함 |
| 최적화 | 다루기 어려움 | SGD로 다루기 쉬움 |
| 위치 설정 | 이상적인 목적 함수 | 다루기 쉬운 근사 |
따라서 일반적으로는
동일한 기하학적 곡선이라도,
다만 곡선을 일정한 속도로
원 논문에서 제시하는 구체적인 예시는 길이가 같은 두 선분으로 이루어진 꺾은선이다. 각 선분을
일반적인 베지에 곡선 (Bezier Curve)이나 꺾은선에서는 항상 일치하는 것은 아니다. 그럼에도 원 논문에서는 학습 후의 경로에 대해 양자를 비교했을 때, 그 값이 매우 가까웠다고 밝혔다.
따라서 식 (2)는 식 (1)과 수학적으로 동일하지는 않지만, 최적화하기 쉽고 실험적으로 충분히 좋은 근사로서 채택되었다.
즉, 저자들은 이상적인 호의 길이 평균을 직접 최적화하는 대신, 파라미터화 의존성을 허용하면서 일반적인 확률적 경사 하강법 (SGD)으로 다룰 수 있는 목적 함수로 대체하였다. 이 근사를 통해 곡선의 학습은 대폭 단순화된다.
2.3 Monte Carlo로 곡선을 학습하기
식 (2)를 다시 보자.
여기서는,
따라서 미분을 기대값 안으로 옮길 수 있으며 [2],
가 된다.
따라서 각 반복(iteration)에서
즉,
를 통해, 연속적인 곡선 위의 무수히 많은 네트워크를 동시에 평가할 필요가 없어진다.
각 단계에서는 곡선 위의 한 점만을 무작위로 선택하면 된다.
알고리즘은 다음과 같다.
- $t \sim U(0, 1)$를 샘플링한다.
- 곡선상의 가중치 $w = \phi_{\theta}(t)$를 구성한다.
- 가중치 $w$를 가진 네트워크로 미니배치 손실을 계산한다.
- $\theta$에 대해 역전파(backpropagation)한다.
- $\theta$를 업데이트한다.
- 수렴할 때까지 반복한다.
일반적인 신경망 학습과의 차이점은 최적화하고 있는 가중치를 모델에 그대로 사용하지 않는다는 점이다.
일반적인 학습에서는,
반면 본 기법에서는,
라는 계산을 수행한다.
연쇄 법칙 (Chain Rule)을 명시하면,
이다.
구현상으로는 이 계산을 특별히 유도할 필요는 없다.
따라서 각 반복에서 수행하고 있는 일은, 곡선상에서 무작위로 하나의 네트워크를 선택하고, 그 네트워크의 손실이 낮아지도록 곡선 전체의 형태를 업데이트하는 것이라고 이해하면 된다.
한 번의 업데이트에서는 곡선상의 한 점만을 보고 있다. 하지만 반복할 때마다 다른
이는 일반적인 SGD가 모든 데이터의 손실을 매번 계산하는 대신 미니배치를 샘플링하는 것과 같다. 데이터 방향의 기대값을 미니배치로 근사하는 것과 마찬가지로, 이 기법에서는 곡선 방향의 기대값을 무작위한
실제로는 한 번의 반복에서
- 미니배치를 샘플링한다.
- 곡선상의 위치 $t$를 샘플링한다.
라는 이중의 확률적 근사 (stochastic approximation)를 수행하고 있는 셈이다.
이렇게 무수히 많은 네트워크로 구성된 곡선 전체의 최적화가 일반적인 DNN 학습과 거의 동일한 형식의 확률적 경사 하강법으로 귀결된다.
다만, 지금까지의 논의에서 곡선
임의의 복잡한 곡선을 사용할 수도 있지만, 그렇게 하면 「저손실 경로가 존재했다」 하더라도, 그 구조가 단순히 곡선의 과도한 자유도에 의해 만들어졌을 가능성이 남는다.
본 논문이 흥미로운 점은 극히 단순한 곡선으로도 충분했다는 것이다.
다음 장에서는 단 하나의 꺾임점(折れ曲がり点)을 가진 꺾은선과 2차 베지에 곡선 (Bezier Curve)을 사용하여, 독립적으로 학습된 모드 (Mode) 사이에 저손실 경로가 나타나는 것을 확인한다.
3. 단순한 곡선이 모드를 연결한다
전 장에서는 두 개의 고성능 모델
을 고려하여, 그 곡선 위의 평균 손실
을 최소화하는 방법을 살펴보았다.
지금까지의 논의에서는 곡선
극단적으로 말하면, 충분히 복잡한 곡선족 (Curve family)을 준비한다면 고손실 영역을 세밀하게 우회하는 경로를 발견할 수 있어도 이상할 것이 없다. 그 경우, 흥미로운 것은 DNN의 손실 곡면 (Loss surface)이 아니라, 단순히 곡선의 표현 능력 (Representation capacity)이 높았을 뿐일지도 모른다.
본 논문의 결과가 인상적인 이유는 그렇지 않았기 때문이다.
독립적으로 학습된 두 모델은 단 하나의 꺾임점을 가진 꺾은선이나, 2차 베지에 곡선 (Bezier Curve)과 같은 극히 단순한 경로로 연결될 수 있었다.
3.1 꺾은선과 베지에 곡선 (Bezier Curve)
본 논문에서는 주로 두 종류의 곡선을 사용한다.
첫 번째는 하나의 꺾임점을 가진 **꺾은선 (Piecewise linear path)**이다.
양 끝점을
경로는,
라는 두 개의 선분으로 구성된다.
구체적으로는,
라고 정의된다.
고차원의 손실 곡면을 여러 번 복잡하게 방향을 전환하며 우회하는 것이 아니라, 중간점 (Intermediate point)을 하나 움직이는 것만으로 고손실 영역을 회피할 수 있는지를 조사하고 있다.
다른 하나는 **2차 베지에 곡선 (2nd-order Bezier Curve)**이다.
꺾은선과의 차이점은,
한편, 베지에 곡선에서는 **제어점 (Control point)**으로서 작동하며, 일반적으로 곡선 위를 통과하지는 않는다.
따라서,
- 꺾은선: 한 점에서 방향을 바꾸는 구간 선형 (Piecewise linear) 경로
- 베지에 곡선: 하나의 제어점으로 곡률 (Curvature)을 주는 매끄러운 경로
라는 차이가 있다.
둘 다 선형 보간 (Linear interpolation)
3.2 직선은 벽에 부딪히지만, 곡선은 우회한다
Figure 2는 CIFAR-100 상에서 독립적으로 학습된 두 개의 ResNet-164를 연결한 결과를 보여준다.

*Figure 2: 제안 기법에 의해 발견된 곡선 *
좌측)와 테스트 오차 (
중앙).
우측: 곡선의 양 끝점
가로축은 곡선 상의 위치
비교되고 있는 것은 주로 다음 세 종류의 경로이다.
Segment: 두 끝점을 직접 잇는 선분 -
Polychain: 하나의 꺾임점을 가진 꺾은선 -
Bezier: 2차 베지에 곡선
좌측 그림은 학습 손실 (Training loss)이다.
Segment에서는 양 끝점의 손실은 낮지만, 중간으로 향할수록 손실이 크게 상승한다. 즉,
한편, 학습된 Polychain과 Bezier에서는 경로 전체를 통해 학습 손실이 거의 일정하게 유지된다.
중앙 그림의 테스트 오차 (Test error)에서도 같은 경향이 관찰된다.
직선에서는 중간 영역에서 성능이 무너지는 반면, 학습된 곡선에서는 끝점 사이를 이동해도 테스트 성능이 거의 저하되지 않는다. 중요한 것은 곡선이 복잡해서 연결할 수 있었던 것이 아니라는 점이다. 하나의 꺾임점만을 가진 꺾은선이라도, 2차 베지에 곡선이라도 저손실 경로를 발견할 수 있었다.
따라서 선형 보간에서 관찰되는 손실 장벽 (Loss barrier)은 두 해(Solution) 사이에 저손실 연결이 존재하지 않음을 의미하지 않는다. 그것은 단지 직선이라는 특정 방향으로 나아가면 고손실 영역에 충돌한다는 것을 보여줄 뿐이다.
이 결과는 손실 곡면을 바라보는 관점을 바꾼다. 독립적으로 학습된 해를 저손실 영역에 떠 있는 고립된 점으로 보는 것이 아니라, 더 큰 저손실 구조 상의 서로 다른 점으로 파악할 수 있는 가능성이 열린다.
다만, 여기서도 주장을 과도하게 일반화해서는 안 된다.
본 논문은 임의의 DNN에 있는 임의의 두 국소 최솟값 (Local minima)이 반드시 저손실 경로로 연결된다는 것을 증명한 것은 아니다. 실제로 보여준 것은 VGG, ResNet, Wide ResNet 등 여러 아키텍처와 데이터셋에 대해, 독립 학습으로 얻은 고성능 모델 사이에 제안한 최적화 절차를 통해 저손실 경로를 발견할 수 있었다는 실증적 결과이다.
또한, 동일한 두 끝점을 연결하는 저손실 경로는 유일하지도 않다. 원 논문에서는 동일한 끝점과 동일한 초기 중간점에서 서로 다른 랜덤 시드 (Random seed)를 사용하여 두 개의 꺾은선을 학습하고 있다. 그 결과 서로 다른 꺾임점에 도달했다. 즉, 두 모드 사이에는 하나의 정해진 '다리'가 존재한다기보다, 여러 개의 저손실 연결 경로가 존재할 수 있다고 생각하는 것이 자연스럽다.
하지만 여기서 새로운 의문이 생긴다.
경로 상의 모델들은 정말로 서로 다른 모델일까?
3.3 그 경로는 단순한 재매개변수화 (reparameterization) 인가
가중치 공간 (weight space) 상에서 두 점이 크게 떨어져 있다고 해서, 그것들이 반드시 서로 다른 예측 함수를 나타낸다고 할 수는 없다.
뉴럴 네트워크 (neural network)에는 많은 매개변수 대칭성 (parameter symmetry)이 존재한다. 예를 들어 ReLU 네트워크에서는 특정 층의 가중치를 상수 배 하고, 다음 층의 가중치를 그 역수 배 함으로써 네트워크의 출력은 바꾸지 않고 가중치만 변화시킬 수 있는 경우가 있다. 만약 mode connectivity를 통해 발견된 경로가 이러한 재매개변수화 (reparameterization)만으로 구성되어 있다면, 손실 (loss)이 낮은 상태를 유지하며 이동할 수 있는 것도 이상한 일이 아니다.
하지만 그럴 경우, 앙상블 (ensemble)에 이용할 의미가 없다.
동일한 예측을 수행하는 모델을 여러 개 평균해 보았자 예측 성능은 변하지 않기 때문이다.
따라서 원 논문에서는 곡선을 따라 이동할 때 예측이 어느 정도 변화하는지를 조사하고 있다.
Figure 2 우측에서는 곡선의 시점
이 결과는 중요하다.
곡선을 따라 이동하며 얻은 모델은 단순히 가중치만 다른 것이 아니다. 시점의 모델과는 다른 오류를 생성하며, 이 둘을 평균함으로써 성능이 개선된다.
게다가 끝점에서 반대편 모드 (mode)까지 완전히 이동할 필요도 없다. 저손실 경로 (low-loss path)를 따라 비교적 작게 이동하는 것만으로도 앙상블에 유용한 차이가 나타난다.
이는 본 논문의 논의에서 중요한 전환점이다.
지금까지의 mode connectivity는 독립적으로 학습된 두 해 (solution) 사이에 저손실 경로가 존재한다는 손실 곡면 (loss surface)의 기하학적 발견이었다.
하지만 Figure 2 우측의 결과로부터 다음을 알 수 있다.
저손실 영역 내부를 비교적 작게 이동하는 것만으로도, 정확도를 유지하면서 의미 있는 서로 다른 예측을 가진 모델을 얻을 수 있다.
여기서 앙상블 문제로 연결된다. 통상적으로 고성능 앙상블을 만들기 위해서는 여러 개의 네트워크를 서로 다른 랜덤 초기값 (random initialization)으로부터 독립적으로 학습시킨다.
독립 학습을 통해,
- 각 모델의 성능을 높게 유지하고
- 모델 간에 예측 다양성 (prediction diversity)을 확보할 수 있기 때문이다.
하지만 저손실 영역 내부를 조금 이동하는 것만으로 예측 다양성을 얻을 수 있다면, 완전히 독립적인 학습을 여러 번 반복할 필요가 없을지도 모른다. 필요한 것은 저손실 영역에서 벗어나지 않으면서도, 예측이 변할 정도로 가중치 공간을 이동하는 것이다.
그렇다면 하나의 학습된 모델에서 출발하여, 정확도를 크게 떨어뜨리지 않으면서 가중치 공간을 움직이며 여러 개의 서로 다른 모델을 수집하려면 어떻게 해야 할까?
본 논문은 이 질문에 대해 Fast Geometric Ensembling을 제안한다.
다음 장에서는 mode connectivity라는 기하학적 발견이 어떻게 짧은 주기의 학습률 스케줄 (learning rate schedule)을 이용한 앙상블 알고리즘으로 변환되었는지 살펴본다.
4. 기하학적 관찰에서 Fast Geometric Ensembling으로
전 장에서는 독립적으로 학습된 두 모델 사이에 손실과 테스트 오차 (test error)가 거의 일정하게 유지되는 경로가 존재함을 확인했다.
더 중요한 것은, 그 경로를 따라 끝점에서 조금만 이동해도 원래 모델과는 다른 예측을 가진 네트워크를 얻을 수 있었다는 점이다.
즉, mode connectivity로부터 얻은 통찰은 다음과 같이 요약할 수 있다.
- 고성능 모델 주변에는 손실을 크게 증가시키지 않고 이동할 수 있는 방향이 존재한다.
- 비교적 작게 이동하는 것만으로도 앙상블에 유용한 예측 다양성이 생긴다.
Fast Geometric Ensembling (FGE)은 이러한 기하학적 관찰을 앙상블 기법으로 변환한 것이다. 다만, FGE는 전 장에서 학습한 연결 곡선을 실제로 이용하는 것은 아니다. 오히려 명시적인 곡선 그 자체는 버리고, 그 배후에 있는 아이디어만을 남겨두었다.
4.1 명시적인 곡선 발견에서 무엇을 버리는가
전 장까지의 방법을 그대로 앙상블에 사용한다면 다음과 같은 절차를 생각할 수 있다.
먼저, 두 개의 네트워크
다음으로, 그 사이를 잇는 저손실 곡선
마지막으로, 곡선 상에서
를 추출하여 이들의 예측을 평균한다.
실제로 원 논문에서는 곡선 상에서 샘플링한 네트워크를 앙상블했을 때, 끝점만을 이용한 앙상블보다 성능이 높음을 확인했다.
하지만 빠른 앙상블 기법으로서 보면 이 방법은 번거롭다. 우선 곡선의 끝점으로 사용하기 위해 최소 두 개의 네트워크를 독립적으로 학습시켜야 한다. 그 후, 곡선 자체를 추가로 최적화해야 한다.
또한, Batch Normalization (배치 정규화)을 포함하는 네트워크에서는 곡선 위의 각 점에 대응하는 모델에 대해 추론 전에 통계량을 재계산해야 한다. 곡선 위에서 다수의 모델을 수집하면, 그만큼 추가적인 처리가 필요하게 된다.
여기서 저자들은 mode connectivity (모드 연결성)의 결과를 한 단계 더 추상화한다.
정말로 필요한 것은, 2개의 모드를 잇는 곡선 그 자체를 아는 것이 아니라, 고성능 모델로부터 크게 벗어나지 않으면서도, 정확도를 유지한 채 서로 다른 예측을 하는 모델을 발견할 수 있다는 것이다.
전 장의 Figure 2에서는 곡선의 반대편 끝점까지 이동하기 전에 앙상블 성능이 이미 개선되었다. 따라서 완전히 독립적인 다른 모드에 도달할 필요는 없다. 저손실 (low-loss) 영역 내부를 어느 정도 이동할 수 있다면, 그것만으로도 앙상블에 필요한 다양성을 얻을 수 있을 가능성이 있다.
이 발상에 따르면, 두 번째 끝점도, 명시적인 연결 곡선도 필요하지 않게 된다.
하나의 학습된 모델
이것이 FGE의 기본적인 사고방식이다.
중요한 점은 FGE가 mode connectivity curve (모드 연결성 곡선)를 추적하는 알고리즘이 아니라는 것이다.
FGE의 학습 중에는,
곡선 위의 기대 손실 (expected loss) 또한 최적화하지 않는다.
FGE는, 저손실 영역 안에서는 비교적 작은 이동만으로도 유용한 예측 다양성을 얻을 수 있다는 mode connectivity의 관찰에 기반한 **휴리스틱 (heuristic)**이다.
4.2 짧은 주기로 탐색과 수집을 반복한다
그렇다면 하나의 학습된 모델에서 출발하여 정확도를 크게 떨어뜨리지 않고 가중치 공간 (weight space)을 이동하려면 어떻게 해야 하는가.
FGE는 주기적인 학습률 (learning rate)을 사용한다.

*Figure 3: 왼쪽: CIFAR-100 상의 Preactivation-ResNet-164에 대한 FGE에 대하여, 반복의 함수로서 나타낸 학습률 (위), 테스트 오차 (중앙), 그리고 초기값 *
FGE에서는 학습률을 다음과 같이 설정한다.
학습률은 다음의 구간 선형 함수 (piecewise linear function)로 주어진다.
즉,
한 주기의 전반부에서는,
후반부에서는,
이를 반복한다.
FGE에서는 학습률이 최소값일 때 모델을 저장한다.
학습률이 클 때, 파라미터 업데이트도 커진다.
네트워크는 현재의 가중치로부터 멀어지며,
단, 큰 학습률에서는 고정밀 해의 근방에서 밀려나기 때문에, Figure 3에 나타난 것처럼 테스트 오차는 일시적으로 상승한다. 그 후 학습률을 낮추면 업데이트량이 작아지며, 다시 손실이 낮은 영역으로 수렴해 간다.
그리고 학습률이 최소가 되어 성능이 회복된 시점에서 모델을 저장한다.
모델을 저장한 후에는 다시 학습률을 높인다.
그러면 현재의 저손실 지점에서 다른 방향으로 이동하며, 다음 주기에서 또 다른 모델을 얻게 된다.
따라서 FGE 전체는,
과 같이 저손실 영역을 이동하며 여러 모델을 수집하는 절차이다.
여기서 중요한 것이 주기의 짧음이다. 원 논문에서는 FGE의 주기 길이로 주로 2~4 epoch 정도를 사용한다. 이는 서로 다른 모델을 얻기 위해 가중치 공간을 크게 이동할 필요는 없다는 전 장의 관찰에 대응한다.
독립적으로 학습된 다른 모드까지 이동할 필요는 없으며, 원래 모델과는 다른 오차를 가지면서 앙상블 시 상보적 (complementary)으로 작용할 정도까지만 이동하면 된다.
이를 통해 단일 모델의 학습 예산 안에서도 여러 개의 고성능 네트워크를 수집할 수 있다.
실제 FGE에서는 랜덤 초기값으로부터 즉시 이 주기적 학습률을 사용하는 것은 아니다. 먼저 일반적인 학습률 스케줄을 사용하여 충분히 고성능인 모델을 학습시킨다.
개념적으로는,
라는 구성이다.
먼저 일반적인 최적화를 통해 고성능 영역에 도달한 뒤, 그 주변에 존재하는 여러 유용한 모델을 효율적으로 수집하는 기법이다.
4.3 Snapshot Ensembles와의 차이점
주기적 학습률을 사용하여 여러 모델을 저장한다는 설명만 보면, FGE는 Snapshot Ensembles와 매우 유사해 보인다.
실제로 두 알고리즘의 공통점은 많다.
둘 다,
- 단일 학습 궤적 (training trajectory)으로부터 여러 모델을 얻는다
- 주기적으로 학습률을 변화시킨다
- 학습률이 낮아진 시점에서 모델을 저장한다
- 저장된 모델의 예측을 평균한다
라는 구조를 가진다.
하지만 두 방식은 서로 다른 손실 곡면 (loss surface)에 대한 직관에 기반하고 있다.
Snapshot Ensembles는 긴 주기와 큰 학습률 변화를 사용하여 학습 중에 서로 다른 해에 도달하는 것을 목표로 한다.
개념적으로는,
라는 생각이다.
그렇기 때문에 학습 시작 시점부터 주기적 학습률을 사용하며, 한 주기는 20~40 epoch 정도로 길다.
한편, FGE의 출발점은 mode connectivity (모드 연결성) 실험이다.
이전 장에서는, 독립적으로 학습된 다른 모드(mode)까지 이동하지 않더라도, 저손실 경로 (low-loss path)를 따라 비교적 작게 이동하는 것만으로도 예측 다양성 (predictive diversity)이 발생한다는 것을 확인했다. 따라서 서로 다른 basin (분지)을 찾을 필요가 없다.
이러한 차이는 주기 길이 (cycle length)에서도 나타난다.
Snapshot Ensembles가 긴 주기로 크게 이동하는 것과 대조적으로, FGE는 학습 종반부에 2~4 epoch 정도의 짧은 주기를 사용한다.
원 논문에서는 CIFAR-100 상의 ResNet-164에 대해, 저장된 모델들 사이의 가중치 공간 (weight space) 상의 유클리드 거리 (Euclidean distance)를 비교하고 있다.
FGE에서는 그 거리가 약 7이었다.
반면, Snapshot Ensembles에서는 약 40였다.
즉, FGE는 실제로 더 작은 이동을 통해 모델을 수집(collect)하고 있는 것이다.
이 차이를 정리하면 다음과 같다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기