Πολυκεφαλική Προσοχή

term_id: multi_head_attention

Category: basic_concepts

Definition

Η Πολυκεφαλική Προσοχή επεκτείνει τον τυπικό μηχανισμό προσοχής εκτελώντας τον πολλές φορές παράλληλα με διαφορετικές μαθημένες γραμμικές προβολές. Αυτό επιτρέπει στο μοντέλο να εξετάζει ταυτόχρονα πληροφορίες από διάφορες πηγές.

Summary

Ένας μηχανισμός στα μοντέλα Transformer που επιτρέπει στο μοντέλο να προσέχει πληροφορίες από διαφορετικούς υποχώρους αναπαράστασης ταυτόχρονα.

Key Concepts

  • Αυτο-Προσοχή
  • Γραμμικές Προβολές
  • Σύμπλεξη

Use Cases

  • Επεξεργασία Φυσικής Γλώσσας (NLP)
  • Μηχανική Μετάφραση
  • Ταξινόμηση Εικόνων με Vision Transformers

Code Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import torch.nn as nn

class MultiHeadAttention(nn.Module):
    def __init__(self, d_model, num_heads):
        super().__init__()
        self.num_heads = num_heads
        self.d_k = d_model // num_heads
        self.W_q = nn.Linear(d_model, d_model)
        self.W_k = nn.Linear(d_model, d_model)
        self.W_v = nn.Linear(d_model, d_model)
        self.W_o = nn.Linear(d_model, d_model)

    def forward(self, x):
        # Simplified forward pass logic
        pass