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

В чем разница между Attention и Self-Attention

Attention — это механизм, который позволяет модели фокусироваться на релевантных частях входных данных (например, в encoder-decoder архитектурах). Self-attention — частный случай attention, где запросы (Q), ключи (K) и значения (V) берутся из одного и того же входного последовательности. Это позволяет модели анализировать взаимосвязи внутри одной последовательности.

Пример для self-attention в PyTorch:

python
import torch.nn.functional as F

# Input sequence (batch_size, seq_len, dim)
x = torch.randn(1, 5, 64)  

# Linear projections for Q, K, V
q = nn.Linear(64, 64)(x)  
k = nn.Linear(64, 64)(x)
v = nn.Linear(64, 64)(x)

# Scaled dot-product attention
scores = torch.bmm(q, k.transpose(1, 2)) / (64 ** 0.5)
weights = F.softmax(scores, dim=-1)
output = torch.bmm(weights, v)  # (1, 5, 64)

Key difference: обычный attention связывает разные последовательности (например, вход и выход), self-attention работает внутри одной последовательности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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