본문 바로가기

딥러닝

Switchable Normalization - 인공지능은 어떻게 최적의 정규화 방식을 스스로 학습하게 되었나?

반응형


일러두기 (Disclaimer)

본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.

 

 

논문 링크 : https://arxiv.org/abs/1907.10473

 

Switchable Normalization for Learning-to-Normalize Deep Representation

We address a learning-to-normalize problem by proposing Switchable Normalization (SN), which learns to select different normalizers for different normalization layers of a deep neural network. SN employs three distinct scopes to compute statistics (means a

arxiv.org

 

 

초록 (Abstract)

본 연구는 심층 신경망(Deep Neural Network)의 서로 다른 정규화(Normalization) 계층마다 다른 정규화 기법을 선택하도록 학습하는 스위처블 정규화(Switchable Normalization, 이하 SN)를 제안하여 '학습을 위한 정규화(Learning-to-Normalize)' 문제를 해결합니다. SN은 채널(Channel), 계층(Layer), 미니배치(Minibatch)라는 세 가지 고유한 범위를 사용하여 평균과 분산 등의 통계량을 계산합니다. SN은 종단간(End-to-end) 방식으로 이들의 중요도 가중치를 학습함으로써 세 가지 정규화 기법 사이를 유연하게 전환합니다.

이 방법은 여러 가지 유용한 특성을 가집니다. 첫째, 다양한 네트워크 아키텍처와 작업(Task)에 스스로 적응합니다. 둘째, GPU당 2장의 이미지만 주어지는 작은 미니배치 환경에서도 높은 성능을 유지하며 넓은 범위의 배치 크기에 대해 견고함을 보입니다. 셋째, 그룹 정규화(Group Normalization)가 그룹의 수를 하이퍼파라미터로 찾는 것과 달리, SN은 민감한 하이퍼파라미터에 의존하지 않습니다.

SN은 별도의 복잡한 수정 없이도 ImageNet, COCO, Cityscapes, ADE20K, MegaFace, Kinetics 등 다양하고 까다로운 벤치마크에서 기존의 방법들을 뛰어넘는 성능을 입증했습니다. 또한 다음 세 가지 질문에 답하기 위해 SN에 대한 심층적인 분석을 제시합니다: (a) 각 정규화 계층이 고유한 정규화 방식을 선택하도록 허용하는 것이 유용한가? (b) 정규화 기법 선택에 영향을 미치는 요인은 무엇인가? (c) 작업 및 데이터셋마다 선호하는 정규화 방식이 다른가? 본 연구가 딥러닝 분야에서 정규화 기법의 사용을 용이하게 하고 그 원리를 이해하는 데 도움이 되기를 바랍니다.

 

1. 한줄 요약 & 3줄 핵심 (Executive Summary)

딥러닝 모델의 각 계층과 학습 데이터의 특성에 맞춰 가장 적합한 세 가지 정규화 기법(배치, 인스턴스, 계층 정규화)의 혼합 비율을 인공지능이 스스로 학습하는 기술입니다.

  1. 기존의 문제점 (Pain point): 딥러닝에서 가장 널리 쓰이는 배치 정규화(Batch Normalization)는 한 번에 학습하는 데이터의 양(배치 크기)이 작아지면 성능이 크게 저하되며, 해결하고자 하는 문제의 종류(객체 탐지, 분할, 영상 처리 등)마다 최적의 정규화 방식이 달라 연구자가 일일이 실험을 통해 선택해야 했습니다.
  2. 이 논문의 해결책 (Solution): 입력된 데이터에 대해 세 가지 주요 정규화 방식의 통계량(평균과 분산)을 모두 계산한 뒤, 소프트맥스(Softmax) 함수 기반의 가중치를 통해 각 계층에 가장 알맞은 비율로 정규화 방식을 혼합하여 사용하는 스위처블 정규화를 제안합니다.
  3. 달성한 성과 (Key Result): 이미지 분류, 객체 탐지, 의미론적 분할 등 다양한 컴퓨터 비전 태스크에서 기존 정규화 기법들을 능가하는 범용적인 최고 성능을 달성했으며, 특히 메모리 한계로 인해 배치 크기를 작게 설정해야 하는 환경에서도 성능 저하를 성공적으로 방어했습니다.

 

2. 들어가며: 왜 이 연구가 필요했나? (The "Why")

딥러닝 모델, 특히 합성곱 신경망(CNN)의 계층이 깊어지면서 데이터를 안정적으로 끝까지 전달하고 학습시키는 것은 중대한 과제가 되었습니다. 입력 데이터가 계층을 하나씩 통과할 때마다 값의 분포가 계속해서 변형되는 현상이 발생하는데, 이를 완화하여 학습 속도와 안정성을 높이기 위해 도입된 필수적인 기술이 바로 정규화(Normalization)입니다.

 

기존의 딥러닝 연구에서는 배치 정규화(Batch Normalization, 이하 BN)가 사실상 표준 기술로 자리 잡았습니다. BN은 한 번에 네트워크에 입력되는 데이터 묶음인 '미니배치(Minibatch)' 단위로 평균과 분산을 구하여 데이터를 정규화합니다. 이 방식은 학습 속도를 비약적으로 높이고 모델이 새로운 데이터에 적응하는 일반화(Generalization) 성능을 향상하는 데 큰 기여를 했습니다.

 

하지만 이 방식에는 구조적이고 치명적인 단점이 존재합니다. BN은 이름에서 알 수 있듯이 '배치' 단위의 통계량에 철저히 의존합니다. 만약 컴퓨터의 GPU 메모리 한계로 인해 한 번에 학습하는 데이터의 수(배치 크기)가 2장이나 4장 정도로 충분히 크지 않다면, 그 적은 수의 데이터로 구한 평균과 분산은 전체 데이터의 특성을 대표하지 못하게 됩니다. 통계적인 오차가 커지면서 심한 노이즈가 발생하고, 이는 모델의 학습을 방해하여 성능을 크게 하락시키는 주원인이 됩니다.

 

이러한 제약은 특히 객체 탐지(Object Detection)나 의미론적 분할(Semantic Segmentation)과 같은 영상 인식 태스크에서 치명적인 문제로 다가옵니다. 이 태스크들은 작은 객체를 정밀하게 찾아내기 위해 해상도가 매우 높은 이미지를 입력으로 사용합니다. 물리적인 메모리 한계로 인해 배치 크기를 1이나 2로 매우 작게 설정할 수밖에 없는 환경입니다. 이로 인해 기존 연구자들은 작은 배치 크기에서 BN의 통계량 업데이트를 아예 정지시키고(Freeze) 학습을 진행하거나 , 그룹 정규화(Group Normalization) 등 다른 우회 방식을 힘들게 탐색해야만 했습니다.

 

더 나아가, 해결해야 하는 문제(Task)의 성격에 따라 최적의 정규화 방식이 다릅니다. 자연어 처리나 순환 신경망(RNN)에서는 배치 축이 아닌 계층 축을 기준으로 하는 계층 정규화(Layer Normalization, LN)가 적합하며, 이미지의 스타일을 변환하는 작업에서는 인스턴스 정규화(Instance Normalization, IN)가 주로 사용되었습니다. 즉, 연구자들은 모델을 설계할 때마다 "어떤 정규화 방식이 내 데이터와 아키텍처에 가장 적합할까?"를 고민하고 수동으로 선택하거나 조합을 실험해야 하는 비효율적인 과정을 겪고 있었습니다.

 

본 연구의 연구진들은 이러한 상황에 대해 근본적인 질문을 던졌습니다. "모든 계층에 동일한 정규화 방식을 강제하는 것이 과연 최선일까? 인공지능 모델 스스로가 각 계층과 상황에 맞는 정규화 방식을 스스로 평가하고 선택하게 만들 수는 없을까?" 이것이 바로 스위처블 정규화(Switchable Normalization) 연구가 탄생하게 된 핵심적인 배경입니다.

 

3. 이 논문의 뿌리 (Key Reference)

이 논문은 기존 딥러닝 아키텍처 발전에 지대한 영향을 미친 세 가지 핵심 정규화 기법을 비판적으로 수용하고 통합하는 데서 출발합니다. 각각의 논문은 특정 도메인에서는 강력한 성능을 발휘했지만, 모든 상황에 적용할 수 있는 범용성 측면에서는 명확한 한계가 있었습니다.

  • Batch Normalization (2015): 배치 정규화는 딥러닝 모델의 학습 안정성을 획기적으로 높인 기반 논문입니다. 이 방식은 미니배치 단위로 채널(Channel)별 평균과 분산을 계산합니다. SN은 BN이 제공하는 강력한 일반화 성능(과적합 방지 효과)을 차용하되, 작은 배치 크기에서 통계량이 무너지는 취약점을 보완하고자 했습니다.
  • Layer Normalization (2016): 배치 크기에 의존하지 않는 방식을 제안한 핵심 논문입니다. 배치 축을 가로지르는 대신, 단일 데이터 샘플 내에서 모든 채널을 가로질러 평균과 분산을 구합니다. 주로 문장의 길이가 들쭉날쭉한 자연어 처리나 시계열 데이터에서 성공적으로 쓰였습니다. SN은 배치 크기가 작을 때 BN 대신 LN의 통계량을 차용하여 모델의 학습 능력을 유지하도록 베이스라인으로 활용했습니다.
  • Instance Normalization (2016): 배치도, 전체 채널도 아닌 오직 단일 샘플의 단일 채널 안에서 공간 차원(가로, 세로)만을 기준으로 통계량을 구하는 방식입니다. 이미지의 불필요한 외형적 대비나 스타일 정보를 걸러내는 데 탁월하여 스타일 변환(Style Transfer) 모델 등에서 필수적으로 쓰였습니다. SN은 시각적 특징 추출의 다양성을 위해 이 개념을 포괄했습니다.
  • Group Normalization (2018): 본 논문과 가장 직접적인 경쟁 관계에 있는 동시대의 후속 기법입니다. 채널을 여러 개의 그룹으로 쪼개어 정규화를 수행함으로써 작은 배치 크기에서도 안정적인 학습을 가능하게 했습니다. 본 논문은 GN의 접근 방식을 높게 평가하면서도, 사용자가 채널을 몇 개의 그룹으로 나눌지 하이퍼파라미터를 수동으로 설정해야 하는 GN의 단점을 지적하며, 스스로 가중치를 학습하는 SN의 우수성을 입증하기 위한 주요 비교 대상으로 삼았습니다.

SN은 위의 세 가지 각기 다른 축(Axis)을 기준으로 하는 논문들의 통계량을 하나의 계층 안에서 모두 계산한 뒤, 상황에 맞게 섞어 쓰는 발상의 전환을 이뤄냈습니다.

 

4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)

