Object Detection 하이퍼파라미터 - Amazon SageMaker

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

Object Detection 하이퍼파라미터

CreateTrainingJob 요청에서 사용하고자 하는 훈련 알고리즘을 지정합니다. 또한 훈련 데이터 세트에서 모델의 파라미터를 예측하는 데 사용되는 알고리즘 관련 하이퍼파라미터를 지정할 수도 있습니다. 다음 표에는 객체 감지 알고리즘 훈련을 SageMaker 위해 Amazon에서 제공하는 하이퍼파라미터가 나열되어 있습니다. 객체 훈련 작동 방식에 대한 자세한 정보는 Object Detection 작동 방식 단원을 참조하세요.

파라미터 이름 설명
num_classes

출력 클래스의 수. 이 파라미터는 네트워크 출력의 차원을 정의하고 데이터 세트의 클래스 수로 설정됩니다.

필수

유효한 값: 양수

num_training_samples

입력 데이터 세트의 훈련 예제 수.

참고

이 값과 훈련 세트의 샘플 수가 일치하지 않는 경우 lr_scheduler_step 파라미터의 동작이 정의되지 않고 분산 훈련 정확도에 영향을 미칠 수 있습니다.

필수

유효한 값: 양수

base_network

사용할 기본 네트워크 아키텍처.

선택 사항

유효한 값: 'vgg-16' 또는 'resnet-50'

기본값: 'vgg-16'

early_stopping

True이면 훈련 중 조기 중지 로직을 사용하고 False이면 사용하지 않습니다.

선택 사항

유효한 값: True또는 False

기본 값: False

early_stopping_min_epochs

조기 중지 로직을 호출하기 전에 실행해야 할 최소 epoch 수. early_stoppingTrue인 경우에만 사용됩니다.

선택 사항

유효한 값: 양수

기본값: 10

early_stopping_patience

상대적 지표에 early_stopping_tolerance 하이퍼파라미터로 정의한 개선 사항이 없는 경우 훈련 완료 전에 대기하는 epoch의 수. early_stoppingTrue인 경우에만 사용됩니다.

선택 사항

유효한 값: 양수

기본값: 5

early_stopping_tolerance

조기 중지를 피하기 위해 validation:mAP 즉, Mean Average Precision(mAP)의 상대적 개선이 초과해야 하는 내결함성 값. mAP의 변동 비율을 이전의 최적 mAP로 나눈 값이 설정된 early_stopping_tolerance 값보다 작으면 조기 중지에서 개선이 없는 것으로 간주합니다. early_stoppingTrue인 경우에만 사용됩니다.

선택 사항

유효한 값: 0 ≤ 부동 소수점 ≤ 1

기본 값: 0.0

image_shape

입력 이미지의 이미지 크기. 입력 이미지의 크기를 이 크기의 사각형 이미지로 재조정합니다. 성능 향상을 위해 300 및 512를 사용하는 것이 좋습니다.

선택 사항

유효한 값: 양수 ≥300

기본값: 300

epochs

훈련 epoch의 수.

선택 사항

유효한 값: 양수

기본값: 30

freeze_layer_pattern

기본 네트워크의 동결 계층에 대한 정규식(regex). 예를 들어, freeze_layer_pattern = "^(conv1_|conv2_).*"를 설정하면 "conv1_" 또는 "conv2_"가 이름에 포함된 모든 계층이 동결됩니다. 즉, 이러한 계층에 대한 가중치가 훈련 중 업데이트되지 않습니다. 계층 이름은 네트워크 기호 파일 vgg16-symbol.jsonresnet-50-symbol.json에서 찾을 수 있습니다. 레이어를 고정하면 가중치를 더 이상 수정할 수 없습니다. 이는 정확성에 대한 작은 손실을 대가로 훈련 시간을 크게 단축할 수 있습니다. 이 기술은 기본 네트워크의 하위 계층을 재교육할 필요가 없는 전이 학습에서 일반적으로 사용됩니다.

선택 사항

유효한 값: 문자열

기본값: 동결되는 계층 없음

kv_store

분산 훈련 중 사용되는 가중치 업데이트 동기화 모드. 가중치는 머신에 걸쳐 동기식 또는 비동기식으로 업데이트될 수 있습니다. 동기식 업데이트는 일반적으로 비동기식 업데이트보다 더 높은 정확도를 제공하지만 속도가 느릴 수 있습니다. 자세한 내용은 분산 훈련 MXNet 자습서를 참조하세요.

참고

이 파라미터는 단일 머신 훈련에 해당되지 않습니다.

선택 사항

