friendshipkim/neuron-merging

Question

Closed this issue · 2 comments

안녕하세요. 훌륭한 연구 결과 공유해주셔서 감사합니다.

다름이 아니라, 공유해주신 레포의 코드를 보면서 궁금증이 생겨 질문 남깁니다.

Q) Decompose 할 때 Pretrained model의 정보가 필요한 이유는 무엇인가요? 논문 내 기재된 알고리즘을 봤을 때 해당 부분은 없었던 것 같은데... Pretrained Model이 아니라 L1, L2 Norm이나 Geometric Median 에 의해 계산된 점수에 의해 결정되는 것이 아닌지요?

  • 질문을 한글로 기재했으나, 답변이 정리되는 대로 영문으로 재작성하겠습니다~!

안녕하세요, 답변이 늦어 죄송합니다.

"Pretrained model의 정보"가 무엇을 의미하는지 잘 모르겠습니다. Decompose 클래스의 어떤 변수인지를 알려주시면 도움이 될 것 같습니다.

Pretrained model weights의 L1, L2 Norm이나 Geometric Median 에 의해 계산된 점수에 의해 어떤 neuron(filter)를 제거할지가 결정되는 것이 맞습니다. 다만 scaling matrix Z를 만들기 위해서는 제거되는 뉴런과 남아있는 뉴런들간의 cosine similarity를 계산해야 하기 때문에 pretrained weight가 필요하게 됩니다.

아하... 답변감사합니다. Related Work 에 SNIP, Grasp 이 언급되어 있어서 같은 맥락으로 사전학습된 모델 조차도 안쓰는 것으로 생각했었네요. 논문을 제가 더 면밀히 못본 문제인거 같습니다 ㅎㅎ...궁금증 해결됐습니다~

Summary for this issue

  • My Question : why a pretrained model is used in the pruning algorithm(exactly, decompose class in the shared code) ?

  • Answer from author : To get a scaling matrix Z, it should take computation of cosine similarity between neurons to be removed and remained. In this process, the pretrained model's weights are used.

  • About the response from the author : Thank you for your kind answer. Since the difference between this method and conventional methods (SNIP and Grasp) is described only in terms of dedicated hardware dependency, I just speculate that this method might not use any pretrained model. Sorry for my misreading.