6.3 Prototypes and Criticisms
Prototypes and Criticisms
프로토타이프는 모든 데이터를 대표하는 데이터 인스턴스입니다. 비판은 프로토타입 세트로 잘 표현되지 않는 데이터 인스턴스입니다. 비판의 목적은 프로토타입과 함께 통찰력을 제공하는 것입니다. 특히 프로토타입이 잘 표현되지 않는 데이터 포인트에 대해서는 더욱 그렇습니다. 프로토타입과 비평은 기계 학습 모델과 독립적으로 사용하여 데이터를 설명할 수 있지만, 해석 가능한 모델을 만들거나 블랙 박스 모델을 해석할 수도 있습니다.
이 장에서는 “데이터 점”이라는 표현식을 사용하여 단일 인스턴스를 가리키며 각 피쳐가 치수인 좌표계의 점이기도 한다는 해석을 강조합니다. 다음 그림은 시뮬레이션된 데이터 배포를 보여 주며, 일부 인스턴스는 프로토타입으로 선택되고 일부는 비평으로 선택됩니다. 데이터, 프로토타입의 큰 점, 비평의 큰 사각형 등이 작은 부분입니다. 데이터 배포의 중심을 다루기 위해 프로토타입을 선택(수동으로)하고, 프로토타입이 없는 클러스터의 포인트가 됩니다. 프로토타입과 비평은 항상 데이터에서 실제의 예이다.
그림 6.9: x1과 x2의 두 가지 기능을 갖춘 데이터 배포의 프로토타입과 비평입니다.
프로토타입을 수동으로 선택했는데, 확장성이 좋지 않아 결과가 좋지 않을 수 있습니다. 데이터에서 프로토타입을 찾는 방법은 여러 가지가 있습니다. 그 중 하나는 k-평균 알고리즘과 관련된 클러스터링 알고리즘인 k-매체이다. 실제 데이터 지점을 클러스터 센터로 반환하는 모든 클러스터링 알고리즘은 프로토타입을 선택할 수 있습니다. 하지만 이런 방법들은 대부분 프로토타입만 찾지만 비난은 받지 않습니다. 본 장에서는 프로토타입과 비평이 하나의 프레임워크로 결합된 접근방식인 Kim et al. (2016)1의 MMD-britic을 소개합니다.
MMD-비판에서는 데이터의 분포와 선택한 프로토타입의 분포를 비교합니다. 이것은 MMD-비판 방법을 이해하기 위한 중심 개념입니다. MMD-britic은 두 분포 사이의 불일치를 최소화하는 프로토타입을 선택합니다. 특히 다른 “데이터 클러스터”에서 점을 선택한 경우 밀도가 높은 영역의 데이터 포인트는 좋은 프로토타입입니다. 프로토타입에서 잘 설명되지 않는 영역의 데이터 포인트를 비평으로 선택합니다.
그 이론에 대해 좀 더 깊이 연구해 보겠습니다.
이론
높은 수준의 MMD 비판 절차는 다음과 같이 간단히 요약할 수 있습니다.
- 찾고자 하는 프로토타입과 비평의 수를 선택합니다.
- 탐욕스러운 검색으로 시제품을 찾습니다. 프로토타입은 프로토타입의 분포가 데이터 분포에 근접하도록 선택됩니다.
- 탐욕스러운 검색으로 비판을 찾습니다. 프로토타입의 분포가 데이터의 분포와 다를 경우 지적사항으로 선택됩니다.
우리는 MMD 비평이 있는 데이터 세트에 대한 시제품과 비판을 찾기 위해 몇 가지 재료가 필요합니다. 가장 기본적인 성분으로 데이터 밀도를 추정하려면 커널 함수가 필요합니다. 커널은 근접성에 따라 두 개의 데이터 포인트의 무게가 나가는 함수이다. 밀도 추정치를 바탕으로 우리가 선택한 프로토타입의 분포가 데이터 분포에 가까운지 여부를 판단할 수 있도록 두 분포가 얼마나 다른지 알려주는 척도가 필요합니다. 이 문제는 최대 평균 불일치(MMD)를 측정하여 해결합니다. 또한 커널 기능에 기반하여 특정 데이터 지점에서 두 배포가 얼마나 다른지 알려주기 위해 witness 기능*이 필요합니다. 목격자 기능을 사용하면 비판, 즉 프로토타입과 데이터의 분포가 분산되고 목격자 기능이 큰 절대값을 차지하는 데이터 지점을 선택할 수 있습니다. 마지막 요소는 우수한 프로토타입과 비평에 대한 검색 전략이며, 간단한 **그리디 검색으로 해결됩니다.
먼저 두 분포 간의 차이를 측정하는 최대 평균 불일치(MMD)로 시작합니다. 프로토타입을 선택하면 프로토타입의 밀도 분포가 형성됩니다. 우리는 프로토타입 배포가 데이터 배포와 다른지 여부를 평가하고자 합니다. 우리는 커널 밀도 함수를 사용하여 둘 다 추정합니다. 최대 평균 불일치는 두 분포 사이의 차이를 측정합니다. 이 분포는 두 분포에 따른 기대치 사이의 차이 함수 공간에 대한 우위입니다. 알겠죠? 개인적으로, 저는 데이터로 어떤 것이 어떻게 계산되는지 볼 때 이러한 개념을 훨씬 더 잘 이해합니다. 다음 공식은 제곱 MMD 측정(MMD2)을 계산하는 방법을 보여줍니다.
\[MMD^2=\frac{1}{m^2}\sum_{i,j=1}^m{}k(z_i,z_j)-\frac{2}{mn}\sum_{i,j=1}^{m,n}k(z_i,x_j)+\frac{1}{n^2}\sum_{i,j=1}^n{}k(x_i,x_j)\]k는 두 점의 유사성을 측정하는 커널 함수이지만, 나중에 이것에 대해 더 많이 측정한다. m은 프로토타입 z의 수이며, n은 원래 데이터 세트에 있는 데이터 지점의 수 x입니다. 프로토타입 z는 일련의 데이터 지점 x입니다. 각 점은 다차원적입니다. 즉, 여러 가지 특징을 가질 수 있습니다. MMD 비판의 목표는 MMD2를 최소화하는 것입니다. MMD2가 0에 가까울수록 프로토타입의 분포가 데이터에 더 잘 맞습니다. MMD2를 0으로 낮추기 위한 핵심은 중간에 있는 용어로서, 프로토타입과 다른 모든 데이터 지점 사이의 평균 근접도를 계산합니다(승수 2). 이 용어가 첫 번째 용어(시제품의 평균 근접도)와 마지막 용어(데이터가 서로 평균 근접도)를 합하면 시제품이 데이터를 완벽하게 설명합니다. 모든 n개의 데이터 점을 프로토타입으로 사용할 경우 공식에 어떤 변화가 일어나는지 시험해 봅니다.
다음 그림은 MMD2 측정을 보여 줍니다. 첫 번째 그림은 두 가지 피쳐로 데이터 점을 보여 주며, 데이터 밀도의 추정치는 음영 처리된 배경과 함께 표시됩니다. 다른 그림 각각은 그림 제목에 있는 MMD2 측정치와 함께 다양한 프로토타입을 보여줍니다. 프로토타입은 큰 점이며 분포는 등고선으로 표시됩니다. 이러한 시나리오(왼쪽 아래)에서 데이터를 가장 잘 다루는 프로토타입의 선택은 가장 낮은 불일치 값을 가집니다.
그림 6.10: The squared maximum mean discrepancy measure (MMD2) for a dataset with two features and different selections of prototypes.
커널의 선택은 방사형 기본 함수 커널입니다.
\[k(x,x^\prime)=exp\left(-\gamma||x-x^\prime||^2\right)\]여기서 ||x-x’|^2^는 두 지점 사이의 유클리드 거리이고 $\감마$는 스케일링 파라미터이다. 커널 값은 두 지점 사이의 거리에 따라 감소하며 0과 1 사이의 범위는 다음과 같습니다. 두 점이 무한히 멀리 떨어져 있을 때 0입니다. 1은 두 점이 같을 때 사용합니다.
MMD2 측정값, 커널 및 탐욕스러운 검색을 시제품을 찾기 위한 알고리즘으로 결합합니다.
- 빈 시제품 목록으로 시작합니다.
- 프로토타입의 수가 선택된 숫자 m보다 작습니다.
- 데이터 세트의 각 포인트에 대해, 포인트가 프로토타입 목록에 추가될 때 MMD2가 얼마나 감소하는지 확인합니다. MMD2를 최소화하는 데이터 지점을 목록에 추가합니다.
- 프로토타입 목록을 반환합니다.
비판을 발견하는 데 남은 요소는 증인 기능입니다. 이것은 우리에게 특정한 시점에서 두 개의 밀도 추정치가 얼마나 다른지 알려줍니다. 다음을 사용하여 추정할 수 있습니다.
\[witness(x)=\frac{1}{n}\sum_{i=1}^nk(x,x_i)-\frac{1}{m}\sum_{j=1}^mk(x,z_j)\]두 개의 데이터 세트(동일한 기능 포함)의 경우, 감시 기능은 점 x가 더 잘 맞는 경험적 분포를 평가할 수 있는 수단을 제공합니다. 비판을 찾기 위해, 우리는 부정적인 방향과 긍정적인 방향으로 증인 기능의 극단적인 가치를 찾습니다. 목격자 기능의 첫 번째 항은 점 x와 데이터 사이의 평균 근접성이고, 두 번째 항은 점 x와 프로토타입 사이의 평균 근접성입니다. 점 x에 대한 감시 기능이 0에 가까울 경우 데이터와 프로토타입의 밀도 함수가 서로 밀접하므로 프로토타입의 분포는 점 x의 데이터 분포와 유사합니다. 지점 x에서 부증인 함수는 프로토타입 분포가 데이터 분포를 과대평가한다는 것을 의미합니다(예: 프로토타입을 선택했지만 근처에 데이터 지점만 있는 경우). 지점 x에서의 양의 목격자 함수는 프로토타입 분포가 데이터 분포를 과소평가한다는 것을 의미합니다(예: x 주위에 많은 데이터 점이 있지만 근처에 프로토타입을 선택하지 않은 경우).
좀 더 직관적으로 설명드리기 위해, 미리 플롯의 프로토타입을 최저 MMD2로 재사용하고 수동으로 선택한 몇 가지 포인트에 대한 증인 기능을 보여드리겠습니다. 다음 그림의 레이블은 삼각형으로 표시된 다양한 점에 대한 증인 함수 값을 나타냅니다. 가운데의 점만이 절대적 가치가 높기 때문에 비판의 좋은 후보이다.
그림 6.11: Evaluations of the witness function at different points.
감시 기능을 사용하면 프로토타입으로 잘 표현되지 않는 데이터 인스턴스를 명시적으로 검색할 수 있습니다. 비판은 증인 기능에서 절대값이 높은 포인트이다. 프로토타입처럼 탐욕스러운 검색을 통해서도 비판이 발견됩니다. 그러나 전체적인 MMD2를 축소하는 대신, 증인기능과 정기적인 기간을 포함하는 비용기능을 극대화하는 포인트를 찾고 있습니다. 최적화 기능의 추가 용어는 포인트의 다양성을 적용하며, 포인트가 서로 다른 클러스터에서 제공되도록 필요한 용어입니다.
이 두 번째 단계는 프로토타입을 찾는 방법과 무관합니다. 저는 또한 몇 가지 프로토타입을 손으로 골라 여기에 설명된 절차를 사용하여 비판을 배울 수도 있었습니다. 또는 K-미디어와 같은 모든 클러스터링 절차에서 프로토타입을 얻을 수 있습니다.
그것이 바로 MMD-비판 이론의 중요한 부분들입니다. 한 가지 질문이 남아 있습니다. MMD-비판을 해석 가능한 기계 학습에 사용할 수 있는 방법은 무엇입니까?
MMD 비판은 다음과 같은 세 가지 방법으로 해석성을 추가할 수 있습니다. 데이터 분포를 보다 잘 이해할 수 있도록 도와줍니다. 해석 가능한 모델을 작성합니다. 블랙 박스 모델을 해석할 수 있도록 합니다.
데이터에 MMD-Britic을 적용하여 프로토타입과 비판을 찾는 경우, 특히 엣지 케이스와 함께 복잡한 데이터 배포를 수행하는 경우 데이터에 대한 이해도가 향상됩니다. 하지만 MMD-비판만 있으면 더 많은 것을 이룰 수 있습니다!
예를 들어 해석 가능한 예측 모델(“가장 가까운 프로토타입 모델”)을 생성할 수 있습니다. 예측 함수는 다음과 같이 정의됩니다.
\[\hat{f}(x)=argmax_{i\in{}S}k(x,x_i)\]즉, 새로운 데이터 포인트에 가장 근접한 프로토타입 S 세트에서 프로토타입 i를 선택하면 커널 기능의 최고 가치를 얻을 수 있습니다. 프로토타입 자체가 예측에 대한 설명으로 반환됩니다. 이 절차에는 세 가지 튜닝 매개 변수가 있습니다. 커널 유형, 커널 스케일링 매개 변수 및 프로토타입 개수입니다. 모든 파라미터는 교차 검증 루프 내에서 최적화할 수 있습니다. 비판은 이 접근법에 사용되지 않습니다.
세 번째 옵션으로는 MMD를 사용하여 모델 예측과 함께 프로토타입과 비판을 검토하여 기계 학습 모델을 전체적으로 설명할 수 있습니다. 절차는 다음과 같습니다.
- MMD-비판을 통해 프로토타입과 비판을 찾습니다.
- 기계 학습 모델을 평소와 같이 교육합니다.
- 기계 학습 모델을 통해 프로토타입의 결과와 비판을 예측할 수 있습니다.
- 예측을 분석합니다. 어떤 경우에 알고리즘이 잘못되었습니까? 이제 데이터를 잘 나타내고 기계 학습 모델의 약점을 찾는 데 도움이 되는 여러 가지 예를 들 수 있습니다.
그게 어떻게 도움이 되죠? 구글의 이미지 분류기가 흑인을 고릴라로 지목한 것을 기억하나요? 이미지 인식 모델을 배포하기 전에 여기에 설명된 절차를 사용했어야 합니다. 모델의 성능을 확인하는 것만으로는 충분하지 않습니다. 99% 정확하다면 이 문제는 여전히 1%에 있을 수 있기 때문입니다. 그리고 라벨도 틀릴 수 있어요! 모든 교육 데이터를 검토하고 예측에 문제가 있는 경우 무결성 검사를 수행하면 문제가 발견될 수 있지만 불가능할 수 있습니다. 하지만, 수천 개의 프로토타입과 비평은 실현가능하며, 데이터의 문제점을 드러낼 수 있었습니다. 피부색이 어두운 사람의 이미지가 부족하다는 것을 보여주었을 수 있으며, 이는 데이터 세트의 다양성에 문제가 있음을 나타냅니다. 또는 검은 피부를 가진 사람의 이미지를 하나 이상 원형으로서 보여주거나 악명 높은 “고릴라” 분류를 가진 비평으로서 보여줄 수도 있었습니다. 나는 MMD 비난이 확실히 이러한 종류의 실수를 가로챌 것이라고 약속하지는 않지만, 그것은 훌륭한 정신력 검사이다.
예시
저는 MMD 비판 신문에서 그 예들을 가져왔습니다. 두 애플리케이션 모두 이미지 데이터셋을 기반으로 합니다. 각 이미지는 2048 치수의 이미지 임베딩으로 표현되었습니다. 이미지 임베딩은 이미지의 추상적 특성을 캡처하는 숫자를 가진 벡터입니다. 임베딩 벡터는 일반적으로 이미지 인식 작업을 해결하도록 훈련된 신경 네트워크에서 추출됩니다. 이 경우 ImageNet 과제를 해결합니다. 영상 사이의 커널 거리는 이러한 내장 벡터를 사용하여 계산되었습니다.
첫 번째 데이터 세트에는 ImageNet 데이터 세트와 다른 개 품종이 포함되어 있습니다. MMD-비판(MMD-Britic)은 두 개의 개 품종 클래스의 데이터에 적용됩니다. 왼쪽의 개들과 함께, 프로토타입은 보통 개의 얼굴을 보여주는 반면, 비판은 개의 얼굴이 없거나 다른 색깔의 이미지이다. 오른쪽의 프로토타입에는 개의 야외 이미지가 포함되어 있습니다. 그 비판에는 의상을 입은 개들과 다른 특이한 사건들이 포함되어 있습니다.
그림 6.12: ImageNet 데이터 세트에서 두 가지 유형의 도그에 대한 시제품과 비판이 제공됩니다.
MMD 비판의 또 다른 그림에서는 손으로 쓴 숫자 데이터 세트를 사용합니다.
실제 프로토타입과 비판을 보면 숫자당 이미지 수가 다르다는 것을 알 수 있습니다. 이는 클래스당 고정 번호가 아닌 전체 데이터셋에서 고정된 수의 프로토타입과 비평이 검색되었기 때문입니다. 예상대로, 프로토타입은 숫자를 쓰는 다른 방법을 보여줍니다. 비판에는 비정상적으로 굵은 선 또는 얇은 선이 있지만 인식할 수 없는 숫자도 포함됩니다.
그림 6.13: Prototypes and criticisms for a handwritten digits dataset.
장점
사용자 연구에서 MMD 비판의 저자들은 참가자들에게 이미지를 주었습니다. 그들은 각각 두 개의 클래스 중 하나를 나타내는 두 개의 이미지 세트 중 하나와 시각적으로 일치시켜야 했습니다. 참가자는 세트가 클래스의 랜덤 이미지 대신 프로토타입과 비평을 보여줄 때 가장 좋은 성과를 보였습니다.
시제품 수와 비평을 자유롭게 선택할 수 있습니다.
MMD-비판에서는 데이터의 밀도 추정치를 사용합니다. 이 는 모든 유형의 데이터 및 모든 유형의 기계 학습 모델과 함께 작동합니다.
알고리즘은 **을 구현하기 쉽습니다.
MMD 비판은 해석성을 높이기 위해 사용되는 방식에 있어서 매우 유연합니다. 복잡한 데이터 분포를 이해하는 데 사용할 수 있습니다. 해석 가능한 기계 학습 모델을 구축하는 데 사용할 수 있습니다. 또는 블랙박스 기계 학습 모델의 의사결정을 밝혀줄 수도 있습니다.
비판 찾기는 프로토타입 선택 프로세스와 무관합니다. 그러나 MMD 비판에 따라 프로토타입을 선택하는 것은 타당합니다. 그러면 프로토타입과 비평은 모두 프로토타입과 데이터 밀도를 비교하는 동일한 방법을 사용하여 생성되기 때문입니다.
단점
수학적으로 프로토타입과 비평은 다르게 정의되지만, 멸종은 컷오프 값(시제품 수)을 기반으로 합니다. 데이터 분포를 처리할 프로토타입 수가 너무 적다고 가정합니다. 그 비판들은 그렇게 잘 설명되지 않은 영역으로 끝날 것입니다. 하지만 더 많은 프로토타입을 추가한다면 같은 영역에 이르게 될 것입니다. 비평은 기존 프로토타입과 프로토타입 개수에 대한 (임의) 컷오프 값에 크게 좌우된다는 점을 고려해야 합니다.
시제품 수와 비평을 선택해야 합니다. 이것이 좋은 물건이 될 수 있는 만큼, 그것 또한 단점입니다. 실제로 몇 개의 시제품과 비평이 필요합니까? 많으면 많을수록 좋습니까? 적으면 적을수록 좋습니까? 한 가지 해결책은 특정 애플리케이션에 따라 달라지는 이미지를 보는 작업에 인간이 얼마나 많은 시간을 가지고 있는지를 측정하여 프로토타입과 비평의 수를 선택하는 것입니다. MMD-비판을 사용하여 분류기를 제작할 때만 이를 직접 최적화할 수 있는 방법이 있습니다. 한 가지 해결책은 X축의 프로토타입 수와 Y축의 MMD2 측정값을 보여주는 섬광일 수 있습니다. 우리는 MMD2 곡선이 평평해지는 프로토타입의 수를 선택할 것입니다.
다른 매개 변수는 커널과 커널 스케일링 매개 변수의 선택입니다. 프로토타입 수와 비평 수에도 동일한 문제가 있습니다. 커널 및 커널 스케일링 매개 변수를 선택하는 방법은 무엇입니까? 다시, MMD-britic을 가장 가까운 프로토타입 분류기로 사용할 때 커널 파라미터를 조정할 수 있습니다. 그러나, MMD 비평의 감독되지 않은 사용 사례에 대해서는 명확하지 않습니다. (아마도 저는 감독되지 않은 모든 방법에는 이런 문제가 있기 때문에, 여기서는 좀 가혹할 것입니다.)
모든 기능을 입력으로 사용하며, *일부 기능이 관심 결과를 예측하는 데 관련이 없을 수 있다는 사실을 무시합니다. 한 가지 해결 방법은 원시 픽셀 대신 영상 내장 등 관련 기능만 사용하는 것입니다. 이는 관련 정보만 포함하는 표현에 원래 인스턴스를 투영할 수 있는 한 작동합니다.
일부 코드를 사용할 수 있지만 아직 제대로 패키지화되고 문서화된 소프트웨어처럼 구현되지 않았습니다.
코드 및 대안책
An implementation of MMD-critic can be found here: https://github.com/BeenKim/MMD-critic.
The simplest alternative to finding prototypes is k-medoids by Kaufman et. al (1987).2