Object2Vec 하이퍼파라미터 - 아마존 SageMaker

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

Object2Vec 하이퍼파라미터

CreateTrainingJob 요청에서 훈련 알고리즘을 지정합니다. 알고리즘별 하이퍼파라미터를 문자열-문자열 맵으로 지정할 수 있습니다. 다음 표에는 Object2Vec 훈련 알고리즘의 하이퍼파라미터가 나와 있습니다.

파라미터 이름 설명
enc0_max_seq_len

enc0 인코더에 대한 최대 시퀀스 길이.

필수

유효한 값: 1 ≤ 정수 ≤ 5000

enc0_vocab_size

enc0 토큰의 어휘 크기.

필수

유효한 값: 2 ≤ 정수 ≤ 3000000

bucket_width

버킷팅이 활성화된 경우 데이터 시퀀스 길이 간에 허용되는 차이. 버킷팅을 활성화하려면 이 파라미터에 0이 아닌 값을 지정합니다.

선택

유효한 값: 0 ≤ 정수 ≤ 100

기본값: 0(버킷팅 없음)

comparator_list

두 임베딩을 비교하는 방식을 사용자 지정하는 데 사용되는 목록. Object2Vec 비교기 연산자 계층은 두 인코더 모두로부터 임베딩을 입력으로 취하여 단일 벡터를 출력합니다. 이 벡터는 하위 벡터의 결합입니다. comparator_list에 전달되는 값과 전달되는 순서가 이들 하위 벡터가 연산되는 방법을 결정합니다. 예를 들어 comparator_list="hadamard, concat"일 경우, 비교기 연산자가 연속적인 두 인코딩과 그들의 아다마르 곱(Hadamard product)을 연쇄하여 벡터를 구성합니다. 한편, comparator_list="hadamard"일 경우 비교기 연산자는 두 인코딩만의 아다마르 곱(Hadamard product)으로 벡터를 구성합니다.

선택

유효한 값: 세가지 이진 연산자 hadamard, concat 또는 abs_diff의 임의의 이름 조합을 포함하는 문자열. Object2Vec 알고리즘에서는 현재 두 벡터 인코딩이 동일한 차원을 가져야 합니다. 이러한 연산자는 다음과 같이 하위 벡터를 산출합니다.

  • hadamard: 벡터를 두 인코딩의 아다마르(요소별) 곱으로 구성합니다.

  • concat: 벡터를 두 인코딩의 결합으로 구성합니다.

  • abs_diff: 두 인코딩 간 절대차로 벡터를 구성합니다.

기본값: "hadamard, concat, abs_diff"

dropout

네트워크 계층에 대한 드롭아웃 비율. 드롭아웃은 공동 의존 뉴런을 잘라내 과적합을 줄이는, 신경망에 사용되는 정규화의 한 가지 형태입니다.

선택

유효한 값: 0.0 ≤ 부동 소수점 ≤ 1.0

기본값: 0.0

early_stopping_patience

조기 중지 전에 허용되는 개선 없는 연속 epoch 수가 적용됩니다. 개선은 early_stopping_tolerance 하이퍼파라미터를 사용하여 정의됩니다.

선택

유효한 값: 1 ≤ 정수 ≤ 5

기본값: 3

early_stopping_tolerance

early_stopping_patience 하이퍼파라미터 concludes에 지정된 연속된 epoch 개수 이후 조기 중지를 피하기 위해 알고리즘이 연속 epoch 간에 획득해야 하는 손실 함수의 감소

선택

유효한 값: 0.000001 ≤ 부동 소수점 ≤ 0.1

기본값: 0.01

enc_dim

임베딩 계층의 출력 차원

선택

유효한 값: 4 ≤ 정수 ≤ 10000

기본값: 4096

enc0_network

enc0 인코더의 네트워크 모델

선택

유효한 값: hcnn, bilstm 또는 pooled_embedding

  • hcnn: 계층적 컨볼루션 신경망.

  • bilstm: 양방향 Long Short-Term Memory(biLSTM) 네트워크. 여기서 신호는 시간상 앞/뒤로 전파됩니다. 이는 순차적 학습 작업에 적합한 반복적 신경망(RNN) 아키텍처입니다.

  • pooled_embedding: 입력 내 모든 토큰의 임베딩을 평균합니다.

기본값: hcnn

enc0_cnn_filter_width

컨볼루션 신경망(CNN) enc0 인코더의 필터 너비

조건

유효한 값: 1 ≤ 정수 ≤ 9

