Spec-Zone.ru › TensorFlow 1.15

tf.contrib.layers.scattered_embedding_column

Создаёт колонку встраивания для разреженного признака с использованием хэширования параметров.

tf.contrib.layers.scattered_embedding_column(
    column_name, size, dimension, hash_key, combiner='mean', initializer=None
)

Это полезное сокращение, когда у вас есть разреженный признак, для которого вы хотите использовать встраивание, но также хотите хешировать значения встраивания по каждой размерности в переменную на основе другого хеша.

Конкретно, i-й компонент встраивания значения v находится путём извлечения весового встраивания, индекс которого является отпечатком пары (v,i).

Колонку встраивания с sparse_column_with_hash_bucket, например

embedding_column(
  sparse_column_with_hash_bucket(column_name, bucket_size),
  dimension)

можно заменить на

scattered_embedding_column(
  column_name,
  size=bucket_size * dimension,
  dimension=dimension,
  hash_key=tf.contrib.layers.SPARSE_FEATURE_CROSS_DEFAULT_HASH_KEY)

для того же числа параметров встраивания. Это, надеюсь, уменьшит влияние коллизий, но увеличит затраты на замедление обучения.

Аргументы
column_name Строка, определяющая имя разреженной колонки.
size Целое число, определяющее количество параметров в слое встраивания.
dimension Целое число, определяющее размерность встраивания.
hash_key Укажите hash_key, который будет использоваться функцией FingerprintCat64 для объединения отпечатков перекрёстных ссылок в SparseFeatureCrossOp.
combiner Строка, определяющая способ уменьшения, если в одной строке есть несколько записей. В настоящее время поддерживаются "mean", "sqrtn" и "sum", по умолчанию "mean". "sqrtn" часто достигает хорошей точности, особенно с колонками "мешок слов". Каждый из них можно рассматривать как нормализацию на уровне примера для колонки:
  • "sum": не нормализовать признаки в колонке
  • "mean": выполнить l1-нормализацию признаков в колонке
  • "sqrtn": выполнить l2-нормализацию признаков в колонке Дополнительная информация: tf.embedding_lookup_sparse.
initializer Функция инициализации переменной, используемая при инициализации переменных встраивания. Если не указано, по умолчанию используется tf.compat.v1.truncated_normal_initializer со средним значением 0 и стандартным отклонением 0,1.
Возвращаемые значения
_ScatteredEmbeddingColumn.
Исключения
ValueError если размерность или размер не являются положительными целыми числами; или если combiner не поддерживается.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/layers/scattered_embedding_column

Spec-Zone.ru

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