lottery ticket을 찾는 방법들로 제안된 방법들 살펴보기

1. iterative magnitude pruning

 

최초 논문에서 제안한 lottery ticket를 찾는 방법

 

초기 W0로 parameter initialization을 수행하고 T번 training을 수행

 

이 때 magnitude pruning을 수행하여 mask m1을 찾는 것임

 

magnitude는 weight의 크기를 기준으로 적은 크기를 가지는 weight를 제거함

 

그러면 이제 이게 lottery ticket인지 확인하기 위해 초기 W0에 mask m1을 씌운 뒤 T번 training을 시켜 검증을 하는거지

 

아니라면 다른 pruning을 수행하여 mask m2를 얻고 위 과정을 계속 반복해서 lottery ticket를 찾겠다 이거임

 

iterative magnitude pruning 알고리즘

 

 

 

2. iterative magnitude pruning with rewinding

 

초기 W0로 initialization한 parameter를 가지는 network를 k번 training시켜 Wk를 얻음

 

이후 training을 계속 시켜 convergence 시키고 pruning을 수행하여 mask m1을 얻음

 

이제 Wk를 마치 초기 initialization network라고 생각하고 이것을 초기 parameter로 가져와 m1을 씌우고 lottery ticket인지 검증

 

아니라면 새로운 mask m2를 얻은 뒤 Wk를 이용해서 반복 검증

 

W0를 쓰는 것보다 어느정도 training된 Wk를 사용해서 convergence 시키기까지 training 비용이 기존보다 어느 정도 감소함

 

iterative magnitude pruning with rewinding 알고리즘 그림

 

 

3. 구체적인 rewinding 알고리즘

 

먼저 W0로 network의 parameter를 초기화하고

 

1로 가득찬 mask를 초기화하여 생성

 

구체적인 rewinding 알고리즘 설명

 

 

그림에 k번 training할 때 noise를 섞은 data를 이용하여 k번 training한다고 하는데 사실 큰 의미는 없을듯?

 

가지고 있는 데이터 자체가 noise가 섞여있으니까 가지고 있는 데이터로 k번 training하면 된다고 생각함

 

Wk를 얻고 나서 mask m을 씌운 m * Wk network를 convergence 시키는데

 

noise를 섞은 데이터 set으로 training을 하여 m * WT를 얻어

 

그리고 magnitude가 가장 낮은 weight를 pruning하여 새로운 mask를 획득

 

새로운 mask를 Wk에 씌우고 새로운 noise를 섞은 데이터 set으로 lottery ticket인지 반복해서 검증해나감

 

여기서 noise는 데이터의 순서를 바꿔주는 noise라고 설명하고 있음

 

데이터 순서가 달라지면서 training하고 난 뒤의 weight가 달라지게 하는데 목적을 두나봄…

 

이게 noise를 안하면 Wk를 rewinding시켜도 동일한 결과가 나오니까 그런다는데 mask때문에 동일한 결과가 안나오지 않나...

 

noise를 섞는 이유에 대하여

 

 

왜 하는지 논문을 봤는데 stability라고 설명하면서 무슨 distance 뭐라뭐라하면서 무슨말인지는 도저히 모르겠음..

 

noise를 섞으니까 W0로 시작할때보다 Wk로 시작할 수 있게 만들면서 아무튼 결과가 좋았다 이런 느낌임

 

 

4. formalization iterative rewinding pruning

 

f(x;W0)의 random하게 initialize된 dense network를 생각하자.

 

이것은 T * iteration training을 하면 accuracy가 a *가 된다.

 

Wt가 t iteration으로 training하여 얻은 weight라고 한다면

 

충분히 작은 k (<< T *) iteration으로 training하여 original 정확도  a * 보다 크거나 같은

 

a 정확도를 가지는 subnetwork m * Wk를 만들어주는 pruning mask가 존재한다.

 

이 때  T <= T * - k를 만족한다

 

 

 

 

T <= T* - k 이게 무슨 의미인가 기존에는 완전한 초기 parameter W0를 썼는데 알고리즘을 약간 바꾸면서

 

T* - k가 어떤 상수 T보다 크거나 같다고 제한을 두면서, 여기서 T* - k는 lottery ticket를 검증하기위한 초기 parameter에서 convergence까지 거리인데

 

k가 0에 가깝지만 약간 거리감은 있는, 그러면서 cost를 감소시킨 Wk  로 lottery ticket을 찾을 수 있게 되었다는 것으로

 

논문에서는 noise를 섞은 것이 하나의 큰 이유라고 설명하는 것 같음

 

TAGS.

Comments