🔍 درک گام‌به‌گام مکانیزم ترنسفورمر با یک مثال ساده

🎯 وظیفه: ترجمه ماشینی
📥 جمله ورودی (انگلیسی): “Hello, how are you?”
📤 جمله هدف (فارسی): “سلام، حال شما چطور است؟”

بیایید با هم ببینیم ترنسفورمر چگونه این ترجمه را انجام می‌دهد👇


🟢 گام ۱: توکنیزه‌کردن (Tokenization)

هر کلمه یا زیرکلمه تبدیل به یک عدد منحصر‌به‌فرد می‌شود.
مثال:
“you” → 2017


🟢 گام ۲: جاسازی (Embedding)

هر عدد تبدیل به یک بردار (vector) با معنای زبانی می‌شود.
مثال:
“how” → [-0.56, 0.33, 0.11, …]


🟢 گام ۳: رمزگذاری مکانی (Positional Encoding)

ترنسفورمر ترتیب کلمات را نمی‌داند، بنابراین با استفاده از توابع سینوسی و کسینوسی، اطلاعات موقعیت هر کلمه را به بردار آن اضافه می‌کنیم.
مثال:

کلمهجاسازی اولیهموقعیتبردار نهایی
how[-0.56, 0.33][0.04, 0.12][-0.52, 0.45]

🟢 گام ۴: توجه به خود (Self-Attention)

مدل بررسی می‌کند هر کلمه چقدر باید به سایر کلمات توجه کند.
مثال:

“how” → بیشترین توجه به “are” و “you”

فرمول:

Attention(Q, K, V) = softmax(QKᵀ / √d_k) * V


🟢 گام ۵: چندسر توجهی (Multi-Head Attention)

مدل از چند «سر» یا زاویه متفاوت به جمله نگاه می‌کند:

  • Head 1: نقش دستوری
  • Head 2: معنای واژه
  • Head 3: ساختار جمله

هر سر وزن‌های توجه خودش را تولید می‌کند و در پایان، خروجی‌ها با هم ترکیب می‌شوند.

🎯 چرا مفید است؟
چون یک رابطه را می‌توان از چند زاویه تحلیل کرد (مثل دیدن یک شی از چند دوربین).


🟢 گام ۶: شبکه‌ی پیش‌خور (Feedforward Network)

برای هر بردار خروجی از مرحله قبل، یک شبکه دو لایه (Dense) اعمال می‌شود:

FFN(x) = ReLU(W₁x + b₁)W₂ + b₂

🎯 فایده: یادگیری ویژگی‌های پیچیده‌تر و غیرخطی


🟢 گام ۷: جمع و نرمال‌سازی (Add & Norm)

برای پایداری آموزش، نتیجه مرحله قبلی با ورودی جمع شده و نرمال می‌شود:

Output = LayerNorm(Input + Attention_Output)

🎯 مزیت: کمک به جلوگیری از محو شدن گرادیان‌ها (Vanishing Gradients)


🟢 گام ۸: تکرار چند لایه‌ای

مراحل ۴ تا ۷ چند بار (مثلاً 6 یا 12 بار) در ساختار ترنسفورمر تکرار می‌شوند.

🎯 چرا؟
تا مدل بتواند مفاهیم عمیق‌تر و روابط بلندمدت‌تری را یاد بگیرد.


🟢 گام ۹: رمزگشا + توجه متقاطع (Decoder & Cross-Attention)

در این مرحله، مدل شروع به تولید ترجمه فارسی می‌کند. اما:

❗️ رمزگشا (Decoder) علاوه بر توجه به خودش، باید به خروجی رمزگذار (Encoder) هم نگاه کند.

مثال:

  • “Hello” (ورودی) → “سلام” (خروجی) → توجه = 0.9
  • “how” → “چطور” → توجه = 0.85

🎯 نتیجه: مدل مطمئن می‌شود ترجمه با متن اصلی هماهنگ است.


🟢 گام ۱۰: تولید خروجی نهایی (Final Output)

مدل در نهایت توکن‌های خروجی را به کلمات فارسی بازگردانده و جمله کامل می‌سازد:

[501, 234, 678, 987, 345, 123, 789]
→ “سلام، حال شما چطور است؟”


✅ خلاصه تصویری گام‌ها (گام، فرآیند و هدف):

| 1 | Tokenization | تبدیل کلمات به اعداد |
| 2 | Embedding | تبدیل اعداد به بردارها |
| 3 | Positional Encoding | افزودن اطلاعات ترتیبی |
| 4 | Self-Attention | بررسی روابط درون‌جمله |
| 5 | Multi-Head Attention | بررسی از چند دیدگاه |
| 6 | Feedforward | استخراج ویژگی‌های پیشرفته |
| 7 | Add & Norm | تثبیت و پایداری یادگیری |
| 8 | Repeat for Layers | یادگیری مفاهیم عمیق‌تر |
| 9 | Cross-Attention | تطبیق منبع و ترجمه |
| 10 | Output | تولید متن نهایی |


📌 این دقیقاً کاری‌ست که Google Translate یا ChatGPT انجام می‌دهند.
✅ ترکیبی از ریاضی، زبان و معماری‌های عمیق یادگیری!


Ai

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *