더 깊게더 깊은 신경망으로이전 챕터와 달리 아래와 같이 더 깊은 신경망을 사용하면 어떻게 될까?합성곱 계층의 채널 수는 앞 계층에서부터 16, 16, 32, 64 ,64로 늘려간다3x3의 작은 필터를 사용한 합성곱 계층ReLU드랍아웃AdamHe 초기화이 모델의 Mnist 결과는 99.38%이다정확도를 더 높이려면?데이터 확장(Data augmentation)데이터를 회전하거나 이동일부를 잘라내는 crop좌우를 뒤집는 flip깊게 하는 이유신경망의 매개변수 수가 줄어든다.층을 깊게 한 신경망은 깊지 않은 경우보다 적은 매개변수로 같은 혹은 그 이상의 수준의 표현력을 달성할 수 있다.위와 같은 그림에서, 5X5 = 25개의 매개변수가 필요했던 것이 층을 깊게 하면 3X3 + 3X3 = 18개만 있으면 5X5..
전체 구조CNN도 지금까지의 신경망과 같이 레고 블록처럼 계층을 쌓을 수 있으나, 합성곱 계층과 풀링 계층이 새롭게 등장한다.지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었다. 이를 완전연결(Fully-Connected, 전결합)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현했다.합성곱은 공학과 물리학에서 널리 쓰이는 수학적 개념으로, ‘두 함수 중 하나를 반전, 이동 시켜가며 나머지 함수와의 곱을 연이어 적분한다’ 라는 의미로 쓰인다.반면 CNN에서는 일반적으로 아래와 같이 Conv-ReLU-Pooling 흐름으로 연결된다CNN에서도 출력에 가까운 층에서는 지금까지의 Affine-ReLU 혹은 Affine-Softmax 조합을 그대로 사용한다.합성곱 계층CNN에..
매개변수 갱신신경망 학습의 목적은 손실 함수의 값을 가능한 한 낮추는 매개변수를 찾는 것이며, 이러한 최적값을 찾는 것을 최적화(Optimization)이라고 한다.하지만 매개변수 공간은 매우 넓고 복잡해서 최적의 솔루션을 찾는 것은 어렵다.지금까지 최적의 매개변수 값을 찾는 단서로 매개변수의 기울기(미분)을 이용했다.이것이 확률적 경사 하강법(SGD)이다.SGD와는 다른 최적화 기법을 알아보자.확률적 경사 하강법(SGD)\(W ⬅ W - \eta \frac{\partial L}{\partial W}\)위에서 W는 갱신할 가중치 매개변수이고 미분값은 W에 대한 손실 함수의 기울기이다. 에타는 학습률을 의미한다.⬅는 우변의 값을 좌변의 값으로 갱신한다는 의미이다.Optimizer는 ‘최적화를 행하는 자’라..
퍼셉트론에서 신경망으로신경망의 예가중치를 갖는 층은 2개이므로 2층이라고 할 수도 있다.퍼셉트론 복습가중치가 b이고 입력이 1인 뉴런이 추가다음과 같은 수식으로도 나타낼 수 있다.$$y = h(b + w_1x_1+w_2x_2)$$ $$h(x) = \begin{cases} 0 & (x \leq 0) \\ 1 & (x > 0) \end{cases}$$위 식은 입력 신호의 총합이 h(x) 라는 함수를 거쳐 변환되어, 그 변환된 값이 y의 출력이 된다.h(x)는 입력이 0을 넘으면 1을 돌려주고 그렇지 않으면 0을 돌려줌활성화 함수의 등장이처럼 입력 신호의 총합을 출력 신호로 변환하는 함수를 일반적으로 활성화 함수(activation function)이라고 한다.위 그림에서처럼 가중치 신호를 조합한 결과가 a라..
계산 그래프계산 그래프(computational graph)는 계산 과정을 그래프로 나타낸 것이다. 여기에서의 그래프는 복수의 노드와 엣지로 표현된다.계산 그래프로 풀다다음과 같은 간단한 문제를 계산 그래프로 풀어보자문제 1: 현빈 군은 슈퍼에서 1개에 100원인 사과를 2개 샀다. 이 때 지불한 금액은? 단 소비세가 10% 부가됨문제 2: 현빈 군은 슈퍼에서 사과를 2개, 귤을 3개 샀다. 사과는 1개에 100원, 귤은 1개 150원이다. 소비세가 10%일 때 지불 금액을 구하시오.위 과정을 살펴보면, 그래프를 이용한 문제 풀이는 다음 흐름으로 진행횐다.계산 그래프를 구성한다그래프에서 계산을 왼쪽에서 오른쪽으로 진행한다.계산을 왼쪽에서 오른쪽으로 진행하는 단계를 순전파(Forward Propagatio..
데이터에서 학습한다!신경망의 특징은 데이터를 통해 가중치 매개변수의 값을 자동으로 결정한다는 점이다.데이터 주도 학습기계학습은 데이터가 생명이다. 데이터에서 답을 찾고 패턴을 찾는다.보통 어떤 문제를 해결하려 할 때 사람은 이런저런 규칙성을 생각하고 프로그램을 만들려고 한다. 기계학습에서는 모아진 데이터로부터 규칙을 찾아내는 역할을 기계가 담당한다.이미지에서 특징(Feature)을 추출하고 그 특징의 패턴을 기계학습 기술로 학습하는 방법이 있다. 여기서 말하는 특징은 입력 데이터(이미지)에서 본질적인 데이터(중요한 데이터)를 추출할 수 있도록 설계된 변환기를 가리킨다.이미지의 특징은 보통 벡터로 기술하고, 컴퓨터 비전 분야에서는 SIFT, SURF, HOG등의 특징을 많이 사용한다.이런 특징을 사용하여 ..
Introduction퍼셉트론(perceptron)은 Frank Rosenblatt에 의해 1957년에 고안된 알고리즘이다이 알고리즘은 신경망(딥러닝)의 기원이 되는 알고리즘이다퍼셉트론이란?퍼셉트론은(인공뉴런, 단순 퍼셉트론)은 다수의 신호를 입력으로 받아 하나의 신호를 출력x1, x2는 입력, y는 출력, w1과 w2는 가중치, 원은 노드 혹은 뉴런뉴런에서 보내온 신호의 총합이 정해진 한계(\(\theta\))를 넘으면 1을 출력. 아니면 0.여기서는 임계값(\(\theta\))으로 표현이를 수식으로 나타내면 다음과 같다. $$y = \begin{cases} 0 & (w_1x_1 + w_2x_2 \leq \theta) \\ 1 & (w_1x_1 + w_2x_2 > \theta) \end{ca..