Model Inversion
모델 역전은 모델의 예측과 내부 표현을 이용해 민감한 입력이나 학습 데이터를 재구성하는 개인정보 공격입니다.
모델 역전은 모델의 예측, 학습된 파라미터 또는 내부 표현에서 모델 입력이나 학습 데이터에 관한 정보를 복구하는 것입니다. 직관적으로는 예측 과정을 거꾸로 수행하는 방식입니다. 머신러닝 모델이 노출하는 정보는 얼굴을 재구성하거나 민감한 속성을 추정하거나 텍스트를 복구하는 근거가 됩니다. 승인되지 않은 사용은 데이터 개인정보 보호 공격을 초래합니다.
Matthew Fredrikson, Eric Lantz, Somesh Jha, Simon Lin, David Page, Thomas Ristenpart는 2014년에 개인별 와파린 투여량 모델의 모델 역전을 통해 이 보안 용어를 소개했습니다. 모델과 인구통계 정보, 환자의 안정적인 투여량을 사용해 약물 반응과 관련된 유전적 표지를 추론했습니다. 평가는 국제 와파린 약물유전체학 컨소시엄 데이터를 사용했습니다.
모델 역전의 작동 방식#
공격자에게는 관찰 가능한 신호와 재구성 목표가 필요합니다. 분류기의 신뢰도 점수는 후보 입력이 대상 클래스와 얼마나 강하게 일치하는지 보여줍니다. 화이트박스 접근 권한이 있으면 공격자는 모델 가중치도 확인하고 그래디언트를 계산할 수 있습니다. 블랙박스 접근은 쿼리 인터페이스를 통해 예측을 제공합니다. 입력의 수치 표현인 중간 임베딩도 재구성의 대상이 될 수 있습니다.
최적화 기반 역전은 후보 입력으로 시작해 손실 함수(예: 대상 클래스 확률에서 1을 뺀 값)를 줄이도록 입력을 반복해서 변경합니다. 학습된 모델은 고정된 상태로 유지하면서 경사 하강법으로 입력을 업데이트합니다. 그 결과 특정 클래스를 알아볼 수 있는 대표 입력을 얻을 수 있으며, 정확한 복구 여부는 접근 가능한 신호에 보존된 정보에 따라 달라집니다.
Ultralytics YOLO는 model.embed()을 통해 이미지 표현을 제공하여 특징 추출 워크플로를 지원합니다. 이러한 벡터를 공유하면 역전 중심의 개인정보 보호 테스트에서 고려해야 할 인터페이스가 추가됩니다.
얼굴 재구성 및 실행 가능한 예제#
2015년 Fredrikson, Jha, Ristenpart는 MI-Face를 비롯한 신뢰도 기반 역전 공격과 기본 대응책을 소개했습니다. 이들의 얼굴 인식 실험은 40명의 얼굴 이미지 400장이 포함된 AT&T/ORL 얼굴 데이터베이스를 사용했습니다. 특정 인물의 신원 라벨을 기준으로 픽셀을 최적화하자 알아볼 수 있는 얼굴이 재구성되었고, 신원과 연결된 외모 정보가 노출되었습니다.
Adversarial Robustness Toolbox의 MIFace 구현은 연속 특징 분류기도 지원합니다. 이 예제에서는 scikit-learn의 번들 손글씨 숫자 데이터셋으로 학습한 로지스틱 회귀에 적용합니다. pip install adversarial-robustness-toolbox scikit-learn matplotlib으로 종속성을 설치합니다.
import matplotlib.pyplot as plt
import numpy as np
from art.attacks.inference.model_inversion import MIFace
from art.estimators.classification import SklearnClassifier
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
images, labels = load_digits(return_X_y=True)
images = images.astype(np.float32) / 16
model = LogisticRegression(max_iter=1000)
model.fit(images, labels)
classifier = SklearnClassifier(model=model, clip_values=(0, 1))
# 대상 숫자 클래스의 픽셀을 재구성합니다.
attack = MIFace(classifier, max_iter=1000, verbose=False)
reconstructions = attack.infer(x=None, y=np.array([3]))
reconstruction = reconstructions[0]
plt.imshow(reconstruction.reshape(8, 8), cmap="gray")
plt.axis("off")
plt.show()표시된 재구성 결과는 학습된 분류기의 그래디언트를 사용해 숫자 3 클래스에 맞게 최적화한 픽셀을 보여줍니다.
언어 시스템에서는 프롬프트도 역전으로 복구할 수 있습니다. John X. Morris와 동료들은 2024년에 다음 토큰 확률 분포를 바탕으로 앞선 텍스트를 재구성하는 언어 모델 역전 방법을 발표했습니다. 공동 추론에서는 프롬프트 역전 공격을 통해 참여자 간에 전송되는 중간 활성화 값에서 입력 텍스트를 재구성하고, 분산 계산 경계를 넘어 프롬프트를 노출할 수 있습니다.
관련 개념 및 구분#
다음 용어는 공격자의 서로 다른 목적을 설명합니다.
- 멤버십 추론은 알려진 레코드가 학습 데이터에 포함되었는지 판단하고, 역전은 알 수 없는 콘텐츠나 속성을 추정합니다.
- 속성 추론은 레코드에 관한 다른 정보를 이용해 민감한 필드를 채웁니다. 와파린을 대상으로 한 최초의 공격은 속성 추론이자 모델 역전입니다.
- 적대적 공격에는 잘못된 예측을 유도하도록 입력을 바꾸는 회피 공격이 포함됩니다. 역전은 정보 공개를 목표로 합니다.
- 역모델링은 관측값을 바탕으로 원인이나 파라미터를 폭넓게 추정하는 방식입니다. 예를 들어 역렌더링은 이미지에서 장면 속성을 추정합니다.
노출 감소#
액세스 제어는 모델을 쿼리하거나 내부 표현을 얻을 수 있는 사용자를 제한합니다. 모델 모니터링은 비정상적인 쿼리 패턴을 감지할 수 있으며, 신뢰도 점수의 정밀도를 낮추면 신뢰도 기반 공격에 악용되는 정보를 줄일 수 있습니다. 개인정보 보호 평가는 실제로 허용된 액세스 조건에서 재구성 품질을 측정합니다.
차등 개인정보 보호는 조정된 무작위성을 통해 개인의 학습 기록이 미치는 영향을 제한합니다. 개인정보 보호 보장은 데이터셋 참여로 추가되는 정보에 관한 것입니다. 인버전은 유전적 마커와 약물 용량 간의 관계와 같은 모집단 수준의 상관관계도 활용할 수 있습니다.










