활성화 함수의 종류와 선택
-
활성화 함수는 아래와 같이 다양한 종류가 있고, 개발시 사람이 선택
-
마지막 활성화 함수는 전체 뉴럴넷의 출력값을 결정하기 때문에 중요한 의미 갖음
-
Sigmoid와 같이 0~1사이의 범위만을 갖는 활성화 함수를 사용하면 트레이닝을 아무리 진행해도 오차가 감소가 되지 않는다.
-
보통 Sigmoid는 이중분류 True(1), False(0)를 예측하는 경우 마지막 레이어의 활성화 함수로 사용하여 두개중 어느 클래스에 가까운지 예측
활성화 함수는 왜 필요한가
- 활성화 함수는 신경망에 비선형성을 더해준다.
- 딥러닝으로 해결하려는 문제들은 대부분 단순한 문제들이 아니다. 복잡하고 난잡한 문제들이기 때문에 회귀 선, 경계면은 입력데이터(x)의 다차원 공간에서 굉장히 해괴한 곡선(비선형)의 모습을 보여준다.
- 즉, 활성화 함수를 써야만 주어진 데이터를 설명하는 복잡한 형상의 선이나 경계면을 찾을 수 있습니다.
로스 펑션
로스 펑션이란?
- 에러함수라는 용어보다 로스 펑션이 더 일반적이다.
- 라벨값과 예측값의 차이를 로스(LOSS)라 한다.
- 학습은 로스를 최소화 하는 방향으로 가중치를 업데이트한다.
- 로스를 최소화하는 방향으로 학습이 진행되기에 제대로 정하는 것이 중ㅇ요
- 같은 네트워크라도 로스펑션을 바꾸면 가중치는 다른 값으로 업데이트가 진행되고 최종적으로 뉴럴넷의 성능이 달라짐
- 로스펑션은 목적에 맞도록 변경되는 경우도 많고 연구자의 의도에 따라 변형되는 경우가 많아 케이스별로 추가 학습이 필요
(분류(Regression)과 회귀(Classification)에 가장 많이 쓰이는 MSE와 Cross Entropy)
Mean Squared Error
- 가장 직관적인 로스펑션 라벨값과 예측값 차이의 제곱을 로스로 계산하는 로스 펑션이다.
- 예측값이 라벨값보다 크게 예측되거나 작게 예측되건간에 제곱을 곱해주어 미분이 깔끔해짐
- 회귀문제에서 광범위하게 사용됨
Cross Entropy
- 소프트맥스 함수인데 함수이긴 하지만 그냥 퍼셉트론 사이에 끼어있는 하나의 레이어로 이해하는 것이 더 직관적
- True, False와 같이 두개의 클래스를 분류하는 문제가 아니라 [강아지, 고양이, 하마, 사슴]과 같이 다항 분류문제에서는 마지막 퍼셉트론의 활성화 함수를 Sigmoid로 바꾸는 것만으로는 예측 불가
- SoftMax레이어를 통과시키면 출력값의 크기에 따른 각각의 비율을 계산하여 최종 출력값으로 내보낸다.(0~1로 범위 제한)
출처: https://wikidocs.net/152766