블록별 자기지도 학습

IT 위키

블록별 자기지도 학습(Block-Wise Self-Supervised Learning)은 심층신경망(Deep Neural Network)의 전역 역전파(global backpropagation)로 인한 메모리 병목 문제를 해결하기 위해, 모델을 여러 블록(block) 단위로 나누고 각 블록에 자기지도 손실(self-supervised loss)을 도입하여 독립적으로 표현 학습을 수행하는 기법이다.[1]

개요[편집 | 원본 편집]

기존의 딥러닝 모델은 최종 손실(final loss)에 기반하여 전체 네트워크를 전역적으로 최적화(global optimization)하는 구조를 갖는다. 이 경우, 역전파 과정에서 모든 층(layer)의 활성값(activation)을 저장해야 하므로 모델 깊이가 커질수록 GPU 메모리 사용량이 급격히 증가한다.

블록별 자기지도 학습은 이러한 병목을 완화하기 위해 네트워크를 여러 블록으로 나누고, 각 블록이 독립적으로 표현 학습을 수행할 수 있도록 로컬 자기지도 손실(local self-supervised loss)을 부여한다. 각 블록의 학습이 완료되면 활성값을 즉시 폐기할 수 있으므로 훈련 중 메모리 점유량이 크게 감소한다.

작동 원리[편집 | 원본 편집]

1. 전통적 자기지도 학습[편집 | 원본 편집]

일반적인 자기지도 학습(Self-Supervised Learning, SSL)에서는 입력 데이터를 변형(masking, cropping 등)하고, 그 변형된 입력으로부터 원래의 정보를 복원하는 작업을 통해 표현을 학습한다. 예를 들어, Masked Image Modeling(MIM)은 이미지의 일부 패치를 가려(mask) 모델이 이를 복원하도록 학습시키는 방식이다.

2. 블록별 자기지도 학습[편집 | 원본 편집]

블록별 자기지도 학습에서는 위 구조를 블록 단위로 확장한다. \[ L_{\text{total}} = \sum_{b=1}^{B} L_b \] 여기서 각 \(L_b\)는 블록 \(b\)의 출력에 대해 계산되는 자기지도 손실이다. 즉, 모델은 전체적으로 하나의 큰 네트워크이지만, 훈련 과정에서는 블록별로 독립적인 표현 학습이 이루어진다.

각 블록의 학습 절차는 다음과 같다.

  1. Forward pass: Block_i의 출력을 계산.
  2. Local self-supervised loss 계산 (예: Masked Patch 복원 손실).
  3. Backward pass: 해당 블록 내부에서만 역전파 수행.
  4. Activation 메모리 해제(discard): Block_i 완료 시 GPU 메모리 반환.

이 방식은 각 블록이 자신의 입력·출력만을 사용해 학습하므로, 전역 역전파를 수행할 필요가 없다.

BIM (Block-Wise Self-Supervised Learning with MIM)[편집 | 원본 편집]

BIM은 블록별 자기지도 학습의 대표적인 구현으로, Transformer 기반 이미지 인식 모델에 적용된 구조이다.[1] BIM은 Masked Image Modeling(MIM)을 블록 단위로 수행하여 각 블록이 부분적인 복원 작업을 학습하도록 한다.

BIM의 주요 특징[편집 | 원본 편집]

  • 각 블록이 독립적인 자기지도 손실 \(L_b\)를 가짐.
  • 블록 간 activation은 학습 완료 시 즉시 폐기(discard).
  • Memory usage가 전통적 MIM 대비 10–20배 절감.
  • 전체 정확도 손실은 약 1–2% 수준에 불과.

구조 비교[편집 | 원본 편집]

구분 전통적 MIM (Conventional) BIM (Block-wise)
손실 구조 전역 손실 하나(global loss) 블록별 로컬 손실(local loss)
메모리 사용 모든 layer activation 저장 블록 완료 시 메모리 해제
학습 형태 Global backpropagation Local self-supervised backprop
효율성 낮음 (O(L) memory) 높음 (O(1) memory per block)

장단점[편집 | 원본 편집]

구분 장점 단점
메모리 효율 GPU 메모리 사용량 대폭 절감 (최대 90%) 추가 로컬 손실 설계 필요
병렬성 블록 간 병렬 학습 가능 블록 간 전역 상관관계 손실
학습 안정성 Activation 저장/복원이 불필요하여 안정적 Global gradient alignment 약화
정확도 MIM 기반에서는 성능 유지 Supervised 학습에서는 일부 정확도 손실 발생

보완 기법[편집 | 원본 편집]

  • Consistency Regularization — 블록 간 feature 일관성을 유지하도록 보조 손실 추가.
  • Hybrid Backpropagation — 주기적으로 full backprop을 수행하여 전역 일관성 유지.
  • Knowledge Distillation — 상위 블록의 표현을 하위 블록이 모방하도록 유도.
  • Cross-Block Attention — 블록 간 정보 교환을 제한적으로 허용하여 global 표현력 보존.

응용[편집 | 원본 편집]

  • Vision Transformer(ViT) 사전학습(Pretraining) 메모리 절약.
  • Masked Autoencoder(MAE), BEiT 등 MIM 기반 모델의 확장형 학습.
  • 대규모 자가지도 프레임워크의 효율적 학습 (LLM/멀티모달 모델 포함).

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Luo, Yuxuan, Mengye Ren, and Sai Qian Zhang. "BIM: Block-Wise Self-Supervised Learning with Masked Image Modeling." arXiv preprint arXiv:2311.17218 (2023).
  • Chen, Tianlong, et al. "Gradient checkpointing: Reducing memory usage in backpropagation without recomputation." arXiv (2016).
  • Zhang, Sai Qian, and Mengye Ren. "Local Learning in Vision Transformers." arXiv (2023).