모두야

CH7) 합성곱 신경망 ( CNN ) - (2) 본문

밑.시.딥/1권

CH7) 합성곱 신경망 ( CNN ) - (2)

미미밍2 2021. 7. 25. 18:13
반응형

7.3 풀링 계층 

풀링의 종류는 다양하다. 목적은 세로, 가로 방향의 공간을 줄이는 연산이다.

2x2 최대 풀링을 스트라이드 2로 처리하는 그림이다.

2x2 영역 중 가장 큰 원소를 꺼내 출력한다. 

 

보통 스트라이드와 같은 크기로 설정한다. 

ex) 윈도우 3x3이면 스트라이드=3

평균 풀링도 있다.


풀링 계층의 특징 

1. 학습해야 할 매개변수가 없다.

합성곱 계층과 달리 매개변수 학습 과정 없이, 대상 영역에서 최댓값이나 평균을 취하는 처리를 진행한다.

 

2. 채널수가 변하지 않는다.

입력 데이터 채널수 그대로 출력 데이터를 내보낸다. ( 채널마다 독립적이다.)

 

3. 입력 변화에 영향을 적게 받는다.

입력 데이터가 조금 변한다고 해서, 풀링의 결과가 크게 변하지는 않는다. 


7.4 합성곱/풀링 계층 구현하기

im2col 

합성곱 연산을 여러번 진행하기 위해 for문을 겹겹이 쓰는 연산은 하지 않는다.

im2col 이라는 편의함수를 사용해서 구현한다.

-> 입력 데이터를 필터링(가중치 계산)하기 좋게 전개하는(펼치는) 함수이다.

 

3차원 입력 데이터( 정확히는 배치 안 데이터 수까지 포함하여 4차원 데이터) 를 2차원 행렬로 바꿔준다. 

 

합성곱 계층의 구현 흐름

  1. 입력 데이터를 im2col를 이용하여 2차원 행렬 형태로 전개한다.
  2. 합성곱 계층의 필터(가중치)를 1열로 전개한다.
  3. 두 행렬의 내적을 하여 출력한다. 
  4. CNN은 데이터를 4차원 배열로 저장하므로, 2차원 출력 데이터를 reshape를 통해 4차원으로 변형한다.

 

 

 

반응형

'밑.시.딥 > 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