Encoder (Transformer) (FA)

From Systems analysis wiki
Jump to navigation Jump to search

رمزگذار (انگلیسی: Encoder) — در Machine Learning و یادگیری عمیق، این مؤلفه‌ای از Neural Network است که وظیفه اصلی آن تبدیل دنباله ورودی داده‌ها (مانند متن یا تصویر) به یک بازنمایی عددی غنی است که معمولاً حالت پنهان، بردار زمینه یا embedding نامیده می‌شود. این بازنمایی ویژگی‌های کلیدی و معناشناسی داده‌های ورودی را به شکلی مناسب برای پردازش بیشتر در خود نگه می‌دارد.

در معنای گسترده‌تر، در نظریه اطلاعات، رمزگذار هر دستگاه یا الگوریتمی است که اطلاعات را از یک قالب به قالب دیگر تبدیل می‌کند، اغلب با هدف فشرده‌سازی یا انتقال.

مفهوم و هدف

هدف اصلی رمزگذار در Neural Network‌ها استخراج ویژگی‌های مفید از داده‌های ورودی و «رمزگذاری» آن‌ها در یک بردار متراکم با طول ثابت است. این فرایند را می‌توان نوعی کاهش ابعاد غیرخطی دانست، که در آن داده‌های ورودی پرابعاد و پراکنده (مثلاً متن بازنمایی‌شده با بردارهای one-hot) به یک فضای برداری کم‌بُعد اما اطلاعاتی‌غنی (فضای پنهان) تبدیل می‌شوند.

این بردار رمزگذاری‌شده سپس می‌تواند برای موارد زیر به کار رود:

  • رمزگشا (Decoder) برای تولید دنباله جدید (مثلاً در ترجمه ماشینی).
  • طبقه‌بند (Classifier) برای حل وظایف تحلیلی (مثلاً تشخیص احساسات متن).
  • وظایفی که نیازمند درک کل زمینه ورودی هستند.

رمزگذار در معماری‌های مختلف

رمزگذار در Autoencoder

یکی از نمونه‌های کلاسیک، معماری Autoencoder است. این معماری از دو بخش تشکیل شده است:

  1. رمزگذار: داده‌های ورودی را به یک بازنمایی پنهان با ابعاد کمتر (کد پنهان) فشرده می‌کند.
  2. رمزگشا: تلاش می‌کند داده‌های اصلی را از این بازنمایی فشرده بازسازی کند.

با آموزش چنین شبکه‌ای برای به حداقل رساندن خطای بازسازی، رمزگذار یاد می‌گیرد مهم‌ترین ویژگی‌ها را از داده‌ها استخراج کند.

رمزگذار در شبکه‌های عصبی بازگشتی (RNN/LSTM)

پیش از ظهور معماری Transformer، رمزگذارها در وظایف پردازش دنباله (seq2seq) بر پایه شبکه‌های عصبی بازگشتی (RNN) یا نسخه پیشرفته آن‌ها یعنی LSTM ساخته می‌شدند.

  • اصل کارکرد: رمزگذار RNN دنباله ورودی را token به token پردازش می‌کند. در هر گام، حالت پنهان خود را با ترکیب اطلاعات token جاری و حالت قبلی به‌روز می‌کند. حالت پنهان نهایی که پس از پردازش کل دنباله به دست می‌آید، به‌عنوان برداری در نظر گرفته می‌شود که معنای کل دنباله ورودی را رمزگذاری می‌کند. این بردار اغلب بردار زمینه یا «بردار اندیشه» (thought vector) نامیده می‌شود.

رمزگذار در معماری Transformer

انقلاب در پردازش زبان طبیعی با ظهور رمزگذار مبتنی بر معماری Transformer رخ داد. برخلاف RNN، این رمزگذار تمام token‌های دنباله را به‌صورت موازی پردازش می‌کند.

