모델 해석력

이 문서에서는 Azure Machine Learning의 모델 해석에 사용할 수 있는 방법을 설명합니다.

Important

모델 해석력이 포함된 책임 있는 AI 대시보드 릴리스와 함께 이전 SDK v1 미리 보기 모델 해석력 대시보드가 더 이상 적극적으로 유지 관리되지 않으므로 새 환경으로 마이그레이션하는 것이 좋습니다.

모델 디버깅에 모델 해석력이 중요한 이유

사람들의 삶에 영향을 미치는 방식으로 기계 학습 모델을 사용할 때 모델의 동작에 영향을 미치는 요소를 이해하는 것이 매우 중요합니다. 해석력은 다음과 같은 시나리오에서 질문에 답하는 데 도움이 됩니다.

  • 모델 디버깅: 내 모델에서 이 실수가 발생한 이유는 무엇인가요? 모델을 어떻게 개선할 수 있나요?
  • 인간-AI 협업: 모델의 결정을 이해하고 신뢰하려면 어떻게 해야 하나요?
  • 규정 준수: 내 모델이 법적 요구 사항을 충족하나요?

책임 있는 AI 대시보드의 해석력 구성 요소는 기계 학습 모델의 예측에 대한 인간이 이해할 수 있는 설명을 생성하여 모델 수명 주기 워크플로의 "진단" 단계에 기여합니다. 모델의 동작에 대한 여러 보기를 제공합니다.

  • 글로벌 설명: 예를 들어, 대출 할당 모델의 전체 동작에 영향을 미치는 기능은 무엇인가요?
  • 로컬 설명: 예를 들어, 고객의 대출 애플리케이션이 승인되거나 거부된 이유는 무엇인가요?

선택된 코호트에 대한 모델 설명을 데이터 포인트의 하위 그룹으로 관찰할 수도 있습니다. 이 방식은 예를 들어 특정 인구 통계 그룹의 개인에 대한 모델 예측의 공정성을 평가할 때 유용합니다. 이 구성 요소의 로컬 설명 탭은 또한 데이터를 일반적으로 관찰하고 각 코호트의 올바른 예측과 잘못된 예측 간의 차이를 확인하는 데 유용한 전체 데이터 시각화를 나타냅니다.

이 구성 요소의 기능은 모델 설명을 생성하는 InterpretML 패키지를 기반으로 합니다.

다음이 필요할 때 해석력을 사용합니다.

  • 예측에 가장 중요한 기능을 이해하여 AI 시스템의 예측이 얼마나 신뢰할 수 있는지 확인합니다.
  • 먼저 모델을 이해하고 모델이 정상적인 기능을 사용하는지 아니면 단순히 잘못된 상관 관계를 사용하는지 식별하여 모델 디버깅에 접근합니다.
  • 모델이 중요한 기능을 기반으로 하는지 아니면 상관관계가 높은 기능을 기반으로 하는지를 이해하여 불공정의 잠재적 원인을 찾아냅니다.
  • 결과를 설명하는 로컬 설명을 생성하여 모델의 결정에 대한 사용자의 신뢰를 빌드합니다.
  • AI 시스템의 규제 감사를 완료하여 모델의 유효성을 검사하고 모델 결정이 인간에 미치는 영향을 모니터링합니다.

모델을 해석하는 방법

기계 학습에서 기능은 대상 데이터 포인트를 예측하는 데 사용하는 데이터 필드입니다. 예를 들어 신용 위험을 예측하려면 나이, 계정 규모, 계정 사용 기간에 대한 데이터 필드를 사용할 수 있습니다. 여기서 나이, 계정 크기, 계정 사용 기간이 기능입니다. 기능 중요도는 각 데이터 필드가 모델의 예측에 어떻게 영향을 주는지 알려줍니다. 예를 들어 예측에 나이 필드를 많이 사용하더라도 계정 크기와 계정 사용 기간은 예측 값에 큰 영향을 미치지 않을 수 있습니다. 이 프로세스를 통해 데이터 과학자는 관련자에게 모델의 가장 중요한 기능에 대한 표시 유형을 제공하는 방식으로 결과 예측을 설명할 수 있습니다.

