[기계학습 심화] Neural Network
Neural NetworkPermalink
인간 뇌의 neuron 구조를 모방한 네트워크 구조를 Neural Network라고 한다.
Training, InferencePermalink
진행 방식은 다음과 같다.
Training
수많은 데이터를 순방향 전파 (forward propagation)를 통해 신경망을 거쳐가고 Loss Function을 통해 에러율을 판단한다.
그 에러율을 줄이기 위해 역방향 전파 (backward propagation)로 다시 신경망을 반대로 지나가면서 각 신경망의 Weight들을 바꾼다.
Inference
모델이 원하는 작업을 수행해 주는 것이다.
쉽게 말해 예측하는 작업! 당연히 학습된 모델이기 때문에 추론 과정에서는 순방향 전파만 일어난다.
https://manchann.tistory.com/16
Forward PropagationPermalink
Backward PropagationPermalink
예시Permalink
f(x,y,z) = x*y + z
라고 하면
-3, 5, 2가 주어졌을 때 -15 + 2 해서 -13을 구한게 front propagation이다.
이제 우리는 f를 x, y, z에 대해 미분하고 싶다.
왜?
미분 값으로 구한 기울기를 통해서 각 x, y, z에 대한 weight를 조정하기 위해서.
밑에는 f 라고 하니까 와닿지 않아서 Loss 라고 써놨다.
벡터 예시Permalink
f를 Loss라고 생각하고 이번에도 알고 싶은 값은
f를 W에 대해 미분한 값, x에 대해 미분한 값.
하지만 이번엔 W와 x가 벡터다.
직접 계산하는 과정은 밑에 그림에..
좀 많이 헷갈렸다.. 선대수 다까먹음
편미분 기호를 반대로 썼다 양해 바람
추가
위에는 일반화 시킨 풀이인데 시험용? 풀이는 값을 하나 하나 구하는게 빠를 것 같아서
밑에 처럼 다시 풀었다