본문 바로가기
Deep Learning (AI)/이론 및 기술면접 정리

MLP에서 1x1을 사용해서 Bottleneck 구조를 설계하고, 그렇게 설계한 이유는?

by 스프링섬머 2023. 8. 3.
728x90

MLP에서의 1x1 conv를 사용한 Bottleneck 구조의 설계는 다음과 같습니다.

(n,c) -> (1x1,c/4) -> activation function -> (c/4,c/4) -> activation function -> (1x1, c) -> activation function -> (n,c)

그리고 입력과 출력을 더해주면 완성입니다.

CNN에서의 여러 채널들은 여러 filter들을 사용해 이미지에서의 지역적인 다양한 특징들을 추출하여, 특정 채널은 이미지의 특정 특징과 반응하게 된다고 생각합니다. 이와 유사하게 MLP에서의 채널도 이미지의 전체를 보고 해당 이미지에 대한 특징을 대표적으로 표현한다고 할 수 있습니다. 이를 1x1 convBottleneck구조를 적용한다면, CNN에서와 유사하게 채널에 해당하는 차원을 줄여서 특징을 추출하고 이를 다시 늘리는 방식을 사용할 수 있습니다. 이 또한 파라미터를 적게 사용하면서 중간중간에 활성화 함수를 늘려 비선형성을 증가시키므로 더 복잡한 패턴에 대한 학습이 가능합니다

728x90