Spec-Zone.ru › TensorFlow

tf.keras.layers.AdditiveAttention

Слой аддитивного внимания, также известный как внимание в стиле Bahdanau.

Наследуется от: Attention, Layer, Operation

tf.keras.layers.AdditiveAttention(
    use_scale=True, dropout=0.0, **kwargs
)

Входные данные — список из 2 или 3 элементов:

  1. Тензор query формы (batch_size, Tq, dim).
  2. Тензор value формы (batch_size, Tv, dim).
  3. Необязательный тензор key формы (batch_size, Tv, dim). Если он не задан, в качестве key будет использоваться value.

Вычисления выполняются в несколько этапов:

  1. Вычисляются оценки внимания с использованием query и key формы (batch_size, Tq, Tv) как нелинейной суммы scores = reduce_sum(tanh(query + key), axis=-1).
  2. На основе оценок вычисляется распределение softmax формы (batch_size, Tq, Tv).
  3. Распределение softmax используется для создания линейной комбинации value формы (batch_size, Tq, dim).
Аргументы
use_scale Если True, будет создана скалярная переменная для масштабирования оценок внимания.
dropout Число с плавающей точкой от 0 до 1. Доля единиц, отбрасываемых для оценок внимания. По умолчанию — 0.0.
Аргументы вызова
inputs Список следующих тензоров:
  • query: тензор запроса формы (batch_size, Tq, dim).
  • value: тензор значений формы (batch_size, Tv, dim).
  • key: необязательный тензор ключей формы (batch_size, Tv, dim). Если он не задан, value будет использоваться и для key, и для value — это наиболее распространённый случай.
mask Список следующих тензоров:
  • query_mask: логический тензор маски формы (batch_size, Tq). Если он задан, в позициях, где mask==False, выходное значение будет равно нулю.
  • value_mask: логический тензор маски формы (batch_size, Tv). Если он задан, маска применяется так, что значения в позициях, где mask==False, не влияют на результат.
  • return_attention_scores Логическое значение; если True, оценки внимания (после применения маски и softmax) возвращаются в качестве дополнительного выходного аргумента.
    training Логическое значение Python, указывающее, должен ли слой работать в режиме обучения (с добавлением dropout) или в режиме вывода (без dropout).
    use_causal_mask Логическое значение. Установите True для self-attention декодера. Добавляет маску, запрещающую позиции i учитывать позиции j > i. Это предотвращает передачу информации из будущего в прошлое. По умолчанию — False.
    Выходные данные
    Выходные данные внимания формы (batch_size, Tq, dim). (Необязательно) Оценки внимания после применения маски и softmax формы (batch_size, Tq, Tv).
    Атрибуты
    input Возвращает входной тензор или тензоры символьной операции.

    Возвращает только тензор или тензоры, соответствующие первому вызову операции.

    output Возвращает выходной тензор или тензоры слоя.

    Возвращает только тензор или тензоры, соответствующие первому вызову операции.

    Методы

    from_config

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

    @classmethod
    from_config(
        config
    )
    

    Создаёт слой на основе его конфигурации.

    Этот метод является обратным по отношению к get_config и позволяет создать экземпляр того же слоя из словаря конфигурации. Он не обрабатывает связи между слоями (за это отвечает Network) и веса (за это отвечает set_weights).

    Аргументы
    config Словарь Python, обычно являющийся результатом вызова get_config.
    Возвращает
    Экземпляр слоя.

    symbolic_call

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

    symbolic_call(
        *args, **kwargs
    )
    

    © 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/keras/layers/AdditiveAttention

    Spec-Zone.ru

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