Encoder (Transformer) (HI)

From Systems analysis Wiki
Jump to navigation Jump to search

एन्कोडर (अंग्रेज़ी: Encoder, कोडक) — Machine Learning और Deep Learning में यह एक Neural Network का वह घटक है, जिसका मुख्य कार्य इनपुट डेटा अनुक्रम (जैसे, पाठ या चित्र) को एक समृद्ध संख्यात्मक निरूपण में रूपांतरित करना है, जिसे सामान्यतः छिपी अवस्था (hidden state), संदर्भ वेक्टर (context vector) या embedding कहा जाता है। यह निरूपण इनपुट डेटा की प्रमुख विशेषताओं और अर्थ को ऐसे रूप में संग्रहीत करता है जो आगे की प्रक्रिया के लिए उपयुक्त हो।

व्यापक अर्थ में, सूचना सिद्धांत (information theory) में एन्कोडर कोई भी ऐसा उपकरण या एल्गोरिद्म है जो सूचना को एक प्रारूप से दूसरे प्रारूप में बदलता है, प्रायः संपीड़न (compression) या संचरण (transmission) के उद्देश्य से।

अवधारणा और उद्देश्य

Neural Networks में एन्कोडर का मूल उद्देश्य इनपुट डेटा से उपयोगी विशेषताएँ निकालना और उन्हें एक निश्चित लंबाई के सघन वेक्टर में "कोड" करना है। इस प्रक्रिया को अरैखिक आयाम-न्यूनीकरण (nonlinear dimensionality reduction) के एक रूप के रूप में देखा जा सकता है, जहाँ उच्च-आयामी और विरल इनपुट डेटा (जैसे, one-hot वेक्टर के रूप में प्रस्तुत पाठ) को कम-आयामी, किंतु सूचना-संपन्न वेक्टर स्थान (latent space) में रूपांतरित किया जाता है।

यह कोडित वेक्टर तब निम्नलिखित कार्यों में उपयोग किया जा सकता है:

  • डिकोडर द्वारा नई अनुक्रम उत्पन्न करने के लिए (जैसे, मशीनी अनुवाद में)।
  • वर्गीकारक (Classifier) द्वारा विश्लेषण कार्यों के लिए (जैसे, पाठ की भावना-पहचान)।
  • ऐसे कार्यों के लिए जिनमें संपूर्ण इनपुट संदर्भ की समझ आवश्यक हो।

विभिन्न आर्किटेक्चर में एन्कोडर

ऑटोएन्कोडर में एन्कोडर

एक क्लासिक उदाहरण ऑटोएन्कोडर (autoencoder) की आर्किटेक्चर है। यह दो भागों से मिलकर बनता है:

  1. एन्कोडर: इनपुट डेटा को कम आयाम के छिपे हुए निरूपण (latent code) में संपीड़ित करता है।
  2. डिकोडर: इस संपीड़ित निरूपण से मूल डेटा को पुनर्स्थापित करने का प्रयास करता है।

ऐसे नेटवर्क को पुनर्स्थापना त्रुटि न्यूनतम करने का प्रशिक्षण देकर, एन्कोडर डेटा से सर्वाधिक महत्त्वपूर्ण विशेषताएँ निकालना सीखता है।

पुनरावर्ती Neural Networks (RNN/LSTM) में एन्कोडर

Transformer आर्किटेक्चर के आगमन से पूर्व, अनुक्रम-प्रसंस्करण कार्यों (seq2seq) में एन्कोडर पुनरावर्ती Neural Networks (RNN) या उनके उन्नत रूप LSTM पर आधारित होते थे।

  • कार्य-सिद्धांत: RNN एन्कोडर इनपुट अनुक्रम को एक-एक token के रूप में प्रसंस्कृत करता है। प्रत्येक चरण में वह वर्तमान token और पिछली अवस्था की सूचना को समाहित करते हुए अपनी छिपी अवस्था (hidden state) को अद्यतन करता है। पूरे अनुक्रम के प्रसंस्करण के पश्चात प्राप्त अंतिम छिपी अवस्था को उस संपूर्ण इनपुट अनुक्रम के अर्थ को कोड करने वाले वेक्टर के रूप में माना जाता है। इस वेक्टर को प्रायः संदर्भ वेक्टर या "विचार वेक्टर" (thought vector) कहा जाता है।

Transformer आर्किटेक्चर में एन्कोडर

प्राकृतिक भाषा प्रसंस्करण (NLP) में क्रांति Transformer आर्किटेक्चर पर आधारित एन्कोडर के आगमन से जुड़ी है। RNN के विपरीत, यह अनुक्रम के सभी token को समानांतर (parallel) रूप से प्रसंस्कृत करता है।

Transformer का एन्कोडर समान परतों के एक स्टैक (N) से बना होता है। प्रत्येक परत में दो प्रमुख उप-परतें होती हैं:

  1. बहु-शीर्ष स्व-ध्यान (Multi-Head Self-Attention): यह तंत्र इनपुट अनुक्रम के प्रत्येक token को अन्य सभी token पर "ध्यान" देने और अपने संदर्भगत निरूपण के निर्माण के लिए उनके महत्त्व को भारांकित करने की अनुमति देता है। इससे मॉडल शब्दों के बीच जटिल निर्भरताओं को उनकी स्थिति से स्वतंत्र रूप से पकड़ सकता है।
  2. पूर्ण-संयोजी Neural Network (Feed-Forward Network): यह प्रत्येक token के निरूपण पर अलग-अलग आगे के अरैखिक रूपांतरण के लिए लागू होता है।

RNN एन्कोडर से Transformer एन्कोडर का मुख्य अंतर यह है कि यह आउटपुट में एक संदर्भ वेक्टर के स्थान पर संदर्भीकृत वेक्टरों का अनुक्रम देता है — प्रत्येक इनपुट token के लिए एक। प्रत्येक ऐसे वेक्टर में संपूर्ण अनुक्रम के संदर्भ में उस token की सूचना होती है।

एन्कोडर-आधारित मॉडलों के प्रकार

एन्कोडर-डिकोडर मॉडल

यह अनुक्रम-से-अनुक्रम (seq2seq) रूपांतरण कार्यों, जैसे मशीनी अनुवाद या सारांशीकरण (summarization), के लिए क्लासिक आर्किटेक्चर है।

  • कार्य-सिद्धांत: एन्कोडर संपूर्ण इनपुट अनुक्रम (जैसे, स्रोत भाषा का वाक्य) को प्रसंस्कृत करता है। उसके आउटपुट निरूपण तब डिकोडर को प्रेषित किए जाते हैं, जो उनका उपयोग करते हुए ऑटो-रिग्रेसिव (autoregressive) रूप से आउटपुट अनुक्रम (लक्ष्य भाषा का वाक्य) उत्पन्न करता है। डिकोडर एन्कोडर के आउटपुट को विशेष क्रॉस-ध्यान (cross-attention) तंत्र से देखता है।
  • उदाहरण: मूल Transformer, T5, BART।

केवल-एन्कोडर मॉडल (Encoder-Only)

ये मॉडल विशेष रूप से Transformer के एन्कोडर स्टैक का उपयोग करते हैं।

  • कार्य-सिद्धांत: ये ऐसे कार्यों के लिए बनाए गए हैं जिनमें संपूर्ण इनपुट पाठ के संदर्भ की गहरी समझ आवश्यक हो। स्व-ध्यान तंत्र की द्विदिशात्मक प्रकृति के कारण, ये प्रत्येक 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