본 연구의 가장 핵심적인 발상은 "정규화 방식의 조합 비율을 미분 가능한 형태의 가중치로 만들어, 역전파(Back-propagation) 과정에서 모델이 스스로 학습하게 만들자"는 것입니다.

 

이를 직관적으로 이해하기 위해 '맞춤복과 기성복'의 비유를 들어 설명해 보겠습니다. 모델의 데이터를 처리하는 각 계층(Layer)을 '옷을 입어야 하는 사람'이라고 가정해 보겠습니다.

  • BN (배치 정규화): 공장에서 대량의 치수 데이터를 기반으로 찍어낸 '프리 사이즈(Free size)' 유니폼입니다. 많은 데이터가 평균적으로 입기에는 좋고 모델의 전반적인 규칙성을 잡아주지만, 배치 크기가 작아 측정된 평균이 부정확하거나 특정 데이터의 개성이 강할 때는 옷이 전혀 맞지 않아 성능이 떨어집니다.
  • IN (인스턴스 정규화) & LN (계층 정규화): 개인의 치수를 그 자리에서 세밀하게 측정한 '개인 맞춤복'입니다. 각 데이터의 체형(특징)에는 잘 맞고 세부적인 표현력을 높여주지만, 전체적인 통일성이나 데이터 간의 상호작용을 통한 일반화(Generalization) 능력은 상대적으로 약해질 수 있습니다.

