Hiperparâmetros de Object2Vec - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Hiperparâmetros de Object2Vec

Na solicitação CreateTrainingJob, é especificado o algoritmo de treinamento. Você também pode especificar hiperparâmetros específicos do algoritmo como mapas. string-to-string A tabela a seguir lista os hiperparâmetros do algoritmo de treinamento do Object2Vec.

Nome do parâmetro Descrição
enc0_max_seq_len

O tamanho máximo da sequência do codificador enc0.

Obrigatório

Valores válidos: 1 ≤ inteiro ≤ 5000

enc0_vocab_size

O tamanho do vocabulário de tokens enc0.

Obrigatório

Valores válidos: 2 ≤ inteiro ≤ 3000000

bucket_width

A diferença permitida entre o tamanho da sequência de dados quando a geração de buckets é habilitada. Para habilitar buckets, especifique um valor diferente de zero para esse parâmetro.

Opcional

Valores válidos: 0 ≤ inteiro ≤ 100

Valor padrão: 0 (sem geração de buckets)

comparator_list

Uma lista usada para personalizar a maneira como dois envios são comparados. A camada de operador do comparador Object2Vec usa as codificações de ambos os codificadores como entradas e saídas de um único vetor. Este vetor é uma concatenação de subvetores. Os valores da cadeia de caracteres transmitidas para a comparator_list e a ordem na qual elas são transmitidas determina como esses subvetores são montados. Por exemplo, se comparator_list="hadamard, concat", o operador comparador, cria o vetor concatenando o produto de Hadamard de duas codificações e a concatenação de duas codificações. Se, por outro lado, e comparator_list="hadamard", o operador comparador, cria o vetor como produto do hadamard de apenas duas codificações.

Opcional

Valores válidos: uma string que contém qualquer combinação dos nomes dos três operadores binários: hadamard, concat, ou abs_diff. O algoritmo Object2Vec atualmente exige que as duas codificações vetoriais tenham a mesma dimensão. Esses operadores produzem os subvetores da seguinte maneira:

  • hadamard: Cria um vetor como produto Hadamard (element-wise) de duas codificações.

  • concat: Cria um vetor como a concatenação de duas codificações.

  • abs_diff: Cria um vetor como a diferença absoluta entre duas codificações.

Valor padrão: "hadamard, concat, abs_diff"

dropout

A probabilidade de abandono para camadas de rede. O abandono é uma forma de regularização usada em redes neurais que reduz o sobreajuste ao remover neurônios codependentes.

Opcional

Valores válidos: 0,0 ≤ flutuante ≤ 1,0

Valor padrão: 0.0

early_stopping_patience

O número de epochs consecutivos sem melhoria permitida antes que a interrupção precoce seja aplicada. A melhoria é definida pelo hiperparâmetro early_stopping_tolerance.

Opcional

Valores válidos: 1 ≤ inteiro ≤ 5

Valor padrão: 3

early_stopping_tolerance

A redução na função de perda que um algoritmo deve alcançar entre epochs consecutivos para evitar a interrupção precoce após o número de epochs consecutivos especificado no hiperparâmetro early_stopping_patience ser concluído.

Opcional

Valores válidos: 0,000001 ≤ flutuante ≤ 0,1

Valor padrão: 0,01

enc_dim

A dimensão da saída da camada de incorporação.

Opcional

Valores válidos: 4 ≤ inteiro ≤ 10000

Valor padrão: 4096

enc0_network

O modelo de rede para o codificador enc0.

Opcional

Valores válidos: hcnn, bilstm ou pooled_embedding

  • hcnn: uma rede neural convolucional hierárquica.

  • bilstm: Uma rede biLSTM (memória de curto prazo longa bidirecional), na qual o sinal se propaga para trás e para frente no tempo. Esta é uma arquitetura de rede neural recorrente (RNN) apropriada para tarefas de aprendizagem sequenciais.

  • pooled_embedding: Calcula a média da incorporações de todos os tokens na entrada.

Valor padrão: hcnn

enc0_cnn_filter_width

A largura do filtro do codificador enc0 rede neural convolucional (CNN).

Condicional

Valores válidos: 1 ≤ inteiro ≤ 9

Valor padrão: 3

enc0_freeze_pretrained_embedding