책임 있는 AI 대시보드의 클래스와 메서드를 사용하고 SDK v2 및 CLI v2를 사용하여 다음을 수행할 수 있습니다.

  • 전체 모델(전체 설명) 또는 개별 데이터 포인트(로컬 설명)에 대한 기능 중요도 값을 생성하여 모델 예측을 설명합니다.
  • 실제 데이터 세트에서 대규모로 모델 해석력을 달성합니다.
  • 대화형 시각화 대시보드를 사용하여 학습 시간에 데이터의 패턴과 설명을 검색합니다.

SDK v1의 클래스와 메서드를 사용하여 다음을 수행할 수 있습니다.

  • 전체 모델 또는 개별 데이터 요소에 대한 기능 중요도 값을 생성하여 모델 예측을 설명합니다.
  • 학습 및 유추 중에 실제 데이터 세트에서 모델 해석력을 대규모로 달성합니다.
  • 대화형 시각화 대시보드를 사용하여 학습 시간에 데이터의 패턴과 설명을 검색합니다.

참고 항목

모델 해석력 클래스는 SDK v1 패키지를 통해 제공됩니다. 자세한 내용은 Azure Machine Learning용 SDK 패키지 설치azureml.interpret를 참조하세요.

지원되는 모델 해석력 기술

책임 있는 AI 대시보드 및 azureml-interpret는 해석 모델을 학습하고 불투명 상자 AI 시스템을 설명할 수 있도록 하는 오픈 소스 Python 패키지인 Interpret-Community에서 개발된 해석 기술을 사용합니다. 불투명 상자 모델은 내부 작동에 대한 정보가 없는 모델입니다.

Interpret-Community는 지원되는 다음 설명자의 호스트 역할을 하며 현재 다음 섹션에서 제공하는 해석력 기술을 지원합니다.

Python SDK v2 및 CLI v2의 책임 있는 AI 대시보드에서 지원됨

해석력 기술 설명 Type
모방 설명자(전역 서로게이트) + SHAP 트리 모방 설명자는 불투명 상자 모델을 모방하도록 전역 서로게이트 모델을 학습한다는 아이디어를 기반으로 합니다. 전역 서로게이트 모델은 모든 불투명 상자 모델의 예측에 대해 최대한 정확한 근사치를 산출하도록 학습된, 본질적으로 해석이 가능한 모델입니다.

데이터 과학자는 서로게이트 모델을 해석하여 불투명 상자 모델에 대한 결론을 도출할 수 있습니다. 책임 있는 AI 대시보드는 트리와 트리 앙상블에 대한 특정 설명자인 SHAP(SHapley Additive exPlanations) 트리 설명자와 쌍을 이루는 LightGBM(LGBMExplainableModel)을 사용합니다. LightGBM과 SHAP 트리의 조합은 기계 학습 모델에 대한 모델에 구애받지 않는 전역 및 로컬 설명을 제공합니다.
모델 독립적

텍스트 모델에 대해 지원되는 모델 해석 기술

해석력 기술 설명 Type 텍스트 작업
SHAP 텍스트 SHAP(SHapley Additive exPlanations)는 지정된 예측에 대한 각 입력 기능의 기여도에 대한 인사이트를 제공하는 심층 신경망에 대한 널리 사용되는 설명 방법입니다. 이는 협동 게임에서 개별 플레이어에게 크레딧을 할당하는 방법인 Shapley 가치 개념을 기반으로 합니다. SHAP는 가능한 모든 기능 조합에서 모델 출력에 대한 각 기능의 평균 기여도를 계산하여 신경망의 입력 기능에 이 개념을 적용합니다. 특히 텍스트의 경우 SHAP는 계층적 방식으로 단어를 분할하여 각 단어나 토큰을 기능으로 처리합니다. 이는 지정된 예측에 대한 각 단어 또는 토큰의 중요도를 정량화하는 특성 값 집합을 생성합니다. 최종 특성 맵은 이러한 값을 원본 텍스트 문서에 대한 히트맵으로 시각화하여 생성됩니다. SHAP는 모델에 독립적인 방법이며 CNN, RNN 및 변환기를 포함한 광범위한 딥 러닝 모델을 설명하는 데 사용할 수 있습니다. 또한 일관성, 정확도, 공정성과 같은 몇 가지 바람직한 속성을 제공하므로 모델의 의사 결정 프로세스를 이해하는 데 신뢰할 수 있고 해석 가능한 기술이 됩니다. 모델 독립적 텍스트 다중 클래스 분류, 텍스트 다중 레이블 분류