기존의 연구자들은 "이번 모델에는 무조건 기성복(BN)만 입혀!" 혹은 "이번 태스크에는 맞춤복(IN)만 입혀!"라고 사람이 개입하여 강제했습니다.

 

SN이 제시한 발상의 전환은 다음과 같습니다. "기성복 원단(BN), 맞춤복 원단 1(IN), 맞춤복 원단 2(LN)를 모델에게 모두 제공하고, 각 계층이 알아서 자신이 가장 편안함을 느끼는 비율로 원단을 섞어 입게 만들자!"

 

논문에서는 이러한 직관을 기하학적인 관점(Geometric View)으로 더 깊이 있게 해석합니다. 딥러닝 모델이 학습한다는 것은 네트워크 내부의 필터(가중치)의 방향과 길이를 최적의 위치로 찾아가는 과정입니다. 이때 각 정규화 기법은 필터를 공간상에서 제어하는 방식이 다릅니다.

  • LN은 필터의 길이에 대한 억제력이 적어 네트워크가 더 복잡하고 다양한 패턴을 기억할 수 있게 하는 학습 능력(Learning capacity)을 높여줍니다.
  • BN은 여러 필터 사이의 각도를 넓히고 길이를 줄이는 제약을 가해 일종의 노이즈를 섞어줍니다. 이는 모델이 훈련 데이터에만 과하게 적응하는 과적합(Overfitting)을 막아주는 일반화 능력(Generalization capacity)을 강화합니다.

