1. 매개 변수가 줄어든다. → 뒤에서 얘기 하겠지만, 망이 깊어지면 같은 수준의 정확도의 망을 구현하더라도 매개변수가 더 적게 필요하다.
  2. 필요한 연산의 수가 줄어든다. → 이 역시 또한 뒤에서 얘기 하겠지만, 나중에 망에 Filter를 Convolution하는 것을 배우게 된다. 이때 확인 가능하지만, 필터의 크기를 줄이고, 망을 깊게 만들면 연산 횟수가 줄어들면서도 정확도를 유지하는 결과를 내는것을 확인할 수 있다.

※이처럼 망이 깊어질수록 효과를 내기 때문에 Deep-Learning이라고도 한다고 들었다.

※이때, 활성화 함수를 사용하면 입력이 들어갈때, 출력값이 선형으로 나오지 않으므로, 망을 깊게 만들 수 있다. (비선형 그래프)

대표적인 활성함수 종류

Untitled

1. 시그모이드

출력범위 : 0~1

Untitled

def sigmoid(x):
    return 1/(1+np.exp(-x))

x = np.arange(-5,5,0.1)
y = sigmoid(x)
plt.plot(x,y)
plt.ylim(-0.1,1.0)
plt.show()

# Sigmoid 함수 선언 후, -5 ~ 5 범위에서 x=0.1 간격으로 출력값을 확인

2. step Function

출력범위 : 0, 1