순방향 네트워크 (1) | 패스트캠퍼스 챌린지 22일차
이번 강의에서는 Feedforward Network, 즉 순방향 네트워크를 다룬다. 여기서 순방향이라는 것은 첫번째 페이지에도 feed-back(역방향) 및 bi-directional(양방향)과 대조되는 개념으로, 입력에서 출력의 방향으로'만' 진행된다는 것을 뜻한다. 양방향인 경우는 순환신경망(Recurrent Neural Network)에서 다루게 될 것 같다.
기계학습의 입장에서, 입력된 데이터는 변형함수(transformational function)을 거치게 된다. 변형함수는 데이터로부터 representation 내지는 feature를 추출하는 함수인데, 신경망을 활용하지 않은 통계적 기계학습 시절에는 이 변형함수를 직접 디자인해서 사용하였다. 그러다가 딥러닝에 와서는 비선형함수로 기계가 직접 변형함수를 학습하게 된다.
이 떄, 함수가 선형이라는 것은 말 그대로 함수의 그래프가 직선이라는 뜻이며, 이는 다르게 생각하면 기울기가 일정하다는 뜻이 된다.
비선형함수가 필요한 이유는 VC 차원 떄문이다. VC차원의 결론만 말하면, 2차원 평면에서는 2+1 = 3개의 점을 나누는 2^3=8개의 경우 까지만 생각할 수 있다는 것이다. 점이 4개를 넘어가면 노트에 그려진 경우처럼 하나의 선으로 구분할 수 없는 경우가 생긴다.
이는 XOR의 경우가 해당하는데, XOR문제는 신경망 기술이 도입되는데 상당한 걸림돌이 된 문제였다. 퍼셉트론으로 간단한 XOR 구분선마저 그을 수 없다는 점이 회자된 것이다. XOR은 Exclusive OR 연산으로, OR연산이 (1, 1)일 떄에도 1을 내보내는데 비하면 XOR은 (1, 1)일 떄에는 0을 내보낸다는 차이가 있다. 이렇게 선형함수로는 점을 나눌 수 없어 비선형함수가 도입된다.
비선형함수로는 지금까지도 자주 나왔던 Sigmoid가 있고, 이와 비슷한 TanH가 있다. TanH는 sigmoidal, 즉 S자 형태의 함수인 것은 동일하나, 0을 중심으로 한 값을 가진다. 즉, bias shift라고 불리는 현상이 없다. 이는 입력값의 양수, 음수 여부에 따라 결과가 정해지기 떄문에 이러한 출력값의 결과가 이동하지 않고 유지되리라 볼 수 있다. Sigmoid의 경우 음수 입력값도 양수가 되기 때문에 출력값의 평균이 이동할 것이라 예상할 수 있다.
Sigmoid와 TanH는 모두 saturation이 이루어진다. 즉, 레이어가 쌓여서 gradient가 중첩될 수록 그 값이 0에 가까워 사라져 학습이 이루어지지 않는다. 이러한 단점을 해결하는것이 ReLU인데, 부가적으로 연산량이 줄어든다는 장점도 있다. 다만 순수한 ReLU는 경험적으로 완전히 gradient vanishing으로 부터 자유롭지 못하기 떄문에, LeakyReLU, ELU, Maxout Units 등의 generalized ReLU들이 있고, 이 중 ELU의 성능이 가장 높다고 강의에서는 주장한다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다. https://bit.ly/37BpXi