Spec-Zone.ru › TensorFlow 1.15

tf.contrib.seq2seq.LuongAttention

Реализует вычисление оценки внимания по схеме Луонга (мультипликативная).

tf.contrib.seq2seq.LuongAttention(
    num_units, memory, memory_sequence_length=None, scale=False,
    probability_fn=None, score_mask_value=None, dtype=None,
    custom_key_value_fn=None, name='LuongAttention'
)

Это внимание имеет две формы. Первая — стандартное внимание Луонга, как описано в:

Minh-Thang Luong, Hieu Pham, Christopher D. Manning. Эффективные подходы к вниманию в нейронных машинных переводчиках. EMNLP 2015.

Вторая форма — масштабированная, частично вдохновленная нормированной формой внимания Баданау.

Чтобы включить вторую форму, создайте объект с параметром scale=True.

Аргументы
num_units Глубина механизма внимания.
memory Память для запроса; обычно выход RNN-кодировщика. Этот тензор должен иметь форму [batch_size, max_time, ...].
memory_sequence_length (необязательно) Длины последовательностей для записей в памяти. Если указаны, строки тензора памяти маскируются нулями для значений после соответствующих длин последовательностей.
scale Булево значение. Необходимо ли масштабировать член энергии.
probability_fn (необязательно) callable. Преобразует оценку в вероятности. По умолчанию tf.nn.softmax. Другие варианты включают tf.contrib.seq2seq.hardmax и tf.contrib.sparsemax.sparsemax. Его сигнатура должна быть: probabilities = probability_fn(score).
score_mask_value (необязательно) Значение маски для оценки перед передачей в probability_fn. По умолчанию -inf. Используется только если memory_sequence_length не равно None.
dtype Тип данных для слоя памяти механизма внимания.
custom_key_value_fn (необязательно): пользовательская функция для вычисления ключей и значений.
name Имя для использования при создании операций.
Атрибуты
alignments_size
batch_size
keys
memory_layer
query_layer
state_size
values

Методы

initial_alignments

Просмотреть исходный код

initial_alignments(
    batch_size, dtype
)

Создает начальные значения выравнивания для класса AttentionWrapper.

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

По умолчанию возвращается тензор всех нулей.

Аргументы
batch_size int32 скаляр, размер пакета.
dtype Размерность.
Возвращаемое значение
Тензор dtype с формой [batch_size, alignments_size] (alignments_size — значения max_time).

initial_state

Просмотреть исходный код

initial_state(
    batch_size, dtype
)

Создает начальные значения состояния для класса AttentionWrapper.

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

По умолчанию возвращается тот же результат, что и initial_alignments.

Аргументы
batch_size int32 скаляр, размер пакета.
dtype Размерность.
Возвращаемое значение
Структура тензоров со значениями нулей с формами, как описано в state_size.

__call__

Просмотреть исходный код

__call__(
    query, state
)

Вычисляет оценку запроса на основе ключей и значений.

Аргументы
query Тензор типа, соответствующего self.values и форме [batch_size, query_depth].
state Тензор типа, соответствующего self.values и форме [batch_size, alignments_size] (alignments_size — размерность памяти max_time).
Возвращаемое значение
alignments Тензор типа, соответствующего self.values и форме [batch_size, alignments_size] (alignments_size — размерность памяти max_time).

© 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/seq2seq/LuongAttention

Spec-Zone.ru

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