AI SW 테스트 기법

1. AI 소프트웨어 테스팅 개요

  • AI 소프트웨어 테스팅의 방향성
    • AI 소프트웨어 테스팅은 전통적인 소프트웨어 테스팅과는 다른 접근이 필요함
    • AI 시스템은 명시적으로 프로그래밍된 규칙이 아닌 데이터로부터 학습하기 때문에, 테스트 방법론도 이에 맞게 진화해야 함
    • AI 소프트웨어 테스팅의 주요 목표는 모델의 정확성, 견고성, 공정성, 안전성 등을 확보하는 것
  • AI 시스템 테스팅에서 고려해야 할 요소
    • 테스트 오라클 문제(정확한 기대 출력값을 알기 어려운 상황)
    • 데이터 품질과 다양성
    • 모델의 내부 구조 이해와 검증
    • 실제 환경에서의 성능과 안정성

2. 주요 AI 테스트 기법

2.1 메타모픽 테스트 기법(Metamorphic Testing)

  • 테스트 오라클 문제를 해결하기 위한 기법
  • 입력과 출력 간의 관계인 ‘메타모픽 관계(Metamorphic Relations, MRs)’를 활용하여 소프트웨어의 신뢰성을 검증

  • 핵심 원리:
    1. 원본 입력과 출력이 있을 때, 입력에 특정 변환을 적용하여 새로운 입력을 만듦
    2. 새로운 입력에 대한 출력이 원본 출력과 어떤 관계를 가져야 하는지 정의
    3. 이 관계가 성립하는지 확인하여 소프트웨어의 올바른 동작 여부 판단
  • 예시
    • 이미지 분류 AI에서 이미지를 회전시켜도 같은 객체로 인식해야 한다는 규칙을 검증하는 방식

2.2 뉴런 커버리지 테스트 기법(Neuron Coverage Testing)

  • 신경망 모델의 내부 뉴런들이 테스트 실행 중에 얼마나 활성화되었는지 측정하는 화이트박스 테스팅 기법

  • 핵심 원리:

    • 뉴런 커버리지: 활성화된 뉴런의 수를 총 뉴런 수로 나눈 값으로 측정
      • 소프트웨어 테스팅의 코드 커버리지 개념을 신경망에 적용한 것
    • 높은 뉴런 커버리지는 신경망의 더 많은 부분이 테스트되었음을 의미함

계산 방법:

뉴런 커버리지(%) = (활성화된 뉴런의 수 / 총 뉴런 수) × 100

2.3 최대 안전 반경 테스트 기법(Maximum Safe Radius Test)

  • 딥 뉴럴 네트워크(DNN)의 견고성을 검증하기 위한 테스트 기법
  • 입력 데이터에 작은 변화를 주었을 때 모델의 예측이 변경되지 않는 최대 반경(거리)을 계산

  • 핵심 원리:
    1. 원본 입력 데이터 주변에 존재하는 안전한 영역 정의
      • 이 영역 내에서는 어떤 입력 변화가 있더라도 AI 모델의 출력이 동일하게 유지됨
    2. 최소 안전 반경(MinUR)과 최대 안전 반경(MaxRR)을 함께 계산하여 모델의 안정성을 평가
  • 활용
    • 적대적 예제(adversarial examples)에 대한 모델의 취약성 평가
    • 안전이 중요한 미션 크리티컬(Mission Critical) 시스템에서 AI의 신뢰성을 보장하는 데 중요함

2.4 커버리지 검증 기법(Coverage Verification)

  • 테스트가 AI 모델의 입력 공간, 내부 상태, 의사 결정 경로 등을 얼마나 광범위하게 다루고 있는지를 측정하고 평가하는 방법

  • 주요 커버리지 유형:
    • 결정 경계 커버리지(Decision Boundary Coverage)
      • AI 모델의 의사 결정 경계가 얼마나 테스트되었는지 측정
    • 입력 공간 커버리지(Input Space Coverage)
      • 모델이 처리해야 할 전체 입력 데이터 공간 중 얼마나 많은 부분이 테스트되었는지 측정
    • 테스트 케이스 다양성(Test Case Diversity)
      • 생성된 테스트 케이스들이 얼마나 다양하고 독립적인 입력 변화를 포함하는지 측정
  • 활용
    • 모델의 일반화 능력을 평가 후, 테스트가 충분히 이루어지지 않은 영역을 식별하여 추가 테스트를 진행할 수 있음

3. AI 테스트 기법 비교

특징/기법메타모픽 테스트
(Metamorphic Testing)
뉴런 커버리지 테스트
(Neuron Coverage Testing)
최대 안전 반경 테스트
(Maximum Safe Radius Test)
커버리지 검증 기법
(Coverage Verification)
목표테스트 오라클 문제 해결 및
신뢰성 검증
신경망 내부 동작(활성화) 검증 및
테스트 철저도 측정
모델의 견고성(robustness) 및
안정성 검증
테스트 케이스의 충분성 및
AI 모델의 포괄적 검증
접근 방식블랙박스
(입력-출력 관계 기반)
화이트박스
(모델 내부 뉴런 활성화 기반)
블랙박스/그레이박스
(입력 변화에 따른 출력 안정성 기반)
화이트박스/블랙박스/그레이박스
(다양한 기준의 포괄 범위 측정)
검증 대상입력과 출력 간의 관계
(예: 이미지가 회전해도 분류 결과는
동일)
신경망 내부 뉴런의 활성화 여부입력 데이터의 작은 변화에 대한
모델 출력의 일관성
모델의 입력 공간, 내부 상태,
의사 결정 경로 등
주요 활용- 테스트 오라클이 없는 경우
- AI 모델의 일반화 능력 검증
- 학습된 모델의 훈련 범위 평가
- 잠재적 취약 영역 식별
- 적대적 예제(adversarial examples)
  방어력 평가
- 안전이 중요한 시스템의 신뢰성 검증
- 테스트 케이스 생성 최적화
- 테스트 미흡 영역 발견 및 보강
장점- 테스트 오라클 문제 해결에 효과적
- 복잡한 AI 시스템에 적용 용이
- 모델의 '내부' 동작 가시화
- 테스트 케이스 부족 영역 식별
- 모델의 견고성을 정량적으로 측정
- 실제 위협에 대한 모델 저항력 평가
- 테스트의 체계적 관리
- 잠재적 결함 감소 및 품질 향상에 기여
단점/한계- 메타모픽 관계 정의의 어려움
- 일부 모델에는 적용이 어려움
- 뉴런 커버리지가 곧 성능/품질을
  의미하지는 않음
- 복잡한 모델에 적용 시 계산 비용
- 계산 복잡성이 높을 수 있음
- '최대 안전 반경' 정의가 어려울 수 있음
- 어떤 커버리지를 목표로 할지 선정의
  어려움
- 과도한 커버리지 목표는 비효율적일
  수 있음
  • 각 기법은 AI 모델의 특정 측면을 평가하고 검증하는 데 강점을 가지므로
  • 개발하는 AI 시스템의 특성과 목표에 따라 적절한 기법들을 조합하여 활용하는 것이 중요함