Spec-Zone.ru › TensorFlow

tf.random.learned_unigram_candidate_sampler

Выборка набора классов из распределения, обученного во время обучения.

Просмотр псевдонимов

Основные псевдонимы

tf.nn.learned_unigram_candidate_sampler

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.nn.learned_unigram_candidate_sampler, tf.compat.v1.random.learned_unigram_candidate_sampler

tf.random.learned_unigram_candidate_sampler(
    true_classes,
    num_true,
    num_sampled,
    unique,
    range_max,
    seed=None,
    name=None
)

Эта операция случайным образом выбирает тензор из выборки классов (sampled_candidates) из диапазона целых чисел [0, range_max).

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

Элементы sampled_candidates выбираются без возвращения (если unique=True) или с возвращением (если unique=False) из базового распределения.

Базовое распределение для этой операции строится динамически во время обучения. Это распределение униграммы по целевым классам, которые наблюдались до сих пор во время обучения. Каждое целое число в [0, range_max) начинается с веса 1 и увеличивается на 1 каждый раз, когда оно встречается в качестве целевого класса. Базовое распределение не сохраняется в контрольных точках, поэтому оно сбрасывается при перезагрузке модели.

Кроме того, эта операция возвращает тензоры true_expected_count и sampled_expected_count, представляющие число раз, когда каждый из целевых классов (true_classes) и отобранных классов (sampled_candidates) ожидается, что они появятся в среднем тензоре отобранных классов. Эти значения соответствуют Q(y|x), определенному в Справочнике по алгоритмам выборки кандидатов. Если unique=True, тогда это вероятности после отбраковки, и мы вычисляем их приближенно.

Обратите внимание, что эта функция (а также другие *_candidate_sampler функции) предоставляет вам только компоненты для реализации различных алгоритмов выборки кандидатов, указанных в большой таблице в Справочнике по алгоритмам выборки кандидатов. Вам все равно нужно самостоятельно реализовать алгоритмы.

Например, согласно этой таблице, фраза «отрицательные примеры» может иметь разное значение в разных алгоритмах. Например, в NCE «отрицательные примеры» означают S_i (что просто отобранные классы), которые могут перекрываться с истинными классами, тогда как в Sampled Logistic «отрицательные примеры» означают S_i - T_i, которые исключают истинные классы. Возвращаемое значение sampled_candidates соответствует S_i, а не какому-либо конкретному определению «отрицательных примеров» в каком-либо конкретном алгоритме. Вам нужно выбрать алгоритм и рассчитать «отрицательные примеры», определенные этим алгоритмом (например, S_i - T_i).

Еще один пример, аргумент true_classes предназначен для вычисления выходных данных true_expected_count (как побочного продукта основного вычисления этой функции), которые могут потребоваться некоторым алгоритмам (согласно этой таблице). Он не предназначен для исключения истинных классов в возвращаемом значении sampled_candidates. Снова этот шаг специфичен для алгоритма и должен быть выполнен вами.

Аргументы
true_classes A Tensor типа int64 и формы [batch_size, num_true]. Целевые классы.
num_true Целое число. Число целевых классов на пример обучения.
num_sampled Целое число. Число классов для случайной выборки.
unique Логическое значение. Определяет, являются ли все отобранные классы в пакет уникальными.
range_max Целое число. Количество возможных классов.
seed Целое число. Семена для специфичных для операции операций. По умолчанию 0.
name Строка. Имя операции (необязательно).
Возвращаемые значения
sampled_candidates A tensor типа int64 и формы [num_sampled]. Отобранные классы. Как отмечено выше, sampled_candidates может перекрываться с истинными классами.
true_expected_count A tensor типа float. Такая же форма, как у true_classes. Ожидаемые подсчеты по распределению выборки для каждого из true_classes.
sampled_expected_count A tensor типа float. Такая же форма, как у sampled_candidates. Ожидаемые подсчеты по распределению выборки для каждого из sampled_candidates.

© 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/random/learned_unigram_candidate_sampler

Spec-Zone.ru

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