Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Machine Unlearning

기계 언러닝은 학습된 모델에서 특정 학습 데이터의 영향을 제거합니다. 정확 및 근사 방법, 결과 검증 방법, 한계를 살펴봅니다.

머신 언러닝은 학습된 머신러닝 모델에서 특정 학습 데이터의 영향을 제거하여, 모델이 해당 예제를 본 적이 없는 것처럼 동작하게 하는 과정입니다. 목표는 데이터를 제외하고 처음부터 다시 학습한 모델과 일치하는 결과를 완전 재학습보다 훨씬 적은 연산량으로 얻는 것입니다. 삭제 요청은 GDPR 제17조의 삭제권과 같은 데이터 프라이버시 법률, 저작권 주장, 나중에 잘못 라벨링되었거나 오염된 것으로 밝혀진 데이터, 그리고 대규모 언어 모델(LLM)에서 유해한 지식을 제거하려는 노력에서 비롯됩니다.

데이터 삭제만으로는 충분하지 않은 이유#

경사 하강법은 각 예제에서 모델이 학습한 내용을 모델 가중치 전반에 분산하므로, 저장소에서 원본 이미지나 문서를 삭제해도 학습된 내용은 남아 있습니다. 모델은 개별 예제의 복구 가능한 흔적도 보유할 수 있습니다. 멤버십 추론 공격은 특정 레코드가 학습 세트에 포함되었는지 검사하며, 대규모 언어 모델은 기억한 문구를 그대로 재현할 수 있습니다. 규제 기관은 모델 자체를 데이터의 산물로 간주합니다. 2021년 합의에서 미국 연방거래위원회는 사진 앱 제작사 Everalbum에 적절한 동의 없이 사용자의 사진으로 구축한 안면 인식 모델과 알고리즘을 삭제하도록 요구했습니다. 이 구제 조치는 현재 알고리즘 폐기라고 불립니다.

정확한 언러닝과 근사 언러닝#

정확한 언러닝은 삭제 대상 데이터를 제외하고 재학습한 모델과 동일한 분포에서 모델을 생성합니다. 처음부터 재학습하는 것이 기준 방식이며, Bourtoule 외 연구진의 SISA 프레임워크는 학습 세트를 샤딩하고, 각 샤드에서 독립 모델을 학습하며, 각 샤드를 체크포인트가 있는 단계로 슬라이싱하고, 샤드 모델의 예측을 집계해 비용을 줄입니다. 삭제 요청이 들어오면 해당 예제가 포함된 샤드만 재학습합니다:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# SISA: split the training set into isolated shards and train one model per shard
shards = np.array_split(np.arange(len(X_train)), 5)
models = [LogisticRegression(max_iter=5000).fit(X_train[s], y_train[s]) for s in shards]

# Honor a deletion request for training sample 123 by retraining only the shard that held it
k = next(i for i, s in enumerate(shards) if 123 in s)
shards[k] = shards[k][shards[k] != 123]
models[k] = LogisticRegression(max_iter=5000).fit(X_train[shards[k]], y_train[shards[k]])

# Aggregate the shard models by majority vote
votes = np.stack([m.predict(X_test) for m in models])
pred = np.array([np.bincount(v).argmax() for v in votes.T])
print(f"Retrained {len(shards[k])} of {len(X_train)} samples, test accuracy {(pred == y_test).mean():.3f}")

스크립트는 Retrained 251 of 1257 samples, test accuracy 0.957을 출력합니다. 삭제 대상 숫자는 재학습된 샤드 모델에서 학습된 적이 없으며, 삭제 비용은 전체 재학습의 5분의 1이었습니다. 하지만 이 비용을 미리 부담해야 합니다. 각 샤드 모델이 더 적은 데이터를 보기 때문입니다. ImageNet 분류에서 논문은 정확도가 소폭 낮아지는 대신 재학습 속도가 1.36배 빨라졌으며, 더 단순한 Purchase 데이터세트에서는 4.63배 빨라졌다고 측정했습니다.

