블록별 자기지도 학습
블록별 자기지도 학습(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\)의 출력에 대해 계산되는 자기지도 손실이다. 즉, 모델은 전체적으로 하나의 큰 네트워크이지만, 훈련 과정에서는 블록별로 독립적인 표현 학습이 이루어진다.
각 블록의 학습 절차는 다음과 같다.
- Forward pass: Block_i의 출력을 계산.
- Local self-supervised loss 계산 (예: Masked Patch 복원 손실).
- Backward pass: 해당 블록 내부에서만 역전파 수행.
- 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).