SN은 이들의 중요도 비율을 스위치(Switch)처럼 유연하게 조절합니다. 학습 초기나 형태 정보를 추출하는 계층에서는 LN과 IN을 통해 학습 능력을 높이고, 깊은 계층으로 갈수록 BN을 섞어 일반화 능력을 챙기는 등 최적의 균형을 데이터 스스로 찾아내도록 설계되었습니다. 이전에는 A, B, C 중 하나를 수동으로 선택해야 했다면, SN은 이들을 융합하여 데이터가 주도적으로 판단하게 하는 진일보한 메커니즘을 채택한 것입니다.

 

5. 작동 원리: 어떻게 돌아가는가? (The "How")

구체적인 수학 증명이나 복잡한 유도 과정은 배제하고, 입력 데이터가 모델의 계층을 통과할 때 실제로 연산이 어떤 흐름(Flow)으로 일어나는지 단계별로 살펴보겠습니다.

 

입력 데이터 텐서(예를 들어, 이미지 여러 장이 겹쳐진 형태)가 들어오면, SN은 하나의 계층 안에서 다음과 같은 순서로 데이터를 처리합니다.

 

Step 1. 통계량(평균과 분산) 계산의 지능적 재사용

먼저 입력된 데이터 덩어리에 대해 IN, LN, BN 방식의 평균과 분산을 각각 계산합니다. 이때 세 가지를 완전히 독립적으로 매번 새로 계산하면 컴퓨터의 연산량이 너무 많아져 비효율적입니다. SN은 효율적인 연산을 위해 계산을 재사용합니다.

  • 가장 좁은 영역의 기준인 IN(인스턴스 정규화)의 평균과 분산을 공간 차원(가로, 세로)을 기준으로 제일 먼저 구합니다.
  • 그 다음, 미리 구해놓은 IN의 평균값들을 채널 방향으로 다시 한번 평균 내어 LN(계층 정규화)의 평균을 간편하게 얻어냅니다.
  • 마찬가지로, 구해놓은 IN의 값들을 배치 방향으로 평균 내어 BN(배치 정규화)의 평균을 손쉽게 산출합니다. 분산 역시 동일한 메커니즘으로 유도할 수 있습니다. 이 영리한 과정을 통해 기존 정규화 기법들과 거의 동일한 연산 복잡도인 $O(NCHW)$ 수준을 유지하며 세 가지 통계량을 모두 얻어냅니다.

 

Step 2. 가중치(중요도) 결정 및 소프트맥스 적용

미리 계산된 세 개의 평균값과 세 개의 분산값이 준비되었습니다. 모델 내부에는 이들 각각을 얼마나 섞을지 결정하는 통제 변수(Control Parameters)인 가중치 6개(평균용 3개, 분산용 3개)가 존재합니다. 이 가중치들은 0과 1 사이의 확률값처럼 만들어 총합이 1이 되도록 소프트맥스(Softmax) 함수를 통과합니다. 예를 들어 특정 계층이 판단하기에 현재 들어온 데이터가 배치의 영향을 많이 받아야 한다고 학습되었다면 BN의 비중이 70%, IN 20%, LN 10% 비율로 결정됩니다.

 

Step 3. 융합(Weighted Sum) 및 최종 스케일 조정

