일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 냅색알고리즘
- 2019카카오코테
- 백준가운데를말해요
- 딥러닝
- 백준온라인저지
- 이것이자바다
- 윤곽선검출
- 백준스택
- 백준평범한배낭
- 웹개발기초
- 이것이자바다9장
- 합성곱연산
- 코딩테스트실력진단
- 카카오코테
- 가운데를말해요
- 백준10828
- 스파르타코딩클럽
- 운영체제
- BOJ1655
- 이것이자바다확인문제
- 코드트리
- 확인문제
- BOJ
- KT포트포워딩
- 백준
- 백준괄호
- 백준9012
- 컴퓨터비전
- 코테
- java
- Today
- Total
코딩하는 락커
[Week3] 풀링 본문
풀링은 합성곱 연산을 할 때 표현 크기를 줄임으로써 계산속도를 높이고 특성을 더 잘 검출해내는 방법이다.
Max Pooling은 이미지의 구역을 뒤, 그 구역에서의 최대값을 출력값으로 지정하여 결과행렬을 도출해내는 것이다.
이것은 마치 2 x 2 사이즈에 stride=2 짜리 필터를 사용하는 것과 같다.
그렇다면 Max Pooling은 왜 사용하냐?
음...그것은 최대값이 원본 이미지의 어떤 특성을 나타낼 수 있기 때문이다. 마치 고양이의 눈처럼 말이다.
Max Pooling을 사용하는 것은 대부분 구역의 최대값을 통해 구역별 이미지의 특성을 직관적으로 볼 수 있기 때문이라는 것과, 성능이 좋다는 데에 이유가 있다.
Max Pooling의 또 한가지 특성은 f나 s가 고정되어 있어 경사하강법과 같은 방법으로 학습할 수 있는 변수가 아니라는 것 또한 들 수있다.
Max Pooling의 다른 예를 알아보자.
5 x 5 이미지에 f=3, s=1인 Max Pooling 필터를 적용한다고 하자. 이때 출력의 크기는 3 x 3 이다. 이전 포스팅에서 쭉 했던 합성곱 연산에서의 출력이미지 크기 공식을 적용할 수 있다.
그리고 연산을 하면 위 이미지 오른쪽과 같은 결과 이미지를 도출할 수 있다. 5 x 5 x 2의 이미지의 경우 결과 이미지가 3 x 3 x 2 라는 사실도 간단하게 알 수 있다. 계산 과정은 똑같이 각 채널에 개별적으로 적용하면 된다.
이제 Average Pooling에 대해 알아보자. Average Pooling은그냥 말 그대로 그 구역에서의 최대값이 아닌 평균값을 도출하는 것이다.
그러면 위 이미지의 오른쪽과 같은 결과가 나온다.
요즘은 Average Pooling을 더 많이 사용한다고 한다.
Pooling을 할 때 일반적으로 하이퍼파라미터를 f=2, s=2로가장 흔하게 둔다고 한다. 높이와 너비를 절반 정도 줄어들게 해준다. f=3, s=2도 많이 사용한다고 한다.
그리고 Max Pooling에서는 패딩을 거의 사용하지 않는다고 한다.
또 아까도 말했듯 Pooling에서는 학습하는 변수가 없기 때문에 역전파를 적용하는 의미가 없다고 한다. 끝!
'[2020] 📚 DSC 겨울방학 스터디' 카테고리의 다른 글
[Week3] 왜 합성곱을 사용할까요? (0) | 2020.02.01 |
---|---|
[Week3] CNN 예시 (0) | 2020.02.01 |
[Week3] 합성곱 네트워크의 한 계층 구성하기 (0) | 2020.01.31 |
[Week3] 입체형 이미지에서의 합성곱 (0) | 2020.01.31 |
[Week3] 스트라이드 (0) | 2020.01.24 |