Loading...
2022. 12. 31. 01:57

값싼 비용으로 최대 효율을 낼 수 있을까 - 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를 lott..

2022. 11. 14. 16:26

iterative pruning의 여러가지 변형 버전 알아보기

1. iterative pruning pruning을 한번에 너무 많이 하여 많은 weight를 한번에 제거하고 retraining을 하면 정확도가 회복이 안된다는 사실이 알려짐 그래서 pruning을 조금씩 하고 retraining하고 다시 조금씩 하고 retraining하는 iterative pruning을 수행함 iterative pruning을 하는 이유는 조금씩 제거해야 retraining으로 정확도가 회복이 되니까 2. iterative pruning 알고리즘1 network의 weight parameter와 모든 원소가 1로 가득찬 mask를 초기화하고 mask를 먼저 씌우네 근데 1로 가득찬 초기 mask는 씌우나 마나니까 network를 train한다 적절한 pruning을 통해 mask..

2022. 11. 12. 15:08

pruning을 하는 여러가지 방법들

1. introduction pruning을 모두 관통하는 핵심은 결국 덜 중요한 weight를 제거하는 것 어떻게 제거하느냐에 따라 그 방법이 매우 많음 수 많은 pruning의 극히 일부분…. 앞으로도 쏟아져 나올 것인데 당연히 다 알 수는 없는 부분 global magnitude pruning은 network의 모든 곳에서 절댓값이 가장 낮은 weight를 제거 layerwise magnitude pruning은 각 layer에서 절댓값이 가장 낮은 weight를 제거함 global gradient magnitude pruning은 input의 batch에 의해 계산된 gradient로부터 weight와 gradient의 곱의 절댓값이 가장 낮은 weight를 제거함 layerwise gradien..

2022. 11. 9. 15:31

pruning 기본 알고리즘, regularization과의 연관성 알아보기

1. iterative pruning network가 존재하면 neuron weight들의 중요도를 계산함 중요도가 적은 weight는 적절하게 제거함 이후 데이터를 다시 넣어 fine-tuning을 수행하면서 weight를 업데이트 pruning을 계속하고 싶으면 weight의 중요도를 다시 계산하여 위 과정을 반복 pruning을 중단하고 싶으면 그대로 사용.. 단 1번만 할 수는 있지만 보통 여러번 반복 pruning을 수행함 2. pruning의 알고리즘 N이 pruning의 반복수이고 X가 훈련데이터(fine-tuning에도 사용) 먼저 weight를 초기화하고 network를 training하여 weight를 convergence시킴 weight의 차원과 크기가 동일한 1로 가득찬 mask 행..

2022. 11. 9. 01:30

딥러닝 경량화 기법 pruning은 무엇이고 왜 등장했는가

1. motivation 태어날 때 50조개의 neuron이 있는데 1년 뒤에는 1000조개의 neuron이 있다고함 이제 어른이 되면서 자주 쓰는 neuron은 보존하면서 자주 쓰지 않는 neuron은 없어지면서 500조개로 줄어든다고함 비슷한 원리로 막 설계한 machine learning model을 training하면서 complexity를 늘려가는데 자주쓰는 parameter는 살리고 자주 쓰지 않는 parameter는 제거 중요한 parameter는 살리고 중요하지 않은 parameter는 제거하는 기법 neural network뿐만 아니라 decision tree에서도 주로 사용해왔다 2. pruning을 왜 하는가? network의 parameter를 잘라내니까 복잡도가 감소함 복잡도가 감..

2022. 11. 7. 10:46

CPU,GPU,TPU,.... 여러가지 processing unit 알아보기

1. hardware acceleration 일반적으로 CPU에서 software를 수행하는 것보다 더 효과적으로 연산, 기능을 수행하고 싶을 때 hardware acceleration을 사용함 latency를 줄이고 throughput를 증가시키기 위한 목적 CPU도 일종의 accelerator라고 할 수는 있으나 general processor에 가깝고 hardware accelerator는 보통은 GPU, TPU 등등을 의미함 CPU 자체에서 모든 데이터 계산을 할 수도 있고 GPU같은 곳에 특화된, 병렬처리 했을 때 더 좋은 데이터 같은 경우 GPU에 보내 처리를 하여 CPU로 돌려받는 식으로 데이터 처리를 함 CPU와 hardware accelerator가 정보를 주고 받으며 데이터 처리 2. ..