Spec-Zone.ru › TensorFlow

tf.keras.layers.AdditiveAttention

Слой аддитивной внимательности, также известный как внимание по Баханау.

Наследуется от: 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). Если не указан, будет использован value в качестве key.

Вычисление выполняется по следующим шагам:

  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 bool, если True, возвращает оценки внимания (после маскирования и softmax) в качестве дополнительного выходного аргумента.
    training Python-булево значение, указывающее, должен ли слой вести себя в режиме обучения (добавляя дропаут) или в режиме вывода (без дропаута).
    use_causal_mask Булево значение. Устанавливается в True для самовнимания декодера. Добавляет маску, таким образом, что позиция i не может обращать внимание на позиции j > i. Это предотвращает поток информации из будущего в прошлое. По умолчанию False.
    Вывод
    Выходы внимания формы (batch_size, Tq, dim). (Необязательно) Оценки внимания после маскирования и softmax с формой (batch_size, Tq, Tv).
    Атрибуты
    input Извлекает тензор(ы) входных данных символической операции.

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

    output Извлекает тензор(ы) выхода слоя.

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

    Методы

    from_config

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

    @classmethod
    from_config(
        config
    )
    

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

    Этот метод является обратным get_config, способным восстановить тот же слой из словаря конфигурации. Он не обрабатывает соединение слоёв (обрабатывается сетью), ни веса (обрабатываются 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