이전 내용 참고
https://velog.io/@u_jinju/DL-활성함수
앞선에 작성했던 sigmoid와 step function 의 차이를 알아보려한다.
제일 큰 것은 '매끄러움'의 차이.
sigmoid는 곡선을 띄는 방면, step function은 각이져있다.
따라서 sigmoid는 0.731, 0.808 .. 등의 실수가 나온반면 계단함수는 0 또는 1이다.
그러나, 신경망에서는 sigmoid와 같은 연속적인 실수를 다룬다
그렇다면, 공통점은 무엇일까?
둘 다 입력이 작을 때의 출력은 0에 가깝고(혹은 0), 입력이 커지면 출력이 1에 가까워지는(혹은 1) 구조인 것.
step, sigmoid는 입력이 중요하면 큰 값을 출력하고 중요하지 않으면 작은 값을 출력한다.
계단함수와 sigmoid함수의 가장 큰 공통점은 비선형 구조라는 것
비선형 구조는 1개의 직선이 되지 않는 즉 선형이 아닌 함수
신경망에서는 비선형 구조를 사용해야하는데 그 이유는 선형구조를 사용하면 층을 깊게하는 의미가 없어지기 때문이다.
선형함수인 h(x) = cx를 활성함수로 3층 네트워크를 만들게되면, y(x) = h(h(h(x)))가 되고 y(x) = c c c * x처럼 곱셈을 세번 수행하지만, 실은 y(x) = ax (a = )과 같은 의미이기 때문이다.
따라서 은닉층이 없는 네트워크로 표현할 수 있기 때문에 비선형함수를 사용해야한다!