Spec-Zone.ru › TensorFlow

tf.keras.layers.Attention

Слой внимательности с точечным произведением, также известный как внимание по Луонгу.

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

tf.keras.layers.Attention(
    use_scale=False,
    score_mode='dot',
    dropout=0.0,
    seed=None,
    **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).
  2. Использование оценок для вычисления распределения softmax формы (batch_size, Tq, Tv).
  3. Использование распределения softmax для создания линейной комбинации value формы (batch_size, Tq, dim).
Аргументы
use_scale Если True, создаст скалярную переменную для масштабирования оценок внимания.
dropout Число с плавающей точкой от 0 до 1. Доля единиц для отбрасывания оценок внимания. По умолчанию 0.0.
seed Целое число Python для использования в качестве случайного семени на случай dropout.
score_mode Функция для вычисления оценок внимания, одна из {"dot", "concat"}. "dot" относится к точечному произведению между векторами запроса и ключа. "concat" относится к гиперболическому тангенсу конкатенации векторов query и key.
Аргументы вызова
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/Attention

    Spec-Zone.ru

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