이미지 모델에 대해 지원되는 모델 해석 기술

해석력 기술 설명 Type 비전 작업
SHAP 비전 SHAP(SHapley Additive exPlanations)는 지정된 예측에 대한 각 입력 기능의 기여도에 대한 인사이트를 제공하는 심층 신경망에 대한 널리 사용되는 설명 방법입니다. 이는 협동 게임에서 개별 플레이어에게 크레딧을 할당하는 방법인 Shapley 가치 개념을 기반으로 합니다. SHAP는 가능한 모든 기능 조합에서 모델 출력에 대한 각 기능의 평균 기여도를 계산하여 신경망의 입력 기능에 이 개념을 적용합니다. 특히 비전의 경우 SHAP는 이미지를 계층적 방식으로 분할하여 이미지의 슈퍼픽셀 영역을 각 기능으로 처리합니다. 이는 지정된 예측에 대한 각 슈퍼픽셀 또는 이미지 영역의 중요도를 정량화하는 특성 값 집합을 생성합니다. 최종 특성 맵은 이러한 값을 히트맵으로 시각화하여 생성됩니다. SHAP는 모델에 독립적인 방법이며 CNN, RNN 및 변환기를 포함한 광범위한 딥 러닝 모델을 설명하는 데 사용할 수 있습니다. 또한 일관성, 정확도, 공정성과 같은 몇 가지 바람직한 속성을 제공하므로 모델의 의사 결정 프로세스를 이해하는 데 신뢰할 수 있고 해석 가능한 기술이 됩니다. 모델 독립적 이미지 다중 클래스 분류, 이미지 다중 레이블 분류
단계별 역전파 단계별 역전파는 모델의 학습된 표현에 대한 인사이트를 제공하는 심층 신경망에 대한 널리 사용되는 설명 방법입니다. 입력 이미지에 대한 출력의 그라데이션을 계산하여 모델의 특정 뉴런을 활성화하는 입력 기능의 시각화를 생성합니다. 다른 그라데이션 기반 방법과 달리 단계별 역전파는 양의 그라데이션을 통해서만 역전파하고 음의 그라데이션이 시각화에 영향을 미치지 않도록 수정된 ReLU 활성화 함수를 사용합니다. 그 결과 지정된 예측에 대해 입력 이미지에서 가장 중요한 기능을 강조하는 보다 해석하기 쉽고 고해상도의 핵심 맵이 생성됩니다. 단계별 역전파는 CNN(나선형 신경망), RNN(순환 신경망) 및 변환기를 포함한 광범위한 딥 러닝 모델을 설명하는 데 사용할 수 있습니다. AutoML 이미지 다중 클래스 분류, 이미지 다중 레이블 분류
단계별 gradCAM 단계별 GradCAM은 모델의 학습된 표현에 대한 인사이트를 제공하는 심층 신경망에 대한 널리 사용되는 설명 방법입니다. 이는 단계별 역전파의 경사 기반 방식과 GradCAM의 지역화 방식을 결합하여 특정 출력 클래스에 가장 많이 기여하는 입력 기능의 시각화를 생성합니다. 구체적으로, 네트워크의 마지막 나선형 계층의 기능 맵과 관련하여 출력 클래스의 그라데이션을 계산한 다음 해당 클래스에 대한 활성화의 중요도에 따라 각 기능 맵에 가중치를 부여합니다. 이는 지정된 출력 클래스에 대해 입력 이미지의 가장 구별되는 영역을 강조하는 고해상도 히트맵을 생성합니다. 단계별 GradCAM은 CNN, RNN 및 변환기를 포함한 광범위한 딥 러닝 모델을 설명하는 데 사용할 수 있습니다. 또한 단계별 역전파를 통합함으로써 시각화가 의미 있고 해석 가능하도록 보장하여 가짜 활성화와 부정적인 기여를 방지합니다. AutoML 이미지 다중 클래스 분류, 이미지 다중 레이블 분류
통합 그라데이션 통합 그라데이션(Integrated Gradients)는 지정된 예측에 대한 각 입력 기능의 기여도에 대한 인사이트를 제공하는 심층 신경망에 대한 널리 사용되는 설명 방법입니다. 기본 이미지와 실제 입력 이미지 사이의 직선 경로를 따라 입력 이미지에 대한 출력 클래스의 그라데이션 정수를 계산합니다. 이 경로는 일반적으로 두 이미지 사이의 선형 보간으로 선택되며 기준은 핵심 기능이 없는 중립 이미지입니다. 이 경로를 따라 그라데이션을 통합함으로써 통합 그라데이션(Integrated Gradients)는 각 입력 기능이 예측에 어떻게 기여하는지에 대한 측정값을 제공하여 특성 맵을 생성할 수 있습니다. 이 맵은 가장 영향력 있는 입력 기능을 강조 표시하며 모델의 의사 결정 프로세스에 대한 인사이트를 얻는 데 사용할 수 있습니다. 통합 그라데이션은 CNN, RNN 및 변환기를 포함한 광범위한 딥 러닝 모델을 설명하는 데 사용할 수 있습니다. 또한 민감도, 구현 불변성, 완전성 등 일련의 바람직한 속성을 충족하는 이론적으로 근거가 있는 기술입니다. AutoML 이미지 다중 클래스 분류, 이미지 다중 레이블 분류
XRAI XRAI는 IG(Integrated Gradients)를 기반으로 하는 새로운 지역 기반 핵심 방법입니다. 이미지를 과도하게 분할하고 각 지역의 중요도를 반복적으로 테스트하여 특성 점수에 따라 더 작은 지역을 더 큰 세그먼트로 통합합니다. 이 전략은 기존 핵심 기술을 능가하는 고품질의 긴밀하게 경계가 지정된 핵심 영역을 생성합니다. XRAI는 일부 유사성 메트릭을 통해 입력 기능을 세그먼트로 클러스터링하는 방법이 있는 한 모든 DNN 기반 모델과 함께 사용할 수 있습니다. AutoML 이미지 다중 클래스 분류, 이미지 다중 레이블 분류
D-RISE D-RISE는 개체 감지 모델의 예측에 대한 시각적 설명을 만들기 위한 모델 독립적인 방법입니다. D-RISE는 개체 감지의 위치 파악 및 분류 측면을 모두 고려하여 감지기 예측에 가장 많이 기여하는 이미지 부분을 강조하는 핵심 맵을 생성할 수 있습니다. 그라데이션 기반 방법과 달리 D-RISE는 더 일반적이며 개체 감지기의 내부 작동에 액세스할 필요가 없습니다. 모델의 입력과 출력에만 액세스하면 됩니다. 이 방법은 1단계 감지기(예: YOLOv3), 2단계 감지기(예: Faster-RCNN) 및 비전 변환기(예: DETR, OWL-ViT)에 적용될 수 있습니다.
D-Rise는 입력 이미지의 임의 마스크를 만들어 핵심 맵을 제공하고 이를 입력 이미지의 임의 마스크와 함께 개체 감지기로 보냅니다. 개체 감지기 점수의 변화를 평가하여 각 마스크의 모든 검색을 집계하고 최종 핵심 맵을 생성합니다.
모델 독립적 개체 감지

