งานวิจัย · arXiv 1706.03762
Attention Is All You Need
สรุปสามบรรทัด
- 🎯 โมเดลแบบ Recurrent ประมวลผลตามลำดับตำแหน่งของโทเคน ซึ่งขัดขวางการประมวลผลแบบขนานในการฝึกฝน และมีปัญหาเรื่องระยะความยาวของเส้นทางที่ไกล
- 🔧 นำเสนอ Transformer สถาปัตยกรรม encoder-decoder ที่อาศัย scaled dot-product multi-head self-attention และ position-wise feed-forward networks ทั้งหมด
- 📈 บรรลุผลลัพธ์การแปลระดับ state-of-the-art ด้วย 28.4 BLEU บน WMT 2014 ภาษาอังกฤษ-เยอรมัน และ 41.8 BLEU บนอังกฤษ-ฝรั่งเศส โดยใช้เวลาฝึก 3.5 วันบน 8 GPUs
บทคัดย่อ
โมเดลการแปลงลำดับข้อมูล (sequence transduction) ส่วนใหญ่ที่ใช้กันอย่างแพร่หลายนั้นมีพื้นฐานมาจากโครงข่ายประสาทเทียมแบบวนซ้ำ (recurrent neural networks) หรือแบบสังวัตนาการ (convolutional neural networks) ที่มีความซับซ้อนในโครงสร้างแบบตัวเข้ารหัสและตัวถอดรหัส (encoder-decoder) โดยโมเดลที่มีประสิทธิภาพสูงสุดยังเชื่อมต่อตัวเข้ารหัสและตัวถอดรหัสผ่านกลไกความใส่ใจ (attention mechanism) อีกด้วย เราขอนำเสนอสถาปัตยกรรมโครงข่ายแบบใหม่ที่เรียบง่ายในชื่อ Transformer ซึ่งสร้างขึ้นจากกลไกความใส่ใจเพียงอย่างเดียว โดยละทิ้งการประมวลผลแบบวนซ้ำและการสังวัตนาการไปทั้งหมด การทดลองกับงานแปลภาษาของเครื่องสองงานแสดงให้เห็นว่าโมเดลเหล่านี้มีคุณภาพที่เหนือกว่า ทั้งยังสามารถประมวลผลแบบขนานได้ดีขึ้น และใช้เวลาในการฝึกฝนลดลงอย่างมาก โมเดลของเราทำคะแนนได้ 28.4 BLEU ในงานแปลภาษาอังกฤษเป็นเยอรมันของ WMT 2014 ซึ่งดีกว่าผลลัพธ์ที่ดีที่สุดที่มีอยู่เดิม รวมถึงโมเดลแบบกลุ่ม (ensembles) มากกว่า 2 BLEU และในงานแปลภาษาอังกฤษเป็นฝรั่งเศสของ WMT 2014 โมเดลของเราสร้างสถิติคะแนน BLEU สูงสุดใหม่สำหรับโมเดลเดี่ยวที่ 41.8 หลังจากการฝึกฝนเป็นเวลา 3.5 วันบน 8 GPUs ซึ่งคิดเป็นสัดส่วนค่าใช้จ่ายในการฝึกฝนเพียงเล็กน้อยเมื่อเทียบกับโมเดลที่ดีที่สุดในงานวิจัยก่อนหน้า นอกจากนี้เรายังแสดงให้เห็นว่า Transformer สามารถนำไปประยุกต์ใช้กับงานอื่นๆ ได้เป็นอย่างดี โดยนำไปใช้กับงาน English constituency parsing ได้อย่างประสบความสำเร็จ ทั้งในชุดข้อมูลการฝึกฝนขนาดใหญ่และแบบจำกัด
บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
คู่มือการอ่าน
Problem and motivation
สถาปัตยกรรมการแปลงลำดับข้อมูลที่ได้รับความนิยมก่อนหน้านี้ต้องพึ่งพาโครงข่ายประสาทเทียมแบบวนซ้ำ (เช่น LSTM หรือ GRU) หรือโครงข่ายประสาทเทียมแบบสังวัตนาการ ที่จัดเรียงในโครงสร้างแบบ encoder-decoder โครงข่ายแบบวนซ้ำโดยธรรมชาตินั้นจะคำนวณการแทนค่าสถานะแฝงตามลำดับเวลา ( ขึ้นอยู่กับ และอินพุต ) ซึ่งขัดขวางการประมวลผลแบบขนานข้าม time steps ภายในตัวอย่างการฝึกฝน ยิ่งไปกว่านั้น การเชื่อมโยงตำแหน่งที่อยู่ห่างกันในโครงข่ายแบบวนซ้ำต้องใช้การดำเนินการตามลำดับถึง ขั้นตอน ในขณะที่โมเดลแบบสังวัตนาการ เช่น ConvS2S และ ByteNet จำเป็นต้องใช้ หรือ ขั้นตอนในการเชื่อมต่อระหว่างสองตำแหน่งใดๆ ผู้เขียนจึงมุ่งหวังที่จะสร้างสถาปัตยกรรมที่ไม่ใช้ recurrence และ convolutions โดยสิ้นเชิง เพื่อรองรับการทำงานแบบขนานเต็มรูปแบบตลอดความยาวของลำดับ พร้อมทั้งลดความยาวเส้นทางสูงสุดระหว่างสองโทเคนใดๆ ให้เหลือเพียง
Key ideas
- Pure Attention Architecture: แทนที่การเชื่อมต่อแบบวนซ้ำทั้งหมดด้วยกลไกความใส่ใจที่จับความสัมพันธ์ระหว่างทุกตำแหน่งในลำดับข้อมูลได้โดยตรง
- Scaled Dot-Product Attention: ปรับขนาดผลคูณสเกลาร์ (dot products) ด้วยตัวคูณ เพื่อป้องกันไม่ให้ค่า dot-product มีขนาดใหญ่เกินไปในมิติที่สูง ซึ่งจะส่งผลให้ฟังก์ชัน softmax เข้าสู่ช่วงที่มีค่าความชัน (gradient) ต่ำมาก
- Multi-Head Attention: ฉายภาพ (project) ค่า queries, keys, และ values เชิงเส้นไปยังสเปซย่อยของการแทนค่าที่มีมิติต่ำกว่าหลายๆ ชุดแบบขนานกัน ช่วยให้โครงข่ายสามารถพิจารณาข้อมูลจากตำแหน่งและสเปซการแทนค่าที่แตกต่างกันได้พร้อมๆ กัน
- Positional Encoding: เนื่องจากกระบวนการของความใส่ใจไม่มีลำดับความเรียงเข้ามาเกี่ยวข้อง (permutation-invariant) จึงมีการบวกฟังก์ชันไซน์และโคไซน์คงที่ที่มีความถี่ต่างกันเข้าไปในเวกเตอร์ฝัง (embeddings) ของอินพุตและเอาต์พุต เพื่อระบุข้อมูลลำดับตำแหน่งของโทเคน
Method
Transformer ใช้โครงสร้างแบบ encoder-decoder โดยแต่ละส่วนประกอบด้วยชั้นที่เหมือนกันเรียงซ้อนกัน ชั้น
Encoder and Decoder
แต่ละชั้นของ encoder มีสองชั้นย่อย ได้แก่ กลไก multi-head self-attention และ position-wise fully connected feed-forward network (FFN) มีการนำ residual connections และ layer normalization มาใช้กับทุกชั้นย่อย: โดยทำงานบนมิติข้อมูล
แต่ละชั้นของ decoder ประกอบด้วยสามชั้นย่อย ได้แก่ masked multi-head self-attention (ซึ่งจะมาสก์ตำแหน่งในอนาคตไว้เพื่อรักษาการถอดรหัสแบบ auto-regressive), multi-head cross-attention บนเอาต์พุตของชั้น encoder, และ position-wise FFN
Mathematical Formulation
Scaled dot-product attention บนเมทริกซ์ คำนวณได้ดังนี้:
Multi-head attention รวมผลลัพธ์จากการฉายภาพแบบขนานกัน หัว: สำหรับโมเดลพื้นฐาน (base model) กำหนดให้ และ
ชั้นย่อย position-wise feed-forward ถูกนำไปใช้กับแต่ละตำแหน่งในรูปแบบเดียวกัน: โดยที่มิติของชั้นภายในคือ
Positional encodings กำหนดโดยฟังก์ชันไซน์และโคไซน์:
Results
- WMT 2014 English-to-German: Transformer (big) ทำคะแนนได้ระดับ state-of-the-art ที่ 28.4 BLEU เหนือกว่าโมเดลก่อนหน้าและโมเดลแบบ ensemble มากกว่า 2.0 BLEU ส่วนโมเดลพื้นฐานทำได้ 27.3 BLEU โดยใช้การคำนวณเพียง FLOPs ซึ่งประหยัดกว่าสถาปัตยกรรมเดิมอย่างมาก
- WMT 2014 English-to-French: โมเดล big ทำได้ 41.8 BLEU (โมเดลเดี่ยว) สร้างสถิติ state-of-the-art ใหม่ หลังจากการฝึก 3.5 วันบน 8 NVIDIA P100 GPUs ( FLOPs)
- English Constituency Parsing: เมื่อประเมินบน WSJ Section 23 โดยไม่มีการปรับแต่งเฉพาะงาน Transformer ขนาด 4 ชั้นทำได้ 91.3 ในการทดสอบแบบจำแนก (discriminative) และ 92.7 ในการทดสอบแบบกึ่งมีผู้สอน (semi-supervised) ซึ่งมีประสิทธิภาพดีกว่า RNN พื้นฐาน
Limitations and open questions
- กลไก self-attention มาตรฐานมีความซับซ้อนในการคำนวณต่อชั้นอยู่ที่ ซึ่งทำให้ใช้ทรัพยากรสูงมากสำหรับลำดับ ที่มีความยาวมากๆ
- การสร้างข้อมูลใน decoder ยังคงเป็นแบบ auto-regressive (สร้างทีละโทเคนตามลำดับ) ซึ่งจำกัดความเร็วในการทำ inference
- ผู้วิจัยระบุถึงความจำเป็นในการศึกษากลไกความใส่ใจเฉพาะบริเวณ (local attention) หรือแบบจำกัดขอบเขต () เพื่อรองรับบริบทอินพุตและเอาต์พุตที่มีขนาดมหึมา (เช่น รูปภาพ เสียง วิดีโอ) ได้อย่างมีประสิทธิภาพ
คำศัพท์สำคัญ
- Transformer
- สถาปัตยกรรมโมเดลการแปลงลำดับข้อมูลที่มีพื้นฐานมาจากกลไก self-attention ทั้งหมดโดยไม่ใช้ recurrence หรือ convolutions
- Scaled Dot-Product Attention
- ฟังก์ชันความใส่ใจที่นำผลคูณสเกลาร์ของ queries และ keys มาหารด้วยรากที่สองของมิติของคีย์ ก่อนจะนำไปคำนวณ softmax เหนือ values
- Multi-Head Attention
- กลไกความใส่ใจที่ฉายภาพ queries, keys, และ values ไปยังสเปซย่อยของการแทนค่าหลายชุดพร้อมกันแบบขนาน ก่อนจะนำผลลัพธ์มาต่อกันแล้วฉายภาพออกมา
- Self-Attention
- กลไกความใส่ใจภายในลำดับข้อมูลเดียวกัน ที่เชื่อมโยงตำแหน่งต่างๆ ของลำดับเดี่ยวเพื่อคำนวณการแทนค่าของลำดับนั้นๆ
- Positional Encoding
- เวกเตอร์แทนค่าแบบคงที่หรือแบบเรียนรู้ที่ถูกบวกเข้ากับเวกเตอร์ฝังของโทเคน เพื่อใส่ข้อมูลลำดับตำแหน่งของโทเคนเข้าไปยังชั้น attention ที่ไม่มีข้อมูลลำดับ
- Residual Dropout
- การทำ Dropout กับเอาต์พุตของแต่ละชั้นย่อยก่อนที่จะบวกเข้ากับอินพุตของชั้นย่อยและทำ layer normalization รวมถึงการใช้กับเวกเตอร์ฝังของโทเคนด้วย
- Label Smoothing
- เทคนิคการควบคุมเรกิวลาร์ไรเซชันระหว่างการฝึกด้วยค่า เพื่อลดความมั่นใจที่มากเกินไปในการทำนาย ซึ่งช่วยปรับปรุงคะแนน BLEU แม้จะทำให้ค่า perplexity แย่ลงก็ตาม
- Constituency Parsing
- งานประมวลผลภาษาธรรมชาติทางด้านวากยสัมพันธ์ที่ต้องการเอาต์พุตที่มีข้อจำกัดเชิงโครงสร้างและมีความยาว ซึ่งนำมาใช้แสดงความสามารถรอบด้านของสถาปัตยกรรม Transformer
คำถามที่พบบ่อย
เหตุใด Scaled Dot-Product Attention จึงต้องหารด้วย $\sqrt{d_k}$?
สำหรับค่า ที่มีขนาดใหญ่ ค่าผลคูณจุดจะมีขนาดเพิ่มขึ้นมาก (ภายใต้สมมติฐานว่ามีค่าเฉลี่ยเป็นศูนย์และความแปรปรวนเป็นหนึ่ง ผลคูณจุดจะมีความแปรปรวนเท่ากับ ) ซึ่งจะดันให้ฟังก์ชัน softmax เข้าสู่ช่วงที่มีค่าความชันต่ำมาก การปรับสเกลด้วย จะช่วยหักล้างผลกระทบนี้ได้
Transformer รักษาระเบียบตำแหน่งของโทเคนได้อย่างไรโดยไม่ใช้การวนซ้ำ (recurrence)?
โมเดลจะบวก sinusoidal positional encodings เข้ากับเวกเตอร์ฝังของอินพุตและเอาต์พุตโดยตรงที่ด้านล่างสุดของสแตก encoder และ decoder ซึ่งเป็นการกำหนดรูปแบบที่อิงกับความถี่ที่จำเพาะสำหรับแต่ละตำแหน่งของโทเคน
อะไรเป็นตัวป้องกันไม่ให้ตำแหน่งใน decoder ไปสนใจโทเคนในอนาคตระหว่างการฝึกฝน?
ชั้นย่อย self-attention ของ decoder จะใช้การมาสก์ (masking) ซึ่งกำหนดค่าในอินพุตของ softmax ที่ตรงกับการเชื่อมต่อในอนาคตที่ไม่อนุญาตให้เป็น
ฮาร์ดแวร์และทรัพยากรการคำนวณที่ใช้ในการฝึกฝนมีอะไรบ้าง?
โมเดลพื้นฐาน (base model) ฝึกฝนบนเครื่องเดี่ยวที่ใช้ 8 NVIDIA P100 GPUs เป็นจำนวน 100,000 สเต็ป (ใช้เวลา 12 ชั่วโมง ที่ 0.4 วินาที/สเต็ป) ส่วนโมเดลขนาดใหญ่ (big model) ฝึกฝนเป็นจำนวน 300,000 สเต็ป (ใช้เวลา 3.5 วัน ที่ 1.0 วินาที/สเต็ป)
คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด