Spec-Zone.ru › TensorFlow

tf.nn.sampled_softmax_loss

Вычисляет и возвращает выборочную потерю обучения softmax.

tf.nn.sampled_softmax_loss(
    weights,
    biases,
    labels,
    inputs,
    num_sampled,
    num_classes,
    num_true=1,
    sampled_values=None,
    remove_accidental_hits=True,
    seed=None,
    name='sampled_softmax_loss'
)

Это более быстрый способ обучения классификатора softmax на огромном количестве классов.

Эта операция предназначена только для обучения. Она, как правило, является заниженной оценкой полной потери softmax.

Типичное применение — использовать этот метод для обучения и вычислять полную потерю softmax для оценки или вывода, как в следующем примере:

if mode == "train":
  loss = tf.nn.sampled_softmax_loss(
      weights=weights,
      biases=biases,
      labels=labels,
      inputs=inputs,
      ...)
elif mode == "eval":
  logits = tf.matmul(inputs, tf.transpose(weights))
  logits = tf.nn.bias_add(logits, biases)
  labels_one_hot = tf.one_hot(labels, n_classes)
  loss = tf.nn.softmax_cross_entropy_with_logits(
      labels=labels_one_hot,
      logits=logits)

См. нашу Справочник по алгоритмам выборки кандидатов

Также см. раздел 3 Jean et al., 2014 (pdf) для математических формул.

Примечание: при выполнении поиска вложения weights и bias, будет использоваться стратегия разделения "div". Поддержка других стратегий разделения будет добавлена позже.
Аргументы
weights Матрица формы [num_classes, dim], или список объектов Tensor, конкатенация которых по размерности 0 имеет форму [num_classes, dim]. Вложения классов (возможно, фрагментированные).
biases Матрица формы [num_classes]. Смещения классов.
labels Массив типа int64 и формы [batch_size, num_true]. Целевые классы. Обратите внимание, что этот формат отличается от аргумента labels в nn.softmax_cross_entropy_with_logits.
inputs Матрица формы [batch_size, dim]. Активности сети на входных данных.
num_sampled Целое число. Количество классов, случайным образом выбираемых на каждую партию.
num_classes Целое число. Общее число классов.
num_true Целое число. Количество целевых классов на один пример обучения.
sampled_values Кортеж (sampled_candidates, true_expected_count, sampled_expected_count), возвращаемый функцией *_candidate_sampler. (Если None, по умолчанию используется log_uniform_candidate_sampler)
remove_accidental_hits Булево значение. Удалять "случайные совпадения", где выбранный класс совпадает с одним из целевых классов. По умолчанию True.
seed Генератор случайных чисел для выборки кандидатов. По умолчанию None, что не задает генератор случайных чисел на уровне операции для выборки кандидатов.
name Имя операции (необязательно).
Возвращаемые значения
Массив 1-D тензор, содержащий выборочные потери softmax для каждого примера.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/nn/sampled_softmax_loss

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API