Python SDK v1에서 지원됨

해석력 기술 설명 Type
SHAP 트리 설명자 SHAP 트리 설명자는 트리 및 트리 결합체에 특정되는 다항식 시간 고속 SHAP 값 예측 알고리즘에 중점을 둡니다. 모델별
SHAP 심층 설명자 SHAP의 설명을 기반으로 하는 심층 설명자는 SHAP NIPS 문서에 설명된 DeepLIFT와의 연결을 기반으로 하는 딥 러닝 모델의 SHAP 값에 대한 고속 근사값 알고리즘입니다. TensorFlow 백 엔드를 사용하는 TensorFlow 모델 및 keras 모델이 지원됩니다(PyTorch도 예비 단계로 지원됩니다)." 모델별
SHAP 선형 설명자 SHAP의 선형 설명자는 선형 모델에 대해 SHAP 값을 컴퓨팅하고, 필요에 따라 기능 간 상관관계를 고려합니다. 모델별
SHAP 커널 설명자 SHAP의 커널 설명자는 특별히 가중치가 적용된 로컬 선형 회귀를 사용하여 모든 모델에 대한 SHAP 값을 예측합니다. 모델 독립적
모방 설명자(전역 서로게이트) 모방 설명자는 불투명 상자 모델을 모방하도록 전역 서로게이트 모델을 학습한다는 아이디어를 기반으로 합니다. 전역 서로게이트 모델은 모든 불투명 상자 모델의 예측에 대해 최대한 정확한 근사치를 산출하도록 학습된, 본질적으로 해석이 가능한 모델입니다. 데이터 과학자는 서로게이트 모델을 해석하여 불투명 상자 모델에 대한 결론을 도출할 수 있습니다. LightGBM(LGBMExplainableModel), 선형 회귀(LinearExplainableModel), 추측 경사 하강 설명 모델(SGDExplainableModel) 또는 의사 결정 트리(DecisionTreeExplainableModel)의 4가지 해석 가능 모델 중 하나를 서로게이트 모델로 사용할 수 있습니다. 모델 독립적
순열 기능 중요도 설명자 PFI(순열 기능 중요도)는 Breiman의 랜덤 포리스트 논문(섹션 10 참조)에서 착안한 분류 및 회귀 모델을 설명하는 데 사용되는 기법입니다. 높은 수준에서 순열 기능 중요도는 전체 데이터 세트에 대해 한 번에 하나의 기능에 대한 데이터 순서를 무작위로 섞고 관심 성능 메트릭이 얼마나 변경되는지를 계산하는 방식으로 작동합니다. 변화가 클수록 해당 기능이 중요한 것입니다. PFI는 모든 기본 모델의 전체적인 동작을 설명할 수 있지만 개별 예측은 설명하지 않습니다. 모델 독립적

