REALM : การเตรียมการดึงโมเดลภาษา Augmented Language
เอกสารนี้สร้างโดย Google Research และส่งในเดือนกุมภาพันธ์ 2020 และนำเสนอวิธีการเตรียมโมเดลภาษาแบบใหม่ที่ได้รับการปรับปรุง ยังบรรลุ SOTA ใน QA
ปัญหา : กระดาษเริ่มต้นด้วยการอ้างถึงปัญหาเกี่ยวกับรูปแบบภาษาปัจจุบันและการฝึกฝนล่วงหน้า ตัวอย่างเช่น Bert, Roberta และ T5 รวบรวมความรู้ระดับโลกจำนวนมากสำหรับงาน NLP ที่หลากหลาย อย่างไรก็ตาม ความรู้นี้จะถูกจัดเก็บไว้ในน้ำหนักของแบบจำลองซึ่งทำให้ยากต่อการตีความผลลัพธ์ของแบบจำลอง และแบบจำลองไม่ได้เป็นแบบแยกส่วน ในการได้รับความรู้เพิ่มเติม เราเพียงแค่เพิ่มจำนวนพารามิเตอร์ ข้อมูล และฝึกฝนสำหรับขั้นตอนที่ยาวขึ้นซึ่งอาจมีค่าใช้จ่ายสูง
แนวคิด : เพื่อแก้ไขปัญหาข้างต้นกระดาษ นำเสนอวิธีใหม่ในการฝึกโมเดลภาษาล่วงหน้าให้มีประสิทธิภาพเทียบเท่าหรือดีกว่าในงาน NLP ด้วยพารามิเตอร์ที่น้อยลง แนวคิดนี้ค่อนข้างง่าย สมมติว่าคุณมีคำถามและต้องการตอบคำถาม สิ่งแรกที่มนุษย์จะทำคือตรวจสอบ Google เปิดลิงก์สองสามลิงก์และค้นหาคำตอบ เอกสารเลียนแบบพฤติกรรมประเภทนี้โดยแนะนำKnowledge Retrieverและมีหน้าที่ทำตัวเหมือน Google ดังนั้นจะได้รับเอกสารที่เกี่ยวข้องเพื่อตอบคำถาม จากนั้นจึง ใช้ Knowledge Augmented Encoderเพื่อรับคำตอบจากเอกสารที่ดึงมา
ตัวอย่าง :
- การฝึกอบรมล่วงหน้าเสร็จสิ้นบนรูปแบบ MLM ของ BERT
- การปรับแต่งอย่างละเอียดทำได้บน OpenQA
OpenQA : openQA เป็นรูปแบบหนึ่งของ Question Answering โดยที่โมเดลไม่ได้รับเอกสารที่ทราบว่ามีคำตอบ แทนที่จะได้รับเอกสารหลายฉบับ โมเดลต้องเรียนรู้วิธีกรองเอกสารที่เกี่ยวข้อง
REALM แยกย่อย p(y | x) ออกเป็นสองขั้นตอน: ดึงข้อมูล จากนั้นทำนาย เมื่อได้รับข้อมูล x อันดับแรก เราจะดึงเอกสารที่อาจเป็นประโยชน์ z จากคลังข้อมูลความรู้ Z เราจำลองสิ่งนี้เป็นตัวอย่างจากการแจกแจง p(z | x) จากนั้น เรากำหนดเงื่อนไขทั้ง z ที่ดึงมาและอินพุตเดิม x เพื่อสร้างเอาต์พุต y — ซึ่งจำลองเป็น p(y | z, x) เพื่อให้ได้ความน่าจะเป็นโดยรวมในการสร้าง y เราถือว่า z เป็นตัวแปรแฝงและให้ความสำคัญกับเอกสารที่เป็นไปได้ทั้งหมด z
Knowledge Retriever :เรามาเจาะลึกรายละเอียดของ Knowledge Retriever กัน เรากำลังพยายามจำลองสิ่งต่อไปนี้:
โดยที่ Embedinput และ Embeddoc กำลังฝังฟังก์ชันที่จับคู่ x และ z ตามลำดับกับเวกเตอร์ d มิติ คะแนนความเกี่ยวข้อง f(x,z) ระหว่าง x และ z ถูกกำหนดเป็นผลคูณภายในของการฝังเวกเตอร์ การกระจายการดึงคือ softmax เหนือคะแนนความเกี่ยวข้องทั้งหมด
หลังจาก BERT จะมีการรวมช่วงโดยใช้โทเค็น [SEP] และนำหน้าด้วย [CLS]
เวกเตอร์ที่สร้างโดยหม้อแปลงจะถูกดึงข้อมูลโดยโทเค็น [CLS] ดังนั้นในที่สุดเราก็ได้สิ่งนี้:
Knowledge Augmented Retriever :ทีนี้ มาดู Knowledge Augmented Retriever กัน ในกรณีของการฝึกล่วงหน้า เราต้องการสร้างแบบจำลองดังต่อไปนี้:
โดยที่ BERTMASK(j) หมายถึงเวกเตอร์เอาต์พุตของ Transformer ที่สอดคล้องกับโทเค็นหน้ากาก jth, Jx คือจำนวนทั้งหมดของโทเค็น [MASK] ใน x และ wj เป็นคำที่เรียนรู้ที่ฝังสำหรับโทเค็น yj
สำหรับการปรับแต่งอย่างละเอียด เราเปลี่ยนเป็นสิ่งนี้:
โดยที่ BERTSTART(s) และ BERTEND(s) หมายถึงเวกเตอร์เอาต์พุตของ Transformer ที่สอดคล้องกับโทเค็นเริ่มต้นและสิ้นสุดของ span s ตามลำดับ ในขณะที่ MLP หมายถึงโครงข่ายประสาทเทียมแบบป้อนไปข้างหน้า
ความท้าทายในการคำนวณ :ความท้าทายในการคำนวณที่สำคัญคือความน่าจะเป็นส่วนเพิ่ม p(y|x)=z∈Z p(y|x,z)p(z|x) เกี่ยวข้องกับผลรวมของเอกสาร z ทั้งหมดในคลังความรู้ Z เราประมาณค่านี้โดยการบวกค่า k ด้านบนแทน สิ่งนี้สมเหตุสมผลหากเอกสารส่วนใหญ่มีความน่าจะเป็นเกือบเป็นศูนย์
วิธีแก้ไข : ค้นหาเอกสารที่เกี่ยวข้องอันดับต้น ๆ => เราจะค้นหาเอกสารเหล่านั้นอย่างมีประสิทธิภาพได้อย่างไร ? โปรดทราบว่าคะแนนความเกี่ยวข้อง p(z | x) จะเหมือนกับผลิตภัณฑ์ภายในต่อไปนี้ :
f(x,z) =Embedinput(x)⊤Embeddoc(z) ตอนนี้เราสามารถใช้ MIPS ( การค้นหาผลิตภัณฑ์ภายในสูงสุด) เพื่อค้นหาเอกสารชั้นนำ แต่เรายังต้องคำนวณการฝังล่วงหน้า หลังจากทำซ้ำสองสามครั้ง การฝังจะเปลี่ยนไป และดัชนีที่กำหนดโดย MIPS นั้นล้าสมัย ดังนั้นเราจึงต้องอัปเดต
MIPS จะใช้ในช่วงก่อนการฝึกอบรมเท่านั้น ระหว่างการปรับ MIPS แบบละเอียดจะคำนวณหนึ่งครั้งในตอนเริ่มต้นโดยใช้การฝังที่ได้รับการฝึกฝนไว้ล่วงหน้า
สุนัขจำพวกหนึ่งเรียนรู้อะไร?
สำหรับแต่ละเอกสาร z การไล่ระดับสีจะกระตุ้นให้รีทรีฟเวอร์เปลี่ยนคะแนน f(x,z) โดย r(z) — เพิ่มขึ้นหาก r(z) เป็นบวก และลดลงหากเป็นลบ ตัวคูณ r(z) เป็นบวกก็ต่อเมื่อ p(y|z,x) > p(y|x) คำว่า p(y | z, x) คือความน่าจะเป็นของการทำนายผลลัพธ์ y ที่ถูกต้องเมื่อใช้เอกสาร z คำว่า p(y | x) คือค่าที่คาดหวังของ p(y | x, z) เมื่อสุ่มตัวอย่างเอกสารจาก p(z | x) ดังนั้นเอกสาร z จะได้รับการอัพเดทในเชิงบวกเมื่อใดก็ตามที่ทำงานได้ดีกว่าที่คาดไว้
วงจรอุบาทว์:
ดังที่คุณอาจสังเกตเห็นแล้วในตอนนี้ การฝึกแบบจำลองนี้เป็นเรื่องยากมาก เพราะหากการฝังเริ่มต้นไม่ดี ดัชนี MIPS จะผิดพลาด รีทรีฟเวอร์จะไม่เรียนรู้อะไรเลย รีทรีฟความรู้เสริมจะไม่สนใจเอกสารที่ดึงมา ดังนั้นการไล่ระดับสีจะไม่เผยแพร่ย้อนกลับและไม่มีการเรียนรู้เกิดขึ้น
กระดาษเสนอชุดของการแก้ปัญหานี้:
- Salient Span Masking : กลยุทธ์การปิดบังนั้นแตกต่างจาก MLM ทั่วไป ใน REALM เราต้องการมุ่งเน้นไปที่ช่วงที่ต้องใช้ความรู้จากทั่วโลก เพื่อมุ่งเน้นไปที่ปัญหาที่ต้องใช้ความรู้ของโลก เราปิดบังช่วงสำคัญ เช่น “สหราชอาณาจักร” หรือ “กรกฎาคม 1969” เราใช้แท็กเกอร์ที่ใช้ BERT ซึ่งได้รับการฝึกฝนบนข้อมูล CoNLL-2003 เพื่อระบุเอนทิตีที่มีชื่อ และใช้นิพจน์ทั่วไปเพื่อระบุวันที่ เราเลือกและปิดบังช่วงเด่นเหล่านี้ภายในประโยคสำหรับงานสร้างแบบจำลองภาษาที่ปิดบัง
- เอกสาร Null : เอกสาร Null จะถูกเพิ่มเข้าไปในคลังข้อมูลเพื่อเพิ่มความยืดหยุ่นให้กับโมเดลและให้ทางเลือกในการไม่เลือกอะไรเลย
- ห้ามการดึงข้อมูลเล็กน้อย : หาก X มีอยู่ใน Z ทุกประการ สิ่งนี้จะส่งผลให้มีค่าการไล่ระดับสีสูงสำหรับ p(z|x) โมเดลจะหยุดการเรียนรู้และมองหารูปแบบที่แน่นอนและความคล้ายคลึงกันหากสิ่งนี้เกิดขึ้นบ่อยเกินไป นั่นเป็นเหตุผลที่ผู้สมัครเล็กน้อยถูกลบออกระหว่างการฝึกล่วงหน้า
- การเริ่มต้นโดยใช้ Inverse Cloze Task : เพื่อช่วยแก้ปัญหาวงจรอุบาทว์ที่กล่าวถึงข้างต้น เรามีวิธีฝึกการฝังล่วงหน้าล่วงหน้าโดยใช้ ICT ซึ่งโมเดลได้รับการฝึกให้ดึงเอกสารที่มาจากประโยคนั้น
ผลลัพธ์ :
ตัวอย่างที่เป็นรูปธรรม :
ประเด็นสำคัญ :
- REALM มีประสิทธิภาพดีกว่า T5 11b ในขณะที่มีขนาดเล็กกว่า 30 เท่า
- การกำบังช่วงเด่นมีประสิทธิภาพดีกว่ากลยุทธ์การกำบังอื่นๆ
- เราต้องพิจารณาไฮเปอร์พารามิเตอร์บางอย่างเมื่อทำงานกับ REALM เช่น อัตราการรีเฟรช MIPS และเอกสาร K อันดับต้น ๆ เพื่อดึงข้อมูล
- ลิงค์กระดาษ
- หัวข้อที่ 1
- ข้อ 2





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)