مکانیزمهای Attention در یادگیری ماشین
مکانیزمهای Attention در یادگیری ماشین
مقدمه
در سالهای اخیر، مکانیزم Attention یکی از مهمترین پیشرفتها در حوزه یادگیری ماشین و بهویژه در شبکههای عصبی عمیق بوده است. این مفهوم ابتدا در ترجمه ماشینی معرفی شد، اما به سرعت به بخش حیاتی مدلهایی چون Transformer، BERT، و GPT تبدیل گردید.
در این مقاله، با مفاهیم پایهای Attention، انواع آن، و نحوه عملکرد در مدلهای مختلف آشنا میشوید.
1. مفهوم Attention در یادگیری ماشین
به صورت کلی، Attention به مدل اجازه میدهد در هر مرحله پردازش داده، روی بخشهای مهمتر تمرکز کند.
در مقایسه با شبکههای عصبی سنتی که اهمیت همه ورودیها را به یک اندازه در نظر میگیرند، Attention وزنهای متفاوتی برای بخشهای مختلف ورودی تخصیص میدهد.
مثال ساده:
در ترجمه جمله “The cat sat on the mat”، مدل باید هنگام ترجمه کلمه “cat” بیشتر به مفهوم حیوان توجه کند تا به سایر کلمات. مکانیزم Attention این “تمرکز” را مدلسازی میکند.
2. فرمول ریاضی Attention
فرمول مدلهای کلاسیک، Attention به شکل زیر نمایش داده میشود:
در اینجا سه بردار اصلی وجود دارند:
- Q (Query) — سؤالی که مدل از دادهها میپرسد، یعنی روی چه چیزی باید تمرکز کند.
- K (Key) — کلیدهایی که ویژگیهای محتوای ورودی را بازنمایی میکنند.
- V (Value) — مقادیری که حاوی اطلاعات نهایی هستند و اصولا ورودی مدل است؛
: بعد بردارهای Key
این فرمول هستهی اصلی انواع Attention و در بسیاری از مدلها تثبیت شده است . مفهوم هر مرحله در جدول زیر نوشته شده است.
| فرمول | توضیح هر مرحله |
|---|---|
| مرحله اول محاسبه شباهت Query و هر Key موجود | |
| مرحله دوم مقیاسدهی جهت پایداری آموزشی و کنترل مقادیر بالای شباهت رفع ایراد محو شدگی گرادیان | |
| مرحله سوم تولید بردار وزن برای نمایش اهمیت هر بخشش از ورودی | |
| مرحله چهارم محاسبه میانگین وزندار از تمام Valueها |
مثالی از مکانیزم توجه در بررسی جمله
فرض کن میخواهیم مدلی طراحی کنیم که معنی جمله sat را در جمله زیر بفهمد و ترجمه کند.
“The cat sat on the mat.”
مدل باید در هر لحظه بداند که کدام کلمات دیگر برای فهم کلمهی فعلی مفیدند. تصور کنیم الان در حال پردازش کلمه “sat” هستیم بنابراین
- Query (سؤال): یعنی «من دارم دربارهی “sat” فکر میکنم، چه بخشهایی از جمله برای درک بهتر آن مهماند؟»
- Keys (کلیدها): هر کلمه در جمله (مثل mat,The,cat , on, the,) یک “برچسب حافظه” دارد که نشان میدهد دربارهٔ چه چیزی حرف میزند.
- Values (مقادیر): اطلاعات معنایی متناظر با آن کلمه — مثل معنایش یا ویژگی نحوی آن.

مدل حالا Query مربوط به “sat” را با تمام Keyها مقایسه میکند که در نهایت مدل متوجه میشود که هنگام پردازش “sat”، کلمهی “cat” بیشترین ارتباط را دارد.
| مقایسه | نتیجه شباهت |
|---|---|
| sat↔ the | کم (ربط معنایی ندارد) |
| cat↔ sat | نسبتاً زیاد (چه کسی نشته است) |
| sat ↔ mat | متوسط (روی چه چیزی نشسته است) |
مثالی از مکانیزم توجه در بررسی تصویر
فرض کن داری به یک عکس نگاه میکنی که در آن یک سگ روی چمن نشسته است. اگر مدل Vision Transformer بخواهد عکس را تحلیل کند:
- هر بخش از تصویر (مثل سگ، چمن، آسمان) یک Key و Value دارد.
- سؤال مدل (Query) ممکن است باشد: «برای فهم بهتر بخش سگ، کدام نواحی تصویر مهمترند؟»
- مدل با مقایسهی Featureهای سگ (Query) با سایر Keyها (مثلاً چمن یا آسمان) تصمیم میگیرد از کدام بخشها درک بیشتری استخراج کند.
نتیجه: مدل یاد میگیرد که “سگ” باید بیشتر به “زیر پایش (چمن)” و کمتر به “آسمان” توجه کند.
دسته بندی انواع مکانیزمهای توجه
مکانیزمهای توجه در شبکههای عصبی عمیق، بهویژه در مدلهای مبتنی بر توالی مانند Transformer، برای تعیین اهمیت نسبی بخشهای مختلف ورودی هنگام پردازش یا تولید یک خروجی به کار میروند. این مکانیزمها را میتوان از سه منظر اصلی دستهبندی کرد:
۱. بر اساس تابع امتیازدهی (Scoring Function)
این منظر نحوه محاسبه میزان ارتباط بین Query (Q) و Key (K) را تعریف میکند:
- توجه افزودنی (Additive Attention / Bahdanau): از یک شبکه عصبی کوچک (MLP) برای محاسبه امتیاز استفاده میکند: این روش انعطافپذیری بیشتری دارد اما محاسبات آن سنگینتر است و بیشتر در مدلهای مبتنی بر RNNs دیده میشد.
- توجه نقطهای (Dot-Product Attention): یک ضرب نقطهای ساده بین Q و K است: این روش سریعتر است، اما نیازمند همبعد بودن Q و K است.
- توجه عمومی (General Attention / Luong): تعمیمی از توجه نقطهای است که از یک ماتریس وزن (W) قابل یادگیری استفاده میکند:
- Scaled Dot-Product Attention (توجه نقطهای مقیاسدهی شده): این فرمول همان فرمول پایه در معماری Transformer است که در بالا شرح داده شده است .

