Arkitekturang encoder–decoder

From Systems analysis Wiki
Jump to navigation Jump to search

Mga modelo ng encoder-decoder (Ingles: Encoder-Decoder Models) — ito ay isang klase ng mga arkitektura ng neural network na dinisenyo para sa paglutas ng mga gawain ng pagbabago ng pagkakasunod-sunod sa pagkakasunod-sunod (sequence-to-sequence, seq2seq). Ang arkitekturang ito ay binubuo ng dalawang pangunahing bahagi:

  • Encoder (tagakodigo): Pinoproseso ang input na pagkakasunod-sunod at ini-compress ito sa isang kompaktong numerical na representasyon (context vector o pagkakasunod-sunod ng mga nakatagong estado).
  • Decoder (tagadekodigo): Kinukuha ang representasyong ito at bumubuo ng output na pagkakasunod-sunod batay dito.

Ang arkitekturang ito ang pundasyon ng maraming gawain sa natural language processing (NLP) at computer vision, tulad ng machine translation, pagbubuod ng teksto, at mga paliwanag sa mga larawan.

Konsepto

Ang pangunahing ideya ng arkitekturang encoder-decoder ay ang paghihiwalay ng mga gawain ng pag-unawa at pagbuo. Ang encoder ay responsable sa pag-unawa sa input na pagkakasunod-sunod sa pamamagitan ng pagkuha ng lahat ng kinakailangang semantic na impormasyon mula dito. Ang decoder ay responsable sa pagbuo ng bagong pagkakasunod-sunod gamit ang impormasyong ibinigay ng encoder.

Pinapayagan nito ang modelo na gumana sa mga pagkakasunod-sunod ng iba't ibang haba sa input at output, na naging mahirap para sa mga naunang arkitektura.

Ebolusyon ng Arkitektura

Mga maagang modelo batay sa RNN/LSTM

Sa simula, ang arkitekturang encoder-decoder ay isinagawa gamit ang mga recurrent neural network (RNN) o ang pinabuting bersyon nito na LSTM.

  • Encoder: Pinoproseso ng RNN encoder ang input na pagkakasunod-sunod nang token sa bawat token at nagbibigay ng isang context vector sa output — ang nakatagong estado pagkatapos iproseso ang huling token, na dapat maglaman ng impormasyon tungkol sa buong pagkakasunod-sunod.
  • Decoder: Ini-initialize ang RNN decoder sa pamamagitan ng context vector na ito at autoregressive na bumubuo ng output na pagkakasunod-sunod.

Ang pangunahing disbentahe ng pamamaraang ito ay ang problema ng "bottleneck": lahat ng impormasyon mula sa input na pagkakasunod-sunod ay kailangang i-compress sa isang vector ng nakapirming haba, na nagdudulot ng pagkawala ng impormasyon, lalo na sa mahabang mga pagkakasunod-sunod.

Pagpapakilala ng mekanismo ng attention

Nagkaroon ng pagbabago sa pagpapakilala ng mekanismo ng attention (attention mechanism) (Bahdanau et al., 2014).

  • Prinsipyo ng pagtatrabaho: Sa halip na umasa sa isang context vector, ang decoder sa bawat hakbang ng pagbuo ay "nagbibigay pansin" sa lahat ng mga nakatagong estado ng encoder. Kinakalkula nito ang mga attention weight na nagpapakita kung aling mga bahagi ng input na pagkakasunod-sunod ang pinaka-relevant para sa pagbuo ng kasalukuyang output token.
  • Mga kalamangan: Nalutas nito ang problema ng "bottleneck" at nagpahintulot sa modelo na epektibong gumana sa mahabang mga pagkakasunod-sunod, na makabuluhang nagpabuti ng kalidad, lalo na sa machine translation.

Arkitektura ng Transformer

Noong 2017, sa papel na "Attention Is All You Need", ipinakita ang arkitektura ng Transformer, na ganap na tinalikuran ang recurrence pabor sa mekanismo ng attention.

  • Encoder ng Transformer: Binubuo ng stack ng mga layer, bawat isa ay gumagamit ng self-attention para lumikha ng mga contextualized na representasyon para sa bawat input token.
  • Decoder ng Transformer: Binubuo ng stack ng mga layer, bawat isa ay may dalawang uri ng mekanismo ng attention:
    • Masked self-attention: Para sa pagproseso ng naibuong bahagi ng output na pagkakasunod-sunod.
    • Cross-Attention (Kross-Atensyon): Para sa "pagbibigay pansin" sa mga output na representasyon ng encoder.

Ang arkitekturang ito ay naging pamantayan para sa mga gawain ng seq2seq dahil sa mataas na pagganap nito at kakayahang mag-parallelize ng mga kalkulasyon.

Paggamit

Ang arkitekturang encoder-decoder ay pamantayan para sa malawak na hanay ng mga gawain:

  • Machine translation: Pagbabago ng pangungusap mula sa isang wika patungo sa isa pa.
  • Awtomatikong pagbubuod ng teksto: Paglikha ng maikling nilalaman ng isang mahabang dokumento.
  • Mga sistema ng diyalogo: Pagbuo ng tugon sa pahayag ng gumagamit.
  • Mga paliwanag sa mga larawan (Image Captioning): Ang encoder (madalas batay sa convolutional neural network) ay nagpoproseso ng larawan, at ang decoder (madalas na RNN o Transformer) ay bumubuo ng tekstwal na paglalarawan nito.
  • Pagkilala ng pananalita: Pagbabago ng audio signal sa tekstwal na transkripsiyon.

Mga Pangunahing Modelo

  • Orihinal na Transformer (Vaswani et al., 2017): Ang modelo na nagpakita ng arkitekturang ito.
  • BART (Bidirectional and Auto-Regressive Transformers): Modelo mula sa Facebook na pre-trained sa gawain ng pagpapanumbalik ng "sirang" teksto. Ang encoder ay bidireksyonal (tulad ng sa BERT), at ang decoder ay autoregressive (tulad ng sa GPT).
  • T5 (Text-to-Text Transfer Transformer): Modelo mula sa Google na nag-uunipika ng lahat ng gawain ng NLP sa pamamagitan ng pagpapakita ng mga ito bilang problema ng pagbabago ng teksto sa teksto. Nagpakita ang T5 ng natatanging mga resulta sa maraming benchmark.

Paghahambing sa Iba Pang Arkitektura

Paghahambing ng mga pangunahing arkitektura batay sa Transformer
Arkitektura Pangunahing Gawain Mga Bahagi Mga Tipikal na Modelo
Encoder-decoder Pagbabago ng pagkakasunod-sunod sa pagkakasunod-sunod Encoder + Decoder T5, BART, orihinal na Transformer
Encoder lamang Pag-unawa sa teksto Encoder lamang BERT, RoBERTa
Decoder lamang Pagbuo ng teksto Decoder lamang

Mga Sanggunian

  • 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.