본문 바로가기

반응형

전체 글

(291)
8장 이미지 분류 - 합성곱 신경망 (4) 8-4 합성곱 신경망을 만들고 훈련 - 합성곱 신경망의 전체 구조 - 합성곱 신경망의 정방향 계산 구현 1. 합성곱 적용 1) self.conv_w : 합성곱에 사용할 가중치 2) stride, padding : 특성 맵의 가로와 세로 크기를 일정하게 만들기 위해 각각 1, 'SAME'으로 지정 2. 렐루 함수 적용 3. 풀링 적용하고 완전 연결층 수정 def forpass(self, x): # 3x3 합성곱 연산 수행 c_out = tf.nn.conv2d(x, self.conv_w, strides=1, padding='SAME') + self.conv_b # 렐루 활성화 함수 적용 r_out = tf.nn.relu(c_out) # 2x2 최대 풀링 적용 p_out = tf.nn.max_pool2d(r_..
8장 이미지 분류 - 합성곱 신경망 (3) 8-3 합성곱 신경망의 구조 - 렐루 함수 (ReLU) 0보다 큰 값은 그대로 통과, 0보다 작은 값은 0으로 - 렐루 함수 구현 def relu(x): return np.maximum(x, 0) x= np.array([-1, 2, -3, 4, -5]) relu(x) ##출력: array([0, 2, 0, 4, 0]) r_out = tf.nn.relu(x) r_out.numpy() ##출력: array([0, 2, 0, 4, 0]) - 렐루 함수의 도함수 입력이 0보다 크면 1 입력이 0보다 작으면 0 - 합성곱 신경망에서 일어나는 일들과 구조 합성곱 신경망에 주입될 입력 데이터에는 채널이 있음 이미지의 픽셀에 가진 색상의 표현하기 위한 정보인 채널(channel)이라는 차원 존재 빨간색(Red), 파란..
8장 이미지 분류 - 합성곱 신경망 (2) - 2차원 배열에서 합성곱 수행 1차원과 유사하게 원본 배열의 왼쪽에서 오른쪽으로, 위에서 아래쪽으로 1칸씩 이둥 2차원 원본 배열 x, 미끄러지는 배열 w 원본 배열의 왼쪽 모서리 끝에 미끄러지는 배열을 맞추고 합성곱 수행 (1x2+2x0+4x0+5x0) 미끄러지는 배열을 옮기며 합성곱 수행(밸리드 패딩) x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) w = np.array([[2, 0], [0, 0]]) from scipy.signal import correlate2d correlate2d(x, w, mode='valid') ##출력: array([[ 2, 4], [ 8, 10]]) 세임 패딩의 경우 오른쪽과 아래쪽 모서리에 제로 패딩 추가 correlate2d..

반응형