음악 분류 딥러닝을 만들자(32) - factorized reduction 요약

응큼한포도·2024년 9월 30일
0

factorized reduction

Enas 논문에선 직접적으론 나오진 않으나 논문 저자의 구현 중 논문에서도 이 논문을 참고해서 만들었다라고 2줄정도 언급하면서 아키텍처에 포함시키는factorized reduction이란 게 있다.

Learning Transferable Architectures for Scalable Image Recognition란 구글 브레인의 논문으로 Enas와 비슷한 시기에 나온 nasNet을 구성하는 방법으로 search space이 반복된다는 특징을 가정하고 좀 더 효율적으로 search space를 만드는 방법이다.

글 시리즈의 목적이 mobileNetv4을 구현하는 것이고 Enas뿐만 아니라 Mnas, TuNas를 섞을 것이고 search space의 구성 또한 달라질 게 분명하니 이 기법을 쓸 것인지 고민을 좀 했다.

Mnas, mobileNetv3의 경우 Enas를 기본으로 깔고 발전시킨 내용이라 분명 factorized reduction은 적용되지 않을 것 같지만 가볍게 논문을 읽고 포인트만 집어본 뒤 일단 구현은 해놓고 필요없다면 삭제하는 방향으로 진행하겠다.

핵심 개념

  1. CIFAR-10 dataset 중 작은 데이터 셋에서 학습한 아키텍처도 큰 데이터셋에서 잘 작동하더라.

  2. CNN 아키텍처를 설계할 때 필터, 활성화 함수, 연결 등을 적절히 조합한 반복적인 모듈이 자주 사용되며, 이러한 패턴이 최고 성능을 달성하는 데 중요한 역할을 한다는 점. Nas로 만든 최고의 아키텍처들이 비슷한 모듈이 반복되는 패턴이다.

  3. 같은 아키텍처를 가진 cell들로 구성되는 데 이 cell의 feature map을 줄이는게 Reduction Cell, 그냥 똑같은 건 Normal Cell 이 두 가지 cell을 이용해 아키텍처를 구성하면 좋다.

  4. 2가지 hidden state를 이용한다. 각각의 hidden state를 나중에 합쳐서 결과를 효율적으로 만든다.

예를 들어서 하나는 공간 정보에 집중하기, 나머지는 공간정보를 1/2로 하고 필터 출력수를 2배를 해서 정보는 보존하되 채널 측면을 강조해서 이 2개를 더하면 더 좋은 결과를 얻었다.

특징 분리해서 경량화 챙기고 성능 챙기는 건 지금은 너무 당영한 테크닉이다. 애초에 mobileNetv1도 채널과 공간 분리고 논문이 너무 오래되서 그런듯

아무튼 다음 시간엔 이 reduction을 포함한 child model을 본격적으로 구현 하겠다.

profile
미친 취준생

0개의 댓글