기본값: 3

enc0_freeze_pretrained_embedding

사전 훈련된 임베딩 가중치로 enc0을 동결할지 여부

조건

유효한 값: True 또는 False

기본값: True

enc0_layers

enc0 인코더의 계층 수.

조건

유효한 값: auto 또는 1 ≤ 정수 ≤ 4

  • hcnn의 경우, auto는 4를 의미합니다.

  • bilstm의 경우, auto는 1을 의미합니다.

  • pooled_embedding의 경우, auto는 계층 수를 무시합니다.

기본값: auto

enc0_pretrained_embedding_file

보조 데이터 채널 내 사전 훈련된 enc0 토큰 임베딩 파일의 파일 이름

조건

유효한 값: 영숫자 문자, 밑줄 또는 마침표가 포함된 문자열. [A-Za-z0-9\.\_]

기본값: ""(빈 문자열)

enc0_token_embedding_dim

enc0 토큰 임베딩 계층의 출력 차원

조건

유효한 값: 2 ≤ 정수 ≤ 1000

기본값: 300

enc0_vocab_file

사전 훈련된 enc0 토큰 임베딩 벡터를 숫자 어휘 ID로 매핑하기 위한 어휘 파일

조건

유효한 값: 영숫자 문자, 밑줄 또는 마침표가 포함된 문자열. [A-Za-z0-9\.\_]

기본값: ""(빈 문자열)

enc1_network

enc1 인코더의 네트워크 모델. enc1 인코더가 동일한 네트워크 모델을 enc0으로 사용하기 원할 경우(하이퍼파라미터 값을 포함) 값을 enc0으로 설정합니다.

참고

enc0 및 enc1 인코더 네트워크가 대칭 아키텍처를 갖는 경우에도 이들 네트워크의 파라미터 값을 공유할 수 없습니다.

선택

유효한 값: enc0, hcnn, bilstm 또는 pooled_embedding

  • enc0: enc0 인코더의 네트워크 모델

  • hcnn: 계층적 컨볼루션 신경망.

  • bilstm: 양방향 LSTM. 여기서 신호는 시간상 앞/뒤로 전파됩니다. 이는 순차적 학습 작업에 적합한 반복적 신경망(RNN) 아키텍처입니다.

  • pooled_embedding: 입력 내 모든 토큰의 임베딩을 평균합니다.

기본값: enc0

enc1_cnn_filter_width

CNN enc1 인코더의 필터 너비

조건

유효한 값: 1 ≤ 정수 ≤ 9

기본값: 3

enc1_freeze_pretrained_embedding

사전 훈련된 임베딩 가중치로 enc1을 동결할지 여부

조건

유효한 값: True 또는 False

기본값: True

enc1_layers

enc1 인코더의 계층 수

조건

유효한 값: auto 또는 1 ≤ 정수 ≤ 4

  • hcnn의 경우, auto는 4를 의미합니다.

  • bilstm의 경우, auto는 1을 의미합니다.

  • pooled_embedding의 경우, auto는 계층 수를 무시합니다.

기본값: auto

enc1_max_seq_len

enc1 인코더에 대한 최대 시퀀스 길이.

조건

유효한 값: 1 ≤ 정수 ≤ 5000

enc1_pretrained_embedding_file

보조 데이터 채널 내 사전 훈련된 enc1 토큰 임베딩 파일의 이름

조건

유효한 값: 영숫자 문자, 밑줄 또는 마침표가 포함된 문자열. [A-Za-z0-9\.\_]

기본값: ""(빈 문자열)

enc1_token_embedding_dim

enc1 토큰 임베딩 계층의 출력 차원

조건

유효한 값: 2 ≤ 정수 ≤ 1000

기본값: 300

enc1_vocab_file

사전 훈련된 enc1 토큰 임베딩을 어휘 ID로 매핑하기 위한 어휘 파일

조건

유효한 값: 영숫자 문자, 밑줄 또는 마침표가 포함된 문자열. [A-Za-z0-9\.\_]

기본값: ""(빈 문자열)

enc1_vocab_size

enc0 토큰의 어휘 크기.

조건

유효한 값: 2 ≤ 정수 ≤ 3000000

epochs

훈련을 위해 실행할 epoch 수

선택

유효한 값: 1 ≤ 정수 ≤ 100

기본값: 30

learning_rate

훈련에 대한 학습률

선택

유효한 값: 1.0E-6 ≤ 부동 소수점 ≤ 1.0

기본값: 0.0004