근사 언러닝은 기존 모델을 수정하는 대신 결과가 재학습 모델과 비슷하기만 하면 된다고 봅니다. 일반적인 방법으로는 삭제 대상 세트의 손실을 높이는 경사 상승법, 부수적 손상을 복구하기 위해 보유 데이터로 미세 조정하는 방법, 각 예제가 가중치를 얼마나 변화시켰는지 추정하는 영향도 기반 업데이트가 있습니다. LLM의 경우 Microsoft 연구진은 일반적인 벤치마크 점수를 거의 그대로 유지하면서 약 1 GPU 시간의 미세 조정으로 Llama 2 7B에서 Harry Potter 지식을 삭제했습니다.

모델의 삭제 여부를 검증하는 방법#

신뢰할 수 있는 평가는 언러닝된 모델과 데이터를 제외하고 재학습한 모델을 비교합니다. 삭제 대상 세트의 정확도는 0이 아니라 재학습 모델 수준까지 낮아져야 합니다. 삭제된 예제에서만 눈에 띄게 실패하는 모델은 어떤 예제가 삭제되었는지 드러내기 때문입니다. 보유 데이터와 테스트 데이터의 정확도는 유지되어야 하며, 삭제 대상 예제에 대한 멤버십 추론 공격의 성능은 무작위 추측보다 나아서는 안 됩니다. 가상의 저자 전기를 기반으로 하는 TOFU, 유해한 생물학·화학·사이버 지식을 측정하는 WMDP 등의 벤치마크는 LLM에 이러한 테스트를 적용합니다.

근사 방법은 지식을 제거하는 대신 숨기는 경우가 많습니다. 한 적대적 연구에서는 관련 없는 예제 10개만으로 미세 조정해도 선도적인 LLM 언러닝 방법인 RMU가 억제했던 유해한 역량 대부분이 복구되는 것으로 나타났습니다. 구성상 제거를 보장하는 방법은 정확한 방법뿐입니다.

  • 파국적 망각: 모델이 새 데이터를 학습할 때 이전 지식을 의도치 않게 잃는 현상입니다. 언러닝은 선택한 지식을 의도적으로 제거합니다.
  • 지속 학습: 기존 지식을 잃지 않고 시간이 지나면서 새로운 지식을 추가하는 방법입니다. 언러닝은 반대 방향으로 작동합니다.
  • 모델 편집: 특정 직책의 담당자를 업데이트하는 것처럼 특정 사실이나 동작을 변경합니다. 언러닝은 특정 학습 예제의 영향을 대상으로 하며, 재학습 모델과 비교해 성공 여부를 판단합니다.
  • 차등 프라이버시: 단일 예제가 모델에 미치는 영향의 상한을 설정하는 학습 단계의 보장으로, 나중에 삭제해야 할 레코드에 대해 공격자가 알아낼 수 있는 정보를 제한합니다.

실제 환경에서의 언러닝#

모든 삭제 작업은 해당 데이터로 학습된 모델을 찾는 것부터 시작합니다:

삭제 대상 데이터를 본 적이 없는 사전 학습 가중치에서 미세 조정한 컴퓨터 비전 모델의 경우, 완전 재학습은 대개 감당할 수 있는 비용이며 LLM 사전 학습보다 훨씬 작은 작업입니다. Ultralytics Platform에서는 각 데이터세트의 Models 탭에 해당 데이터세트로 학습한 모든 모델이 나열되며, 버전을 저장한 실행에는 변경 불가능한 데이터세트 버전도 표시됩니다. 따라서 삭제 요청이 들어오면 이미지를 학습에 사용한 YOLO26 모델을 추적한 다음, 해당 이미지가 제외된 새 버전으로 재학습할 수 있습니다. 동일한 추적 및 재학습 절차는 의료 영상 분석에 사용된 스캔에 대한 동의를 철회한 환자와 모델 소유자가 삭제에 동의한 보안 카메라의 얼굴 및 번호판에도 적용됩니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요