۲. بر اساس روش محاسبه خروجی (Soft vs. Hard Attention)
این دستهبندی بر نحوه اعمال وزنهای محاسبه شده بر روی مقادیر (V) تمرکز دارد:
- Soft Attention (توجه نرم): رایجترین نوع است که در آن وزنهای توجه (پس از اعمال Softmax) به صورت پیوسته و وزنی بر روی تمام عناصر ورودی اعمال میشوند. این پیوستگی امکان آموزش مستقیم با پسانتشار خطا (Backpropagation) را فراهم میسازد و برای وظایف مدرن (ترجمه، خلاصهسازی) استاندارد است. توجه نرم قلب Self-Attention و Cross-Attention محسوب می شود.
- Hard Attention (توجه سخت): در این روش، مدل به صورت گسسته تنها یک یا چند ناحیه خاص از ورودی را برای توجه انتخاب میکند . از آنجایی که این انتخاب گسسته است، تابع فعالسازی مشتقپذیر نیست و آموزش آن نیازمند تکنیکهای تخمینی گرادیان مانند REINFORCE است که اغلب ناپایدارتر هستند. رابطه ریاضی این روش به صورت زیر است
که در آن یک متغیر باینری (۰ یا ۱) است که نشان میدهد آیا مکان انتخاب شده است یا خیر.
۳. بر اساس منبع ورودی (Self vs. Cross Attention)
- Self-Attention (توجه به خود): ستون فقرات مدل Transformer است. در این مکانیزم، تمام ورودیها (مانند کلمات در یک جمله) همزمان نقش Query، Key و Value را بازی میکنند و معادل دنباله ورودی واحد (X) می باشند. هدف، درک روابط و وابستگیهای داخلی هر جزء از توالی با سایر اجزای همان توالی است.
که در آن ماتریسهای وزن قابل آموزش هستند که برای تولید Q، K و V از ورودی اصلی X استفاده میشوند.

- Cross-Attention (توجه متقاطع): این مکانیزم برای برقراری ارتباط بین دو توالی متفاوت به کار میرود (مانند ارتباط بین جمله مبدأ و مقصد در ترجمه ماشینی). در اینجا، Q از یک منبع (مثلاً خروجی رمزگشا) و K و V از منبع دیگر (مثلاً خروجی رمزگذار) میآیند.
این مدل توجه مدل را قادر میسازد هنگام تولید هر بخش از خروجی، به کل ورودی اصلی نگاه کند و مهمترین قسمتهای آن را استخراج کند.
بهبود عملکرد Multi-Head Attention
این مکانیزم توجه چند سری، در واقع بهبود عملکرد Self-Attention در Transformer است.
- مفهوم: به جای اجرای یک بار محاسبه Attention با یک سری پارامتر، h بار به صورت موازی و مستقل، عملیات Attention با مجموعهای متفاوت از ماتریسهای وزن () اجرا میشود. هر “سَر” (Head) یاد میگیرد تا بر روی جنبههای متفاوتی از اطلاعات تمرکز کند.
- ویژگی: اجازه میدهد مدل به طور همزمان روابط مختلفی را در دادهها بیاموزد (مثلاً یک سر بر روابط نحوی و سر دیگر بر روابط معنایی تمرکز کند).

- محاسبه موازی: محاسبه h مکانیزم Attention به صورت مستقل:
- الحاق و تبدیل: نتایج تمام سَرها الحاق (Concatenate) شده و سپس از یک لایه خطی نهایی () عبور داده میشوند:
توجه داشته باشید که این دستهبندیها مکمل یکدیگر هستند؛ Self-Attention یک کاربرد خاص است که از روش Soft Attention (نحوه محاسبه خروجی) با استفاده از تابع امتیازدهی Scaled Dot-Product استفاده میکند. Multi-Head Attention صرفاً اجرای موازی و ترکیب نتایج چندین لایهی Self-Attention است تا مدل در زوایای مختلف به دادهها نگاه کند.
حوزه های کاربردی توجه
- پردازش زبان طبیعی (NLP):
برای مدلسازی روابط معنایی بین کلمات. - بینایی ماشین (Computer Vision):
در مدلهایی مثل Vision Transformer برای انتخاب نواحی مهم تصویر. - صدا و گفتار:
برای تمرکز بر قسمتهای خاصی از سیگنال صوتی.
چالشها و مسیرهای آینده
- هزینه محاسباتی بالا در توالیهای بلند
- وابستگی زیاد به دادههای برچسبدار
راهکارهای آینده شامل استفاده از :
- Sparse Attention
- Efficient Transformer
- Performer و BigBird برای پردازش توالیهای عظیم
جمعبندی
مکانیزم Attention همان چیزی است که باعث تحول در دنیای مدلهای هوشمند شده است. از سادهترین نسخهها تا ساختارهای پیچیده چندسری، هدف نهایی آن افزایش توانایی مدل در تمرکز هوشمندانه بر اطلاعات مهم است. دانستن این مفاهیم اساس فهم مدلهایی مانند GPT، BERT، و ViT را تشکیل میدهد. حال که مقدمات مکانیزم توجه را مرور کردیم در مقالات اینده به شبکه های ترنسفورمر می پردازیم .
