NIST의 적대적 머신러닝 분류 체계(NIST AI 100-2)는 데이터 포이즈닝(data poisoning)을 학습 시점의 공격으로 다룹니다. 크롤링한 웹 페이지, 사용자 피드백, 공유 데이터셋처럼 학습 데이터의 일부에 영향을 줄 수 있는 사람이 예시를 추가하거나 수정해, 자신에게 유리한 패턴을 모델이 학습하게 만듭니다.
포이즈닝된 예시는 평범해 보일 수 있습니다. 각 행은 형식 검사와 범위 검사를 통과할 수 있고, 영향은 학습이 끝난 뒤 특정 상황에서만 나타납니다.
데이터 포이즈닝의 흔한 형태는 다음과 같습니다.
- 레이블 뒤집기(label flipping): 올바른 입력에 틀린 레이블을 붙입니다
- 백도어 또는 트리거 포이즈닝(backdoor or trigger poisoning): 드문 패턴을 공격자가 정한 출력에 연결합니다
- 가용성 포이즈닝(availability poisoning): 손상된 데이터를 충분히 추가해 전체 정확도를 낮춥니다
데이터 포이즈닝은 레이블 노이즈와 어떻게 다른가요?
- 레이블 노이즈는 우발적입니다. 오류가 목적 없이 데이터 전반에 퍼져 있습니다.
- 데이터 포이즈닝은 의도적이고 표적이 있으며, 노이즈를 잡는 검사를 통과하도록 설계되는 경우가 많습니다.
- 둘 다 학습 데이터의 품질을 떨어뜨리므로, 같은 레코드라도 원인에 따라 다른 대응이 필요할 수 있습니다.
AI 업무에서 데이터 포이즈닝은 어디서 나타나나요?
행 단위 검사로는 거의 잡히지 않습니다. 팀은 데이터 출처(data provenance)로 각 학습 소스가 어디서 왔는지 기록하고, 학습 파이프라인이 한 번도 건드리지 않는 평가 세트를 유지하며, 데이터를 바꿀 때마다 같은 평가 레코드에서 변경 전후 모델 동작을 비교해 노출을 줄입니다. 좁은 입력 패턴 하나에서만 나타나는 변화가 있다면, 어떤 데이터가 추가됐는지 추적해 볼 이유가 됩니다.