Skip to main content

복권 조작하기: 모든 티켓을 당첨으로 만들기

다음 논문에 대한 ML Reproducibility Challenge 2020 제출물: Utku Evci, Trevor Gale, Jacob Menick, Pablo Samuel Castro, 그리고 Erich Elsen. Rigging the lottery: Making all tickets winners. Proceedings of Machine Learning and Systems (ICML), 2020년 7월. 이 글은 AI 번역본입니다. 오역 가능성이 있으면 댓글로 알려주세요.
Created on September 15|Last edited on September 15

요약

재현 범위

고정된 파라미터 수와 연산 예산에서, 제안된 알고리즘은 (RigL)은 기존의 밀집→희소 학습 기법(예: 프루닝)과 견주어 동등하거나 더 나은 성능을 내는 희소 네트워크를 직접 학습한다고 주장한다. RigL 훈련 전 과정에서 부동소수점 연산량(FLOPs)을 일정하게 유지하면서 이를 달성한다. 이 기법은 이미지 분류와 문자 수준 언어 모델링을 포함한 다양한 과제에서 최첨단 성능을 보인다.

방법론

우리는 비구조적 희소성을 시뮬레이션하기 위해 불리언 마스크를 사용하여 Pytorch에서 RigL을 처음부터 구현했다. 구현은 원 논문의 설명을 주로 따랐으며, ERK 초기화에서 발생하는 오버플로 처리와 같은 특정 구현 세부 사항에 한해서만 저자들의 코드를 참고했다. 우리는 CIFAR-10의 WideResNet-22-2와 CIFAR-100의 ResNet-50에 대해 RigL을 사용한 희소 학습을 평가했으며, GTX 1080 GPU 기준 각 학습 실행에 각각 2시간, 6시간이 소요됐다.

결과

우리는 CIFAR-10에서 RigL의 성능을 보고된 값 대비 0.1% 이내로 재현했다. CIFAR-10과 CIFAR-100 모두에서 핵심 주장은 성립한다. 즉, 고정된 학습 예산이 주어지면 RigL은 다양한 목표 희소도 범위에 걸쳐 기존의 동적 희소 학습 방법들을 능가한다. 학습을 더 오래 진행하면, 훈련 전 과정에서 FLOPs를 일정하게 유지하면서도 성능이 반복적 프루닝에 필적하거나 이를 초과할 수 있다. 또한 각 희소도와 초기화 조합마다 RigL의 하이퍼파라미터를 세밀하게 튜닝하는 이점은 크지 않음을 보였다. 기준으로 제시한 하이퍼파라미터 선택이 대개 최적 성능에 가깝다.
원 논문을 넘어, 최적의 초기화 방식은 학습 제약에 따라 달라짐을 발견했다. 매개변수 수가 고정된 경우에는 Erdos-Renyi-Kernel 분포가 Random 분포보다 우수하지만, FLOP 수가 고정된 경우에는 Random 분포가 더 좋은 성능을 보인다. 마지막으로, 학습 중 계층별 희소도를 재분배하면 두 초기화 방식 간의 성능 격차를 줄일 수 있으나, 계산 비용이 증가한다.

쉬웠던 점

저자들은 논문에 제시된 대부분의 실험을 위한 코드를 제공했다. 코드는 실행하기 쉬웠고, 우리의 재구현이 올바른지 검증하는 데 도움이 되었다. 또한 논문은 제안된 알고리즘을 명확하고 충실하게 설명하고 있으며, 눈에 띄는 오류나 혼란스러운 서술이 없었다.

어려웠던 점

하이퍼파라미터 튜닝에는 여러 개의 랜덤 시드를 사용해야 했고, 예상보다 시간이 더 걸렸다. 몇몇 기준선의 정확성을 검증하는 일도 까다로웠는데, 알고리즘에서 명시한 대로 옵티마이저의 그라디언트(또는 모멘텀) 버퍼가 희소하거나 밀집 상태인지 확인해야 했다. 계산 자원 제약으로 인해 Imagenet과 같은 더 큰 데이터셋에서는 평가하지 못했다.

원저자들과의 소통

원저자들과의 소통은 신속하고 원활했으며, 특히 FLOP 산정 절차와 관련된 구현 및 평가 세부 사항 몇 가지를 명확히 하는 데 큰 도움이 되었다.


소개

