

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Object Detection 하이퍼파라미터
<a name="object-detection-api-config"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 요청에서 사용하고자 하는 훈련 알고리즘을 지정합니다. 또한 훈련 데이터세트에서 모델의 파라미터를 예측하는 데 사용되는 알고리즘 관련 하이퍼파라미터를 지정할 수도 있습니다. 다음 테이블에는 객체 감지 알고리즘 훈련을 위해 Amazon SageMaker AI에서 제공하는 하이퍼파라미터가 나와 있습니다. 객체 훈련 작동 방식에 대한 자세한 정보는 [Object Detection 작동 방식](algo-object-detection-tech-notes.md) 섹션을 참조하세요.


| 파라미터 이름 | 설명 | 
| --- | --- | 
| num\_classes | 출력 클래스의 수. 이 파라미터는 네트워크 출력의 차원을 정의하고 데이터세트의 클래스 수로 설정됩니다.<br />**필수**<br />유효한 값: 양수 | 
| num\_training\_samples | 입력 데이터세트의 훈련 예제 수. 이 값과 훈련 세트의 샘플 수가 일치하지 않는 경우 `lr_scheduler_step` 파라미터의 동작이 정의되지 않고 분산 훈련 정확도에 영향을 미칠 수 있습니다. <br />**필수**<br />유효한 값: 양수 | 
| base\_network | 사용할 기본 네트워크 아키텍처.<br />**선택 사항**<br />유효한 값: 'vgg-16' 또는 'resnet-50'<br />기본값: 'vgg-16' | 
| early\_stopping | `True`이면 훈련 중 조기 중지 로직을 사용하고 `False`이면 사용하지 않습니다.<br />**선택 사항**<br />유효한 값: `True` 또는 `False`<br />기본값: `False` | 
| early\_stopping\_min\_epochs | 조기 중지 로직을 호출하기 전에 실행해야 할 최소 epoch 수. `early_stopping`이 `True`인 경우에만 사용됩니다.<br />**선택 사항**<br />유효한 값: 양수<br />기본값: 10 | 
| early\_stopping\_patience | 상대적 지표에 `early_stopping_tolerance` 하이퍼파라미터로 정의한 개선 사항이 없는 경우 훈련 완료 전에 대기하는 epoch의 수. `early_stopping`이 `True`인 경우에만 사용됩니다.<br />**선택 사항**<br />유효한 값: 양수<br />기본값: 5 | 
| early\_stopping\_tolerance | 조기 중지를 피하기 위해 `validation:mAP` 즉, Mean Average Precision(mAP)의 상대적 개선이 초과해야 하는 내결함성 값. mAP의 변동 비율을 이전의 최적 mAP로 나눈 값이 설정된 `early_stopping_tolerance` 값보다 작으면 조기 중지에서 개선이 없는 것으로 간주합니다. `early_stopping`이 `True`인 경우에만 사용됩니다.<br />**선택 사항**<br />유효한 값: 0 ≤ 부동 소수점 ≤ 1<br />기본 값: 0.0 | 
| image\_shape | 입력 이미지의 이미지 크기. 입력 이미지의 크기를 이 크기의 사각형 이미지로 재조정합니다. 성능 향상을 위해 300 및 512를 사용하는 것이 좋습니다.<br />**선택 사항**<br />유효한 값: 양수 ≥300<br />기본값: 300 | 
| epochs | 훈련 epoch의 수.<br />**선택 사항**<br />유효한 값: 양수<br />기본값: 30 | 
| freeze\_layer\_pattern | 기본 네트워크의 동결 계층에 대한 정규식(regex). 예를 들어, `freeze_layer_pattern` = `"^(conv1_\|conv2_).*"`를 설정하면 `"conv1_"` 또는 `"conv2_"`가 이름에 포함된 모든 계층이 동결됩니다. 즉, 이러한 계층에 대한 가중치가 훈련 중 업데이트되지 않습니다. 계층 이름은 네트워크 기호 파일 [vgg16-symbol.json](http://data.mxnet.io/models/imagenet/vgg/vgg16-symbol.json ) 및 [resnet-50-symbol.json](http://data.mxnet.io/models/imagenet/resnet/50-layers/resnet-50-symbol.json)에서 찾을 수 있습니다. 레이어를 고정하면 가중치를 더 이상 수정할 수 없습니다. 이는 정확성에 대한 작은 손실을 대가로 훈련 시간을 크게 단축할 수 있습니다. 이 기술은 기본 네트워크의 하위 계층을 재교육할 필요가 없는 전이 학습에서 일반적으로 사용됩니다.<br />**선택 사항**<br />유효한 값: 문자열<br />기본값: 동결되는 계층 없음 | 
| kv\_store | 분산 훈련 중 사용되는 가중치 업데이트 동기화 모드. 가중치는 머신에 걸쳐 동기식 또는 비동기식으로 업데이트될 수 있습니다. 동기식 업데이트는 일반적으로 비동기식 업데이트보다 더 높은 정확도를 제공하지만 속도가 느릴 수 있습니다. 자세한 정보는 [분산 훈련](https://mxnet.apache.org/api/faq/distributed_training) MXNet 자습서를 참조하세요. 이 파라미터는 단일 머신 훈련에 해당되지 않습니다. <br />**선택 사항**<br />유효한 값: `'dist_sync'` 또는 `'dist_async'`[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/object-detection-api-config.html)<br />기본값: - | 
| label\_width | 훈련 및 검증 데이터 간 동기화에 사용되는 포스 패딩 레이블 너비. 예를 들어, 데이터의 이미지 하나에 객체가 최대 10개 포함되어 있고, 각 객체의 주석이 5가지 숫자 [class\_id, left, top, width, height]로 지정된 경우 `label_width`는 (10\*5 \+ 헤더 정보 길이)보다 작으면 안 됩니다. 헤더 정보 길이는 일반적으로 2입니다. 훈련에는 약간 큰 `label_width`를 사용하는 것이 좋은데, 이 예에서는 60이 적당합니다.<br />**선택 사항**<br />유효한 값: 데이터의 가장 긴 주석 정보 길이를 수용하기에 충분히 큰 양의 정수<br />기본값: 350 | 
| learning\_rate | 초기 학습률.<br />**선택 사항**<br />유효한 값: (0, 1]의 부동 소수점<br />기본값: 0.001 | 
| lr\_scheduler\_factor | 학습률이 감소하는 비율. `lr_new` = `lr_old` \* `lr_scheduler_factor`로 정의된 `lr_scheduler_step` 파라미터와 함께 사용됩니다.<br />**선택 사항**<br />유효한 값: (0, 1)의 부동 소수점<br />기본값: 0.1 | 
| lr\_scheduler\_step | 학습률이 감소하는 epoch. 학습률은 쉼표로 구분된 문자열에 나열된 epoch(예: "epoch1, epoch2, ...")에서 `lr_scheduler_factor`씩 감소합니다. 예를 들어 값이 "10, 20"으로 설정되어 있고, `lr_scheduler_factor`가 1/2로 설정된 경우 학습률은 10번째 epoch 이후 절반이 감소하고, 20번째 epoch 이후 다시 절반이 감소합니다.<br />**선택 사항**<br />유효한 값: 문자열<br />기본값: 빈 문자열 | 
| mini\_batch\_size | 훈련용 배치 크기. 단일 머신 다중 GPU 설정에서 각 GPU는 `mini_batch_size`/`num_gpu` 훈련 샘플을 처리합니다. `dist_sync` 모드의 다중 머신 훈련의 경우 실제 배치(batch) 크기는 `mini_batch_size`\*머신의 수입니다. `mini_batch_size`가 크면 일반적으로 훈련 속도가 빨라지지만 메모리 부족 문제가 발생할 수 있습니다. 메모리 사용량은 `mini_batch_size`, `image_shape` 및 `base_network` 아키텍처와 관련이 있습니다. 예를 들어, 단일 p3.2xlarge 인스턴스에서 메모리 부족 오류 없이 가장 큰 `mini_batch_size`는 32로, 이때 base\_network는 "resnet-50"이고, `image_shape`은 300입니다. 동일한 인스턴스에서 기본 네트워크가 `vgg-16`이고 `image_shape`가 300이면 `mini_batch_size`를 64로 설정할 수 있습니다.<br />**선택 사항**<br />유효한 값: 양수<br />기본값: 32 | 
| momentum | `sgd`에 대한 모멘텀. 다른 옵티마이저의 경우 무시됩니다.<br />**선택 사항**<br />유효한 값: (0, 1]의 부동 소수점<br />기본값: 0.9 | 
| nms\_threshold | 최대가 아닌 억제 임계값<br />**선택 사항**<br />유효한 값: (0, 1]의 부동 소수점<br />기본값: 0.45 | 
| optimizer | 옵티마이저 유형. 옵티마이저 값에 대한 자세한 정보는 [MXNet의 API](https://mxnet.apache.org/api/python/docs/api/)를 참조하세요.<br />**선택 사항**<br />유효한 값: ['sgd', 'adam', 'rmsprop', 'adadelta']<br />기본값: 'sgd' | 
| overlap\_threshold | 평가 중첩 임계값<br />**선택 사항**<br />유효한 값: (0, 1]의 부동 소수점<br />기본값: 0.5 | 
| use\_pretrained\_model | 훈련용 사전 훈련 모델을 사용할지 여부를 표시합니다. 1로 설정된 경우 해당 아키텍처를 가진 사전 훈련 모델이 로드되고 훈련에 사용됩니다. 그렇지 않은 경우 네트워크는 처음부터 교육됩니다.<br />**선택 사항**<br />유효한 값: 0 또는 1<br />기본값: 1 | 
| weight\_decay | `sgd` 및 `rmsprop`에 대한 가중치 감소 계수. 다른 옵티마이저의 경우 무시됩니다.<br />**선택 사항**<br />유효한 값: (0, 1)의 부동 소수점<br />기본값: 0.0005 | 