연구 일지 - 0811
박현준 점털 뽑고싶다
Github: https://github.com/JHCHO98/NN-Geometry-Power-Analysis
연구 주제: 저전력 엣지 컴퓨팅을 위한 인공신경망 계층 구조의 기하학적 형상과 에너지 효율성 상관관계 연구
Zero-Cost Predictor, Calibration, AdaptiveAvgPool2d
Zero-Cost Predictor(이하 ZC)
미리 모델의 구조를 보고 정확도를 대략적으로 비교할 수 있게 해줌. g(A) = z(A) 이런 느낌임. (A는 구조)
이미 선행 연구 多. 그런데 정확도를 예측하는 게 아님. 수치가 나오기는 하는데, 정확도라고 보면 안되고, 그냥 그걸로 상대적 비교만 가능함. 그래서 g로 대충 estimated accuracy ranking을 수립할 수 있음.
사실 현재 연구 상황에서 정밀한 정확도 예측보다는, 파워 예측이 우선이고, 부가적으로 정확도를 제공하는 건데, 그래서 ZC를 사용해서 대충 비교만 해도 나쁘지 않은 연구가 될 것 같음.
Calibration
위의 ZC를 보완하기 위해 따로 모델을 fitting하는 거임. 한 30개 정도를 직접 학습 시켜서 z(A) → estimated accuracy로 fitting하는거임. 그런데 이거는 dataset/task에 따라서 매번 새로 피팅해야 함. 이거는 이 연구에서는 배제하는 게 맞을 듯.
AdaptiveAvgPool2d
CNN 레이어를 모두 거치고, 피쳐맵을 강제로 mean pooling을 통해 1*1로 수정하는 과정임. 그러면 classifier를 강제로 nn.Linear(last_channel, 10)으로 고정할 수 있다. 현대 CNN은 대부분 사용한다고 하니 넣는 게 나을 듯.
기타
input image size(32*32)는 일단 유지하자! 이거까지 고려하면 너무 volume이 커진다…
피쳐맵 크기가 0이 되지 않게 항상 유념하기! → 일단 2×2 feature map, 3×3 kernel, padding=1 로 고정할거니까, pooling 횟수만 일단 고려하면서 하면 되겠다!