개념에서 수식으로
먼저 이해할 내용
순방향 신경망에서는 입력이 중간층을 거쳐 출력으로 전달된다. 이 글은 단순한 선형 분류에서 시작해 활성화 함수와 여러 층을 연결하고, 출력 오차를 역방향으로 전달하여 가중치를 바꾸는 과정을 다룬다.
기호를 먼저 읽기
- wᵀx+b
- 입력을 가중합한 분류 점수
- sgn
- 점수의 부호로 범주를 정하는 규칙
- h
- 중간층의 출력
- φ, φ′
- 활성화 함수와 그 미분
- δ
- 오차가 중간 계산값에 얼마나 민감한지 나타내는 값
- α
- 가중치 갱신 크기
이 글의 흐름
분류 경계와 오분류 조건을 먼저 읽는다. 다음으로 비선형 변환을 연결한 신경망을 만들고, 체인룰로 구한 변화율을 이용해 출력층에서 입력층 쪽으로 가중치를 갱신한다.
주제와 표기
Feedforward Nets
Linear classification
A linear discriminant function which has the form
분류 경계는 점수가 0이 되는 위치이다
wᵀx+b의 부호로 두 범주를 나누면, 0이 되는 위치가 경계가 된다. 입력의 차원이 커져도 원리는 같으며 w와 b가 경계의 방향과 위치에 관련된다. 이 단계에서는 확률이 아니라 부호에 의한 판단을 하고 있음을 구별한다.
Decision rule is given by sgn[f[x]]
Separating hyperplane
Perceptron
A single layer neural network
The first iterative algorithm for learning linear classification
틀린 샘플에서만 계수를 바꾼다
퍼셉트론은 현재 경계가 틀리게 분류한 샘플을 이용해 w를 갱신한다. 정답 yₙ을 ±1로 두면 wᵀxₙyₙ의 부호로 올바른 분류 여부를 한 식에 담을 수 있다. 수렴에 대한 원문의 설명은 선형 분리가 가능한 조건과 함께 읽는다.
Perceptron convergence Theorem
Perceptron Criterion
오분류 집합의 손실과 기울기를 연결한다
ℳ은 현재 잘못 분류된 샘플들의 집합이다. 이 집합에서 합산한 목적함수를 w로 미분하면 xₙyₙ의 합이 나오고, 그 반대 방향으로 이동하는 갱신식이 된다. 원문에 learning rate와 기울기가 나란히 표기되어 있어도, 이동 계수 α와 미분벡터 ∇J는 다른 역할이다.
objective function
Gradient descent
Perceptron Learning: A Basic Idea
학습 절차를 한 샘플씩 따라간다
샘플을 하나 읽고 현재 계수로 분류한다. 올바르면 유지하고 틀리면 αxₙyₙ을 더한다. 새 계수로 다시 판단하는 과정을 반복한다는 것이, 목적함수 식을 실제 절차로 바꾼 의미이다.
Perceptron Learning: Algorithm Outline
McCulloch-Pitts Model
그림을 불러오지 못했습니다.
Activation Functions
활성화 함수가 선형 점수를 다른 값으로 바꾼다
ReLU는 음의 입력을 0으로 두고 양의 입력을 유지한다. Leaky ReLU는 음의 구간에서도 작은 기울기를 남기고, Softplus는 로그와 지수로 부드러운 변환을 만든다. ELU와 ReLU-6도 구간별로 입력이 어떻게 바뀌는지 먼저 읽는다.
원문에는 tanh라는 제목 옆에 ArcTan이 적힌 줄이 있다. 쌍곡탄젠트와 아크탄젠트는 같은 함수가 아니므로, 이 둘을 동일한 연산으로 설명하거나 하나로 임의 변경하지 않는다. 해당 줄은 함수 선택을 확인해야 하는 표기이다.
Multilayer Perceptron (MLP)
Structure: bipartite
여러 층을 연결하고 출력 오차를 정한다
중간층을 거쳐 예측값을 만든 뒤 실제 y와의 차이를 제곱해 모은다. argmin은 손실의 최소값 자체가 아니라 그 값을 작게 만드는 계수의 선택을 뜻한다. 모델을 정의하는 식과 모델을 평가하는 손실식을 구별한다.
그림을 불러오지 못했습니다.
Square loss (error)
그림을 불러오지 못했습니다.
Sematic space
Backpropagation
순전파 결과를 이용해 역방향 미분을 계산한다
먼저 h₁·h₂를 계산하고 이를 출력 가중치와 결합해 ŷ를 얻는다. 이후 실제 값과의 차이로 손실을 만들고, 어느 가중치를 바꾸면 손실이 얼마나 달라지는지 계산한다. 역전파는 새 입력을 역으로 복원하는 것이 아니라 손실의 미분을 전달하는 과정이다.
그림을 불러오지 못했습니다.
그림을 불러오지 못했습니다.
그림을 불러오지 못했습니다.
출력층의 오차 민감도를 중간층으로 보낸다
δ_y에는 출력 오차와 활성화 함수의 미분이 함께 들어간다. δ_h는 이 값을 연결 가중치와 앞 층의 활성화 미분에 곱하여 얻는다. 이처럼 함수가 연속해서 연결되어 있을 때 변화율도 연결된 경로를 따라 곱해진다.
변화율에 입력값과 이동 크기를 반영한다
출력 가중치의 갱신에는 δ_y와 중간층 값 h가, 앞 가중치에는 δ_h와 입력 x가 들어간다. 마지막의 Softmax 예제는 출력 점수들을 여러 범주의 확률로 정규화한 것이다. 가중치 갱신과 최종 범주 선택을 별도의 단계로 읽는다.
그림을 불러오지 못했습니다.
Image Classification
정리하면
순전파는 예측을 계산하는 방향이고, 역전파는 그 예측 오차의 민감도를 전달하는 방향이다. 두 흐름을 구별하면 학습식의 역할을 이해하기 쉽다.