1day_1paper icon indicating copy to clipboard operation
1day_1paper copied to clipboard

[72] Similarity of Neural Network Representations Revisited (CKA)

Open dhkim0225 opened this issue 3 years ago • 0 comments

CCA가 다변수 상황에서 similarity 를 측정할 수 있지만, invertible linear transform 에 invariant 하기 때문에 data-point 의 수보다 더 높은 차원의 representation 에서는 잘 동작하지 못함. CKA (Centered Kernel Alignment) 를 representation 끼리의 relation measurement 에 사용함.

paper youtube - ML explained - author's presentation ppt

사전지식

Centering Matrix

centering matrix 란, identity matrix $I_n$ 에서 1로 가득찬 J 행렬 에 scaling 을 해서 뺀 matrix다 image 예를 들면, 다음과 같다. image

centering matrix 는 symmetric 하고, idempotent 하다 idempotent matrix (멱등행렬) 는 자기 자신을 제곱해도 자신이 나오는 행렬이다.

Centering matrix $C_m$, $C_n$ 이 있다고 해보자. X matrix 양쪽에 C를 곱함으로 써 ( $C_mXC_n$ ) centering 을 수행할 수 있다. $C_m$ 을 왼쪽에다가 곱한다는 건, $C_mX$ 의 칼럼 값들의 평균을 0으로 만들어주겠다는 소리고, $C_n$ 을 오른쪽에다가 곱하는건, row 값들의 평균을 0으로 만들어주겠다는 소리다.

Hilbert-Schmidt Independence Criterion

두 random variable 이 독립인지 테스트할 때 써먹기 좋다.

random variable A 와 B 가 있을 때, Cov(A, B) = 0 이 독립을 의미하지는 않는다. 모든 bounded continuous function st 에 대해서, Cov(s(A), t(B)) = 0 이 성립하는게 독립이라고 한다. 59년 논문 이야긴데, 나도 잘 모르겠다...

2005년 NIPS gretton et al 에서는 모든 bounded continuous function들을 본다는 건 tractable 하지 않기 때문에, universal Reproducing Kernel Hilbert Spaces (RKHS) F, G 의 s, t 에 대해, 다음을 구했다. image 그리고 Hilbert-Schmidt Independence Criterion (HSIC) 를 upper bound 로 정의를 했는데, 효과를 톡톡히 봤다고 한다. 요 HSIC 갖고 loss 도 만들고 하는 걸 보면, (https://arxiv.org/pdf/1910.00270.pdf) 쓸모가 있는 것 같다.

2개의 kernel K,L 에 대해 empirical estimator HSIC 는 다음과 같이 정의된다. image where, H == centering matrix image

만약 다음과 같은 linear kernel 이라면, image 이러한 일반화 식을 뽑아낼 수 있다. image

CKA

일반적으로, similarity 를 구한다면 다음과 같이 dot product 로 구한다. image feature 와 feature 의 similarity 다.

data point 끼리의 similarity 도 구해볼 수 있는데, 보통 gram-matrix 라고도 불리는 녀석들이다. image

이들끼리는 다음과 같은 관계가 성립한다. vec() 은 vecorize 를 의미한다. image

여기서 양쪽을 normalize 해주면, 이전에 CKA 라고 불리는 개념이 완성된다. image

여기에 kernel trick을 넣어준다. K tilde, L tilde 는 centered kernel matrix, H는 centering matrix kernel 을 모든 example 에 대해 계산하고, 행과 열에 centering 을 하는 것. linear case 에서 feature 를 centering 하는 느낌.

image

왜 normalize 를 해주는고,, 하니, HSIC은 본래 isotropic scaling 에 대해 variant 한데, normalize를 하면 invariant 해진다고 한다. (https://arxiv.org/abs/1203.0550) image

커널은 다음과 같이 다양한 것들을 써 볼 수 있다고 한다. image

Result

이제 이게 의미가 있는 지 살펴봐야 하는데,

10개의 다른 10-layer CNN 을 CIFAR-10 에 학습시켜 보면서 (각각 다른 initialize 로 2번씩) 검증을 한다. image

다른 initalized 모델들에서 같은 layer 끼리 feature similarity가 가장 높으면 맞춘 것! accuracy 를 비교해보면 CKA 가 가장 잘하더라. image

visualize 해봐도 확연히 차이가 나더라 image

Additional Exp

논문 아래쪽의 additional exp 가 재미있었다. transformer 에 대해서 CKA 를 했을 때, attention 결과는 신기하다...! image

image feature 뽑은 위치는 다음과 같다. image

dhkim0225 avatar Feb 21 '22 14:02 dhkim0225