이미지 분류 하이퍼파라미터 - 아마존 SageMaker

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

이미지 분류 하이퍼파라미터

하이퍼파라미터는 기계 학습 모델이 학습을 시작하기 전에 설정되는 파라미터입니다. Amazon의 SageMaker 내장 이미지 분류 알고리즘은 다음과 같은 하이퍼파라미터를 지원합니다. 이미지 분류 하이퍼파라미터 튜닝에 대한 자세한 내용은 이미지 분류 모델 튜닝 단원을 참조하십시오.

파라미터 이름 설명
num_classes

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

멀티 클래스 분류 외에도 다중 레이블 분류도 지원됩니다. 보강된 매니페스트 파일을 사용하여 다중 레이블 분류 작업을 수행하는 방법에 대한 자세한 내용은 Image Classification 알고리즘의 입력/출력 인터페이스 단원을 참조하십시오.

필수

유효한 값: 양수

num_training_samples

입력 데이터 세트의 교육 예제 수.

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

필수

유효한 값: 양수

augmentation_type

데이터 증강 유형. 입력 이미지는 아래 지정된 여러 방법으로 증강될 수 있습니다.

  • crop: 임의적으로 이미지를 자르고 이미지를 수평으로 뒤집습니다.

  • crop_color: ‘crop’에 더해 [-36, 36], [-50, 50] 및 [-50, 50] 범위의 임의 값이 Hue-Saturation-Lightness 채널에 맞춰 추가됩니다.

  • crop_color_transform: crop_color에 더해 이미지에 대해 회전, 기울임 및 종횡비 변화와 같은 임의 변형이 적용됩니다. 회전의 최대 각도는 10도이고, 기울기 비율의 최대 값은 0.1이며, 최대 종횡비는 0.25입니다.

선택 사항

유효한 값: crop, crop_color 또는 crop_color_transform.

기본값: 기본값 없음

beta_1

adam에 대한 beta1로 1차 추정에 대한 지수 감소율입니다.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본 값: 0.9

beta_2

adam에 대한 beta2로 2차 추정에 대한 지수 감소율입니다.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본값: 0.999

checkpoint_frequency

모델 파라미터를 저장하는 기간(epoch 횟수).

모든 체크포인트 파일은 최종 모델 파일 “model.tar.gz”의 일부로 저장되고 지정된 모델 위치로 S3에 업로드됩니다. 이렇게 하면 훈련 중에 저장된 체크포인트 수에 비례하여 모델 파일의 크기가 증가합니다.

선택 사항

유효한 값: epochs보다 크기 않은 양의 정수.

기본값: 없음(최고의 유효성 검사 정확도를 가진 epoch에서 체크포인트 저장)

early_stopping

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

선택 사항

유효한 값: True또는 False

기본 값: False

early_stopping_min_epochs

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

선택 사항

유효한 값: 양수

기본값: 10

early_stopping_patience

상대적 지표에서 개선 사항이 없는 경우 교육 완료 전에 대기하는 epoch의 수. early_stoppingTrue인 경우에만 사용됩니다.

선택 사항

유효한 값: 양수

기본값: 5

early_stopping_tolerance

정확도 검증 지표의 개선을 측정하는 상대 공차. 이전 최적 정확도로 나눈 정확도의 개선율이 설정된 early_stopping_tolerance 값보다 작은 경우 조기 중지 시 개선되지 않은 것으로 간주합니다. early_stoppingTrue인 경우에만 사용됩니다.

선택 사항

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

기본 값: 0.0

epochs

교육 epoch의 수.

선택 사항

유효한 값: 양수

기본값: 30

eps

adamrmsprop에 대한 엡실론. 0으로 나누기를 방지하는 작은 값으로 주로 설정됩니다.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본값: 1e-8

gamma

rmsprop에 대한 gamma, 기울기 제곱의 이동 평균에 대한 감소 요소.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본 값: 0.9

image_shape

입력 이미지 차원으로 네트워크의 입력 계층과 동일한 크기입니다. 형식은 'num_channels, height, width'로 정의됩니다. 이미지 차원은 모든 값을 가져올 수 있고 네트워크는 입력의 다양한 차원을 처리할 수 있습니다. 하지만 크기가 큰 이미지 차원 를 사용하는 경우 메모리 제약이 있을 수 있습니다. 사전 훈련된 모델은 224 x 224로 고정된 이미지 크기만 사용할 수 있습니다. 이미지 분류에 대한 일반적 이미지 차원은 '3,224,224'입니다. 이는 ImageNet 데이터세트와 비슷합니다.

훈련의 경우 어떤 차원에서든 입력 이미지가 이 파라미터보다 작으면 훈련이 실패합니다. 이미지가 더 크면 이 파라미터로 지정된 영역만큼 이미지의 일부가 잘립니다. augmentation_type 하이퍼파라미터가 설정된 경우 무작위 잘라내기가 수행되고, 그렇지 않으면 중앙 잘라내기가 수행됩니다.

추론 시 입력 이미지는 훈련 중에 사용된 image_shape 크기로 조정됩니다. 가로 세로 비율은 유지되지 않으며 이미지는 잘리지 않습니다.

선택 사항

유효한 값: 문자열

