모두야
CH7) 합성곱 신경망 ( CNN ) - (2) 본문
728x90
반응형
7.3 풀링 계층
풀링의 종류는 다양하다. 목적은 세로, 가로 방향의 공간을 줄이는 연산이다.
2x2 최대 풀링을 스트라이드 2로 처리하는 그림이다.
2x2 영역 중 가장 큰 원소를 꺼내 출력한다.
보통 스트라이드와 같은 크기로 설정한다.
ex) 윈도우 3x3이면 스트라이드=3
평균 풀링도 있다.
풀링 계층의 특징
1. 학습해야 할 매개변수가 없다.
합성곱 계층과 달리 매개변수 학습 과정 없이, 대상 영역에서 최댓값이나 평균을 취하는 처리를 진행한다.
2. 채널수가 변하지 않는다.
입력 데이터 채널수 그대로 출력 데이터를 내보낸다. ( 채널마다 독립적이다.)
3. 입력 변화에 영향을 적게 받는다.
입력 데이터가 조금 변한다고 해서, 풀링의 결과가 크게 변하지는 않는다.
7.4 합성곱/풀링 계층 구현하기
im2col
합성곱 연산을 여러번 진행하기 위해 for문을 겹겹이 쓰는 연산은 하지 않는다.
im2col 이라는 편의함수를 사용해서 구현한다.
-> 입력 데이터를 필터링(가중치 계산)하기 좋게 전개하는(펼치는) 함수이다.
3차원 입력 데이터( 정확히는 배치 안 데이터 수까지 포함하여 4차원 데이터) 를 2차원 행렬로 바꿔준다.
합성곱 계층의 구현 흐름
- 입력 데이터를 im2col를 이용하여 2차원 행렬 형태로 전개한다.
- 합성곱 계층의 필터(가중치)를 1열로 전개한다.
- 두 행렬의 내적을 하여 출력한다.
- CNN은 데이터를 4차원 배열로 저장하므로, 2차원 출력 데이터를 reshape를 통해 4차원으로 변형한다.
728x90
반응형
'밑.시.딥 > 1권' 카테고리의 다른 글
CH8) 딥러닝 (0) | 2021.07.25 |
---|---|
CH7) 합성곱 신경망 ( CNN ) (0) | 2021.07.25 |
CH6) 학습 관련 기술들 (0) | 2021.07.24 |
CH5) 오차역전파법 (0) | 2021.07.24 |
CH4) 신경망 학습 - (2) (0) | 2021.07.23 |