본문 바로가기

반응형

합성곱 신경망

(3)
딥러닝 (3) 8-8 합성곱 신경망(CNN: Convolution Neural Network) 딥러닝 모델 중 가장 기본이 되는 다층 퍼셉트론 모델로 이미지의 인식, 예측 등에 활용 영상 인식 분야에서 가장 많이 사용 합성곱 신경망의 특징 여러개의 완전 연결 계층과 활성화 함수를 사용하는 대신, 합성곱 계층(Convolution Layer)과 풀링 계층(Pooling Layer)을 활성화 함수의 앞과 뒤에 배치하는 형태 이미지 배열 표현의 문제점 이미지 데이터를 1차원의 데이터로 펼쳐 입력층에 넣어야 함 원데이터가 갖는 형상, 공간적 구조가 무시됨 모델의 이미지 인식 성능을 저하시키는 요인으로 이미지 데이터는 공간 구조를 고려하는 조작이 필요 합성곱 계층의 계산 원리 완전 연결 계층이 이미지 데이터가 갖는 공간적 구조..
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장 이미지 분류 - 합성곱 신경망 (1) 8-1 합성곱(Convolution) 연산 - 합성곱 이해하기 - 합성곱 구현하기 1. 넘파이 배열 정의하고 배열 하나 선택해 뒤집기 import numpy as np w = np.array([2, 1, 5, 3]) x = np.array([2, 8, 3, 7, 1, 2, 0, 4, 5]) w_r = np.flip(w) print(w_r) ##출력: [3 5 1 2] 2. 넘파이의 점 곱으로 합성곱 수행하기 for i in range(6): print(np.dot(x[i:i+4], w_r)) ##출력: 63 48 49 28 21 20 3. 싸이파이로 합성곱 수행하기 from scipy.signal import convolve convolve(x, w, mode='valid') ##출력: array([63..

반응형