용어집

일괄 정규화

일괄 정규화로 딥러닝 성능을 향상하세요! 이 기법으로 AI 모델의 학습 속도, 안정성, 정확도를 향상시키는 방법을 알아보세요.

배치 정규화는 종종 BatchNorm으로 줄여서 부르는데, 심층 신경망에서 훈련 과정을 안정화하고 가속화하는 데 사용되는 기법입니다. 세르게이 이오프와 크리스티안 세게디가 2015년 논문에서 소개한 이 기술은 데이터의 각 미니 배치에 대해 각 계층의 입력을 정규화하는 방식으로 작동합니다. 이는 이전 레이어의 매개변수가 변경됨에 따라 학습 중에 각 레이어의 입력 분포가 변경되는 현상인 '내부 공변량 이동'을 줄이는 효과가 있습니다. 일괄 정규화는 입력의 분포를 보다 안정적으로 유지함으로써 딥 네트워크를 더욱 빠르고 안정적으로 훈련할 수 있게 해줍니다.

배치 정규화 작동 방식

모델 훈련 과정에서 데이터는 배치라고 하는 작은 그룹으로 네트워크를 통과합니다. 배치 정규화 레이어는 일반적으로 컨볼루션 또는 완전히 연결된 레이어 뒤에 활성화 함수 전에 삽입되며, 각 배치에 대해 두 가지 주요 단계를 수행합니다:

  1. 정규화: 현재 배치 내 활성화의 평균과 분산을 계산합니다. 그런 다음 이러한 통계를 사용하여 활성화를 정규화하여 평균은 0, 분산은 1로 만듭니다. 이 단계를 통해 다음 레이어에 대한 입력이 일관된 규모를 갖도록 합니다.
  2. 크기 조정 및 이동: 활성화를 정규화하면 레이어의 표현력이 제한될 수 있습니다. 이를 방지하기 위해 레이어에는 스케일링 계수(감마)와 시프팅 계수(베타)라는 두 가지 학습 가능한 파라미터가 도입되었습니다. 이러한 매개변수를 통해 네트워크는 다음 레이어에 대한 입력에 대한 최적의 스케일과 평균을 학습하여 네트워크가 최선이라고 판단하는 경우 정규화를 효과적으로 취소할 수 있습니다.

추론하는 동안 모델은 배치가 아닌 단일 예제를 처리합니다. 따라서 배치별 평균과 분산은 사용할 수 없습니다. 대신 모델은 전체 학습 데이터 세트에서 계산된 집계 평균과 분산을 사용하며, 이는 학습 단계에서 계산되고 저장됩니다. 이렇게 하면 모델의 출력이 결정론적이고 일관성을 유지할 수 있습니다.

일괄 정규화의 이점

딥러닝 모델에서 일괄 정규화를 구현하면 몇 가지 주요 이점이 있습니다:

  • 더 빠른 훈련: 입력 분포를 안정화함으로써 BatchNorm을 사용하면 훨씬 더 높은 학습 속도를 사용할 수 있어 모델의 수렴 속도가 크게 빨라집니다.
  • 내부 공변량 이동을 줄입니다: 배치 정규화가 해결하도록 설계된 주요 문제입니다. 이전 레이어의 파라미터가 변경되면 이후 레이어에 대한 입력 분포가 이동하여 학습이 더 어려워지는 문제를 완화합니다.
  • 정규화 효과: 배치 정규화는 배치 기반 통계로 인해 각 레이어의 활성화에 소량의 노이즈를 추가합니다. 이 노이즈는 정규화의 한 형태로 작용하여 과적합을 방지하고 드롭아웃과 같은 다른 기술의 필요성을 줄일 수 있습니다.
  • 초기화에 대한 의존도를 줄입니다: 네트워크가 초기 가중치에 덜 민감해져 학습 프로세스가 더욱 견고해집니다.

실제 애플리케이션

배치 노멀라이제이션은 울트라틱스 YOLO와 같은 최신 아키텍처를 포함해 최신 컴퓨터 비전 모델에서 거의 보편적으로 사용되는 구성 요소입니다.

  • 이미지 분류: 이미지넷과 같은 대규모 데이터셋으로 훈련된 모델에서 일괄 정규화는 사라지는 그라데이션과 같은 문제를 방지하여 ResNet과 같은 매우 심층적인 네트워크를 훈련하는 데 매우 중요합니다. 이를 통해 사진 속 물체를 분류하는 등의 작업에서 정확도를 높일 수 있습니다.
  • 의료 이미지 분석: 일괄 정규화는 종양 탐지 또는 MRI 또는 CT 스캔에서 장기를 분할하는 모델을 훈련할 때 여러 기계와 환자에서 이미지 강도의 변화가 훈련에 부정적인 영향을 미치지 않도록 보장합니다. 이를 통해 의료 분야의 AI 진단 도구가 더욱 안정적이고 강력해집니다.

관련 개념 및 차이점

배치 정규화를 다른 관련 개념과 구별하는 것이 중요합니다:

  • 데이터 정규화: 일반 데이터 정규화는 학습을 시작하기 전에 입력 데이터에 적용되는 전처리 단계입니다. 이와 대조적으로 배치 정규화는 학습 중에 네트워크 내부에서 발생하는 동적 프로세스로, 레이어 간의 활성화를 정규화합니다.
  • 기타 노멀라이제이션 레이어: 레이어 정규화, 인스턴스 정규화, 그룹 정규화와 같은 다른 기법도 있습니다. 주요 차이점은 정규화의 범위입니다. 배치 노멀라이제이션은 배치 차원 전체에 걸쳐 정규화하지만, 레이어 노멀라이제이션은 단일 훈련 예제에 대한 특징 전체에 걸쳐 정규화하므로 배치 크기와 무관합니다. 이러한 대안은 NLP와 같은 도메인이나 작은 배치 크기가 필요한 경우에 자주 사용됩니다.

고려 사항 및 구현

배치 정규화의 주요 고려 사항은 훈련 중 미니 배치 크기에 대한 의존성입니다. 배치 크기가 너무 작으면(예: 1 또는 2) 배치 통계가 모집단 통계의 노이즈 추정치가 되기 때문에 성능이 저하될 수 있습니다. 다음과 같은 표준 딥러닝 프레임워크 PyTorch (torch.nn.BatchNorm2d) 및 텐서플로 (tf.keras.layers.BatchNormalization)는 강력한 구현을 제공합니다. 이러한 대안에도 불구하고 배치 정규화는 여전히 많은 최신 딥러닝 모델을 효과적으로 훈련하기 위한 기본 기술로 남아 있습니다. 다음과 같은 플랫폼을 사용하여 이러한 기술을 통합한 모델을 관리하고 훈련할 수 있습니다. 울트라애널리틱스 허브.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