EvoPose2D paper review

YeoJin, Song·2023년 2월 27일
0

논문리뷰

목록 보기
3/9

논문 pdf 링크
논문의 코드 github 링크

abstract

neural architecture가 humon pose estimation에 좋은 잠재력을 가지고 있을 것이라고 가정하고, 우리는 neuroevolution을 접목시켜 생각해 보았다.
더해서 새로운 weight transfer scheme를 제안해 neuroevolution을 가속화하는 것을 가능하게 했다.
우리의 base network(EvoPose2D-S)는 SimpleBaseline보다 50% 빠르고 파일 사이즈가 12.7배 작다. 또한 가장 큰 네트워크인 EvoPose2D-L은 COCO Keypoints benchmark에서 새로운 SOTA accuracy를 달성했다.

neuroevolution

neuroevolution이라는 단어가 계속 등장해서 찾아보았다. neuroevolution은 단어 그대로 neuron을 evolve하는 방식으로 학습하는 것을 의미한다. 여기서 neuron은 Artificial Neural Network(ANN) 을 의미한다. evolution이란 진화의 방식을 모방한 학습을 이용하였다는 뜻이다.

weight transfer

pretrained된 "parent" neural network가 있다고 가정할 때 이는 P(xθP)P(x|\theta^{P}) 와 같이 표현된다. x는 네트워크의 input이고 θP\theta^{P}는 학습된 parameter이다. neuroevolution framework는 알지 못하는 parameter인 θC\theta^{C} 를 child network C에서 비슷하게 학습하는 것이 목적이다.
C(xθC)P(xθP)C(x|\theta^{C}) \approx P(x|\theta^{P}) 가 목적이라는 뜻이다.
따라서 parent network가 child network와 비슷하지만 완전히 같지는 않다.
빠른 neural architecture 탐색을 위해 parent's function이 보존되는 정도는 random하게 초기화된 state에서 training 할 때 small fraction(이게 무슨 뜻인진 잘 모르겠다..) 에서 수렴할 수 있을 정도여야 한다.

experiments

위 그래프는 training loss, 아래 그래프는 validation loss이다. 이것은 baseline network(resnet-50)을 train한 그래프이다.

이 그래프는 3개의 독립된 neuroevolution을 tracking한 그래프이다. 점선은 가장 낮은 fitness를 가진 val loss를 의미하고 Γ\Gamma는 fitness coefficient controlling trade-off between val loss and number of parameters(아직 이해 못함)를 의미한다. λ\lambda는 children의 수, μ\mu는 parent의 수를 의미한다.
아래는 모든 sample된 네트워크의 parameter의 개수에 따른 Validation loss 그래프이다.

profile
fake traveler

0개의 댓글