딥러닝

순방향 네트워크 (3) | 패스트캠퍼스 챌린지 24일차

이젤 2022. 2. 16. 21:11

Transformational function과 cost function을 적용해 순방향전파를 진행한 다음에는 backpropagation을 통해 실질적인 학습을 진행한다. Activation function으로 Sigmoid를 적용하게 되면, chain rule을 통해 전체 에러의 가중치에 대한 편미분을 구할 수 있다. 이 때, chain rule을 적용하는 이유는 함수가 여러개 중첩된 복잡한 함수의 미분을 구하는 것 보다, 바로 직전의 간단한 함수의 미분을 구하는 편이 더 쉽기 떄문이라 생각할 수 있다. Stochastic Gradient Descent에서 가중치 업데이트는 이 전체 에러의 가중치에 대한 편미분을 learning rate만큼 곱해서 빼 주는 쪽으로 업데이트한다. 이 연산 과정 자체는 수학파트를 통해 훨씬 더 자세히 배웠다. 

이렇게 순방향네트워크의 작동 원리를 살펴 보았다. 생각해 보면 그렇게 복잡하지 않다. 통계적 기계학습 방법론에 비하면 훨씬 단순한 방식으로 연산을 진행한다. 이 방식으로 이루어진 순방향네트워크는 생각보다 성능이 훨씬 좋다. MNIST 손글씨 숫자 분류 정도는 쉽게 100%에 가까운 정확도를 보인다. 강의에서는 최근에 트랜스포머의 유행에 따라 이 순방향네트워크를 재집중하고자 하는 시도도 있다고 전한다. 여기에는 Universal Approximation Theorem이라는 정리가 뒷받침 되어 있는 듯 하다. 이 정리를 결론만 말하면 인공신경망은 어떤 연속함수든지 얼마든지 근사할 수 있다는 정리가 된다. 다만 실제로는 그 근사할 만큼의 시간이나 컴퓨팅 자원이 모자르기 때문에 순방향네트워크를 통해 모든 것을 실질적으로 해결할 수 있는 것은 아니다. 이로 인해 CNN과 같이 메모리를 효율적으로 처리하는 방식을 연구하게 된다.


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다. https://bit.ly/37BpXiC