Encoder (Transformer) (BN)
এনকোডার (ইংরেজি: Encoder, কোডকারক) — Machine Learning এবং Deep Learning-এ এটি একটি Neural Network-এর উপাদান, যার মূল কাজ হলো ইনপুট ডেটার ক্রম (যেমন, পাঠ্য বা চিত্র) একটি সমৃদ্ধ সংখ্যাগত উপস্থাপনায় রূপান্তর করা, যাকে সাধারণত লুকানো অবস্থা (hidden state), প্রাসঙ্গিক ভেক্টর (context vector) বা embedding বলা হয়। এই উপস্থাপনাটি ইনপুট ডেটার মূল বৈশিষ্ট্য ও অর্থ এমন একটি আকারে ধারণ করে যা পরবর্তী প্রক্রিয়াকরণের জন্য উপযুক্ত।
আরও বিস্তৃত অর্থে, তথ্য তত্ত্বে, এনকোডার হলো যেকোনো ডিভাইস বা অ্যালগরিদম যা তথ্যকে একটি ফরম্যাট থেকে অন্য ফরম্যাটে রূপান্তর করে, প্রায়শই সংকোচন বা প্রেরণের উদ্দেশ্যে।
ধারণা এবং উদ্দেশ্য
NeuralNetwork-এ এনকোডারের মূল লক্ষ্য হলো ইনপুট ডেটা থেকে উপযোগী বৈশিষ্ট্যগুলো বের করে নির্দিষ্ট দৈর্ঘ্যের একটি ঘন ভেক্টরে "কোড" করা। এই প্রক্রিয়াটিকে অরৈখিক মাত্রা হ্রাসের একটি রূপ হিসেবে দেখা যায়, যেখানে উচ্চ-মাত্রিক ও বিক্ষিপ্ত ইনপুট ডেটা (যেমন, one-hot ভেক্টর দিয়ে উপস্থাপিত পাঠ্য) নিম্ন-মাত্রিক কিন্তু তথ্যসমৃদ্ধ ভেক্টর স্থানে (latent space) রূপান্তরিত হয়।
এই কোড করা ভেক্টরটি পরে ব্যবহার করা যেতে পারে:
- ডিকোডার দ্বারা নতুন ক্রম তৈরি করতে (যেমন, Machine Translation-এ)।
- শ্রেণিবিভাগকারী (Classifier) দ্বারা বিশ্লেষণমূলক কাজ সমাধানে (যেমন, পাঠ্যের ভাবমূর্তি নির্ধারণ)।
- সমগ্র ইনপুট প্রসঙ্গ বোঝার প্রয়োজনীয় কাজে।
বিভিন্ন আর্কিটেকচারে এনকোডার
অটোএনকোডারে এনকোডার
একটি ক্লাসিক উদাহরণ হলো অটোএনকোডার আর্কিটেকচার। এটি দুটি অংশ নিয়ে গঠিত:
- এনকোডার: ইনপুট ডেটাকে কম মাত্রার একটি লুকানো উপস্থাপনায় (latent code) সংকুচিত করে।
- ডিকোডার: এই সংকুচিত উপস্থাপনা থেকে মূল ডেটা পুনরুদ্ধার করার চেষ্টা করে।
এই ধরনের নেটওয়ার্ককে পুনরুদ্ধার ত্রুটি কমাতে প্রশিক্ষণ দেওয়ার মাধ্যমে, এনকোডার ডেটার সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলো বের করতে শেখে।
Recurrent Neural Network-এ এনকোডার (RNN/LSTM)
Transformer আর্কিটেকচারের আবির্ভাবের আগে, ক্রম প্রক্রিয়াকরণের কাজে (seq2seq) এনকোডারগুলো Recurrent Neural Network (RNN) বা তার উন্নত রূপ LSTM-এর ওপর ভিত্তি করে নির্মিত হতো।
- কার্যনীতি: RNN এনকোডার ইনপুট ক্রমটি এক এক করে token প্রক্রিয়া করে। প্রতিটি ধাপে এটি বর্তমান token ও পূর্ববর্তী অবস্থার তথ্য অন্তর্ভুক্ত করে তার লুকানো অবস্থা আপডেট করে। সম্পূর্ণ ক্রম প্রক্রিয়া করার পর প্রাপ্ত চূড়ান্ত লুকানো অবস্থাটিকে সমগ্র ইনপুট ক্রমের অর্থ কোড করা ভেক্টর হিসেবে বিবেচনা করা হয়। এই ভেক্টরটিকে প্রায়ই প্রাসঙ্গিক ভেক্টর বা "চিন্তার ভেক্টর" (thought vector) বলা হয়।
Transformer আর্কিটেকচারে এনকোডার
প্রাকৃতিক ভাষা প্রক্রিয়াকরণে বিপ্লব এসেছে Transformer আর্কিটেকচার ভিত্তিক এনকোডারের আবির্ভাবের সাথে। RNN-এর বিপরীতে, এটি ক্রমের সমস্ত token একসাথে সমান্তরালভাবে প্রক্রিয়া করে।
Transformer-এর এনকোডার একটি স্তরের স্তূপ () নিয়ে গঠিত। প্রতিটি স্তরে দুটি মূল উপস্তর রয়েছে:
- বহু-মাথাওয়ালা স্ব-মনোযোগ (Multi-Head Self-Attention): এই প্রক্রিয়াটি ইনপুট ক্রমের প্রতিটি token-কে অন্য সমস্ত token-এর দিকে "মনোযোগ" দেওয়ার এবং নিজের প্রাসঙ্গিক উপস্থাপনা তৈরিতে তাদের গুরুত্ব নির্ধারণ করার সুযোগ দেয়। এটি মডেলকে শব্দগুলোর অবস্থান নির্বিশেষে তাদের মধ্যে জটিল নির্ভরতা ধরতে সক্ষম করে।
- সম্পূর্ণ-সংযুক্ত Neural Network (Feed-Forward Network): প্রতিটি token-এর উপস্থাপনায় আলাদাভাবে আরও অরৈখিক রূপান্তরের জন্য প্রয়োগ করা হয়।
Transformer এনকোডার এবং RNN এনকোডারের মধ্যে মূল পার্থক্য হলো এটি আউটপুটে একটি মাত্র প্রাসঙ্গিক ভেক্টর নয়, বরং প্রতিটি ইনপুট token-এর জন্য একটি করে প্রাসঙ্গিকীকৃত ভেক্টরের ক্রম প্রদান করে। এই প্রতিটি ভেক্টরে সমগ্র ক্রমের প্রসঙ্গে তার token সম্পর্কিত তথ্য থাকে।
এনকোডার ভিত্তিক মডেলের ধরন
এনকোডার-ডিকোডার মডেল
এটি ক্রম থেকে ক্রম (seq2seq) রূপান্তরের কাজের জন্য ক্লাসিক আর্কিটেকচার, যেমন Machine Translation বা সারসংক্ষেপ।
- কার্যনীতি: এনকোডার সমগ্র ইনপুট ক্রম (যেমন, মূল ভাষার বাক্য) প্রক্রিয়া করে। তারপর এর আউটপুট উপস্থাপনাগুলো ডিকোডারে পাঠানো হয়, যা সেগুলো ব্যবহার করে স্বয়ংক্রিয়ভাবে আউটপুট ক্রম (লক্ষ্য ভাষার বাক্য) তৈরি করে। ডিকোডার বিশেষ পারস্পরিক মনোযোগ (cross-attention) প্রক্রিয়ার মাধ্যমে এনকোডারের আউটপুটের দিকে "তাকায়"।
- উদাহরণ: মূল Transformer, T5, BART।
কেবল-এনকোডার মডেল (Encoder-Only)
এই মডেলগুলো শুধুমাত্র Transformer-এর এনকোডার স্তূপ ব্যবহার করে।
- কার্যনীতি: এগুলো এমন কাজের জন্য তৈরি যেখানে সমগ্র ইনপুট পাঠ্যের প্রসঙ্গ গভীরভাবে বোঝা দরকার। স্ব-মনোযোগ প্রক্রিয়ার দ্বি-দিকনির্ভর (bidirectional) প্রকৃতির কারণে, এগুলো প্রতিটি token-এর জন্য সমৃদ্ধ প্রাসঙ্গিক উপস্থাপনা তৈরি করে।
- প্রয়োগ: ভাষা বিশ্লেষণ ও বোঝার কাজে (NLU) আদর্শ, যেমন:
- পাঠ্য শ্রেণিবিভাগ (যেমন, ভাবমূর্তি বিশ্লেষণ)।
- নামযুক্ত সত্তা স্বীকৃতি (NER)।
- প্রশ্নোত্তর (Question Answering), যেখানে উত্তরটি পাঠ্যের একটি অংশ।
- উদাহরণ: BERT এবং এর উদ্ভূত মডেলগুলো (RoBERTa, ALBERT)।
ডিকোডারের সাথে সম্পর্ক
এনকোডার-ডিকোডার আর্কিটেকচারে এনকোডার এবং ডিকোডার পরিপূরক ভূমিকা পালন করে:
- এনকোডার ইনপুট ক্রম বোঝার দায়িত্ব পালন করে।
- ডিকোডার আউটপুট ক্রম তৈরির দায়িত্ব পালন করে।
তাদের মধ্যে মূল সংযোগকারী হলো ডিকোডারের ভেতরে থাকা পারস্পরিক মনোযোগ (cross-attention) প্রক্রিয়া। তৈরির প্রতিটি ধাপে ডিকোডার ইতিমধ্যে তৈরি আউটপুট ক্রমের অংশের ভিত্তিতে একটি Query গঠন করে এবং সেটি ব্যবহার করে এনকোডারের আউটপুট উপস্থাপনার (যা Key এবং Value হিসেবে কাজ করে) দিকে "মনোযোগ" দেয়। এটি ডিকোডারকে পরবর্তী token তৈরির জন্য ইনপুট ক্রমের সবচেয়ে প্রাসঙ্গিক অংশে মনোনিবেশ করতে সক্ষম করে।
সাহিত্য
- 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.
আরও দেখুন
- BERT