일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ
- 백준
- 백준괄호
- 이것이자바다확인문제
- 코테
- 스파르타코딩클럽
- 냅색알고리즘
- 이것이자바다
- java
- 코드트리
- KT포트포워딩
- 컴퓨터비전
- 백준가운데를말해요
- 백준10828
- 백준9012
- 카카오코테
- 이것이자바다9장
- BOJ1655
- 윤곽선검출
- 백준온라인저지
- 백준스택
- 코딩테스트실력진단
- 가운데를말해요
- 백준평범한배낭
- 2019카카오코테
- 웹개발기초
- 확인문제
- 운영체제
- 딥러닝
- 합성곱연산
- Today
- Total
코딩하는 락커
[Week3] 스트라이드 본문
스트라이드 합성곱은 합성곱 신경망의 기본 요소이다.
예제를 통해 stride=2인 경우에 대해 알아보자.
먼저 7x7 사이즈의 원본 이미지와 3x3 사이즈의 필터를 합성곱 연산한다고 할 때, 위 이미지에서 볼 수 있듯 4x4 사이즈의 결과 이미지의 최상단 맨 왼쪽의 결과값은 91이 나온다.
그리고 다음 합성곱 연산을 한다고 할 때, 한 픽셀 옆으로 것이 아니라 두 픽셀 옆으로 이동하는 것이다. 바로 아래 이미지처럼 말이다.
이렇게 두 픽셀을 뛰어넘어 합성곱 연산을 한 결과 100이 나오고, 그 다음에 아까 한 것과 같이 두 픽셀을 또 뛰어넘는다.
그리고 합성곱 연산한 결과 결과 이미지의 최상단 맨 오른쪽의 결과값은 83이 나오게 된다.
그 다음 아래쪽으로 이동할 때도 마찬가지로 3,4,8,7,8,3,4,2,1 파트로 이동하여 합성곱 연산을 하고 쭉 다 이런식으로 하여 결과 이미지를 추출한다.
이렇게 stride=2인 합성곱 연산을 하면 위 이미지 오른쪽과 같은 4x4 사이즈의 결과 이미지가 도출된다.
따라서 n x n 이미지를 f x f 필터로 합성곱 연산을 할 때, 패딩을 p로 스트라이드를 s를 가지면 결과 이미지의 크기는 n-2p-f/s+1 x n-2p-f/s+1가 된다.
그래서 7-2(x0)-3/2+1 -= 4/2+1 = 3 이므로 3x3가 된 것이다. 만약 예제와는 다르게 분수꼴이 정수가 아니라면 내림을 해준다. 위 상단의 파란 박스를 계산한다고 할 때, 파란 박스가 패당을 더한 이미지 안에서 꽉차 있을 때만 계산하고 그게 아니라 삐져나간다면 계산을 해주지 않는다는 의미라고 한다....잘 모르겠다.^,^
결국 패딩 p와 스트라이드s가 있을 때의 결과 행렬은 [(n+2p-f)/s +1] x [(n+2p-f)/2 +1]가 된다.
그리고 요소들을 곱하고 더하는 계산 전에 한 가지 과정이 더 있는데, 6x6 행렬과 3x3 필터를 합성곱 하기 전에 위 그림과 같이 가로축과 세로축을 뒤집어 주는 미러링 과정이다.
딥러닝 분야에서는 이런 뒤집는 과정을 생략해서 사실상 교차상관이라고 불리는게 맞지만 딥러닝 분야에서는 합성곱이라고 부른다.
이러한 과정을 생략하는 이유는 수학에서는 결합법칙이라고 불리는 이 작업이 신호처리 분야에서는 중요하지만 심층 신경망 분야에서는 별로 소용이 없기 때문이다.
아오...끝
'[2020] 📚 DSC 겨울방학 스터디' 카테고리의 다른 글
[Week3] 합성곱 네트워크의 한 계층 구성하기 (0) | 2020.01.31 |
---|---|
[Week3] 입체형 이미지에서의 합성곱 (0) | 2020.01.31 |
[Week3] 패딩 (0) | 2020.01.24 |
[Week3] 더 많은 모서리 감지 예시 (0) | 2020.01.21 |
[Week3] 합성곱 신경망 / 모서리 감지 예시 (0) | 2020.01.20 |