희소 신경망은 전통적인 밀집 신경망에 대한 유망한 대안으로, 추론 시 비교적 더 높은 파라미터 효율성과 더 낮은 부동소수점 연산(FLOPs)을 제공한다.
그러나 현재의 희소 학습 기법은 밀집 네트워크를 여러 차례 학습한 뒤 순차적으로 가지치기하는 과정을 포함하기 때문에, 학습 단계에서의 이점은 그만큼 뚜렷하지 않다.
최근 논문의 저자들 (Evci 외 동료) RigL을 제안한다. 이는 처음부터 희소 네트워크를 학습하는 알고리즘이다. 제안된 방법은 희소 네트워크 학습 분야의 기존 기법뿐 아니라 기존의 밀집-후-희소(dense-to-sparse) 학습 알고리즘보다도 우수한 성능을 보인다. 연결성 업데이트 시에만 밀집 그래디언트를 사용하고 전역적인 희소성 재분배를 피함으로써, RigL은 학습 전체에 걸쳐 계산 비용과 파라미터 수를 고정된 상태로 유지할 수 있다.
ML 재현성 챌린지의 일환으로, 우리는 RigL을 처음부터 재구현하고 기존 희소화 기법들과 비교했을 때 동적 희소 학습이 실질적인 이점을 제공하는지 조사한다.

재현 범위

우리가 중점적으로 다룰 핵심 질문은 다음과 같다.
  1. RigL은 다음과 같은 기존의 희소-대-희소 학습 기법들보다 성능이 우수한가—예를 들어 SET (Mocanu 외, 2018) 그리고 SNFS (Dettmers와 Zettlemoyer, 2020)—그리고 반복 가지치기( iterative pruning )와 같은 밀집-후-희소 학습 기법들의 정확도에 맞먹으며 (Zhu와 Gupta [2018])?"
  2. RigL이 요구하는 두 가지 추가 하이퍼파라미터에 대한 민감도를 조사한다.
  3. 고정된 파라미터 수와 고정된 학습 예산에서, 희소성 초기화 선택이 최종 성능에 어떤 영향을 미치는가?
  4. 연결 업데이트 동안 층별 희소성을 재분배하면 RigL의 성능이 향상되는가? 또한 최종적으로 형성된 층별 분포를 효과적인 희소성 초기화 방식으로 사용할 수 있는가?

방법론

저자들은 공개적으로 접근 가능한 코드 TensorFlow로 작성되었다. 우리는 PyTorch에서 구현을 확���하여 복제했다. Dettmers와 Zettlemoyer의 코드 희소성을 모사하기 위해 불리언 마스크를 사용한다.

마스크 초기화

다음과 같은 네트워크의 경우 LL 계층 수와 전체 파라미터 수 NN, 각 계층에 무작위 불리언 마스크를 연결하고 희소도를 설정한다 sls_l, l[L]l \in [ L ]네트워크의 전체 희소도는 다음과 같이 주어진다 S=lslNlNS=\frac{\sum_l s_l N_l}{N}, 여기서 NlN_l 계층의 파라미터 수입니다 ll. 희소도 sls_l 다음 마스크 초기화 전략 중 하나에 의해 결정된다:
  • 균등 각 계층의 희소도는 모두 동일하다, 즉, sl=S  ls_l = S \; \forall l. 원 저자들과 마찬가지로, 이 초기화에서는 첫 번째 계층을 밀집 형태로 유지한다.
  • 에르되시–레니 (ER) 다음 SET (Mocanu 외, 2018), 우리는 설정한다 sl(1Cin+CoutCin×Cout)s_l \propto \left(1 - \frac{C_\text{in} + C_\text{out}}{C_\text{in} \times C_\text{out}} \right), 여기서 Cin,CoutC_\text{in}, C_\text{out} 합성곱 계층에서는 입력 채널과 출력 채널을, 완전연결 계층에서는 입력 차원과 출력 차원을 의미한다.
  • 에르되시–레니–커널 (ERK) ER 초기화에서 합성곱 계층의 희소성 규칙을 커널의 높이와 너비를 포함하도록 수정한다, 즉, sl(1Cin+Cout+w+hCin×Cout×w×h)s_l \propto \left(1 - \frac{C_\text{in} + C_\text{out} + w + h}{C_\text{in} \times C_\text{out} \times w \times h} \right), 합성곱 계층의 경우 Cin×Cout×w×hC_\text{in} \times C_\text{out} \times w \times h 매개변수.

Bias와 BatchNorm 계층은 매개변수 수에 미치는 영향이 미미하므로 희소화하지 않는다.

마스크 업데이트

매 ∆T 학습 스텝마다 일부 연결을 버리고, 같은 수만큼의 연결을 새로 만든다. 반면에 SNFS (Dettmers와 Zettlemoyer, 2020), 계층별 희소성 재분배를 하지 않으므로 학습 내내 FLOPs가 일정하게 유지된다.

가지치기 전략

SET와 SNFS와 마찬가지로, RigL은 가지치기를 수행한다 ff 각 계층에서 크기가 가장 작은 가중치의 비율. 아래에 자세히 설명하듯이, 그 비율 ff 마스크 업데이트 단계 전반에 걸쳐 코사인 감소로 감소시킨다:

