This Looks Like That: Deep Learning for Interpretable Image Recognition

Digest (CISELQ)

  • Context: 이미지 분류에서 post-hoc 설명(LIME, Grad-CAM 등)은 사후적 근사일 뿐, 모델의 실제 추론 경로를 보장하지 못한다. 조류 전문가처럼 “이 부리는 저 참조 이미지의 부리처럼 생겼다”고 말하며 판단하는 case-based reasoning을 딥 네트워크 내부에 내재화할 수 있는가?
  • Issue: 기존 attention 기반 방법은 “어디”를 보는지는 알려주지만 “무엇과 비슷해서” 그렇게 판단했는지를 드러내지 못한다. 해석 가능한 prototype 기반 네트워크(Li et al. 2018)는 전체 이미지 단위 prototype을 사용하여 세밀한 part-level 비교에는 부적합했다.
  • Solution: ProtoPNet을 제안하여 CNN 백본(VGG/ResNet/DenseNet) 위에 prototype layer를 두고, 각 클래스에 할당된 개의 prototype (작은 patch)을 학습한다. 입력의 convolutional feature map에서 각 prototype과 가장 가까운 patch를 찾아 similarity score를 계산하고, 이를 fully-connected classifier로 취합한다.
  • Evaluation: CUB-200-2011 조류 fine-grained 분류와 Stanford Cars 분류에서 평가. prototype을 가장 가까운 학습 이미지 patch로 projection하여 시각화하고, 정확도와 해석 가능성을 함께 측정.
  • Limitation: prototype 개수와 class-to-prototype 할당이 하이퍼파라미터이며, 학습된 prototype이 항상 의미론적으로 일관된 part에 대응한다는 보장은 없다. Fine-grained 도메인 외 일반 ImageNet 규모에서의 검증은 제한적.
  • Question: prototype이 인간이 인식하는 “의미 있는 부위”와 실제로 얼마나 일치하는가? prototype 기반 설명이 사용자의 신뢰와 의사결정에 미치는 영향은?

섹션별 요약

Introduction

딥러닝의 블랙박스 문제를 해결하기 위해 저자들은 “This bird looks like that bird because this part looks like that prototypical part”라는 인간 친화적 추론 방식을 제안한다. Post-hoc 해석의 한계를 지적하며, 모델 구조 자체에 해석 가능성을 내장한 built-in interpretability 방향을 강조한다.

Methods

네트워크는 (1) CNN feature extractor , (2) prototype layer , (3) fully-connected layer 로 구성된다. prototype layer는 각 prototype 와 feature map의 모든 patch 사이 L2 거리를 계산하고 로 유사도 점수로 변환한다. 학습은 (a) SGD로 last layer 제외 학습, (b) prototype을 가장 가까운 동일 클래스 학습 patch에 projection, (c) last layer convex optimization의 세 단계를 반복한다.

Results

  • CUB-200-2011에서 VGG19 기반 ProtoPNet은 약 76.1% 정확도, 3개 모델 앙상블 시 **80.8%**로 비해석 모델과 동등.
  • Stanford Cars에서도 baseline CNN 대비 유의미한 성능 저하 없이 prototype 기반 설명 제공.
  • Table: 주요 결과
DatasetBackboneProtoPNet AccNon-interpretable Baseline
CUB-200-2011VGG1976.1%76.1%
CUB-200-2011ResNet3479.2%79.4%
CUB-200-2011Ensemble80.8%~82%
Stanford CarsVGG1986.1%~86%

Discussion

prototype projection 덕분에 각 prototype은 실존하는 학습 이미지 patch에 대응되어 설명이 구체적이다. cluster loss와 separation loss의 균형이 분류 성능과 prototype 다양성 모두에 중요.

Insights

  • 해석 가능성과 정확도는 trade-off가 아니라 구조적 설계로 동시에 달성 가능.
  • prototype 기반 추론은 fine-grained classification에 특히 자연스럽다.

Discussion Points

  • prototype 수 의 최적값 결정
  • prototype이 배경/맥락이 아닌 객체 부위를 잡도록 하는 정규화
  • 일반 domain(ImageNet, medical)으로의 확장

메타데이터

FieldValue
AuthorsChen, Li, Tao, Barnett, Rudin, Su
VenueNeurIPS 2019
Year2018 (arXiv) / 2019 (NeurIPS)
Codegithub.com/cfchen-duke/ProtoPNet
DatasetsCUB-200-2011, Stanford Cars