소프트맥스를 통과해 결정된 가중치 비율대로 세 가지 평균을 곱하고 모두 더해 '최종 융합 평균'을 만듭니다. 분산 역시 동일한 방식으로 곱하고 더해 '최종 융합 분산'을 생성합니다. 입력 데이터에서 이 최종 융합 평균을 빼고 융합 분산으로 나누어 정규화(Standardization)를 완료합니다. 마지막으로, 기존 정규화 기법들과 마찬가지로 정규화된 값에 크기를 조절하는 스케일 파라미터($\gamma$)를 곱하고 위치를 이동시키는 시프트 파라미터($\beta$)를 더해주어 다음 계층으로 데이터를 전달합니다.

 

추론(Inference) 시의 차이점

학습이 모두 끝나고 새로운 데이터를 예측하는 추론 단계에서는, IN과 LN은 입력된 데이터 자체의 값을 사용해 평균과 분산을 구합니다. 하지만 BN 요소의 경우 훈련 중에는 매번 변하는 배치의 값을 썼지만, 추론 시에는 학습 데이터 전체에서 미리 추출해 둔 '배치 평균(Batch average)' 고정값을 사용하여 연산을 수행합니다.

 

6. 작동 원리: 어떻게 학습하는가? (The "How")

정규화에 쓰이는 가중치 비율을 네트워크가 스스로 알아내기 위해서는, 실제 데이터가 주입되고 오차를 수정해나가는 학습 과정이 필요합니다.

 

학습을 위한 입력 데이터 (Input Data)

학습을 위해서는 목표로 하는 태스크에 맞는 적절한 데이터 형태가 준비되어야 합니다.

  • 이미지 분류 (예: ImageNet): 2D 이미지 데이터와 정답 라벨이 쌍으로 입력됩니다. 예를 들어, (배치 크기: 32, 채널: 3 RGB, 높이: 224, 너비: 224) 형태의 개, 고양이 이미지 텐서 데이터와 해당 이미지가 어떤 동물인지를 나타내는 텍스트 라벨(또는 원-핫 벡터)이 주어집니다.
  • 객체 탐지 및 분할 (예: COCO, ADE20K): 이미지 내의 작은 객체들을 정확히 찾아내야 하므로 해상도가 매우 높습니다. (배치 크기: 2, 채널: 3, 짧은 면 기준 800픽셀 이상)의 형태를 가진 고해상도 이미지와, 사진 속 객체(사람, 자동차 등)의 위치를 나타내는 경계 상자(Bounding Box) 좌표값이나 픽셀별 정답 라벨 데이터가 필요합니다.

 

학습 최적화 과정 (Optimization Dynamics)

SN의 구조적 장점은 모델 최적화를 위해 복잡한 구조를 별도로 구성할 필요 없이, 일반적인 한 번의 역전파(Back-propagation) 흐름 안에서 모든 것이 학습된다는 점입니다. 네트워크에 이미지가 입력되어 최종적으로 예측값(예: '고양이일 확률 80%')을 내놓으면, 실제 정답과의 오차(Loss)를 계산합니다. 이 오차가 네트워크를 타고 거꾸로 흘러갈 때, 이미지의 시각적 특징을 추출하는 합성곱 필터의 가중치(Weights)가 업데이트됩니다. 그리고 이와 동시에 SN 계층 내부에 있는 정규화 중요도 변수($\lambda_{in}, \lambda_{ln}, \lambda_{bn}$) 역시 오차를 최소화하는 방향으로 미분되어 실시간으로 업데이트됩니다. PyTorch 등 현대의 딥러닝 프레임워크가 제공하는 자동 미분(Auto-differentiation) 기능을 통해 이 과정은 매우 자연스럽게 이루어집니다.

 

출력 데이터 (Output Data)

학습이 진행됨에 따라 계층마다 고유한 출력 성향이 형성됩니다. 앞단에 위치한 계층은 윤곽선이나 질감을 파악하기 위해 출력 정규화 비율을 BN 위주로 가져가고, 깊은 계층으로 갈수록 추상적인 정보를 처리하기 위해 LN의 비율을 스스로 높이는 흥미로운 결과를 도출합니다. 이렇게 정규화 층을 거쳐 세밀하게 조율된 피처 맵 결과물들은 다음 계층으로 넘어가며, 최종적으로는 동물 종류에 대한 확률 분포 텐서(이미지 분류) 혹은 객체의 위치 좌표 텐서(객체 탐지) 형태로 출력됩니다.

 

