값싼 비용으로 최대 효율을 낼 수 있을까 - lottery ticket hypothesis
1. introduction
research의 트렌드를 바꿔버린 혁명적인 가설로 한번 제기된 이후 후속논문이 지금까지도 나오고 있음
첫 network인 A를 parameter initialization을 하고 적당히 training을 하여 91%의 정확도를 얻었다고 하자.
이후 training된 network를 pruning하여 B를 얻었다고 한다.
이 때 B의 현재 parameter에서 mask로 가려지지 않은 부분을 A의 첫 initialization된 parameter로 reset한 다음에
정확히 A와 동일한 training방법을 사용하여 reset한 B를 training하면 91%에 가까운 정확도를 얻을 수 있는 그런 network B가 존재할 수 있다는 뜻이다.
이런 network B를 lottery ticket이라고 부른다. 이것이 무슨 의미를 가지느냐?
애초에 더 복잡한 A를 training하는 것보다 간단한 B를 training한다면 pruning 비용을 절약할 수 있다는 것임.. 간단한 비용으로 동일한 성능을 얻을 수 있다는 의미
물론 그런 network를 어떻게 찾느냐가 문제
그리고 hypothesis임
증명은 못하겠지만 경험적으로 맞는것 같아서 제기해보는 것
2. formalization
2-1)
random하게 initialize된 dense neural network는 아마 어떠한 initialize된 subnetwork를 가질 것이다.
그런 subnetwork는 original network와 거의 동일한 iteration으로
이 subnetwork 혼자서 동일한 training했을 때 얻을 수 있는 accuracy가
original network를 training했을 때 accuracy와 동일하다.
2-2)
수학적으로 $f(x, \theta)$라는 dense neural network가 있고 intialize된 parameter $\theta_{0}$를 생각하자.
training set x를 이용하여 SGD로 optimization을 할 때 f는 minimum validation loss L, test accuracy a를 j iteration만에 가진다.
이제 0아니면 1을 원소로 가지는 mask 행렬 m을 생각하자.
$f(x,m\bullet\theta)$는 original network인 $f(x, \theta)$에서 적절한 방법으로 pruning 된 subnetwork이다.
이 subnetwork는 original network와 동일한 initialization parameter인 $\theta_{0}$로 initialization되어 $f(x,m\bullet\theta_{0})$부터 training을 시작함
마스크 m은 고정시키고 SGD로 optimization을 시키면 j ' iteration만에 validation loss L' 과 test accuracy a ' 을 가진다.
이 때 lottery ticket hypothesis는 $j' <= j$를 만족하고 $a' >= a$를 만족하며 $\left| m \right|_{0} \ll \left| \theta \right|$ (이거는 무슨 뜻인지는 알겠는데 수식적으로 뭐라 해석해야하는지 모르겠다...)인 마스크 m이 존재한다라고 예측한다.
무슨 말이냐면 training iteration을 덜 해도 original network보다 같거나 높은 accuracy를 가지는 parameter가 더 적은 subnetwork가 존재할 수 있다는 것임
근데 이제 어떻게 찾는지는 모르겠고 항상 존재하는지도 모르겠다는게 문제임
참고로 여기서 dense하다의 의미가 갑자기 궁금해서 찾아보니까 network의 각 node가 거의 모든 다른 node와 연결된 network를 의미한다고 함
3. 더 재미있는 부분?
논문에서 더 재미있는 부분을 언급했는데 original network의 초기 initialization parameter인 $\theta_{0}$를 사용하지 않고
새롭게 initialization된 parameter인 $\theta_{0}^{'}$을 사용하여 subnetwork를 training하면 original network와 동일한 성능을 더 이상 내지 않더라
여기서 말하는 winning ticket=lottery ticket는 original보다 덜 training해도 성능이 그에 상응하는 parameter가 적은 subnetwork
이러한 사실이 의미하는 바는 small인 subnetwork 반드시 적절하게 initialization된 상태에서 효과적으로 training될 수 있다는 뜻이다.
4. 한계점
증명이 안된 가설임
높은확률로 있을 것 같기는 한데 언제나 존재하는지도 사실 모름
그래서 어떻게 구하는지도 몰라
pruning된 것을 먼저 training시켜봤자 사실 이것이 lottery ticket인 것을 알려면
original network를 training시켜봐야만 알 수 있다
그래서 lottery ticket의 의미가 사실 상실되어버리는 거지
이후 original network를 최대한 덜 사용하면서 적은 cost로 lottery ticket를 찾아내려고 논문들이 여럿 등장함
찾아보니까 증명? 심지어 더욱 강력한 버전도 증명을 한것 같은데 어떻게 찾는지에 대해서는 잘 모르는듯
'딥러닝 > light weight modeling' 카테고리의 다른 글
왜 경량화인가? 딥러닝 모델의 경량화가 필요한 이유 (0) | 2024.08.14 |
---|---|
딥러닝 경량화의 quantization 개념 소개 (0) | 2024.07.10 |
iterative pruning의 여러가지 변형 버전 알아보기 (0) | 2022.11.14 |
pruning을 하는 여러가지 방법들 (0) | 2022.11.12 |
pruning 기본 알고리즘, regularization과의 연관성 알아보기 (0) | 2022.11.09 |