Se os pesos de incorporações pré-treinadas de enc0 devem ou não ser congelados.

Condicional

Valores válidos: True ou False

Valor padrão: True

enc0_layers

O número de camadas no codificador enc0.

Condicional

Valores válidos: auto ou 1 ≤ inteiro ≤ 4

  • Para hcnn, auto significa 4.

  • Para bilstm, auto 1.

  • Para pooled_embedding, auto ignora o número de camadas.

Valor padrão: auto

enc0_pretrained_embedding_file

O nome do arquivo de incorporação de token enc0 pré-treinado no canal de dados auxiliar.

Condicional

Valores válidos: string com caracteres alfanuméricos, sublinhado ou ponto final. [A-Za-z0-9\.\_]

Valor padrão: "" (string vazia)

enc0_token_embedding_dim

A dimensão de saída da camada de incorporação de token enc0.

Condicional

Valores válidos: 2 ≤ inteiro ≤ 1000

Valor padrão: 300

enc0_vocab_file

O arquivo de vocabulário para mapear vetores de incorporação de token encRO pré-roteados para IDs de vocabulário numérico.

Condicional

Valores válidos: string com caracteres alfanuméricos, sublinhado ou ponto final. [A-Za-z0-9\.\_]

Valor padrão: "" (string vazia)

enc1_network

O modelo de rede do codificador enc1. Se você quiser que o codificador enc1 use o mesmo modelo de rede que o enc0, incluindo os valores do hiperparâmetro, defina o valor como enc0.

nota

Mesmo quando as redes dos codificadores enc0 e enc1 tiverem arquiteturas simétricas, você não poderá compartilhar valores de parâmetros para essas redes.

Opcional

Valores válidos: enc0, hcnn, bilstm ou pooled_embedding

  • enc0: O modelo de rede para o codificador enc0.

  • hcnn: uma rede neural convolucional hierárquica.

  • bilstm: Um LSTM bidirecional, em que o sinal se propaga para trás e para frente no tempo. Esta é uma arquitetura de rede neural recorrente (RNN) apropriada para tarefas de aprendizagem sequenciais.

  • pooled_embedding: A média dos encaixes de todos os tokens na entrada.

Valor padrão: enc0

enc1_cnn_filter_width

A largura do filtro do codificador enc1 da CNN.

Condicional

Valores válidos: 1 ≤ inteiro ≤ 9

Valor padrão: 3

enc1_freeze_pretrained_embedding

Se os pesos de incorporações pré-treinadas de enc1 devem ou não ser congelados.

Condicional

Valores válidos: True ou False

Valor padrão: True

enc1_layers

O número de camadas no codificador enc1.

Condicional

Valores válidos: auto ou 1 ≤ inteiro ≤ 4

  • Para hcnn, auto significa 4.

  • Para bilstm, auto 1.

  • Para pooled_embedding, auto ignora o número de camadas.

Valor padrão: auto

enc1_max_seq_len

O tamanho máximo da sequência do codificador enc1.

Condicional

Valores válidos: 1 ≤ inteiro ≤ 5000

enc1_pretrained_embedding_file

O nome de incorporação de token enc1 pré-treinado no canal de dados auxiliar.

Condicional

Valores válidos: string com caracteres alfanuméricos, sublinhado ou ponto final. [A-Za-z0-9\.\_]

Valor padrão: "" (string vazia)

enc1_token_embedding_dim

A dimensão de saída da camada de incorporação de token enc1.

Condicional

Valores válidos: 2 ≤ inteiro ≤ 1000

Valor padrão: 300

enc1_vocab_file

O arquivo de vocabulário para o mapeamento de incorporações de tokens enc1 pré-treinados para IDs de vocabulário.

Condicional

Valores válidos: string com caracteres alfanuméricos, sublinhado ou ponto final. [A-Za-z0-9\.\_]

Valor padrão: "" (string vazia)

enc1_vocab_size

O tamanho do vocabulário de tokens enc0.

Condicional

Valores válidos: 2 ≤ inteiro ≤ 3000000

epochs

O número de epochs a serem executados para treinamento.

Opcional

Valores válidos: 1 ≤ inteiro ≤ 100

Valor padrão: 30

learning_rate

A taxa de aprendizagem para treinamento.

Opcional

Valores válidos: 1,0E-6 ≤ flutuante ≤ 1,0

Valor padrão: 0,0004

mini_batch_size

O tamanho do lote em que o conjunto de dados é dividido em um optimizer durante o treinamento.

Opcional

Valores válidos: 1 ≤ inteiro ≤ 10000

Valor padrão: 32

mlp_activation

O tipo de função de ativação para a camada MLP (multilayer perceptron).

Opcional

Valores válidos: tanh, relu ou linear

  • tanh: Tangente hiperbólica

  • relu: Unidade linear retificada (ReLU)

  • linear: Função linear

Valor padrão: linear

mlp_dim

A dimensão da saída das camadas MLP.

Opcional

Valores válidos: 2 ≤ inteiro ≤ 10000

Valor padrão: 512

mlp_layers

O número de camadas MLP na rede.

Opcional

Valores válidos: 0 ≤ inteiro ≤ 10

Valor padrão: 2

negative_sampling_rate

O coeficiente de amostras negativas, gerada para auxiliar no treinamento do algoritmo, para amostras positivas fornecidas pelos usuários. Amostras negativas representam dados que são improváveis de ocorrer na realidade e são rotulados negativamente para treinamento. Eles facilitam o treinamento de um modelo para diferenciar as amostras positivas observadas das amostras negativas que não são. Para especificar a proporção de amostras negativas para amostras positivas usadas para treinamento, defina o valor como um inteiro positivo. Por exemplo, se você treinar o algoritmo em dados de entrada nos quais todas as amostras são positivas e configuradas negative_sampling_rate como 2, o algoritmo Object2Vec gera internamente duas amostras negativas por amostra positiva. Se você não quiser gerar ou usar amostras negativas durante o treinamento, defina o valor como 0.

Opcional

Valores válidos: 0 ≤ inteiro

Valor padrão: 0 (desativado)

num_classes

O número de classes para treinamento de classificação. A Amazon SageMaker ignora esse hiperparâmetro para problemas de regressão.

Opcional

Valores válidos: 2 ≤ inteiro ≤ 30

Valor padrão: 2

optimizer

O tipo de otimizador.

Opcional

Valores válidos: adadelta, adagrad, adam, sgd ou rmsprop.

Valor padrão: adam

output_layer

O tipo de camada de saída em que você especifica que a tarefa é regressão ou classificação.

Opcional

Valores válidos: softmax ou mean_squared_error

  • softmax: A função Softmax usada para a classificação.

  • mean_squared_error: O MSE usado para regressão.

Valor padrão: softmax

tied_token_embedding_weight

Se deve usar uma camada de incorporação compartilhada para os dois codificadores. Se as entradas dos dois codificadores usarem as mesmas unidades de nível de token, use uma camada de incorporação de token compartilhado. Por exemplo, para um conjunto de documentos, se um codificador codifica frases e outro codifica documentos inteiros, você pode usar uma camada de incorporação de token compartilhado. Isso porque ambas as sentenças e documentos são compostos de tokens de palavras do mesmo vocabulário.

Opcional

Valores válidos: True ou False

Valor padrão: False

token_embedding_storage_type

O modo de atualização de gradiente usado durante o treinamento: quando o modo dense é usado, o otimizador calcula a matriz de gradiente completa para a camada de incorporação de token, mesmo que a maioria das linhas do gradiente seja de valor zero. Quando o modo sparse é usado, o otimizador só armazena linhas do gradiente que estão sendo usadas no mini-lote. Se você quiser que o algoritmo realize atualizações de gradiente lento, que calculam os gradientes apenas nas linhas diferentes de zero e que aceleram o treinamento, especifique row_sparse. Definindo o valor como row_sparse para restringir os valores disponíveis para outros hiperparâmetros, da seguinte maneira:

  • O hiperparâmetro optimizer deve ser definido como adam, adagrad, ou sgd. Caso contrário, o algoritmo lançará um CustomerValueError.

  • O algoritmo desativará automaticamente buckets de bucket_width, configurando o hiperparâmetro como 0.

Opcional

Valores válidos: dense ou row_sparse

Valor padrão: dense

weight_decay

O parâmetro de degradação de peso usado para otimização.

Opcional

Valores válidos: 0 ≤ flutuante ≤ 10000

Valor padrão: 0 (sem degradação)