7. 결과: 얼마나 좋아졌나? (Results)

본 논문은 정규화 기법이 얼마나 훌륭한 범용성을 지니고 있는지 증명하기 위해 이미지 분류, 객체 탐지, 의미론적 분할, 비디오 행동 인식, 스타일 변환 등 현존하는 다양한 컴퓨터 비전 벤치마크를 섭렵하여 그 결과를 증명했습니다.

 

이미지 분류 (ImageNet): 배치 크기 한계의 극복

가장 놀라운 결과는 ResNet50 모델을 사용한 ImageNet 실험에서 나타났습니다. 기존 BN 모델은 GPU당 이미지 수가 16장 이하로 떨어지면 통계량의 노이즈 때문에 성능이 급감하기 시작해, GPU당 2장일 경우 정확도가 65.3%까지 완전히 붕괴되었습니다. 반면, SN은 2장의 극단적인 상황에서도 내부의 가중치 스위치를 통해 BN의 비율을 낮추고 LN과 IN의 융합 비율을 끌어올림으로써 75.6%라는 압도적인 정확도를 방어해냈습니다. 심지어 충분히 큰 배치(32장) 환경에서도 기존 BN(76.4%)보다 우수한 76.9%를 기록했습니다. 이는 작은 배치 크기를 해결하기 위해 고안되었던 그룹 정규화(GN)의 성능마저 능가하는 성과입니다.

 
정규화 방식 배치 크기 (8 GPU, GPU당 32장) 배치 크기 (8 GPU, GPU당 4장) 배치 크기 (8 GPU, GPU당 2장)
BN (Batch Normalization) 76.4% 72.7% 65.3% (성능 급락)
GN (Group Normalization) 75.9% 75.8% 75.9%
SN (Switchable Normalization) 76.9% 75.9% 75.6% (방어 성공)

 

객체 탐지 및 의미론적 분할 (COCO, ADE20K, Cityscapes)

객체 탐지 및 분할 분야는 높은 해상도로 인해 배치 크기가 GPU당 1~2장에 불과합니다.

  • COCO 데이터셋: Faster R-CNN 실험에서, 기존 연구들은 BN 계층의 통계량 업데이트를 멈추고(Frozen) 학습했습니다. 이 방식은 AP(Average Precision) 29.6을 기록했지만, SN은 처음부터 모든 정규화 계층을 미세 조정(Finetuning) 하면서도 AP 33.0을 기록해 큰 폭으로 성능을 끌어올렸습니다.
  • 의미론적 분할 (ADE20K & Cityscapes): 여러 GPU 간에 배치를 묶어서 연산하는 다중 GPU 동기화 BN(SyncBN) 방식은 ADE20K에서 37.7의 성능을 보였습니다. 그러나 SN 내부의 BN 요소를 동기화한 SyncSN 방식은 40.4라는 뛰어난 다중 스케일 테스트 성능을 기록하며 기존 기술들을 압도했습니다.

 

다양한 도메인으로의 확장성

SN은 2D 이미지를 넘어 비디오 인식(Kinetics)에서도 기존 2D 정규화를 3D 공간과 시간 차원(T, H, W)으로 성공적으로 확장하여 BN보다 높은 정확도를 달성했습니다. 또한, 스타일 변환(Artistic Image Stylization) 태스크에서는 모델 스스로 IN의 비중을 극도로 높이는 방향으로 적응하여(스위칭), IN만을 사용했을 때와 동등하거나 더 빠른 수렴 속도를 보여주었습니다. 얼굴 인식(MegaFace) 태스크 역시 기존 구조보다 높은 검증 정확도를 보이며 범용성을 증명했습니다.

 

한계점과 실패 케이스 (Limitations & Failure Cases)

