Spec-Zone.ru › TensorFlow 1.15

tf.contrib.seq2seq.LuongMonotonicAttention

Механизм монотонного внимания с функцией энергии в стиле Luong.

tf.contrib.seq2seq.LuongMonotonicAttention(
    num_units, memory, memory_sequence_length=None, scale=False,
    score_mask_value=None, sigmoid_noise=0.0, sigmoid_noise_seed=None,
    score_bias_init=0.0, mode='parallel', dtype=None, name='LuongMonotonicAttention'
)

Этот тип внимания накладывает ограничение монотонности на распределения внимания; то есть, как только модель обращает внимание на заданную точку в памяти, она не может обращать внимание на какие-либо предыдущие точки в последующие моменты времени. Это достигается с помощью _monotonic_probability_fn вместо softmax для построения распределений внимания. В противном случае он эквивалентен LuongAttention. Этот подход предложен в

Colin Raffel, Minh-Thang Luong, Peter J. Liu, Ron J. Weiss, Douglas Eck, «Online and Linear-Time Attention by Enforcing Monotonic Alignments». ICML 2017. https://arxiv.org/abs/1704.00784

Аргументы
num_units Глубина механизма запроса.
memory Память для запроса; обычно выход RNN-кодировщика. Этот тензор должен иметь форму [batch_size, max_time, ...]. memory_sequence_length (необязательно): Длины последовательностей для записей пакетной памяти. Если задано, строки тензора памяти маскируются нулями для значений, которые выходят за рамки соответствующих длин последовательностей.
scale Булево значение Python. Нужно ли масштабировать член энергии?
score_mask_value (необязательно): Значение маски для оценки до передачи в probability_fn. По умолчанию -inf. Используется только если memory_sequence_length не равно None.
sigmoid_noise Стандартное отклонение шума до сигмоиды. Подробнее см. документацию для _monotonic_probability_fn.
sigmoid_noise_seed (необязательно) Случайное семя для шума до сигмоиды.
score_bias_init Начальное значение скаляра смещения оценки. Рекомендуется инициализировать это значение отрицательным числом, когда длина памяти велика.
mode Способ вычисления распределения внимания. Должно быть 'recursive', 'parallel' или 'hard'. Подробнее см. документацию для tf.contrib.seq2seq.monotonic_attention.
dtype Тип данных для слоев запроса и памяти механизма внимания.
name Имя для использования при создании операций.
Атрибуты
alignments_size
batch_size
keys
memory_layer
query_layer
state_size
values

Методы

initial_alignments

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

initial_alignments(
    batch_size, dtype
)

Создаёт начальные значения выравнивания для монотонного внимания.

Инициализирует в дираковские распределения, т.е. [1, 0, 0, ...длина памяти..., 0] для всех записей в пакете.

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

initial_state

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

initial_state(
    batch_size, dtype
)

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

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

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

Аргументы
batch_size int32 скаляр, размер пакета.
dtype 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/LuongMonotonicAttention

Spec-Zone.ru

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