728x90
반응형
이번 포스팅에서는 신경망에서 활성화 함수로 어떤 함수를 이용하는 지 살펴볼 것이다.
신경망에서는 활성화 함수로 비선형 함수를 사용해야 한다. 그렇지 않고 선형 함수를 사용할 경우, 신경망의 층을 깊게하는 의미가 없어진다. 즉, 층을 깊게 해도 은닉층 없는 네트워크로 대체할 수 있게 된다.
> 선형 함수란? 특정 입력값에 대한 출력값이 입력값의 상수배만큼 변하는 함수, f(x) = ax + b
> 비선형 함수란? 직선 1개로는 그릴 수 없는 선형이 아닌 함수
★예를 들어, h(x) = cx 를 활성화 함수로 사용한 3층 네트워크를 생각해보면 y(x) = h(h(h(x))) 가 된다. 계산해보면 y(x) = c*c*c*x 로 층을 쌓듯 세 번 계산하지만 y(x) = ax 로 치환할 경우, 은닉층이 없는 네트워크가 된다.
결론적으로, 선형 함수로는 여러 층을 구성하는 기능을 살릴 수 없으므로, 층을 쌓고 싶다면 비선형 함수를 활성화 함수로 채택해야 한다.
1. 시그모이드 함수(sigmoid function)
시그모이드 함수는 함수값의 범위는 [0, 1]이고 중간값은 1/2이며, input값이 작을수록 0에 가깝고, 클수록 1에 가까운 값을 가진다.
2. ReLU 함수(Rectified Linear Unit)
ReLU 함수는 입력이 0보다 크면 입력값을 그대로 출력하고, 0이하이면 0을 출력하는 함수이다.
728x90
반응형
'AI > 밑딥' 카테고리의 다른 글
딥러닝) 소프트맥스 함수로 출력층 설계 (0) | 2021.02.14 |
---|---|
딥러닝) 다차원 배열, 신경망 구현 (0) | 2021.02.13 |
딥러닝) 퍼셉트론에서 신경망 (0) | 2021.02.02 |
딥러닝) 다층 퍼셉트론 (0) | 2021.01.31 |
딥러닝) 퍼셉트론의 한계, 선형과 비선형 (0) | 2021.01.31 |
댓글