앵커(Anchors) 설명은 해석 가능한 머신러닝에서 사용되는 기법으로, 블랙박스 모델이 내린 개별 예측에 대해 높은 정밀도를 가진 국소적 설명을 생성한다. 전체 모델을 설명하는 전역 설명과 달리, 앵커는 단일 인스턴스에 초점을 맞추어 "만약 나이가 30세 초과이고 소득이 50,000달러 초과이면, 예측은 승인이다"와 같은 간단한 if-then 규칙을 생성하며, 이 규칙은 해당 인스턴스 주변에서 높은 확률로 유지되도록 설계된다. 이 방법은 2018년 Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin이 제안했으며, 이들의 이전 연구인 LIME(Local Interpretable Model-agnostic Explanations)을 기반으로 한다. 앵커는 정밀성과 인간의 이해 용이성으로 특히 가치가 있으며, 금융 및 의료와 같은 고위험 영역에서 Machine learning 시스템을 감사하고 디버깅하는 실용적 도구로 사용된다.
앵커의 핵심 아이디어는 예측을 "고정"하는 규칙을 제공하는 것이다. 규칙의 조건이 충족되면 다른 특성이 변경되어도 예측은 동일하게 유지될 것으로 기대된다. 이는 국소 선형 모델을 적합시키고 불안정할 수 있는 LIME과 대조된다. 앵커는 강화 학습 기반 탐색을 사용하여 사용자가 지정한 정밀도 임계값(일반적으로 0.95 이상)을 유지하면서 커버리지(규칙이 적용되는 이웃 내 인스턴스 비율)를 최대화하는 규칙을 찾는다. 결과는 통계적 경계에 따라 국소 충실도를 보장하는 투명하고 인간이 읽을 수 있는 규칙이다.
공식 정의 및 정밀도
공식적으로, 앵커는 특성-값 조건의 논리곱(예: "특성1 = 값1 AND 특성2 > 값2")으로 구성된 규칙 A이다. 주어진 인스턴스 x와 블랙박스 모델 f에 대해, 규칙 A가 x에 적용되고 A의 정밀도가 임계값 τ 이상이면 A는 f(x)를 설명한다고 말한다. 정밀도는 A를 만족하는 모든 인스턴스 x'에 대해 f(x') = f(x)일 확률로 정의되며, 이 확률은 국소 이웃을 근사하는 섭동 분포에 대해 계산된다. 실제로 이 확률은 샘플링을 통해 추정되며, 알고리즘은 다중 팔 밴디트 접근 방식을 사용하여 후보 규칙을 효율적으로 탐색한다.
커버리지는 또 다른 핵심 지표로, 이웃에서 무작위로 섭동된 인스턴스가 A를 만족할 확률로 정의된다. 목표는 높은 정밀도(신뢰성 보장)와 가능한 한 높은 커버리지(규칙이 지나치게 좁지 않도록 보장)를 가진 규칙을 찾는 것이다. 알고리즘은 이 두 목표를 균형 있게 조정하며, 종종 다른 국소 설명기보다 더 간결한 규칙을 생성한다.
알고리즘 및 구현
Ribeiro와 동료들은 강화 학습 프레임워크를 사용하여 앵커를 구현했다. 여기서 상태는 현재 조건 집합이고, 행동은 규칙을 정제하기 위해 새 조건을 추가하는 것이다. 보상은 정밀도와 커버리지의 조합이며, 과도하게 복잡한 규칙에는 패널티가 부과된다. 탐색은 높은 정밀도 규칙을 생성할 가능성이 높은 조건을 학습하는 정책에 의해 안내되며, 탐색을 위해 UCB(Upper Confidence Bound) 알고리즘의 변형을 사용한다. 이는 고차원 데이터에서도 계산 효율성을 제공하지만, LIME과 같은 단순한 방법보다는 여전히 느릴 수 있다.
오픈 소스 구현은 anchor Python 패키지로 제공되며, 표 형식 및 텍스트 데이터를 모두 지원한다. 텍스트의 경우 앵커는 단어 존재 또는 부재에 기반한 규칙을 생성할 수 있다(예: "리뷰에 'not good'이 포함되면 감성은 부정적이다"). 이 패키지는 scikit-learn 모델과 통합되며, 범주형 및 연속형 특성을 처리할 수 있고, 연속형 특성은 규칙 생성 중에 구간으로 이산화된다.
LIME 및 SHAP와의 비교
앵커는 LIME의 한계에 대한 대응으로 개발되었다. LIME은 국소 선형 모델을 적합시키며 섭동 커널 선택에 민감할 수 있다. LIME의 설명은 종종 불안정하여 입력의 작은 변화가 설명의 급격한 변화를 초래할 수 있다. 앵커는 정의된 이웃 내에서 명시적으로 견고하도록 설계된 규칙을 제공하여 이 문제를 해결한다. 그러나 앵커는 가중 특성 중요도가 아닌 이진 규칙만 제공하므로, 국소 비선형 동작을 포착하는 데 있어 LIME보다 유연성이 떨어진다.
게임 이론적 특성 기여도를 제공하는 SHAP(SHapley Additive exPlanations)과 비교하면, 앵커는 다른 트레이드오프를 제공한다. SHAP 값은 가산적이며 예측에 합산될 수 있지만 직접적인 결정 규칙을 제공하지는 않는다. 앵커는 "이 예측이 유지되는 조건은 무엇인가?"를 알아야 하는 최종 사용자에게 더 실행 가능하지만, SHAP의 전역적 일관성은 부족하다. 실제로 실무자는 완전한 그림을 얻기 위해 앵커를 전역 방법과 함께 사용하는 경우가 많다.
고위험 영역에서의 응용
앵커는 모델 투명성이 중요한 다양한 영역에 적용되었다. 금융에서는 신용 점수 결정을 설명하여 대출 담당자가 신청이 거부된 이유를 이해하고 고객에게 전달할 수 있게 한다. 의료에서는 앵커가 모델이 높은 재입원 위험을 예측하는 이유를 명확히 하여 임상의의 의사 결정을 돕는다. 예를 들어, "환자가 당뇨병이 있고 나이가 65세 초과이면 예측 위험이 높다"와 같은 규칙이 있을 수 있다. 이러한 규칙은 원시 특성 가중치보다 도메인 지식에 대해 검증하기 쉽다.
이 방법은 자연어 처리에서 감성 분류기와 스팸 탐지기를 설명하는 데도 사용되었다. 예를 들어, 스팸 이메일에 대한 앵커는 "이메일에 'free'와 'click here'가 포함되면 스팸이다"일 수 있다. 이는 개발자가 허위 상관관계를 식별하고 모델 견고성을 개선하는 데 도움이 된다.
한계 및 비판
강점에도 불구하고 앵커에는 여러 한계가 있다. 정밀도 보장은 통계적이며 섭동 분포에 의존하는데, 이는 실제 데이터 변화를 완벽하게 반영하지 못할 수 있다. 이웃이 너무 좁게 정의되면 규칙이 일반화되지 않을 수 있고, 너무 넓게 정의되면 정밀도가 떨어질 수 있다. 탐색 알고리즘은 과도하게 복잡한 규칙을 생성할 수도 있지만, 보상 함수가 이를 패널티로 처리한다. 또한 앵커는 많은 상호작용 특성이 있는 고차원 공간에서 예측을 설명하는 데 적합하지 않으며, 규칙 공간이 기하급수적으로 증가하기 때문이다.
비판자들은 앵커가 다른 국소 방법과 마찬가지로 적대적 섭동에 의해 조작될 수 있다고 지적한다. 공격자는 규칙을 만족하지만 샘플링된 이웃 외부에서 다른 예측을 초래하는 입력을 만들 수 있다. 이는 더 견고한 설명 방법에 대한 연구를 촉발했지만, 앵커는 여전히 비교를 위한 기준선으로 남아 있다.
확장 및 변형
앵커를 개선하기 위한 여러 확장이 제안되었다. "커버리지 최적화 앵커"라는 변형은 탐욕 검색을 사용하여 정밀도를 유지하면서 커버리지를 최대화하는 데 초점을 맞춘다. 또 다른 확장은 앵커를 다중 클래스 분류에 적응시켜 각 클래스에 대한 규칙을 생성한다. 또한 앵커를 반사실적 설명에 사용하는 연구도 있으며, 여기서 규칙을 수정하여 예측을 변경할 수 있는 방법을 보여준다. 이러한 발전은 빠르게 진화하는 해석 가능한 AI 분야에서 앵커의 관련성을 유지하고 있다.
현대 Large language model의 맥락에서 앵커는 Transformer (architecture) 기반 모델의 예측을 설명하도록 적응되었지만, 고차원 임베딩 공간은 도전 과제를 제기한다. 연구자들은 앵커를 주의 기반 방법과 결합하여 더 인간 친화적인 설명을 제공하려고 시도했지만, 이는 여전히 활발한 연구 영역이다.
다른 해석 가능성 방법과의 관계
앵커는 LIME, SHAP, 반사실적 설명을 포함하는 더 넓은 국소 모델 불가지론적 설명 방법 계열에 속한다. 이는 특성 중요도나 부분 의존성 플롯과 같은 전역 방법과는 구별된다. 해석 가능성 분류에서 앵커는 "규칙 기반" 설명으로 간주되며, 의사 결정 트리와 유사하지만 국소적으로 생성된다. 이는 if-then 논리를 이해할 수 있는 비전문가 사용자에게 특히 유용하다.
앵커의 개발은 설명에 대한 더 엄격한 평가 지표의 생성과 같은 후속 연구에 영향을 미쳤다. MIT CSAIL 및 Stanford AI Lab의 연구자들은 앵커를 새로운 방법의 벤치마크로 인용했다. 이 방법은 또한 LIME 및 SHAP와 함께 해석 가능한 머신러닝 과정에서 가르쳐진다.
실용적 사용 및 도구
앵커를 사용하려면 실무자는 일반적으로 훈련된 모델과 데이터셋을 로드한 다음 관심 인스턴스로 앵커 설명기를 호출한다. 알고리즘은 정밀도 임계값과 추정을 위한 샘플 수를 지정해야 한다. 출력은 관련 정밀도 및 커버리지 추정치가 있는 규칙이다. anchor 패키지는 또한 읽기 쉬운 형식으로 규칙을 표시하는 시각화 도구를 제공한다. Python 3과 호환되며 pip를 통해 설치할 수 있다.
프로덕션 환경에서 앵커는 모델 동작 변화를 플래그하기 위해 모니터링 파이프라인에 통합될 수 있다. 예를 들어, 규칙의 정밀도가 시간이 지남에 따라 떨어지면 데이터 드리프트를 나타낼 수 있다. 이는 MLOps 및 모델 거버넌스에 대한 강조가 증가하는 것과 일치한다.
미래 방향
설명 가능한 AI 분야는 진화하고 있으며, 앵커는 국소 및 전역 관점을 결합한 더 정교한 방법으로 대체될 가능성이 있다. 그러나 높은 정밀도 규칙의 핵심 원칙은 여전히 가치가 있다. Generative AI 모델이 더 보편화됨에 따라 비정형 데이터를 처리할 수 있는 설명 방법이 필요하며, 앵커는 Neural network의 임베딩과 함께 작동하도록 확장될 수 있다. 연구자들은 또한 실제 배포의 핵심 과제인 분포 변화에 대한 앵커의 견고성을 개선하는 방법을 탐구하고 있다.
요약하면, 앵커는 개별 예측을 설명하는 실용적이고 인간이 이해할 수 있는 방법을 제공하며, 단순한 선형 근사와 복잡한 전역 모델 사이의 틈새를 채운다. 정밀도에 대한 강조는 중요한 응용 분야에서 신뢰할 수 있는 선택이 되게 하며, 알고리즘 혁신은 해석 가능성 도구의 세대에 영감을 주었다.