티스토리 뷰
오늘 수업에서 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 구조
'학교공부 > Deep Learning' 카테고리의 다른 글
[Deep Learning] cs231n 4강 내용 정리 (1) (0) | 2017.10.15 |
---|---|
[Deep Learning] cs231n 3강 내용 정리 (1) (1) | 2017.10.14 |
[Deep Learning] cs231n 2강 내용 정리 (2) (3) | 2017.10.14 |
[Deep Learning] cs231n 2강 내용 정리 (1) (0) | 2017.09.26 |
[Deep Learning] CS231n 과제, Azure의 가상 Ubuntu로 진행하기. (2) | 2017.09.26 |
댓글