이전 섹션에서 설명한 해석성 기술 외에도 테이블 형식 설명자라는 다른 SHAP 기반 설명자를 지원합니다. 모델에 따라 테이블 형식 설명자는 지원되는 SHAP 설명자 중 하나를 사용합니다.

  • 모든 트리 기반 모델용 트리 설명자
  • DNN(심층 신경망) 모델용 심층 설명자
  • 선형 모델용 선형 설명자
  • 다른 모든 모델용 커널 설명자

또한 테이블 형식 설명자는 직접적인 SHAP 설명자에 비해 기능과 성능이 크게 향상되었습니다.

  • 초기화 데이터 세트 요약: 설명의 속도가 가장 중요한 경우 초기화 데이터 세트를 요약하고 작은 대표 샘플 집합을 생성합니다. 이 방식은 전체 및 개별 기능 중요도 값의 생성 속도를 높입니다.
  • 평가 데이터 집합 샘플링: 많은 평가 샘플 집합을 전달하지만 실제로 모든 샘플을 평가할 필요가 없는 경우 샘플링 매개 변수를 true로 설정하여 전체 모델 설명의 계산 속도를 높일 수 있습니다.

다음 다이어그램은 지원되는 설명자의 현재 구조체를 보여 줍니다.

 Diagram of Machine Learning Interpretability architecture.

지원되는 기계 학습 모델

SDK의 azureml.interpret 패키지는 다음 데이터 세트 형식으로 학습된 모델을 지원합니다.

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

설명 함수는 모델과 파이프라인 모두를 입력으로 수락합니다. 모델이 제공되면 Scikit 규칙을 준수하는 예측 함수 predict 또는 predict_proba를 구현해야 합니다. 모델이 이 기능을 지원하지 않는 경우 Scikit에서 predict 또는 predict_proba와 동일한 결과를 생성하는 함수로 모델을 래핑하고 선택한 설명자와 함께 해당 래퍼 함수를 사용할 수 있습니다.

파이프라인을 제공하는 경우 설명 함수는 실행 중인 파이프라인 스크립트가 예측을 반환한다고 가정합니다. 이 래핑 기술을 사용하는 경우 PyTorch, azureml.interpret TensorFlow, Keras 딥 러닝 프레임워크 및 클래식 기계 학습 모델을 통해 학습된 모델을 지원할 수 있습니다.

로컬 및 원격 컴퓨팅 대상

azureml.interpret 패키지는 로컬 및 원격 컴퓨팅 대상 모두에서 작동하도록 설계되었습니다. 패키지를 로컬로 실행하는 경우 SDK 함수는 Azure 서비스에 연결하지 않습니다.

Azure Machine Learning 컴퓨팅에 대한 설명을 원격으로 실행하고 설명 정보를 Azure Machine Learning 실행 기록 서비스에 기록할 수 있습니다. 해당 정보가 기록되면 설명의 보고서 및 시각화를 Azure Machine Learning 스튜디오에서 분석용으로 쉽게 사용할 수 있습니다.

다음 단계