Encoder (Transformer) (TH)
เอนโคเดอร์ (อังกฤษ: Encoder) — ในสาขา Machine Learning และ deep learning คือส่วนประกอบของ Neural Network ที่มีหน้าที่หลักในการแปลงลำดับข้อมูลขาเข้า (เช่น ข้อความหรือรูปภาพ) ให้กลายเป็นการแทนค่าเชิงตัวเลขที่มีความหมายสูง ซึ่งโดยทั่วไปเรียกว่า สถานะแฝง (hidden state) เวกเตอร์บริบท (context vector) หรือ embedding การแทนค่านี้จะบันทึกลักษณะสำคัญและความหมายเชิงอรรถศาสตร์ของข้อมูลขาเข้าไว้ในรูปแบบที่เหมาะสมสำหรับการประมวลผลในขั้นตอนต่อไป
ในความหมายที่กว้างขึ้น ในทฤษฎีสารสนเทศ เอนโคเดอร์คืออุปกรณ์หรืออัลกอริทึมใดก็ตามที่แปลงข้อมูลจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่ง โดยมักมีจุดประสงค์เพื่อการบีบอัดหรือการส่งผ่านข้อมูล
แนวคิดและจุดประสงค์
เป้าหมายหลักของเอนโคเดอร์ใน Neural Network คือการดึงคุณลักษณะที่มีประโยชน์จากข้อมูลขาเข้าและ "เข้ารหัส" คุณลักษณะเหล่านั้นลงในเวกเตอร์ที่มีความหนาแน่นและความยาวคงที่ กระบวนการนี้อาจมองได้ว่าเป็นรูปแบบหนึ่งของการลดมิติแบบไม่เชิงเส้น ซึ่งข้อมูลขาเข้าที่มีมิติสูงและกระจาย (เช่น ข้อความที่แทนด้วย one-hot vector) จะถูกแปลงไปสู่ปริภูมิเวกเตอร์ที่มีมิติต่ำกว่าแต่มีความหนาแน่นของข้อมูลสูง (ปริภูมิแฝง)
เวกเตอร์ที่ถูกเข้ารหัสนี้สามารถนำไปใช้งานได้ดังนี้:
- ตัวถอดรหัส (Decoder) สำหรับการสร้างลำดับข้อมูลใหม่ (เช่น ในการแปลภาษาด้วยเครื่อง)
- ตัวจำแนกประเภท (Classifier) สำหรับการแก้ปัญหาการวิเคราะห์ (เช่น การวิเคราะห์ความรู้สึกของข้อความ)
- สำหรับงานที่ต้องการความเข้าใจบริบทขาเข้าทั้งหมด
เอนโคเดอร์ในสถาปัตยกรรมต่างๆ
เอนโคเดอร์ใน Autoencoder
หนึ่งในตัวอย่างคลาสสิกคือสถาปัตยกรรม Autoencoder ซึ่งประกอบด้วยสองส่วน:
- เอนโคเดอร์: บีบอัดข้อมูลขาเข้าให้เป็นการแทนค่าแฝงที่มีมิติต่ำกว่า (รหัสแฝง)
- ตัวถอดรหัส (Decoder): พยายามสร้างข้อมูลต้นฉบับขึ้นมาใหม่จากการแทนค่าที่บีบอัดนั้น
ด้วยการฝึกให้เครือข่ายนี้ลดความผิดพลาดในการสร้างข้อมูลใหม่ให้น้อยที่สุด เอนโคเดอร์จะเรียนรู้การดึงคุณลักษณะที่สำคัญที่สุดออกจากข้อมูล
เอนโคเดอร์ใน Recurrent Neural Network (RNN/LSTM)
ก่อนการปรากฏขึ้นของสถาปัตยกรรม Transformer เอนโคเดอร์ในงานประมวลผลลำดับข้อมูล (seq2seq) ถูกสร้างขึ้นบนพื้นฐานของ Recurrent Neural Network (RNN) หรือรูปแบบที่ปรับปรุงแล้วอย่าง LSTM
- หลักการทำงาน: RNN เอนโคเดอร์จะประมวลผลลำดับขาเข้าทีละ token ในแต่ละขั้นตอนมันจะอัปเดต สถานะแฝง ของตัวเองโดยรวมข้อมูลของ token ปัจจุบันและสถานะก่อนหน้าเข้าด้วยกัน สถานะแฝงสุดท้ายที่ได้หลังจากประมวลผลลำดับทั้งหมดจะถูกพิจารณาว่าเป็นเวกเตอร์ที่เข้ารหัสความหมายของลำดับขาเข้าทั้งหมด เวกเตอร์นี้มักเรียกว่า เวกเตอร์บริบท (context vector) หรือ "เวกเตอร์ความคิด" (thought vector)
เอนโคเดอร์ในสถาปัตยกรรม Transformer
การปฏิวัติในการประมวลผลภาษาธรรมชาติเกี่ยวข้องกับการปรากฏขึ้นของเอนโคเดอร์ที่อิงบนสถาปัตยกรรม Transformer ซึ่งแตกต่างจาก RNN ตรงที่มันประมวลผล token ทั้งหมดในลำดับแบบขนาน
เอนโคเดอร์ Transformer ประกอบด้วยกองซ้อน () ของเลเยอร์ที่เหมือนกัน แต่ละเลเยอร์มีเลเยอร์ย่อยหลักสองส่วน:
- Multi-Head Self-Attention: กลไกนี้ช่วยให้แต่ละ token ในลำดับขาเข้าสามารถ "ให้ความสนใจ" กับ token อื่นๆ ทั้งหมดและถ่วงน้ำหนักความสำคัญของ token เหล่านั้นเพื่อสร้างการแทนค่าเชิงบริบทของตัวเอง ซึ่งช่วยให้โมเดลสามารถจับความสัมพันธ์ที่ซับซ้อนระหว่างคำได้โดยไม่ขึ้นอยู่กับตำแหน่ง
- Feed-Forward Network: ถูกนำไปใช้กับการแทนค่าของแต่ละ token แยกกันเพื่อการแปลงเชิงไม่เชิงเส้นเพิ่มเติม
ความแตกต่างสำคัญของเอนโคเดอร์ Transformer จาก RNN เอนโคเดอร์คือมันให้ผลลัพธ์เป็นไม่ใช่เวกเตอร์บริบทเพียงตัวเดียว แต่เป็น ลำดับของเวกเตอร์ที่ถูก contextualize — หนึ่งตัวต่อหนึ่ง token ขาเข้า โดยเวกเตอร์แต่ละตัวจะมีข้อมูลของ token ของตัวเองในบริบทของลำดับทั้งหมด
ประเภทของโมเดลที่อิงบนเอนโคเดอร์
โมเดล Encoder-Decoder
นี่คือสถาปัตยกรรมคลาสสิกสำหรับงานแปลงลำดับเป็นลำดับ (seq2seq) เช่น การแปลภาษาด้วยเครื่องหรือการสรุปความ
- หลักการทำงาน: เอนโคเดอร์ประมวลผลลำดับขาเข้าทั้งหมด (เช่น ประโยคในภาษาต้นทาง) จากนั้นการแทนค่าขาออกของมันจะถูกส่งไปยังตัวถอดรหัสซึ่งโดยใช้ข้อมูลเหล่านั้นจะสร้างลำดับขาออกแบบ autoregressive (ประโยคในภาษาเป้าหมาย) ตัวถอดรหัส "มองดู" ผลลัพธ์ของเอนโคเดอร์ผ่านกลไกพิเศษที่เรียกว่า cross-attention
- ตัวอย่าง: Transformer ต้นฉบับ, T5, BART
โมเดล Encoder-Only
โมเดลเหล่านี้ใช้เฉพาะกองซ้อนของเอนโคเดอร์ Transformer
- หลักการทำงาน: ออกแบบมาสำหรับงานที่ต้องการความเข้าใจบริบทเชิงลึกของข้อความขาเข้าทั้งหมด ด้วยธรรมชาติสองทิศทางของกลไก self-attention โมเดลเหล่านี้จึงสร้างการแทนค่าเชิงบริบทที่หลากหลายสำหรับแต่ละ token
- การนำไปใช้: เหมาะอย่างยิ่งสำหรับงานวิเคราะห์และเข้าใจภาษา (NLU) เช่น:
- การจำแนกประเภทข้อความ (เช่น การวิเคราะห์ความรู้สึก)
- การรู้จำเอนทิตีที่มีชื่อ (NER)
- การตอบคำถาม (Question Answering) ซึ่งคำตอบคือส่วนหนึ่งของข้อความ
- ตัวอย่าง: BERT และรูปแบบที่ต่อยอดมา (RoBERTa, ALBERT)
ความสัมพันธ์กับตัวถอดรหัส
ในสถาปัตยกรรม Encoder-Decoder เอนโคเดอร์และตัวถอดรหัสทำหน้าที่เสริมกัน:
- เอนโคเดอร์ รับผิดชอบการ เข้าใจ ลำดับขาเข้า
- ตัวถอดรหัส (Decoder) รับผิดชอบการ สร้าง ลำดับขาออก
จุดเชื่อมต่อสำคัญระหว่างทั้งสองคือกลไก 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