Encoder–decoder architecture — معماری رمزگذار–رمزگشا
مدلهای رمزگذار-رمزگشا (انگلیسی: Encoder-Decoder Models) — دستهای از معماریهای شبکههای عصبی هستند که برای حل مسائل تبدیل دنباله به دنباله (sequence-to-sequence, seq2seq) طراحی شدهاند. این معماری از دو مؤلفه اصلی تشکیل شده است:
- رمزگذار (Encoder): دنباله ورودی را پردازش کرده و آن را به یک بازنمایی عددی فشرده (بردار زمینه یا دنبالهای از حالتهای پنهان) تبدیل میکند.
- رمزگشا (Decoder): این بازنمایی را دریافت کرده و بر اساس آن دنباله خروجی را تولید میکند.
این معماری پایه بسیاری از وظایف پردازش زبان طبیعی (NLP) و بینایی ماشین است؛ از جمله ترجمه ماشینی، خلاصهسازی متن و توضیح تصویر.
مفهوم
ایده اصلی معماری رمزگذار-رمزگشا در جداسازی وظایف درک و تولید نهفته است. رمزگذار مسئول درک دنباله ورودی است و تمام اطلاعات معنایی لازم را از آن استخراج میکند. رمزگشا مسئول تولید دنباله جدید است و از اطلاعاتی که رمزگذار فراهم کرده بهره میبرد.
این امر به مدل اجازه میدهد با دنبالههایی با طول متفاوت در ورودی و خروجی کار کند، که در معماریهای پیشین دشوار بود.
تکامل معماری
مدلهای اولیه مبتنی بر RNN/LSTM
در ابتدا معماری رمزگذار-رمزگشا با استفاده از شبکههای عصبی بازگشتی (RNN) یا نسخه پیشرفته آنها یعنی LSTM پیادهسازی میشد.
- رمزگذار: رمزگذار RNN دنباله ورودی را token به token پردازش میکرد و در خروجی یک بردار زمینه تولید میکرد — حالت پنهان پس از پردازش آخرین token، که باید اطلاعات کل دنباله را در خود داشت.
- رمزگشا: رمزگشای RNN با این بردار زمینه مقداردهی اولیه میشد و به صورت خودبازگشتی دنباله خروجی را تولید میکرد.
عیب اصلی این رویکرد مشکل «گلوگاه» بود: تمام اطلاعات دنباله ورودی باید در یک بردار با طول ثابت فشرده میشد که منجر به از دست رفتن اطلاعات، بهویژه در دنبالههای طولانی، میگردید.
معرفی مکانیزم توجه
پیشرفت بزرگ با معرفی مکانیزم توجه (attention mechanism) (Bahdanau et al., 2014) رخ داد.
- اصل کار: به جای اتکا به یک بردار زمینه واحد، رمزگشا در هر گام تولید به تمام حالتهای پنهان رمزگذار «توجه» میکند. وزنهای توجه محاسبه میشوند که نشان میدهند کدام بخشهای دنباله ورودی برای تولید token خروجی فعلی بیشترین ارتباط را دارند.
- مزایا: این امر مشکل «گلوگاه» را حل کرد و به مدل امکان داد با دنبالههای طولانی به طور مؤثر کار کند و کیفیت را بهویژه در ترجمه ماشینی به طور قابل توجهی بهبود بخشید.
معماری Transformer
در سال ۲۰۱۷ در مقاله «Attention Is All You Need» معماری Transformer معرفی شد که به طور کامل از بازگشتی بودن به نفع مکانیزم توجه صرفنظر کرد.
- رمزگذار Transformer: از پشتهای از لایهها تشکیل شده که هر کدام از خودتوجهی (self-attention) برای ایجاد بازنماییهای زمینهای برای هر token ورودی استفاده میکنند.
- رمزگشای Transformer: از پشتهای از لایهها تشکیل شده که هر کدام دو نوع مکانیزم توجه دارند:
- خودتوجهی پوشیدهشده (Masked Self-Attention): برای پردازش بخشی از دنباله خروجی که پیشتر تولید شده است.
- توجه متقاطع (Cross-Attention): برای «توجه کردن» به بازنماییهای خروجی رمزگذار.
این معماری به دلیل کارایی بالا و امکان موازیسازی محاسبات، به استاندارد وظایف seq2seq تبدیل شد.
کاربردها
معماری رمزگذار-رمزگشا استاندارد طیف گستردهای از وظایف است:
- ترجمه ماشینی: تبدیل جمله از یک زبان به زبان دیگر.
- خلاصهسازی خودکار متن: ایجاد خلاصهای از یک سند طولانی.
- سیستمهای مکالمهای: تولید پاسخ به گفته کاربر.
- توضیح تصویر (Image Captioning): رمزگذار (اغلب مبتنی بر شبکه عصبی کانولوشنی) تصویر را پردازش میکند و رمزگشا (اغلب RNN یا Transformer) توضیح متنی آن را تولید میکند.
- تشخیص گفتار: تبدیل سیگنال صوتی به رونوشت متنی.
مدلهای اصلی
- Transformer اصلی (Vaswani et al., 2017): مدلی که این معماری را معرفی کرد.
- BART (Bidirectional and Auto-Regressive Transformers): مدلی از Facebook که بر روی وظیفه بازسازی متن «خرابشده» پیشآموزش میبیند. رمزگذار دوسویه است (مانند BERT) و رمزگشا خودبازگشتی است (مانند GPT).
- T5 (Text-to-Text Transfer Transformer): مدلی از Google که تمام وظایف NLP را با بازنمایی آنها به صورت مسئله تبدیل متن به متن یکپارچه میکند. T5 نتایج برجستهای در benchmarkهای متعدد نشان داده است.
مقایسه با سایر معماریها
| معماری | وظیفه اصلی | مؤلفهها | مدلهای نمونه |
|---|---|---|---|
| رمزگذار-رمزگشا | تبدیل دنباله به دنباله | رمزگذار + رمزگشا | T5, BART, Transformer اصلی |
| فقط-رمزگذار | درک متن | فقط رمزگذار | BERT, RoBERTa |
| فقط-رمزگشا | تولید متن | فقط رمزگشا |
منابع
- Bahdanau, D. et al. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
- Sutskever, I. et al. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
- Luong, M.-T. et al. (2015). Effective Approaches to Attention-based Neural Machine Translation. arXiv:1508.04025.
- Wu, Y. et al. (2016). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. arXiv:1609.08144.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Britz, D. et al. (2017). Massive Exploration of Neural Machine Translation Architectures. arXiv:1703.03906.
- Lewis, M. et al. (2020). BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation. arXiv:1910.13461.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Dong, L. et al. (2019). Unified Language Model Pre-training for Natural Language Understanding and Generation. arXiv:1905.03197.
- Zhang, J. et al. (2020). PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization. arXiv:1912.08777.