Simple Convolution Network 나머지 함수들 전체 코드 def predict(self, x): for layer in self.layers.values(): x = layer.forward(x) return x def loss(self, x, t): """손실 함수를 구한다. Parameters ---------- x : 입력 데이터 t : 정답 레이블 """ y = self.predict(x) return self.last_layer.forward(y, t) def accuracy(self, x, t, batch_size=100): if t.ndim != 1 : t = np.argmax(t, axis=1) acc = 0.0 for i in range(int(x.shape[0] / ba..
아래 예제는 다음과 같이 CNN 모델을 구성하였다. Convolution Network Class 생성자 def __init__(self, input_dim=(1, 28, 28), conv_param={'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1}, hidden_size=100, output_size=10, weight_init_std=0.01): filter_num = conv_param['filter_num'] filter_size = conv_param['filter_size'] filter_pad = conv_param['pad'] filter_stride = conv_param['stride'] input_size = input_dim[1] c..
FCNN(Fully Connected Neural Network) 에서는 입력 데이터를 1차원 배열 형태로 한정하기 때문에 입력데이터의 공간정보를 손실할 수 있다. 그렇기에 입력데이터의 이미지 공간정보를 유지한 상태로 학습 후 FCNN을 거쳐 결과물을 얻어낼 수 있다. CNN은 이미지의 특징을 추출하는 부분과 클래스를 분류하는 부분으로 나누고 Convolution layer, Pooling layer를 여러 단계 거친다. Convolution Layer는 입력 데이터에 필터를 적용 후 활성화 함수를 반영해야 하며 pooling layer는 선택적이다. convolution, pooling layer를 거친 각각의 결과를 feature map이라고 한다. 1. Channel 컬러 이미지의 경우 픽셀을 rg..