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 conv의 Bottleneck구조를 적용한다면, CNN에서와 유사하게 채널에 해당하는 차원을 줄여서 특징을 추출하고 이를 다시 늘리는 방식을 사용할 수 있습니다. 이 또한 파라미터를 적게 사용하면서 중간중간에 활성화 함수를 늘려 비선형성을 증가시키므로 더 복잡한 패턴에 대한 학습이 가능합니다
728x90
'Deep Learning (AI) > 이론 및 기술면접 정리' 카테고리의 다른 글
[DL] 오토인코더(Autoncoder) (39) | 2023.08.23 |
---|---|
[DL] Batch Normalization이란? 효과? ICS? Smoothing? (1) | 2023.08.15 |
Cost Function은 무엇이며, 알고 있는 cost function에 대해서 말해주세요 (4) | 2023.08.04 |
1x1 convolution은 언제 사용되며 의미와 효과? (0) | 2023.08.03 |
딥러닝은 무엇이며, 머신러닝과의 차이점은? (0) | 2023.08.03 |