Efficient Architecture design이란
1. motivation
효율적인 architecture를 디자인하여 큰 모델 못지 않은 성능을 내는 모듈을 만들고자 하는 것이 efficient architecture design
최근 trend는 사람이 디자인하는 것보다 AutoML이나 Neural Architecture Search같은 컴퓨터가 optimization으로 모델을 찾게 만듦
2. 필요성
매일 다양한 특성을 가지는 module들이 쏟아져나오고 있음
이 module들은 특징이 다양함.
parameter가 적은데 성능은 좋다든지 성능만 좋고 parameter는 너무 많다든지 연산량이 적은데 성능이 떨어진다든지
왼쪽 그림은 연산횟수에 따른 정확도 비교. 원의 크기는 model의 parameter
오른쪽 그림은 model의 parameter 대비 정확도 효율..
squeezeNet이 parameter수가 적으면서도 정확도가 높게 나온다는 것이다.
위 그림에서 동그라미된 부분이 ‘efficient model’이라고 부르기에 적절한, 모델의 parameter도 대체로 적고 연산량도 적은데 성능은 충분히 좋은 모델들
이런 efficient model을 찾는 작업이 efficient architecture design
3. software 2.0 시대
Andrej Karpathy , ‘ Gradient descent가 너보다 코드를 더 잘 쓴다.’
software 1.0이 사람이 명확히 지시를 내려 만든 module이라고 한다면
software 2.0은 사람이 전체적인 목표로 ‘최고의 정확도, parameter는 충분히 적게’ 등의 목표를 제시하면
알고리즘이 이에 맞는 최적의 모듈을 찾아줌
4. 모델을 찾는 network
‘the controller’ network는 확률 p로 architecture A를 제안함
제안된 A를 학습하고 evaluation으로 accuracy로 R을 얻음
A에 대응하는 값이 R이라고 하여 the controller를 training함
training 결과로 더 좋은 architecture를 제안함
반복적으로 수행
찾아낸 모델들은 사람이 이해하기 쉽지 않다. 왜 그렇게 connection되었는지 같은 해석이 불가능할정도로 복잡함
그러나 대부분 사람의 직관을 뛰어넘는 성능을 가진 모듈들을 찾아낼 수 있다는 것이 AutoML의 장점
'딥러닝 > light weight modeling' 카테고리의 다른 글
network quantization 간단하게 (0) | 2024.08.16 |
---|---|
knowledge distillation 간단하게 (0) | 2024.08.15 |
왜 경량화인가? 딥러닝 모델의 경량화가 필요한 이유 (0) | 2024.08.14 |
딥러닝 경량화의 quantization 개념 소개 (0) | 2024.07.10 |
값싼 비용으로 최대 효율을 낼 수 있을까 - lottery ticket hypothesis (0) | 2022.12.31 |