pre-trained 된 모델들을 보면 parameter 라는 단어가 눈에 띈다.
이러한 parameter 는 hyper-parameter 와는 별개의 뜻으로 사용된다.
통상적으로 hyper-parameter 는 학습과정에 있어 유저가 지정할 수 있는 값들을 의미한다.
예로 learning-rate, epoch, multi-head attention count 등이 포함된다.
반면 parameter 는 아래와 같은 의미를 지닌다.
답변이 원론적이라 좀 어렵게 느껴질 수 있는데 요약하자면,
신경망에서 다룰 수 있는 값들의 범위를 나타내는 것과 같다.
여기서 다룰 수 있는 범위의 값이란, 단순히 출력값을 의미하는 것이 아니다.
예로, 0~9 까지의 손글씨를 출력하는 MLP 모델이 있다고 해서 parameter 가 10개라는 의미는 아니다.
좀 더 쉽게 말하자면
입력값으로부터 출력값인 0~9 까지 가능한 모든 확립가능한 경로의 수를 의미한다고 보면 좋다.
이를 나는 '경우의 수(weight, bias)' 라고 호칭한다.
예로 MLP 모델일 경우 perceptron 증가 = parameter 증가 이다.
perceptron 이 증가한다는 건 조정해야할 weight, bias 가 많아진다는 의미이다.
이러한 경우의 수는 모델 내부에서 결정되므로
이미 완성된 모델을 단순히 학습시키는 유저 입장에서 관여할 수 없다는 점에서
hyper-parameter 와 근본적인 차이점을 보인다.
만약 parameter 수를 변경하고 싶다면 모델의 구조를 변경해야 한다.
위와같은 MLP 가 있다고 가정했을 때
layer 의 width 가 넓어질 수도 있고, depth가 깊어질 수도 있다.
이럴경우 당연히 모델 내부에서 계산해야 할 '경우의 수(weight, bias)' 역시 많아진다.
즉, parameter 라는 용어는 모델의 '복잡성' 을 나타낼 때 사용된다.
예로 깊이가 3인 MLP와 10인 MLP 의 parameter 는 어떤것이 더 많을까?
width 가 같다면 깊이 10 짜리의 MLP 의 parameter 가 더 많을것이다.
parameter 수가 많음에 따른 장, 단점은 아래와 같다.
- 장점
- 모델의 표현력이 높아진다.
- 훈련 데이터가 충분히 풍부하다면, 모델이 보다 우수하게 일반화된 성능을 낼 수 있다.
- 단점
- '경우의 수' 가 많다는 의미는, 그만큼 훈련에 계산 리소스를 많이 소모한다는 의미도 동시에 가진다.
- 훈련 데이터가 부족하다면 부족한 데이터의 노이즈 등 세세한 부분까지 훈련되어 과적합될 위험성이 존재한다.
'Artificial Intelligence > Basic' 카테고리의 다른 글
모델 훈련시 Epoch 와 Steps 의 차이 (0) | 2024.03.05 |
---|---|
batch_size 란? (0) | 2024.03.05 |
GAN의 최적 손실값 (1) | 2023.06.19 |
CGAN(Conditional GAN) (0) | 2023.06.18 |
GAN이란? (이미지 숫자 생성) (0) | 2023.06.07 |