mini_batch_size

훈련 중 optimizer에 대해 데이터 세트가 분할되는 배치 크기

선택

유효한 값: 1 ≤ 정수 ≤ 10000

기본값: 32

mlp_activation

다중 계층 퍼셉트론(MLP) 계층에 대한 활성화 함수 유형

선택

유효한 값: tanh, relu 또는 linear

  • tanh: 쌍곡탄젠트

  • relu: Rectified linear unit(ReLU)

  • linear: 선형 함수

기본값: linear

mlp_dim

MLP 계층의 출력 차원.

선택

유효한 값: 2 ≤ 정수 ≤ 10000

기본값: 512

mlp_layers

네트워크의 MLP 계층 수.

선택

유효한 값: 0 ≤ 정수 ≤ 10

기본값: 2

negative_sampling_rate

사용자가 제공하는 양수 샘플 대비 알고리즘 훈련을 촉진하기 위해 생성되는 음수 샘플의 비율. 음수 샘플은 실제 발생할 가능성이 없는 데이터를 나타내며 훈련에서 음수로 레이블이 지정됩니다. 이들은 모델이 관찰되는 양수 샘플과 그렇지 않은 음수 샘플을 구별하는 훈련을 촉진합니다. 훈련에 사용되는 양수 샘플 대비 음수 샘플의 비율을 지정하려면 값을 양의 정수로 설정합니다. 예를 들어 모든 샘플이 양수인 입력 데이터에 대해 알고리즘을 훈련할 때 negative_sampling_rate를 2로 설정할 경우, Object2Vec 알고리즘은 내부적으로 양수 샘플당 2개의 음수 샘플을 생성합니다. 훈련 중 음수 샘플을 생성하지 않으려면 값을 0으로 설정합니다.

선택

유효한 값: 0 ≤ 정수

기본값: 0(끄기)

num_classes

분류 훈련을 위한 클래스 수. Amazon SageMaker는 회귀 문제의 경우 이 하이퍼파라미터를 무시합니다.

선택

유효한 값: 2 ≤ 정수 ≤ 30

기본값: 2

optimizer

옵티마이저 유형.

선택

유효한 값: adadelta, adagrad, adam, sgd 또는 rmsprop

기본값: adam

output_layer

작업이 회귀 또는 분류인지 지정하는 출력 계층의 유형.

선택

유효한 값: softmax 또는 mean_squared_error

  • softmax: 분류에 사용되는 Softmax 함수

  • mean_squared_error: 회귀에 사용되는 MSE

기본값: softmax

tied_token_embedding_weight

두 인코더 모두에 공유 임베딩 계층을 사용할지 여부. 두 인코더 모두의 입력이 동일한 토큰 수준 단위를 사용하는 경우 공유 토큰 임베딩 계층을 사용합니다. 예를 들어 문서 모음의 경우 한 인코더는 문장을 인코딩하고 다른 인코더는 전체 문서를 인코딩할 경우 공유 토큰 임베딩 계층을 사용할 수 있습니다. 문장과 문서 모두 동일한 어휘의 단어로 구성되기 때문입니다.

선택

유효한 값: True 또는 False

기본값: False

token_embedding_storage_type

훈련 중 사용되는 그래디언트 업데이트의 모드: dense 모드가 사용되는 경우 그래디언트의 행 대부분의 값이 0이 아니더라도 옵티마이저가 토큰 임베딩 계층에 대해 전체 그래디언트 행렬을 계산합니다. sparse 모드가 사용되는 경우 옵티마이저가 실제로 미니 배치에서 사용되는 그래디언트의 행만 저장합니다. 알고리즘이 0이 아닌 행에 대해서만 그래디언트를 계산하는 희소 그래디언트 업데이트를 수행하도록 하여 훈련 속도를 높이려면 row_sparse를 지정합니다. 값을 row_sparse로 지정하면 다음과 같은 다른 하이퍼파라미터에 사용할 수 있는 값이 제한됩니다.

  • optimizer 하이퍼파라미터를 adam, adagrad 또는 sgd로 설정해야 합니다. 그렇지 않을 경우 알고리즘이 CustomerValueError를 반환합니다.

  • 알고리즘이 자동으로 bucket_width 하이퍼파라미터를 0으로 설정하여 버킷팅을 비활성화합니다.

선택

유효한 값: dense 또는 row_sparse

기본값: dense

weight_decay

최적화에 사용되는 가중치 감소 파라미터

선택

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

가본값: 0(감퇴 없음)