아무리 뛰어난 기술이라도 실무 도입을 위해서는 한계점을 명확히 짚고 넘어가야 합니다. SN 역시 몇 가지 제약이 존재합니다.

  • 구조적 불안정성 (전역 풀링 직후 사용 금지): 특성 맵(Feature map)의 공간 크기가 $1\times1$로 축소되는 전역 풀링(Global Pooling) 계층 바로 다음에는 SN을 배치하지 말아야 합니다. 공간 차원에 극도로 의존하는 IN(인스턴스 정규화)과 LN(계층 정규화)의 연산 과정에서 통계적 기반이 무너져 심각하게 불안정해지기 때문입니다.
  • 추론(Inference) 시 연산 오버헤드: SN은 세 가지 정규화 방식의 통계량을 모두 계산하고 융합하므로 기존 단일 정규화 기법보다 연산량이 증가합니다. 논문의 연구진은 이 한계를 극복하기 위해 학습이 끝난 후 각 계층이 오직 하나의 정규화 방식만 100% 선택하도록 만드는 '하드 비율(Hard ratios)' 방식의 적용을 제안합니다.
  • 하드 비율(Hard ratios)을 통한 최적화: 하드 비율을 적용하여 모델을 희소(Sparse)하게 만들면, 약 50%의 계층이 BN만을 선택하게 됩니다. 이 BN 계층들은 추론 단계에서 단순한 선형 변환으로 병합 처리할 수 있어, SN의 훌륭한 성능을 유지하면서도 연산 오버헤드와 추론 속도를 효과적으로 개선할 수 있습니다.

 

8. 이 논문의 계보와 발전 (Impact & Follow-ups)

스위처블 정규화(SN)는 딥러닝 연구, 특히 정규화 계층에 대한 패러다임을 "수동적인 실험 설계"에서 "능동적인 자동 학습"으로 완전히 전환시켰으며, 이후 수많은 파생 연구와 아키텍처 개선에 직접적인 영감을 제공했습니다. 

  • Sparse Switchable Normalization (SSN, 2019): 위 실험 결과에서 지적된 SN의 가장 큰 단점인 '추론 속도(Testing Speed) 저하 및 연산 오버헤드'를 완벽히 극복하기 위해 탄생한 핵심 후속 논문입니다. SN이 소프트맥스를 통해 세 가지 비율을 혼합한 '비율 칵테일'을 만들었다면, SSN은 훈련이 거듭될수록 가중치 중 오직 하나만 살아남도록 강제하는 희소(Sparse)화 함수인 SparsestMax를 도입했습니다. 그 결과, 학습이 끝나면 각 계층이 단 1개의 정규화 방식(예: 어떤 층은 오직 BN, 어떤 층은 오직 LN)만 100% 선택하게 되어, 성능은 동일하게 유지하면서 추론 시 불필요한 연산 낭비를 완벽히 제거했습니다.
  • Switchable Whitening (SW, 2019): 동일한 연구진에 의해 의미론적으로 더 확장된 개념입니다. SN이 데이터의 중심을 이동시키고 분산 스케일을 맞추는 수준인 표준화(Standardization)를 조절했다면, SW는 이를 넘어 데이터의 특징 간 상관관계(Correlation) 자체를 제거하여 정보의 중복을 막는 '화이트닝(Whitening)' 기술들까지 통합했습니다. 여러 화이트닝 기법의 장점들을 SN과 같은 스위칭 메커니즘으로 엮어내어 더 깊고 풍부한 수준의 표현 학습(Representation Learning)을 달성했습니다.
  • Exemplar Normalization (EN, 2020) & Dynamic Normalization (DN, 2019): SN의 자동 학습 철학을 계승하여, 전체 데이터셋 단위나 배치 단위가 아닌 데이터 샘플 하나하나(Exemplar)의 특징에 따라 동적으로 정규화 패턴을 추정하거나 조절하는 기법으로 진화했습니다. 이는 정규화 계층이 단순히 데이터의 스케일을 맞추는 수동적인 전처리 모듈을 넘어, 데이터 자체의 고유한 특성을 능동적으로 학습하는 동적 레이어(Dynamic Layer)의 역할을 수행하게 되었음을 보여줍니다.

 

9. 마무리

지금까지 살펴본 Switchable Normalization (SN)은 기존 딥러닝 커뮤니티가 관행처럼 여기며 의심하지 않았던 '모든 층에 Batch Norm을 붙이는 설계'에 대해 정면으로 도전하고, 그에 대한 기술적이고 우아한 해답을 내놓은 연구입니다.

 

