Встречается на собеседованиях • сегодня

Какие знаешь виды attention в нейросетях, кроме тех, что используются в трансформерах

  1. Self-Attention (внутреннее внимание) — механизм, где каждый элемент последовательности взаимодействует с другими элементами той же последовательности (как в трансформерах).

  2. Global Attention — все элементы входной последовательности учитываются при расчете весов внимания (аналогично self-attention, но может применяться вне трансформера).

  3. Local Attention — ограничивает область внимания окном вокруг текущего элемента, уменьшая вычислительную сложность.

  1. Hard Attention — бинарный механизм, выбирающий только один элемент для фокусировки (недифференцируем, требует методов вроде REINFORCE).

  2. Soft Attention — дифференцируемый аналог hard attention, взвешивает все элементы (как в трансформерах).

  3. Hierarchical Attention — применяет внимание на нескольких уровнях (например, сначала к словам, затем к предложениям).

Пример кода для local attention (PyTorch):

python
import torch
import torch.nn.functional as F

def local_attention(q, k, v, window_size=3):
    scores = torch.matmul(q, k.transpose(-2, -1))
    mask = torch.ones_like(scores) * -1e9
    center = scores.size(-1) // 2
    start = max(0, center - window_size)
    end = min(scores.size(-1), center + window_size + 1)
    mask[:, :, start:end] = 0
    scores = scores + mask
    weights = F.softmax(scores, dim=-1)
    return torch.matmul(weights, v)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы