Encoder–decoder architecture — এনকোডার–ডিকোডার আর্কিটেকচার
এনকোডার-ডিকোডার মডেল (ইং. Encoder-Decoder Models) — এটি Neural Network আর্কিটেকচারের একটি শ্রেণি, যা ক্রম থেকে ক্রমে রূপান্তরের (sequence-to-sequence, seq2seq) সমস্যা সমাধানের জন্য তৈরি। এই আর্কিটেকচার দুটি মূল উপাদান নিয়ে গঠিত:
- এনকোডার (কোডার): ইনপুট ক্রমটি প্রক্রিয়া করে এবং তা একটি সংক্ষিপ্ত সংখ্যাসূচক উপস্থাপনায় (context vector বা লুকানো অবস্থার ক্রম) সংকুচিত করে।
- ডিকোডার (ডিকোডার): এই উপস্থাপনা গ্রহণ করে এবং তার ভিত্তিতে আউটপুট ক্রম তৈরি করে।
এই আর্কিটেকচার NLP এবং কম্পিউটার ভিশনের অনেক কাজের ভিত্তি, যেমন মেশিন ট্রান্সলেশন, টেক্সট সারসংক্ষেপ এবং ছবির ক্যাপশন তৈরি।
ধারণা
এনকোডার-ডিকোডার আর্কিটেকচারের মূল ধারণা হলো বোঝার এবং তৈরি করার কাজ আলাদা করা। এনকোডার ইনপুট ক্রম বোঝার দায়িত্ব নেয়, এর থেকে সমস্ত প্রয়োজনীয় শব্দার্থিক তথ্য বের করে। ডিকোডার নতুন ক্রম তৈরি করার দায়িত্ব নেয়, এনকোডারের দেওয়া তথ্য ব্যবহার করে।
এটি মডেলকে ইনপুট এবং আউটপুটে ভিন্ন দৈর্ঘ্যের ক্রমের সাথে কাজ করতে দেয়, যা পূর্ববর্তী আর্কিটেকচারগুলোর জন্য কঠিন ছিল।
আর্কিটেকচারের বিবর্তন
RNN/LSTM ভিত্তিক প্রথম দিকের মডেলগুলো
প্রথমদিকে এনকোডার-ডিকোডার আর্কিটেকচার রিকারেন্ট Neural Network (RNN) বা এর উন্নত সংস্করণ LSTM ব্যবহার করে প্রয়োগ করা হয়েছিল।
- এনকোডার: RNN এনকোডার ইনপুট ক্রমটি token দ্বারা token প্রক্রিয়া করত এবং আউটপুটে একটি context vector দিত — শেষ token প্রক্রিয়ার পরের লুকানো অবস্থা, যা সম্পূর্ণ ক্রমের তথ্য ধারণ করার কথা ছিল।
- ডিকোডার: RNN ডিকোডার এই context vector দিয়ে শুরু হত এবং autoregressive পদ্ধতিতে আউটপুট ক্রম তৈরি করত।
এই পদ্ধতির প্রধান সমস্যা ছিল "বোতলনেক" সমস্যা: ইনপুট ক্রমের সমস্ত তথ্য একটি নির্দিষ্ট দৈর্ঘ্যের vector-এ সংকুচিত করতে হত, যা তথ্য হারানোর কারণ হত, বিশেষত দীর্ঘ ক্রমে।
Attention Mechanism প্রবর্তন
একটি সাফল্য আসে attention mechanism প্রবর্তনের মাধ্যমে (Bahdanau et al., 2014)।
- কার্যপদ্ধতি: একটি context vector-এর উপর নির্ভর না করে, ডিকোডার প্রতিটি তৈরির ধাপে এনকোডারের সমস্ত লুকানো অবস্থার দিকে "মনোযোগ দেয়"। এটি attention weight গণনা করে, যা দেখায় ইনপুট ক্রমের কোন অংশগুলো বর্তমান আউটপুট token তৈরির জন্য সবচেয়ে প্রাসঙ্গিক।
- সুবিধা: এটি "বোতলনেক" সমস্যা সমাধান করেছিল এবং মডেলকে দীর্ঘ ক্রমের সাথে কার্যকরভাবে কাজ করতে দিয়েছিল, বিশেষত মেশিন ট্রান্সলেশনে গুণমান উল্লেখযোগ্যভাবে উন্নত করেছিল।
Transformer আর্কিটেকচার
২০১৭ সালে "Attention Is All You Need" প্রবন্ধে Transformer আর্কিটেকচার উপস্থাপন করা হয়, যা attention mechanism-এর পক্ষে সম্পূর্ণরূপে রিকারেন্সি পরিত্যাগ করে।
- Transformer এনকোডার: স্তরের স্তুপ নিয়ে গঠিত, যার প্রতিটি প্রতিটি ইনপুট token-এর জন্য প্রাসঙ্গিক উপস্থাপনা তৈরিতে self-attention ব্যবহার করে।
- Transformer ডিকোডার: স্তরের স্তুপ নিয়ে গঠিত, যার প্রতিটিতে দুই ধরনের attention mechanism রয়েছে:
- Masked self-attention: ইতিমধ্যে তৈরি আউটপুট ক্রমের অংশ প্রক্রিয়ার জন্য।
- Cross-Attention: এনকোডারের আউটপুট উপস্থাপনার দিকে "মনোযোগ দেওয়ার" জন্য।
এই আর্কিটেকচার তার উচ্চ কর্মক্ষমতা এবং গণনার সমান্তরালকরণের সুযোগের কারণে seq2seq কাজের জন্য মানদণ্ড হয়ে উঠেছে।
প্রয়োগ
এনকোডার-ডিকোডার আর্কিটেকচার বিস্তৃত পরিসরের কাজের জন্য মানদণ্ড:
- মেশিন ট্রান্সলেশন: এক ভাষা থেকে অন্য ভাষায় বাক্য রূপান্তর।
- স্বয়ংক্রিয় টেক্সট সারসংক্ষেপ: একটি দীর্ঘ নথির সংক্ষিপ্ত বিষয়বস্তু তৈরি।
- সংলাপ সিস্টেম: ব্যবহারকারীর মন্তব্যের উত্তর তৈরি।
- ছবির ক্যাপশন (Image Captioning): এনকোডার (প্রায়ই কনভোলিউশনাল Neural Network ভিত্তিক) ছবি প্রক্রিয়া করে, এবং ডিকোডার (প্রায়ই RNN বা Transformer) এর পাঠ্য বিবরণ তৈরি করে।
- বাক Speech Recognition: অডিও সংকেতকে পাঠ্য ট্রান্সক্রিপশনে রূপান্তর।
মূল মডেলগুলো
- মূল Transformer (Vaswani et al., 2017): যে মডেলটি এই আর্কিটেকচার উপস্থাপন করেছিল।
- BART (Bidirectional and Auto-Regressive Transformers): Facebook-এর একটি মডেল, যা "নষ্ট" টেক্সট পুনরুদ্ধারের কাজে pre-train করা হয়। এনকোডার দ্বিমুখী (BERT-এর মতো), এবং ডিকোডার autoregressive (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.