رمزگذار Transformer از یک پشته (N) از لایه‌های یکسان تشکیل شده است. هر لایه دو زیرلایه اصلی دارد:

  1. توجه چندسری به خود (Multi-Head Self-Attention): این مکانیزم به هر token در دنباله ورودی اجازه می‌دهد به تمام token‌های دیگر «توجه» کند و اهمیت آن‌ها را برای شکل‌گیری بازنمایی زمینه‌ای خود وزن‌دهی کند. این امر به مدل اجازه می‌دهد وابستگی‌های پیچیده میان کلمات را، صرف‌نظر از موقعیتشان، تشخیص دهد.
  2. شبکه عصبی کاملاً متصل (Feed-Forward Network): به‌صورت جداگانه روی بازنمایی هر token برای تبدیل غیرخطی بیشتر اعمال می‌شود.

تفاوت کلیدی رمزگذار Transformer از رمزگذار RNN در این است که در خروجی نه یک بردار زمینه، بلکه دنباله‌ای از بردارهای زمینه‌ای‌شده — یکی برای هر token ورودی — تولید می‌کند. هر یک از این بردارها اطلاعاتی درباره token خود در زمینه کل دنباله در بر دارد.

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

مدل‌های رمزگذار-رمزگشا (Encoder-Decoder)

این معماری کلاسیک برای وظایف تبدیل دنباله به دنباله (seq2seq)، مانند ترجمه ماشینی یا خلاصه‌سازی، به کار می‌رود.

  • اصل کارکرد: رمزگذار کل دنباله ورودی (مثلاً جمله‌ای به زبان مبدأ) را پردازش می‌کند. بازنمایی‌های خروجی آن سپس به رمزگشا منتقل می‌شود که با استفاده از آن‌ها به‌صورت autoregressive دنباله خروجی (جمله به زبان مقصد) را تولید می‌کند. رمزگشا با استفاده از مکانیزم خاص توجه متقاطع (cross-attention) به خروجی رمزگذار «نگاه می‌کند».
  • نمونه‌ها: Transformer اصلی، T5، BART.

مدل‌های تنها-رمزگذار (Encoder-Only)

این مدل‌ها منحصراً از پشته رمزگذارهای Transformer استفاده می‌کنند.

  • اصل کارکرد: این مدل‌ها برای وظایفی طراحی شده‌اند که نیازمند درک عمیق زمینه کل متن ورودی هستند. به لطف ماهیت دوطرفه مکانیزم self-attention، بازنمایی‌های زمینه‌ای غنی برای هر token ایجاد می‌کنند.
  • کاربرد: برای وظایف تحلیل و درک زبان (NLU) ایده‌آل هستند، مانند:
    • طبقه‌بندی متن (مثلاً تحلیل احساسات).
    • تشخیص موجودیت‌های نام‌دار (NER).
    • پاسخ به سؤال (Question Answering)، جایی که پاسخ بخشی از متن است.
  • نمونه: BERT و مشتقات آن (RoBERTa، ALBERT).

ارتباط با رمزگشا

در معماری رمزگذار-رمزگشا، رمزگذار و رمزگشا نقش‌های مکمل ایفا می‌کنند:

  • رمزگذار مسئول درک دنباله ورودی است.
  • رمزگشا مسئول تولید دنباله خروجی است.

حلقه اتصال کلیدی میان آن‌ها مکانیزم توجه متقاطع (cross-attention) درون رمزگشا است. در هر گام تولید، رمزگشا یک پرس‌وجو (Query) بر اساس بخش از پیش تولیدشده دنباله خروجی تشکیل می‌دهد و از آن برای «توجه کردن» به بازنمایی‌های خروجی رمزگذار (که به‌عنوان کلید و مقدار — Key و Value — عمل می‌کنند) استفاده می‌کند. این امر به رمزگشا اجازه می‌دهد برای تولید token بعدی بر مرتبط‌ترین بخش‌های دنباله ورودی تمرکز کند.

همچنین ببینید

  • BERT

منابع

  • Hinton, G. E.; Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science. DOI:10.1126/science.1127647.
  • Cho, K. et al. (2014). Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation. arXiv:1406.1078.
  • Sutskever, I.; Vinyals, O.; Le, Q. V. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
  • Bahdanau, D.; Cho, K.; Bengio, Y. (2015). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
  • Kingma, D. P.; Welling, M. (2014). Auto-Encoding Variational Bayes. arXiv:1312.6114.
  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Dai, Z. et al. (2019). Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context. arXiv:1901.02860.
  • Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
  • Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Dosovitskiy, A. et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.