f(t)=α2(1+cos(tπTend))f(t) = \frac{\alpha}{2} \left(1 + \cos \left(\frac{t\pi}{T_\text{end}} \right) \right)

여기서, α\alpha 초기 가지치기 비율이며 TendT_\text{end} 마스크 업데이트를 중단하는 학습 단계이다.


성장 전략

RigL의 핵신은 연결을 확장하는 방식에 있다. 매번 마스크를 업데이트할 때, 현재 비활성화된 가중치(이전에 0이었고 가지치기된 항목) 중 절대값 기울기가 가장 큰 k개의 연결을 활성화한다. 여기서 k는 가지치기 단계에서 제거된 연결 수와 동일하게 설정한다. 이를 위해 각 마스크 업데이트 시점에는 조밀한 기울기에 접근할 수 있어야 한다. 기울기를 누적하지 않기 때문에(SNFS와 달리) RigL은 모든 학습 단계에서 조밀한 기울기에 접근할 필요는 없다. 논문을 따라, 새로 활성화된 가중치는 0으로 초기화한다.

실험 설정

모델

CIFAR-10 실험에서는 Wide Residual Network을 사용한다 (Zagoruyko 및 Komodakis [2016]) 깊이 22, 너비 배수 2의 모델로, 약어는 WRN-22-2이다. CIFAR-100 실험에서는 수정된 ResNet-50 변형을 사용하며, 초기 7×7 합성곱을 두 개의 3×3 합성곱으로 대체한다.

데이터셋과 학습

CIFAR-10과 CIFAR-100에서 실험을 수행했으며, 학습/검증/테스트 세트를 각각 4만 5천/5천/1만 장으로 분할했다. 참고로, 원 저자들은 검증 세트를 사용하지 않고 5만/1만 장의 학습/테스트 분할을 사용했다. 이로 인해 성능에 약간의 차이가 발생하며, 조밀한 기준 모델의 테스트 정확도는 94.1% 대비 93.4%로 낮게 나타났다.
두 데이터셋 모두에서 모델을 에폭 250회 동안 학습했으며, 모멘텀을 사용하는 SGD로 최적화했다. 학습 파이프라인은 무작위 뒤집기와 크롭을 포함한 표준 데이터 증강을 사용한다. CIFAR-100 학습 시에는 추가로 2에폭의 학습률 워밍업과 0.1의 라벨 스무딩을 적용했다.

하이퍼파라미터

RigL은 일반적인 조밀 네트워크 학습과 비교해 두 개의 추가 하이퍼파라미터(α, ∆T)를 포함한다. 본 실험에서는 원 논문을 근거로 α = 0.3, ∆T = 100으로 설정했다. 옵티마이저 관련 하이퍼파라미터(학습률, 학습률 스케줄, 모멘텀) 역시 원 논문에 따라 설정했다. 이후 섹션에서는 이러한 하이퍼파라미터를 다음을 통해서도 튜닝한다 옵투나또한 각 희소도별로 학습률을 튜닝하는 것이 유의미한 이점을 제공하는지 검토한다.

기준 모델

본 연구에서는 다음과 같은 여러 기준 모델과 RigL을 비교한다: SET (Mocanu 외, 2018), SNFS (Dettmers와 Zettlemoyer, 2020), 그리고 크기 기반 반복 가지치기 (Zhu와 Gupta [2018]). 또한 비교 기준으로 상대적으로 약한 두 가지인 정적 희소 학습과 소형-밀집 네트워크도 포함한다. 소형-밀집 네트워크는 밀집 모델과 동일한 구조를 가지되, 매개변수 수를 줄이기 위해 합성곱 층의 채널 수를 축소한다. 공정한 비교를 위해 반복 가지치기는 가지치기 간격을 마스킹 간격과 동일하게 맞춰 구현한다.

연산 요구 사항

결과

RigL은 CIFAR-10과 CIFAR-100 모두에서 효과적인 희소화 기법으로 확인되었다. 이전의 동적 희소 학습 방법들을 능가하며, 반복 가지치기와 비교해 동등하거나 더 우수한 성능을 보인다.

CIFAR-10의 WideResNet-22

CIFAR-10에서 희소도에 따른 테스트 정확도 무작위 초기화(왼쪽), ERK 초기화(가운데), 그리고 2배 더 길게 학습(오른쪽)에 대해 도식화했다.
SET은 정적 희소 네트워크와 소규모 밀집 네트워크 대비 성능을 개선하지만, 그래디언트 정보를 활용하는 방법들(SNFS, RigL)은 더 높은 테스트 정확도를 얻는다. SNFS는 RigL보다 더 높은 성능을 낼 수 있지만, 훨씬 더 큰 학습 예산이 필요하다. 그 이유는 (a) 매 학습 단계마다 밀집 그래디언트가 필요하고, (b) 마스크 업데이트 시 계층별 희소성을 재분배하기 때문이다.
SNFS를 제외한 모든 희소 학습 방법에서 ERK 초기화를 사용하면 성능이 향상되지만, FLOP 소모가 증가한다.

