[DL] sigmoid vs step function

JINJU·2021년 11월 23일
0

이전 내용 참고
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 = c3c^3)과 같은 의미이기 때문이다.
따라서 은닉층이 없는 네트워크로 표현할 수 있기 때문에 비선형함수를 사용해야한다!

0개의 댓글