데이터 관련 연구를 찾아보다가 괜찮아 보이는 논문이 있기에 리뷰를 했다. 이해가 안 가거나 모르는 개념은 챗 지피티를 통해서 검색했다. 간략하게 정리했기에 자세한 내용은 논문을 직접 읽고 확인해야한다.
Positive vs. Negative를 다루는 게 아니라 ! Normal Data vs. Adversarial Data를 다루는 연구.!!!!!(처음에 이것 때문에 헷갈리는 게 많았다.)
adversarial (attack?)에 대한 robustness을 위한 Student-Teacher 모델 제안
소타 adversarial attack 방어 모델은 적대적 공격에 대한 강력함을 보여주나 일반 상황(정상 상황)에 대해서도 같은 방식을 적용 → 정상 상황에 불필요한 방어 기능을 적용하여 모델의 성능 감소 → 따라서 Student_Teacher 모델로 이를 보완하는 방법론 제안.
주안점) 적 공격의 성공으로 인한 모델의 히든 레이어 피처 distortion은 피할 수 없음 → 따라서, 교사 모델(원래 모델)의 히든 레이어 피처 중 undistorted된 것을 학생 모델로 예측. → 학생의 히든 레이어 피처와 교사의 히든 레이어 피처 비교 → 학생-교사 히든 레이어 피처 차이가 큰 것을 기준으로 adversarial 탐지 가능 → adversarial시에만 방어 모델을 적용하여 성능 저하 최소화 가능.
adversarial 데이터가 교사 모델에 더 강한 왜곡을 가할 수 있도록 restoration attack 기법 적용.
개념정리)
FGSM(Fast Gradient Sign Method)란: 기존 모델의 로스함수 값의 기울기에 사인 함수를 적용하여, 사인 함수(일종의 부호 함수 역할, -1 ~ +1)에 따라 여러 값이 나오게 하는 방법. 일종의 데이터 왜곡을 통한 딥러닝 모델 속이기 방법.
# 코드 예시(임의로 작성한 코드)
for e in range(epochs):
for batch in get_batch(traing_dataset):
normal_mini_batch = batch
adeversarial_mini_batch = FGSM(normal_mini_batch)
for l in range(L):
t_hidden_layer_features = extract_hidden_layer_features(Teacher) # 고정된 값? 변화 x? -> target value of student?
s_hidden_layer_features = extract_hidden_layer_features(Student) # 학습할 값
loss_function = euclidian_distance(
t_features = t_hidden_layer_features,
s_features = s_hidden_layer_features,
t_batch = normal_mini_batch,
s_batch = normal_mini_batch
) / get_demension(t_features) # 정상 데이터를 입력 받은 Student hidden layer features가 정상 데이터를 입력 받은 Teacher hidden layer features에 가까워지도록 학습.
# 정상 입력을 받을 경우 히든 레이어 피처는 다음과 같이 나올 것이다
+
euclidian_distance(
t_features = t_hidden_layer_features,
s_features = s_hidden_layer_features,
t_batch = normal_mini_batch,
s_batch = adversarial_mini_batch
) / get_demension(t_features) # 비정상 데이터를 입력 받은 Student hidden layer features가 정상 데이터를 입력 받은 Teacher hidden layer features에 가까워지도록 학습.
# 비정상 입력을 받을 경우 히든 레이어 피처는 다음과 같이 나올 것이다
Student.train(X=s_hidden_layer, Y=t_hidden_layer, loss=loss_function)
# (만약 티처에 정상/비정상 데이터가 들어올 경우 티처의 히든 레이어 피처는 스튜던트가 학습한 히든 레이어 피처처럼 나올 것이다 예측 가능.)
adversairal detection 방법론)
티처 모델의 히든레이어 피처와 슈트던트 모델의 히든레이어 피처간의 MAE로 티처 히든 레이어 피처의 distortion 판단. (MAE 값이 크다 → 적대적 공격일 가능성이 크다.)
티처 모델의 MSP으로 데이터가 정상 범위를 벗어났는지 판단.
1과 2의 값을 표준화? standarizing 함. → 이상치 완화를 위해
standarization과 normalization의 차이


둘 중 맥스 값을 기준으로 adversarial인지 탐지.
개념 정리
- Maximum Softmax Probability(MSP)란
MSP의 핵심 아이디어)
- MSP는 딥러닝 모델의 출력 확률(Softmax Score)을 활용하여 입력 데이터가 In-Distribution (ID)인지, Out-of-Distribution (OOD)인지 판별합니다.
- Softmax 함수를 적용하면, 모델의 출력 벡터에서 가장 큰 확률 값을 가진 클래스의 확률 (최대 softmax 확률)이 계산됩니다.
- OOD 데이터는 일반적으로 신뢰도가 낮기 때문에, MSP 값이 낮은 경우 OOD 데이터일 가능성이 높다고 판단합니다.
즉,- MSP 값이 높으면 → 모델이 해당 입력을 ID로 판단
- MSP 값이 낮으면 → 모델이 해당 입력을 OOD로 판단