티스토리 뷰

Feedforward

 - 입력을 출력으로 변환하는데 사용되는 process neural networks.

 - 우리는 지금까지 neural network가 뭔지 알아봤으니, 그걸 어떻게 학습(train) 시킬지에 대해 알아보자

 - 학습은 우리가 가진 데이터를 모델링 하기위해서 edges에 어떤 인자(parameters)들을 가질 것인지를 의미한다.

 - 그렇기때문에 이를 알아보기위해선 input을 통해 output이 리턴되는 프로세스를 자세히 살펴봐야한다.



 - X1과 X2를 input으로, y =1 즉 파란점인 모델의 경우

 - w1과 w2는 edges에 있는 weights이고, B는 note에 있는 bias이다.

 - w1의 값이 w2보다 더 크므로 굵은선으로 표시됨.

 - 빨강영역에 있는 점인데 해당 점은 파랑이므로, 해당 영역에서 파란점일 확률은 낮으므로

 - output은 매우 작은 값이다.

 - 이러한 프로세스를 feedforward라 부른다.

 - 위의 모델은 bad model이라고 볼 수 있는데, 해당 점이 속해있는 영역은 빨강이지만 그 점은 파랑이기 때문.



 - 두가지 모델을 합쳤을 경우를 확인해보자.

 - 똑같이 더 큰 weights에 굵은 선을 칠하여 표시하였고

 - 각 모델별로 동일한 점이 가지는 확률을 다시 input으로 하여 비선형 모델을 표현했다고 해보자.

 - 이렇게 얻어낸 모델 역시 bad model인데, 여전히 빨강영역에 파랑점이 속해있기 때문이다.



 - 위의 과정을 다른 표현식으로 나타내보면 위와같다.

 - 첫번째 레이어들의 값을 행렬식으로 표현하고

 - 이것이 정확히 신경망 네트워크의 프로세스인데,

 - input 벡터를 바탕으로 weights행렬과 연산 후 sigmoid function을 거쳐 0과 1사이의 값을 얻어내며

 - 이 과정을 레이어 수에 맞게 반복한다. 

 - 그 결과 복잡한 비선형 모델이 리턴됨.



 - 이것이 신경망 네트워크가 input 벡터로부터 yHat(prediction)값을 얻기위해 연산하는

 - feedforward process이다.






Error Function

 - 이전에 다뤘듯, 신경망 네트워크는 error function을 통해 오류를 최소화 하는 방향으로 모델이 나아간다.

 - 우리의 목적은 이 신경망 네트워크를 학습시키는 것이다.

 - 그러기위해 우리는 error function을 정의해야만 한다.

 - 따라서 다시한번 퍼셉트론에 있어서 error function이 어떤 역할을 하는지 recap해보자.



 - 퍼셉트론의 연산 결과 error function을 특정 점이 거쳐 옳게 분류 된 경우 매우 작은 값을 리턴하고

 - 잘못 분류된 경우 그 점과 경계의 거리가 얼마나 잘못되었는지를 값으로 리턴해준다(에러의 크기).



 - 다중레이어 퍼셉트론에서도 Error function의 역할은 동일하다.

 - 다만 yHat의 연산이 복잡해졌을 뿐 여전히 경계와 특정 점까지의 error를 리턴해준다.

 - 이를 통해 경계를 수정해 나갈 수 있는것임.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함