การสุ่มตัวอย่างเชิงลบทำงานอย่างไรใน word2vec


19

ฉันพยายามอย่างหนักที่จะเข้าใจแนวคิดของการสุ่มตัวอย่างเชิงลบในบริบทของ word2vec ฉันไม่สามารถแยกแยะความคิดในการสุ่มตัวอย่าง [เชิงลบ] ตัวอย่างเช่นในเอกสารของ Mikolovความคาดหวังการสุ่มตัวอย่างเชิงลบนั้นถูกกำหนดเป็น

เข้าสู่ระบบσ(W,)+kEยังไม่มีข้อความ~PD[เข้าสู่ระบบσ(-W,ยังไม่มีข้อความ)].

ฉันเข้าใจคำศัพท์ด้านซ้ายแต่ฉันไม่เข้าใจแนวคิดของการสุ่มตัวอย่างคำศัพท์บริบทบริบทเชิงลบlogσ(w,c)


4
มันไร้สาระที่กระจัดกระจายเอกสารสำหรับ word2vec คุณจะพบการสุ่มตัวอย่างเชิงลบได้ที่นี่: arxiv.org/pdf/1402.3722v1.pdf
Alex R.

ฉันผ่านคำอธิบายที่คุณอ้างถึงและเข้าใจคณิตศาสตร์ที่อยู่เบื้องหลัง แต่ฉันไม่สามารถแยกแยะสัญชาตญาณหลังการสุ่มตัวอย่าง
Upendra Kumar

คำตอบ:


27

ปัญหา

มีปัญหาบางอย่างในการเรียนรู้คำว่าเวคเตอร์โดยใช้เครือข่ายนิวรัล "มาตรฐาน" ด้วยวิธีนี้คำว่าเวกเตอร์จะได้เรียนรู้ในขณะที่เครือข่ายเรียนรู้ที่จะคาดการณ์คำถัดไปที่กำหนดหน้าต่างของคำ (อินพุตของเครือข่าย)

การทำนายคำถัดไปก็เหมือนกับการทำนายชั้นเรียน นั่นคือเครือข่ายดังกล่าวเป็นเพียงลักษณนาม "มาตรฐาน" multinomial (หลายคลาส) และเครือข่ายนี้จะต้องมีเซลล์ประสาทเอาท์พุทมากเท่าที่เรียนมี เมื่อเรียนเป็นคำที่เกิดขึ้นจริงจำนวนของเซลล์ประสาทคือดีมาก

โครงข่ายประสาท "มาตรฐาน" มักจะได้รับการฝึกอบรมด้วยฟังก์ชั่นค่าใช้จ่ายข้ามเอนโทรปีซึ่งต้องการค่าของเซลล์ประสาทเอาท์พุทเพื่อเป็นตัวแทนความน่าจะเป็น - ซึ่งหมายความว่าเอาท์พุท "คะแนน" ที่คำนวณโดยเครือข่ายสำหรับแต่ละชั้นเรียน ความน่าจะเป็นจริงสำหรับแต่ละชั้นเรียน ขั้นตอนการทำให้เป็นมาตรฐานนี้ทำได้โดยใช้ฟังก์ชันsoftmax Softmax นั้นมีราคาสูงมากเมื่อใช้กับเลเยอร์เอาท์พุทขนาดใหญ่

ทางออก (a)

เพื่อจัดการกับปัญหานี้นั่นคือการคำนวณค่า softmax ที่มีราคาแพง Word2Vec ใช้เทคนิคที่เรียกว่าการประมาณค่าตัดกันเสียง เทคนิคนี้ได้รับการแนะนำโดย [A] (สร้างใหม่โดย [B]) จากนั้นนำไปใช้ใน [C], [D], [E] เพื่อเรียนรู้คำศัพท์การปักจากข้อความภาษาธรรมชาติที่ไม่มีป้ายกำกับ

แนวคิดพื้นฐานคือการแปลงปัญหาการจัดหมวดหมู่พหุนาม (เนื่องจากเป็นปัญหาของการทำนายคำถัดไป ) เป็นปัญหาการจำแนกประเภทไบนารี นั่นคือแทนที่จะใช้ softmax เพื่อประเมินการแจกแจงความน่าจะเป็นจริงของคำที่ส่งออกจะใช้การถดถอยแบบลอจิสติกแบบไบนารี (การจำแนกประเภทไบนารี) แทน