왜 이 연구를 하는가?

의료·법률·고위험 영역에서 블랙박스 예측은 채택 장벽이 크다. Rudin(2019)은 “Stop explaining black boxes”를 주장하며 inherently interpretable 모델이 필수라고 역설했다. 본 연구는 그 계보에서 case-based reasoning을 CNN에 통합해 정확도를 포기하지 않고도 인간 전문가의 진단 방식을 모사한다. 특히 조류학·의학 영상처럼 “비슷한 사례”를 근거로 판단하는 분야에서 직관적 가치를 갖는다.

방법 (Method)

flowchart LR
    A[Input Image x] --> B[CNN Backbone f]
    B --> C[Conv Feature Map HxWxD]
    C --> D[Prototype Layer g_p]
    D -->|L2 distance to p_j| E[Similarity Scores m-dim]
    E --> F[FC Layer h class weights]
    F --> G[Logits / Prediction]
    D -.projection.-> H[(Training patches)]
    H -.replace p_j.-> D

손실함수:

  • Cluster: 같은 클래스 학습 이미지에 최소 거리 prototype이 가까워지도록
  • Separation: 다른 클래스 이미지에서는 prototype이 멀어지도록
  • Last layer L1 regularization으로 class-prototype 연결을 희소화

발견

FindingEvidenceImpact
prototype projection으로 실제 patch 시각화CUB-200-2011 정성 예시설명이 검증 가능하고 구체적
비해석 CNN과 동등 정확도VGG/ResNet/DenseNet 백본 전반해석성-정확도 trade-off 부재
앙상블로 SOTA 근접CUB 80.8%실용 배포 가능성
class-prototype 희소 연결L1 정규화 last layer최종 결정 근거가 소수 prototype에 집중

이론적 의의

ProtoPNet은 “해석 가능성은 내재적 구조에서 나와야 한다”는 철학을 실증한 대표 사례다. prototype layer는 metric learning + nearest neighbor reasoning을 미분 가능한 형태로 통합했으며, 이후 ProtoTree, Deformable ProtoPNet, ProtoPool 등 prototype 계열 XAI 연구의 출발점이 되었다. case-based reasoning과 deep representation learning의 접점을 제시한다는 점에서 인지과학적 모델과도 연결된다.

재현성 및 신뢰도 평가

기준평가근거
코드 공개A공식 PyTorch 구현 공개
데이터 접근성ACUB, Stanford Cars 공개
하이퍼파라미터 명시A, prototype 수 등 기재
재현 보고A다수 후속 연구에서 재현 확인
통계적 엄밀성B다중 seed 분산 보고는 제한적
종합A신뢰 가능한 baseline

관련 연구

원자적 인사이트

  1. 내재적 해석성의 실증: 해석 가능성을 사후 근사가 아닌 아키텍처 수준에서 확보해도 fine-grained 분류 정확도는 유지된다. 이는 “정확도-해석성 trade-off”가 필연이 아님을 보여준다.
  2. projection이 곧 설명 검증: prototype을 실제 학습 patch로 치환하는 단계는 설명을 “가상 특징”이 아닌 “검증 가능한 참조 사례”로 만든다. 이는 XAI의 falsifiability 기준에 부합한다.
  3. 희소 class-prototype 연결의 가치: L1 정규화로 last layer를 희소화하면 예측 하나가 몇 개 prototype에만 의존하므로 사용자가 추적 가능한 설명 체인이 짧아진다.

핵심 용어 정리

  • Prototype: 클래스를 대표하는 학습된 feature patch( 또는 그 이상), 학습 후 실제 이미지 patch로 projection.
  • Prototype Layer: 입력 feature map과 모든 prototype 간 유사도를 산출하는 레이어.
  • Cluster Loss: 같은 클래스 이미지가 자기 class prototype과 가까워지게 하는 손실.
  • Separation Loss: 다른 클래스 prototype과는 멀어지게 하는 손실.
  • Projection: prototype 파라미터를 가장 가까운 동일 클래스 학습 patch로 교체하여 시각적 설명을 확보하는 단계.
  • Case-Based Reasoning: 과거 사례와의 유사성에 근거해 새로운 사례를 판단하는 추론 방식.

XAI Interpretability PrototypeLearning CaseBased NeurIPS2019 FineGrainedClassification ProtoPNet