티스토리 뷰
2. Neural Networks / L1. Introduction to Neural Networks - Feedforward
chrisysl 2018. 7. 3. 20:00Feedforward
- 입력을 출력으로 변환하는데 사용되는 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를 리턴해준다.
- 이를 통해 경계를 수정해 나갈 수 있는것임.