Deep Learning
비선형 함수를 사용하는 이유 (신경망, 선형함수 비교)
햇농nongnong
2022. 5. 31. 09:42
비선형 함수
- 계단 함수와 시그모이드 함수의 또 다른 공통점 : 모두 비선형 함수
- 시그모이드 함수 : 곡선, 계단 함수 : 구부러진 직선 = 모두 비선형 함수로 분류됨
선형함수와 비선형함수
- 함수란 어떤 값을 입력하면 그에 따른 값을 돌려주는 '변환기'
- 선형 함수 : 변환기에 무언가 입력했을 때 출력이 입력의 상수배만큼 변하는 함수
f(x) = ax + b ; a와 b는 상수 - 즉, 선형 함수는 곧은 1개의 직선 - 비선형 함수 : '선형이 아닌' 함수
즉, 직선 1개로는 그릴 수 없는 함수
활성화 함수로 반드시 '비선형 함수' 를 사용해야 함
- 신경망에서는 활성화 함수로 "비선형 함수" 를 사용해야 함
선형 함수를 사용하면 안됨 - 선형함수를 이용하면 신경망의 층을 깊게 하는 의미가 없어짐 - 선형 함수는 층을 아무리 깊게 해도 결국 은닉층이 없는 것과 똑같음
ex) 선형함수인 h(x) = cx 를 활성화 함수로 사용한 3층 네트워크
y(x) = h(h(h(x)))
y(x) = c * c * c * x ; 곱셈을 세 번 수행하지만 = 이것은 y(x) = ax 와 똑같은 식 ( a = c^3) - 즉, 은닉층이 없는 네트워크로 표현 가능
- 따라서 선형 함수를 활성화 함수로 이용하면 여러 층으로 구성하는 이점을 살릴 수 없음
Reference
- 밑바닥부터 시작하는 딥러닝