IT Repository

(5) Model Capacity 본문

Basic fundamentals

(5) Model Capacity

IT찬니 2020. 1. 13. 17:46

 

 

 

 

Model Capacity

어떠한 Regression Problem이 있다고 가정합니다.
그리고 여기서 Real value의 분포가 3차 함수와 유사하다고 가정하고, 아래의 두 모델을 최적화한다고 생각해봅시다.

$H(x) = wx+b$ 와 같이 단순한 선형 함수 모델은 적합한 예측이 불가능할 것입니다.
$H(x) = w_1x^3 + w_2x^2 + w_3x + b$ 와 같이 더 복잡한 3차 함수의 모델이 단순한 모델보다 Real value의 분포와 근사하게 예측할 것입니다.

이를 Hypothesis가 아니라 파라미터의 관점에서 생각해봅시다.

첫번째 모델과 두번째 모델 중 어느 모델이 더 많은 파라미터를 갖고 있을까요?
두번째의 더 복잡한 모델이 더 많은 파라미터를 가지고 있을 것입니다.
그냥 보아도 $w_1, w_2, w_3, b$ 까지 4개가 있네요.

여기서 우리가 주목해야 할 것은 파라미터의 개수(= Model Capacity)가 증가하면 더 복잡한 문제에 대해 더 잘 예측할 수 있다는 것입니다.

(물론 Real value의 분포가 $wx^3$일 수도 있지만, 이 역시 $w_1x^3 + w_2x^2 + w_3x + b$ 보다는 비교적 단순한 문제임에는 틀림이 없습니다.)

 

Bigger Capacity in MLP

그러면 MLP에서는 모델의 파라미터를 어떠한 방법으로 증가시켜서, 더 복잡하고 Capacity가 큰 모델을 만들 수 있을까요?
방법은 두가지로 생각해볼 수 있습니다.

1. 하나의 층을 더 넓게 만든다. (Node의 수 증가, Wider)
2. 층을 더 많이 깊이쌓는다. (Layer의 수 증가, Deeper)

자, 그러면 더 큰 모델이 모든 문제를 해결할 수 있는걸까요?

 

Two Problems of Many Parameters

더 큰 모델이라는 것은 위에 설명했듯이 모델의 파라미터가 더 많아진다는 것을 의미합니다.
모델의 파라미터가 더 많아진다면, 우선 더 많은 파라미터들을 훈련해야 한다는 것이므로 훈련에 걸리는 시간이 증가하겠네요.
또한, 각 파라미터들이 인풋 텐서를 변형시킬 것이므로 Operation에 걸리는 시간도 증가할 겁니다.

그러나 이러한 Computational cost의 문제 이외에도
아래 두 가지의 문제로 더 큰 모델이 작은 모델보다 더 성능이 떨어지는 모델이 될 수도 있습니다.

1. Overfitting
2. Gradient vanishing

'Basic fundamentals' 카테고리의 다른 글

(7) Regularization  (0) 2020.01.13
(6) Overfitting  (0) 2020.01.13
(4) What is Backpropagation?  (0) 2020.01.06
(3) What is Neural Network?  (0) 2020.01.06
(2) What is Gradient Descent? (Optimization)  (0) 2020.01.05
Comments