합성곱
합성곱(convolution) : 밀집층과 다르게, 입력 전체가 아니라 일부만 사용하여, 입력과 가중치를 곱하고 절편을 더하는 선형 계산
인공 신경망 : 처음에 가중치 $w_1$ ~ $w_{10}$과 절편 $b$를 랜덤하게 초기화한 다음 에포크를 반복하면서 경사 하강법 알고리즘을 사용하여 손실이 낮아지도록 최적의 가중치와 절편을 찾아감
→ 밀집층(은닉층)에 뉴런이 3개가 있다면, 출력은 3개
합성곱 : 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱함
→ 뉴런이 3개의 가중치를 가진다고 하면, 처음 3개 특성과 곱해져 1개의 출력 + 다음 3개 특성과 곱해져 1개의 출력 + ... + 마지막 3개 특성과 곱해져 1개의 출력 = 8개의 출력
밀집층의 뉴런 : 입력 개수만큼의 가중치를 가지고 1개의 출력
합성곱층의 뉴런 : 하이퍼파라미터로 정한 가중치를 가지고 여러개를 출력
합성곱 신경망(convolutional neural network, CNN)에서는 완전 연결 신경망(완전 연결 층=밀집층만 사용하여 만든 신경망)과 달리 뉴런을 필터(filter) 혹은 커널(kernel)이라고 부름
뉴런 개수 = 필터
입력에 곱해지는 가중치 = 커널
합성곱의 장점 : 1차원이 아니라 2차원 입력에도 적용할 수 있음
특성 맵(feature map) : 합성곱 계산을 통해 얻은 출력
입력 : 2차원 배열 → 필터 : 2차원 배열 → 특성 맵 : 2차원 배열
밀집층에서 여러 개의 뉴런을 사용하듯이, 합성곱 층에서도 여러 개의 필터 사용 ⇒ 만들어진 특성 맵은 순서대로 차곡차곡 쌓임(3차원)