기본값: ‘3,224,224’

kv_store

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

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

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

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

선택 사항

유효한 값: dist_sync또는 dist_async

기본값: 기본값 없음

learning_rate

초기 학습률.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본값: 0.1

lr_scheduler_factor

lr_scheduler_step 파라미터와 결합하여 사용되는 학습률 절감 비율로 lr_new = lr_old * lr_scheduler_factor로 정의됩니다.

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본값: 0.1

lr_scheduler_step

학습률이 감소하는 epoch. lr_scheduler_factor 파라미터의 설명과 같이 학습률은 이러한 epoch에서 lr_scheduler_factor만큼 감소합니다. 예를 들어 값이 "10, 20"으로 설정된 경우 학습률은 10번째 epoch 이후 lr_scheduler_factor만큼 감소하고, 20번째 epoch 이후 lr_scheduler_factor만큼 다시 감소합니다. epoch은 ","로 구분됩니다.

선택 사항

유효한 값: 문자열

기본값: 기본값 없음

mini_batch_size

교육용 배치 크기. 단일 머신 다중 GPU 설정에서 각 GPU는 mini_batch_size/num_gpu 훈련 샘플을 처리합니다. dist_sync 모드의 다중 머신 훈련의 경우 실제 배치(batch) 크기는 mini_batch_size*머신의 수입니다. 자세한 정보는 MXNet 설명서를 참조하십시오.

선택 사항

유효한 값: 양수

기본 값: 32

momentum

sgdnag에 대한 모멘텀(다른 옵티마이저의 경우 무시됨)

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본 값: 0.9

multi_label

각 샘플에 여러 레이블을 할당할 수 있는 다중 레이블 분류에 사용하도록 하는 플래그. 모든 클래스의 평균 정확도가 기록됩니다.

선택 사항

유효한 값: 0 또는 1

기본값: 0

num_layers

네트워크에 대한 계층 수. 이미지 크기가 큰 데이터 (예: 224x224 ImageNet) 의 경우 집합 [18, 34, 50, 101, 152, 200] 에서 레이어 수를 선택하는 것이 좋습니다. 이미지 크기가 작은 데이터(예: 28x28, CIFAR)의 경우 세트의 계층 수를 [20, 32, 44, 56, 110]으로 선택하는 것이 좋습니다. 각 세트의 레이어 수는 ResNet 용지를 기준으로 합니다. 전송 학습의 경우 계층의 수는 기본 네트워크의 아키텍처를 정의하고 이런 이유로 [18, 34, 50, 101, 152, 200]으로만 선택할 수 있습니다.

선택 사항

유효한 값: [18, 34, 50, 101, 152, 200] 또는 [20, 32, 44, 56, 110]의 양의 정수

기본값: 152

optimizer

옵티마이저 유형. 옵티마이저의 파라미터에 대한 자세한 정보는 MXNet의 API를 참조하십시오.

선택 사항

유효한 값: sgd, adam, rmsprop 또는 nag 중 하나

기본 값: sgd

precision_dtype

훈련에 사용되는 가중치의 정밀도. 이 알고리즘은 가중치에 단일 정밀도(float32) 또는 반정밀도(float16)를 사용할 수 있습니다. 가중치에 반정밀도를 사용하면 메모리 사용량이 줄어듭니다.

선택 사항

유효한 값: float32또는 float16

기본 값: float32

resize

훈련을 위해 크기를 조정한 후 이미지의 가장 짧은 면에 있는 픽셀 수입니다. 이 파라미터가 설정되지 않은 경우 크기 조정 없이 훈련 데이터가 사용됩니다. 훈련 실패를 방지하려면 파라미터가 image_shape의 너비와 높이 구성요소 모두보다 커야 합니다.

이미지 콘텐츠 유형을 사용하는 경우 필수

RecordIO 콘텐츠 형식을 사용하는 경우 선택 사항

유효한 값: 양수

기본값: 기본값 없음

top_k

훈련 중 top-k 정확도를 보고합니다. 이 파라미터는 1보다 커야 합니다. top-1 교육 정확도가 이미 보고된 정기 교육 정확도와 동일하기 때문입니다.

선택 사항

유효한 값: 1보다 큰 양의 정수.

기본값: 기본값 없음

use_pretrained_model

훈련에 사전 훈련 모델을 사용하도록 하는 플래그. 1로 설정된 경우 해당 계층 수를 가진 사전 교육 모델이 로드되고 교육에 사용됩니다. 최상위 FC 계층만이 임의 가중치로 다시 초기화됩니다. 그렇지 않은 경우 네트워크는 처음부터 교육됩니다.

선택 사항

유효한 값: 0 또는 1

기본값: 0

use_weighted_loss

다중 레이블 분류에 가중치 기반 교차 엔트로피 손실을 사용하도록 하는 플래그(multi_label = 1인 경우에만 사용됨). 여기서 가중치는 클래스 배포를 기반으로 계산됩니다.

선택 사항

유효한 값: 0 또는 1

기본값: 0

weight_decay

sgdnag에 대한 계수 가중치 감소(다른 옵티마이저의 경우 무시됨)

선택 사항

유효한 값: 부동 소수점. 범위: [0, 1].

기본값: 0.0001