# High Detail 모드 트레이닝 매개변수

High Detail 모드의 트레이닝 도구 매개변수는 Green 분류 도구에서 High Detail 모드의 학습 과정에 관여하는 변수입니다.

매개변수 | 설명
--- | ---
Epoch Count(Epoch 횟수) | Train 이미지를 모두 이용하여 학습하는 횟수입니다. 값을 늘릴 수록 반복 횟수가 증가합니다. 1 부터 1000000000까지의 값을 입력할 수 있습니다. Tip: High Detail 모드에서의 Epoch 횟수의 개념은 Focused 모드의 Epoch 횟수와 다릅니다. 이 때문에 같은 데이터베이스를 사용할 때, High Detail 모드에서는 Focused 모드보다 더 큰 Epoch 횟수를 사용하는 것이 좋습니다.
Training Set(트레이닝 Set) | 딥러닝 모델을 생성하기 위해 바탕이 되는 데이터 셋으로, 학습 중에는 Train Set에 포함된 이미지의 특징만을 추출하여 모델이 생성됩니다. 클릭 시 등장하는 트레이닝 Set 대화 상자에서 설정할 수 있습니다.
Validation Set Ratio(Validation Set 비율) | Training set으로 지정된 이미지 중 validation set으로 사용될 이미지의 비율. 10%에서 50% 사이의 값을 입력할 수 있습니다. 동일한 수의 트레이닝 Set을 사용하면서 validation set 비율을 높이면 실제로 학습에 사용되는 데이터의 양이 줄어듭니다. 따라서, 작은 트레이닝 set을 쓸 때 높은 validation set 비율을 설정하면 성능에 부정적인 영향을 줄 수 있습니다. 반면, 지나치게 낮은 validation set을 설정하면 일반적인 데이터에 대해 좋은 성능을 내는 모델을 선택하기 어려울 수 있습니다.
Minimum Epochs(모델 선택 최소 Epochs) | Validation set 때문에, High Detail 모드는 오버피팅을 막기 위해 낮은 Epoch에서 생성된 모델을 최종 결과물로 선택할 수 있습니다. 만일 모델 선택 최소 epoch을 설정하면, High Detail 모드는 설정한 epoch 이후에 생성된 모델만 선택합니다. 만일 트레이닝 set에 대해서는 좋지만 테스트 set에 대해서는 좋지 않은 프로세싱 결과를 얻은 경우, 오버피팅을 고려할 수 있습니다. 하지만, 만일 트레이닝 set과 테스트 set 모두에 대해서 좋지 않은 프로세싱 결과를 얻을 경우, 학습이 덜 된 것일 수 있습니다. 이 경우에는 더 높은 모델 선택 최소 epoch을 사용하는 것을 추천합니다. 입력가능한 값은 0부터 현재 epoch입니다.
Patience | 매번 정해진 횟수만큼 iteration(반복 연산)이 실행되고 나면, High Detail 모드는 모델의 loss를 측정합니다. 매 128 iteration 마다, 만일 최소 Loss 값보다 낮은 Loss 값이 n번(=value of patience) 이상 발생하지 않으면 학습을 중단하고 최소 Loss값의 epoch의 모델을 추출합니다. 일정 기간동안 Loss 감소가 발생하지 않아서 트레이닝을 계속할 필요가 없을 경우에 트레이닝을 일찍 중단하기 위해서 patience를 사용할 수 있습니다. 입력가능한 값은 0부터 1000000000입니다. Tip: Iteration(반복 연산)은 인공 신경망이 1개의 이미지 batch(배치)로 트레이닝하는 것을 말합니다. 이는 Epoch과는 다른 개념으로, 아래의 식과 같이 정해집니다: Epoch = (배치 크기) x (전체 iteration) 예를 들면, 만일 도구에 100개의 이미지가 있고 배치 크기가 10이면, 1 Epoch은 10 iteration이 됩니다. 여기서 ‘Epoch’은 사용자가 설정하는 값이고 ‘배치 크기’는 GPU 용량에 따라 자동으로 정해집니다. 따라서, iteration 또한 배치 크기에 의해서 자동으로 정해집니다. 만일 Epoch 횟수를 설정하기가 어렵다면, 높은 epoch 횟수를 설정하고 patience를 설정해서 모델을 생성하도록 할 수 있습니다. 로그 메시지 창에서 매 epoch마다 loss를 확인할 수 있습니다. Loss는 트레이닝 set이 아닌 validation set을 바탕으로 계산됩니다.
클래스 가중치(Class Weights) | 가중치는 각 클래스에 대해서 다른 배치 샘플링을 적용하기 위해서 사용됩니다. 만일 클래스(태그) 별 뷰의 개수가 불균형 하면, 클래스 가중치를 사용해서 트레이닝을 위해 각 클래스에 다른 가중치를 부여할 수 있습니다. 예를 들어 클래스1 : 클래스2 = 2:1로 설정한 경우, 하나의 배치를 뽑을 때 클래스별 비율을 2:1로 설정하게 되어 Class 1의 이미지가 2배 학습되는 효과를 얻을 수 있습니다. 클래스 가중치를 설정하려면, 도구 매개변수 영역의 클래스 가중치 하이퍼링크를 클릭해서 클래스 가중치 대화 상자를 여십시오. 가중치 셀을 더블 클릭하면 클래스 가중치를 편집할 수 있습니다. 소수점 없이 자연수만 입력할 수 있습니다.