[논문 리뷰] Detection and Defense: Student-Teacher Network for Adversarial Robustness

이재호·2025년 2월 17일

논문리뷰

목록 보기
1/4

데이터 관련 연구를 찾아보다가 괜찮아 보이는 논문이 있기에 리뷰를 했다. 이해가 안 가거나 모르는 개념은 챗 지피티를 통해서 검색했다. 간략하게 정리했기에 자세한 내용은 논문을 직접 읽고 확인해야한다.

Positive vs. Negative를 다루는 게 아니라 ! Normal Data vs. Adversarial Data를 다루는 연구.!!!!!(처음에 이것 때문에 헷갈리는 게 많았다.)

1. 개요

  • adversarial (attack?)에 대한 robustness을 위한 Student-Teacher 모델 제안

  • 소타 adversarial attack 방어 모델은 적대적 공격에 대한 강력함을 보여주나 일반 상황(정상 상황)에 대해서도 같은 방식을 적용 → 정상 상황에 불필요한 방어 기능을 적용하여 모델의 성능 감소 → 따라서 Student_Teacher 모델로 이를 보완하는 방법론 제안.

  • 주안점) 적 공격의 성공으로 인한 모델의 히든 레이어 피처 distortion은 피할 수 없음 → 따라서, 교사 모델(원래 모델)의 히든 레이어 피처 중 undistorted된 것을 학생 모델로 예측. → 학생의 히든 레이어 피처와 교사의 히든 레이어 피처 비교 → 학생-교사 히든 레이어 피처 차이가 큰 것을 기준으로 adversarial 탐지 가능 → adversarial시에만 방어 모델을 적용하여 성능 저하 최소화 가능.

  • adversarial 데이터가 교사 모델에 더 강한 왜곡을 가할 수 있도록 restoration attack 기법 적용.

2. 방법론

개념정리)
FGSM(Fast Gradient Sign Method)란: 기존 모델의 로스함수 값의 기울기에 사인 함수를 적용하여, 사인 함수(일종의 부호 함수 역할, -1 ~ +1)에 따라 여러 값이 나오게 하는 방법. 일종의 데이터 왜곡을 통한 딥러닝 모델 속이기 방법.

1. 학습

  • Student에 데이터를 넣으면 Teacher의 hidden layer features에 대한 예측값이 나오도록 학습. (S: 학생 모델, T: 교사 모델, L: 히든 레이어 개수, B: 미니배치, R_l: 레이어 피처 차원)
    L=l=1LSl(Bn)Tl(Bn)22Rl+Sl(Ba)Tl(Bn)22Rl,(1)\mathcal {L}=\sum _{l=1}^{L}{\frac {\left \|{{S_{l}(B_{n})-T_{l}(B_{n})}}\right \|_{2}^{2}}{R_{l}}+\frac {\left \|{{S_{l}(B_{a})-T_{l}(B_{n})}}\right \|_{2}^{2}}{R_{l}}}, \tag {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) 
        # (만약 티처에 정상/비정상 데이터가 들어올 경우 티처의 히든 레이어 피처는 스튜던트가 학습한 히든 레이어 피처처럼 나올 것이다 예측 가능.)
      

2. 탐지

  • adversairal detection 방법론)

    1. 티처 모델의 히든레이어 피처와 슈트던트 모델의 히든레이어 피처간의 MAE로 티처 히든 레이어 피처의 distortion 판단. (MAE 값이 크다 → 적대적 공격일 가능성이 크다.)

    2. 티처 모델의 MSP으로 데이터가 정상 범위를 벗어났는지 판단.

      • The inclusion of MSP is to maximize the detection performance against boundary attacks such as DF (논문 내용)
    3. 1과 2의 값을 표준화? standarizing 함. → 이상치 완화를 위해

      • standarization과 normalization의 차이


    4. 둘 중 맥스 값을 기준으로 adversarial인지 탐지.

      maxlL{SD(Tl(x)Sl(x)1Rl),SD(1MSPT(x))},(2)\max _{l \in L}\left \{{{\mathcal {SD}\left ({{\frac {\left \|{{T_{l}(x)-S_{l}(x)}}\right \|_{1}}{R_{l}}}}\right ), \mathcal {SD}(1-MSP_{T}(x))}}\right \}, \tag {2}

개념 정리

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

3. 방어

  1. input(x) -> S(x) -> 정상적인 데이터 -> T(x)
  2. input(x) -> S(x) -> 비정상적인 데이터 -> S의 히든 레이어 피처를 T의 클래스 분류 전 마지막 히든 레이어에 대입? -> T(x)
  • AE 탐지를 먼저 하는 이유→ AE에 대해서만 추가적인 방어 기법을 적용하고 싶기 때문
  • NE는 기존 모델(T)에서 처리하는 이유→ 불필요한 방어를 적용하지 않아 성능 저하를 막기 위해
  • AE에는 스튜던트 모델의 히든 레이어 피처를 사용해 재분류하는 이유→ AE의 영향을 줄이고 올바른 클래스로 재분류하기 위해

3. 결론

  • 연구 결과, 학생-교사 네트워크 기반의 접근법이 적대적 예제(adversarial examples)를 효과적으로 탐지하고 방어할 수 있음을 보여줌.
  • 이 방법은 정상 예제(normal examples)에 대한 분류 성능 저하를 최소화하면서도 적대적 공격에 대한 강건성(robutness)을 향상시킴.
  • 딥러닝 모델의 은닉층 특징(hidden layer features)에 대한 왜곡을 분석하고, 이를 기반으로 적대적 예제를 탐지하는 새로운 방법론을 제시.
  • 마지막으로, 제안된 방법의 실험 결과는 다양한 데이터셋과 공격 시나리오에서 우수한 성능을 보였으며, 이는 본 방어 기법의 실용성과 범용성을 뒷받침함.
profile
천천히, 그리고 꾸준히.

0개의 댓글