티스토리 뷰

오늘 수업에서 1*1 Convolution에 대해서 다뤘다.

 

먼저 1*1 Convolution을 사용하면 필터의 개수가 몇 개 인지에 따라 output의 dimension은 달라지지만, 원래 가로 세로의 사이즈는 그대로 유지된다.

 

그래서 filter 의 개수를 원래 input의 dimension 보다 작게 하면, dimension reduction의 효과가 난다.

 

원래 image 쪽에서 Convolution layer는 "Spatial Relation"을 고려하여 이 image가 어떤 image인지 패턴을 통해 파악하는 용도인데, 1*1 사이즈를 사용한다는 것은 한 픽셀만 고려하기 때문에 패턴 인식보다는 dimension reduction이라는 전처리 용도로 생각해야 한다.

 

Dimension reduction을 이용하기 위해 1*1 conv 의 개수를 줄이면, activation의 depth가 작아져서 filter의 총 parameter의 개수가 감소한다.

 

이 형태를 bottleneck 구조라고 하는데, dimension reduction을 한 뒤 모든 연산을 하고 다시 filter의 갯수를 늘려서 고차원으로 늘리는 방법을 이용하기 때문에 bottleneck이라고 부른다.

 

dimension을 줄였다가 늘리는 것을 왜 bottleneck이라고 하는지는 [그림1]을 보면 이해하기 쉽다.

 

[그림 1] bottleneck 구조

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함