본문 바로가기
공부 정리/딥러닝

합성곱 연산(Convolution operation) 방법

by 블로그별명 2023. 2. 21.

입력값이 커널과의 연산과정을 거쳐 출력값이 된다 커널은 필터라고도 불린다

n*m크기의 행렬로 n*m크기의 겹쳐지는 부분의 원소값을 곱한뒤 모두 더한값을 출력으로 갖는다

input_=np.array([1,2,3,2,1,0,3,0,1])
kernel=np.array([1,0,1,1,0,1,0,1,0])

sum(input_*kernel)

이미지의 가장 왼쪽 위부터 가장 오른쪽 순차적으로 위과정을 반복한후 마지막으로 편향(bias)를 더해 최종적인 출력(feature map)을 만든다

또한 위의 예제에서는 커널의 이동범위가 한칸이었지만 이또한 사용자가 정할수있으며 이러한 이동범위를 stride라고 한다

 

RGB 3채널의 이미지 한장에서 최종적인 feature map을 얻는 과정은 다음과 같다

(보통 rgb값을 permute를 이용해 가장앞으로 빼는것같다)

뿐만아니라 여러개의 커널을 사용함으로서 더많은 output_channel을 만들어낼수있다

 

출처 

https://wikidocs.net/62306

http://taewan.kim/post/cnn/

https://excelsior-cjh.tistory.com/180

https://bigdaheta.tistory.com/48

'공부 정리 > 딥러닝' 카테고리의 다른 글

[딥러닝2]신경망의 순전파  (0) 2024.01.08
[딥러닝1]퍼셉트론  (0) 2023.12.26
Pooling 레이어의 이해  (0) 2023.02.21
패딩(padding) 사용하는 이유  (0) 2023.02.21
합성곱 신경망의 필요성  (0) 2023.02.21

댓글