이 논문을 통해 얻을 수 있는 통찰(Insight)과 실무 적용 시 주의해야 할 핵심 사항은 다음과 같습니다.

 

"만능열쇠는 없다, 하지만 최적의 융합 지점은 스스로 찾을 수 있다" 딥러닝의 복잡한 비선형 학습 공간에서 모든 영상 인식 태스크, 모든 배치 크기 설정, 모든 네트워크 깊이에 완벽하게 통용되는 단일 정규화 기법은 존재하지 않습니다. 논문 내부의 시각화 결과에서 드러나듯, 형태나 질감 정보를 다루는 얕은 층에서는 전체 배치의 통계를 섞어 일반화 능력을 챙기는 BN이나 텍스처를 분리하는 IN이 선택되고, 추상적인 의미를 통합해야 하는 깊은 층에서는 각 특징 지도의 학습 역량을 극대화하는 LN의 비율이 스스로 상승하는 현상은 네트워크 구조를 해석하는 데 큰 통찰을 제공합니다. 이는 결국 메타 러닝(Meta-learning)과 AutoML의 철학을 네트워크 외부의 하이퍼파라미터 탐색이 아닌 딥러닝 내부의 가장 기본적인 뼈대인 정규화 층(Normalization layer)까지 융합시켰다는 점에서 매우 큰 의미를 지닙니다.

 

논문의 저자들은 실무 연구자들을 위해 적용 시 주의점(Table 11)을 상세히 남겼습니다. 실제 프로젝트에 SN을 도입하시려면 다음 사항을 주의해야 합니다.

  • 가중치의 균등한 초기화 설정: SN 내부의 3가지 정규화 비율 초기값($1/3$씩 동일하게)을 함부로 건드리지 않는 것이 좋습니다. 사용자가 특정 정규화를 더 쓰게 만들고자 수동으로 편향을 주면, 모델의 자연스러운 탐색 과정을 방해하여 일반화 성능이 도리어 떨어질 수 있습니다.
  • 배치 크기의 일관성 유지: 사전 학습(Pretraining) 시에 사용된 모델과 세부 과제에 맞춰 미세 조정(Finetuning)을 할 때 사용되는 모델 간의 배치 크기가 비슷할 때 가장 성능이 잘 나옵니다. 큰 배치에서 훈련된 모델을 갑자기 아주 작은 배치로 미세 조정하면 통계적 스위칭이 불안정해질 수 있습니다.
  • Dropout의 전략적 활용 방안: SN 층 바로 뒤에 약간의 드롭아웃(0.1~0.2 정도의 낮은 비율)을 추가하거나, 모델의 마지막에 있는 완전 연결 계층(Fully-connected layer)에 0.5 수준의 드롭아웃을 섞어 쓰면 ImageNet 같은 대규모 환경에서 과적합을 억제하여 일반화 성능이 추가적으로 상승하는 시너지가 발생합니다.
  • 전역 풀링 층(Global Pooling) 직후 사용 금지: 위 한계점에서 언급했듯, 공간 크기가 1x1로 축소된 이후에는 IN과 LN의 수식적 기반이 무너지므로 이 위치에는 SN을 넣어서는 안 됩니다.
  • GPU 동기화의 필수성: 객체 탐지(Detection)나 의미론적 분할(Segmentation) 모델처럼 여러 대의 다중 GPU 환경에서 분산 처리를 할 때는, SN 내부의 BN 통계량을 GPU 간에 동반하여 동기화시켜 주는 SyncSN 모듈을 반드시 활용해야만 SOTA(최고 수준) 성능을 이끌어낼 수 있습니다.

SN은 탁월한 범용성과 성능 방어력을 보장하지만, 각 정규화 연산을 융합하는 내부 구조 탓에 GPU 메모리 대역폭 소모가 증가하고 훈련 및 추론 시간(Latency)이 연장된다는 명확한 아쉬움이 남습니다. 앞으로의 상용 서비스 모델 서빙(Serving) 환경에서는 처리 속도와 자원 효율성이 성능만큼이나 중요하므로, 실무 도입 시에는 본 모델의 구조를 그대로 사용하기보다는 파생 기술인 Sparse Switchable Normalization (SSN)을 적용하여 성능과 속도의 밸런스를 잡는 접근이 훨씬 효율적이고 현명할 것입니다.

 

 

반응형