-
[Fundamentals]파라미터(Parameter)와 하이퍼파라미터(Hyperparameter)Engineering/AI 2021. 4. 15. 22:42
1. 파라미터(Parameter)
학습이 진행되는 중 끊임없이 바뀌면서 퍼셉트론의 동작 특성을 결정짓는 요소가 바로 파라미터이다. 즉, 가중치(weight)와 편향(bias)이라고 할 수 있다. 깊은 신경망을 만드는 목표 중 하나는 문제를 해결할 수 있는 적절한 파라미터 값의 조합을 찾는 것이라고 할 수 있다.
2. 하이퍼파라미터(Hyperparamter) : 텐서(Tensor)와 미니 배치(Mini Batch)의 활용
하이퍼 파라미터에는 미니배치와 에폭이 있다. 우선 미니배치를 먼저 살펴보자.
나무 위키에서는 텐서(Tensor)를 '벡터 계산을 단순화하기 위해 여러 같은 성질의 벡터를 한 행렬 안에 표기하고 그것을 단순화하여 표기한 것'이라고 정의한다. 엄밀한 텐서의 정의는 나무 위키를 참고하길 바라고, 기본적인 쓰임새를 알아보기로 하자. 우리가 알고 있는 스칼라는 0차 텐서, 벡터는 1차 텐서, 행렬은 2차 텐서이며, 3차원 이상도 텐서로 정의한다. 텐서가 획기적인 이유는 나중에 살펴볼 순환 신경망(CNN)에서의 획기적인 속도 때문이다. 메모리(GPU)를 많이 잡아먹긴 하지만 한꺼번에 '많이' 계산하는 것은 메모리를 소비할지라도 병렬 연산하기 때문에 속도 측면에서 혁신을 가져다 주었다.
병렬 연산이라는 키워드로 엮이는 개념이 바로 배치(Batch)이다. C처럼 수많은 입력을 한꺼번에 처리하기 위한 덩어리라는 개념이라고 할 수 있다. Figure 1의 A는 퍼셉트론 하나의 동작, B는 입력 데이터 하나에 대한 단층 퍼셉트론의 동작, C는 입력이 여럿인 배치에 대한 단층 퍼셉트론 동작 방식이다. 일반적인 퍼셉트론의 형태는 C이다. 한 눈에 봐도 A, B를 여러번 수행하는 것보다 C처럼 한번에 처리하는 것이 효율적이다. 이 때 스칼라, 벡터, 행렬을 포함해 더 높은 차원에서 한꺼번에 계산하는 방식이 텐서 연산이고, 신경망은 이렇게 배치 단위로 연산을 수행해 시간을 효과적으로 줄일 수 있었다.
더 나아가, 왜 배치는 미니배치(Mini Batch)라고 불릴까? 그렇게 불리는 이유는 Figure 2에서 보는 것처럼 모든 데이터를 한꺼번에 처리하는 방식이 배치인 반면, 미니배치는 상대적으로 배치보다 작은 단위에서 일괄 처리한다는 의미로 이름이 붙여지게 되었다. 미니배치는 데이터 처리 효율성을 높여주고 개별 학습 데이터 특징을 무시하지 않게 해줘 효과적인 연산 방식이라고 할 수 있다.
3. 하이퍼파라미터(Hyperparamter) : 에폭(Epoch)
또 하나 등장하는 요소가 바로 에폭(Epoch)이다. 에폭은 간단하게 데이터를 한 차례 학습시키는 횟수라고 할 수 있다. 일반적으로 미니배치처럼 한 번 정해지면 변경되지 않으면서 학습 결과에 큰 영향을 미치기 때문에 하이퍼파라미터가 되었다.
- Reference
Figure 1 : Likelion k-digital training 2nd
Figure 2 : wikidocs.net/55580
반응형'Engineering > AI' 카테고리의 다른 글
[Regression]확률적 경사하강법(Stochastic Gradient Descent)과 미니배치 경사하강법(Mini-Batch Gradient Descent) (0) 2021.04.17 [Regression]회귀(Regression)와 경사하강법(Gradient Descent) (0) 2021.04.17 [Regression]최소제곱법(Least-Square Method)과 목적함수(Objective Function) (0) 2021.04.17 [Fundamentals]단층 퍼셉트론(Single-Layer Perceptron) (0) 2021.04.15 [Fundamentals]Fundamentals of Artificial Intelligence (0) 2021.04.15