유효한 값: 'dist_sync'또는 'dist_async'

  • 'dist_sync': 모든 배치 이후 모든 작업자와 함께 경사가 동기화됩니다. 'dist_sync'에서 batch-size는 각 머신에서 사용되는 배치 크기를 의미합니다. 따라서 n개의 머신이 있고 배치 크기 b를 사용하는 경우 dist_sync는 배치 크기가 n*b인 단일 머신처럼 작동합니다.

  • 'dist_async': 비동기식 업데이트를 수행합니다. 모든 머신으로부터 경사를 수신할 때마다 가중치가 업데이트되고 가중치 업데이트는 원자성입니다. 하지만 순서는 보장되지 않습니다.

기본값: -

label_width

훈련 및 검증 데이터 간 동기화에 사용되는 포스 패딩 레이블 너비. 예를 들어, 데이터의 이미지 하나에 객체가 최대 10개 포함되어 있고, 각 객체의 주석이 5가지 숫자 [class_id, left, top, width, height]로 지정된 경우 label_width는 (10*5 + 헤더 정보 길이)보다 작으면 안 됩니다. 헤더 정보 길이는 일반적으로 2입니다. 훈련에는 약간 큰 label_width를 사용하는 것이 좋은데, 이 예에서는 60이 적당합니다.

선택 사항

유효한 값: 데이터의 가장 긴 주석 정보 길이를 수용하기에 충분히 큰 양의 정수

기본값: 350

learning_rate

초기 학습률.

선택 사항

유효한 값: (0, 1]의 부동 소수점

기본값: 0.001

lr_scheduler_factor

학습률이 감소하는 비율. lr_new = lr_old * lr_scheduler_factor로 정의된 lr_scheduler_step 파라미터와 함께 사용됩니다.

선택 사항

유효한 값: (0, 1)의 부동 소수점

기본값: 0.1

lr_scheduler_step

학습률이 감소하는 epoch. 학습률은 쉼표로 구분된 문자열에 나열된 epoch(예: "epoch1, epoch2, ...")에서 lr_scheduler_factor씩 감소합니다. 예를 들어 값이 "10, 20"으로 설정되어 있고, lr_scheduler_factor가 1/2로 설정된 경우 학습률은 10번째 epoch 이후 절반이 감소하고, 20번째 epoch 이후 다시 절반이 감소합니다.

선택 사항

유효한 값: 문자열

기본값: 빈 문자열

mini_batch_size

훈련용 배치 크기. 단일 기계 다중 GPU 설정에서 각 는 mini_batch_size/num_gpu 훈련 샘플을 GPU 처리합니다. dist_sync 모드의 다중 머신 훈련의 경우 실제 배치(batch) 크기는 mini_batch_size*머신의 수입니다. mini_batch_size가 크면 일반적으로 훈련 속도가 빨라지지만 메모리 부족 문제가 발생할 수 있습니다. 메모리 사용량은 mini_batch_size, image_shapebase_network 아키텍처와 관련이 있습니다. 예를 들어, 단일 p3.2xlarge 인스턴스에서 메모리 부족 오류 없이 가장 큰 mini_batch_size는 32로, 이때 base_network는 "resnet-50"이고, image_shape은 300입니다. 동일한 인스턴스에서 기본 네트워크가 vgg-16이고 image_shape가 300이면 mini_batch_size를 64로 설정할 수 있습니다.

선택 사항

유효한 값: 양수

기본값: 32

momentum

sgd에 대한 모멘텀. 다른 옵티마이저의 경우 무시됩니다.

선택 사항

유효한 값: (0, 1]의 부동 소수점

기본값: 0.9

nms_threshold

최대가 아닌 억제 임계값

선택 사항

유효한 값: (0, 1]의 부동 소수점

기본값: 0.45

optimizer

옵티마이저 유형. 옵티마이저 값에 대한 자세한 내용은 MXNet의 섹션을 참조하세요API.

선택 사항

유효한 값: ['sgd', 'adam', 'rmsprop', 'adadelta']

기본값: 'sgd'

overlap_threshold

평가 중첩 임계값

선택 사항

유효한 값: (0, 1]의 부동 소수점

기본값: 0.5

use_pretrained_model

훈련용 사전 훈련 모델을 사용할지 여부를 표시합니다. 1로 설정된 경우 해당 아키텍처를 가진 사전 훈련 모델이 로드되고 훈련에 사용됩니다. 그렇지 않은 경우 네트워크는 처음부터 교육됩니다.

선택 사항

유효한 값: 0 또는 1

기본값: 1

weight_decay

sgdrmsprop에 대한 가중치 감소 계수. 다른 옵티마이저의 경우 무시됩니다.

선택 사항

유효한 값: (0, 1)의 부동 소수점

기본값: 0.0005