งานวิจัย · arXiv 1301.3781
การประมาณค่าตัวแทนคำในปริภูมิเวกเตอร์อย่างมีประสิทธิภาพ
Efficient Estimation of Word Representations in Vector Space
สรุปสามบรรทัด
- 🎯 โมเดลภาษาเชิงโครงข่ายประสาทก่อนหน้านี้มีต้นทุนการคำนวณสูงเกินไปที่จะฝึกตัวแทนคำมิติสูงบนคลังข้อมูลขนาดหลายพันล้านโทเคน
- 🔧 นำเสนอสถาปัตยกรรมแบบ log-linear สองรูปแบบที่ตัดชั้นซ่อนแบบไม่เป็นเชิงเส้นออก ได้แก่ Continuous Bag-of-Words (การทำนายคำเป้าหมายจากบริบท) และ Continuous Skip-gram (การทำนายบริบทแวดล้อมจากคำเป้าหมาย) โดยทั้งคู่ถูกปรับให้เหมาะสมด้วย hierarchical softmax
- 📈 ฝึกบนข้อมูล 6 พันล้านโทเคนที่ขนาด 1,000 มิติผ่าน DistBelief โดย Skip-gram บรรลุความแม่นยำรวม 65.6% บนชุดทดสอบการเปรียบเทียบเชิงความหมายและไวยากรณ์ 19,544 คำถาม ซึ่งมีประสิทธิภาพเหนือกว่าโมเดลโครงข่ายประสาทที่ซับซ้อนโดยใช้ทรัพยากรการคำนวณเพียงเศษเสี้ยวเดียว
บทคัดย่อ
เรานำเสนอสถาปัตยกรรมแบบจำลองใหม่สองรูปแบบสำหรับการคำนวณตัวแทนเวกเตอร์แบบต่อเนื่องของคำจากชุดข้อมูลขนาดใหญ่มาก คุณภาพของตัวแทนคำเหล่านี้ได้รับการวัดผลในภารกิจความคล้ายคลึงของคำ และผลลัพธ์ได้รับการเปรียบเทียบกับเทคนิคที่เคยมีประสิทธิภาพดีที่สุดก่อนหน้านี้ซึ่งอิงตามโครงข่ายประสาทประเภทต่างๆ เราสังเกตเห็นการปรับปรุงความแม่นยำอย่างมากโดยมีต้นทุนทางคอมพิวเตอร์ที่ต่ำลงอย่างยิ่ง กล่าวคือ ใช้เวลาไม่ถึงหนึ่งวันในการเรียนรู้เวกเตอร์คำคุณภาพสูงจากชุดข้อมูลขนาด 1.6 พันล้านคำ นอกจากนี้ เรายังแสดงให้เห็นว่าเวกเตอร์เหล่านี้ให้ประสิทธิภาพระดับ state-of-the-art บนชุดทดสอบของเราในการวัดความคล้ายคลึงของคำทั้งทางไวยากรณ์และความหมาย
บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)
We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The quality of these representations is measured in a word similarity task, and the results are compared to the previously best performing techniques based on different types of neural networks. We observe large improvements in accuracy at much lower computational cost, i.e. it takes less than a day to learn high quality word vectors from a 1.6 billion words data set. Furthermore, we show that these vectors provide state-of-the-art performance on our test set for measuring syntactic and semantic word similarities.
คู่มือการอ่าน
ปัญหาและแรงจูงใจ
ระบบ NLP แบบดั้งเดิมแสดงคำเป็นดัชนีแบบไม่ต่อเนื่อง (discrete atomic indices) ซึ่งละทิ้งความสัมพันธ์เชิงความหมายและไวยากรณ์ที่มีอยู่แต่เดิม แม้ว่าตัวแทนคำแบบกระจาย (distributed word representations) ที่ฝึกโดยใช้โมเดลภาษาโครงข่ายประสาท (NNLMs) หรือโมเดลภาษาโครงข่ายประสาทแบบเกิดซ้ำ (RNNLMs) จะมีประสิทธิภาพเหนือกว่า n-grams อย่างมาก แต่ความซับซ้อนในการคำนวณทำให้การขยายขนาดมีต้นทุนสูงเกินไป สถาปัตยกรรมก่อนหน้านี้แทบจะไม่เคยได้รับการฝึกบนคำมากกว่าสองสามร้อยล้านคำ และมักถูกจำกัดอยู่ที่มิติระหว่าง ถึง
ใน feedforward NNLMs คอขวดในการคำนวณเกิดจากชั้นซ่อนแบบไม่เป็นเชิงเส้นที่มีการเชื่อมต่อหนาแน่น () และชั้นเอาต์พุตคำศัพท์ที่ยังไม่ถูกปรับมาตรฐาน () เป้าหมายของบทความนี้คือการขจัดคอขวดของชั้นซ่อนแบบไม่เป็นเชิงเส้นออกไป ทำให้โมเดลสามารถขยายขนาดไปสู่โทเคนสำหรับการฝึกหลายพันล้านคำและคลังคำศัพท์ที่มีหลายล้านคำได้ ขณะที่ยังคงรักษาความสัมพันธ์เชิงเส้นที่ละเอียดอ่อนไว้ได้ (เช่น )
แนวคิดหลัก
- การตัด Non-Linearities ของชั้นซ่อนออก: การตัดชั้นการกระตุ้นแบบไม่เป็นเชิงเส้นออกทำให้ความซับซ้อนในการฝึกลดลงอย่างมาก ช่วยให้สามารถเพิ่มขนาดคลังข้อมูลและมิติของ embedding ได้อย่างมหาศาล
- Continuous Bag-of-Words (CBOW): ตัวจำแนกแบบ log-linear ที่ทำนายคำเป้าหมายตรงกลางจากคำบริบทแวดล้อม (ทั้งในอดีตและอนาคต) โดยเวกเตอร์บริบทจะถูกหาค่าเฉลี่ยในชั้น projection ร่วม
- Continuous Skip-gram: ตัวจำแนกแบบ log-linear ที่ทำนายคำบริบทแวดล้อมภายในหน้าต่างที่กำหนดโดยใช้เพียงคำตรงกลางปัจจุบัน และสุ่มคำที่อยู่ไกลออกไปในความถี่ที่น้อยลง
- Hierarchical Softmax พร้อม Huffman Coding: ต้นทุนการทำ normalization ของ softmax ลดลงจาก เหลือประมาณ (หรือ ผ่าน Huffman trees ซึ่งกำหนดรหัสที่สั้นกว่าให้กับคำที่พบบ่อย)
- เกณฑ์มาตรฐานการประเมินการเปรียบเทียบ (Analogy Evaluation Benchmark): ชุดทดสอบใหม่จำนวน 19,544 คำถามเพื่อประเมินความสม่ำเสมอทางภาษาทั้งเชิงไวยากรณ์ (เช่น ขั้นกว่า, รูปอดีต) และเชิงความหมาย (เช่น เมืองหลวง-ประเทศ, สกุลเงิน) โดยใช้การคำนวณทางคณิตศาสตร์บนเวกเตอร์และระยะห่างโคไซน์
ระเบียบวิธี (พร้อมสมการสำคัญ)
ความซับซ้อนในการฝึกถูกกำหนดเป็นจำนวนครั้งของการเข้าถึงพารามิเตอร์ตลอด epochs, คำในชุดฝึก และต้นทุน ต่อตัวอย่าง:
เบสไลน์ Feedforward NNLM
สำหรับความยาวบริบท , มิติของ embedding , จำนวนยูนิตในชั้นซ่อน , และขนาดคำศัพท์ : เมื่อใช้ hierarchical softmax พจน์เอาต์พุตจะลดลงเหลือ ทำให้ กลายเป็นคอขวด
เบสไลน์ Recurrent Neural Net Language Model (RNNLM)
เมื่อมิติสถานะซ่อน เท่ากับมิติของ embedding : เมื่อใช้ hierarchical softmax พจน์เอาต์พุตจะลดลงเหลือ ทำให้การส่งผ่านแบบเกิดซ้ำ กลายเป็นต้นทุนหลัก
Continuous Bag-of-Words (CBOW)
CBOW แทนที่ชั้นซ่อนด้วยชั้น projection ที่หาค่าเฉลี่ยของคำบริบท คำ (โดยทั่วไปคือคำก่อนหน้า 4 คำและคำถัดไป 4 คำ):
Continuous Skip-gram
Skip-gram รับคำตรงกลางและทำนายคำบริบทภายในระยะห่างสูงสุด (ในการทดลองใช้ ) สำหรับแต่ละคำ จะมีการสุ่มค่าระยะออฟเซ็ต แบบเอกรูป เพื่อทำนายคำก่อนหน้าและถัดไปจำนวน คำ:
การค้นหาความเปรียบเทียบ (Analogy Search)
คำถามในรูปแบบ " สัมพันธ์กับ เหมือนกับที่ สัมพันธ์กับ " จะได้รับคำตอบโดยการหาเวกเตอร์ ในคำศัพท์ที่ให้ค่าสูงสุดของ:
ผลลัพธ์ (พร้อมตัวเลขที่สำคัญที่สุด)
- ประสิทธิภาพบนเกณฑ์มาตรฐาน Analogy (640-D, 320M คำ):
- RNNLM: เชิงความหมาย 9%, เชิงไวยากรณ์ 36%
- NNLM: เชิงความหมาย 23%, เชิงไวยากรณ์ 53%
- CBOW: เชิงความหมาย 24%, เชิงไวยากรณ์ 64%
- Skip-gram: เชิงความหมาย 55%, เชิงไวยากรณ์ 59%
- การขยายขนาดบน Google News 6B โทเคน (การฝึกแบบกระจายด้วย DistBelief):
- NNLM (-D): เชิงความหมาย 34.2%, เชิงไวยากรณ์ 64.5%, รวม 50.8% (ใช้เวลา CPU-core days)
- CBOW (-D): เชิงความหมาย 57.3%, เชิงไวยากรณ์ 68.9%, รวม 63.7% (ใช้เวลา CPU-core days)
- Skip-gram (-D): เชิงความหมาย 66.1%, เชิงไวยากรณ์ 65.1%, รวม 65.6% (ใช้เวลา CPU-core days)
- Microsoft Sentence Completion Challenge: Skip-gram เพียงโมเดลเดียวได้ความแม่นยำ 48.0%; เมื่อรวมกลุ่มแบบ ensemble ร่วมกับ RNNLMs สามารถทำได้ถึง 58.9% ซึ่งเป็นระดับ state-of-the-art
- จำนวน Epochs กับ ปริมาณข้อมูล: การฝึกเพียง 1 epoch บนข้อมูลที่มากกว่าสองเท่าให้ผลลัพธ์เทียบเท่าหรือดีกว่าการฝึก 3 epochs บนข้อมูลที่น้อยกว่า ทั้งยังลดเวลาการฝึกตามเวลาจริง (wall-clock time)
ข้อจำกัดและคำถามปลายเปิด
- เมทริกซ์การประเมินแบบตรงกันทุกประการ (Exact Match): ชุดทดสอบจะนับคำพ้องความหมายเป็นข้อผิดพลาด (เช่น การทำนายชื่อเมืองอื่นที่สมเหตุสมผลพอๆ กัน หรือรูปพหูพจน์) ทำให้เกิดเพดานคะแนนเทียมที่ต่ำกว่า 100%
- การขาดข้อมูลสัณฐานวิทยาของหน่วยย่อยของคำ (Subword Morphology): คำต่างๆ ถูกประมวลผลเป็นโทเคนเดี่ยว โดยโมเดลไม่ได้ใช้ประโยชน์จากโครงสร้างตัวอักษรหรือหน่วยคำภายใน ทำให้จำกัดความสามารถในการวางนัยทั่วไปทางไวยากรณ์สำหรับคำหายากหรือคำที่มีการผันรูป
- กลุ่มคำหลายคำ (Multi-Word Phrases): โมเดลทำงานเฉพาะกับคำที่เป็นโทเคนเดี่ยวและไม่รองรับสำนวนหรือกลุ่มคำหลายคำ (เช่น "New York") โดยตรง
- ประสิทธิภาพในการเติมประโยคให้สมบูรณ์: Skip-gram เดี่ยวๆ ทำคะแนนได้ต่ำกว่า (48.0%) เมื่อเทียบกับค่าเฉลี่ยความคล้ายคลึงของ LSA (49.0%) ในภารกิจ Microsoft Sentence Completion โดยต้องอาศัยการผสมผสานกับ RNNLMs จึงจะได้ผลลัพธ์ที่แข่งขันได้
คำศัพท์สำคัญ
- Continuous Bag-of-Words Model
- สถาปัตยกรรมโครงข่ายประสาทแบบ log-linear (CBOW) ที่ทำนายคำเป้าหมายตรงกลางจากค่าเฉลี่ยต่อเนื่องของเวกเตอร์คำบริบททั้งก่อนหน้าและถัดไปโดยไม่มีชั้นซ่อน
- Continuous Skip-gram Model
- โมเดลแบบ log-linear ที่ใช้เวกเตอร์ของคำเป้าหมายเพื่อทำนายคำบริบทแวดล้อมภายในหน้าต่างที่ถูกสุ่มขึ้นแบบไดนามิก
- Hierarchical Softmax
- การประมาณค่าชั้นเอาต์พุตโดยจัดโครงสร้างคำศัพท์ให้อยู่ในรูปทรีทวิภาค (เช่น Huffman tree) ซึ่งช่วยลดความซับซ้อนในการคำนวณจาก เหลือประมาณ
- Semantic-Syntactic Word Relationship test set
- ชุดข้อมูลมาตรฐานสำหรับทดสอบคำถามการเปรียบเทียบจำนวน 19,544 ข้อ (เชิงความหมาย 8,869 ข้อ และเชิงไวยากรณ์ 10,675 ข้อ) ที่ออกแบบมาเพื่อประเมินเวกเตอร์ออฟเซ็ตโดยใช้ความคล้ายคลึงโคไซน์
- DistBelief
- เฟรมเวิร์กการประมวลผลแบบกระจายที่พัฒนาโดย Google ใช้สำหรับฝึกสถาปัตยกรรมโครงข่ายประสาทบนแกนประมวลผล CPU หลายร้อยแกนผ่านการอัปเดตเกรเดียนต์แบบอะซิงโครนัส
- Word offset technique
- เลขคณิตเวกเตอร์อย่างง่าย (เช่น ) ที่ใช้เพื่อระบุคำที่มีความสัมพันธ์เทียบเคียงกันผ่านการค้นหาเพื่อนบ้านใกล้สุดด้วยค่าโคไซน์
- Huffman binary tree
- การแทนคำศัพท์ด้วยโครงสร้างต้นไม้แบบรหัสตามความถี่ที่ใช้ใน hierarchical softmax เพื่อกำหนดเส้นทางที่สั้นกว่าให้กับคำที่พบบ่อย ซึ่งช่วยลดต้นทุนในการคำนวณ
คำถามที่พบบ่อย
ความแตกต่างเชิงสถาปัตยกรรมที่สำคัญที่สุดระหว่าง NNLM และ CBOW คืออะไร?
CBOW ตัดชั้นซ่อนแบบไม่เป็นเชิงเส้นออกไปอย่างสิ้นเชิง และนำตัวแทนแบบต่อเนื่องของคำบริบทมาหาค่าเฉลี่ยในชั้น projection ร่วม ซึ่งช่วยขจัดคอขวดในการคำนวณที่ขนาด
Continuous Skip-gram จัดการกับคำบริบทที่มีระยะห่างต่างกันอย่างไร?
Skip-gram จะสุ่มคำบริบทได้ไกลสุดตามระยะห่าง (โดยทั่วไปคือ 10) แต่จะสุ่มคำที่อยู่ไกลออกไปในความถี่ที่น้อยลง โดยการสุ่มขนาดหน้าต่าง สำหรับแต่ละคำที่ใช้ฝึก
โมเดลใดทำงานได้ดีกว่ากันในภารกิจเชิงความหมายเทียบกับเชิงไวยากรณ์?
CBOW มีความแม่นยำสูงกว่าในงานเปรียบเทียบเชิงไวยากรณ์ (64% เทียบกับ 59% ที่ 640-D) ในขณะที่ Skip-gram ทำได้ดีกว่าอย่างมีนัยสำคัญในงานเปรียบเทียบเชิงความหมาย (55% เทียบกับ 24% ที่ 640-D)
การฝึกหลาย epoch หรือการใช้ข้อมูลที่มากกว่าแต่ฝึกจำนวน epoch น้อยกว่า แบบไหนดีกว่ากัน?
งานวิจัยพบว่าการฝึกเพียง epoch เดียวบนข้อมูลที่มีปริมาณมากกว่าสองเท่าให้คุณภาพของตัวแทนคำที่ดีเทียบเท่าหรือเหนือกว่าการฝึกวนซ้ำบนข้อมูลขนาดเล็กกว่าเป็นจำนวนสาม epoch ทั้งยังใช้เวลาในการฝึกน้อยกว่าอีกด้วย
คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด