Hyperparamètres Object2Vec - Amazon SageMaker

Hyperparamètres Object2Vec

Dans la demande CreateTrainingJob, vous spécifiez l'algorithme d'entraînement. Vous pouvez aussi spécifier les hyperparamètres spécifiques à l'algorithme comme mappages chaîne/chaîne. Le tableau suivant répertorie les hyperparamètres de l'algorithme d'entraînement Object2Vec.

Nom du paramètre Description
enc0_max_seq_len

Longueur maximale de la séquence pour l'encodeur enc0.

Obligatoire

Valeurs valides : 1 ≤ entier ≤ 5 000

enc0_vocab_size

Taille du vocabulaire des jetons enc0.

Obligatoire

Valeurs valides : 2 ≤ entier ≤ 3 000 000

bucket_width

Différence autorisée entre les longueurs de séquence de données lorsque la mise en compartiment est activée. Pour activer la mise en compartiment, spécifiez une valeur différente de zéro pour ce paramètre.

Facultatif

Valeurs valides : 0 ≤ entier ≤ 100

Valeur par défaut : 0 (pas de mise en compartiment)

comparator_list

Une liste utilisée pour personnaliser la manière dont deux imbrications sont comparées. La couche de l'opérateur de comparaison Object2Vec prend les encodages des deux encodeurs en tant qu'entrées et donne un seul vecteur. Ce vecteur est une concaténation de sous-vecteurs. Les valeurs de chaîne transmises à l'action comparator_list et l'ordre dans lequel elles sont transmises déterminent la façon dont ces sous-vecteurs sont assemblés. Par exemple, si comparator_list="hadamard, concat", l'opérateur de comparaison crée le vecteur en concaténant le produit Hadamard de deux encodages et la concaténation de deux encodages. Si, d'un autre côté, comparator_list="hadamard", puis l'opérateur de comparaison crée le vecteur en tant que produit hadamard de deux encodages seulement.

Facultatif

Valeurs valides : une chaîne qui contient une combinaison des noms des trois opérateurs binaires : hadamard, concat ou abs_diff. L'algorithme Object2Vec requiert actuellement que les deux encodages de vecteur aient la même dimension. Ces opérateurs produisent les sous-vecteurs comme suit :

  • hadamard : Crée un vecteur comme produit Hadamard (du point de vue des éléments) de deux encodages.

  • concat : Crée un vecteur comme la concaténation de deux encodages.

  • abs_diff : Crée un vecteur comme la différence absolue entre deux encodages.

Valeur par défaut : "hadamard, concat, abs_diff"

dropout

Probabilité de dropout pour les couches réseau. Le dropout est une forme de régularisation utilisée dans les réseaux neuronaux qui réduit le surajustement en tronquant les neurones codépendants.

Facultatif

Valeurs valides : 0.0 ≤ valeur flottante ≤ 1.0

Valeur par défaut : 0.0

early_stopping_patience

Nombre de périodes (epoch) consécutives sans amélioration autorisée avant l'application d'un arrêt anticipé. Une amélioration est définie par l'hyperparamètre early_stopping_tolerance.

Facultatif

Valeurs valides : 1 ≤ entier ≤ 5

Valeur par défaut : 3

early_stopping_tolerance

La réduction de la fonction de perte qu'un algorithme doit atteindre entre des epochs qui se suivent pour éviter l'arrêt précoce après le nombre d'epochs qui se suivent spécifié dans les conclusions de l'hyperparamètre early_stopping_patience.

Facultatif

Valeurs valides : 0.000001 ≤ valeur flottante ≤ 0.1

Valeur par défaut : 0.01

enc_dim

Dimension de la sortie de la couche d'intégration.

Facultatif

Valeurs valides : 4 ≤ entier ≤ 10 000

Valeur par défaut : 4096

enc0_network

Modèle réseau de l'encodeur enc0.

Facultatif

Valeurs valides : hcnn, bilstm ou pooled_embedding

  • hcnn : réseau neuronal convolutif hiérarchique.

  • bilstm : réseau LSTM (long short-term memory) bidirectionnel, dans lequel le signal se propage aussi bien vers l'arrière que vers l'avant. Il s'agit d'une architecture RNN (Recurrent Neural Network) appropriée pour les tâches d'apprentissage séquentielles.

  • pooled_embedding : calcule la moyenne des intégrations de tous les jetons de l'entrée.

Valeur par défaut : hcnn

enc0_cnn_filter_width

La largeur de filtre de l'encodeur enc0 du réseau neuronal convolutif (CNN).

Conditionnel

Valeurs valides : 1 ≤ entier ≤ 9

Valeur par défaut : 3

enc0_freeze_pretrained_embedding

Indique s'il faut bloquer les pondérations des intégrations préentraînées enc0.

Conditionnel

Valeurs valides : True ou False

Valeur par défaut : True

enc0_layers

Nombre de couches de l'encodeur enc0.

Conditionnel

Valeurs valides : auto ou 1 ≤ entier ≤ 4

  • Pour hcnn, auto signifie 4.

  • Pour bilstm, auto équivaut à 1.

  • Pour pooled_embedding, auto ignore le nombre de couches.

Valeur par défaut : auto

enc0_pretrained_embedding_file

Nom de fichier du fichier des intégrations de jetons enc0 préentraînés du canal de données auxiliaires.

Conditionnel

Valeurs valides : chaîne avec des caractères alphanumériques, tiret de soulignement (_) ou point (.). [A-Za-z0-9\.\_]

Valeur par défaut : "" (chaîne vide)

enc0_token_embedding_dim

Dimension de la sortie de la couche d'intégration des jetons enc0.

Conditionnel

Valeurs valides : 2 ≤ entier ≤ 1 000

Valeur par défaut : 300

enc0_vocab_file

Fichier de vocabulaire pour le mappage des intégrations de jetons enc0 préentraînés et des ID de vocabulaire.

Conditionnel

Valeurs valides : chaîne avec des caractères alphanumériques, tiret de soulignement (_) ou point (.). [A-Za-z0-9\.\_]

Valeur par défaut : "" (chaîne vide)

enc1_network

Modèle réseau de l'encodeur enc1. Si vous voulez que l'encodeur enc1 utilise le même modèle de réseau qu'enc0, y compris les valeurs des hyperparamètres, définissez la valeur sur enc0.

Note

Même lorsque les réseaux d'encodeur enc1 et enc0 ont des architectures symétriques, vous ne pouvez pas partager les valeurs des paramètres pour ces réseaux.

Facultatif

Valeurs valides : enc0, hcnn, bilstm ou pooled_embedding

  • enc0 : modèle réseau de l'encodeur enc0.

  • hcnn : réseau neuronal convolutif hiérarchique.

  • bilstm : réseau LSTM (long short-term memory) bidirectionnel, dans lequel le signal se propage aussi bien vers l'arrière que vers l'avant. Il s'agit d'une architecture RNN (Recurrent Neural Network) appropriée pour les tâches d'apprentissage séquentielles.

  • pooled_embedding : Les moyennes des imbrications de tous les jetons de l'entrée.

Valeur par défaut : enc0

enc1_cnn_filter_width

Largeur de filtre de l'encodeur enc1 CNN.

Conditionnel

Valeurs valides : 1 ≤ entier ≤ 9

Valeur par défaut : 3

enc1_freeze_pretrained_embedding

Indique s'il faut bloquer les pondérations des intégrations préentraînées enc1.

Conditionnel

Valeurs valides : True ou False

Valeur par défaut : True

enc1_layers

Nombre de couches de l'encodeur enc1.

Conditionnel

Valeurs valides : auto ou 1 ≤ entier ≤ 4

  • Pour hcnn, auto signifie 4.

  • Pour bilstm, auto équivaut à 1.

  • Pour pooled_embedding, auto ignore le nombre de couches.

Valeur par défaut : auto

enc1_max_seq_len

Longueur maximale de la séquence pour l'encodeur enc1.

Conditionnel

Valeurs valides : 1 ≤ entier ≤ 5 000

enc1_pretrained_embedding_file

Nom de fichier du fichier des intégrations de jetons enc1 préentraînés du canal de données auxiliaires.

Conditionnel

Valeurs valides : chaîne avec des caractères alphanumériques, tiret de soulignement (_) ou point (.). [A-Za-z0-9\.\_]

Valeur par défaut : "" (chaîne vide)

enc1_token_embedding_dim

Dimension de la sortie de la couche d'intégration des jetons enc1.

Conditionnel

Valeurs valides : 2 ≤ entier ≤ 1 000

Valeur par défaut : 300

enc1_vocab_file

Fichier de vocabulaire pour le mappage des intégrations de jetons enc1 préentraînés et des ID de vocabulaire.

Conditionnel

Valeurs valides : chaîne avec des caractères alphanumériques, tiret de soulignement (_) ou point (.). [A-Za-z0-9\.\_]

Valeur par défaut : "" (chaîne vide)

enc1_vocab_size

Taille du vocabulaire des jetons enc0.

Conditionnel

Valeurs valides : 2 ≤ entier ≤ 3 000 000

epochs

Nombre de périodes (epoch) à exécuter pour l'entraînement.

Facultatif

Valeurs valides : 1 ≤ entier ≤ 100

Valeur par défaut : 30

learning_rate

Taux d'apprentissage pour l'entraînement.

