MNIST용 Dynamic Adversarial Data Collection (DADC) – Hugging Face 튜토리얼
TL;DR
Hugging Face는 MNIST 손글씨 숫자 작업에서 Dynamic Adversarial Data Collection (DADC)을 시연하는 실용적인 가이드를 공개했으며, 사용자가 Gradio 🤗 Space를 통해 적대적 예제를 수집하고, 플래그를 지정하며, 모델을 반복적으로 재학습시켜 견고성을 높일 수 있도록 합니다.
Dynamic Adversarial Data Collection이란?
Dynamic Adversarial Data Collection (DADC)은 정적인 벤치마크를 인간이 최신 모델을 고의로 속이는 입력을 생성하는 루프로 대체합니다. 이 루프는 두 가지 이점을 제공합니다: 모델의 실제 견고성을 드러내고, 더 강력한 모델을 학습시키는 데 사용할 수 있는 성장하는 인간 정렬 데이터셋을 생성합니다. 여러 라운드에 걸쳐 속이고‑재학습 사이클을 반복하면 인간 기대에 더 잘 맞는 모델을 얻을 수 있습니다.
MNIST 모델 구성
튜토리얼은 MNIST를 위한 간단한 합성곱 신경망을 정의하는 것으로 시작합니다:
class MNIST_Model(nn.Module):
def __init__(self):
super(MNIST_Model, self).__init__()
self.conv1 = nn.Conv2d(1, 10, kernel_size=5)
self.conv2 = nn.Conv2d(10, 20, kernel_size=5)
self.conv2_drop = nn.Dropout2d()
self.fc1 = nn.Linear(320, 50)
self.fc2 = nn.Linear(50, 10)
def forward(self, x):
x = F.relu(F.max_pool2d(self.conv1(x), 2))
x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2))
x = x.view(-1, 320)
x = F.relu(self.fc1(x))
x = F.dropout(x, training=self.training)
x = self.fc2(x)
return F.log_softmax(x)
아키텍처를 정의한 후, 모델은 표준 MNIST 학습/검증 분할에 대해 학습됩니다.
🤗 Spaces를 통한 모델 상호작용
베이스라인 모델이 학습된 후(예제는 20 epoch 후 89% 테스트 정확도에 도달), 가이드는 이를 Gradio 🤗 Space를 통해 공개하는 방법을 보여줍니다. 사용자는 캔버스에 숫자를 그리면 모델이 예측을 반환합니다. Space URL은 https://huggingface.co/spaces/chrisjay/simple-mnist-classification입니다. 이 인터랙티브 데모는 적대적 입력을 수집하기 위한 진입점입니다.
적대적 예제 플래그 지정
사용자가 모델을 속이는 데 성공하면 해당 예제가 플래그됩니다:
- 적대적 이미지가 데이터셋에 저장됩니다.
- 플래그된 샘플 수가 임계값에 도달하면, 모델은 확장된 데이터셋으로 재학습됩니다.
- 단계 1‑2가 여러 라운드에 걸쳐 반복됩니다.
튜토리얼은 사용자 정의 flag 함수(전체 소스는 .../mnist-adversarial/blob/main/app.py#L314에서 확인) 를 제공합니다. Gradio는 또한 내장 플래그 콜백을 제공하며, 이는 https://gradio.app/using_flagging/ 에 문서화되어 있습니다.
엔드‑투‑엔드 데모
모델 정의, 인터랙티브 Space, 플래그 로직이라는 세 가지 구성 요소가 모두 결합되어 MNIST Adversarial(https://huggingface.co/spaces/chrisjay/mnist-adversarial)이라는 단일 데모가 만들어집니다. 사용자는 시스템을 직접 테스트하고, 적대적 샘플을 생성하며, 재학습 후 모델이 어떻게 개선되는지 관찰할 수 있습니다.
시사점 및 커뮤니티 발견
DADC는 포화와 숨겨진 편향과 같은 정적 벤치마크의 한계를 인간이 만든 엣지 케이스를 지속적으로 주입함으로써 해결합니다. 블로그는 Eric Wallace 등(2022)의 연구를 인용하여, 비적대적 데이터 수집은 단기적인 이득을 줄 수 있지만 DADC가 자연어 추론 작업에서 가장 높은 장기 정확도를 달성한다는 점을 보여줍니다. 동일한 원리는 MNIST와 같은 비전 작업에도 적용되며, 다양한 손글씨 스타일이 정적 테스트 세트에 충분히 반영되지 못하고 있습니다.
결론
Dynamic Adversarial Data Collection은 포화되지 않는 인간 정렬 데이터셋을 만들고, 반복적인 속이고‑재학습 루프를 통해 모델 견고성을 향상시킵니다. Hugging Face의 튜토리얼은 🤗 Spaces와 Gradio를 사용하면 전체 DADC 파이프라인을 구축하는 것이 간단함을 보여주며, 연구자와 실무자가 이 접근 방식을 채택하는 장벽을 낮춥니다.
SUMMARY: Hugging Face는 MNIST에서 Dynamic Adversarial Data Collection (DADC)을 위한 단계별 튜토리얼을 발표했으며, 인간이 만든 적대적 예제를 수집하고 모델을 재학습시켜 견고성을 향상시키는 방법을 보여줍니다.
TITLE: MNIST용 Dynamic Adversarial Data Collection (DADC) – Hugging Face 튜토리얼