สำหรับตัวอย่างการฝึกอบรมตัวแยกประเภทที่ได้รับการปรับปรุง (ปรับให้เหมาะสม) จะได้รับคู่จริง (คำกลางและคำอื่นที่ปรากฏในบริบท) และจำนวนคู่ที่เสียหายแบบสุ่มประกอบด้วยคู่ของคำกลางและคำที่สุ่มเลือกจาก คำศัพท์). โดยการเรียนรู้ที่จะแยกแยะคู่แท้จากคู่ที่เสียหายลักษณนามจะได้เรียนรู้คำว่าk

นี้เป็นสิ่งสำคัญ: แทนคำทำนายถัดไป ( "มาตรฐาน" เทคนิคการฝึกอบรม) ลักษณนามที่ดีที่สุดเพียงแค่คาดการณ์ว่าจะเป็นคู่ของคำพูดเป็นสิ่งที่ดีหรือไม่ดี

Word2Vec เล็กน้อยปรับแต่งกระบวนการและเรียกมันว่าการสุ่มตัวอย่างเชิงลบ ใน Word2Vec คำสำหรับตัวอย่างเชิงลบ (ใช้สำหรับคู่ที่เสียหาย) จะถูกดึงมาจากการแจกแจงที่ออกแบบมาเป็นพิเศษซึ่งจะช่วยให้คำที่มีความถี่น้อยจะถูกดึงบ่อยขึ้น

อ้างอิง

[A] (2005) - การประมาณคอนทราสต์: การฝึกอบรมโมเดลบันทึกเชิงเส้นตรงกับข้อมูลที่ไม่มีป้ายกำกับ

[B] (2010) - การประมาณค่าความแตกต่างของเสียงรบกวน: หลักการการประมาณค่าแบบใหม่สำหรับแบบจำลองทางสถิติที่ผิดปกติ

[C] (2008) - สถาปัตยกรรมแบบครบวงจรสำหรับการประมวลผลภาษาธรรมชาติ: เครือข่ายประสาทเทียมระดับลึกพร้อมการเรียนรู้แบบมัลติทาสก์

[D] (2012) - ได้อย่างรวดเร็วและขั้นตอนวิธีการที่ง่ายสำหรับการฝึกอบรมประสาทรุ่นภาษาน่าจะเป็น

[E] (2013) - การเรียนรู้ embeddings คำอย่างมีประสิทธิภาพด้วยการประมาณค่าเสียงเปรียบ


คำตอบขึ้นอยู่กับบันทึกเก่า ๆ ของฉัน - ฉันหวังว่าพวกเขาจะถูกต้อง :)


2
คุณพูดถึง, "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often". ฉันสงสัยว่าถูกต้องหรือไม่ เพราะแหล่งที่มาบางแห่งบอกว่ามีการสุ่มตัวอย่างคำที่บ่อยขึ้นเป็นตัวอย่างเชิงลบ Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
Tyler 傲来国主

( mccormickml.com/2017/01/11/... ) `ยังtensorflow.org/api_docs/python/tf/nn/...
Tyler 傲来国主

BTW อะไรคือเหตุผลในการเลือกจากคำที่พบบ่อยว่าสูงหรือต่ำเป็นตัวอย่างเชิงลบ? การสุ่มตัวอย่างจากคำที่ไม่ใช่บริบทไม่ดีพอหรือไม่
Tyler 傲来国主

@Tyler 傲来国主เมื่อฉันเข้าใจแล้วคำที่ไม่ค่อยบ่อยจะให้ข้อมูลมากกว่านี้เนื่องจากพวกเขามักจะเจาะจงบริบท คำที่บ่อยขึ้นมักจะเกี่ยวข้องกับคำอื่น ๆ อีกมากมาย (นำตัวอย่างสุดขีด "the") สิ่งนี้ทำให้คำที่ไม่บ่อยนัก "ยากขึ้น" ในการทำให้ถูกต้อง (คุณเรียนรู้เร็วขึ้น) และยังช่วยลดโอกาสในการเลือกคำที่จริง ๆ แล้วไม่ใช่ตัวอย่างเชิงลบ (เนื่องจากมี corpora ขนาดใหญ่การตรวจสอบนี้มีราคาแพง
drevicko

@drevicko คำที่มีความหมายน้อยกว่านั้นเป็นข้อมูลที่มากกว่า ตามทฤษฎีสารสนเทศความน่าจะเป็นที่สูงขึ้นคือข้อมูลตัวเองมีขนาดเล็กลง เหตุการณ์ของคำที่พบบ่อยเป็นตัวอย่างเชิงลบสำหรับคำเป้าหมายที่กำหนดควรมีความเป็นไปได้น้อยกว่าซึ่งหมายถึงปริมาณข้อมูลที่สูงขึ้น
Tyler 傲来国主
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.