Facultatif

Valeurs valides : 1.0E-6 ≤ valeur flottante ≤ 1.0

Valeur par défaut : 0.0004

mini_batch_size

Taille du lot en laquelle l'ensemble de données est scindé pour un optimizer au cours de l'entraînement.

Facultatif

Valeurs valides : 1 ≤ entier ≤ 10 000

Valeur par défaut : 32

mlp_activation

Type de la fonction d'activation de la couche MLP (multilayer perceptron).

Facultatif

Valeurs valides : tanh, relu ou linear

  • tanh : tangente hyperbolique

  • relu : unité ReLU (rectified linear unit)

  • linear : fonction linéaire

Valeur par défaut : linear

mlp_dim

La dimension de la sortie de SCS des couches.

Facultatif

Valeurs valides : 2 ≤ entier ≤ 10 000

Valeur par défaut : 512

mlp_layers

Le nombre de couches SCS dans le réseau.

Facultatif

Valeurs valides : 0 ≤ entier ≤ 10

Valeur par défaut : 2

negative_sampling_rate

Le ratio des exemples négatifs générés pour faciliter l'algorithme d'entraînement, par rapport aux exemples positifs qui sont fournis par les utilisateurs. Les exemples négatifs représentent les données qui sont peu probables dans la réalité et sont étiquetées négativement pour l'entraînement. Ils facilitent l'entraînement d'un modèle pour faire la distinction entre les exemples positifs et les exemples négatifs observés qui ne le sont pas. Pour spécifier le ratio des exemples négatifs par rapport aux exemples positifs utilisés pour l'entraînement, définissez la valeur sur un nombre entier positif. Par exemple, si vous entraînez l'algorithme sur les données d'entrée dans lequel tous les exemples sont positifs et si vous définissez negative_sampling_rate sur 2, l'algorithme Object2Vec génère en interne deux exemples négatifs par exemple positif. Si vous ne souhaitez pas générer ou utiliser des exemples négatifs au cours de l'entraînement, définissez la valeur sur 0.

Facultatif

Valeurs valides : 0 ≤ entier

Valeur par défaut : 0 (désactivé)

num_classes

Nombre de classes pour la formation de la classification. Amazon SageMaker ignore cet hyperparamètre pour les problèmes de régression.

Facultatif

Valeurs valides : 2 ≤ entier ≤ 30

Valeur par défaut : 2

optimizer

Type d'optimiseur.

Facultatif

Valeurs valides : adadelta, adagrad, adam, sgd ou rmsprop.

Valeur par défaut : adam

output_layer

Type de la couche de sortie dans laquelle vous spécifiez que la tâche est une régression ou une classification.

Facultatif

Valeurs valides : softmax ou mean_squared_error

Valeur par défaut : softmax

tied_token_embedding_weight

Définit s'il convient d'utiliser une couche d'incorporation partagée pour les deux encodeurs. Si les entrées pour les deux encodeurs utilisent le même jeton au niveau des unités, utilisez un jeton partagé ou intégrez une couche. Par exemple, pour un ensemble de documents, si un encodeur encode des phrases et qu'un autre encode tous les documents, vous pouvez utiliser un jeton partagé ou intégrer une couche. En effet, les deux phrases et les documents sont composés de jetons à partir du même vocabulaire.

Facultatif

Valeurs valides : True ou False

Valeur par défaut : False

token_embedding_storage_type

Le mode de mise à jour de dégradé utilisé au cours de l'entraînement : lorsque le mode dense est utilisé, l'optimiseur calcule l'intégralité de la matrice de dégradé pour le jeton ou intègre une couche, même si la plupart des lignes du dégradé ont une valeur nulle. Lorsque le mode sparse est utilisé, l'optimiseur stocke uniquement les lignes du dégradé qui sont en fait utilisées dans le lot. Si vous voulez que l'algorithme effectue des mises à jour de dégradé paresseux, qui calculent les dégradés uniquement dans les lignes différentes de zéro et accélèrent l'entraînement, spécifiez row_sparse. La définition de la valeur sur row_sparse limite les valeurs disponibles pour d'autres hyperparamètres, comme suit :

  • L'hyperparamètre optimizer doit être défini sur adam, adagrad ou sgd. Dans le cas contraire, l'algorithme lève une CustomerValueError.

  • L'algorithme désactive automatiquement la mise en compartiment, en définissant l'hyperparamètre bucket_width sur 0.

Facultatif

Valeurs valides : dense ou row_sparse

Valeur par défaut : dense

weight_decay

Paramètre de dégradation de pondération utilisé pour l'optimisation.

Facultatif

Valeurs valides : 0 ≤ valeur flottante ≤ 10 000

Valeur par défaut : 0 (aucune dégradation)