아미(아름다운미소)

활성화 함수 본문

AI/TensorFlow

활성화 함수

유키공 2019. 3. 19. 15:44
은닉 계층에 대한 활성화 함수는 네트워크에 비선형성을 적용하는 데 필요합니다. 활성화 함수가 적용되고, 결과는 네트워크 내의 다음 뉴런으로 전달됩니다. 대부분의 비선형 함수들이 사용되는데, 주로 시그모이드(로지스틱 회귀분석에서 쓰이는 법)함수가 많이 사용됩니다. 최근에는ReLU활성화 함수가 자주 쓰입니다. 풀어쓰면 Rectified linear unit으로 “선형유닛을 개선”한다는 의미로써 비선형의 구조를 가진 데이터를 분석하는데 용되는 활성화 함수입니다.

기울기를 이용해 가중치를 업데이트하므로 평평한 활성화 함수는 문제가 있는데 가중치의 변화는 활성화 함수의 기울기에 좌우되기 때문입니다. 작은 기울기는 곧 학습 능력이 제한된다는 것을 의미하고 이를 일컬어 신경망에 포화(Saturation)가 발생했다고 합니다. 때문에 포화가 일어나지 않게 하기 위해서는 입력 값을 작게 유지해야 합니다.

아이러니하게도 이 수식은 입력 신호에도 영향을 받습니다. 때문에 가중치를 너무 작게 만들 수도 없는데 이럴 때 좋은 방법은 입력 값이 0~1사이에 놓이도록 그 크기를 조정하는 것으로, 때로는 입력 값에 0.01과 같이 작은 값을 더해서 입력 값이 0이 되는 것을 방지해야 합니다. 만약 입력값이 0 이라면 가중치 업데이트 수식에 의한 학습 능력이 죽어버리기 때문입니다.

이와 마찬가지로 가중치의 초기 값을 모두 같은 값으로 설정하면 신경망에 있는 모든 노드들은 같은 신호 값을 받게 될 것이며 이에 따라 각 출력 노드의 출력 값 역시 동일하게 될 것입니다. 또한 오차를 역전파함으로써 가중치를 업데이트 하는 과정에서 오차는 모두 같은 값으로 나뉘어 전파될 것입니다. 때문에 잘 학습된 신경망을 위해서는 가중치의 값들이 동일해서는 안됩니다.

'AI > TensorFlow' 카테고리의 다른 글

심층신경망(Deep Neural Network)의 목적  (0) 2019.03.30
심층 신경망(Deep Neural Network)의 장∙단점  (0) 2019.03.20
활성화 함수  (0) 2019.03.19
경사 하강법이란?  (0) 2019.03.18
심층신경망(Deep Neural Network)  (0) 2019.03.17
Epoch이란?  (0) 2019.03.16
0 Comments
댓글쓰기 폼