CIFAR-100에서의 ResNet-50

희소 ResNet-50를 CIFAR-100에서 벤치마크하고, 다양한 희소도별로 결과를 시각화했다.
RigL은 기존의 sparse-to-sparse 및 dense-to-sparse 방법보다 우수하거나 동등한 성능을 보이며, 특히 더 오래 학습할수록 그 우위가 두드러진다. 주목할 점은, 90% 희소도에서의 RigL×3와 80% 희소도에서의 RigL×2가 비슷한 FLOPs 소모로 반복 가지치기를 능가한다는 것이다. RigL×2(ERK)도 성능을 끌어올리지만, 더 큰 학습 예산이 필요하다.

하이퍼파라미터 튜닝

CIFAR-10에서의 하이퍼파라미터 튜닝(학습률 대 희소도).
각 희소도–초기화 조합마다 학습률(η)을 개별적으로 조정하면 최종 성능이 향상되는지 추가로 검토했다. η ∈ {0.1, 0.05, 0.01, 0.005}와 (α, ∆T) ∈ {(0.3, 100), (0.4, 200), (0.4, 500), (0.5, 750)}에 대해 그리드 서치를 수행했다.
[[TRANSLATION_FAILED]][[TRANSLATION_FAILED]][[TRANSLATION_FAILED]]

[[TRANSLATION_FAILED]]

[[TRANSLATION_FAILED]]

[[TRANSLATION_FAILED]][[TRANSLATION_FAILED]]
[[TRANSLATION_FAILED]]더 뛰어납니다 ERK 초기화
여기서 또 하나의 핵심 교훈은 다음과 같습니다 FLOP 소모량과 파라미터 수는 서로 상충할 수 있습니다: SNFS에서도 같은 현상이 나타납니다. 특정 희소성에서 더 높은 성능을 내지만, 계산 비용이 훨씬 많이 듭니다.

재분배의 효과

재분배가 RigL의 계산 비용에 미치는 영향 CIFAR-10에서 WideResNet-22-2로 80% 희소성 조건에서 평가했습니다.
또한 재분배가 RigL의 성능에 미치는 영향도 분석했습니다. 다만, 원래 제안된 알고리즘은 훈련 전 과정에서 FLOPs를 일정하게 유지하기 위해 재분배를 피한다는 점을 함께 명시합니다. 실제로 위 그림에서 보듯이, 재분배는 계산 비용을 크게 증가시킵니다. 흥미롭게도, 층별 희소성 분포는 몇 번의 반복 후 안정화되며 ERK 초기화의 보다 극단적인 형태와 유사해집니다.
더 흥미로운 점은 다음과 같습니다 재분배는 RigL(랜덤)의 성능만 높이고 RigL(ERK)에는 효과가 없는 것으로 보입니다보고서의 표 5에서 볼 수 있듯이

토론

이미지 분류 과제에서 평가한 결과, 논문의 핵심 주장은 그대로 성립합니다. RigL은 기존의 스파스-투-스파스 학습 방법들을 능가하며, 학습을 더 길게 진행하면 다른 덴스-투-스파스 학습 방법들보다도 우수한 성능을 보일 수 있습니다.
이전에 제안된 방법들과 비교하면, RigL은 더 단순하면서도 효과적인 접근임을 확인했습니다. 이 알고리즘은 층별 희소성 재분배를 전혀 수행하지 않고, 가중치의 크기와 그래디언트 정보를 바탕으로 각 층의 마스크만 간단히 업데이트합니다.
RigL은 희소성이나 초기화와 무관하게 하이퍼파라미터를 설정할 수 있어, 하이퍼파라미터 선택에 꽤 견고합니다. 우리는 최종 성능과 연산량에 대한 영향이 방법 자체보다 초기화 선택에 의해 더 크게 좌우된다는 것을 확인했습니다. 재분배로 성능이 향상된 점을 고려하면, 주어진 FLOP 예산에서 최대 성능을 달성하는 분포를 설계하는 것은 흥미로운 향후 연구 방향이 될 수 있습니다.
계산 자원의 제약으로, 본 연구의 범위는 CIFAR-10/100과 같은 소규모 데이터셋으로 한정됩니다. 이미지 분류를 넘어 컴퓨터 비전 전반(예: 객체 감지)이나 기계 번역 등 다른 영역에서의 RigL 적용 가능성은 여기서 다루지 않습니다.

이 기사는 AI 번역본입니다. 오역이 있을 경우 댓글로 알려 주세요. 원문 보고서는 아래 링크에서 확인하실 수 있습니다: 원문 보고서 보기